/**
 * This is the primary stylesheet. We don"t actually write any styles here.
 * Instead, we import all of our styles from partials within the sub-folders.
 * This file is set up based on the Inverted Triangle CSS (ITCSS) system,
 * which gets more specific as we drill down each layer.  This keeps your
 * style code lean and organized.
 *
 * The bulk of your code should be within the `/components` folder.  By
 * default, we follow the Block-Element-Modifier (BEM) system in our HTML.
 * Each "block" is a "component" in our CSS.
 */
/**
 * Nth grid by Brett Mason
 * Version 1.0.0
 * brettmason.co.uk
 * Licensed under MIT Open Source
 */
/**
 * More sensible default box-sizing:
 * css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice
 */
html {
  box-sizing: border-box;
}

*, *:before, *:after {
  box-sizing: inherit;
}

/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/* Sections
	 ========================================================================== */
/**
   * Remove the margin in all browsers.
   */
body {
  margin: 0;
}

/**
   * Correct the font size and margin on `h1` elements within `section` and
   * `article` contexts in Chrome, Firefox, and Safari.
   */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */
/**
   * 1. Add the correct box sizing in Firefox.
   * 2. Show the overflow in Edge and IE.
   */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/* Text-level semantics
	 ========================================================================== */
/**
   * Remove the gray background on active links in IE 10.
   */
a {
  background-color: transparent;
}

/**
   * 1. Remove the bottom border in Chrome 57-
   * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
   */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */
}

/**
   * Add the correct font weight in Chrome, Edge, and Safari.
   */
b,
strong {
  font-weight: bolder;
}

/**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
   * Add the correct font size in all browsers.
   */
small {
  font-size: 80%;
}

/**
   * Prevent `sub` and `sup` elements from affecting the line height in
   * all browsers.
   */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
	 ========================================================================== */
/**
   * Remove the border on images inside links in IE 10.
   */
img {
  border-style: none;
}

/* Forms
	 ========================================================================== */
/**
   * 1. Change the font styles in all browsers.
   * 2. Remove the margin in Firefox and Safari.
   */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
   * Show the overflow in IE.
   * 1. Show the overflow in Edge.
   */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
   * Remove the inheritance of text transform in Edge, Firefox, and IE.
   * 1. Remove the inheritance of text transform in Firefox.
   */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
   * Correct the inability to style clickable types in iOS and Safari.
   */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
   * Remove the inner border and padding in Firefox.
   */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
   * Restore the focus styles unset by the previous rule.
   */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 0.05556rem dotted ButtonText;
}

/**
   * Correct the padding in Firefox.
   */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
   * 1. Correct the text wrapping in Edge and IE.
   * 2. Correct the color inheritance from `fieldset` elements in IE.
   * 3. Remove the padding so developers are not caught out when they zero out
   *    `fieldset` elements in all browsers.
   */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
   * Add the correct vertical alignment in Chrome, Firefox, and Opera.
   */
progress {
  vertical-align: baseline;
}

/**
   * Remove the default vertical scrollbar in IE 10+.
   */
textarea {
  overflow: auto;
}

/**
   * 1. Add the correct box sizing in IE 10.
   * 2. Remove the padding in IE 10.
   */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
   * Correct the cursor style of increment and decrement buttons in Chrome.
   */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
   * 1. Correct the odd appearance in Chrome and Safari.
   * 2. Correct the outline style in Safari.
   */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -0.11111rem;
  /* 2 */
}

/**
   * Remove the inner padding in Chrome and Safari on macOS.
   */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
   * 1. Correct the inability to style clickable types in iOS and Safari.
   * 2. Change font properties to `inherit` in Safari.
   */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/* Interactive
	 ========================================================================== */
/*
   * Add the correct display in Edge, IE 10+, and Firefox.
   */
details {
  display: block;
}

/*
   * Add the correct display in all browsers.
   */
summary {
  display: list-item;
}

/* Misc
	 ========================================================================== */
/**
   * Add the correct display in IE 10+.
   */
template {
  display: none;
}

/**
   * Add the correct display in IE 10.
   */
[hidden] {
  display: none;
}

/**
 * A very simple reset that sits on top of Normalize.css.
 */
body,
h1,
h2,
h3,
h4,
h5,
h6,
blockquote,
p,
pre,
dl,
dd,
ol,
ul,
figure,
hr,
fieldset,
legend {
  margin: 0;
  padding: 0;
}

/**
 * Simple page-level setup.
 *
 * 1. Set the default `font-size` and `line-height` for the entire project.
 */
html {
  background: #FDFDF8;
  color: #8E9491;
  font-family: "Montserrat", -apple-system, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", "Arial", sans-serif;
  font-size: 93.75%;
  /* [1] */
  font-weight: 300;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  line-height: 1.6;
  /* [1] */
  text-rendering: optimizeLegibility;
}

@media (min-width: 46.25em) {
  html {
    font-size: 125%;
    /* [1] */
    line-height: 2;
    /* [1] */
  }
}

body {
  overflow-x: hidden;
}

body.has-active-menu {
  overflow-y: hidden;
}

@media (min-width: 46.25em) {
  body {
    background-position: left calc(100% - 10.55556rem);
  }
}

body.home {
  background: transparent;
}

p {
  margin-bottom: 1.6rem;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: #576F83;
  font-family: "Merriweather", -apple-system, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", "Arial", sans-serif;
  font-weight: 400;
  margin-bottom: 0.8rem;
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
  color: inherit;
}

h1 {
  font-size: 1.77778rem;
  line-height: 1.3125;
}

@media (min-width: 46.25em) {
  h1 {
    font-size: 2.66667rem;
    line-height: 1.125;
  }
}

h2 {
  font-size: 1.44444rem;
  line-height: 1.38462;
}

@media (min-width: 46.25em) {
  h2 {
    font-size: 2rem;
    line-height: 1.16667;
  }
}

h3 {
  font-size: 1.22222rem;
  line-height: 1.36364;
}

@media (min-width: 46.25em) {
  h3 {
    font-size: 1.55556rem;
    line-height: 1.28571;
  }
}

h4 {
  font-size: 1.11111rem;
  line-height: 1.5;
}

@media (min-width: 46.25em) {
  h4 {
    font-size: 1.22222rem;
    line-height: 1.36364;
  }
}

h5 {
  font-size: 0.88889rem;
  line-height: 1.5;
}

@media (min-width: 46.25em) {
  h5 {
    font-size: 1.11111rem;
    line-height: 1.5;
  }
}

h6 {
  font-size: 0.88889rem;
  line-height: 1.5;
}

@media (min-width: 46.25em) {
  h6 {
    font-size: 1rem;
    line-height: 1.33333;
  }
}

a {
  color: #576F83;
  text-decoration: none;
  transition: all 300ms ease-in-out;
}

a:hover, a:focus, a:active {
  color: #435564;
}

a:focus {
  outline: 0.05556rem dotted;
}

a:hover, a:active {
  outline: 0;
}

blockquote {
  color: #8E9491;
  margin-bottom: 1.6rem;
}

blockquote p {
  font-size: 1.22222rem;
  line-height: 1.36364;
}

@media (min-width: 46.25em) {
  blockquote p {
    font-size: 1.55556rem;
    line-height: 1.28571;
  }
}

blockquote p:last-of-type {
  margin-bottom: 0.4rem;
}

ul,
ol {
  margin-bottom: 1.6rem;
  margin-left: 2.4rem;
}

ul {
  list-style-type: disc;
}

ol {
  list-style-type: decimal;
}

li > ol,
li > ul {
  margin-bottom: 0;
}

dl {
  margin-bottom: 1.6rem;
}

dd {
  margin-bottom: 0.4rem;
  margin-left: 0.8rem;
}

dt {
  font-weight: 700;
}

hr {
  border: 0;
  border-bottom: 0.11111rem solid #d5dde5;
  clear: both;
  height: 0;
  margin-bottom: 3.2rem;
  margin-top: 3.2rem;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  empty-cells: show;
  margin-bottom: 1.6rem;
  max-width: 100%;
  width: 100%;
}

th,
td {
  padding: 1.2rem;
  text-align: left;
}

tfoot th, tfoot
td {
  color: #aebecd;
}

/**
 * 1. Fluid images for responsive purposes.
 * 2. Offset `alt` text from surrounding copy.
 * 3. Setting `vertical-align` removes the whitespace that appears under `img`
 *    elements when they are dropped into a page as-is. Safer alternative to
 *    using `display: block;`.
 */
img {
  font-style: italic;
  /* [2] */
  height: auto;
  max-width: 100%;
  /* [1] */
  vertical-align: middle;
  /* [3] */
}

embed,
iframe,
object {
  max-width: 100%;
}

figure {
  margin: 0 0 1.6rem;
  max-width: 100%;
  position: relative;
}

figure img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

figcaption {
  font-size: 0.77778rem;
  line-height: 1.28571;
  font-style: italic;
  margin-top: 0.4rem;
  text-align: center;
  width: 100%;
}

code,
kbd,
pre,
samp,
var {
  font-size: 0.77778rem;
  line-height: 1.71429;
  font-family: "Monaco", "Consolas", "Andale Mono", "DejaVu Sans Mono", monospace;
}

code,
kbd,
mark,
samp {
  background-color: #f8f9fa;
  color: #202833;
  display: inline-block;
  line-height: 1;
  padding: 0.4rem;
}

pre {
  font-size: 0.83333rem;
  line-height: 1.6;
  background-color: #f8f9fa;
  color: #202833;
  display: block;
  margin-bottom: 1.6rem;
  overflow: auto;
  padding: 1.6rem;
  white-space: pre;
}

pre code {
  background-color: transparent;
  font-size: inherit;
  line-height: inherit;
  padding: 0;
}

fieldset {
  border: 0;
  font-family: inherit;
  margin-bottom: 1.6rem;
  min-width: 0;
  /* [1] */
}

legend {
  font-weight: 700;
  margin-bottom: 0.8rem;
}

[type="text"],
[type="email"],
[type="url"],
[type="password"],
[type="search"],
[type="number"],
[type="tel"],
[type="range"],
[type="date"],
[type="month"],
[type="week"],
[type="time"],
[type="datetime"],
[type="datetime-local"],
[type="color"],
textarea,
select {
  background-color: #fff;
  border: 0.05556rem solid #d5dde5;
  color: #8E9491;
  display: block;
  font-family: inherit;
  height: 2.8rem;
  outline: none;
  padding: 0.4rem 0.8rem;
  width: 100%;
}

select[multiple] {
  height: auto;
  padding: 0.4rem 0.8rem;
}

textarea {
  height: auto;
  padding: 0.8rem;
  vertical-align: top;
}

[type="file"] {
  background: none;
  border: none;
  box-shadow: none;
  display: inline-block;
  height: auto;
  padding: 0;
  width: auto;
}

[type="radio"],
[type="checkbox"] {
  display: inline-block;
  height: auto;
  padding: 0;
  width: auto;
}

[type="radio"] + [type="radio"],
[type="checkbox"] + [type="radio"], [type="radio"] +
[type="checkbox"],
[type="checkbox"] +
[type="checkbox"] {
  margin-left: 0.8rem;
}

[type="radio"] + label,
[type="checkbox"] + label {
  display: inline-block;
  margin-left: 0.4rem;
}

input:focus,
textarea:focus,
select:focus {
  border-color: #576F83;
  outline: none;
}

input:disabled,
textarea:disabled,
select:disabled {
  color: #aebecd;
  cursor: not-allowed;
  font-style: italic;
  opacity: 0.3;
  resize: none;
}

label {
  color: #8E9491;
  display: block;
  font-weight: 700;
  margin-bottom: 0.4rem;
}

[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  border: 0.05556rem solid transparent;
  cursor: pointer;
  display: inline-block;
  font: inherit;
  line-height: 1;
  padding: 0.8rem 1.2rem;
  text-align: center;
  text-decoration: none;
  transition: all 300ms ease-in-out;
  vertical-align: middle;
  background-color: #576F83;
  color: #fff;
}

[type="button"]:hover, [type="button"]:focus,
[type="reset"]:hover,
[type="reset"]:focus,
[type="submit"]:hover,
[type="submit"]:focus {
  background-color: #435564;
  color: #fff;
}

address {
  margin-bottom: 1.6rem;
}

dfn,
cite,
em,
i {
  font-style: italic;
}

cite {
  color: #899991;
  font-size: 1.22222rem;
  font-style: normal;
}

@keyframes fadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@media (min-width: 46.25em) {
  .grid {
    display: flex;
    flex-wrap: wrap;
  }
}

@media (min-width: 46.25em) {
  .grid--2 .entry:nth-of-type(n) {
    width: calc(49.95% - 0.8rem);
    margin-right: 1.6rem;
  }
  .grid--2 .entry:nth-of-type(2n) {
    margin-right: 0;
  }
}

@media (min-width: 46.25em) {
  .grid--3 .entry:nth-of-type(n) {
    width: calc(33.3% - 1.06667rem);
    margin-right: 1.6rem;
  }
  .grid--3 .entry:nth-of-type(3n) {
    margin-right: 0;
  }
}

@media (min-width: 46.25em) {
  .grid--4 .entry:nth-of-type(n) {
    width: calc(24.975% - 1.2rem);
    margin-right: 1.6rem;
  }
  .grid--4 .entry:nth-of-type(4n) {
    margin-right: 0;
  }
}

@media (min-width: 46.25em) {
  .grid--auto > * {
    flex: 1 1 0;
    margin-right: 1.6rem;
  }
  .grid--auto > *:last-child {
    margin-right: 0;
  }
}

/**
 * Place any image and text-like content side-by-side, as per:
 * http://www.stubbornella.org/content/2010/06/25/the-media-object-saves-hundreds-of-lines-of-code
 */
.o-media {
  align-items: flex-start;
  display: flex;
}

.o-media__img {
  margin-right: 1.6rem;
}

.o-media__img > img {
  display: block;
}

.o-media__body {
  flex: 1;
}

.o-media__body,
.o-media__body > :last-child {
  margin-bottom: 0;
}

/* Reversed media objects
   ========================================================================== */
.o-media--reverse > .o-media__img {
  margin-left: 1.6rem;
  margin-right: 0;
}

/* Gutterless media objects
   ========================================================================== */
.o-media--flush > .o-media__img {
  margin-left: 0;
  margin-right: 0;
}

/**
 * Page-level constraining and wrapping elements.
 */
.wrapper {
  margin-left: auto;
  margin-right: auto;
  max-width: 57.33333rem;
}

.wrapper--narrow {
  max-width: 46.66667rem;
}

.wrapper--wide {
  max-width: 66.66667rem;
}

.wrapper--full {
  max-width: 100%;
}

.wrapper--flush {
  padding-left: 0;
  padding-right: 0;
}

.app {
  animation: fadein 0.5s;
}

.app-header {
  background-color: #fff;
  height: 9.72222rem;
  padding: 0.8rem 1.6rem;
  position: relative;
}

@media (min-width: 46.25em) {
  .app-header {
    height: auto;
    padding: 1.6rem 1.6rem;
  }
}

.app-header__wrapper {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

@media (min-width: 46.25em) {
  .app-header__wrapper {
    display: block;
  }
  .app-header__wrapper::before, .app-header__wrapper::after {
    content: "";
    display: table;
    flex-basis: 0;
    order: 1;
  }
  .app-header__wrapper::after {
    clear: both;
  }
}

.app-header__branding {
  margin-bottom: 1.6rem;
  margin-right: 1.6rem;
  width: 8.33333rem;
}

@media (min-width: 46.25em) {
  .app-header__branding {
    float: left;
    margin-bottom: 0;
    width: 6.66667rem;
  }
}

@media (min-width: 61.25em) {
  .app-header__branding {
    width: 11.11111rem;
  }
}

.app-header__logo {
  height: 100%;
  width: 100%;
}

.app-header__title {
  color: #8E9491;
  margin-bottom: 0;
}

.app-header__title-link {
  color: inherit;
  text-decoration: none;
}

.notice {
  background-color: #899991;
  padding-bottom: 1.6rem;
  padding-top: 1.6rem;
  text-align: center;
}

.notice p {
  color: #FDFDF8;
  line-height: 1.25;
  margin-bottom: 0.4rem;
}

.notice p:last-child {
  margin-bottom: 0;
}

.notice .p-bold {
  font-weight: bold;
  font-size: x-large;
}

.app-content {
  padding: 3.2rem 1.6rem 4.8rem;
  text-align: center;
  background-image: url("../svg/single-tree.svg");
  background-position: -140% bottom;
  background-repeat: no-repeat;
  background-size: 80%;
}

@media (min-width: 46.25em) {
  .app-content {
    padding-bottom: 9.44444rem;
  }
}

.home .app-content {
  padding-top: 0;
  background-image: none;
}

.app-footer {
  background-color: #576F83;
  color: #fff;
  padding: 1.6rem 1.6rem 0 1.6rem;
  position: relative;
}

.app-footer a {
  color: #fff;
}

.app-footer__wrapper {
  position: relative;
  display: flex;
  justify-content: space-between;
  padding-bottom: 1.6rem;
  align-items: center;
  flex-direction: column;
}

@media (min-width: 61.25em) {
  .app-footer__wrapper {
    flex-direction: row;
    flex-wrap: wrap;
  }
}

.app-footer__wrapper::before {
  content: url("../svg/multiple-trees.svg");
  height: auto;
  width: 11.11111rem;
  position: absolute;
  top: -6.94444rem;
  left: 0;
}

@media (min-width: 46.25em) {
  .app-footer__wrapper::before {
    width: 16.11111rem;
    top: -9.27778rem;
  }
}

@media (min-width: 46.25em) {
  .app-footer__left {
    margin-right: 1.6rem;
  }
}

.app-footer__contact {
  color: #fff;
  font-family: "Merriweather", -apple-system, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", "Arial", sans-serif;
  font-size: 1rem;
  margin-bottom: 0.8rem;
  text-align: center;
}

@media (min-width: 46.25em) {
  .app-footer__contact {
    text-align: left;
  }
}

.app-footer__credit {
  font-size: 0.77778rem;
  line-height: 1.71429;
  background-color: #899991;
  margin-bottom: 0;
  text-align: center;
  padding: 0.4rem;
}

.app-footer__logos {
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
}

.app-footer__logos img {
  margin-left: 0.4rem;
  margin-right: 0.4rem;
  max-height: 6.66667rem;
  width: auto;
}

.app-footer .caravaning-camping-logo {
  background-color: #fff;
  padding: 0.27778rem;
  width: 3.61111rem;
}

.app-footer__contact-item {
  display: block;
}

@media (min-width: 46.25em) {
  .app-footer__contact-item {
    display: inline;
  }
}

@media (min-width: 46.25em) {
  .app-footer__contact-item + .app-footer__contact-item {
    border-left: 0.11111rem solid #7F8581;
    margin-left: 0.8rem;
    padding-left: 0.8rem;
  }
}

.archive-header {
  flex: 0 0 100%;
  margin-bottom: 3.2rem;
  text-align: center;
}

.archive-header__description {
  font-size: 1.11111rem;
  line-height: 1.5;
  color: #8E9491;
}

@media (min-width: 46.25em) {
  .archive-header__description {
    font-size: 1.22222rem;
    line-height: 1.36364;
  }
}

.archive-header__description :last-child {
  margin-bottom: 0;
}

.button {
  -webkit-appearance: none;
  -moz-appearance: none;
  border: 0.05556rem solid transparent;
  cursor: pointer;
  display: inline-block;
  font: inherit;
  line-height: 1;
  padding: 0.8rem 1.2rem;
  text-align: center;
  text-decoration: none;
  transition: all 300ms ease-in-out;
  vertical-align: middle;
}

.button--primary {
  background-color: #576F83;
  color: #fff;
}

.button--primary:hover, .button--primary:focus {
  background-color: #435564;
  color: #fff;
}

.button--secondary {
  background-color: #899991;
  color: #fff;
}

.button--secondary:hover, .button--secondary:focus {
  background-color: #6f8078;
  color: #fff;
}

.button--alert {
  background-color: #8c182b;
  color: #fff;
}

.button--alert:hover, .button--alert:focus {
  background-color: #60111e;
  color: #fff;
}

.button--warning {
  background-color: #f6bf27;
  color: #fff;
}

.button--warning:hover, .button--warning:focus {
  background-color: #e1a709;
  color: #fff;
}

.button--success {
  background-color: #407d80;
  color: #fff;
}

.button--success:hover, .button--success:focus {
  background-color: #2f5c5e;
  color: #fff;
}

.comments-template {
  margin-top: 3.2rem;
}

.comments__title {
  margin-bottom: 1.6rem;
}

.comments__list,
.comments .children {
  list-style: none;
  margin: 0;
  padding: 0;
}

.comments .children {
  list-style: none;
  margin: 0;
  padding: 0;
}

.comments__closed {
  margin-top: 2.4rem;
}

.comment {
  align-items: flex-start;
  display: flex;
}

.comment__avatar {
  margin-right: 0.8rem;
  min-width: 1.77778rem;
}

.comment__body {
  flex: 1;
  min-width: 0;
}

.comment__meta {
  margin-bottom: 0.4rem;
}

.comment__author {
  font-weight: 700;
  text-decoration: none;
}

.comment__author a {
  text-decoration: none;
}

.comment__author a:hover, .comment__author a:focus {
  text-decoration: underline;
}

.comment__permalink, .comment__edit {
  text-decoration: none;
}

.comment__permalink:hover, .comment__permalink:focus, .comment__permalink:active, .comment__edit:hover, .comment__edit:focus, .comment__edit:active {
  text-decoration: underline;
}

.comment__content {
  margin-bottom: 0.4rem;
}

.comment__content > :last-child {
  margin-bottom: 0;
}

.comment__actions {
  margin-bottom: 2.4rem;
}

.comment__reply {
  text-decoration: none;
}

.comment__reply:hover, .comment__reply:focus, .comment__reply:active {
  text-decoration: underline;
}

.comment__reply-icon {
  height: 0.8rem;
  margin-right: 0.4rem;
  width: 0.8rem;
}

.comment--type-ping {
  margin-bottom: 0.8rem;
}

.entry {
  margin-bottom: 3.2rem;
}

.single .entry {
  margin-bottom: 0;
}

.entry__image {
  margin-bottom: 0.8rem;
}

.entry__permalink {
  text-decoration: none;
}

.entry__byline {
  font-size: 0.88889rem;
  line-height: 1.5;
  color: #8E9491;
  margin-bottom: 1.6rem;
}

.entry__author {
  color: inherit;
}

.entry__comments {
  color: inherit;
}

.entry__content {
  margin-bottom: 3.2rem;
}

.entry__content::before, .entry__content::after {
  content: "";
  display: table;
  flex-basis: 0;
  order: 1;
}

.entry__content::after {
  clear: both;
}

.single .entry__content,
.entry__content > :last-child {
  margin-bottom: 0;
}

.entry__content + * {
  margin-top: 3.2rem;
}

.entry__content ul,
.entry__content ol {
  text-align: left;
}

.entry__summary > ol:not([class]),
.entry__summary > ul:not([class]) {
  padding-left: 2.4rem;
}

.entry__terms-wrapper {
  color: #8E9491;
  display: block;
}

.entry__terms-wrapper + .entry__terms-wrapper {
  margin-top: 0.4rem;
}

.entry__terms {
  margin-left: 0.4rem;
}

.entry__terms a {
  color: inherit;
  text-decoration: none;
}

.entry__terms a:hover, .entry__terms a:focus, .entry__terms a:active {
  text-decoration: underline;
}

.entry__terms-icon {
  fill: currentColor;
  height: 0.88889rem;
  width: 0.88889rem;
}

.form-field {
  margin-bottom: 0.8rem;
}

.form-field__description {
  font-size: 0.77778rem;
  line-height: 1.71429;
  color: #aebecd;
}

.form-field__required {
  color: #8c182b;
}

.form-field__checkbox label,
.form-field__radio label {
  font-weight: 400;
}

.form-field--inline .form-field__checkbox,
.form-field--inline .form-field__radio {
  display: inline-block;
}

.form-field--inline .form-field__checkbox + .form-field__checkbox,
.form-field--inline .form-field__radio + .form-field__radio {
  margin-left: 0.8rem;
}

.required {
  color: #8c182b;
}

.form-fieldset {
  border: 0.05556rem solid #d5dde5;
  padding: 1.6rem;
}

.form-fieldset legend {
  margin-bottom: 0;
  margin-left: -0.8rem;
  padding: 0 0.8rem;
}

.gallery {
  display: flex;
  flex-wrap: wrap;
}

.gallery-item {
  margin-bottom: 0.8rem;
}

@media (min-width: 46.25em) {
  .gallery-columns-1 .gallery-item:nth-child(n) {
    width: 100%;
    margin-right: 0;
  }
  .gallery-columns-2 .gallery-item:nth-child(n) {
    width: calc(49.95% - 0.4rem);
    margin-right: 0.8rem;
  }
  .gallery-columns-2 .gallery-item:nth-child(2n) {
    margin-right: 0;
  }
  .gallery-columns-3 .gallery-item:nth-child(n) {
    width: calc(33.3% - 0.53333rem);
    margin-right: 0.8rem;
  }
  .gallery-columns-3 .gallery-item:nth-child(3n) {
    margin-right: 0;
  }
  .gallery-columns-4 .gallery-item:nth-child(n) {
    width: calc(24.975% - 0.6rem);
    margin-right: 0.8rem;
  }
  .gallery-columns-4 .gallery-item:nth-child(4n) {
    margin-right: 0;
  }
  .gallery-columns-5 .gallery-item:nth-child(n) {
    width: calc(19.98% - 0.64rem);
    margin-right: 0.8rem;
  }
  .gallery-columns-5 .gallery-item:nth-child(5n) {
    margin-right: 0;
  }
  .gallery-columns-6 .gallery-item:nth-child(n) {
    width: calc(16.65% - 0.66667rem);
    margin-right: 0.8rem;
  }
  .gallery-columns-6 .gallery-item:nth-child(6n) {
    margin-right: 0;
  }
  .gallery-columns-7 .gallery-item:nth-child(n) {
    width: calc(14.27143% - 0.68571rem);
    margin-right: 0.8rem;
  }
  .gallery-columns-7 .gallery-item:nth-child(7n) {
    margin-right: 0;
  }
  .gallery-columns-8 .gallery-item:nth-child(n) {
    width: calc(12.4875% - 0.7rem);
    margin-right: 0.8rem;
  }
  .gallery-columns-8 .gallery-item:nth-child(8n) {
    margin-right: 0;
  }
  .gallery-columns-9 .gallery-item:nth-child(n) {
    width: calc(11.1% - 0.71111rem);
    margin-right: 0.8rem;
  }
  .gallery-columns-9 .gallery-item:nth-child(9n) {
    margin-right: 0;
  }
  .gallery-columns-10 .gallery-item:nth-child(n) {
    width: calc(9.99% - 0.72rem);
    margin-right: 0.8rem;
  }
  .gallery-columns-10 .gallery-item:nth-child(10n) {
    margin-right: 0;
  }
}

.menu__toggle {
  background-color: transparent;
  border: none;
  cursor: pointer;
  height: 2.77778rem;
  padding: 0.5rem;
  width: 2.77778rem;
  position: absolute;
  top: 20%;
  right: 1.6rem;
}

@media (min-width: 37.5em) {
  .menu__toggle {
    position: static;
  }
}

@media (min-width: 46.25em) {
  .menu__toggle {
    display: none;
  }
}

.menu__toggle:focus {
  outline: 0.05556rem dotted;
  outline-offset: -0.05556rem;
}

.menu__toggle-icon {
  height: 100%;
  width: 100%;
  fill: #576F83;
}

.menu__toggle-icon path {
  opacity: 1;
  transform: rotate(0) translate(0, 0);
  transform-origin: 50% 50%;
  transition: all 300ms ease-in-out;
}

[aria-expanded="true"] .menu__toggle-icon {
  fill: #899991;
}

[aria-expanded="true"] > .menu__toggle-icon path:nth-of-type(1) {
  transform: rotate(-45deg) translateY(42%);
}

[aria-expanded="true"] > .menu__toggle-icon path:nth-of-type(2) {
  opacity: 0;
}

[aria-expanded="true"] > .menu__toggle-icon path:nth-of-type(3) {
  transform: rotate(45deg) translateY(-42%);
}

.menu__items {
  display: flex;
  flex-direction: row;
  list-style: none;
  margin: 0;
  padding: 0;
}

.menu__item {
  display: block;
}

@media (min-width: 46.25em) {
  .menu__item + .menu__item {
    margin-left: 0.55556rem;
  }
}

.menu__item.has-children {
  display: flex;
  flex-wrap: wrap;
  position: relative;
}

.menu__link {
  color: #8E9491;
  display: block;
  flex: 1 1 0;
  line-height: 1.2;
  padding: 0.66667rem 1.6rem;
  text-decoration: none;
}

@media (min-width: 46.25em) {
  .menu__link {
    padding: 0.8rem;
  }
}

.menu__link:hover, .menu__link:focus {
  color: #576F83;
  text-decoration: none;
}

.menu__link:focus {
  outline-offset: -0.05556rem;
}

.menu__sub-menu {
  background-color: #fff;
  display: flex;
  flex-direction: column;
  font-size: 90%;
  height: 0;
  list-style: none;
  margin: 0;
  opacity: 0;
  padding: 0;
  transition: all 300ms ease-in-out;
  visibility: hidden;
  width: 100%;
  z-index: 100;
}

@media (min-width: 46.25em) {
  .menu__sub-menu {
    box-shadow: 0 0.4rem 1.6rem rgba(32, 40, 51, 0.1);
    height: auto;
    left: 0;
    min-width: 10rem;
    position: absolute;
    top: 100%;
  }
}

.menu__sub-menu .menu__sub-menu {
  left: 100%;
  right: auto;
  top: 0;
}

.menu__sub-menu > .menu__item {
  margin: 0;
  padding: 0;
}

[aria-expanded="true"] + .menu__sub-menu {
  opacity: 1;
  visibility: visible;
}

@media (min-width: 46.25em) {
  .has-focus-within > .menu__sub-menu,
  .is-toggled + .menu__sub-menu, .menu__sub-menu:hover, .menu__sub-menu:focus,
  .menu__item:hover > .menu__sub-menu,
  .menu__item[focus-within] > .menu__sub-menu {
    opacity: 1;
    visibility: visible;
  }
  .has-focus-within > .menu__sub-menu,
  .is-toggled + .menu__sub-menu, .menu__sub-menu:hover, .menu__sub-menu:focus,
  .menu__item:hover > .menu__sub-menu,
  .menu__item:focus-within > .menu__sub-menu {
    opacity: 1;
    visibility: visible;
  }
}

.menu__sub-menu .menu__dropdown-icon {
  transform: rotate(-90deg);
}

.menu__sub-menu-toggle {
  background-color: #d5dde5;
  border: none;
  color: #202833;
  width: 2.66667rem;
}

.menu__sub-menu-toggle:focus {
  outline: 0.05556rem dotted;
  outline-offset: -0.05556rem;
}

.menu__sub-menu-toggle-icon {
  height: 1rem;
  transition: transform 300ms ease-in-out;
  width: 1rem;
}

[aria-expanded="true"] > .menu__sub-menu-toggle-icon {
  transform: rotate(180deg);
}

.menu .has-dropdown-icon {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.menu__dropdown-icon {
  fill: #202833;
  height: 0.5rem;
  margin-left: 0.3rem;
  width: 0.5rem;
}

.menu--contact {
  display: flex;
  justify-content: center;
  width: 100%;
}

@media (min-width: 37.5em) {
  .menu--contact {
    width: auto;
  }
}

@media (min-width: 46.25em) {
  .menu--contact {
    float: right;
    justify-content: flex-end;
  }
}

@media (min-width: 61.25em) {
  .menu--contact {
    margin-bottom: 0.8rem;
    margin-top: 0.8rem;
  }
}

.menu--contact .menu__icon {
  width: 1.6rem;
  height: 1.6rem;
  margin-right: 0.4rem;
  fill: currentColor;
  transition: transform 0.3s ease;
}

.menu--contact .menu__item {
  margin-right: 0.8rem;
}

@media (min-width: 61.25em) {
  .menu--contact .menu__item {
    margin-right: 0.8rem;
  }
}

.menu--contact .menu__link {
  display: flex;
  align-items: center;
  color: #899991;
  font-family: "Merriweather", -apple-system, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", "Arial", sans-serif;
  letter-spacing: 0.05556rem;
  font-size: 0.66667rem;
  padding: 0;
}

@media (min-width: 46.25em) {
  .menu--contact .menu__link {
    font-size: 0.88889rem;
  }
}

.menu--contact .menu__link:hover, .menu--contact .menu__link:focus {
  color: #576F83;
}

.menu--contact .menu__link:hover .menu__icon, .menu--contact .menu__link:focus .menu__icon {
  transform: scale(1.1);
}

@media (min-width: 46.25em) {
  .menu--primary {
    float: right;
    clear: right;
  }
}

.menu--primary .menu__wrap {
  height: 0;
  left: 0;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  top: 100%;
  transition: all 250ms ease;
  visibility: hidden;
  width: 100%;
  z-index: 100;
  background-color: #fff;
  text-align: center;
  overflow-y: auto;
}

@media (min-width: 46.25em) {
  .menu--primary .menu__wrap {
    height: auto;
    opacity: 1;
    overflow: visible;
    overflow: initial;
    position: static;
    visibility: visible;
  }
}

@media (max-width: 46.24em) {
  .menu--primary [aria-expanded="true"] + .menu__wrap {
    height: calc(100vh - 9.72222rem);
    opacity: 1;
    visibility: visible;
  }
}

.menu--primary .menu__items {
  flex-direction: column;
}

@media (min-width: 46.25em) {
  .menu--primary .menu__items {
    flex-direction: row;
  }
}

.menu--primary .menu__link {
  font-family: "Merriweather", -apple-system, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", "Arial", sans-serif;
  font-size: 1.11111rem;
  color: #576F83;
  border-bottom: 0.11111rem solid transparent;
}

@media (min-width: 46.25em) {
  .menu--primary .menu__link {
    font-size: 0.66667rem;
    padding-left: 0.4rem;
    padding-right: 0.4rem;
  }
}

@media (min-width: 61.25em) {
  .menu--primary .menu__link {
    font-size: 0.77778rem;
    padding-left: 0.8rem;
    padding-right: 0.8rem;
  }
}

@media (min-width: 81.25em) {
  .menu--primary .menu__link {
    font-size: 1rem;
  }
}

@media (max-width: 46.24em) {
  .menu--primary .menu__link:hover, .menu--primary .menu__link:focus {
    background-color: #576F83;
    color: #fff;
  }
}

@media (min-width: 46.25em) {
  .menu--primary .menu__link:hover, .menu--primary .menu__link:focus {
    border-bottom-color: currentColor;
    color: #7F8581;
  }
}

@media (min-width: 46.25em) {
  .menu--primary .menu__item--current .menu__link {
    border-bottom-color: #576F83;
    color: #576F83;
  }
}

.menu--subsidiary {
  margin-bottom: 1.6rem;
}

.menu--subsidiary .menu__items {
  display: flex;
  flex-direction: column;
  text-align: center;
}

@media (min-width: 46.25em) {
  .menu--subsidiary .menu__items {
    flex-direction: row;
    display: inline-flex;
  }
}

.menu--subsidiary .menu__item + .menu__item {
  margin-top: 0.8rem;
}

@media (min-width: 46.25em) {
  .menu--subsidiary .menu__item + .menu__item {
    margin-top: 0;
    margin-left: 0.8rem;
    padding-left: 0.8rem;
    border-left: 0.11111rem solid #7F8581;
  }
}

.menu--subsidiary .menu__link {
  color: #D7D0C7;
  font-size: 0.77778rem;
  font-weight: 500;
  padding: 0;
}

.menu--subsidiary .menu__link:hover, .menu--subsidiary .menu__link:focus {
  color: #fff;
}

.menu--widget .menu__item + .menu__item {
  margin-top: 0.4rem;
}

.menu--widget .menu__link {
  padding: 0;
  width: 100%;
}

.menu--widget .menu__sub-menu {
  opacity: 1;
  visibility: visible;
}

.pagination {
  border-bottom: 0.05556rem solid #e1e7ec;
  border-top: 0.05556rem solid #e1e7ec;
  clear: both;
  padding-bottom: 1.6rem;
  padding-top: 1.6rem;
  width: 100%;
}

.pagination__items {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  list-style: none;
  margin: 0;
}

.pagination__item {
  line-height: 1;
}

.pagination__item + .pagination__item {
  margin-left: 0.4rem;
}

.pagination__anchor {
  display: block;
  line-height: 1;
  padding: 0.4rem 0.8rem;
  text-decoration: none;
}

.pagination__anchor--current {
  background-color: #576F83;
  color: #fff;
}

.pagination__anchor-icon {
  fill: currentColor;
  height: 1.11111rem;
  width: 1.11111rem;
}

.pagination__anchor-icon--prev {
  transform: rotate(90deg);
}

.pagination__anchor-icon--next {
  transform: rotate(-90deg);
}

.sidebar--subsidiary {
  padding: 1.6rem;
}

.svg {
  display: inline-block;
}

.svg--facebook {
  fill: #3b5998;
}

.svg--instagram {
  fill: #c13584;
}

.svg--linkedin {
  fill: #0077b5;
}

.svg--pinterest {
  fill: #bd081c;
}

.svg--twitter {
  fill: #1da1f2;
}

.svg--vimeo {
  fill: #1ab7ea;
}

.svg--youtube {
  fill: #cd201f;
}

.table--fixed {
  table-layout: fixed;
}

.table--bordered th,
.table--bordered td {
  border: 0.05556rem solid #d5dde5;
  padding: 0.8rem;
}

.table--ruled th,
.table--ruled td {
  border-bottom: 0.05556rem solid #d5dde5;
  padding: 0.8rem;
}

.table--striped th,
.table--striped td {
  padding: 0.8rem;
}

.table--striped tbody tr:nth-child(odd) {
  background: #d5dde5;
}

.widget {
  margin-bottom: 1.6rem;
}

.tns-outer {
  position: relative;
  padding: 0;
}

.tns-outer [hidden] {
  display: none;
}

.tns-outer [aria-controls], .tns-outer [data-action] {
  cursor: pointer;
}

.tns-slider {
  transition: all 0s;
  user-select: none;
}

.tns-slider > .tns-item {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.tns-horizontal.tns-subpixel {
  white-space: nowrap;
}

.tns-horizontal.tns-subpixel > .tns-item {
  display: inline-block;
  vertical-align: top;
  white-space: normal;
}

.tns-horizontal.tns-no-subpixel:after {
  content: '';
  display: table;
  clear: both;
}

.tns-horizontal.tns-no-subpixel > .tns-item {
  float: left;
}

.tns-horizontal.tns-carousel.tns-no-subpixel > .tns-item {
  margin-right: -100%;
}

.tns-no-calc {
  position: relative;
  left: 0;
}

.tns-gallery {
  position: relative;
  left: 0;
  min-height: 0.05556rem;
}

.tns-gallery > .tns-item {
  position: absolute;
  left: -100%;
  transition: transform 0s, opacity 0s;
}

.tns-gallery > .tns-slide-active {
  position: relative;
  left: auto !important;
}

.tns-gallery > .tns-moving {
  transition: all 0.25s;
}

.tns-autowidth {
  display: inline-block;
}

.tns-lazy-img {
  transition: opacity 0.6s;
  opacity: 0.6;
}

.tns-lazy-img.tns-complete {
  opacity: 1;
}

.tns-ah {
  transition: height 0s;
}

.tns-ovh {
  overflow: hidden;
}

.tns-visually-hidden {
  position: absolute;
  left: -10000em;
}

.tns-transparent {
  opacity: 0;
  visibility: hidden;
}

.tns-fadeIn {
  opacity: 1;
  filter: alpha(opacity=100);
  z-index: 0;
}

.tns-normal, .tns-fadeOut {
  opacity: 0;
  filter: alpha(opacity=0);
  z-index: -1;
}

.tns-vpfix {
  white-space: nowrap;
}

.tns-vpfix > div, .tns-vpfix > li {
  display: inline-block;
}

.tns-t-subp2 {
  margin: 0 auto;
  width: 17.22222rem;
  position: relative;
  height: 0.55556rem;
  overflow: hidden;
}

.tns-t-ct {
  width: 2333.33333%;
  width: -webkit-calc(100% * 70 / 3);
  width: -moz-calc(100% * 70 / 3);
  width: calc(100% * 70 / 3);
  position: absolute;
  right: 0;
}

.tns-t-ct:after {
  content: '';
  display: table;
  clear: both;
}

.tns-t-ct > div {
  width: 1.42857%;
  width: -webkit-calc(100% / 70);
  width: -moz-calc(100% / 70);
  width: calc(100% / 70);
  height: 0.55556rem;
  float: left;
}

.tns-nav {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%) rotate(90deg);
  z-index: 10;
}

.tns-nav button {
  border: solid 0.11111rem #fff;
  padding: 0.16667rem;
  width: 1.11111rem;
  height: 1.11111rem;
  border-radius: 50%;
  background: transparent content-box;
  color: #fff;
  transition: background-color 0.3s ease;
}

.tns-nav button + button {
  margin-left: 0.4rem;
}

.tns-nav .tns-nav-active {
  background-color: #fff;
}

.image-content {
  display: flex;
  flex-direction: column;
  margin-bottom: 1.6rem;
}

@media (min-width: 46.25em) {
  .image-content {
    flex-direction: row;
  }
  .image-content--image-right {
    flex-direction: row-reverse;
  }
}

.image-content__image {
  flex: 0 0 16.66667rem;
  background-size: cover;
  background-position: center center;
}

@media (min-width: 46.25em) {
  .image-content__image {
    flex: 0 0 50%;
  }
}

.image-content__title {
  border-bottom: 0.05556rem solid #fff;
  color: #fff;
  padding-bottom: 0.8rem;
}

.image-content__content {
  background-image: url("../svg/single-tree-box.svg");
  background-size: cover;
  background-position: center center;
  color: #fff;
  padding: 3.2rem 1.6rem;
  flex: 0 0 50%;
}

.image-content__link {
  color: #fff;
  font-weight: 500;
  border-bottom: 0.11111rem solid transparent;
}

.image-content__link:hover, .image-content__link:focus {
  color: #FDFDF8;
  border-bottom-color: currentColor;
}

.quote-slider {
  padding-left: 1.6rem;
  padding-right: 1.6rem;
  padding-top: 1.6rem;
  padding-bottom: 1.6rem;
}

@media (min-width: 46.25em) {
  .quote-slider {
    padding-left: 4.8rem;
    padding-right: 4.8rem;
    padding-top: 3.2rem;
    padding-bottom: 3.2rem;
  }
}

.quote-slider__slide {
  border: 0;
}

.quote-slider__icon-start {
  fill: #899991;
  width: 50%;
  margin-left: auto;
  margin-right: auto;
  display: block;
  margin-bottom: 1.6rem;
}

.quote-slider__icon-end {
  fill: #899991;
  transform: rotate(180deg);
  width: 50%;
  margin-left: auto;
  margin-right: auto;
  display: block;
  margin-top: 1.6rem;
  margin-bottom: 1.6rem;
}

.quote-slider__quote {
  font-size: 1.22222rem;
  line-height: 1.36364;
  font-weight: 500;
  letter-spacing: 0.11111rem;
  font-family: "Merriweather", -apple-system, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", "Arial", sans-serif;
}

@media (min-width: 46.25em) {
  .quote-slider__quote {
    font-size: 1.55556rem;
    line-height: 1.28571;
  }
}

.quote-slider__author {
  font-weight: 500;
}

.quote-slider .tns-nav {
  left: -3.2rem;
}

@media (min-width: 46.25em) {
  .quote-slider .tns-nav {
    left: -4.8rem;
  }
}

.quote-slider .tns-nav button {
  border-color: #899991;
}

.quote-slider .tns-nav-active {
  background-color: #899991;
}

.content-block--content {
  padding-top: 1.6rem;
  padding-bottom: 1.6rem;
}

@media (min-width: 46.25em) {
  .content-block--content {
    padding-top: 3.2rem;
    padding-bottom: 3.2rem;
  }
}

.content-block--content a {
  font-weight: 500;
  border-bottom: 0.11111rem solid transparent;
}

.content-block--content a:hover, .content-block--content a:focus {
  border-bottom-color: currentColor;
}

.content-block--content:first-child {
  padding-top: 0.8rem;
}

.content-block--content > :last-child {
  margin-bottom: 0;
}

.content-block--image {
  margin-bottom: 0;
}

@font-face {
  font-family: 'lg';
  src: url("../fonts/lg.eot?n1z373");
  src: url("../fonts/lg.eot?#iefixn1z373") format("embedded-opentype"), url("../fonts/lg.woff?n1z373") format("woff"), url("../fonts/lg.ttf?n1z373") format("truetype"), url("../fonts/lg.svg?n1z373#lg") format("svg");
  font-weight: normal;
  font-style: normal;
}

.lg-icon {
  font-family: 'lg';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-feature-settings: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.lg-actions .lg-next, .lg-actions .lg-prev {
  background-color: rgba(0, 0, 0, 0.45);
  border-radius: 0.11111rem;
  color: #999;
  cursor: pointer;
  display: block;
  font-size: 1.22222rem;
  margin-top: -0.55556rem;
  padding: 0.44444rem 0.55556rem 0.5rem;
  position: absolute;
  top: 50%;
  z-index: 1080;
}

.lg-actions .lg-next.disabled, .lg-actions .lg-prev.disabled {
  pointer-events: none;
  opacity: 0.5;
}

.lg-actions .lg-next:hover, .lg-actions .lg-prev:hover {
  color: #FFF;
}

.lg-actions .lg-next {
  right: 1.11111rem;
}

.lg-actions .lg-next:before {
  content: "\e095";
}

.lg-actions .lg-prev {
  left: 1.11111rem;
}

.lg-actions .lg-prev:after {
  content: "\e094";
}

@-webkit-keyframes lg-right-end {
  0% {
    left: 0;
  }
  50% {
    left: -1.66667rem;
  }
  100% {
    left: 0;
  }
}

@-moz-keyframes lg-right-end {
  0% {
    left: 0;
  }
  50% {
    left: -1.66667rem;
  }
  100% {
    left: 0;
  }
}

@-ms-keyframes lg-right-end {
  0% {
    left: 0;
  }
  50% {
    left: -1.66667rem;
  }
  100% {
    left: 0;
  }
}

@keyframes lg-right-end {
  0% {
    left: 0;
  }
  50% {
    left: -1.66667rem;
  }
  100% {
    left: 0;
  }
}

@-webkit-keyframes lg-left-end {
  0% {
    left: 0;
  }
  50% {
    left: 1.66667rem;
  }
  100% {
    left: 0;
  }
}

@-moz-keyframes lg-left-end {
  0% {
    left: 0;
  }
  50% {
    left: 1.66667rem;
  }
  100% {
    left: 0;
  }
}

@-ms-keyframes lg-left-end {
  0% {
    left: 0;
  }
  50% {
    left: 1.66667rem;
  }
  100% {
    left: 0;
  }
}

@keyframes lg-left-end {
  0% {
    left: 0;
  }
  50% {
    left: 1.66667rem;
  }
  100% {
    left: 0;
  }
}

.lg-outer.lg-right-end .lg-object {
  -webkit-animation: lg-right-end 0.3s;
  -o-animation: lg-right-end 0.3s;
  animation: lg-right-end 0.3s;
  position: relative;
}

.lg-outer.lg-left-end .lg-object {
  -webkit-animation: lg-left-end 0.3s;
  -o-animation: lg-left-end 0.3s;
  animation: lg-left-end 0.3s;
  position: relative;
}

.lg-toolbar {
  z-index: 1082;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.45);
}

.lg-toolbar .lg-icon {
  color: #999;
  cursor: pointer;
  float: right;
  font-size: 1.33333rem;
  height: 2.61111rem;
  line-height: 1.5rem;
  padding: 0.55556rem 0;
  text-align: center;
  width: 2.77778rem;
  text-decoration: none !important;
  outline: medium none;
  -webkit-transition: color 0.2s linear;
  -o-transition: color 0.2s linear;
  transition: color 0.2s linear;
}

.lg-toolbar .lg-icon:hover {
  color: #FFF;
}

.lg-toolbar .lg-close:after {
  content: "\e070";
}

.lg-toolbar .lg-download:after {
  content: "\e0f2";
}

.lg-sub-html {
  background-color: rgba(0, 0, 0, 0.45);
  bottom: 0;
  color: #EEE;
  font-size: 0.88889rem;
  left: 0;
  padding: 0.55556rem 2.22222rem;
  position: fixed;
  right: 0;
  text-align: center;
  z-index: 1080;
}

.lg-sub-html h4 {
  margin: 0;
  font-size: 0.72222rem;
  font-weight: bold;
}

.lg-sub-html p {
  font-size: 0.66667rem;
  margin: 0.27778rem 0 0;
}

#lg-counter {
  color: #999;
  display: inline-block;
  font-size: 0.88889rem;
  padding-left: 1.11111rem;
  padding-top: 0.66667rem;
  vertical-align: middle;
}

.lg-toolbar, .lg-prev, .lg-next {
  opacity: 1;
  -webkit-transition: -webkit-transform 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, color 0.2s linear;
  -moz-transition: -moz-transform 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, color 0.2s linear;
  -o-transition: -o-transform 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, color 0.2s linear;
  transition: transform 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, color 0.2s linear;
}

.lg-hide-items .lg-prev {
  opacity: 0;
  -webkit-transform: translate3d(-0.55556rem, 0, 0);
  transform: translate3d(-0.55556rem, 0, 0);
}

.lg-hide-items .lg-next {
  opacity: 0;
  -webkit-transform: translate3d(0.55556rem, 0, 0);
  transform: translate3d(0.55556rem, 0, 0);
}

.lg-hide-items .lg-toolbar {
  opacity: 0;
  -webkit-transform: translate3d(0, -0.55556rem, 0);
  transform: translate3d(0, -0.55556rem, 0);
}

body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-object {
  -webkit-transform: scale3d(0.5, 0.5, 0.5);
  transform: scale3d(0.5, 0.5, 0.5);
  opacity: 0;
  -webkit-transition: -webkit-transform 250ms cubic-bezier(0, 0, 0.25, 1) 0s, opacity 250ms cubic-bezier(0, 0, 0.25, 1) !important;
  -moz-transition: -moz-transform 250ms cubic-bezier(0, 0, 0.25, 1) 0s, opacity 250ms cubic-bezier(0, 0, 0.25, 1) !important;
  -o-transition: -o-transform 250ms cubic-bezier(0, 0, 0.25, 1) 0s, opacity 250ms cubic-bezier(0, 0, 0.25, 1) !important;
  transition: transform 250ms cubic-bezier(0, 0, 0.25, 1) 0s, opacity 250ms cubic-bezier(0, 0, 0.25, 1) !important;
  -webkit-transform-origin: 50% 50%;
  -moz-transform-origin: 50% 50%;
  -ms-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
}

body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item.lg-complete .lg-object {
  -webkit-transform: scale3d(1, 1, 1);
  transform: scale3d(1, 1, 1);
  opacity: 1;
}

.lg-outer .lg-thumb-outer {
  background-color: #0D0A0A;
  bottom: 0;
  position: absolute;
  width: 100%;
  z-index: 1080;
  max-height: 19.44444rem;
  -webkit-transform: translate3d(0, 100%, 0);
  transform: translate3d(0, 100%, 0);
  -webkit-transition: -webkit-transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s;
  -moz-transition: -moz-transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s;
  -o-transition: -o-transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s;
  transition: transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s;
}

.lg-outer .lg-thumb-outer.lg-grab .lg-thumb-item {
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: -o-grab;
  cursor: -ms-grab;
  cursor: grab;
}

.lg-outer .lg-thumb-outer.lg-grabbing .lg-thumb-item {
  cursor: move;
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: -o-grabbing;
  cursor: -ms-grabbing;
  cursor: grabbing;
}

.lg-outer .lg-thumb-outer.lg-dragging .lg-thumb {
  -webkit-transition-duration: 0s !important;
  transition-duration: 0s !important;
}

.lg-outer.lg-thumb-open .lg-thumb-outer {
  -webkit-transform: translate3d(0, 0%, 0);
  transform: translate3d(0, 0%, 0);
}

.lg-outer .lg-thumb {
  padding: 0.55556rem 0;
  height: 100%;
  margin-bottom: -0.27778rem;
}

.lg-outer .lg-thumb-item {
  border-radius: 0.27778rem;
  cursor: pointer;
  float: left;
  overflow: hidden;
  height: 100%;
  border: 0.11111rem solid #FFF;
  border-radius: 0.22222rem;
  margin-bottom: 0.27778rem;
}

@media (min-width: 1025px) {
  .lg-outer .lg-thumb-item {
    -webkit-transition: border-color 0.25s ease;
    -o-transition: border-color 0.25s ease;
    transition: border-color 0.25s ease;
  }
}

.lg-outer .lg-thumb-item.active, .lg-outer .lg-thumb-item:hover {
  border-color: #a90707;
}

.lg-outer .lg-thumb-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lg-outer.lg-has-thumb .lg-item {
  padding-bottom: 6.66667rem;
}

.lg-outer.lg-can-toggle .lg-item {
  padding-bottom: 0;
}

.lg-outer.lg-pull-caption-up .lg-sub-html {
  -webkit-transition: bottom 0.25s ease;
  -o-transition: bottom 0.25s ease;
  transition: bottom 0.25s ease;
}

.lg-outer.lg-pull-caption-up.lg-thumb-open .lg-sub-html {
  bottom: 5.55556rem;
}

.lg-outer .lg-toggle-thumb {
  background-color: #0D0A0A;
  border-radius: 0.11111rem 0.11111rem 0 0;
  color: #999;
  cursor: pointer;
  font-size: 1.33333rem;
  height: 2.16667rem;
  line-height: 1.5rem;
  padding: 0.27778rem 0;
  position: absolute;
  right: 1.11111rem;
  text-align: center;
  top: -2.16667rem;
  width: 2.77778rem;
}

.lg-outer .lg-toggle-thumb:after {
  content: "\e1ff";
}

.lg-outer .lg-toggle-thumb:hover {
  color: #FFF;
}

.lg-outer .lg-video-cont {
  display: inline-block;
  vertical-align: middle;
  max-width: 63.33333rem;
  max-height: 100%;
  width: 100%;
  padding: 0 0.27778rem;
}

.lg-outer .lg-video {
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden;
  position: relative;
}

.lg-outer .lg-video .lg-object {
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

.lg-outer .lg-video .lg-video-play {
  width: 4.66667rem;
  height: 3.27778rem;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -2.33333rem;
  margin-top: -1.66667rem;
  z-index: 1080;
  cursor: pointer;
}

.lg-outer .lg-has-vimeo .lg-video-play {
  background: url("../img/vimeo-play.png") no-repeat scroll 0 0 transparent;
}

.lg-outer .lg-has-vimeo:hover .lg-video-play {
  background: url("../img/vimeo-play.png") no-repeat scroll 0 -3.22222rem transparent;
}

.lg-outer .lg-has-html5 .lg-video-play {
  background: transparent url("../img/video-play.png") no-repeat scroll 0 0;
  height: 3.55556rem;
  margin-left: -1.77778rem;
  margin-top: -1.77778rem;
  width: 3.55556rem;
  opacity: 0.8;
}

.lg-outer .lg-has-html5:hover .lg-video-play {
  opacity: 1;
}

.lg-outer .lg-has-youtube .lg-video-play {
  background: url("../img/youtube-play.png") no-repeat scroll 0 0 transparent;
}

.lg-outer .lg-has-youtube:hover .lg-video-play {
  background: url("../img/youtube-play.png") no-repeat scroll 0 -3.33333rem transparent;
}

.lg-outer .lg-video-object {
  width: 100% !important;
  height: 100% !important;
  position: absolute;
  top: 0;
  left: 0;
}

.lg-outer .lg-has-video .lg-video-object {
  visibility: hidden;
}

.lg-outer .lg-has-video.lg-video-playing .lg-object, .lg-outer .lg-has-video.lg-video-playing .lg-video-play {
  display: none;
}

.lg-outer .lg-has-video.lg-video-playing .lg-video-object {
  visibility: visible;
}

.lg-progress-bar {
  background-color: #333;
  height: 0.27778rem;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1083;
  opacity: 0;
  -webkit-transition: opacity 0.08s ease 0s;
  -moz-transition: opacity 0.08s ease 0s;
  -o-transition: opacity 0.08s ease 0s;
  transition: opacity 0.08s ease 0s;
}

.lg-progress-bar .lg-progress {
  background-color: #a90707;
  height: 0.27778rem;
  width: 0;
}

.lg-progress-bar.lg-start .lg-progress {
  width: 100%;
}

.lg-show-autoplay .lg-progress-bar {
  opacity: 1;
}

.lg-autoplay-button:after {
  content: "\e01d";
}

.lg-show-autoplay .lg-autoplay-button:after {
  content: "\e01a";
}

.lg-outer.lg-css3.lg-zoom-dragging .lg-item.lg-complete.lg-zoomable .lg-img-wrap, .lg-outer.lg-css3.lg-zoom-dragging .lg-item.lg-complete.lg-zoomable .lg-image {
  -webkit-transition-duration: 0s;
  transition-duration: 0s;
}

.lg-outer.lg-use-transition-for-zoom .lg-item.lg-complete.lg-zoomable .lg-img-wrap {
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0, 0, 0.25, 1) 0s;
  -moz-transition: -moz-transform 0.3s cubic-bezier(0, 0, 0.25, 1) 0s;
  -o-transition: -o-transform 0.3s cubic-bezier(0, 0, 0.25, 1) 0s;
  transition: transform 0.3s cubic-bezier(0, 0, 0.25, 1) 0s;
}

.lg-outer.lg-use-left-for-zoom .lg-item.lg-complete.lg-zoomable .lg-img-wrap {
  -webkit-transition: left 0.3s cubic-bezier(0, 0, 0.25, 1) 0s, top 0.3s cubic-bezier(0, 0, 0.25, 1) 0s;
  -moz-transition: left 0.3s cubic-bezier(0, 0, 0.25, 1) 0s, top 0.3s cubic-bezier(0, 0, 0.25, 1) 0s;
  -o-transition: left 0.3s cubic-bezier(0, 0, 0.25, 1) 0s, top 0.3s cubic-bezier(0, 0, 0.25, 1) 0s;
  transition: left 0.3s cubic-bezier(0, 0, 0.25, 1) 0s, top 0.3s cubic-bezier(0, 0, 0.25, 1) 0s;
}

.lg-outer .lg-item.lg-complete.lg-zoomable .lg-img-wrap {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
}

.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image {
  -webkit-transform: scale3d(1, 1, 1);
  transform: scale3d(1, 1, 1);
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.15s !important;
  -moz-transition: -moz-transform 0.3s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.15s !important;
  -o-transition: -o-transform 0.3s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.15s !important;
  transition: transform 0.3s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.15s !important;
  -webkit-transform-origin: 0 0;
  -moz-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
}

#lg-zoom-in:after {
  content: "\e311";
}

#lg-actual-size {
  font-size: 1.11111rem;
}

#lg-actual-size:after {
  content: "\e033";
}

#lg-zoom-out {
  opacity: 0.5;
  pointer-events: none;
}

#lg-zoom-out:after {
  content: "\e312";
}

.lg-zoomed #lg-zoom-out {
  opacity: 1;
  pointer-events: auto;
}

.lg-outer .lg-pager-outer {
  bottom: 3.33333rem;
  left: 0;
  position: absolute;
  right: 0;
  text-align: center;
  z-index: 1080;
  height: 0.55556rem;
}

.lg-outer .lg-pager-outer.lg-pager-hover .lg-pager-cont {
  overflow: visible;
}

.lg-outer .lg-pager-cont {
  cursor: pointer;
  display: inline-block;
  overflow: hidden;
  position: relative;
  vertical-align: top;
  margin: 0 0.27778rem;
}

.lg-outer .lg-pager-cont:hover .lg-pager-thumb-cont {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.lg-outer .lg-pager-cont.lg-pager-active .lg-pager {
  box-shadow: 0 0 0 0.11111rem white inset;
}

.lg-outer .lg-pager-thumb-cont {
  background-color: #fff;
  color: #FFF;
  bottom: 100%;
  height: 4.61111rem;
  left: 0;
  margin-bottom: 1.11111rem;
  margin-left: -3.33333rem;
  opacity: 0;
  padding: 0.27778rem;
  position: absolute;
  width: 6.66667rem;
  border-radius: 0.16667rem;
  -webkit-transition: opacity 0.15s ease 0s, -webkit-transform 0.15s ease 0s;
  -moz-transition: opacity 0.15s ease 0s, -moz-transform 0.15s ease 0s;
  -o-transition: opacity 0.15s ease 0s, -o-transform 0.15s ease 0s;
  transition: opacity 0.15s ease 0s, transform 0.15s ease 0s;
  -webkit-transform: translate3d(0, 0.27778rem, 0);
  transform: translate3d(0, 0.27778rem, 0);
}

.lg-outer .lg-pager-thumb-cont img {
  width: 100%;
  height: 100%;
}

.lg-outer .lg-pager {
  background-color: rgba(255, 255, 255, 0.5);
  border-radius: 50%;
  box-shadow: 0 0 0 0.44444rem rgba(255, 255, 255, 0.7) inset;
  display: block;
  height: 0.66667rem;
  -webkit-transition: box-shadow 0.3s ease 0s;
  -o-transition: box-shadow 0.3s ease 0s;
  transition: box-shadow 0.3s ease 0s;
  width: 0.66667rem;
}

.lg-outer .lg-pager:hover, .lg-outer .lg-pager:focus {
  box-shadow: 0 0 0 0.44444rem white inset;
}

.lg-outer .lg-caret {
  border-left: 0.55556rem solid transparent;
  border-right: 0.55556rem solid transparent;
  border-top: 0.55556rem dashed;
  bottom: -0.55556rem;
  display: inline-block;
  height: 0;
  left: 50%;
  margin-left: -0.27778rem;
  position: absolute;
  vertical-align: middle;
  width: 0;
}

.lg-fullscreen:after {
  content: "\e20c";
}

.lg-fullscreen-on .lg-fullscreen:after {
  content: "\e20d";
}

.lg-outer #lg-dropdown-overlay {
  background-color: rgba(0, 0, 0, 0.25);
  bottom: 0;
  cursor: default;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 1081;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: visibility 0s linear 0.18s, opacity 0.18s linear 0s;
  -o-transition: visibility 0s linear 0.18s, opacity 0.18s linear 0s;
  transition: visibility 0s linear 0.18s, opacity 0.18s linear 0s;
}

.lg-outer.lg-dropdown-active .lg-dropdown, .lg-outer.lg-dropdown-active #lg-dropdown-overlay {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  -moz-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  opacity: 1;
  visibility: visible;
}

.lg-outer.lg-dropdown-active #lg-share {
  color: #FFF;
}

.lg-outer .lg-dropdown {
  background-color: #fff;
  border-radius: 0.11111rem;
  font-size: 0.77778rem;
  list-style-type: none;
  margin: 0;
  padding: 0.55556rem 0;
  position: absolute;
  right: 0;
  text-align: left;
  top: 2.77778rem;
  opacity: 0;
  visibility: hidden;
  -moz-transform: translate3d(0, 0.27778rem, 0);
  -o-transform: translate3d(0, 0.27778rem, 0);
  -ms-transform: translate3d(0, 0.27778rem, 0);
  -webkit-transform: translate3d(0, 0.27778rem, 0);
  transform: translate3d(0, 0.27778rem, 0);
  -webkit-transition: -webkit-transform 0.18s linear 0s, visibility 0s linear 0.5s, opacity 0.18s linear 0s;
  -moz-transition: -moz-transform 0.18s linear 0s, visibility 0s linear 0.5s, opacity 0.18s linear 0s;
  -o-transition: -o-transform 0.18s linear 0s, visibility 0s linear 0.5s, opacity 0.18s linear 0s;
  transition: transform 0.18s linear 0s, visibility 0s linear 0.5s, opacity 0.18s linear 0s;
}

.lg-outer .lg-dropdown:after {
  content: "";
  display: block;
  height: 0;
  width: 0;
  position: absolute;
  border: 0.44444rem solid transparent;
  border-bottom-color: #FFF;
  right: 0.88889rem;
  top: -0.88889rem;
}

.lg-outer .lg-dropdown > li:last-child {
  margin-bottom: 0;
}

.lg-outer .lg-dropdown > li:hover a, .lg-outer .lg-dropdown > li:hover .lg-icon {
  color: #333;
}

.lg-outer .lg-dropdown a {
  color: #333;
  display: block;
  white-space: pre;
  padding: 0.22222rem 0.66667rem;
  font-family: "Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size: 0.66667rem;
}

.lg-outer .lg-dropdown a:hover {
  background-color: rgba(0, 0, 0, 0.07);
}

.lg-outer .lg-dropdown .lg-dropdown-text {
  display: inline-block;
  line-height: 1;
  margin-top: -0.16667rem;
  vertical-align: middle;
}

.lg-outer .lg-dropdown .lg-icon {
  color: #333;
  display: inline-block;
  float: none;
  font-size: 1.11111rem;
  height: auto;
  line-height: 1;
  margin-right: 0.44444rem;
  padding: 0;
  vertical-align: middle;
  width: auto;
}

.lg-outer #lg-share {
  position: relative;
}

.lg-outer #lg-share:after {
  content: "\e80d";
}

.lg-outer #lg-share-facebook .lg-icon {
  color: #3b5998;
}

.lg-outer #lg-share-facebook .lg-icon:after {
  content: "\e901";
}

.lg-outer #lg-share-twitter .lg-icon {
  color: #00aced;
}

.lg-outer #lg-share-twitter .lg-icon:after {
  content: "\e904";
}

.lg-outer #lg-share-googleplus .lg-icon {
  color: #dd4b39;
}

.lg-outer #lg-share-googleplus .lg-icon:after {
  content: "\e902";
}

.lg-outer #lg-share-pinterest .lg-icon {
  color: #cb2027;
}

.lg-outer #lg-share-pinterest .lg-icon:after {
  content: "\e903";
}

.group {
  *zoom: 1;
}

.group:before, .group:after {
  display: table;
  content: "";
  line-height: 0;
}

.group:after {
  clear: both;
}

.lg-outer {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1050;
  opacity: 0;
  -webkit-transition: opacity 0.15s ease 0s;
  -o-transition: opacity 0.15s ease 0s;
  transition: opacity 0.15s ease 0s;
}

.lg-outer * {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.lg-outer.lg-visible {
  opacity: 1;
}

.lg-outer.lg-css3 .lg-item.lg-prev-slide, .lg-outer.lg-css3 .lg-item.lg-next-slide, .lg-outer.lg-css3 .lg-item.lg-current {
  -webkit-transition-duration: inherit !important;
  transition-duration: inherit !important;
  -webkit-transition-timing-function: inherit !important;
  transition-timing-function: inherit !important;
}

.lg-outer.lg-css3.lg-dragging .lg-item.lg-prev-slide, .lg-outer.lg-css3.lg-dragging .lg-item.lg-next-slide, .lg-outer.lg-css3.lg-dragging .lg-item.lg-current {
  -webkit-transition-duration: 0s !important;
  transition-duration: 0s !important;
  opacity: 1;
}

.lg-outer.lg-grab img.lg-object {
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: -o-grab;
  cursor: -ms-grab;
  cursor: grab;
}

.lg-outer.lg-grabbing img.lg-object {
  cursor: move;
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: -o-grabbing;
  cursor: -ms-grabbing;
  cursor: grabbing;
}

.lg-outer .lg {
  height: 100%;
  width: 100%;
  position: relative;
  overflow: hidden;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  max-height: 100%;
}

.lg-outer .lg-inner {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  white-space: nowrap;
}

.lg-outer .lg-item {
  background: url("../img/loading.gif") no-repeat scroll center center transparent;
  display: none !important;
}

.lg-outer.lg-css3 .lg-prev-slide, .lg-outer.lg-css3 .lg-current, .lg-outer.lg-css3 .lg-next-slide {
  display: inline-block !important;
}

.lg-outer.lg-css .lg-current {
  display: inline-block !important;
}

.lg-outer .lg-item, .lg-outer .lg-img-wrap {
  display: inline-block;
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
}

.lg-outer .lg-item:before, .lg-outer .lg-img-wrap:before {
  content: "";
  display: inline-block;
  height: 50%;
  width: 0.05556rem;
  margin-right: -0.05556rem;
}

.lg-outer .lg-img-wrap {
  position: absolute;
  padding: 0 0.27778rem;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}

.lg-outer .lg-item.lg-complete {
  background-image: none;
}

.lg-outer .lg-item.lg-current {
  z-index: 1060;
}

.lg-outer .lg-image {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  max-height: 100%;
  width: auto !important;
  height: auto !important;
}

.lg-outer.lg-show-after-load .lg-item .lg-object, .lg-outer.lg-show-after-load .lg-item .lg-video-play {
  opacity: 0;
  -webkit-transition: opacity 0.15s ease 0s;
  -o-transition: opacity 0.15s ease 0s;
  transition: opacity 0.15s ease 0s;
}

.lg-outer.lg-show-after-load .lg-item.lg-complete .lg-object, .lg-outer.lg-show-after-load .lg-item.lg-complete .lg-video-play {
  opacity: 1;
}

.lg-outer .lg-empty-html {
  display: none;
}

.lg-outer.lg-hide-download #lg-download {
  display: none;
}

.lg-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1040;
  background-color: #000;
  opacity: 0;
  -webkit-transition: opacity 0.15s ease 0s;
  -o-transition: opacity 0.15s ease 0s;
  transition: opacity 0.15s ease 0s;
}

.lg-backdrop.in {
  opacity: 1;
}

.lg-css3.lg-no-trans .lg-prev-slide, .lg-css3.lg-no-trans .lg-next-slide, .lg-css3.lg-no-trans .lg-current {
  -webkit-transition: none 0s ease 0s !important;
  -moz-transition: none 0s ease 0s !important;
  -o-transition: none 0s ease 0s !important;
  transition: none 0s ease 0s !important;
}

.lg-css3.lg-use-css3 .lg-item {
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
}

.lg-css3.lg-use-left .lg-item {
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
}

.lg-css3.lg-fade .lg-item {
  opacity: 0;
}

.lg-css3.lg-fade .lg-item.lg-current {
  opacity: 1;
}

.lg-css3.lg-fade .lg-item.lg-prev-slide, .lg-css3.lg-fade .lg-item.lg-next-slide, .lg-css3.lg-fade .lg-item.lg-current {
  -webkit-transition: opacity 0.1s ease 0s;
  -moz-transition: opacity 0.1s ease 0s;
  -o-transition: opacity 0.1s ease 0s;
  transition: opacity 0.1s ease 0s;
}

.lg-css3.lg-slide.lg-use-css3 .lg-item {
  opacity: 0;
}

.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-prev-slide {
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
}

.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-next-slide {
  -webkit-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0);
}

.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-current {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-prev-slide, .lg-css3.lg-slide.lg-use-css3 .lg-item.lg-next-slide, .lg-css3.lg-slide.lg-use-css3 .lg-item.lg-current {
  -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s;
  -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s;
  -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s;
  transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s;
}

.lg-css3.lg-slide.lg-use-left .lg-item {
  opacity: 0;
  position: absolute;
  left: 0;
}

.lg-css3.lg-slide.lg-use-left .lg-item.lg-prev-slide {
  left: -100%;
}

.lg-css3.lg-slide.lg-use-left .lg-item.lg-next-slide {
  left: 100%;
}

.lg-css3.lg-slide.lg-use-left .lg-item.lg-current {
  left: 0;
  opacity: 1;
}

.lg-css3.lg-slide.lg-use-left .lg-item.lg-prev-slide, .lg-css3.lg-slide.lg-use-left .lg-item.lg-next-slide, .lg-css3.lg-slide.lg-use-left .lg-item.lg-current {
  -webkit-transition: left 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s;
  -moz-transition: left 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s;
  -o-transition: left 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s;
  transition: left 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s;
}

.lg-actions .lg-prev::after {
  content: none;
}

.lg-actions .lg-next::before {
  content: none;
}

.lg-actions .svg {
  fill: #fff;
  width: 1.66667rem;
  height: 1.66667rem;
}

.lg-toolbar .lg-close::after {
  font-family: sans-serif;
  content: '\00d7';
}

.lg-download {
  display: none;
}

.thumbnail-gallery::before, .thumbnail-gallery::after {
  content: "";
  display: table;
  flex-basis: 0;
  order: 1;
}

.thumbnail-gallery::after {
  clear: both;
}

.thumbnail-gallery__image {
  width: calc(99.9% * 1/2 - (1.66667rem - 1.66667rem * 1/2));
}

.thumbnail-gallery__image:nth-child(1n) {
  float: left;
  margin-right: 1.66667rem;
  clear: none;
}

.thumbnail-gallery__image:last-child {
  margin-right: 0;
}

.thumbnail-gallery__image:nth-child(2n) {
  margin-right: 0;
  float: right;
}

.thumbnail-gallery__image:nth-child(2n + 1) {
  clear: both;
}

@media (min-width: 46.25em) {
  .thumbnail-gallery__image {
    width: calc(99.9% * 1/3 - (1.66667rem - 1.66667rem * 1/3));
  }
  .thumbnail-gallery__image:nth-child(1n) {
    float: left;
    margin-right: 1.66667rem;
    clear: none;
  }
  .thumbnail-gallery__image:last-child {
    margin-right: 0;
  }
  .thumbnail-gallery__image:nth-child(3n) {
    margin-right: 0;
    float: right;
  }
  .thumbnail-gallery__image:nth-child(3n + 1) {
    clear: both;
  }
}

@media (min-width: 61.25em) {
  .thumbnail-gallery__image {
    width: calc(99.9% * 1/4 - (1.66667rem - 1.66667rem * 1/4));
  }
  .thumbnail-gallery__image:nth-child(1n) {
    float: left;
    margin-right: 1.66667rem;
    clear: none;
  }
  .thumbnail-gallery__image:last-child {
    margin-right: 0;
  }
  .thumbnail-gallery__image:nth-child(4n) {
    margin-right: 0;
    float: right;
  }
  .thumbnail-gallery__image:nth-child(4n + 1) {
    clear: both;
  }
}

.gallery-slider__slide {
  min-height: 13.88889rem;
  background-size: cover;
  background-position: center center;
}

@media (min-width: 46.25em) {
  .gallery-slider__slide {
    min-height: 22.22222rem;
  }
}

@media (min-width: 61.25em) {
  .gallery-slider__slide {
    min-height: 27.77778rem;
  }
}

.hero img {
  width: 100%;
}

.alignleft {
  float: left;
  margin-bottom: 1.6rem;
  margin-right: 1.6rem;
  max-width: 50%;
}

@media (min-width: 53.75em) {
  .alignleft {
    margin-left: calc((100% - 47.77778rem) / 2);
  }
}

.alignright {
  float: right;
  margin-bottom: 1.6rem;
  margin-left: 1.6rem;
  max-width: 50%;
}

@media (min-width: 53.75em) {
  .alignright {
    margin-right: calc((100% - 47.77778rem) / 2);
  }
}

.aligncenter {
  clear: both;
  display: block;
  margin-bottom: 1.6rem;
  margin-left: auto;
  margin-right: auto;
}

.alignwide {
  max-width: 66.66667rem;
}

.alignfull {
  margin-left: -1.6rem;
  margin-right: -1.6rem;
  max-width: calc(100% + 3.2rem);
}

.u-float-left {
  float: left;
}

.u-float-right {
  float: right;
}

.u-clear {
  clear: both;
}

.u-text-center {
  text-align: center;
}

.u-text-left {
  text-align: left;
}

.u-text-right {
  text-align: right;
}

.u-clearfix::before, .u-clearfix::after {
  content: "";
  display: table;
  flex-basis: 0;
  order: 1;
}

.u-clearfix::after {
  clear: both;
}

.has-blue-background-color {
  background-color: #576F83;
}

.has-green-background-color {
  background-color: #899991;
}

.has-brown-background-color {
  background-color: #7F8581;
}

/**
 * Redefine all of our basic heading styles against utility classes so as to
 * allow for double stranded heading hierarchy, e.g. we semantically need an H2,
 * but we want it to be sized like an H1:
 *
 *   <h2 class="u-h1"></h2>
 *
 */
.u-h1,
.u-h2,
.u-h3,
.u-h4,
.u-h5,
.u-h6 {
  font-family: "Merriweather", -apple-system, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", "Arial", sans-serif;
  font-weight: 400;
}

.u-h1 {
  font-size: 1.77778rem;
  line-height: 1.3125;
}

@media (min-width: 46.25em) {
  .u-h1 {
    font-size: 2.66667rem;
    line-height: 1.125;
  }
}

.u-h2 {
  font-size: 1.44444rem;
  line-height: 1.38462;
}

@media (min-width: 46.25em) {
  .u-h2 {
    font-size: 2rem;
    line-height: 1.16667;
  }
}

.u-h3 {
  font-size: 1.22222rem;
  line-height: 1.36364;
}

@media (min-width: 46.25em) {
  .u-h3 {
    font-size: 1.55556rem;
    line-height: 1.28571;
  }
}

.u-h4 {
  font-size: 1.11111rem;
  line-height: 1.5;
}

@media (min-width: 46.25em) {
  .u-h4 {
    font-size: 1.22222rem;
    line-height: 1.36364;
  }
}

.u-h5 {
  font-size: 0.88889rem;
  line-height: 1.5;
}

@media (min-width: 46.25em) {
  .u-h5 {
    font-size: 1.11111rem;
    line-height: 1.5;
  }
}

.u-h6 {
  font-size: 0.88889rem;
  line-height: 1.5;
}

@media (min-width: 46.25em) {
  .u-h6 {
    font-size: 1rem;
    line-height: 1.33333;
  }
}

/**
 * Hide only visually, but have it available for screen readers:
 * http://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 */
.u-hide-visually,
.screen-reader-text {
  border: 0 ;
  clip: rect(0.05556rem, 0.05556rem, 0.05556rem, 0.05556rem);
  -webkit-clip-path: inset(50%) ;
  clip-path: inset(50%) ;
  height: 0.05556rem;
  overflow: hidden ;
  padding: 0 ;
  position: absolute ;
  white-space: nowrap ;
  width: 0.05556rem;
  word-wrap: normal ;
}

.u-hide-visually:focus,
.screen-reader-text:focus {
  background-color: #576F83;
  clip: auto ;
  clip-path: none ;
  color: #fff;
  height: auto ;
  left: 1.6rem;
  overflow: visible ;
  padding: 0.8rem 1.2rem;
  text-decoration: none;
  top: 1.6rem;
  white-space: normal ;
  width: auto ;
}

/**
 * Hide visually and from screen readers.
 */
.u-hidden {
  display: none !important;
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzL3NjcmVlbi5jc3MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Nzcy9zY3JlZW4uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbnRoLWdyaWQvc2Fzcy9udGgtZ3JpZC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zY3NzL2dlbmVyaWMvX2JveC1zaXppbmcuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Nzcy9nZW5lcmljL19ub3JtYWxpemUuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Nzcy9nZW5lcmljL19yZXNldC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zY3NzL2VsZW1lbnRzL19wYWdlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Nhc3MtbXEvX21xLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Njc3MvZWxlbWVudHMvX2hlYWRpbmdzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Njc3MvdG9vbHMvX2ZvbnQtc2l6ZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zY3NzL2VsZW1lbnRzL19saW5rcy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zY3NzL2VsZW1lbnRzL19ibG9ja3F1b3RlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Njc3MvZWxlbWVudHMvX2xpc3RzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Njc3MvZWxlbWVudHMvX2hyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Njc3MvZWxlbWVudHMvX3RhYmxlcy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zY3NzL2VsZW1lbnRzL19tZWRpYS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zY3NzL2VsZW1lbnRzL19jb2RlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Njc3MvZWxlbWVudHMvX2Zvcm1zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Njc3MvdG9vbHMvX2J1dHRvbi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zY3NzL2VsZW1lbnRzL19taXNjLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Njc3Mvb2JqZWN0cy9fYW5pbWF0aW9ucy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zY3NzL29iamVjdHMvX2xheW91dC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9udGgtZ3JpZC9zYXNzL250aC1ncmlkL21peGlucy9fZ3JpZC1udW1iZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Nzcy9vYmplY3RzL19tZWRpYS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zY3NzL29iamVjdHMvX3dyYXBwZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Nzcy90b29scy9fd3JhcHBlci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zY3NzL2NvbXBvbmVudHMvX2FwcC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zY3NzL2NvbXBvbmVudHMvX2FwcC1oZWFkZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Nzcy90b29scy9fY2xlYXJmaXguc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Nzcy9jb21wb25lbnRzL19hcHAtY29udGVudC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zY3NzL2NvbXBvbmVudHMvX2FwcC1mb290ZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Nzcy9jb21wb25lbnRzL19hcmNoaXZlLWhlYWRlci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zY3NzL2NvbXBvbmVudHMvX2NvbW1lbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Njc3MvY29tcG9uZW50cy9fY29tbWVudC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zY3NzL2NvbXBvbmVudHMvX2VudHJ5LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Njc3MvY29tcG9uZW50cy9fZm9ybS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zY3NzL2NvbXBvbmVudHMvX2dhbGxlcnkuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Njc3MvY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zY3NzL2NvbXBvbmVudHMvX3NpZGViYXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Nzcy9jb21wb25lbnRzL19zdmcuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Nzcy9jb21wb25lbnRzL190YWJsZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zY3NzL2NvbXBvbmVudHMvX3dpZGdldC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zY3NzL2NvbXBvbmVudHMvX3Rpbnktc2xpZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Njc3MvY29tcG9uZW50cy9faW1hZ2UtY29udGVudC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zY3NzL2NvbXBvbmVudHMvX3F1b3RlLXNsaWRlci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zY3NzL2NvbXBvbmVudHMvX2NvbnRlbnQtYmxvY2suc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbGlnaHRnYWxsZXJ5LmpzL3NyYy9zYXNzL2xnLWZvbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xpZ2h0Z2FsbGVyeS5qcy9zcmMvc2Fzcy9sZy10aGVtZS1kZWZhdWx0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xpZ2h0Z2FsbGVyeS5qcy9zcmMvc2Fzcy9sZy1taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbGlnaHRnYWxsZXJ5LmpzL3NyYy9zYXNzL2xnLXRodW1ibmFpbC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9saWdodGdhbGxlcnkuanMvc3JjL3Nhc3MvbGctdmlkZW8uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbGlnaHRnYWxsZXJ5LmpzL3NyYy9zYXNzL2xnLWF1dG9wbGF5LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xpZ2h0Z2FsbGVyeS5qcy9zcmMvc2Fzcy9sZy16b29tLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xpZ2h0Z2FsbGVyeS5qcy9zcmMvc2Fzcy9sZy1wYWdlci5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9saWdodGdhbGxlcnkuanMvc3JjL3Nhc3MvbGctZnVsbHNjcmVlbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9saWdodGdhbGxlcnkuanMvc3JjL3Nhc3MvbGctc2hhcmUuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbGlnaHRnYWxsZXJ5LmpzL3NyYy9zYXNzL2xpZ2h0Z2FsbGVyeS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zY3NzL2NvbXBvbmVudHMvX3RodW1ibmFpbC1nYWxsZXJ5LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Njc3MvY29tcG9uZW50cy9fZ2FsbGVyeS1zbGlkZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Nzcy9jb21wb25lbnRzL19oZXJvLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Njc3MvdXRpbGl0aWVzL19hbGlnbm1lbnQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Nzcy91dGlsaXRpZXMvX2NvbG9yLXBhbGV0dGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Nzcy91dGlsaXRpZXMvX2hlYWRpbmdzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Njc3MvdXRpbGl0aWVzL19oaWRlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Njc3MvdG9vbHMvX2hpZGRlbi5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhpcyBpcyB0aGUgcHJpbWFyeSBzdHlsZXNoZWV0LiBXZSBkb25cInQgYWN0dWFsbHkgd3JpdGUgYW55IHN0eWxlcyBoZXJlLlxuICogSW5zdGVhZCwgd2UgaW1wb3J0IGFsbCBvZiBvdXIgc3R5bGVzIGZyb20gcGFydGlhbHMgd2l0aGluIHRoZSBzdWItZm9sZGVycy5cbiAqIFRoaXMgZmlsZSBpcyBzZXQgdXAgYmFzZWQgb24gdGhlIEludmVydGVkIFRyaWFuZ2xlIENTUyAoSVRDU1MpIHN5c3RlbSxcbiAqIHdoaWNoIGdldHMgbW9yZSBzcGVjaWZpYyBhcyB3ZSBkcmlsbCBkb3duIGVhY2ggbGF5ZXIuICBUaGlzIGtlZXBzIHlvdXJcbiAqIHN0eWxlIGNvZGUgbGVhbiBhbmQgb3JnYW5pemVkLlxuICpcbiAqIFRoZSBidWxrIG9mIHlvdXIgY29kZSBzaG91bGQgYmUgd2l0aGluIHRoZSBgL2NvbXBvbmVudHNgIGZvbGRlci4gIEJ5XG4gKiBkZWZhdWx0LCB3ZSBmb2xsb3cgdGhlIEJsb2NrLUVsZW1lbnQtTW9kaWZpZXIgKEJFTSkgc3lzdGVtIGluIG91ciBIVE1MLlxuICogRWFjaCBcImJsb2NrXCIgaXMgYSBcImNvbXBvbmVudFwiIGluIG91ciBDU1MuXG4gKi9cblxuLy8gU2V0dGluZ3MuXG4vL1xuLy8gU2V0dGluZ3MgaGFuZGxlIHRoZSBjb25maWd1cmF0aW9uIGFuZCBkb25cInQgb3V0cHV0IENTUy4gVGhpcyBpcyBhIGdvb2Rcbi8vIHBsYWNlIHRvIGRlZmluZSB0aGluZ3MgbGlrZSB2YXJpYWJsZXMuXG5cbkBpbXBvcnQgXCJzZXR0aW5ncy9nbG9iYWxcIjtcbkBpbXBvcnQgXCJzZXR0aW5ncy9jb2xvcnNcIjtcblxuXG4vLyBUb29scy5cbi8vXG4vLyBUaGVzZSBhcmUgdXNlZCB0aHJvdWdob3V0IHRoZSBjb2RlIGJ1dCBkb25cInQgb3V0cHV0IENTUyBvbiB0aGVpciBvd24uXG4vLyBUaGluZ3MgbGlrZSBtaXhpbnMgYW5kIGV4dGVuc2lvbnMgZ28gaGVyZS5cblxuQGltcG9ydCBcIn5udGgtZ3JpZC9zYXNzL250aC1ncmlkXCI7XG5AaW1wb3J0IFwifnNhc3MtbXEvbXFcIjtcbkBpbXBvcnQgXCJ0b29scy91bml0c1wiO1xuQGltcG9ydCBcInRvb2xzL2NsZWFyZml4XCI7XG5AaW1wb3J0IFwidG9vbHMvaGlkZGVuXCI7XG5AaW1wb3J0IFwidG9vbHMvYnV0dG9uXCI7XG5AaW1wb3J0IFwidG9vbHMvZm9udC1zaXplXCI7XG5AaW1wb3J0IFwidG9vbHMvdnJcIjtcbkBpbXBvcnQgXCJ0b29scy9yZXNwb25zaXZlLWVtYmVkXCI7XG5AaW1wb3J0IFwidG9vbHMvd3JhcHBlclwiO1xuXG5cbi8vIEdlbmVyaWMuXG4vL1xuLy8gVGhpcyBpcyB0aGUgZmlyc3QgcG9pbnQgdGhhdCByZWFsIENTUyBpcyBvdXRwdXQuIFJlc2V0cywgbm9ybWFsaXphdGlvbixcbi8vIGZvbnRzLCBldGMuIGFyZSBiZXN0IGhhbmRsZWQgaGVyZS4gVGhlc2UgYXJlIHRoZSBiYXNlIHN0eWxlcyB0aGF0IG90aGVyXG4vLyBzdHlsZXMgd2lsbCBidWlsZCB1cG9uLlxuXG5AaW1wb3J0IFwiZ2VuZXJpYy9ib3gtc2l6aW5nXCI7XG5AaW1wb3J0IFwiZ2VuZXJpYy9ub3JtYWxpemVcIjtcbkBpbXBvcnQgXCJnZW5lcmljL3Jlc2V0XCI7XG5cblxuLy8gRWxlbWVudHMuXG4vL1xuLy8gRWxlbWVudHMgYXJlIChvciBzaG91bGQgYmUpIGNsYXNzLWxlc3MgZGVzaWducyBmb3IgdGhlIGJhc2Vcbi8vIEhUTUwgZWxlbWVudHMuXG5cbkBpbXBvcnQgXCJlbGVtZW50cy9wYWdlXCI7XG5AaW1wb3J0IFwiZWxlbWVudHMvaGVhZGluZ3NcIjtcbkBpbXBvcnQgXCJlbGVtZW50cy9saW5rc1wiO1xuQGltcG9ydCBcImVsZW1lbnRzL2Jsb2NrcXVvdGVcIjtcbkBpbXBvcnQgXCJlbGVtZW50cy9saXN0c1wiO1xuQGltcG9ydCBcImVsZW1lbnRzL2hyXCI7XG5AaW1wb3J0IFwiZWxlbWVudHMvdGFibGVzXCI7XG5AaW1wb3J0IFwiZWxlbWVudHMvbWVkaWFcIjtcbkBpbXBvcnQgXCJlbGVtZW50cy9jb2RlXCI7XG5AaW1wb3J0IFwiZWxlbWVudHMvZm9ybXNcIjtcbkBpbXBvcnQgXCJlbGVtZW50cy9taXNjXCI7XG5cblxuLy8gT2JqZWN0cy5cbi8vXG4vLyBDb21wb25lbnRzIG1ha2UgdXAgdGhlIGJ1bGsgb2YgdGhlIGFjdHVhbCB0aGVtZSBkZXNpZ24uICBOZWFybHlcbi8vIGV2ZXJ5IHBpZWNlIG9mIHRoZSBkZXNpZ24gaXMgc29tZSB0eXBlIG9mIGNvbXBvbmVudCwgd2hldGhlciBpdFwic1xuLy8gYSBvbmUtb2ZmIG9yIHJldXNhYmxlIGJsb2NrIG9mIGNvZGUuXG5cbkBpbXBvcnQgXCJvYmplY3RzL2FuaW1hdGlvbnNcIjtcbkBpbXBvcnQgXCJvYmplY3RzL2xheW91dFwiO1xuQGltcG9ydCBcIm9iamVjdHMvbWVkaWFcIjtcbkBpbXBvcnQgXCJvYmplY3RzL3dyYXBwZXJcIjtcblxuXG4vLyBDb21wb25lbnRzLlxuLy9cbi8vIENvbXBvbmVudHMgbWFrZSB1cCB0aGUgYnVsayBvZiB0aGUgYWN0dWFsIHRoZW1lIGRlc2lnbi4gIE5lYXJseVxuLy8gZXZlcnkgcGllY2Ugb2YgdGhlIGRlc2lnbiBpcyBzb21lIHR5cGUgb2YgY29tcG9uZW50LCB3aGV0aGVyIGl0XCJzXG4vLyBhIG9uZS1vZmYgb3IgcmV1c2FibGUgYmxvY2sgb2YgY29kZS5cblxuQGltcG9ydCBcImNvbXBvbmVudHMvYXBwXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9hcHAtaGVhZGVyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9hcHAtY29udGVudFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvYXBwLW1haW5cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2FwcC1mb290ZXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2FyY2hpdmUtaGVhZGVyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9idXR0b25cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NvbW1lbnRzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9jb21tZW50XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9lbnRyeVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZm9ybVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZ2FsbGVyeVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbWVudVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvcGFnaW5hdGlvblwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvc2lkZWJhclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvc3ZnXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy90YWJsZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvd2lkZ2V0XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy90aW55LXNsaWRlclwiO1xuXG5AaW1wb3J0IFwiY29tcG9uZW50cy9pbWFnZS1jb250ZW50XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9xdW90ZS1zbGlkZXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NvbnRlbnQtYmxvY2tcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3RodW1ibmFpbC1nYWxsZXJ5XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9nYWxsZXJ5LXNsaWRlclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvaGVyb1wiO1xuXG5cbi8vIFZlbmRvci5cbi8vXG4vLyBWZW5kb3IgZmlsZXMgaGFuZGxlIGNvZGUgZm9yIHNwZWNpZmljIHBsdWdpbnMgYW5kIHRoaXJkLXBhcnR5XG4vLyBzY3JpcHRzIHRoYXQgd291bGQgb3ZlcndyaXRlIGVhcmxpZXIgc3R5bGVzLlxuXG4vLyBAaW1wb3J0IFwidmVuZG9yL2luZGV4XCI7XG5cblxuLy8gVXRpbGl0aWVzLlxuLy9cbi8vIFV0aWxpdGllcyBhcmUgaGVscGVyIGNsYXNzZXMgYW5kIG92ZXJyaWRlcy4gIFRoaXMgZ2V0cyBsb2FkZWQgbGFzdC5cbi8vIElmIG5lY2Vzc2FyeSwgdGhpcyBpcyB0aGUgb25seSBwbGFjZSB3aGVyZSBgIWltcG9ydGFudGAgcnVsZXMgc2hvdWxkXG4vLyBnbywgYnV0IG9ubHkgaWYgbmVjZXNzYXJ5LlxuXG5AaW1wb3J0IFwidXRpbGl0aWVzL2FsaWdubWVudFwiO1xuQGltcG9ydCBcInV0aWxpdGllcy9jbGVhcmZpeFwiO1xuQGltcG9ydCBcInV0aWxpdGllcy9jb2xvci1wYWxldHRlXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL2hlYWRpbmdzXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL2hpZGVcIjtcbiIsIi8qKlxuICogTnRoIGdyaWQgYnkgQnJldHQgTWFzb25cbiAqIFZlcnNpb24gMS4wLjBcbiAqIGJyZXR0bWFzb24uY28udWtcbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIFNldHRpbmdzXG5AaW1wb3J0ICdudGgtZ3JpZC9zZXR0aW5ncy9zZXR0aW5ncyc7XG5cbi8vIEZ1bmN0aW9uc1xuQGltcG9ydCAnbnRoLWdyaWQvZnVuY3Rpb25zL3V0aWxpdHknO1xuQGltcG9ydCAnbnRoLWdyaWQvZnVuY3Rpb25zL2d1dHRlcic7XG5AaW1wb3J0ICdudGgtZ3JpZC9mdW5jdGlvbnMvc2l6aW5nJztcblxuLy8gTWl4aW5zXG5AaW1wb3J0ICdudGgtZ3JpZC9taXhpbnMvZ3JpZC1udW1iZXInO1xuQGltcG9ydCAnbnRoLWdyaWQvbWl4aW5zL2dyaWQtbGlzdCc7XG5AaW1wb3J0ICdudGgtZ3JpZC9taXhpbnMvZ3JpZC1tYXAnO1xuQGltcG9ydCAnbnRoLWdyaWQvbWl4aW5zL250aC1ncmlkLWJhc2UnO1xuQGltcG9ydCAnbnRoLWdyaWQvbWl4aW5zL250aC1ncmlkJztcbiIsIi8qKlxuICogTW9yZSBzZW5zaWJsZSBkZWZhdWx0IGJveC1zaXppbmc6XG4gKiBjc3MtdHJpY2tzLmNvbS9pbmhlcml0aW5nLWJveC1zaXppbmctcHJvYmFibHktc2xpZ2h0bHktYmV0dGVyLWJlc3QtcHJhY3RpY2VcbiAqL1xuXG5odG1sIHtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuKiB7XG5cblx0Jixcblx0JjpiZWZvcmUsXG5cdCY6YWZ0ZXIge1xuXHRcdGJveC1zaXppbmc6IGluaGVyaXQ7XG5cdH1cbn1cbiIsIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cblxuIGh0bWwge1xuXHRsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuXHQtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgfVxuXG4gIC8qIFNlY3Rpb25zXG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuXG4gIGJvZHkge1xuXHRtYXJnaW46IDA7XG4gIH1cblxuICAvKipcbiAgICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAgKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICAgKi9cblxuICBoMSB7XG5cdGZvbnQtc2l6ZTogMmVtO1xuXHRtYXJnaW46IDAuNjdlbSAwO1xuICB9XG5cbiAgLyogR3JvdXBpbmcgY29udGVudFxuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gICAqL1xuXG4gIGhyIHtcblx0Ym94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cblx0aGVpZ2h0OiAwOyAvKiAxICovXG5cdG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG4gIH1cblxuICAvKipcbiAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cblxuICBwcmUge1xuXHRmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cblx0Zm9udC1zaXplOiAxZW07IC8qIDIgKi9cbiAgfVxuXG4gIC8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAqL1xuXG4gIGEge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC8qKlxuICAgKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgKi9cblxuICBhYmJyW3RpdGxlXSB7XG5cdGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG4gIH1cblxuICAvKipcbiAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAgICovXG5cbiAgYixcbiAgc3Ryb25nIHtcblx0Zm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuXG4gIGNvZGUsXG4gIGtiZCxcbiAgc2FtcCB7XG5cdGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuXHRmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cblxuICBzbWFsbCB7XG5cdGZvbnQtc2l6ZTogODAlO1xuICB9XG5cbiAgLyoqXG4gICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAgKiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuXG4gIHN1YixcbiAgc3VwIHtcblx0Zm9udC1zaXplOiA3NSU7XG5cdGxpbmUtaGVpZ2h0OiAwO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIHN1YiB7XG5cdGJvdHRvbTogLTAuMjVlbTtcbiAgfVxuXG4gIHN1cCB7XG5cdHRvcDogLTAuNWVtO1xuICB9XG5cbiAgLyogRW1iZWRkZWQgY29udGVudFxuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAgICovXG5cbiAgaW1nIHtcblx0Ym9yZGVyLXN0eWxlOiBub25lO1xuICB9XG5cbiAgLyogRm9ybXNcblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICAgKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gICAqL1xuXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcblx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cblx0Zm9udC1zaXplOiAxMDAlOyAvKiAxICovXG5cdGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG5cdG1hcmdpbjogMDsgLyogMiAqL1xuICB9XG5cbiAgLyoqXG4gICAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAgKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICAgKi9cblxuICBidXR0b24sXG4gIGlucHV0IHsgLyogMSAqL1xuXHRvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICAgKi9cblxuICBidXR0b24sXG4gIHNlbGVjdCB7IC8qIDEgKi9cblx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAvKipcbiAgICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICovXG5cbiAgYnV0dG9uLFxuICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgW3R5cGU9XCJyZXNldFwiXSxcbiAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgKi9cblxuICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG5cdGJvcmRlci1zdHlsZTogbm9uZTtcblx0cGFkZGluZzogMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gICAqL1xuXG4gIGJ1dHRvbjotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcblx0b3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICB9XG5cbiAgLyoqXG4gICAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICovXG5cbiAgZmllbGRzZXQge1xuXHRwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG4gIH1cblxuICAvKipcbiAgICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAgKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gICAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cblxuICBsZWdlbmQge1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG5cdGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG5cdGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG5cdG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuXHRwYWRkaW5nOiAwOyAvKiAzICovXG5cdHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgKi9cblxuICBwcm9ncmVzcyB7XG5cdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAgICovXG5cbiAgdGV4dGFyZWEge1xuXHRvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8qKlxuICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAgICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICAgKi9cblxuICBbdHlwZT1cImNoZWNrYm94XCJdLFxuICBbdHlwZT1cInJhZGlvXCJdIHtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuXHRwYWRkaW5nOiAwOyAvKiAyICovXG4gIH1cblxuICAvKipcbiAgICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICAgKi9cblxuICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuXHRoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAvKipcbiAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gICAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAgKi9cblxuICBbdHlwZT1cInNlYXJjaFwiXSB7XG5cdC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG5cdG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICAgKi9cblxuICBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG5cdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8qKlxuICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gICAqL1xuXG4gIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuXHRmb250OiBpbmhlcml0OyAvKiAyICovXG4gIH1cblxuICAvKiBJbnRlcmFjdGl2ZVxuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKlxuICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICAgKi9cblxuICBkZXRhaWxzIHtcblx0ZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvKlxuICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuXG4gIHN1bW1hcnkge1xuXHRkaXNwbGF5OiBsaXN0LWl0ZW07XG4gIH1cblxuICAvKiBNaXNjXG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gICAqL1xuXG4gIHRlbXBsYXRlIHtcblx0ZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAgICovXG5cbiAgW2hpZGRlbl0ge1xuXHRkaXNwbGF5OiBub25lO1xuICB9XG5cbiIsIi8qKlxuICogQSB2ZXJ5IHNpbXBsZSByZXNldCB0aGF0IHNpdHMgb24gdG9wIG9mIE5vcm1hbGl6ZS5jc3MuXG4gKi9cblxuYm9keSxcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbmJsb2NrcXVvdGUsXG5wLFxucHJlLFxuZGwsXG5kZCxcbm9sLFxudWwsXG5maWd1cmUsXG5ocixcbmZpZWxkc2V0LFxubGVnZW5kIHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xufVxuIiwiLyoqXG4gKiBTaW1wbGUgcGFnZS1sZXZlbCBzZXR1cC5cbiAqXG4gKiAxLiBTZXQgdGhlIGRlZmF1bHQgYGZvbnQtc2l6ZWAgYW5kIGBsaW5lLWhlaWdodGAgZm9yIHRoZSBlbnRpcmUgcHJvamVjdC5cbiAqL1xuXG5odG1sIHtcblx0YmFja2dyb3VuZDogJGNvbG9yLWJhY2tncm91bmQ7XG5cdGNvbG9yOiAkY29sb3ItdGV4dDtcblx0Zm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1ib2R5O1xuXHRmb250LXNpemU6IHBlcmNlbnRhZ2UoJGdsb2JhbC1mb250LXNpemUgLyAxNnB4KTsgLyogWzFdICovXG5cdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG5cdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuXHRsaW5lLWhlaWdodDogJGdsb2JhbC1saW5lLWhlaWdodCAvICRnbG9iYWwtZm9udC1zaXplOyAvKiBbMV0gKi9cblx0dGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcblxuXHRAaW5jbHVkZSBtcShtZWRpdW0pIHtcblx0XHRmb250LXNpemU6IHBlcmNlbnRhZ2UoJGdsb2JhbC1mb250LXNpemUtbGFyZ2UgLyAxNnB4KTsgLyogWzFdICovXG5cdFx0bGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZS1oZWlnaHQtbGFyZ2UgLyAkZ2xvYmFsLWZvbnQtc2l6ZTsgLyogWzFdICovXG5cdH1cbn1cblxuYm9keSB7XG5cdG92ZXJmbG93LXg6IGhpZGRlbjtcblxuXHQmLmhhcy1hY3RpdmUtbWVudSB7XG5cdFx0b3ZlcmZsb3cteTogaGlkZGVuO1xuXHR9XG5cblx0QGluY2x1ZGUgbXEobWVkaXVtKSB7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjYWxjKDEwMCUgLSAxOTBweCk7XG5cdH1cblxuXHQmLmhvbWUge1xuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHR9XG59XG5cbnAge1xuXHRtYXJnaW4tYm90dG9tOiB2cigxKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjsgLy8gRml4ZXMgYW4gaXNzdWUgd2hlcmUgUnVieSBsb2NhbGUgaXMgbm90IHNldCBwcm9wZXJseVxuICAgICAgICAgICAgICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEvcHVsbC8xMFxuXG4vLy8gQmFzZSBmb250IHNpemUgb24gdGhlIGA8Ym9keT5gIGVsZW1lbnRcbi8vLyBAdHlwZSBOdW1iZXIgKHVuaXQpXG4kbXEtYmFzZS1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG5cbi8vLyBSZXNwb25zaXZlIG1vZGVcbi8vL1xuLy8vIFNldCB0byBgZmFsc2VgIHRvIGVuYWJsZSBzdXBwb3J0IGZvciBicm93c2VycyB0aGF0IGRvIG5vdCBzdXBwb3J0IEBtZWRpYSBxdWVyaWVzLFxuLy8vIChJRSA8PSA4LCBGaXJlZm94IDw9IDMsIE9wZXJhIDw9IDkpXG4vLy9cbi8vLyBZb3UgY291bGQgY3JlYXRlIGEgc3R5bGVzaGVldCBzZXJ2ZWQgZXhjbHVzaXZlbHkgdG8gb2xkZXIgYnJvd3NlcnMsXG4vLy8gd2hlcmUgQG1lZGlhIHF1ZXJpZXMgYXJlIHJhc3Rlcml6ZWRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLy8gb2xkLWllLnNjc3Ncbi8vLyAgJG1xLXJlc3BvbnNpdmU6IGZhbHNlO1xuLy8vICBAaW1wb3J0ICdtYWluJzsgLy8gQG1lZGlhIHF1ZXJpZXMgaW4gdGhpcyBmaWxlIHdpbGwgYmUgcmFzdGVyaXplZCB1cCB0byAkbXEtc3RhdGljLWJyZWFrcG9pbnRcbi8vLyAgICAgICAgICAgICAgICAgICAvLyBsYXJnZXIgYnJlYWtwb2ludHMgd2lsbCBiZSBpZ25vcmVkXG4vLy9cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNyZXNwb25zaXZlLW1vZGUtb2ZmIERpc2FibGVkIHJlc3BvbnNpdmUgbW9kZSBkb2N1bWVudGF0aW9uXG4kbXEtcmVzcG9uc2l2ZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgbGlzdFxuLy8vXG4vLy8gTmFtZSB5b3VyIGJyZWFrcG9pbnRzIGluIGEgd2F5IHRoYXQgY3JlYXRlcyBhIHViaXF1aXRvdXMgbGFuZ3VhZ2Vcbi8vLyBhY3Jvc3MgdGVhbSBtZW1iZXJzLiBJdCB3aWxsIGltcHJvdmUgY29tbXVuaWNhdGlvbiBiZXR3ZWVuXG4vLy8gc3Rha2Vob2xkZXJzLCBkZXNpZ25lcnMsIGRldmVsb3BlcnMsIGFuZCB0ZXN0ZXJzLlxuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNzZWVpbmctdGhlLWN1cnJlbnRseS1hY3RpdmUtYnJlYWtwb2ludCBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4kbXEtYnJlYWtwb2ludHM6IChcbiAgICBtb2JpbGU6ICAzMjBweCxcbiAgICB0YWJsZXQ6ICA3NDBweCxcbiAgICBkZXNrdG9wOiA5ODBweCxcbiAgICB3aWRlOiAgICAxMzAwcHhcbikgIWRlZmF1bHQ7XG5cbi8vLyBTdGF0aWMgYnJlYWtwb2ludCAoZm9yIGZpeGVkLXdpZHRoIGxheW91dHMpXG4vLy9cbi8vLyBEZWZpbmUgdGhlIGJyZWFrcG9pbnQgZnJvbSAkbXEtYnJlYWtwb2ludHMgdGhhdCBzaG91bGRcbi8vLyBiZSB1c2VkIGFzIHRoZSB0YXJnZXQgd2lkdGggZm9yIHRoZSBmaXhlZC13aWR0aCBsYXlvdXRcbi8vLyAoaS5lLiB3aGVuICRtcS1yZXNwb25zaXZlIGlzIHNldCB0byAnZmFsc2UnKSBpbiBhIG9sZC1pZS5zY3NzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC8vIHRhYmxldC1vbmx5LnNjc3Ncbi8vLyAgLy9cbi8vLyAgLy8gSWdub3JlIGFsbCBzdHlsZXMgYWJvdmUgdGFibGV0IGJyZWFrcG9pbnQsXG4vLy8gIC8vIGFuZCBmaXggdGhlIHN0eWxlcyAoZS5nLiBsYXlvdXQpIGF0IHRhYmxldCB3aWR0aFxuLy8vICAkbXEtcmVzcG9uc2l2ZTogZmFsc2U7XG4vLy8gICRtcS1zdGF0aWMtYnJlYWtwb2ludDogdGFibGV0O1xuLy8vICBAaW1wb3J0ICdtYWluJzsgLy8gQG1lZGlhIHF1ZXJpZXMgaW4gdGhpcyBmaWxlIHdpbGwgYmUgcmFzdGVyaXplZCB1cCB0byB0YWJsZXRcbi8vLyAgICAgICAgICAgICAgICAgICAvLyBsYXJnZXIgYnJlYWtwb2ludHMgd2lsbCBiZSBpZ25vcmVkXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI2FkZGluZy1jdXN0b20tYnJlYWtwb2ludHMgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuJG1xLXN0YXRpYy1icmVha3BvaW50OiBkZXNrdG9wICFkZWZhdWx0O1xuXG4vLy8gU2hvdyBicmVha3BvaW50cyBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lclxuLy8vXG4vLy8gSWYgeW91IHdhbnQgdG8gZGlzcGxheSB0aGUgY3VycmVudGx5IGFjdGl2ZSBicmVha3BvaW50IGluIHRoZSB0b3Bcbi8vLyByaWdodCBjb3JuZXIgb2YgeW91ciBzaXRlIGR1cmluZyBkZXZlbG9wbWVudCwgYWRkIHRoZSBicmVha3BvaW50c1xuLy8vIHRvIHRoaXMgbGlzdCwgb3JkZXJlZCBieSB3aWR0aCwgZS5nLiAobW9iaWxlLCB0YWJsZXQsIGRlc2t0b3ApLlxuLy8vXG4vLy8gQHR5cGUgbWFwXG4kbXEtc2hvdy1icmVha3BvaW50czogKCkgIWRlZmF1bHQ7XG5cbi8vLyBDdXN0b21pemUgdGhlIG1lZGlhIHR5cGUgKGUuZy4gYEBtZWRpYSBzY3JlZW5gIG9yIGBAbWVkaWEgcHJpbnRgKVxuLy8vIEJ5IGRlZmF1bHQgc2Fzcy1tcSB1c2VzIGFuIFwiYWxsXCIgbWVkaWEgdHlwZSAoYEBtZWRpYSBhbGwgYW5kIOKApmApXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI2NoYW5naW5nLW1lZGlhLXR5cGUgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuJG1xLW1lZGlhLXR5cGU6IGFsbCAhZGVmYXVsdDtcblxuLy8vIENvbnZlcnQgcGl4ZWxzIHRvIGVtc1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRweCAtIHZhbHVlIHRvIGNvbnZlcnRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UtZm9udC1zaXplICgkbXEtYmFzZS1mb250LXNpemUpIC0gYDxib2R5PmAgZm9udCBzaXplXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICRmb250LXNpemUtaW4tZW1zOiBtcS1weDJlbSgxNnB4KTtcbi8vLyAgcCB7IGZvbnQtc2l6ZTogbXEtcHgyZW0oMTZweCk7IH1cbi8vL1xuLy8vIEByZXF1aXJlcyAkbXEtYmFzZS1mb250LXNpemVcbi8vLyBAcmV0dXJucyB7TnVtYmVyfVxuQGZ1bmN0aW9uIG1xLXB4MmVtKCRweCwgJGJhc2UtZm9udC1zaXplOiAkbXEtYmFzZS1mb250LXNpemUpIHtcbiAgICBAaWYgdW5pdGxlc3MoJHB4KSB7XG4gICAgICAgIEB3YXJuIFwiQXNzdW1pbmcgI3skcHh9IHRvIGJlIGluIHBpeGVscywgYXR0ZW1wdGluZyB0byBjb252ZXJ0IGl0IGludG8gcGl4ZWxzLlwiO1xuICAgICAgICBAcmV0dXJuIG1xLXB4MmVtKCRweCAqIDFweCwgJGJhc2UtZm9udC1zaXplKTtcbiAgICB9IEBlbHNlIGlmIHVuaXQoJHB4KSA9PSBlbSB7XG4gICAgICAgIEByZXR1cm4gJHB4O1xuICAgIH1cbiAgICBAcmV0dXJuICgkcHggLyAkYmFzZS1mb250LXNpemUpICogMWVtO1xufVxuXG4vLy8gR2V0IGEgYnJlYWtwb2ludCdzIHdpZHRoXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBicmVha3BvaW50LiBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICR0YWJsZXQtd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKHRhYmxldCk7XG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aChkZXNrdG9wKSkge31cbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVmFsdWUgaW4gcGl4ZWxzXG5AZnVuY3Rpb24gbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJG5hbWUsICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzKSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJG5hbWUpIHtcbiAgICAgICAgQHJldHVybiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBAd2FybiBcIkJyZWFrcG9pbnQgI3skbmFtZX0gd2Fzbid0IGZvdW5kIGluICRicmVha3BvaW50cy5cIjtcbiAgICB9XG59XG5cbi8vLyBNZWRpYSBRdWVyeSBtaXhpblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkZnJvbSAoZmFsc2UpIC0gT25lIG9mICRtcS1icmVha3BvaW50c1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJHVudGlsIChmYWxzZSkgLSBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkYW5kIChmYWxzZSkgLSBBZGRpdGlvbmFsIG1lZGlhIHF1ZXJ5IHBhcmFtZXRlcnNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lZGlhLXR5cGUgKCRtcS1tZWRpYS10eXBlKSAtIE1lZGlhIHR5cGU6IHNjcmVlbiwgcHJpbnTigKZcbi8vL1xuLy8vIEBpZ25vcmUgVW5kb2N1bWVudGVkIEFQSSwgZm9yIGFkdmFuY2VkIHVzZSBvbmx5OlxuLy8vIEBpZ25vcmUgQHBhcmFtIHtNYXB9ICRicmVha3BvaW50cyAoJG1xLWJyZWFrcG9pbnRzKVxuLy8vIEBpZ25vcmUgQHBhcmFtIHtTdHJpbmd9ICRzdGF0aWMtYnJlYWtwb2ludCAoJG1xLXN0YXRpYy1icmVha3BvaW50KVxuLy8vXG4vLy8gQGNvbnRlbnQgc3R5bGluZyBydWxlcywgd3JhcHBlZCBpbnRvIGEgQG1lZGlhIHF1ZXJ5IHdoZW4gJHJlc3BvbnNpdmUgaXMgdHJ1ZVxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLW1lZGlhLXR5cGVcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtc3RhdGljLWJyZWFrcG9pbnRcbi8vLyBAcmVxdWlyZXMge2Z1bmN0aW9ufSBtcS1weDJlbVxuLy8vIEByZXF1aXJlcyB7ZnVuY3Rpb259IG1xLWdldC1icmVha3BvaW50LXdpZHRoXG4vLy9cbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3Jlc3BvbnNpdmUtbW9kZS1vbi1kZWZhdWx0IEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLmVsZW1lbnQge1xuLy8vICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtb2JpbGUpIHtcbi8vLyAgICAgIGNvbG9yOiByZWQ7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogdGFibGV0KSB7XG4vLy8gICAgICBjb2xvcjogYmx1ZTtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEobW9iaWxlLCB0YWJsZXQpIHtcbi8vLyAgICAgIGNvbG9yOiBncmVlbjtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCwgJGFuZDogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScpIHtcbi8vLyAgICAgIGNvbG9yOiB0ZWFsO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSg5NTBweCkge1xuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKHRhYmxldCwgJG1lZGlhLXR5cGU6IHNjcmVlbikge1xuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XG4vLy8gICAgfVxuLy8vICAgIC8vIEFkdmFuY2VkIHVzZTpcbi8vLyAgICAkbXktYnJlYWtwb2ludHM6IChMOiA5MDBweCwgWEw6IDEyMDBweCk7XG4vLy8gICAgQGluY2x1ZGUgbXEoTCwgJGJyZWFrcG9pbnRzOiAkbXktYnJlYWtwb2ludHMsICRzdGF0aWMtYnJlYWtwb2ludDogTCkge1xuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XG4vLy8gICAgfVxuLy8vICB9XG5AbWl4aW4gbXEoXG4gICAgJGZyb206IGZhbHNlLFxuICAgICR1bnRpbDogZmFsc2UsXG4gICAgJGFuZDogZmFsc2UsXG4gICAgJG1lZGlhLXR5cGU6ICRtcS1tZWRpYS10eXBlLFxuICAgICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzLFxuICAgICRyZXNwb25zaXZlOiAkbXEtcmVzcG9uc2l2ZSxcbiAgICAkc3RhdGljLWJyZWFrcG9pbnQ6ICRtcS1zdGF0aWMtYnJlYWtwb2ludFxuKSB7XG4gICAgJG1pbi13aWR0aDogMDtcbiAgICAkbWF4LXdpZHRoOiAwO1xuICAgICRtZWRpYS1xdWVyeTogJyc7XG5cbiAgICAvLyBGcm9tOiB0aGlzIGJyZWFrcG9pbnQgKGluY2x1c2l2ZSlcbiAgICBAaWYgJGZyb20ge1xuICAgICAgICBAaWYgdHlwZS1vZigkZnJvbSkgPT0gbnVtYmVyIHtcbiAgICAgICAgICAgICRtaW4td2lkdGg6IG1xLXB4MmVtKCRmcm9tKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAkbWluLXdpZHRoOiBtcS1weDJlbShtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkZnJvbSwgJGJyZWFrcG9pbnRzKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBVbnRpbDogdGhhdCBicmVha3BvaW50IChleGNsdXNpdmUpXG4gICAgQGlmICR1bnRpbCB7XG4gICAgICAgIEBpZiB0eXBlLW9mKCR1bnRpbCkgPT0gbnVtYmVyIHtcbiAgICAgICAgICAgICRtYXgtd2lkdGg6IG1xLXB4MmVtKCR1bnRpbCk7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgJG1heC13aWR0aDogbXEtcHgyZW0obXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHVudGlsLCAkYnJlYWtwb2ludHMpKSAtIC4wMWVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBzdXBwb3J0IGlzIGRpc2FibGVkLCByYXN0ZXJpemUgdGhlIG91dHB1dCBvdXRzaWRlIEBtZWRpYSBibG9ja3NcbiAgICAvLyBUaGUgYnJvd3NlciB3aWxsIHJlbHkgb24gdGhlIGNhc2NhZGUgaXRzZWxmLlxuICAgIEBpZiAkcmVzcG9uc2l2ZSA9PSBmYWxzZSB7XG4gICAgICAgICRzdGF0aWMtYnJlYWtwb2ludC13aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHN0YXRpYy1icmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuICAgICAgICAkdGFyZ2V0LXdpZHRoOiBtcS1weDJlbSgkc3RhdGljLWJyZWFrcG9pbnQtd2lkdGgpO1xuXG4gICAgICAgIC8vIE91dHB1dCBvbmx5IHJ1bGVzIHRoYXQgc3RhcnQgYXQgb3Igc3BhbiBvdXIgdGFyZ2V0IHdpZHRoXG4gICAgICAgIEBpZiAoXG4gICAgICAgICAgICAkYW5kID09IGZhbHNlXG4gICAgICAgICAgICBhbmQgJG1pbi13aWR0aCA8PSAkdGFyZ2V0LXdpZHRoXG4gICAgICAgICAgICBhbmQgKFxuICAgICAgICAgICAgICAgICR1bnRpbCA9PSBmYWxzZSBvciAkbWF4LXdpZHRoID49ICR0YXJnZXQtd2lkdGhcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIGFuZCAkbWVkaWEtdHlwZSAhPSAncHJpbnQnXG4gICAgICAgICkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIHN1cHBvcnQgaXMgZW5hYmxlZCwgb3V0cHV0IHJ1bGVzIGluc2lkZSBAbWVkaWEgcXVlcmllc1xuICAgIEBlbHNlIHtcbiAgICAgICAgQGlmICRtaW4td2lkdGggIT0gMCB7ICRtZWRpYS1xdWVyeTogJyN7JG1lZGlhLXF1ZXJ5fSBhbmQgKG1pbi13aWR0aDogI3skbWluLXdpZHRofSknOyB9XG4gICAgICAgIEBpZiAkbWF4LXdpZHRoICE9IDAgeyAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kIChtYXgtd2lkdGg6ICN7JG1heC13aWR0aH0pJzsgfVxuICAgICAgICBAaWYgJGFuZCAgICAgICAgICAgIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAjeyRhbmR9JzsgfVxuXG4gICAgICAgIC8vIFJlbW92ZSB1bm5lY2Vzc2FyeSBtZWRpYSBxdWVyeSBwcmVmaXggJ2FsbCBhbmQgJ1xuICAgICAgICBAaWYgKCRtZWRpYS10eXBlID09ICdhbGwnIGFuZCAkbWVkaWEtcXVlcnkgIT0gJycpIHtcbiAgICAgICAgICAgICRtZWRpYS10eXBlOiAnJztcbiAgICAgICAgICAgICRtZWRpYS1xdWVyeTogc3RyLXNsaWNlKHVucXVvdGUoJG1lZGlhLXF1ZXJ5KSwgNik7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgI3skbWVkaWEtdHlwZSArICRtZWRpYS1xdWVyeX0ge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vLyBRdWljayBzb3J0XG4vLy9cbi8vLyBAYXV0aG9yIFNhbSBSaWNoYXJkc1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNvcnRcbi8vLyBAcmV0dXJucyB7TGlzdH0gU29ydGVkIExpc3RcbkBmdW5jdGlvbiBfbXEtcXVpY2stc29ydCgkbGlzdCkge1xuICAgICRsZXNzOiAgKCk7XG4gICAgJGVxdWFsOiAoKTtcbiAgICAkbGFyZ2U6ICgpO1xuXG4gICAgQGlmIGxlbmd0aCgkbGlzdCkgPiAxIHtcbiAgICAgICAgJHNlZWQ6IG50aCgkbGlzdCwgY2VpbChsZW5ndGgoJGxpc3QpIC8gMikpO1xuXG4gICAgICAgIEBlYWNoICRpdGVtIGluICRsaXN0IHtcbiAgICAgICAgICAgIEBpZiAoJGl0ZW0gPT0gJHNlZWQpIHtcbiAgICAgICAgICAgICAgICAkZXF1YWw6IGFwcGVuZCgkZXF1YWwsICRpdGVtKTtcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRpdGVtIDwgJHNlZWQpIHtcbiAgICAgICAgICAgICAgICAkbGVzczogYXBwZW5kKCRsZXNzLCAkaXRlbSk7XG4gICAgICAgICAgICB9IEBlbHNlIGlmICgkaXRlbSA+ICRzZWVkKSB7XG4gICAgICAgICAgICAgICAgJGxhcmdlOiBhcHBlbmQoJGxhcmdlLCAkaXRlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAcmV0dXJuIGpvaW4oam9pbihfbXEtcXVpY2stc29ydCgkbGVzcyksICRlcXVhbCksIF9tcS1xdWljay1zb3J0KCRsYXJnZSkpO1xuICAgIH1cblxuICAgIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBTb3J0IGEgbWFwIGJ5IHZhbHVlcyAod29ya3Mgd2l0aCBudW1iZXJzIG9ubHkpXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBzb3J0XG4vLy8gQHJldHVybnMge01hcH0gTWFwIHNvcnRlZCBieSB2YWx1ZVxuQGZ1bmN0aW9uIF9tcS1tYXAtc29ydC1ieS12YWx1ZSgkbWFwKSB7XG4gICAgJG1hcC1zb3J0ZWQ6ICgpO1xuICAgICRtYXAta2V5czogbWFwLWtleXMoJG1hcCk7XG4gICAgJG1hcC12YWx1ZXM6IG1hcC12YWx1ZXMoJG1hcCk7XG4gICAgJG1hcC12YWx1ZXMtc29ydGVkOiBfbXEtcXVpY2stc29ydCgkbWFwLXZhbHVlcyk7XG5cbiAgICAvLyBSZW9yZGVyIGtleS92YWx1ZSBwYWlycyBiYXNlZCBvbiBrZXkgdmFsdWVzXG4gICAgQGVhY2ggJHZhbHVlIGluICRtYXAtdmFsdWVzLXNvcnRlZCB7XG4gICAgICAgICRpbmRleDogaW5kZXgoJG1hcC12YWx1ZXMsICR2YWx1ZSk7XG4gICAgICAgICRrZXk6IG50aCgkbWFwLWtleXMsICRpbmRleCk7XG4gICAgICAgICRtYXAtc29ydGVkOiBtYXAtbWVyZ2UoJG1hcC1zb3J0ZWQsICgka2V5OiAkdmFsdWUpKTtcblxuICAgICAgICAvLyBVbnNldCB0aGUgdmFsdWUgaW4gJG1hcC12YWx1ZXMgdG8gcHJldmVudCB0aGUgbG9vcFxuICAgICAgICAvLyBmcm9tIGZpbmRpbmcgdGhlIHNhbWUgaW5kZXggdHdpY2VcbiAgICAgICAgJG1hcC12YWx1ZXM6IHNldC1udGgoJG1hcC12YWx1ZXMsICRpbmRleCwgMCk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkbWFwLXNvcnRlZDtcbn1cblxuLy8vIEFkZCBhIGJyZWFrcG9pbnRcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGJyZWFrcG9pbnRcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIC0gV2lkdGggb2YgdGhlIGJyZWFrcG9pbnRcbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICBAaW5jbHVkZSBtcS1hZGQtYnJlYWtwb2ludCh0dnNjcmVlbiwgMTkyMHB4KTtcbi8vLyAgQGluY2x1ZGUgbXEodHZzY3JlZW4pIHt9XG5AbWl4aW4gbXEtYWRkLWJyZWFrcG9pbnQoJG5hbWUsICR3aWR0aCkge1xuICAgICRuZXctYnJlYWtwb2ludDogKCRuYW1lOiAkd2lkdGgpO1xuICAgICRtcS1icmVha3BvaW50czogbWFwLW1lcmdlKCRtcS1icmVha3BvaW50cywgJG5ldy1icmVha3BvaW50KSAhZ2xvYmFsO1xuICAgICRtcS1icmVha3BvaW50czogX21xLW1hcC1zb3J0LWJ5LXZhbHVlKCRtcS1icmVha3BvaW50cykgIWdsb2JhbDtcbn1cblxuLy8vIFNob3cgdGhlIGFjdGl2ZSBicmVha3BvaW50IGluIHRoZSB0b3AgcmlnaHQgY29ybmVyIG9mIHRoZSB2aWV3cG9ydFxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjc2VlaW5nLXRoZS1jdXJyZW50bHktYWN0aXZlLWJyZWFrcG9pbnRcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHNob3ctYnJlYWtwb2ludHMgKCRtcS1zaG93LWJyZWFrcG9pbnRzKSAtIExpc3Qgb2YgYnJlYWtwb2ludHMgdG8gc2hvdyBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lclxuLy8vIEBwYXJhbSB7TWFwfSAkYnJlYWtwb2ludHMgKCRtcS1icmVha3BvaW50cykgLSBCcmVha3BvaW50IG5hbWVzIGFuZCBzaXplc1xuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLXNob3ctYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLy8gU2hvdyBicmVha3BvaW50cyB1c2luZyBnbG9iYWwgc2V0dGluZ3Ncbi8vLyAgQGluY2x1ZGUgbXEtc2hvdy1icmVha3BvaW50cztcbi8vL1xuLy8vICAvLyBTaG93IGJyZWFrcG9pbnRzIHVzaW5nIGN1c3RvbSBzZXR0aW5nc1xuLy8vICBAaW5jbHVkZSBtcS1zaG93LWJyZWFrcG9pbnRzKChMLCBYTCksIChTOiAzMDBweCwgTDogODAwcHgsIFhMOiAxMjAwcHgpKTtcbkBtaXhpbiBtcS1zaG93LWJyZWFrcG9pbnRzKCRzaG93LWJyZWFrcG9pbnRzOiAkbXEtc2hvdy1icmVha3BvaW50cywgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMpIHtcbiAgICBib2R5OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGQ0Y4RTM7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRkJFRUQ1O1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNGQkVFRDU7XG4gICAgICAgIGNvbG9yOiAjQzA5ODUzO1xuICAgICAgICBmb250OiBzbWFsbC1jYXB0aW9uO1xuICAgICAgICBwYWRkaW5nOiAzcHggNnB4O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB6LWluZGV4OiAxMDA7XG5cbiAgICAgICAgLy8gTG9vcCB0aHJvdWdoIHRoZSBicmVha3BvaW50cyB0aGF0IHNob3VsZCBiZSBzaG93blxuICAgICAgICBAZWFjaCAkc2hvdy1icmVha3BvaW50IGluICRzaG93LWJyZWFrcG9pbnRzIHtcbiAgICAgICAgICAgICR3aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHNob3ctYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRzaG93LWJyZWFrcG9pbnQsICRicmVha3BvaW50czogJGJyZWFrcG9pbnRzKSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCIjeyRzaG93LWJyZWFrcG9pbnR9IOKJpSAjeyR3aWR0aH0gKCN7bXEtcHgyZW0oJHdpZHRoKX0pXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpZiBsZW5ndGgoJG1xLXNob3ctYnJlYWtwb2ludHMpID4gMCB7XG4gICAgQGluY2x1ZGUgbXEtc2hvdy1icmVha3BvaW50cztcbn1cbiIsImgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG5cdGNvbG9yOiAkY29sb3ItaGVhZGluZztcblx0Zm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1oZWFkaW5nO1xuXHRmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWhlYWRpbmc7XG5cdG1hcmdpbi1ib3R0b206IHZyKDEvMik7XG5cblx0YSB7XG5cdFx0Y29sb3I6IGluaGVyaXQ7XG5cdH1cbn1cblxuaDEge1xuXHRAaW5jbHVkZSBmb250LXNpemUoJGgxKTtcbn1cblxuaDIge1xuXHRAaW5jbHVkZSBmb250LXNpemUoJGgyKTtcbn1cblxuaDMge1xuXHRAaW5jbHVkZSBmb250LXNpemUoJGgzKTtcbn1cblxuaDQge1xuXHRAaW5jbHVkZSBmb250LXNpemUoJGg0KTtcbn1cblxuaDUge1xuXHRAaW5jbHVkZSBmb250LXNpemUoJGg1KTtcbn1cblxuaDYge1xuXHRAaW5jbHVkZSBmb250LXNpemUoJGg2KTtcbn1cbiIsIi8vIEdlbmVyYXRlcyBhIHJlbSBmb250LXNpemUgYW5kIGEgYmFzZWxpbmUtY29tcGF0aWJsZVxuLy8gdW5pdGxlc3MgbGluZS1oZWlnaHQgZnJvbSBhIHBpeGVsIGZvbnQtc2l6ZSB2YWx1ZS4gQmFzaWMgdXNhZ2UgaXMgc2ltcGx5OlxuLy9cbi8vICAgQGluY2x1ZGUgZm9udC1zaXplKDE4cHgpO1xuLy9cbi8vIFlvdSBjYW4gZm9yY2UgYSBzcGVjaWZpYyBsaW5lLWhlaWdodCBieSBwYXNzaW5nIGl0IGFzIHRoZSBzZWNvbmQgYXJndW1lbnQ6XG4vL1xuLy8gICBAaW5jbHVkZSBmb250LXNpemUoMTZweCwgMSk7XG4vL1xuLy8gWW91IGNhbiBhbHNvIG1vZGlmeSB0aGUgbGluZS1oZWlnaHQgYnkgaW5jcmVtZW50cywgd2hpbGUgc3RheWluZyBpbiB0aGVcbi8vIGJhc2VsaW5lIGdyaWQsIGJ5IHNldHRpbmcgdGhlIGAkbW9kaWZpZXJgIHBhcmFtZXRlci4gSXQgdGFrZXMgYSBwb3NpdGl2ZVxuLy8gb3IgbmVnYXRpdmUgaW50ZWdlciwgYW5kIGl0IHdpbGwgYWRkIG9yIHJlbW92ZSBcImxpbmVzXCIgdG8gdGhlICBnZW5lcmF0ZWRcbi8vIGxpbmUtaGVpZ2h0LiBUaGlzIGlzIHRoZSByZWNvbWVuZGVkIHdheSB0byBkbyBpdCwgdW5sZXNzIHlvdSByZWFsbHkgbmVlZFxuLy8gYW4gYWJzb2x1dGUgdmFsdWUuIGkuZS46XG4vL1xuLy8gICAvLyBhZGQgMiBsaW5lczpcbi8vICAgQGluY2x1ZGUgZm9udC1zaXplKDI0cHgsICRtb2RpZmllcjogKzIpO1xuLy9cbi8vICAgLy8gc3VidHJhY3QgMSBsaW5lOlxuLy8gICBAaW5jbHVkZSBmb250LXNpemUoMjRweCwgJG1vZGlmaWVyOiAtMSk7XG5cbkBtaXhpbiBmb250LXNpemUoXG5cdCRmb250LXNpemUsXG5cdCRsaW5lLWhlaWdodDogYXV0byxcblx0JG1vZGlmaWVyOiAwLFxuXHQkaW1wb3J0YW50OiBmYWxzZVxuKSB7XG5cdEBpZiAodHlwZS1vZigkZm9udC1zaXplKSA9PSBtYXApIHtcblx0XHRAZWFjaCAkYnJlYWtwb2ludCwgJHNpemUgaW4gJGZvbnQtc2l6ZSB7XG5cblx0XHRcdCRfZm9udC1zaXplOiBpZih0eXBlLW9mKCRzaXplKSA9PSBsaXN0LCBudGgoJHNpemUsIDEpLCAkc2l6ZSk7XG5cdFx0XHQkX2xpbmUtaGVpZ2h0OiBpZih0eXBlLW9mKCRzaXplKSA9PSBsaXN0IGFuZCBsZW5ndGgoJHNpemUpID49IDIsIG50aCgkc2l6ZSwgMiksIGF1dG8pO1xuXHRcdFx0JF9tb2RpZmllcjogaWYodHlwZS1vZigkc2l6ZSkgPT0gbGlzdCBhbmQgbGVuZ3RoKCRzaXplKSA9PSAzLCBudGgoJHNpemUsIDMpLCAwKTtcblxuXHRcdFx0QGlmICgkYnJlYWtwb2ludCA9PSBudWxsKSB7XG5cdFx0XHRcdEBpbmNsdWRlIF9nZXQtZm9udC1zaXplKCRfZm9udC1zaXplLCAkX2xpbmUtaGVpZ2h0LCAkX21vZGlmaWVyKTtcblx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHRAaW5jbHVkZSBtcSgkYnJlYWtwb2ludCkge1xuXHRcdFx0XHRcdEBpbmNsdWRlIF9nZXQtZm9udC1zaXplKCRfZm9udC1zaXplLCAkX2xpbmUtaGVpZ2h0LCAkX21vZGlmaWVyKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHR9IEBlbHNlIHtcblx0XHRAaW5jbHVkZSBfZ2V0LWZvbnQtc2l6ZSgkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRtb2RpZmllciwgJGltcG9ydGFudCk7XG5cdH1cbn1cblxuLy8gVGhlIGludGVybmFsIGxvZ2ljIGZvciB0aGUgZm9udC1zaXplKCkgbWl4aW4uXG5AbWl4aW4gX2dldC1mb250LXNpemUoXG5cdCRmb250LXNpemUsXG5cdCRsaW5lLWhlaWdodDogYXV0byxcblx0JG1vZGlmaWVyOiAwLFxuXHQkaW1wb3J0YW50OiBmYWxzZVxuKSB7XG5cdEBpZiAodHlwZS1vZigkZm9udC1zaXplKSA9PSBudW1iZXIpIHtcblx0XHRAaWYgKHVuaXQoJGZvbnQtc2l6ZSkgIT0gXCJweFwiKSB7XG5cdFx0XHRAZXJyb3IgXCJgI3skZm9udC1zaXplfWAgbmVlZHMgdG8gYmUgYSBwaXhlbCB2YWx1ZS5cIjtcblx0XHR9XG5cdH0gQGVsc2Uge1xuXHRcdEBlcnJvciBcImAjeyRmb250LXNpemV9YCBuZWVkcyB0byBiZSBhIG51bWJlci5cIjtcblx0fVxuXG5cdEBpZiAoJGltcG9ydGFudCA9PSB0cnVlKSB7XG5cdFx0JGltcG9ydGFudDogIWltcG9ydGFudDtcblx0fSBAZWxzZSBpZiAoJGltcG9ydGFudCA9PSBmYWxzZSkge1xuXHRcdCRpbXBvcnRhbnQ6IG51bGw7XG5cdH0gQGVsc2Uge1xuXHRcdEBlcnJvciBcImAjeyRpbXBvcnRhbnR9YCBuZWVkcyB0byBiZSBgdHJ1ZWAgb3IgYGZhbHNlYC5cIjtcblx0fVxuXG5cdC8vIE91dHB1dCB0aGUgZm9udCBzaXplLlxuXHRmb250LXNpemU6ICRmb250LXNpemUgJGltcG9ydGFudDtcblxuXHRAaWYgKCRsaW5lLWhlaWdodCA9PSBcImF1dG9cIikge1xuXG5cdFx0Ly8gRGVmaW5lIGhvdyBtYW55IGdyaWQgbGluZXMgZWFjaCB0ZXh0IGxpbmUgc2hvdWxkIHNwYW4uXG5cdFx0Ly8gQnkgZGVmYXVsdCwgd2Ugc2V0IGl0IHRvIHRoZSBtaW5pbXVtIG51bWJlciBvZiBsaW5lcyBuZWNlc3Nhcnlcblx0XHQvLyBpbiBvcmRlciB0byBjb250YWluIHRoZSBkZWZpbmVkIGZvbnQtc2l6ZSwgKzEgZm9yIHNvbWUgYnJlYXRoaW5nIHJvb20uXG5cdFx0Ly8gVGhpcyBjYW4gYmUgbW9kaWZpZWQgd2l0aCB0aGUgYCRtb2RpZmllcmAgcGFyYW1ldGVyLlxuXHRcdCRsaW5lczogY2VpbCgkZm9udC1zaXplIC8gJGdsb2JhbC1iYXNlbGluZSkgKyAkbW9kaWZpZXIgKyAxO1xuXHRcdCRsaW5lLWhlaWdodDogJGxpbmVzICogJGdsb2JhbC1iYXNlbGluZTtcblxuXHRcdGxpbmUtaGVpZ2h0OiAoJGxpbmUtaGVpZ2h0IC8gJGZvbnQtc2l6ZSkgJGltcG9ydGFudDtcblxuXHR9IEBlbHNlIHtcblxuXHRcdEBpZiAodHlwZS1vZigkbGluZS1oZWlnaHQpID09IG51bWJlciBvciAkbGluZS1oZWlnaHQgPT0gXCJpbmhlcml0XCIgb3IgJGxpbmUtaGVpZ2h0ID09IFwibm9ybWFsXCIpIHtcblx0XHRcdGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQgJGltcG9ydGFudDtcblx0XHR9IEBlbHNlIGlmICgkbGluZS1oZWlnaHQgIT0gXCJub25lXCIgYW5kICRsaW5lLWhlaWdodCAhPSBmYWxzZSkge1xuXHRcdFx0QGVycm9yIFwiROKAmW9oISBgI3skbGluZS1oZWlnaHR9YCBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgYCRsaW5lLWhlaWdodGAuXCI7XG5cdFx0fVxuXHR9XG59XG4iLCJhIHtcblx0Y29sb3I6ICRjb2xvci1saW5rO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRyYW5zaXRpb246IGFsbCAkZ2xvYmFsLXRyYW5zaXRpb24tZHVyYXRpb24gJGdsb2JhbC10cmFuc2l0aW9uLXR5cGU7XG5cblx0Jjpob3Zlcixcblx0Jjpmb2N1cyxcblx0JjphY3RpdmUge1xuXHRcdGNvbG9yOiAkY29sb3ItbGluay1ob3Zlcjtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmU6IDFweCBkb3R0ZWQ7XG5cdH1cblxuXHQmOmhvdmVyLFxuXHQmOmFjdGl2ZSB7XG5cdFx0b3V0bGluZTogMDtcblx0fVxufVxuIiwiYmxvY2txdW90ZSB7XG5cdGNvbG9yOiAkY29sb3ItYmxvY2txdW90ZTtcblx0bWFyZ2luLWJvdHRvbTogdnIoMSk7XG5cblx0cCB7XG5cdFx0QGluY2x1ZGUgZm9udC1zaXplKCRoMyk7XG5cdH1cblxuXHRwOmxhc3Qtb2YtdHlwZSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogdnIoMS80KTtcblx0fVxufVxuIiwidWwsXG5vbCB7XG5cdG1hcmdpbi1ib3R0b206IHZyKDEpO1xuXHRtYXJnaW4tbGVmdDogdnIoMS41KTtcbn1cblxudWwge1xuXHRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG59XG5cbm9sIHtcblx0bGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsO1xufVxuXG5saSA+IHtcblxuXHRvbCxcblx0dWwge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cbn1cblxuZGwge1xuXHRtYXJnaW4tYm90dG9tOiB2cigxKTtcbn1cblxuZGQge1xuXHRtYXJnaW4tYm90dG9tOiB2cigxLzQpO1xuXHRtYXJnaW4tbGVmdDogdnIoMS8yKTtcbn1cblxuZHQge1xuXHRmb250LXdlaWdodDogNzAwO1xufVxuIiwiaHIge1xuXHRib3JkZXI6IDA7XG5cdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkY29sb3ItaHI7XG5cdGNsZWFyOiBib3RoO1xuXHRoZWlnaHQ6IDA7XG5cdG1hcmdpbi1ib3R0b206IHZyKDIpO1xuXHRtYXJnaW4tdG9wOiB2cigyKTtcbn1cbiIsInRhYmxlIHtcblx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcblx0Ym9yZGVyLXNwYWNpbmc6IDA7XG5cdGVtcHR5LWNlbGxzOiBzaG93O1xuXHRtYXJnaW4tYm90dG9tOiB2cigxKTtcblx0bWF4LXdpZHRoOiAxMDAlO1xuXHR3aWR0aDogMTAwJTtcbn1cblxudGgsXG50ZCB7XG5cdHBhZGRpbmc6IHZyKDMvNCk7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cblx0dGZvb3QgJiB7XG5cdFx0Y29sb3I6ICRjb2xvci1ncmV5LTUwMDtcblx0fVxufVxuIiwiLyoqXG4gKiAxLiBGbHVpZCBpbWFnZXMgZm9yIHJlc3BvbnNpdmUgcHVycG9zZXMuXG4gKiAyLiBPZmZzZXQgYGFsdGAgdGV4dCBmcm9tIHN1cnJvdW5kaW5nIGNvcHkuXG4gKiAzLiBTZXR0aW5nIGB2ZXJ0aWNhbC1hbGlnbmAgcmVtb3ZlcyB0aGUgd2hpdGVzcGFjZSB0aGF0IGFwcGVhcnMgdW5kZXIgYGltZ2BcbiAqICAgIGVsZW1lbnRzIHdoZW4gdGhleSBhcmUgZHJvcHBlZCBpbnRvIGEgcGFnZSBhcy1pcy4gU2FmZXIgYWx0ZXJuYXRpdmUgdG9cbiAqICAgIHVzaW5nIGBkaXNwbGF5OiBibG9jaztgLlxuICovXG5cbmltZyB7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYzsgLyogWzJdICovXG5cdGhlaWdodDogYXV0bztcblx0bWF4LXdpZHRoOiAxMDAlOyAvKiBbMV0gKi9cblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTsgLyogWzNdICovXG59XG5cbi8vLyBNYWtlIHN1cmUgZW1iZWRzIGFuZCBpZnJhbWVzIGZpdCB0aGVpciBjb250YWluZXJzLlxuZW1iZWQsXG5pZnJhbWUsXG5vYmplY3Qge1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbmZpZ3VyZSB7XG5cdG1hcmdpbjogMCAwIHZyKDEpO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRpbWcge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0fVxufVxuXG5maWdjYXB0aW9uIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKDE0cHgsICRtb2RpZmllcjogLTEpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdG1hcmdpbi10b3A6IHZyKDEvNCk7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0d2lkdGg6IDEwMCU7XG59XG4iLCJjb2RlLFxua2JkLFxucHJlLFxuc2FtcCxcbnZhciB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSgxNHB4KTtcblx0Zm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG59XG5cbmNvZGUsXG5rYmQsXG5tYXJrLFxuc2FtcCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1jb2RlLWJhY2tncm91bmQ7XG5cdGNvbG9yOiAkY29sb3ItY29kZTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRsaW5lLWhlaWdodDogMTtcblx0cGFkZGluZzogdnIoMS80KTtcbn1cblxucHJlIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKDE1cHgpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItY29kZS1iYWNrZ3JvdW5kO1xuXHRjb2xvcjogJGNvbG9yLWNvZGU7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW4tYm90dG9tOiB2cigxKTtcblx0b3ZlcmZsb3c6IGF1dG87XG5cdHBhZGRpbmc6IHZyKDEpO1xuXHR3aGl0ZS1zcGFjZTogcHJlO1xuXG5cdGNvZGUge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdGZvbnQtc2l6ZTogaW5oZXJpdDtcblx0XHRsaW5lLWhlaWdodDogaW5oZXJpdDtcblx0XHRwYWRkaW5nOiAwO1xuXHR9XG59XG4iLCIvLyAxLiBSZXNldCBDaHJvbWUgYW5kIEZpcmVmb3ggYmVoYXZpb3VyIHdoaWNoIHNldHMgYSBgbWluLXdpZHRoOiBtaW4tY29udGVudDtgXG4vLyBvbiBmaWVsZHNldHMuXG5maWVsZHNldCB7XG5cdGJvcmRlcjogMDtcblx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XG5cdG1hcmdpbi1ib3R0b206IHZyKDEpO1xuXHRtaW4td2lkdGg6IDA7IC8qIFsxXSAqL1xufVxuXG5sZWdlbmQge1xuXHRmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWZvcm0tbGVnZW5kO1xuXHRtYXJnaW4tYm90dG9tOiB2cigxLzIpO1xufVxuXG5bdHlwZT1cInRleHRcIl0sXG5bdHlwZT1cImVtYWlsXCJdLFxuW3R5cGU9XCJ1cmxcIl0sXG5bdHlwZT1cInBhc3N3b3JkXCJdLFxuW3R5cGU9XCJzZWFyY2hcIl0sXG5bdHlwZT1cIm51bWJlclwiXSxcblt0eXBlPVwidGVsXCJdLFxuW3R5cGU9XCJyYW5nZVwiXSxcblt0eXBlPVwiZGF0ZVwiXSxcblt0eXBlPVwibW9udGhcIl0sXG5bdHlwZT1cIndlZWtcIl0sXG5bdHlwZT1cInRpbWVcIl0sXG5bdHlwZT1cImRhdGV0aW1lXCJdLFxuW3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcblt0eXBlPVwiY29sb3JcIl0sXG50ZXh0YXJlYSxcbnNlbGVjdCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1mb3JtLWlucHV0LWJhY2tncm91bmQ7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1mb3JtLWlucHV0LWJvcmRlcjtcblx0Ym9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cdGNvbG9yOiAkY29sb3ItZm9ybS1pbnB1dDtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuXHRoZWlnaHQ6IHZyKDEuNzUpO1xuXHRvdXRsaW5lOiBub25lO1xuXHRwYWRkaW5nOiB2cigxLzQpIHZyKDEvMik7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG5zZWxlY3RbbXVsdGlwbGVdIHtcblx0aGVpZ2h0OiBhdXRvO1xuXHRwYWRkaW5nOiB2cigxLzQpIHZyKDEvMik7XG59XG5cbnRleHRhcmVhIHtcblx0aGVpZ2h0OiBhdXRvO1xuXHRwYWRkaW5nOiB2cigxLzIpO1xuXHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG5bdHlwZT1cImZpbGVcIl0ge1xuXHRiYWNrZ3JvdW5kOiBub25lO1xuXHRib3JkZXI6IG5vbmU7XG5cdGJveC1zaGFkb3c6IG5vbmU7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0aGVpZ2h0OiBhdXRvO1xuXHRwYWRkaW5nOiAwO1xuXHR3aWR0aDogYXV0bztcbn1cblxuW3R5cGU9XCJyYWRpb1wiXSxcblt0eXBlPVwiY2hlY2tib3hcIl0ge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdGhlaWdodDogYXV0bztcblx0cGFkZGluZzogMDtcblx0d2lkdGg6IGF1dG87XG5cblx0JiArICYge1xuXHRcdG1hcmdpbi1sZWZ0OiB2cigxLzIpO1xuXHR9XG5cblx0KyBsYWJlbCB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdG1hcmdpbi1sZWZ0OiB2cigxLzQpO1xuXHR9XG59XG5cbmlucHV0LFxudGV4dGFyZWEsXG5zZWxlY3Qge1xuXG5cdCY6Zm9jdXMge1xuXHRcdGJvcmRlci1jb2xvcjogJGNvbG9yLWZvcm0taW5wdXQtYm9yZGVyLWZvY3VzO1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdH1cblxuXHQmOmRpc2FibGVkIHtcblx0XHRjb2xvcjogJGNvbG9yLWdyZXktNTAwO1xuXHRcdGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cdFx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRcdG9wYWNpdHk6IDAuMztcblx0XHRyZXNpemU6IG5vbmU7XG5cdH1cbn1cblxubGFiZWwge1xuXHRjb2xvcjogJGNvbG9yLWZvcm0tbGFiZWw7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWZvcm0tbGFiZWw7XG5cdG1hcmdpbi1ib3R0b206IHZyKDEvNCk7XG59XG5cblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcblx0QGluY2x1ZGUgYnV0dG9uO1xuXHRAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLWJ1dHRvbi1iYWNrZ3JvdW5kLCAkY29sb3ItYnV0dG9uKTtcbn1cbiIsIkBtaXhpbiBidXR0b24oKSB7XG5cdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblx0LW1vei1hcHBlYXJhbmNlOiBub25lO1xuXHRib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0Ym9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRmb250OiBpbmhlcml0O1xuXHRsaW5lLWhlaWdodDogMTtcblx0cGFkZGluZzogdnIoMS8yKSB2cigzLzQpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0dHJhbnNpdGlvbjogYWxsICRnbG9iYWwtdHJhbnNpdGlvbi1kdXJhdGlvbiAkZ2xvYmFsLXRyYW5zaXRpb24tdHlwZTtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuXG5AbWl4aW4gYnV0dG9uLXN0eWxlKFxuXHQkYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnksXG5cdCRjb2xvcjogJGNvbG9yLXdoaXRlLFxuXHQkYmFja2dyb3VuZC1jb2xvci1ob3ZlcjogbnVsbCxcblx0JGNvbG9yLWhvdmVyOiBudWxsLFxuXHQkYm9yZGVyOiBudWxsLFxuXHQkYm9yZGVyLWhvdmVyOiBudWxsXG4pIHtcblx0QGlmICRiYWNrZ3JvdW5kLWNvbG9yIHtcblx0XHQkYmFja2dyb3VuZC1jb2xvci1ob3ZlcjogaWYoJGJhY2tncm91bmQtY29sb3ItaG92ZXIsICRiYWNrZ3JvdW5kLWNvbG9yLWhvdmVyLCBkYXJrZW4oJGJhY2tncm91bmQtY29sb3IsIDEwJSkpO1xuXHR9XG5cblx0QGlmICRjb2xvciB7XG5cdFx0JGNvbG9yLWhvdmVyOiBpZigkY29sb3ItaG92ZXIsICRjb2xvci1ob3ZlciwgJGNvbG9yKTtcblx0fVxuXG5cdGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuXHRjb2xvcjogJGNvbG9yO1xuXG5cdCY6aG92ZXIsXG5cdCY6Zm9jdXMge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yLWhvdmVyO1xuXHRcdGNvbG9yOiAkY29sb3ItaG92ZXI7XG5cdH1cbn1cbiIsImFkZHJlc3Mge1xuXHRtYXJnaW4tYm90dG9tOiB2cigxKTtcbn1cblxuZGZuLFxuY2l0ZSxcbmVtLFxuaSB7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuY2l0ZSB7XG5cdGNvbG9yOiAkY29sb3ItY2l0ZTtcblx0Zm9udC1zaXplOiAyMnB4O1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG59XG4iLCJAa2V5ZnJhbWVzIGZhZGVpbiB7XG5cblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXG5cdHRvIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG59XG4iLCIuZ3JpZCB7XG5cdEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHR9XG59XG5cbi5ncmlkLS0yIHtcblxuXHQuZW50cnkge1xuXHRcdEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuXHRcdFx0QGluY2x1ZGUgbnRoLWdyaWQoMiwgJGd1dHRlcjogdnIoMSksICRzZWxlY3RvcjogdHlwZSk7XG5cdFx0fVxuXHR9XG59XG5cbi5ncmlkLS0zIHtcblxuXHQuZW50cnkge1xuXHRcdEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuXHRcdFx0QGluY2x1ZGUgbnRoLWdyaWQoMywgJGd1dHRlcjogdnIoMSksICRzZWxlY3RvcjogdHlwZSk7XG5cdFx0fVxuXHR9XG59XG5cbi5ncmlkLS00IHtcblxuXHQuZW50cnkge1xuXHRcdEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuXHRcdFx0QGluY2x1ZGUgbnRoLWdyaWQoNCwgJGd1dHRlcjogdnIoMSksICRzZWxlY3RvcjogdHlwZSk7XG5cdFx0fVxuXHR9XG59XG5cbi5ncmlkLS1hdXRvIHtcblx0QGluY2x1ZGUgbXEobWVkaXVtKSB7XG5cblx0XHQ+ICoge1xuXHRcdFx0ZmxleDogMSAxIDA7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IHZyKDEpO1xuXG5cdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCJAbWl4aW4gX250aC1ncmlkLW51bWJlcihcbiAgICAkbGF5b3V0LFxuICAgICRndXR0ZXIsXG4gICAgJHNlbGVjdG9yLFxuICAgICR2ZXJ0aWNhbFxuKSB7XG4gICRtZWFzdXJlOiBpZigkdmVydGljYWwsIGhlaWdodCwgd2lkdGgpO1xuICAkcG9zaXRpb246IF9ndXR0ZXItcG9zaXRpb24oJHZlcnRpY2FsKTtcbiAgJG50aC1zZWxlY3RvcjogaWYoJHNlbGVjdG9yID09IGNoaWxkLCBudGgtY2hpbGQsIG50aC1vZi10eXBlKTtcblxuICBAaWYgdW5pdGxlc3MoJGxheW91dCkge1xuICAgIEBpZiAkbGF5b3V0ICE9IDEge1xuICAgICAgJjojeyRudGgtc2VsZWN0b3J9KG4pIHtcbiAgICAgICAgI3skbWVhc3VyZX06IF9jZWxsLXNpemUoJGxheW91dCwgMSwgJGd1dHRlcik7XG4gICAgICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06ICRndXR0ZXI7XG4gICAgICB9XG5cbiAgICAgICY6I3skbnRoLXNlbGVjdG9yfSgjeyRsYXlvdXR9bikge1xuICAgICAgICBtYXJnaW4tI3skcG9zaXRpb259OiAwO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAmOiN7JG50aC1zZWxlY3Rvcn0obikge1xuICAgICAgICAjeyRtZWFzdXJlfTogMTAwJTtcbiAgICAgICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnSWYgdXNpbmcgYSBzaW5nbGUgdmFsdWUgaXQgc2hvdWxkIGJlIGEgc2luZ2xlIHVuaXRsZXNzIG51bWJlci4nO1xuICB9XG59XG4iLCIvKipcbiAqIFBsYWNlIGFueSBpbWFnZSBhbmQgdGV4dC1saWtlIGNvbnRlbnQgc2lkZS1ieS1zaWRlLCBhcyBwZXI6XG4gKiBodHRwOi8vd3d3LnN0dWJib3JuZWxsYS5vcmcvY29udGVudC8yMDEwLzA2LzI1L3RoZS1tZWRpYS1vYmplY3Qtc2F2ZXMtaHVuZHJlZHMtb2YtbGluZXMtb2YtY29kZVxuICovXG5cbi5vLW1lZGlhIHtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdGRpc3BsYXk6IGZsZXg7XG59XG5cbi5vLW1lZGlhX19pbWcge1xuXHRtYXJnaW4tcmlnaHQ6IHZyKDEpO1xuXG5cdD4gaW1nIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxufVxuXG4uby1tZWRpYV9fYm9keSB7XG5cdGZsZXg6IDE7XG5cblx0Jixcblx0PiA6bGFzdC1jaGlsZCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxufVxuXG4vKiBSZXZlcnNlZCBtZWRpYSBvYmplY3RzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uby1tZWRpYS0tcmV2ZXJzZSB7XG5cblx0PiAuby1tZWRpYV9faW1nIHtcblx0XHRtYXJnaW4tbGVmdDogdnIoMSk7XG5cdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHR9XG59XG5cbi8qIEd1dHRlcmxlc3MgbWVkaWEgb2JqZWN0c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLm8tbWVkaWEtLWZsdXNoIHtcblxuXHQ+IC5vLW1lZGlhX19pbWcge1xuXHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdG1hcmdpbi1yaWdodDogMDtcblx0fVxufVxuIiwiLyoqXG4gKiBQYWdlLWxldmVsIGNvbnN0cmFpbmluZyBhbmQgd3JhcHBpbmcgZWxlbWVudHMuXG4gKi9cblxuLndyYXBwZXIge1xuXHRAaW5jbHVkZSB3cmFwcGVyKCRnbG9iYWwtd2lkdGgpO1xuXG5cdCYtLW5hcnJvdyB7XG5cdFx0QGluY2x1ZGUgd3JhcHBlcigkZ2xvYmFsLXdpZHRoLW5hcnJvdywgJG1hcmdpbjogbnVsbCk7XG5cdH1cblxuXHQmLS13aWRlIHtcblx0XHRAaW5jbHVkZSB3cmFwcGVyKCRnbG9iYWwtd2lkdGgtd2lkZSwgJG1hcmdpbjogbnVsbCk7XG5cdH1cblxuXHQmLS1mdWxsIHtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdH1cblxuXHQmLS1mbHVzaCB7XG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdH1cbn1cbiIsIkBtaXhpbiB3cmFwcGVyKFxuXHQkd2lkdGg6ICRnbG9iYWwtd2lkdGgsXG5cdCRtYXJnaW46IGF1dG8sXG5cdCRwYWRkaW5nOiBudWxsXG4pIHtcblx0bWFyZ2luLWxlZnQ6ICRtYXJnaW47XG5cdG1hcmdpbi1yaWdodDogJG1hcmdpbjtcblx0bWF4LXdpZHRoOiByZW0oJHdpZHRoKTtcblx0cGFkZGluZy1sZWZ0OiAkcGFkZGluZztcblx0cGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG59XG4iLCIuYXBwIHtcblx0YW5pbWF0aW9uOiBmYWRlaW4gMC41cztcbn1cbiIsIi5hcHAtaGVhZGVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuXHRoZWlnaHQ6IDE3NXB4O1xuXHRwYWRkaW5nOiB2cigxLzIpIHZyKDEpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0QGluY2x1ZGUgbXEobWVkaXVtKSB7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdHBhZGRpbmc6IHZyKDEpIHZyKDEpO1xuXHR9XG5cblx0Jl9fd3JhcHBlciB7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cblx0XHRAaW5jbHVkZSBtcShtZWRpdW0pIHtcblx0XHRcdEBpbmNsdWRlIGNsZWFyZml4O1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0fVxuXHR9XG5cblx0Jl9fYnJhbmRpbmcge1xuXHRcdG1hcmdpbi1ib3R0b206IHZyKDEpO1xuXHRcdG1hcmdpbi1yaWdodDogdnIoMSk7XG5cdFx0d2lkdGg6IDE1MHB4O1xuXG5cdFx0QGluY2x1ZGUgbXEobWVkaXVtKSB7XG5cdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHR3aWR0aDogMTIwcHg7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbXEobGFyZ2UpIHtcblx0XHRcdHdpZHRoOiAyMDBweDtcblx0XHR9XG5cdH1cblxuXHQmX19sb2dvIHtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblxuXHQmX19sb2dvLWxpbmsge31cblxuXHQmX190aXRsZSB7XG5cdFx0Y29sb3I6ICRjb2xvci1oZWFkZXItdGl0bGU7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxuXG5cdCZfX3RpdGxlLWxpbmsge1xuXHRcdGNvbG9yOiBpbmhlcml0O1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0fVxuXG5cdCZfX2Rlc2NyaXB0aW9uIHt9XG59XG5cbi5ub3RpY2Uge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc2Vjb25kYXJ5O1xuXHRwYWRkaW5nLWJvdHRvbTogdnIoMSk7XG5cdHBhZGRpbmctdG9wOiB2cigxKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdHAge1xuXHRcdGNvbG9yOiAkY29sb3Itb2ZmLXdoaXRlO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjI1O1xuXHRcdG1hcmdpbi1ib3R0b206IHZyKDEvNCk7XG5cblx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHR9XG5cdH1cblx0LnAtYm9sZHtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRmb250LXNpemU6IHgtbGFyZ2U7XG5cblx0fVxufSIsIi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG5cblx0Jjo6YmVmb3JlLFxuXHQmOjphZnRlciB7XG5cdFx0Y29udGVudDogXCJcIjtcblx0XHRkaXNwbGF5OiB0YWJsZTtcblx0XHRmbGV4LWJhc2lzOiAwO1xuXHRcdG9yZGVyOiAxO1xuXHR9XG5cblx0Jjo6YWZ0ZXIge1xuXHRcdGNsZWFyOiBib3RoO1xuXHR9XG59XG4iLCIuYXBwLWNvbnRlbnQge1xuXHRwYWRkaW5nOiB2cigyKSB2cigxKSB2cigzKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoICcuLi9zdmcvc2luZ2xlLXRyZWUuc3ZnJyApO1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQwJSBib3R0b207XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtc2l6ZTogODAlO1xuXG5cdEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuXHRcdHBhZGRpbmctYm90dG9tOiAxNzBweDtcblx0fVxuXG5cdC5ob21lICYge1xuXHRcdHBhZGRpbmctdG9wOiAwO1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG5cdH1cbn1cbiIsIi5hcHAtZm9vdGVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XG5cdGNvbG9yOiAkY29sb3Itd2hpdGU7XG5cdHBhZGRpbmc6IHZyKDEpIHZyKDEpIDAgdnIoMSk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRhIHtcblx0XHRjb2xvcjogJGNvbG9yLXdoaXRlO1xuXHR9XG5cblx0Jl9fd3JhcHBlciB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdHBhZGRpbmctYm90dG9tOiB2cigxKTtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cblx0XHRAaW5jbHVkZSBtcShsYXJnZSkge1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHR9XG5cdH1cblxuXHQmX193cmFwcGVyOjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6IHVybCgnLi4vc3ZnL211bHRpcGxlLXRyZWVzLnN2ZycpO1xuXHRcdGhlaWdodDogYXV0bztcblx0XHR3aWR0aDogMjAwcHg7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogLTEyNXB4O1xuXHRcdGxlZnQ6IDA7XG5cblx0XHRAaW5jbHVkZSBtcShtZWRpdW0pIHtcblx0XHRcdHdpZHRoOiAyOTBweDtcblx0XHRcdHRvcDogLTE2N3B4O1xuXHRcdH1cblx0fVxuXG5cdCZfX2xlZnQge1xuXG5cdFx0QGluY2x1ZGUgbXEobWVkaXVtKSB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IHZyKDEpO1xuXHRcdH1cblx0fVxuXG5cdCZfX2NvbnRhY3Qge1xuXHRcdGNvbG9yOiAkY29sb3Itd2hpdGU7XG5cdFx0Zm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1oZWFkaW5nO1xuXHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRtYXJnaW4tYm90dG9tOiB2cigxLzIpO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHR9XG5cdH1cblxuXHQmX19jcmVkaXQge1xuXHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSgxNHB4KTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc2Vjb25kYXJ5O1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdHBhZGRpbmc6IHZyKDEvNCk7XG5cdH1cblxuXHQmX19sb2dvcyB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0XHRpbWcge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IHZyKDEvNCk7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IHZyKDEvNCk7XG5cdFx0XHRtYXgtaGVpZ2h0OiAxMjBweDtcblx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdH1cblx0fVxuXG5cdC5jYXJhdmFuaW5nLWNhbXBpbmctbG9nbyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuXHRcdHBhZGRpbmc6IDVweDtcblx0XHR3aWR0aDogNjVweDtcblx0fVxuXG5cdCZfX2NvbnRhY3QtaXRlbSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cblx0XHRAaW5jbHVkZSBtcShtZWRpdW0pIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZTtcblx0XHR9XG5cdH1cblxuXHQmX19jb250YWN0LWl0ZW0gKyAmX19jb250YWN0LWl0ZW0ge1xuXG5cdFx0QGluY2x1ZGUgbXEobWVkaXVtKSB7XG5cdFx0XHRib3JkZXItbGVmdDogMnB4IHNvbGlkICRjb2xvci10ZXJ0aWFyeTtcblx0XHRcdG1hcmdpbi1sZWZ0OiB2cigxLzIpO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiB2cigxLzIpO1xuXHRcdH1cblx0fVxufVxuIiwiLmFyY2hpdmUtaGVhZGVyIHtcblx0ZmxleDogMCAwIDEwMCU7XG5cdG1hcmdpbi1ib3R0b206IHZyKDIpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0Jl9fdGl0bGUge31cblxuXHQmX19kZXNjcmlwdGlvbiB7XG5cdFx0QGluY2x1ZGUgZm9udC1zaXplKCRoNCk7XG5cdFx0Y29sb3I6ICRjb2xvci1ncmV5LTcwMDtcblxuXHRcdDpsYXN0LWNoaWxkIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXHR9XG59XG4iLCIuYnV0dG9uIHtcblx0QGluY2x1ZGUgYnV0dG9uO1xufVxuXG4uYnV0dG9uLS1wcmltYXJ5IHtcblx0QGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvci1wcmltYXJ5KTtcbn1cblxuLmJ1dHRvbi0tc2Vjb25kYXJ5IHtcblx0QGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvci1zZWNvbmRhcnkpO1xufVxuXG4uYnV0dG9uLS1hbGVydCB7XG5cdEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3ItYWxlcnQpO1xufVxuXG4uYnV0dG9uLS13YXJuaW5nIHtcblx0QGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvci13YXJuaW5nKTtcbn1cblxuLmJ1dHRvbi0tc3VjY2VzcyB7XG5cdEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3Itc3VjY2Vzcyk7XG59XG4iLCIvLyBDb21tZW50cyBtYWluIGNvbnRhaW5lci5cbi5jb21tZW50cy10ZW1wbGF0ZSB7XG5cdG1hcmdpbi10b3A6IHZyKDIpO1xufVxuXG4uY29tbWVudHMge1xuXG5cdC8vIEhlYWRlci90aXRsZSBmb3IgdGhlIGNvbW1lbnRzIHNlY3Rpb24uXG5cdCZfX3RpdGxlIHtcblx0XHRtYXJnaW4tYm90dG9tOiB2cigxKTtcblx0fVxuXG5cdC8vIENvbW1lbnRzIGxpc3QgYW5kIGNoaWxkcmVuIHdyYXBwZXIuXG5cdCZfX2xpc3QsXG5cdC5jaGlsZHJlbiB7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZzogMDtcblx0fVxuXG5cdC5jaGlsZHJlbiB7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZzogMDtcblx0fVxuXG5cdC8vIENvbW1lbnRzIGNsb3NlZCBtZXNzYWdlLlxuXHQmX19jbG9zZWQge1xuXHRcdG1hcmdpbi10b3A6IHZyKDEuNSk7XG5cdH1cbn1cbiIsIi5jb21tZW50IHtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdGRpc3BsYXk6IGZsZXg7XG5cblx0Ly8gVGhlIGNvbW1lbnQgYXZhdGFyLlxuXHQmX19hdmF0YXIge1xuXHRcdG1hcmdpbi1yaWdodDogdnIoMS8yKTtcblx0XHRtaW4td2lkdGg6IDMycHg7XG5cblx0XHQmLWltZyB7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblx0XHR9XG5cdH1cblxuXHQvLyBGdWxsIGNvbW1lbnQgY29udGVudCBjb250YWluZXIuXG5cdC8vIFsxXSAtIGZpeGVzIGEgYnVnIHdoZW4gY29udGVudCBkb2Vzbid0IHdyYXAuXG5cdCZfX2JvZHkge1xuXHRcdGZsZXg6IDE7XG5cdFx0bWluLXdpZHRoOiAwOyAvLyBbMV1cblx0fVxuXG5cdC8vIE1ldGFkYXRhIHdyYXBwZXIuXG5cdCZfX21ldGEge1xuXHRcdG1hcmdpbi1ib3R0b206IHZyKDEvNCk7XG5cdH1cblxuXHQmX19hdXRob3Ige1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0YSB7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Jl9fZGF0ZSB7fVxuXG5cdCZfX3RpbWUge31cblxuXHQmX19wZXJtYWxpbmssXG5cdCZfX2VkaXQge1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyxcblx0XHQmOmFjdGl2ZSB7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHR9XG5cdH1cblxuXHQvLyBGdWxsIGNvbW1lbnQgdGV4dC9jb250ZW50LlxuXHQmX19jb250ZW50IHtcblx0XHRtYXJnaW4tYm90dG9tOiB2cigxLzQpO1xuXG5cdFx0PiA6bGFzdC1jaGlsZCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdH1cblx0fVxuXG5cdC8vIENvbW1lbnQgYWN0aW9ucyAocmVwbHkgbGluayBldGMpLlxuXHQmX19hY3Rpb25zIHtcblx0XHRtYXJnaW4tYm90dG9tOiB2cigxLjUpO1xuXHR9XG5cblx0Jl9fcmVwbHkge1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyxcblx0XHQmOmFjdGl2ZSB7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHR9XG5cdH1cblxuXHQmX19yZXBseS1pY29uIHtcblx0XHRoZWlnaHQ6IHZyKDEvMik7XG5cdFx0bWFyZ2luLXJpZ2h0OiB2cigxLzQpO1xuXHRcdHdpZHRoOiB2cigxLzIpO1xuXHR9XG5cblx0Ly8gQ29tbWVudCB1bmRlciBtb2RlcmF0aW9uIG1lc3NhZ2UuXG5cdCZfX21vZGVyYXRpb24ge31cblxuXHQvLyBUeXBlIG9mIGNvbW1lbnQuXG5cdCYtLXR5cGUtY29tbWVudCB7fVxuXG5cdCYtLXR5cGUtcGluZyB7XG5cdFx0bWFyZ2luLWJvdHRvbTogdnIoMS8yKTtcblx0fVxuXG5cdC8vIENvbW1lbnQgc3RhdHVzLlxuXHQmLS1zdGF0dXMtdW5hcHByb3ZlZCB7fVxufVxuIiwiLmVudHJ5IHtcblx0bWFyZ2luLWJvdHRvbTogdnIoMik7XG5cblx0LnNpbmdsZSAmIHtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHR9XG5cblx0Ly8gRmVhdHVyZWQgaW1hZ2UuXG5cdCZfX2ltYWdlIHtcblx0XHRtYXJnaW4tYm90dG9tOiB2cigxLzIpO1xuXHR9XG5cblx0Ly8gSGVhZGVyIHdyYXBwZXIuXG5cdCZfX2hlYWRlciB7fVxuXG5cdC8vIEVudHJ5IHRpdGxlLlxuXHQmX190aXRsZSB7fVxuXG5cdCZfX3Blcm1hbGluayB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR9XG5cblx0Ly8gTWV0YSB3cmFwcGVycy5cblx0Jl9fYnlsaW5lIHtcblx0XHRAaW5jbHVkZSBmb250LXNpemUoMTZweCk7XG5cdFx0Y29sb3I6ICRjb2xvci1ncmV5LTcwMDtcblx0XHRtYXJnaW4tYm90dG9tOiB2cigxKTtcblx0fVxuXG5cdCZfX3B1Ymxpc2hlZCB7fVxuXG5cdCZfX2F1dGhvciB7XG5cdFx0Y29sb3I6IGluaGVyaXQ7XG5cdH1cblxuXHQmX19jb21tZW50cyB7XG5cdFx0Y29sb3I6IGluaGVyaXQ7XG5cdH1cblxuXHQvLyBGdWxsIGVudHJ5IGNvbnRlbnQuXG5cdCZfX2NvbnRlbnQge1xuXHRcdEBpbmNsdWRlIGNsZWFyZml4O1xuXHRcdG1hcmdpbi1ib3R0b206IHZyKDIpO1xuXG5cdFx0LnNpbmdsZSAmLFxuXHRcdD4gOmxhc3QtY2hpbGQge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHR9XG5cblx0XHQvLyBBZGQgc29tZSBzcGFjaW5nIGZvciBhbnl0aGluZyBhZnRlciBlbnRyeV9fY29udGVudC5cblx0XHQmICsgKiB7XG5cdFx0XHRtYXJnaW4tdG9wOiB2cigyKTtcblx0XHR9XG5cblx0XHR1bCxcblx0XHRvbCB7XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdH1cblx0fVxuXG5cdC8vIFN1bW1hcnkvRXhjZXJwdC5cblx0Jl9fc3VtbWFyeSB7XG5cblx0XHQ+IG9sOm5vdChbY2xhc3NdKSxcblx0XHQ+IHVsOm5vdChbY2xhc3NdKSB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IHZyKDEuNSk7XG5cdFx0fVxuXHR9XG5cblx0Jl9fZm9vdGVyIHt9XG5cblx0Jl9fdGVybXMtd3JhcHBlciB7XG5cdFx0Y29sb3I6ICRjb2xvci1ncmV5LTcwMDtcblx0XHRkaXNwbGF5OiBibG9jaztcblxuXHRcdCYgKyAmIHtcblx0XHRcdG1hcmdpbi10b3A6IHZyKDEvNCk7XG5cdFx0fVxuXHR9XG5cblx0Jl9fdGVybXMge1xuXHRcdG1hcmdpbi1sZWZ0OiB2cigxLzQpO1xuXG5cdFx0YSB7XG5cdFx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6Zm9jdXMsXG5cdFx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCZfX3Rlcm1zLWljb24ge1xuXHRcdGZpbGw6IGN1cnJlbnRDb2xvcjtcblx0XHRoZWlnaHQ6IDE2cHg7XG5cdFx0d2lkdGg6IDE2cHg7XG5cdH1cblxuXHQvLyBTdGlja3kgcG9zdHMuXG5cdCYuc3RpY2t5IHt9XG5cblx0Ly8gVHlwZSBvZiBlbnRyeS9wb3N0LlxuXHQmLS10eXBlLXBvc3Qge31cblxuXHQmLS10eXBlLXBhZ2Uge31cbn1cbiIsIi5mb3JtLWZpZWxkIHtcblx0bWFyZ2luLWJvdHRvbTogdnIoMS8yKTtcblxuXHQmX19kZXNjcmlwdGlvbiB7XG5cdFx0QGluY2x1ZGUgZm9udC1zaXplKDE0cHgpO1xuXHRcdGNvbG9yOiAkY29sb3ItZ3JleS01MDA7XG5cdH1cblxuXHQmX19yZXF1aXJlZCB7XG5cdFx0Y29sb3I6ICRjb2xvci1mb3JtLWlucHV0LXJlcXVpcmVkO1xuXHR9XG5cblx0Jl9fY2hlY2tib3ggbGFiZWwsXG5cdCZfX3JhZGlvIGxhYmVsIHtcblx0XHRmb250LXdlaWdodDogNDAwO1xuXHR9XG5cblx0Ly8gSW5saW5lIGZvcm0gc3R5bGVzLlxuXHQvLyBBcHBseSB0aGlzIHRvIHNldCByYWRpby9jaGVja2JveCBmaWVsZHMgaW5saW5lLlxuXHQmLS1pbmxpbmUge1xuXG5cdFx0LmZvcm0tZmllbGRfX2NoZWNrYm94LFxuXHRcdC5mb3JtLWZpZWxkX19yYWRpbyB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0fVxuXG5cdFx0LmZvcm0tZmllbGRfX2NoZWNrYm94ICsgLmZvcm0tZmllbGRfX2NoZWNrYm94LFxuXHRcdC5mb3JtLWZpZWxkX19yYWRpbyArIC5mb3JtLWZpZWxkX19yYWRpbyB7XG5cdFx0XHRtYXJnaW4tbGVmdDogdnIoMS8yKTtcblx0XHR9XG5cdH1cbn1cblxuLy8gQWRkIHJlcXVpcmVkIHN0eWxpbmcgZm9yIG9jY3VyYW5jZXMgd2hlbiB3ZVxuLy8gY2FudCBhZGQgdGhlIGFib3ZlIGNsYXNzZXMuXG4ucmVxdWlyZWQge1xuXHRjb2xvcjogJGNvbG9yLWZvcm0taW5wdXQtcmVxdWlyZWQ7XG59XG5cbi8vIEEgcGFkZGVkLCBib3JkZXJlZCBmaWVsZHNldC5cbi5mb3JtLWZpZWxkc2V0IHtcblx0Ym9yZGVyOiAxcHggc29saWQgJGNvbG9yLWZvcm0tZmllbGRzZXQtYm9yZGVyO1xuXHRwYWRkaW5nOiB2cigxKTtcblxuXHRsZWdlbmQge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0bWFyZ2luLWxlZnQ6IC0je3ZyKDEvMil9O1xuXHRcdHBhZGRpbmc6IDAgdnIoMS8yKTtcblx0fVxufVxuIiwiLmdhbGxlcnkge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cblx0Ji1pdGVtIHtcblx0XHRtYXJnaW4tYm90dG9tOiB2cigxLzIpO1xuXHR9XG5cblx0QGluY2x1ZGUgbXEobWVkaXVtKSB7XG5cblx0XHRAZm9yICRpIGZyb20gMSB0aHJvdWdoIDEwIHtcblx0XHRcdCYtY29sdW1ucy0jeyRpfSAmLWl0ZW0ge1xuXHRcdFx0XHRAaW5jbHVkZSBudGgtZ3JpZCgkaSwgJGd1dHRlcjogdnIoMS8yKSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ji1pY29uIHtcblx0XHRpbWcge31cblx0fVxuXG5cdCYtY2FwdGlvbiB7fVxufVxuIiwiLm1lbnUge1xuXG5cdC8vIFRoZSBtYWluIHRvZ2dsZSBmb3IgdGhlIG1lbnUuXG5cdCZfX3RvZ2dsZSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRoZWlnaHQ6IDUwcHg7XG5cdFx0cGFkZGluZzogMC41cmVtO1xuXHRcdHdpZHRoOiA1MHB4O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDIwJTtcblx0XHRyaWdodDogdnIoMSk7XG5cblx0XHRAaW5jbHVkZSBtcSg2MDBweCkge1xuXHRcdFx0cG9zaXRpb246IHN0YXRpYztcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtcShtZWRpdW0pIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRvdXRsaW5lOiAxcHggZG90dGVkO1xuXHRcdFx0b3V0bGluZS1vZmZzZXQ6IC0xcHg7XG5cdFx0fVxuXHR9XG5cblx0Ly8gVGhlIGljb24gd2l0aGluIHRoZSBtYWluIG1lbnUgdG9nZ2xlLlxuXHQmX190b2dnbGUtaWNvbiB7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGZpbGw6ICRjb2xvci1wcmltYXJ5O1xuXG5cdFx0cGF0aCB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoMCkgdHJhbnNsYXRlKDAsIDApO1xuXHRcdFx0dHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcblx0XHRcdHRyYW5zaXRpb246IGFsbCAkZ2xvYmFsLXRyYW5zaXRpb24tZHVyYXRpb24gJGdsb2JhbC10cmFuc2l0aW9uLXR5cGU7XG5cdFx0fVxuXG5cdFx0W2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdICYge1xuXHRcdFx0ZmlsbDogJGNvbG9yLXNlY29uZGFyeTtcblx0XHR9XG5cblx0XHQvLyBTdGF0ZSBjaGFuZ2VkIHRvIGV4cGFuZGVkIHNvIHdlIGNhbiBhbmltYXRlIHRoZSBpY29uLlxuXHRcdFthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSA+ICYge1xuXG5cdFx0XHRwYXRoOm50aC1vZi10eXBlKDEpIHtcblx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGVZKDQyJSk7XG5cdFx0XHR9XG5cblx0XHRcdHBhdGg6bnRoLW9mLXR5cGUoMikge1xuXHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0fVxuXG5cdFx0XHRwYXRoOm50aC1vZi10eXBlKDMpIHtcblx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZVkoLTQyJSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ly8gVGhlIGJhc2UgPHVsPiBvZiBhIG1lbnUuXG5cdCZfX2l0ZW1zIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZzogMDtcblx0fVxuXG5cdC8vIFN0eWxlcyBmb3IgPGxpPlxuXHQmX19pdGVtIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblxuXHRcdEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuXG5cdFx0XHQmICsgJiB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAxMHB4O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYuaGFzLWNoaWxkcmVuIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0fVxuXHR9XG5cblx0Ly8gU3R5bGVzIGZvciA8YT5cblx0Jl9fbGluayB7XG5cdFx0Y29sb3I6ICRjb2xvci1tZW51LWxpbms7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0ZmxleDogMSAxIDA7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMjtcblx0XHRwYWRkaW5nOiAxMnB4IHZyKDEpO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRcdEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuXHRcdFx0cGFkZGluZzogdnIoMS8yKTtcblx0XHR9XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0Y29sb3I6ICRjb2xvci1tZW51LWxpbmstaG92ZXI7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0fVxuXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRvdXRsaW5lLW9mZnNldDogLTFweDtcblx0XHR9XG5cdH1cblxuXHQvLyBUaGUgc3ViLW1lbnVzXG5cdCZfX3N1Yi1tZW51IHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbWVudS1zdWItbWVudS1iYWNrZ3JvdW5kO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRmb250LXNpemU6IDkwJTtcblx0XHRoZWlnaHQ6IDA7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRtYXJnaW46IDA7XG5cdFx0b3BhY2l0eTogMDtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdHRyYW5zaXRpb246IGFsbCAkZ2xvYmFsLXRyYW5zaXRpb24tZHVyYXRpb24gJGdsb2JhbC10cmFuc2l0aW9uLXR5cGU7XG5cdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHotaW5kZXg6IDEwMDtcblxuXHRcdEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuXHRcdFx0Ym94LXNoYWRvdzogMCB2cigxLzQpIHZyKDEpIHJnYmEoJGNvbG9yLWJsYWNrLCAwLjEpO1xuXHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdG1pbi13aWR0aDogMTgwcHg7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDEwMCU7XG5cdFx0fVxuXG5cdFx0Ly8gQSBzdWItc3ViIG1lbnUuXG5cdFx0Ly8gMS4gT2Zmc2V0IGJ5IHdpZHRoIG9mIHRoZSBib3JkZXIgb2YgdGhlIGBtZW51X19zdWItbWVudWAuXG5cdFx0JiAmIHtcblx0XHRcdGxlZnQ6IDEwMCU7XG5cdFx0XHRyaWdodDogYXV0bztcblx0XHRcdHRvcDogMDsgLy8gWzFdXG5cdFx0fVxuXG5cdFx0Ly8gTWFrZSBzdXJlIDxsaT4gaXRlbXMgd2l0aGluIGEgc3ViIG1lbnUgYXJlIGZ1bGwgd2lkdGhcblx0XHQ+IC5tZW51X19pdGVtIHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0fVxuXG5cdFx0Ly8gRXhwYW5kIHN1Yi1tZW51IHdoZW4gdG9nZ2xlIGlzIHVzZWRcblx0XHRbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gKyAmIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHRcdH1cblx0fVxuXG5cdC8vIERpc3BsYXkgb3VyIHN1Yi1tZW51cyBpZiBhbnkgb2YgdGhlc2UgY29uZGl0aW9ucyBhcmUgbWV0XG5cdEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuXG5cdFx0Lmhhcy1mb2N1cy13aXRoaW4gPiAmX19zdWItbWVudSxcblx0XHQuaXMtdG9nZ2xlZCArICZfX3N1Yi1tZW51LFxuXHRcdCZfX3N1Yi1tZW51OmhvdmVyLFxuXHRcdCZfX3N1Yi1tZW51OmZvY3VzLFxuXHRcdCZfX2l0ZW06aG92ZXIgPiAmX19zdWItbWVudSxcblx0XHQmX19pdGVtOmZvY3VzLXdpdGhpbiA+ICZfX3N1Yi1tZW51IHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHRcdH1cblx0fVxuXG5cdC8vIFJvdGF0ZSBpY29uIGZvciBzdWItbWVudXNhcyB0aGV5IG9wZW4gdG8gdGhlIHJpZ2h0XG5cdCZfX3N1Yi1tZW51ICZfX2Ryb3Bkb3duLWljb24ge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG5cdH1cblxuXHQvLyBUaGUgdG9nZ2xlIHVzZWQgdG8gZXhwYW5kIGEgc3ViIG1lbnUgb24gc21hbGxlciBzY3JlZW5zLlxuXHQmX19zdWItbWVudS10b2dnbGUge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1tZW51LXN1Yi1tZW51LXRvZ2dsZS1iYWNrZ3JvdW5kO1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRjb2xvcjogJGNvbG9yLW1lbnUtc3ViLW1lbnUtdG9nZ2xlO1xuXHRcdHdpZHRoOiA0OHB4O1xuXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRvdXRsaW5lOiAxcHggZG90dGVkO1xuXHRcdFx0b3V0bGluZS1vZmZzZXQ6IC0xcHg7XG5cdFx0fVxuXHR9XG5cblx0Ly8gVGhlIGljb24gd2l0aGluIHRoZSBhYm92ZSB0b2dnbGUuXG5cdCZfX3N1Yi1tZW51LXRvZ2dsZS1pY29uIHtcblx0XHRoZWlnaHQ6IDFyZW07XG5cdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtICRnbG9iYWwtdHJhbnNpdGlvbi1kdXJhdGlvbiAkZ2xvYmFsLXRyYW5zaXRpb24tdHlwZTtcblx0XHR3aWR0aDogMXJlbTtcblxuXHRcdFthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSA+ICYge1xuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcblx0XHR9XG5cdH1cblxuXHQvLyBBIG1lbnUgaXRlbSB0aGF0IGhhcyBhIGRyb3Bkb3duIGluZGljYXRvci5cblx0Lmhhcy1kcm9wZG93bi1pY29uIHtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHR9XG5cblx0Ly8gVGhlIGljb24gdXNlZCBvbiBsYXJnZXIgc2NyZWVucyB0byBpbmRpY2F0ZSB0aGVyZSBpcyBhIGRyb3Bkb3duLlxuXHQmX19kcm9wZG93bi1pY29uIHtcblx0XHRmaWxsOiAkY29sb3ItbWVudS1kcm9wZG93bi1pY29uO1xuXHRcdGhlaWdodDogMC41cmVtO1xuXHRcdG1hcmdpbi1sZWZ0OiAwLjNyZW07XG5cdFx0d2lkdGg6IDAuNXJlbTtcblx0fVxufVxuXG4ubWVudS0tY29udGFjdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogMTAwJTtcblxuXHRAaW5jbHVkZSBtcSg2MDBweCkge1xuXHRcdHdpZHRoOiBhdXRvO1xuXHR9XG5cblx0QGluY2x1ZGUgbXEobWVkaXVtKSB7XG5cdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdH1cblxuXHRAaW5jbHVkZSBtcShsYXJnZSkge1xuXHRcdG1hcmdpbi1ib3R0b206IHZyKDEvMik7XG5cdFx0bWFyZ2luLXRvcDogdnIoMS8yKTtcblx0fVxuXG5cdC5tZW51X19pY29uIHtcblx0XHR3aWR0aDogdnIoMSk7XG5cdFx0aGVpZ2h0OiB2cigxKTtcblx0XHRtYXJnaW4tcmlnaHQ6IHZyKDEvNCk7XG5cdFx0ZmlsbDogY3VycmVudENvbG9yO1xuXHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XG5cdH1cblxuXHQubWVudV9faXRlbSB7XG5cdFx0bWFyZ2luLXJpZ2h0OiB2cigxLzIpO1xuXG5cdFx0QGluY2x1ZGUgbXEobGFyZ2UpIHtcblx0XHRcdG1hcmdpbi1yaWdodDogdnIoMS8yKTtcblx0XHR9XG5cdH1cblxuXHQubWVudV9fbGluayB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGNvbG9yOiAkY29sb3Itc2Vjb25kYXJ5O1xuXHRcdGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktaGVhZGluZztcblx0XHRsZXR0ZXItc3BhY2luZzogMXB4O1xuXHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0QGluY2x1ZGUgbXEobWVkaXVtKSB7XG5cdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0fVxuXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzIHtcblx0XHRcdGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcblxuXHRcdFx0Lm1lbnVfX2ljb24ge1xuXHRcdFx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5tZW51LS1wcmltYXJ5IHtcblxuXHRAaW5jbHVkZSBtcShtZWRpdW0pIHtcblx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0Y2xlYXI6IHJpZ2h0O1xuXHR9XG5cblx0Lm1lbnVfX3dyYXAge1xuXHRcdGhlaWdodDogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAxMDAlO1xuXHRcdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHR3aWR0aDogMTAwJTtcblx0XHR6LWluZGV4OiAxMDA7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRvdmVyZmxvdy15OiBhdXRvO1xuXG5cdFx0QGluY2x1ZGUgbXEobWVkaXVtKSB7XG5cdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0b3ZlcmZsb3c6IGluaXRpYWw7XG5cdFx0XHRwb3NpdGlvbjogc3RhdGljO1xuXHRcdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0XHR9XG5cdH1cblxuXHRAaW5jbHVkZSBtcSgkdW50aWw6IG1lZGl1bSkge1xuXG5cdFx0W2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdICsgLm1lbnVfX3dyYXAge1xuXHRcdFx0aGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTc1cHgpO1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0fVxuXHR9XG5cblx0Lm1lbnVfX2l0ZW1zIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG5cdFx0QGluY2x1ZGUgbXEobWVkaXVtKSB7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdH1cblx0fVxuXG5cdC5tZW51X19saW5rIHtcblx0XHRmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWhlYWRpbmc7XG5cdFx0Zm9udC1zaXplOiAyMHB4O1xuXHRcdGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcblx0XHRib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG5cblx0XHRAaW5jbHVkZSBtcShtZWRpdW0pIHtcblx0XHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRcdHBhZGRpbmctbGVmdDogdnIoMS80KTtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IHZyKDEvNCk7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbXEobGFyZ2UpIHtcblx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdHBhZGRpbmctbGVmdDogdnIoMS8yKTtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IHZyKDEvMik7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbXEoeGxhcmdlKSB7XG5cdFx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0fVxuXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzIHtcblx0XHRcdEBpbmNsdWRlIG1xKCR1bnRpbDogbWVkaXVtKSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuXHRcdFx0XHRjb2xvcjogJGNvbG9yLXdoaXRlO1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBtcShtZWRpdW0pIHtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogY3VycmVudENvbG9yO1xuXHRcdFx0XHRjb2xvcjogJGNvbG9yLXRlcnRpYXJ5O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8vIEN1cnJlbnQgbWVudSBpdGVtIHN0eWxlc1xuXHQubWVudV9faXRlbS0tY3VycmVudCAubWVudV9fbGluayB7XG5cblx0XHRAaW5jbHVkZSBtcShtZWRpdW0pIHtcblx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuXHRcdFx0Y29sb3I6ICRjb2xvci1tZW51LWxpbmstaG92ZXI7XG5cdFx0fVxuXHR9XG59XG5cbi8vIFN1YnNpZGlhcnkgbWVudVxuLm1lbnUtLXN1YnNpZGlhcnkge1xuXHRtYXJnaW4tYm90dG9tOiB2cigxKTtcblxuXHQubWVudV9faXRlbXMge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHRAaW5jbHVkZSBtcShtZWRpdW0pIHtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHR9XG5cdH1cblxuXHQubWVudV9faXRlbSArIC5tZW51X19pdGVtIHtcblx0XHRtYXJnaW4tdG9wOiB2cigxLzIpO1xuXG5cdFx0QGluY2x1ZGUgbXEobWVkaXVtKSB7XG5cdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IHZyKDEvMik7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IHZyKDEvMik7XG5cdFx0XHRib3JkZXItbGVmdDogMnB4IHNvbGlkICRjb2xvci10ZXJ0aWFyeTtcblx0XHR9XG5cdH1cblxuXHQubWVudV9fbGluayB7XG5cdFx0Y29sb3I6ICRjb2xvci1iZWlnZTtcblx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzIHtcblx0XHRcdGNvbG9yOiAkY29sb3Itd2hpdGU7XG5cdFx0fVxuXHR9XG59XG5cbi8vIFdpZGdldCBtZW51XG4ubWVudS0td2lkZ2V0IHtcblxuXHQubWVudV9faXRlbSArIC5tZW51X19pdGVtIHtcblx0XHRtYXJnaW4tdG9wOiB2cigxLzQpO1xuXHR9XG5cblx0Lm1lbnVfX2xpbmsge1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblxuXHQubWVudV9fc3ViLW1lbnUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0fVxufVxuIiwiLnBhZ2luYXRpb24ge1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWdyZXktMjAwO1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yLWdyZXktMjAwO1xuXHRjbGVhcjogYm90aDtcblx0cGFkZGluZy1ib3R0b206IHZyKDEpO1xuXHRwYWRkaW5nLXRvcDogdnIoMSk7XG5cdHdpZHRoOiAxMDAlO1xuXG5cdCZfX2l0ZW1zIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdG1hcmdpbjogMDtcblx0fVxuXG5cdCZfX2l0ZW0ge1xuXHRcdGxpbmUtaGVpZ2h0OiAxO1xuXG5cdFx0JiArICYge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IHZyKDEvNCk7XG5cdFx0fVxuXHR9XG5cblx0Jl9fYW5jaG9yIHtcblx0XHRib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRwYWRkaW5nOiB2cigxLzQpIHZyKDEvMik7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0Ji0tY3VycmVudCB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcblx0XHRcdGNvbG9yOiAkY29sb3Itd2hpdGU7XG5cdFx0fVxuXHR9XG5cblx0Jl9fYW5jaG9yLWljb24ge1xuXHRcdGZpbGw6IGN1cnJlbnRDb2xvcjtcblx0XHRoZWlnaHQ6IDIwcHg7XG5cdFx0d2lkdGg6IDIwcHg7XG5cblx0XHQmLS1wcmV2IHtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcblx0XHR9XG5cblx0XHQmLS1uZXh0IHtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG5cdFx0fVxuXHR9XG59XG4iLCIuc2lkZWJhci0tc3Vic2lkaWFyeSB7XG5cdHBhZGRpbmc6IHZyKDEpO1xufVxuIiwiLnN2ZyB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLy8gTG9vcCB0aHJvdWdoIGFsbCBzb2NpYWwgaWNvbnNcbkBlYWNoICRzb2NpYWwtbmV0d29yaywgJGNvbG9yIGluICRjb2xvcnMtc29jaWFsIHtcblxuXHQuc3ZnLS0jeyRzb2NpYWwtbmV0d29ya30ge1xuXHRcdGZpbGw6ICRjb2xvcjtcblx0fVxufVxuIiwiLnRhYmxlLS1maXhlZCB7XG5cdHRhYmxlLWxheW91dDogZml4ZWQ7XG59XG5cbi8vIEJvcmRlciBhcm91bmQgZWFjaCBjZWxsXG4udGFibGUtLWJvcmRlcmVkIHtcblxuXHR0aCxcblx0dGQge1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci10YWJsZS1ib3JkZXI7XG5cdFx0cGFkZGluZzogdnIoMS8yKTtcblx0fVxufVxuXG4udGFibGUtLXJ1bGVkIHtcblxuXHR0aCxcblx0dGQge1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItdGFibGUtYm9yZGVyO1xuXHRcdHBhZGRpbmc6IHZyKDEvMik7XG5cdH1cbn1cblxuLy8gT2RkIHN0cmlwZWQgcm93c1xuLnRhYmxlLS1zdHJpcGVkIHtcblxuXHR0aCxcblx0dGQge1xuXHRcdHBhZGRpbmc6IHZyKDEvMik7XG5cdH1cblxuXHR0Ym9keSB0cjpudGgtY2hpbGQob2RkKSB7XG5cdFx0YmFja2dyb3VuZDogJGNvbG9yLXRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcblx0fVxufVxuIiwiLndpZGdldCB7XG5cdG1hcmdpbi1ib3R0b206IHZyKDEpO1xufVxuIiwiLy8gVmVyc2lvbjogMi45LjFcblxuLnRucy1vdXRlciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZzogMDsgLy8gcmVtb3ZlIHBhZGRpbmc6IGNsaWVudFdpZHRoID0gd2lkdGggKyBwYWRkaW5nICgwKSA9IHdpZHRoXG5cdFtoaWRkZW5dIHsgZGlzcGxheTogbm9uZTsgfVxuXHRbYXJpYS1jb250cm9sc10sIFtkYXRhLWFjdGlvbl0geyBjdXJzb3I6IHBvaW50ZXI7IH1cbn1cblxuLnRucy1zbGlkZXIge1xuXHR0cmFuc2l0aW9uOiBhbGwgMHM7XG5cdHVzZXItc2VsZWN0OiBub25lO1xuXG5cdD4gLnRucy1pdGVtIHtcblx0XHQtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0LW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdH1cbn1cblxuLnRucy1ob3Jpem9udGFsIHtcblx0Ji50bnMtc3VicGl4ZWwge1xuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cblx0XHQ+IC50bnMtaXRlbSB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXHRcdFx0d2hpdGUtc3BhY2U6IG5vcm1hbDtcblx0XHR9XG59XG5cblx0Ji50bnMtbm8tc3VicGl4ZWwge1xuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRkaXNwbGF5OiB0YWJsZTtcblx0XHRcdGNsZWFyOiBib3RoO1xuXHRcdH1cblxuXHRcdD4gLnRucy1pdGVtIHtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdH1cblx0fVxuXG5cdCYudG5zLWNhcm91c2VsIHtcblx0XHQmLnRucy1uby1zdWJwaXhlbCB7XG5cdFx0XHQ+IC50bnMtaXRlbSB7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogLTEwMCU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi50bnMtbm8tY2FsYyB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bGVmdDogMDtcbn1cblxuLnRucy1nYWxsZXJ5IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRsZWZ0OiAwO1xuXHRtaW4taGVpZ2h0OiAxcHg7IC8vIG1ha2Ugc3VyZSBzbGlkZXIgY29udGFpbmVyIGlzIHZpc2libGVcblxuXHQ+IC50bnMtaXRlbSB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGxlZnQ6IC0xMDAlO1xuXHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwcywgb3BhY2l0eSAwcztcblx0fVxuXG5cdD4gLnRucy1zbGlkZS1hY3RpdmUge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQ+IC50bnMtbW92aW5nIHtcblx0XHR0cmFuc2l0aW9uOiBhbGwgMC4yNXM7XG5cdH1cbn1cblxuLnRucy1hdXRvd2lkdGggeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLnRucy1sYXp5LWltZyB7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC42cztcblx0b3BhY2l0eTogMC42O1xuXG5cdCYudG5zLWNvbXBsZXRlIHsgb3BhY2l0eTogMTsgfVxufVxuXG4udG5zLWFoIHtcblx0dHJhbnNpdGlvbjogaGVpZ2h0IDBzO1xufVxuXG4udG5zLW92aCB7IG92ZXJmbG93OiBoaWRkZW47IH1cbi50bnMtdmlzdWFsbHktaGlkZGVuIHsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtMTAwMDBlbTsgfVxuLnRucy10cmFuc3BhcmVudCB7IG9wYWNpdHk6IDA7IHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4udG5zLWZhZGVJbiB7XG5cdG9wYWNpdHk6IDE7XG5cdGZpbHRlcjogYWxwaGEob3BhY2l0eT0xMDApO1xuXHR6LWluZGV4OiAwO1xufVxuXG4udG5zLW5vcm1hbCwgLnRucy1mYWRlT3V0IHtcblx0b3BhY2l0eTogMDtcblx0ZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO1xuXHR6LWluZGV4OiAtMTtcbn1cblxuXG4vLyAqKiogRml4IGEgdmlld3BvcnQgaXNzdWUgaW4gaW5pdGlhbGl6YXRpb25cbi50bnMtdnBmaXgge1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG5cdD4gZGl2LCA+IGxpIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdH1cbn1cblxuLy8gKioqIERldGVjdGluZyBicm93c2VyIGNhcGFiaWxpdHkgKioqXG4kd2lkdGg6IDMxMHB4O1xuJGhlaWdodDogMTBweDtcbiRjb3VudDogNzA7XG4kcGVycGFnZTogMztcblxuLnRucy10IHtcblx0Ji1zdWJwMiB7XG5cdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0d2lkdGg6ICR3aWR0aDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0aGVpZ2h0OiAkaGVpZ2h0O1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdH1cblxuXHQmLWN0IHtcblx0XHR3aWR0aDogKDEwMCUgKiAkY291bnQgLyAkcGVycGFnZSk7XG5cdFx0d2lkdGg6IC13ZWJraXQtY2FsYygxMDAlICogI3skY291bnR9IC8gI3skcGVycGFnZX0pO1xuXHRcdHdpZHRoOiAtbW96LWNhbGMoMTAwJSAqICN7JGNvdW50fSAvICN7JHBlcnBhZ2V9KTtcblx0XHR3aWR0aDogY2FsYygxMDAlICogI3skY291bnR9IC8gI3skcGVycGFnZX0pO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRyaWdodDogMDtcblx0XHQmOmFmdGVyIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRkaXNwbGF5OiB0YWJsZTtcblx0XHRjbGVhcjogYm90aDtcblx0XHR9XG5cblx0XHQ+IGRpdiB7XG5cdFx0XHR3aWR0aDogKDEwMCUgLyAkY291bnQpO1xuXHRcdFx0d2lkdGg6IC13ZWJraXQtY2FsYygxMDAlIC8gI3skY291bnR9KTtcblx0XHRcdHdpZHRoOiAtbW96LWNhbGMoMTAwJSAvICN7JGNvdW50fSk7XG5cdFx0XHR3aWR0aDogY2FsYygxMDAlIC8gI3skY291bnR9KTtcblx0XHRcdGhlaWdodDogJGhlaWdodDtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdH1cblx0fVxufVxuXG4udG5zLW5hdiB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0dG9wOiA1MCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoOTBkZWcpO1xuXHR6LWluZGV4OiAxMDtcblxuXHRidXR0b24ge1xuXHRcdGJvcmRlcjogc29saWQgMnB4ICRjb2xvci13aGl0ZTtcblx0XHRwYWRkaW5nOiAzcHg7XG5cdFx0d2lkdGg6IDIwcHg7XG5cdFx0aGVpZ2h0OiAyMHB4O1xuXHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCBjb250ZW50LWJveDtcblx0XHRjb2xvcjogJGNvbG9yLXdoaXRlO1xuXHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlO1xuXHR9XG5cblx0YnV0dG9uICsgYnV0dG9uIHtcblx0XHRtYXJnaW4tbGVmdDogdnIoMS80KTtcblx0fVxuXG5cdCYgJi1hY3RpdmUge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcblx0fVxufVxuIiwiLmltYWdlLWNvbnRlbnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRtYXJnaW4tYm90dG9tOiB2cigxKTtcblxuXHRAaW5jbHVkZSBtcShtZWRpdW0pIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXG5cdFx0Ji0taW1hZ2UtcmlnaHQge1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuXHRcdH1cblx0fVxuXG5cdCZfX2ltYWdlIHtcblx0XHRmbGV4OiAwIDAgMzAwcHg7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXG5cdFx0QGluY2x1ZGUgbXEobWVkaXVtKSB7XG5cdFx0XHRmbGV4OiAwIDAgNTAlO1xuXHRcdH1cblx0fVxuXG5cdCZfX3RpdGxlIHtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLXdoaXRlO1xuXHRcdGNvbG9yOiAkY29sb3Itd2hpdGU7XG5cdFx0cGFkZGluZy1ib3R0b206IHZyKDEvMik7XG5cdH1cblxuXHQmX19jb250ZW50IHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL3N2Zy9zaW5nbGUtdHJlZS1ib3guc3ZnJyk7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHRcdGNvbG9yOiAkY29sb3Itd2hpdGU7XG5cdFx0cGFkZGluZzogdnIoMikgdnIoMSk7XG5cdFx0ZmxleDogMCAwIDUwJTtcblx0fVxuXG5cdCZfX2xpbmsge1xuXHRcdGNvbG9yOiAkY29sb3Itd2hpdGU7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0Y29sb3I6ICRjb2xvci1vZmYtd2hpdGU7XG5cdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiBjdXJyZW50Q29sb3I7XG5cdFx0fVxuXHR9XG59XG4iLCIucXVvdGUtc2xpZGVyIHtcblx0cGFkZGluZy1sZWZ0OiB2cigxKTtcblx0cGFkZGluZy1yaWdodDogdnIoMSk7XG5cdHBhZGRpbmctdG9wOiB2cigxKTtcblx0cGFkZGluZy1ib3R0b206IHZyKDEpO1xuXG5cdEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuXHRcdHBhZGRpbmctbGVmdDogdnIoMyk7XG5cdFx0cGFkZGluZy1yaWdodDogdnIoMyk7XG5cdFx0cGFkZGluZy10b3A6IHZyKDIpO1xuXHRcdHBhZGRpbmctYm90dG9tOiB2cigyKTtcblx0fVxuXG5cdCZfX3NsaWRlIHtcblx0XHRib3JkZXI6IDA7XG5cdH1cblxuXHQmX19pY29uLXN0YXJ0IHtcblx0XHRmaWxsOiAkY29sb3Itc2Vjb25kYXJ5O1xuXHRcdHdpZHRoOiA1MCU7XG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1hcmdpbi1ib3R0b206IHZyKDEpO1xuXHR9XG5cblx0Jl9faWNvbi1lbmQge1xuXHRcdGZpbGw6ICRjb2xvci1zZWNvbmRhcnk7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcblx0XHR3aWR0aDogNTAlO1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRtYXJnaW4tdG9wOiB2cigxKTtcblx0XHRtYXJnaW4tYm90dG9tOiB2cigxKTtcblx0fVxuXG5cdCZfX3F1b3RlIHtcblx0XHRAaW5jbHVkZSBmb250LXNpemUoJGgzKTtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdGxldHRlci1zcGFjaW5nOiAycHg7XG5cdFx0Zm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1oZWFkaW5nO1xuXHR9XG5cblx0Jl9fYXV0aG9yIHtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHR9XG5cblx0LnRucy1uYXYge1xuXHRcdGxlZnQ6IC0je3ZyKDIpfTtcblxuXHRcdEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuXHRcdFx0bGVmdDogLSN7dnIoMyl9O1xuXHRcdH1cblxuXHRcdGJ1dHRvbiB7XG5cdFx0XHRib3JkZXItY29sb3I6ICRjb2xvci1zZWNvbmRhcnk7XG5cdFx0fVxuXG5cdFx0Ji1hY3RpdmUge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXNlY29uZGFyeTtcblx0XHR9XG5cdH1cbn1cbiIsIi5jb250ZW50LWJsb2NrIHtcblxuXHQmLS1jb250ZW50IHtcblx0XHRwYWRkaW5nLXRvcDogdnIoMSk7XG5cdFx0cGFkZGluZy1ib3R0b206IHZyKDEpO1xuXG5cdFx0QGluY2x1ZGUgbXEobWVkaXVtKSB7XG5cdFx0XHRwYWRkaW5nLXRvcDogdnIoMik7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogdnIoMik7XG5cdFx0fVxuXG5cdFx0YSB7XG5cdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG5cdFx0XHQmOmhvdmVyLFxuXHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6IGN1cnJlbnRDb2xvcjtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdHBhZGRpbmctdG9wOiB2cigxLzIpO1xuXHRcdH1cblxuXHRcdD4gOmxhc3QtY2hpbGQge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHR9XG5cdH1cblxuXHQmLS1pbWFnZSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxufVxuIiwiLy8gZm9udCBpY29ucyBzdXBwb3J0XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ2xnJztcbiAgICBzcmM6IHVybChcIiN7JGxnLXBhdGgtZm9udHN9L2xnLmVvdD9uMXozNzNcIik7XG4gICAgc3JjOiB1cmwoXCIjeyRsZy1wYXRoLWZvbnRzfS9sZy5lb3Q/I2llZml4bjF6MzczXCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIjeyRsZy1wYXRoLWZvbnRzfS9sZy53b2ZmP24xejM3M1wiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIjeyRsZy1wYXRoLWZvbnRzfS9sZy50dGY/bjF6MzczXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIjeyRsZy1wYXRoLWZvbnRzfS9sZy5zdmc/bjF6MzczI2xnXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuXG4ubGctaWNvbiB7XG4gICAgZm9udC1mYW1pbHk6ICdsZyc7XG4gICAgc3BlYWs6IG5vbmU7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn0iLCIvLyBkZWZhdWx0IHRoZW1lXG4ubGctYWN0aW9ucyB7XG4gICAgLmxnLW5leHQsIC5sZy1wcmV2IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxnLW5leHQtcHJldi1iZztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGxnLWJvcmRlci1yYWRpdXMtYmFzZTtcbiAgICAgICAgY29sb3I6ICRsZy1uZXh0LXByZXYtY29sb3I7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgICAgIHBhZGRpbmc6IDhweCAxMHB4IDlweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgei1pbmRleDogJHppbmRleC1jb250cm9scztcblxuICAgICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGxnLW5leHQtcHJldi1ob3Zlci1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sZy1uZXh0IHtcbiAgICAgICAgcmlnaHQ6IDIwcHg7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcXGUwOTVcIjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sZy1wcmV2IHtcbiAgICAgICAgbGVmdDogMjBweDtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlMDk0XCI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGtleWZyYW1lcyhsZy1yaWdodC1lbmQpIHtcbiAgICAwJSB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgNTAlIHtcbiAgICAgICAgbGVmdDogLTMwcHg7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxufVxuXG5cbkBpbmNsdWRlIGtleWZyYW1lcyhsZy1sZWZ0LWVuZCkge1xuICAgIDAlIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG5cbiAgICA1MCUge1xuICAgICAgICBsZWZ0OiAzMHB4O1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBsZWZ0OiAwO1xuICAgIH1cbn1cblxuXG4ubGctb3V0ZXIge1xuICAgICYubGctcmlnaHQtZW5kIHtcbiAgICAgICAgLmxnLW9iamVjdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBhbmltYXRpb24obGctcmlnaHQtZW5kIDAuM3MpO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5sZy1sZWZ0LWVuZCB7XG4gICAgICAgIC5sZy1vYmplY3Qge1xuICAgICAgICAgICAgQGluY2x1ZGUgYW5pbWF0aW9uKGxnLWxlZnQtZW5kIDAuM3MpO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBsZyB0b29sYmFyXG4ubGctdG9vbGJhciB7XG4gICAgei1pbmRleDogJHppbmRleC10b29sYmFyO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGctdG9vbGJhci1iZztcblxuICAgIC5sZy1pY29uIHtcbiAgICAgICAgY29sb3I6ICRsZy10b29sYmFyLWljb24tY29sb3I7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIGhlaWdodDogNDdweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIG91dGxpbmU6IG1lZGl1bSBub25lO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGNvbG9yIDAuMnMgbGluZWFyKTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbGctdG9vbGJhci1pY29uLWhvdmVyLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxnLWNsb3NlIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZTA3MFwiO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxnLWRvd25sb2FkIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZTBmMlwiO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBsaWdodEdhbGxlcnkgdGl0bGVcbi5sZy1zdWItaHRtbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxnLXN1Yi1odG1sLWJnO1xuICAgIGJvdHRvbTogMDtcbiAgICBjb2xvcjogJGxnLXN1Yi1odG1sLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsZWZ0OiAwO1xuICAgIHBhZGRpbmc6IDEwcHggNDBweDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHotaW5kZXg6ICR6aW5kZXgtc3ViaHRtbDtcblxuICAgIGg0IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIG1hcmdpbjogNXB4IDAgMDtcbiAgICB9XG59XG5cbi8vIGxnIGltYWdlIGNvdW50ZXJcbiNsZy1jb3VudGVyIHtcbiAgICBjb2xvcjogJGxnLWljb24tY29sb3I7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJGxnLWNvdW50ZXItZm9udC1zaXplO1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vLyBmb3IgaWRsZSBzdGF0ZVxuLmxnLXRvb2xiYXIsIC5sZy1wcmV2LCAubGctbmV4dCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uQ3VzdG9tKHRyYW5zZm9ybSAwLjM1cyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHMsIG9wYWNpdHkgMC4zNXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpIDBzLCBjb2xvciAwLjJzIGxpbmVhcik7XG59XG5cbi5sZy1oaWRlLWl0ZW1zIHtcbiAgICAubGctcHJldiB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB9XG5cbiAgICAubGctbmV4dCB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIH1cblxuICAgIC5sZy10b29sYmFyIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICAgIH1cbn1cblxuLy8gU3RhcnRpbmcgZWZmZWN0XG5ib2R5Om5vdCgubGctZnJvbS1oYXNoKXtcbiAgICAubGctb3V0ZXIge1xuICAgICAgICAmLmxnLXN0YXJ0LXpvb217XG4gICAgICAgICAgICAubGctb2JqZWN0e1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNjYWxlM2QoMC41LCAwLjUsIDAuNSk7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uQ3VzdG9tKHRyYW5zZm9ybSAyNTBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHMsIG9wYWNpdHkgMjUwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpICFpbXBvcnRhbnQpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oNTAlIDUwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubGctaXRlbS5sZy1jb21wbGV0ZXtcbiAgICAgICAgICAgICAgICAubGctb2JqZWN0e1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzY2FsZTNkKDEsIDEsIDEpO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIvLyBWZW5kb3IgUHJlZml4ZXNcbi8vXG4vLyBBbGwgdmVuZG9yIG1peGlucyBhcmUgZGVwcmVjYXRlZCBhcyBvZiB2My4yLjAgZHVlIHRvIHRoZSBpbnRyb2R1Y3Rpb24gb2Zcbi8vIEF1dG9wcmVmaXhlciBpbiBvdXIgR3J1bnRmaWxlLiBUaGV5IHdpbGwgYmUgcmVtb3ZlZCBpbiB2NC5cblxuLy8gLSBBbmltYXRpb25zXG4vLyAtIEJhY2tmYWNlIHZpc2liaWxpdHlcbi8vIC0gQm94IHNoYWRvd1xuLy8gLSBCb3ggc2l6aW5nXG4vLyAtIENvbnRlbnQgY29sdW1uc1xuLy8gLSBIeXBoZW5zXG4vLyAtIFBsYWNlaG9sZGVyIHRleHRcbi8vIC0gVHJhbnNmb3JtYXRpb25zXG4vLyAtIFRyYW5zaXRpb25zXG4vLyAtIFVzZXIgU2VsZWN0XG4vLyAtIGN1cnNvciBncmFiXG5cbi8vIEFuaW1hdGlvbnNcbkBtaXhpbiBhbmltYXRpb24oJGFuaW1hdGlvbikge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uOiAkYW5pbWF0aW9uO1xuICAgIC1vLWFuaW1hdGlvbjogJGFuaW1hdGlvbjtcbiAgICBhbmltYXRpb246ICRhbmltYXRpb247XG59XG5cbkBtaXhpbiBhbmltYXRpb24tbmFtZSgkbmFtZSkge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ICRuYW1lO1xuICAgIGFuaW1hdGlvbi1uYW1lOiAkbmFtZTtcbn1cblxuQG1peGluIGFuaW1hdGlvbi1kdXJhdGlvbigkZHVyYXRpb24pIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbigkdGltaW5nLWZ1bmN0aW9uKSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nLWZ1bmN0aW9uO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG59XG5cbkBtaXhpbiBhbmltYXRpb24tZGVsYXkoJGRlbGF5KSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6ICRkZWxheTtcbiAgICBhbmltYXRpb24tZGVsYXk6ICRkZWxheTtcbn1cblxuQG1peGluIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQoJGl0ZXJhdGlvbi1jb3VudCkge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogJGl0ZXJhdGlvbi1jb3VudDtcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAkaXRlcmF0aW9uLWNvdW50O1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLWRpcmVjdGlvbigkZGlyZWN0aW9uKSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xuICAgIGFuaW1hdGlvbi1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG59XG5cbkBtaXhpbiBhbmltYXRpb24tZmlsbC1tb2RlKCRmaWxsLW1vZGUpIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6ICRmaWxsLW1vZGU7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogJGZpbGwtbW9kZTtcbn1cblxuQG1peGluIGtleWZyYW1lcygkbmFtZSkge1xuICAgIEAtd2Via2l0LWtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIEAtbW96LWtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIEAtbXMta2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuLy8gQmFja2ZhY2UgdmlzaWJpbGl0eVxuLy8gUHJldmVudCBicm93c2VycyBmcm9tIGZsaWNrZXJpbmcgd2hlbiB1c2luZyBDU1MgM0QgdHJhbnNmb3Jtcy5cbi8vIERlZmF1bHQgdmFsdWUgaXMgYHZpc2libGVgLCBidXQgY2FuIGJlIGNoYW5nZWQgdG8gYGhpZGRlbmBcblxuQG1peGluIGJhY2tmYWNlLXZpc2liaWxpdHkoJHZpc2liaWxpdHkpIHtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6ICR2aXNpYmlsaXR5O1xuICAgIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogJHZpc2liaWxpdHk7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogJHZpc2liaWxpdHk7XG59XG5cbi8vIERyb3Agc2hhZG93c1xuLy9cbi8vIE5vdGU6IERlcHJlY2F0ZWQgYC5ib3gtc2hhZG93KClgIGFzIG9mIHYzLjEuMCBzaW5jZSBhbGwgb2YgQm9vdHN0cmFwJ3Ncbi8vIHN1cHBvcnRlZCBicm93c2VycyB0aGF0IGhhdmUgYm94IHNoYWRvdyBjYXBhYmlsaXRpZXMgbm93IHN1cHBvcnQgaXQuXG5cbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7IC8vIGlPUyA8NC4zICYgQW5kcm9pZCA8NC4xXG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuLy8gQm94IHNpemluZ1xuQG1peGluIGJveC1zaXppbmcoJGJveG1vZGVsKSB7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkYm94bW9kZWw7XG4gICAgLW1vei1ib3gtc2l6aW5nOiAkYm94bW9kZWw7XG4gICAgYm94LXNpemluZzogJGJveG1vZGVsO1xufVxuXG4vLyBDU1MzIENvbnRlbnQgQ29sdW1uc1xuQG1peGluIGNvbnRlbnQtY29sdW1ucygkY29sdW1uLWNvdW50LCAkY29sdW1uLWdhcDogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICRjb2x1bW4tY291bnQ7XG4gICAgLW1vei1jb2x1bW4tY291bnQ6ICRjb2x1bW4tY291bnQ7XG4gICAgY29sdW1uLWNvdW50OiAkY29sdW1uLWNvdW50O1xuICAgIC13ZWJraXQtY29sdW1uLWdhcDogJGNvbHVtbi1nYXA7XG4gICAgLW1vei1jb2x1bW4tZ2FwOiAkY29sdW1uLWdhcDtcbiAgICBjb2x1bW4tZ2FwOiAkY29sdW1uLWdhcDtcbn1cblxuLy8gT3B0aW9uYWwgaHlwaGVuYXRpb25cbkBtaXhpbiBoeXBoZW5zKCRtb2RlOiBhdXRvKSB7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIC13ZWJraXQtaHlwaGVuczogJG1vZGU7XG4gICAgLW1vei1oeXBoZW5zOiAkbW9kZTtcbiAgICAtbXMtaHlwaGVuczogJG1vZGU7IC8vIElFMTArXG4gICAgLW8taHlwaGVuczogJG1vZGU7XG4gICAgaHlwaGVuczogJG1vZGU7XG59XG5cbi8vIFRyYW5zZm9ybWF0aW9uc1xuQG1peGluIHNjYWxlKCRyYXRpby4uLikge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTtcbn1cblxuQG1peGluIHNjYWxlWCgkcmF0aW8pIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKCRyYXRpbyk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGVYKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgLW8tdHJhbnNmb3JtOiBzY2FsZVgoJHJhdGlvKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgkcmF0aW8pO1xufVxuXG5AbWl4aW4gc2NhbGVZKCRyYXRpbykge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVkoJHJhdGlvKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZVkoJHJhdGlvKTsgLy8gSUU5IG9ubHlcbiAgICAtby10cmFuc2Zvcm06IHNjYWxlWSgkcmF0aW8pO1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKCRyYXRpbyk7XG59XG5cbkBtaXhpbiBza2V3KCR4LCAkeSkge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgkeCkgc2tld1koJHkpO1xuICAgIC1tcy10cmFuc2Zvcm06IHNrZXdYKCR4KSBza2V3WSgkeSk7IC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzQ4ODU7IElFOStcbiAgICAtby10cmFuc2Zvcm06IHNrZXdYKCR4KSBza2V3WSgkeSk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgkeCkgc2tld1koJHkpO1xufVxuXG5AbWl4aW4gdHJhbnNsYXRlKCR4LCAkeSkge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHgsICR5KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHgsICR5KTsgLy8gSUU5IG9ubHlcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeCwgJHkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7XG59XG5cbkBtaXhpbiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCR4LCAkeSwgJHopO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHgsICR5LCAkeik7XG59XG5cbkBtaXhpbiBzY2FsZTNkKCR4LCAkeSwgJHopIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgkeCwgJHksICR6KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoJHgsICR5LCAkeik7XG59XG5cbkBtaXhpbiByb3RhdGUoJGRlZ3JlZXMpIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpOyAvLyBJRTkgb25seVxuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG59XG5cbkBtaXhpbiByb3RhdGVYKCRkZWdyZWVzKSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVgoJGRlZ3JlZXMpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZVgoJGRlZ3JlZXMpOyAvLyBJRTkgb25seVxuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlWCgkZGVncmVlcyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKCRkZWdyZWVzKTtcbn1cblxuQG1peGluIHJvdGF0ZVkoJGRlZ3JlZXMpIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7IC8vIElFOSBvbmx5XG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGVZKCRkZWdyZWVzKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoJGRlZ3JlZXMpO1xufVxuXG5AbWl4aW4gcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSB7XG4gICAgLXdlYmtpdC1wZXJzcGVjdGl2ZTogJHBlcnNwZWN0aXZlO1xuICAgIC1tb3otcGVyc3BlY3RpdmU6ICRwZXJzcGVjdGl2ZTtcbiAgICBwZXJzcGVjdGl2ZTogJHBlcnNwZWN0aXZlO1xufVxuXG5AbWl4aW4gcGVyc3BlY3RpdmUtb3JpZ2luKCRwZXJzcGVjdGl2ZSkge1xuICAgIC13ZWJraXQtcGVyc3BlY3RpdmUtb3JpZ2luOiAkcGVyc3BlY3RpdmU7XG4gICAgLW1vei1wZXJzcGVjdGl2ZS1vcmlnaW46ICRwZXJzcGVjdGl2ZTtcbiAgICBwZXJzcGVjdGl2ZS1vcmlnaW46ICRwZXJzcGVjdGl2ZTtcbn1cblxuQG1peGluIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbikge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbiAgICAtbW96LXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG4gICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47IC8vIElFOSBvbmx5XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbn1cblxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG4vLyBUcmFuc2l0aW9uc1xuXG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgLW8tdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLXByb3BlcnR5KCR0cmFuc2l0aW9uLXByb3BlcnR5Li4uKSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAkdHJhbnNpdGlvbi1wcm9wZXJ0eTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiAkdHJhbnNpdGlvbi1wcm9wZXJ0eTtcbn1cblxuQG1peGluIHRyYW5zaXRpb24tZGVsYXkoJHRyYW5zaXRpb24tZGVsYXkpIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6ICR0cmFuc2l0aW9uLWRlbGF5O1xuICAgIHRyYW5zaXRpb24tZGVsYXk6ICR0cmFuc2l0aW9uLWRlbGF5O1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1kdXJhdGlvbigkdHJhbnNpdGlvbi1kdXJhdGlvbi4uLikge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogJHRyYW5zaXRpb24tZHVyYXRpb247XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHRyYW5zaXRpb24tZHVyYXRpb247XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbigkdGltaW5nLWZ1bmN0aW9uKSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbn1cblxuQG1peGluIHRyYW5zaXRpb24tdHJhbnNmb3JtKCR0cmFuc2l0aW9uLi4uKSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgICAtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICAgIC1vLXRyYW5zaXRpb246IC1vLXRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb247XG59XG5cbi8vIHRyYW5zaXRpb24gY3VzdG9tXG5cbkBmdW5jdGlvbiBwcmVmaXgoJHByb3BlcnR5LCAkcHJlZml4ZXM6IHdlYmtpdCBtb3ogbyBtcykge1xuICAgICR2ZW5kb3ItcHJlZml4ZWQtcHJvcGVydGllczogdHJhbnNmb3JtIGJhY2tncm91bmQtY2xpcCBiYWNrZ3JvdW5kLXNpemU7XG4gICAgJHJlc3VsdDogKCk7XG5cbiAgICBAZWFjaCAkcHJlZml4IGluICRwcmVmaXhlcyB7XG4gICAgICAgIEBpZiBpbmRleCgkdmVuZG9yLXByZWZpeGVkLXByb3BlcnRpZXMsICRwcm9wZXJ0eSkge1xuICAgICAgICAgICAgJHByb3BlcnR5OiAtI3skcHJlZml4fS0jeyRwcm9wZXJ0eX07XG4gICAgICAgIH1cbiAgICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsICRwcm9wZXJ0eSk7XG4gICAgfVxuICAgIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuQGZ1bmN0aW9uIHRyYW5zLXByZWZpeCgkdHJhbnNpdGlvbiwgJHByZWZpeDogbW96KSB7XG4gICAgJHByZWZpeGVkOiAoKTtcblxuICAgIEBlYWNoICR0cmFucyBpbiAkdHJhbnNpdGlvbiB7XG4gICAgICAgICRwcm9wLW5hbWU6IG50aCgkdHJhbnMsIDEpO1xuICAgICAgICAkdmVuZG9yLXByb3AtbmFtZTogcHJlZml4KCRwcm9wLW5hbWUsICRwcmVmaXgpO1xuICAgICAgICAkcHJvcC12YWxzOiBudGgoJHRyYW5zLCAyKTtcbiAgICAgICAgJHByZWZpeGVkOiBhcHBlbmQoJHByZWZpeGVkLCAkdmVuZG9yLXByb3AtbmFtZSAkcHJvcC12YWxzLCBjb21tYSk7XG4gICAgfVxuICAgIEByZXR1cm4gJHByZWZpeGVkO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbkN1c3RvbSgkdmFsdWVzLi4uKSB7XG4gICAgJHRyYW5zaXRpb25zOiAoKTtcblxuICAgIEBlYWNoICRkZWNsYXJhdGlvbiBpbiAkdmFsdWVzIHtcbiAgICAgICAgJHByb3A6IG50aCgkZGVjbGFyYXRpb24sIDEpO1xuICAgICAgICAkcHJvcC1vcHRzOiAoKTtcbiAgICAgICAgJGxlbmd0aDogbGVuZ3RoKCRkZWNsYXJhdGlvbik7XG5cbiAgICAgICAgQGlmICRsZW5ndGggPj0gMiB7XG4gICAgICAgICAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRsZW5ndGgge1xuICAgICAgICAgICAgICAgICRwcm9wLW9wdHM6IGFwcGVuZCgkcHJvcC1vcHRzLCBudGgoJGRlY2xhcmF0aW9uLCAkaSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICR0cmFuczogJHByb3AsICRwcm9wLW9wdHM7XG4gICAgICAgICR0cmFuc2l0aW9uczogYXBwZW5kKCR0cmFuc2l0aW9ucywgJHRyYW5zLCBjb21tYSk7XG4gICAgfVxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogdHJhbnMtcHJlZml4KCR0cmFuc2l0aW9ucywgd2Via2l0KTtcbiAgICAtbW96LXRyYW5zaXRpb246IHRyYW5zLXByZWZpeCgkdHJhbnNpdGlvbnMsIG1veik7XG4gICAgLW8tdHJhbnNpdGlvbjogdHJhbnMtcHJlZml4KCR0cmFuc2l0aW9ucywgbyk7XG4gICAgdHJhbnNpdGlvbjogJHZhbHVlcztcbn1cblxuLy8gVXNlciBzZWxlY3Rcbi8vIEZvciBzZWxlY3RpbmcgdGV4dCBvbiB0aGUgcGFnZVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdCkge1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7IC8vIElFMTArXG4gICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbi8vIG1vdXNlIGdyYWJcblxuQG1peGluIGdyYWItY3Vyc29yIHtcbiAgICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcbiAgICBjdXJzb3I6IC1tb3otZ3JhYjtcbiAgICBjdXJzb3I6IC1vLWdyYWI7XG4gICAgY3Vyc29yOiAtbXMtZ3JhYjtcbiAgICBjdXJzb3I6IGdyYWI7XG59XG5cbkBtaXhpbiBncmFiYmluZy1jdXJzb3Ige1xuICAgIGN1cnNvcjogbW92ZTtcbiAgICBjdXJzb3I6IC13ZWJraXQtZ3JhYmJpbmc7XG4gICAgY3Vyc29yOiAtbW96LWdyYWJiaW5nO1xuICAgIGN1cnNvcjogLW8tZ3JhYmJpbmc7XG4gICAgY3Vyc29yOiAtbXMtZ3JhYmJpbmc7XG4gICAgY3Vyc29yOiBncmFiYmluZztcbn1cbiIsIi5sZy1vdXRlciB7XG4gICAgLmxnLXRodW1iLW91dGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxnLXRodW1iLWJnO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6ICR6aW5kZXgtdGh1bWJuYWlsO1xuICAgICAgICBtYXgtaGVpZ2h0OiAzNTBweDtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb25DdXN0b20odHJhbnNmb3JtIDAuMjVzIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAwcyk7XG5cbiAgICAgICAgJi5sZy1ncmFiIHtcbiAgICAgICAgICAgIC5sZy10aHVtYi1pdGVtIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBncmFiLWN1cnNvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYubGctZ3JhYmJpbmcge1xuICAgICAgICAgICAgLmxnLXRodW1iLWl0ZW0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdyYWJiaW5nLWN1cnNvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYubGctZHJhZ2dpbmcge1xuICAgICAgICAgICAgLmxnLXRodW1iIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWR1cmF0aW9uKDBzICFpbXBvcnRhbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYubGctdGh1bWItb3BlbntcbiAgICAgICAgLmxnLXRodW1iLW91dGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKDAsIDAlLCAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sZy10aHVtYiB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAtNXB4O1xuICAgIH1cblxuICAgIC5sZy10aHVtYi1pdGVtIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNGRkY7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJvcmRlci1jb2xvciAwLjI1cyBlYXNlKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlLCAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGxnLXRoZW1lLWhpZ2hsaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5sZy1oYXMtdGh1bWIge1xuICAgICAgICAubGctaXRlbSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTIwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmxnLWNhbi10b2dnbGUge1xuICAgICAgICAubGctaXRlbSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmxnLXB1bGwtY2FwdGlvbi11cHtcbiAgICAgICAgLmxnLXN1Yi1odG1sIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYm90dG9tIDAuMjVzIGVhc2UpO1xuICAgICAgICB9XG4gICAgICAgICYubGctdGh1bWItb3BlbntcbiAgICAgICAgICAgIC5sZy1zdWItaHRtbCB7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAxMDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sZy10b2dnbGUtdGh1bWIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGctdGh1bWItdG9nZ2xlLWJnO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkbGctYm9yZGVyLXJhZGl1cy1iYXNlICRsZy1ib3JkZXItcmFkaXVzLWJhc2UgMCAwO1xuICAgICAgICBjb2xvcjogJGxnLXRodW1iLXRvZ2dsZS1jb2xvcjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIGhlaWdodDogMzlweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgICAgIHBhZGRpbmc6IDVweCAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRvcDogLTM5cHg7XG4gICAgICAgIHdpZHRoOiA1MHB4O1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcXGUxZmZcIjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRsZy10aHVtYi10b2dnbGUtaG92ZXItY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLmxnLW91dGVyIHtcbiAgICAubGctdmlkZW8tY29udCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMTQwcHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICB9XG5cbiAgICAubGctdmlkZW8ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLmxnLW9iamVjdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLmxnLXZpZGVvLXBsYXkge1xuICAgICAgICAgICAgd2lkdGg6IDg0cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDU5cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNDJweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0zMHB4O1xuICAgICAgICAgICAgei1pbmRleDogJHppbmRleC1wbGF5YnV0dG9uO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxnLWhhcy12aW1lb3tcbiAgICAgICAgLmxnLXZpZGVvLXBsYXl7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIjeyRsZy1wYXRoLWltYWdlc30vdmltZW8tcGxheS5wbmdcIikgbm8tcmVwZWF0IHNjcm9sbCAwIDAgdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgIC5sZy12aWRlby1wbGF5e1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIiN7JGxnLXBhdGgtaW1hZ2VzfS92aW1lby1wbGF5LnBuZ1wiKSBuby1yZXBlYXQgc2Nyb2xsIDAgLTU4cHggdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9IFxuXG4gICAgICAgIH0gIFxuICAgIH1cblxuICAgIC5sZy1oYXMtaHRtbDV7XG4gICAgICAgIC5sZy12aWRlby1wbGF5e1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKFwiI3skbGctcGF0aC1pbWFnZXN9L3ZpZGVvLXBsYXkucG5nXCIpIG5vLXJlcGVhdCBzY3JvbGwgMCAwO1xuICAgICAgICAgICAgaGVpZ2h0OiA2NHB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0zMnB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTMycHg7XG4gICAgICAgICAgICB3aWR0aDogNjRweDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgICAgfSAgXG4gICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAubGctdmlkZW8tcGxheXtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxXG4gICAgICAgICAgICB9IFxuXG4gICAgICAgIH0gXG4gICAgfVxuXG4gICAgLmxnLWhhcy15b3V0dWJle1xuICAgICAgICAubGctdmlkZW8tcGxheXtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIiN7JGxnLXBhdGgtaW1hZ2VzfS95b3V0dWJlLXBsYXkucG5nXCIpIG5vLXJlcGVhdCBzY3JvbGwgMCAwIHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAubGctdmlkZW8tcGxheXtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIjeyRsZy1wYXRoLWltYWdlc30veW91dHViZS1wbGF5LnBuZ1wiKSBuby1yZXBlYXQgc2Nyb2xsIDAgLTYwcHggdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9IFxuXG4gICAgICAgIH0gIFxuICAgIH1cbiAgICAubGctdmlkZW8tb2JqZWN0IHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgIH1cblxuICAgIC5sZy1oYXMtdmlkZW8ge1xuICAgICAgICAubGctdmlkZW8tb2JqZWN0IHtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgICYubGctdmlkZW8tcGxheWluZyB7XG4gICAgICAgICAgICAubGctb2JqZWN0LCAubGctdmlkZW8tcGxheSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmxnLXZpZGVvLW9iamVjdCB7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIubGctcHJvZ3Jlc3MtYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGctcHJvZ3Jlc3MtYmFyLWJnO1xuICAgIGhlaWdodDogJGxnLXByb2dyZXNzLWJhci1oZWlnaHQ7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6ICR6aW5kZXgtcHJvZ3Jlc3NiYXI7XG4gICAgb3BhY2l0eTogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uQ3VzdG9tKG9wYWNpdHkgMC4wOHMgZWFzZSAwcyk7XG5cbiAgICAubGctcHJvZ3Jlc3Mge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGctcHJvZ3Jlc3MtYmFyLWFjdGl2ZS1iZztcbiAgICAgICAgaGVpZ2h0OiAkbGctcHJvZ3Jlc3MtYmFyLWhlaWdodDtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgfVxuXG4gICAgJi5sZy1zdGFydCB7XG4gICAgICAgIC5sZy1wcm9ncmVzcyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sZy1zaG93LWF1dG9wbGF5ICYge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuLmxnLWF1dG9wbGF5LWJ1dHRvbiB7XG4gICAgJjphZnRlciB7XG4gICAgICAgIC5sZy1zaG93LWF1dG9wbGF5ICYge1xuICAgICAgICAgICAgY29udGVudDogXCJcXGUwMWFcIjtcbiAgICAgICAgfVxuICAgICAgICBjb250ZW50OiBcIlxcZTAxZFwiO1xuICAgIH1cbn0iLCIubGctb3V0ZXIge1xuICAgIC8vIHJlc2V0IHRyYW5zaXRpb24gZHVyYXRpb25cbiAgICAmLmxnLWNzczMubGctem9vbS1kcmFnZ2luZyB7XG4gICAgICAgIC5sZy1pdGVtLmxnLWNvbXBsZXRlLmxnLXpvb21hYmxlIHtcbiAgICAgICAgICAgIC5sZy1pbWctd3JhcCwgLmxnLWltYWdlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWR1cmF0aW9uKDBzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmxnLXVzZS10cmFuc2l0aW9uLWZvci16b29tIHtcbiAgICAgICAgLmxnLWl0ZW0ubGctY29tcGxldGUubGctem9vbWFibGUge1xuICAgICAgICAgICAgLmxnLWltZy13cmFwIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uQ3VzdG9tKHRyYW5zZm9ybSAkem9vbS10cmFuc2l0aW9uLWR1cmF0aW9uIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAwcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5sZy11c2UtbGVmdC1mb3Item9vbSB7XG4gICAgICAgIC5sZy1pdGVtLmxnLWNvbXBsZXRlLmxnLXpvb21hYmxlIHtcbiAgICAgICAgICAgIC5sZy1pbWctd3JhcCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbkN1c3RvbShsZWZ0ICR6b29tLXRyYW5zaXRpb24tZHVyYXRpb24gY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpIDBzLCB0b3AgJHpvb20tdHJhbnNpdGlvbi1kdXJhdGlvbiBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxnLWl0ZW0ubGctY29tcGxldGUubGctem9vbWFibGV7XG5cbiAgICAgICAgLmxnLWltZy13cmFwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAgICAgQGluY2x1ZGUgYmFja2ZhY2UtdmlzaWJpbGl0eShoaWRkZW4pO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxnLWltYWdlIHtcbiAgICAgICAgICAgIC8vIFRyYW5zbGF0ZSByZXF1aXJlZCBmb3Igem9vbVxuICAgICAgICAgICAgQGluY2x1ZGUgc2NhbGUzZCgxLCAxLCAxKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb25DdXN0b20odHJhbnNmb3JtICR6b29tLXRyYW5zaXRpb24tZHVyYXRpb24gY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpIDBzLCBvcGFjaXR5IDAuMTVzICFpbXBvcnRhbnQpO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigwIDApO1xuICAgICAgICAgICAgQGluY2x1ZGUgYmFja2ZhY2UtdmlzaWJpbGl0eShoaWRkZW4pO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi8vIHpvb20gYnV0dG9uc1xuI2xnLXpvb20taW4ge1xuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlxcZTMxMVwiO1xuICAgIH1cbn1cblxuI2xnLWFjdHVhbC1zaXplIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlMDMzXCI7XG4gICAgfVxufVxuXG4jbGctem9vbS1vdXQge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlxcZTMxMlwiO1xuICAgIH1cblxuICAgIC5sZy16b29tZWQgJiB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIH1cbn0iLCIubGctb3V0ZXIge1xuICAgIC5sZy1wYWdlci1vdXRlciB7XG4gICAgICAgIGJvdHRvbTogNjBweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB6LWluZGV4OiAkemluZGV4LXBhZ2VyO1xuICAgICAgICBoZWlnaHQ6IDEwcHg7XG5cbiAgICAgICAgJi5sZy1wYWdlci1ob3ZlciB7XG4gICAgICAgICAgICAubGctcGFnZXItY29udCB7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubGctcGFnZXItY29udCB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIG1hcmdpbjogMCA1cHg7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAubGctcGFnZXItdGh1bWItY29udCB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYubGctcGFnZXItYWN0aXZlIHtcbiAgICAgICAgICAgIC5sZy1wYWdlciB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHdoaXRlIGluc2V0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxnLXBhZ2VyLXRodW1iLWNvbnQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBjb2xvcjogI0ZGRjtcbiAgICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDgzcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtNjBweDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uQ3VzdG9tKG9wYWNpdHkgMC4xNXMgZWFzZSAwcywgdHJhbnNmb3JtIDAuMTVzIGVhc2UgMHMpO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sZy1wYWdlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCA4cHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpIGluc2V0O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJveC1zaGFkb3cgMC4zcyBlYXNlIDBzKTtcbiAgICAgICAgd2lkdGg6IDEycHg7XG5cbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCA4cHggd2hpdGUgaW5zZXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubGctY2FyZXQge1xuICAgICAgICBib3JkZXItbGVmdDogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItdG9wOiAxMHB4IGRhc2hlZDtcbiAgICAgICAgYm90dG9tOiAtMTBweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgfVxufSIsIi5sZy1mdWxsc2NyZWVuIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcXGUyMGNcIjtcblxuICAgICAgICAubGctZnVsbHNjcmVlbi1vbiAmIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlMjBkXCI7XG4gICAgICAgIH1cbiAgICB9XG59IiwiQGltcG9ydCBcImxnLXZhcmlhYmxlc1wiO1xuQGltcG9ydCBcImxnLW1peGluc1wiO1xuLmxnLW91dGVyIHtcblxuICAgICNsZy1kcm9wZG93bi1vdmVybGF5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogJHppbmRleC10b29sYmFyIC0gMTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHZpc2liaWxpdHkgMHMgbGluZWFyIDAuMThzLCBvcGFjaXR5IDAuMThzIGxpbmVhciAwcyk7XG4gICAgfVxuICAgICYubGctZHJvcGRvd24tYWN0aXZle1xuICAgICAgICAubGctZHJvcGRvd24sICNsZy1kcm9wZG93bi1vdmVybGF5IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tZGVsYXkoMHMpO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZTNkKDAsIDBweCwgMCkpO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIH1cbiAgICAgICAgI2xnLXNoYXJlIHtcbiAgICAgICAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5sZy1kcm9wZG93biB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB0b3A6IDUwcHg7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZTNkKDAsIDVweCwgMCkpO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uQ3VzdG9tKHRyYW5zZm9ybSAwLjE4cyBsaW5lYXIgMHMsIHZpc2liaWxpdHkgMHMgbGluZWFyIDAuNXMsIG9wYWNpdHkgMC4xOHMgbGluZWFyIDBzKTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm9yZGVyOiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjRkZGO1xuICAgICAgICAgICAgcmlnaHQ6IDE2cHg7XG4gICAgICAgICAgICB0b3A6IC0xNnB4XG4gICAgICAgIH1cbiAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGEsIC5sZy1pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMzMzM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICMzMzM7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBwcmU7XG4gICAgICAgICAgICBwYWRkaW5nOiA0cHggMTJweDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLFwiSGVsdmV0aWNhIE5ldWVcIixIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgICAgICAubGctZHJvcGRvd24tdGV4dCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB9XG4gICAgICAgIC5sZy1pY29uIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMzMzO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cbiAgICAjbGctc2hhcmUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcXGU4MGRcIjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAjbGctc2hhcmUtZmFjZWJvb2sge1xuICAgICAgICAubGctaWNvbntcbiAgICAgICAgICAgIGNvbG9yOiAjM2I1OTk4O1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGU5MDFcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSAgIFxuICAgIH1cbiAgICAjbGctc2hhcmUtdHdpdHRlciB7XG4gICAgICAgIC5sZy1pY29ue1xuICAgICAgICAgICAgY29sb3I6ICMwMGFjZWQ7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZTkwNFwiO1xuICAgICAgICAgICAgfVxuICAgICAgICB9ICBcbiAgICB9XG4gICAgI2xnLXNoYXJlLWdvb2dsZXBsdXMge1xuICAgICAgICAubGctaWNvbntcbiAgICAgICAgICAgIGNvbG9yOiAjZGQ0YjM5O1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGU5MDJcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSAgXG4gICAgfVxuICAgICNsZy1zaGFyZS1waW50ZXJlc3Qge1xuICAgICAgICAubGctaWNvbntcbiAgICAgICAgICAgIGNvbG9yOiAjY2IyMDI3O1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGU5MDNcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSAgXG4gICAgfVxufSIsIi8vIENvcmUgdmFyaWFibGVzIGFuZCBtaXhpbnNcbkBpbXBvcnQgXCJsZy12YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJsZy1taXhpbnNcIjtcbkBpbXBvcnQgXCJsZy1mb250c1wiO1xuQGltcG9ydCBcImxnLXRoZW1lLWRlZmF1bHRcIjtcbkBpbXBvcnQgXCJsZy10aHVtYm5haWxcIjtcbkBpbXBvcnQgXCJsZy12aWRlb1wiO1xuQGltcG9ydCBcImxnLWF1dG9wbGF5XCI7XG5AaW1wb3J0IFwibGctem9vbVwiO1xuQGltcG9ydCBcImxnLXBhZ2VyXCI7XG5AaW1wb3J0IFwibGctZnVsbHNjcmVlblwiO1xuQGltcG9ydCBcImxnLXNoYXJlXCI7XG5cbi8vIENsZWFyZml4XG4uZ3JvdXAge1xuICAgICp6b29tOiAxO1xufVxuXG4uZ3JvdXA6YmVmb3JlLCAuZ3JvdXA6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbi5ncm91cDphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG59XG5cbi8vIGxpZ2h0Z2FsbGVyeSBjb3JlXG4ubGctb3V0ZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJHppbmRleC1vdXRlcjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vIEZvciBzdGFydC9lbmQgdHJhbnNpdGlvblxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAwLjE1cyBlYXNlIDBzKTtcblxuICAgICoge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xuICAgIH1cblxuICAgICYubGctdmlzaWJsZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgLy8gU2V0IHRyYW5zaXRpb24gc3BlZWQgYW5kIHRpbWluZyBmdW5jdGlvblxuICAgICYubGctY3NzMyB7XG4gICAgICAgIC5sZy1pdGVtIHtcbiAgICAgICAgICAgICYubGctcHJldi1zbGlkZSwgJi5sZy1uZXh0LXNsaWRlLCAmLmxnLWN1cnJlbnQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tZHVyYXRpb24oaW5oZXJpdCAhaW1wb3J0YW50KTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbihpbmhlcml0ICFpbXBvcnRhbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIHRyYW5zaXRpb24gd2hpbGUgZHJhZ2dpbmdcbiAgICAmLmxnLWNzczMubGctZHJhZ2dpbmcge1xuICAgICAgICAubGctaXRlbSB7XG4gICAgICAgICAgICAmLmxnLXByZXYtc2xpZGUsICYubGctbmV4dC1zbGlkZSwgJi5sZy1jdXJyZW50IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWR1cmF0aW9uKDBzICFpbXBvcnRhbnQpO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXQgY3Vyc29yIGdyYWIgd2hpbGUgZHJhZ2dpbmdcbiAgICAmLmxnLWdyYWIge1xuICAgICAgICBpbWcubGctb2JqZWN0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyYWItY3Vyc29yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5sZy1ncmFiYmluZyB7XG4gICAgICAgIGltZy5sZy1vYmplY3Qge1xuICAgICAgICAgICAgQGluY2x1ZGUgZ3JhYmJpbmctY3Vyc29yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxnIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgLmxnLWlubmVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLmxnLWl0ZW0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIjeyRsZy1wYXRoLWltYWdlc30vbG9hZGluZy5naWZcIikgbm8tcmVwZWF0IHNjcm9sbCBjZW50ZXIgY2VudGVyIHRyYW5zcGFyZW50O1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IFxuICAgIH1cbiAgICAmLmxnLWNzczN7XG4gICAgICAgIC5sZy1wcmV2LXNsaWRlLCAubGctY3VycmVudCwgLmxnLW5leHQtc2xpZGV7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgXG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5sZy1jc3N7XG4gICAgICAgIC5sZy1jdXJyZW50e1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IFxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxnLWl0ZW0sIC5sZy1pbWctd3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogNTAlO1xuICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLTFweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sZy1pbWctd3JhcCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMFxuICAgIH1cblxuICAgIC5sZy1pdGVtIHtcbiAgICAgICAgJi5sZy1jb21wbGV0ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5sZy1jdXJyZW50IHtcbiAgICAgICAgICAgIHotaW5kZXg6ICR6aW5kZXgtaXRlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sZy1pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmLmxnLXNob3ctYWZ0ZXItbG9hZCB7XG4gICAgICAgIC5sZy1pdGVtIHtcbiAgICAgICAgICAgIC5sZy1vYmplY3QsIC5sZy12aWRlby1wbGF5IHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAwLjE1cyBlYXNlIDBzKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5sZy1jb21wbGV0ZSB7XG4gICAgICAgICAgICAgICAgLmxnLW9iamVjdCwgLmxnLXZpZGVvLXBsYXkge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhpZGUgdGl0bGUgZGl2IGlmIGVtcHR5XG4gICAgLmxnLWVtcHR5LWh0bWwge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYubGctaGlkZS1kb3dubG9hZHtcbiAgICAgICAgI2xnLWRvd25sb2Fke1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbi5sZy1iYWNrZHJvcHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6ICR6aW5kZXgtYmFja2Ryb3A7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAwLjE1cyBlYXNlIDBzKTtcbiAgICAmLmlue1xuICAgICAgICBvcGFjaXR5OiAkYmFja2Ryb3Atb3BhY2l0eTtcbiAgICB9XG59XG5cbi8vIERlZmF1bHQgc2xpZGUgYW5pbWF0aW9ucy4gU2hvdWxkIGJlIHBsYWNlZCBhdCB0aGUgYm90dG9tIG9mIHRoZSBhbmltYXRpb24gY3NzXG4ubGctY3NzMyB7XG5cbiAgICAvLyBSZW1vdmUgYWxsIHRyYW5zaXRpb24gZWZmZWN0c1xuICAgICYubGctbm8tdHJhbnMge1xuICAgICAgICAubGctcHJldi1zbGlkZSwgLmxnLW5leHQtc2xpZGUsIC5sZy1jdXJyZW50IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb25DdXN0b20obm9uZSAwcyBlYXNlIDBzICFpbXBvcnRhbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5sZy11c2UtY3NzMyB7XG4gICAgICAgIC5sZy1pdGVtIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJhY2tmYWNlLXZpc2liaWxpdHkoaGlkZGVuKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYubGctdXNlLWxlZnQge1xuICAgICAgICAubGctaXRlbSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBiYWNrZmFjZS12aXNpYmlsaXR5KGhpZGRlbik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGYWRlIG1vZGVcbiAgICAmLmxnLWZhZGUge1xuICAgICAgICAubGctaXRlbSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuXG4gICAgICAgICAgICAmLmxnLWN1cnJlbnQge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIHRyYW5zaXRpb24gdGltaW5nIHByb3BlcnR5IGFuZCBkdXJhdGlvbiB3aWxsIGJlIG92ZXIgd3JpdHRlbiBmcm9tIGphdmFzY3JpcHRcbiAgICAgICAgICAgICYubGctcHJldi1zbGlkZSwgJi5sZy1uZXh0LXNsaWRlLCAmLmxnLWN1cnJlbnQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb25DdXN0b20ob3BhY2l0eSAwLjFzIGVhc2UgMHMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5sZy1zbGlkZSB7XG4gICAgICAgICYubGctdXNlLWNzczMge1xuICAgICAgICAgICAgLmxnLWl0ZW0ge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgICAgICAgICAgICAmLmxnLXByZXYtc2xpZGUge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5sZy1uZXh0LXNsaWRlIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5sZy1jdXJyZW50IHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gdHJhbnNpdGlvbiB0aW1pbmcgcHJvcGVydHkgYW5kIGR1cmF0aW9uIHdpbGwgYmUgb3ZlciB3cml0dGVuIGZyb20gamF2YXNjcmlwdFxuICAgICAgICAgICAgICAgICYubGctcHJldi1zbGlkZSwgJi5sZy1uZXh0LXNsaWRlLCAmLmxnLWN1cnJlbnQge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uQ3VzdG9tKHRyYW5zZm9ybSAxcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHMsIG9wYWNpdHkgMC4xcyBlYXNlIDBzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmxnLXVzZS1sZWZ0IHtcbiAgICAgICAgICAgIC5sZy1pdGVtIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICAgJi5sZy1wcmV2LXNsaWRlIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogLTEwMCU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5sZy1uZXh0LXNsaWRlIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmxnLWN1cnJlbnQge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIHRyYW5zaXRpb24gdGltaW5nIHByb3BlcnR5IGFuZCBkdXJhdGlvbiB3aWxsIGJlIG92ZXIgd3JpdHRlbiBmcm9tIGphdmFzY3JpcHRcbiAgICAgICAgICAgICAgICAmLmxnLXByZXYtc2xpZGUsICYubGctbmV4dC1zbGlkZSwgJi5sZy1jdXJyZW50IHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbkN1c3RvbShsZWZ0IDFzIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAwcywgb3BhY2l0eSAwLjFzIGVhc2UgMHMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCJAaW1wb3J0ICd+bGlnaHRnYWxsZXJ5LmpzL3NyYy9zYXNzL2xpZ2h0Z2FsbGVyeSc7XG5cbi5sZy1hY3Rpb25zIHtcblxuXHQubGctcHJldjo6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IG5vbmU7XG5cdH1cblxuXHQubGctbmV4dDo6YmVmb3JlIHtcblx0XHRjb250ZW50OiBub25lO1xuXHR9XG5cblx0LnN2ZyB7XG5cdFx0ZmlsbDogJGNvbG9yLXdoaXRlO1xuXHRcdHdpZHRoOiAzMHB4O1xuXHRcdGhlaWdodDogMzBweDtcblx0fVxufVxuXG4ubGctdG9vbGJhciAubGctY2xvc2U6OmFmdGVyIHtcblx0Zm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG5cdGNvbnRlbnQ6ICdcXDAwZDcnO1xufVxuXG4ubGctZG93bmxvYWQge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4udGh1bWJuYWlsLWdhbGxlcnkge1xuXHRAaW5jbHVkZSBjbGVhcmZpeDtcblxuXHQmX19pbWFnZSB7XG5cdFx0bG9zdC1jb2x1bW46IDEvMjtcblxuXHRcdEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuXHRcdFx0bG9zdC1jb2x1bW46IDEvMztcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtcShsYXJnZSkge1xuXHRcdFx0bG9zdC1jb2x1bW46IDEvNDtcblx0XHR9XG5cdH1cbn1cbiIsIi5nYWxsZXJ5LXNsaWRlciB7XG5cblxuXHQmX19zbGlkZSB7XG5cdFx0bWluLWhlaWdodDogMjUwcHg7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXG5cdFx0QGluY2x1ZGUgbXEobWVkaXVtKSB7XG5cdFx0XHRtaW4taGVpZ2h0OiA0MDBweDtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtcShsYXJnZSkge1xuXHRcdFx0bWluLWhlaWdodDogNTAwcHg7XG5cdFx0fVxuXHR9XG59XG4iLCIuaGVybyB7XG5cblx0aW1nIHtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxufVxuIiwiLmFsaWdubGVmdCB7XG5cdGZsb2F0OiBsZWZ0O1xuXHRtYXJnaW4tYm90dG9tOiB2cigxKTtcblx0bWFyZ2luLXJpZ2h0OiB2cigxKTtcblx0bWF4LXdpZHRoOiA1MCU7XG5cblx0QGluY2x1ZGUgbXEoJGdsb2JhbC13aWR0aCkge1xuXHRcdG1hcmdpbi1sZWZ0OiBjYWxjKCgxMDAlIC0gI3skZ2xvYmFsLXdpZHRofSkgLyAyKTtcblx0fVxufVxuXG4uYWxpZ25yaWdodCB7XG5cdGZsb2F0OiByaWdodDtcblx0bWFyZ2luLWJvdHRvbTogdnIoMSk7XG5cdG1hcmdpbi1sZWZ0OiB2cigxKTtcblx0bWF4LXdpZHRoOiA1MCU7XG5cblx0QGluY2x1ZGUgbXEoJGdsb2JhbC13aWR0aCkge1xuXHRcdG1hcmdpbi1yaWdodDogY2FsYygoMTAwJSAtICN7JGdsb2JhbC13aWR0aH0pIC8gMik7XG5cdH1cbn1cblxuLmFsaWduY2VudGVyIHtcblx0Y2xlYXI6IGJvdGg7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW4tYm90dG9tOiB2cigxKTtcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLmFsaWdud2lkZSB7XG5cdG1heC13aWR0aDogcmVtKCRnbG9iYWwtd2lkdGgtd2lkZSk7XG59XG5cbi5hbGlnbmZ1bGwge1xuXHRtYXJnaW4tbGVmdDogLSN7dnIoMSl9O1xuXHRtYXJnaW4tcmlnaHQ6IC0je3ZyKDEpfTtcblx0bWF4LXdpZHRoOiBjYWxjKDEwMCUgKyAje3ZyKDIpfSk7XG59XG5cbi51LWZsb2F0LWxlZnQge1xuXHRmbG9hdDogbGVmdDtcbn1cblxuLnUtZmxvYXQtcmlnaHQge1xuXHRmbG9hdDogcmlnaHQ7XG59XG5cbi51LWNsZWFyIHtcblx0Y2xlYXI6IGJvdGg7XG59XG5cbi51LXRleHQtY2VudGVyIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udS10ZXh0LWxlZnQge1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4udS10ZXh0LXJpZ2h0IHtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG59XG4iLCIuaGFzLWJsdWUtYmFja2dyb3VuZC1jb2xvciB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xufVxuXG4uaGFzLWdyZWVuLWJhY2tncm91bmQtY29sb3Ige1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc2Vjb25kYXJ5O1xufVxuXG4uaGFzLWJyb3duLWJhY2tncm91bmQtY29sb3Ige1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdGVydGlhcnk7XG59XG4iLCIvKipcbiAqIFJlZGVmaW5lIGFsbCBvZiBvdXIgYmFzaWMgaGVhZGluZyBzdHlsZXMgYWdhaW5zdCB1dGlsaXR5IGNsYXNzZXMgc28gYXMgdG9cbiAqIGFsbG93IGZvciBkb3VibGUgc3RyYW5kZWQgaGVhZGluZyBoaWVyYXJjaHksIGUuZy4gd2Ugc2VtYW50aWNhbGx5IG5lZWQgYW4gSDIsXG4gKiBidXQgd2Ugd2FudCBpdCB0byBiZSBzaXplZCBsaWtlIGFuIEgxOlxuICpcbiAqICAgPGgyIGNsYXNzPVwidS1oMVwiPjwvaDI+XG4gKlxuICovXG5cbi51LWgxLFxuLnUtaDIsXG4udS1oMyxcbi51LWg0LFxuLnUtaDUsXG4udS1oNiB7XG5cdGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktaGVhZGluZztcblx0Zm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1oZWFkaW5nO1xufVxuXG4udS1oMSB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDEpO1xufVxuXG4udS1oMiB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDIpO1xufVxuXG4udS1oMyB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDMpO1xufVxuXG4udS1oNCB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDQpO1xufVxuXG4udS1oNSB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDUpO1xufVxuXG4udS1oNiB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDYpO1xufVxuIiwiLyoqXG4gKiBIaWRlIG9ubHkgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnM6XG4gKiBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG4gKi9cblxuLnUtaGlkZS12aXN1YWxseSxcbi5zY3JlZW4tcmVhZGVyLXRleHQge1xuXHRAaW5jbHVkZSBoaWRlLXZpc3VhbGx5KCk7XG5cblx0Jjpmb2N1cyB7XG5cdFx0QGluY2x1ZGUgc2hvdy12aXN1YWxseSgpO1xuXHR9XG59XG5cbi8qKlxuICogSGlkZSB2aXN1YWxseSBhbmQgZnJvbSBzY3JlZW4gcmVhZGVycy5cbiAqL1xuXG4udS1oaWRkZW4ge1xuXHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4iLCIvLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRlbmZvcmNlIC0gSWYgYHRydWVgLCB1c2UgYCFpbXBvcnRhbnRgIG9uIGFwcGxpZWQgcHJvcGVydGllc1xuQG1peGluIGhpZGUtdmlzdWFsbHkoJGVuZm9yY2U6IGZhbHNlKSB7XG5cdCRpbXBvcnRhbnQ6IGlmKCRlbmZvcmNlLCBcIiFpbXBvcnRhbnRcIiwgbnVsbCk7XG5cblx0Ym9yZGVyOiAwICN7JGltcG9ydGFudH07XG5cdGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KSAjeyRpbXBvcnRhbnR9O1xuXHQtd2Via2l0LWNsaXAtcGF0aDogaW5zZXQoNTAlKSAjeyRpbXBvcnRhbnR9O1xuXHRjbGlwLXBhdGg6IGluc2V0KDUwJSkgI3skaW1wb3J0YW50fTtcblx0aGVpZ2h0OiAxcHggI3skaW1wb3J0YW50fTtcblx0b3ZlcmZsb3c6IGhpZGRlbiAjeyRpbXBvcnRhbnR9O1xuXHRwYWRkaW5nOiAwICN7JGltcG9ydGFudH07XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZSAjeyRpbXBvcnRhbnR9O1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwICN7JGltcG9ydGFudH07XG5cdHdpZHRoOiAxcHggI3skaW1wb3J0YW50fTtcblx0d29yZC13cmFwOiBub3JtYWwgI3skaW1wb3J0YW50fTtcbn1cblxuLy8vIFRoaXMgcmV2ZXJzZXMgYGhpZGUtdmlzdWFsbHkoKWAuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRlbmZvcmNlIC0gSWYgYHRydWVgLCB1c2UgYCFpbXBvcnRhbnRgIG9uIGFwcGxpZWQgcHJvcGVydGllcy5cbkBtaXhpbiBzaG93LXZpc3VhbGx5KCRlbmZvcmNlOiBmYWxzZSkge1xuXHQkaW1wb3J0YW50OiBpZigkZW5mb3JjZSwgXCIhaW1wb3J0YW50XCIsIG51bGwpO1xuXG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1idXR0b24tYmFja2dyb3VuZDtcblx0Y2xpcDogYXV0byAjeyRpbXBvcnRhbnR9O1xuXHRjbGlwLXBhdGg6IG5vbmUgI3skaW1wb3J0YW50fTtcblx0Y29sb3I6ICRjb2xvci1idXR0b247XG5cdGhlaWdodDogYXV0byAjeyRpbXBvcnRhbnR9O1xuXHRsZWZ0OiB2cigxKTtcblx0b3ZlcmZsb3c6IHZpc2libGUgI3skaW1wb3J0YW50fTtcblx0cGFkZGluZzogdnIoMS8yKSB2cigzLzQpO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRvcDogdnIoMSk7XG5cdHdoaXRlLXNwYWNlOiBub3JtYWwgI3skaW1wb3J0YW50fTtcblx0d2lkdGg6IGF1dG8gI3skaW1wb3J0YW50fTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7QUFVQTtBQ1ZBOzs7OztBRGdCQTtBRWhCQTs7O0FGb0JBO0FFZkE7QUFDQTtBRmlCQTtBQUNBO0FFZkE7QUFLQTtBRmFBO0FBQ0E7QUc1QkE7QUFFQTtBSDZCQTtBRzFCQTs7O0FIOEJBO0FHekJBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUg2QkE7QUFDQTtBRzNCQTtBSDZCQTtBRzFCQTs7QUg2QkE7QUd6QkE7QUFDQTtBSDJCQTtBQUNBO0FHekJBOzs7QUg2QkE7QUd4QkE7QUFDQTtBQUNBO0FIMEJBO0FBQ0E7QUd4QkE7QUgwQkE7QUd2QkE7OztBSDJCQTtBR3RCQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBSDJCQTtBQUNBO0FHekJBOzs7QUg2QkE7QUd4QkE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBSDRCQTtBQUNBO0FHMUJBO0FINEJBO0FHekJBOztBSDRCQTtBR3hCQTtBQUNBO0FIMEJBO0FBQ0E7QUd4QkE7OztBSDRCQTtBR3ZCQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBSDRCQTtBQUNBO0FHMUJBOztBSDZCQTtBR3pCQTs7QUFFQTtBSDJCQTtBQUNBO0FHekJBOzs7QUg2QkE7QUd4QkE7OztBQUdBO0FBQUE7QUFDQTtBQUFBO0FINEJBO0FBQ0E7QUcxQkE7O0FINkJBO0FHekJBO0FBQ0E7QUgyQkE7QUFDQTtBR3pCQTs7O0FINkJBO0FHeEJBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FIMEJBO0FBQ0E7QUd4QkE7QUFDQTtBSDBCQTtBQUNBO0FHeEJBO0FBQ0E7QUgwQkE7QUFDQTtBR3hCQTtBSDBCQTtBR3ZCQTs7QUgwQkE7QUd0QkE7QUFDQTtBSHdCQTtBQUNBO0FHdEJBO0FId0JBO0FHckJBOzs7QUh5QkE7QUdwQkE7Ozs7O0FBS0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBSDBCQTtBQUNBO0FHeEJBOzs7QUg0QkE7QUd2QkE7O0FBQ0E7QUFDQTtBSDBCQTtBQUNBO0FHeEJBOzs7QUg0QkE7QUd2QkE7O0FBQ0E7QUFDQTtBSDBCQTtBQUNBO0FHeEJBOztBSDJCQTtBR3ZCQTs7OztBQUlBO0FIeUJBO0FBQ0E7QUd2QkE7O0FIMEJBO0FHdEJBOzs7O0FBSUE7QUFDQTtBSHdCQTtBQUNBO0FHdEJBOztBSHlCQTtBR3JCQTs7OztBQUlBO0FIdUJBO0FBQ0E7QUdyQkE7O0FId0JBO0FHcEJBO0FBQ0E7QUhzQkE7QUFDQTtBR3BCQTs7Ozs7QUgwQkE7QUduQkE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUgyQkE7QUFDQTtBR3pCQTs7QUg0QkE7QUd4QkE7QUFDQTtBSDBCQTtBQUNBO0FHeEJBOztBSDJCQTtBR3ZCQTtBQUNBO0FIeUJBO0FBQ0E7QUd2QkE7OztBSDJCQTtBQUNBOztBR3JCQTtBQUFBO0FBQ0E7QUFBQTtBSDBCQTtBQUNBO0FHeEJBOztBSDJCQTtBQUNBOztBR3RCQTtBSHlCQTtBQUNBO0FHdkJBOzs7QUgyQkE7QUFDQTtBR3RCQTtBQUFBO0FBQ0E7QUFBQTtBSDBCQTtBQUNBO0FHeEJBOztBSDJCQTtBQUNBO0FHdkJBO0FIeUJBO0FBQ0E7QUd2QkE7OztBSDJCQTtBR3RCQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FIMEJBO0FBQ0E7QUd4QkE7QUgwQkE7QUd2QkE7O0FIMEJBO0FHdEJBO0FBQ0E7QUh3QkE7QUFDQTtBR3RCQTs7QUh5QkE7QUdyQkE7QUFDQTtBSHVCQTtBQUNBO0FHckJBO0FIdUJBO0FHcEJBOztBSHVCQTtBR25CQTtBQUNBO0FIcUJBO0FBQ0E7QUduQkE7O0FIc0JBO0FBQ0E7QUdsQkE7QUhvQkE7QUFDQTtBSXhXQTs7QUoyV0E7QUl2V0E7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWtCQTtBQUNBO0FKeVdBO0FBQ0E7QUtqWUE7Ozs7QUxzWUE7QUtoWUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FMb1lBO0FBQ0E7QU1uTEE7QUQzTkE7QUFZQTtBQUFBO0FBQ0E7QUFBQTtBTHdZQTtBQUNBO0FBQ0E7QUt0WUE7QUFDQTtBTHdZQTtBQUNBO0FLMVlBO0FBSUE7QUx5WUE7QUFDQTtBTXBNQTtBRDFNQTtBQVFBO0FMMFlBO0FBQ0E7QUFDQTtBS3BaQTtBQVlBO0FMMllBO0FBQ0E7QUt4WUE7QUFDQTtBTDBZQTtBQUNBO0FPbmJBOzs7Ozs7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBUHFiQTtBQUNBO0FPL2JBOzs7Ozs7QUFZQTtBUDJiQTtBQUNBO0FPeGJBO0FDd0RBO0FBV0E7QVJ5WEE7QUFDQTtBTTVPQTtBQ2pOQTtBQ3dEQTtBQVdBO0FSK1hBO0FBQ0E7QUFDQTtBT2hjQTtBQ29EQTtBQVdBO0FScVlBO0FBQ0E7QU14UEE7QUM3TUE7QUNvREE7QUFXQTtBUjJZQTtBQUNBO0FBQ0E7QU94Y0E7QUNnREE7QUFXQTtBUmlaQTtBQUNBO0FNcFFBO0FDek1BO0FDZ0RBO0FBV0E7QVJ1WkE7QUFDQTtBQUNBO0FPaGRBO0FDNENBO0FBV0E7QVI2WkE7QUFDQTtBTWhSQTtBQ3JNQTtBQzRDQTtBQVdBO0FSbWFBO0FBQ0E7QUFDQTtBT3hkQTtBQ3dDQTtBQVdBO0FSeWFBO0FBQ0E7QU01UkE7QUNqTUE7QUN3Q0E7QUFXQTtBUithQTtBQUNBO0FBQ0E7QU9oZUE7QUNvQ0E7QUFXQTtBUnFiQTtBQUNBO0FNeFNBO0FDN0xBO0FDb0NBO0FBV0E7QVIyYkE7QUFDQTtBQUNBO0FTaGhCQTtBQUNBO0FBQ0E7QUFDQTtBVGtoQkE7QUFDQTtBU3RoQkE7QUFRQTtBVGloQkE7QUFDQTtBUzFoQkE7QUFZQTtBVGloQkE7QUFDQTtBUzloQkE7QUFpQkE7QVRnaEJBO0FBQ0E7QVVsaUJBO0FBQ0E7QUFDQTtBVm9pQkE7QUFDQTtBVXZpQkE7QUZ3RUE7QUFXQTtBUndkQTtBQUNBO0FNM1VBO0FJak9BO0FGd0VBO0FBV0E7QVI4ZEE7QUFDQTtBQUNBO0FVbmpCQTtBQVNBO0FWNmlCQTtBQUNBO0FXdmpCQTs7QUFFQTtBQUNBO0FYeWpCQTtBQUNBO0FXdmpCQTtBQUNBO0FYeWpCQTtBQUNBO0FXdmpCQTtBQUNBO0FYeWpCQTtBQUNBO0FXdmpCQTs7QUFJQTtBWHVqQkE7QUFDQTtBV3BqQkE7QUFDQTtBWHNqQkE7QUFDQTtBV3BqQkE7QUFDQTtBQUNBO0FYc2pCQTtBQUNBO0FXcGpCQTtBQUNBO0FYc2pCQTtBQUNBO0FZdmxCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBWnlsQkE7QUFDQTtBYWhtQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWJrbUJBO0FBQ0E7QWFobUJBOztBQUVBO0FBQ0E7QWJrbUJBO0FBQ0E7QWFqbUJBOztBQUNBO0Fib21CQTtBQUNBO0FjcG5CQTs7Ozs7O0FkMm5CQTtBY25uQkE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBZHduQkE7QUFDQTtBY3JuQkE7OztBQUdBO0FkdW5CQTtBQUNBO0Fjcm5CQTtBQUNBO0FBQ0E7QUFDQTtBZHVuQkE7QUFDQTtBYzNuQkE7QUFNQTtBQUNBO0FBQ0E7QWR3bkJBO0FBQ0E7QWNybkJBO0FOc0NBO0FBV0E7QU0vQ0E7QUFDQTtBQUNBO0FBQ0E7QWR3bkJBO0FBQ0E7QWVocUJBOzs7OztBUHdFQTtBQVdBO0FPN0VBO0FmbXFCQTtBQUNBO0FlanFCQTs7OztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWZtcUJBO0FBQ0E7QWVqcUJBO0FQb0RBO0FBV0E7QU83REE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWZvcUJBO0FBQ0E7QWU3cUJBO0FBV0E7QUFDQTtBQUNBO0FBQ0E7QWZxcUJBO0FBQ0E7QWdCdHNCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QWhCeXNCQTtBQUNBO0FnQnZzQkE7QUFDQTtBQUNBO0FoQnlzQkE7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7OztBZ0J2ckJBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBaEJ3c0JBO0FBQ0E7QWdCdHNCQTtBQUNBO0FBQ0E7QWhCd3NCQTtBQUNBO0FnQnRzQkE7QUFDQTtBQUNBO0FBQ0E7QWhCd3NCQTtBQUNBO0FBQ0E7QWdCdHNCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBaEJ3c0JBO0FBQ0E7QUFDQTs7QWdCcnNCQTtBQUNBO0FBQ0E7QUFDQTtBaEJ3c0JBO0FBQ0E7QUFDQTs7Ozs7QWdCdnNCQTtBaEI2c0JBO0FBQ0E7QUFDQTs7QWdCM3NCQTtBQUNBO0FoQjhzQkE7QUFDQTtBZ0Izc0JBOzs7QUFLQTtBQUNBO0FoQjJzQkE7QUFDQTtBZ0JsdEJBOzs7QUFVQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FoQjZzQkE7QUFDQTtBZ0Ixc0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWhCNHNCQTtBQUNBO0FBQ0E7OztBaUJwekJBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQW9CQTtBQUNBO0FqQm95QkE7QUFDQTtBQUNBOzs7OztBaUJseUJBO0FBQ0E7QWpCd3lCQTtBQUNBO0FrQmgxQkE7QUFDQTtBbEJrMUJBO0FBQ0E7QWtCaDFCQTs7OztBQUlBO0FsQmsxQkE7QUFDQTtBa0JoMUJBO0FBQ0E7QUFDQTtBQUNBO0FsQmsxQkE7QUFDQTtBbUJqMkJBO0FBRUE7QUFDQTtBbkJrMkJBO0FtQi8xQkE7QUFDQTtBbkJpMkJBO0FBQ0E7QUFDQTtBTXpvQkE7QWNqT0E7QUFFQTtBQUNBO0FwQjQyQkE7QUFDQTtBQUNBO0FNaHBCQTtBZXJOQTtBQUNBO0FBQ0E7QXJCdzJCQTtBcUJyMkJBO0FBQ0E7QXJCdTJCQTtBQUNBO0FBQ0E7QU0xcEJBO0Flck5BO0FBQ0E7QUFDQTtBckJrM0JBO0FxQi8yQkE7QUFDQTtBckJpM0JBO0FBQ0E7QUFDQTtBTXBxQkE7QWVyTkE7QUFDQTtBQUNBO0FyQjQzQkE7QXFCejNCQTtBQUNBO0FyQjIzQkE7QUFDQTtBQUNBO0FNOXFCQTtBYy9MQTtBQUlBO0FBQ0E7QXBCNjJCQTtBb0JsM0JBO0FBUUE7QXBCNjJCQTtBQUNBO0FBQ0E7QXNCejVCQTs7O0F0QjY1QkE7QXNCeDVCQTtBQUNBO0FBQ0E7QXRCMDVCQTtBQUNBO0FzQng1QkE7QUFDQTtBdEIwNUJBO0FBQ0E7QXNCNTVCQTtBQUlBO0F0QjI1QkE7QUFDQTtBc0J4NUJBO0FBQ0E7QXRCMDVCQTtBQUNBO0FzQjU1QkE7O0FBS0E7QXRCMjVCQTtBQUNBO0FzQng1QkE7QXRCMDVCQTtBc0J2NUJBO0FBR0E7QUFDQTtBdEJ1NUJBO0FBQ0E7QXNCcDVCQTtBdEJzNUJBO0FzQm41QkE7QUFHQTtBQUNBO0F0Qm01QkE7QUFDQTtBdUJqOEJBOztBdkJvOEJBO0F1Qmg4QkE7QUNDQTtBQUNBO0FBQ0E7QXhCazhCQTtBQUNBO0F1Qm44QkE7QUNBQTtBeEJzOEJBO0FBQ0E7QXVCbjhCQTtBQ0pBO0F4QjA4QkE7QUFDQTtBdUJuOEJBO0FBQ0E7QXZCcThCQTtBQUNBO0F1Qm44QkE7QUFDQTtBQUNBO0F2QnE4QkE7QUFDQTtBeUIzOUJBO0FBQ0E7QXpCNjlCQTtBQUNBO0EwQi85QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBMUJpK0JBO0FBQ0E7QU1yd0JBO0FvQmpPQTtBQU9BO0FBQ0E7QTFCbStCQTtBQUNBO0FBQ0E7QTBCbCtCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0ExQm8rQkE7QUFDQTtBTW54QkE7QW9CdE5BO0FBUUE7QTFCcStCQTtBMkJsL0JBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QTNCbS9CQTtBMkJoL0JBO0FBQ0E7QTNCay9CQTtBQUNBO0FBQ0E7QTBCNStCQTtBQUNBO0FBQ0E7QUFDQTtBMUI4K0JBO0FBQ0E7QU14eUJBO0FvQjFNQTtBQU1BO0FBQ0E7QUFDQTtBMUJnL0JBO0FBQ0E7QUFDQTtBTWh6QkE7QW9CMU1BO0FBWUE7QTFCay9CQTtBQUNBO0FBQ0E7QTBCaC9CQTtBQUNBO0FBQ0E7QTFCay9CQTtBQUNBO0EwQjkrQkE7QUFDQTtBQUNBO0ExQmcvQkE7QUFDQTtBMEI5K0JBO0FBQ0E7QUFDQTtBMUJnL0JBO0FBQ0E7QTBCMytCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0ExQjYrQkE7QUFDQTtBMEJsL0JBO0FBT0E7QUFDQTtBQUNBO0ExQjgrQkE7QUFDQTtBMEJ4L0JBO0FBWUE7QTFCKytCQTtBQUNBO0EwQjUvQkE7QUFnQkE7QUFDQTtBMUIrK0JBO0FBQ0E7QTRCNWpDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBNUI4akNBO0FBQ0E7QU1wMkJBO0FzQmpPQTtBQVNBO0E1QmdrQ0E7QUFDQTtBQUNBO0E0Qi9qQ0E7QUFDQTtBQUNBO0E1QmlrQ0E7QUFDQTtBNkJobENBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTdCa2xDQTtBQUNBO0E2QnZsQ0E7QUFPQTtBN0JtbENBO0FBQ0E7QTZCamxDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBN0JtbENBO0FBQ0E7QU1uNEJBO0F1QnZOQTtBQVNBO0FBQ0E7QTdCcWxDQTtBQUNBO0FBQ0E7QTZCbmxDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBN0JxbENBO0FBQ0E7QU1uNUJBO0F1QnpNQTtBQVNBO0FBQ0E7QTdCdWxDQTtBQUNBO0FBQ0E7QU0xNUJBO0F1QjNMQTtBQUdBO0E3QnNsQ0E7QUFDQTtBQUNBO0E2QnBsQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E3QnNsQ0E7QUFDQTtBTXg2QkE7QXVCcExBO0FBUUE7QTdCd2xDQTtBQUNBO0FBQ0E7QTZCdGxDQTtBckJlQTtBQVdBO0FxQnhCQTtBQUNBO0FBQ0E7QUFDQTtBN0J5bENBO0FBQ0E7QTZCdmxDQTtBQUNBO0FBQ0E7QUFDQTtBN0J5bENBO0FBQ0E7QTZCN2xDQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0E3QjBsQ0E7QUFDQTtBNkJycUNBO0FBK0VBO0FBQ0E7QUFDQTtBN0J5bENBO0FBQ0E7QTZCdmxDQTtBQUNBO0E3QnlsQ0E7QUFDQTtBTTk4QkE7QXVCN0lBO0FBSUE7QTdCMmxDQTtBQUNBO0FBQ0E7QU1wOUJBO0F1QnJJQTtBQUdBO0FBQ0E7QUFDQTtBN0IwbENBO0FBQ0E7QUFDQTtBOEI3ckNBO0FBQ0E7QUFDQTtBQUNBO0E5QityQ0E7QUFDQTtBOEI1ckNBO0F0QmlFQTtBQVdBO0FzQjFFQTtBOUIrckNBO0FBQ0E7QU14K0JBO0F3QjFOQTtBdEJpRUE7QUFXQTtBUjJuQ0E7QUFDQTtBQUNBO0E4QnpzQ0E7QUFLQTtBOUJ1c0NBO0FBQ0E7QStCcHRDQTtBZENBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBakJxdENBO0FBQ0E7QStCL3RDQTtBZDZCQTtBQUNBO0FqQnFzQ0E7QUFDQTtBaUJwc0NBO0FBRUE7QUFDQTtBakJxc0NBO0FBQ0E7QStCcnVDQTtBZHlCQTtBQUNBO0FqQitzQ0E7QUFDQTtBaUI5c0NBO0FBRUE7QUFDQTtBakIrc0NBO0FBQ0E7QStCM3VDQTtBZHFCQTtBQUNBO0FqQnl0Q0E7QUFDQTtBaUJ4dENBO0FBRUE7QUFDQTtBakJ5dENBO0FBQ0E7QStCanZDQTtBZGlCQTtBQUNBO0FqQm11Q0E7QUFDQTtBaUJsdUNBO0FBRUE7QUFDQTtBakJtdUNBO0FBQ0E7QStCdnZDQTtBZGFBO0FBQ0E7QWpCNnVDQTtBQUNBO0FpQjV1Q0E7QUFFQTtBQUNBO0FqQjZ1Q0E7QUFDQTtBZ0NweENBO0FBQ0E7QWhDc3hDQTtBQUNBO0FnQ2p4Q0E7QUFDQTtBaENteENBO0FBQ0E7QWdDaHhDQTs7QUFFQTtBQUNBO0FBQ0E7QWhDa3hDQTtBQUNBO0FnQy94Q0E7QUFnQkE7QUFDQTtBQUNBO0FoQ2t4Q0E7QUFDQTtBZ0Mvd0NBO0FBQ0E7QWhDaXhDQTtBQUNBO0FpQzl5Q0E7QUFDQTtBQUNBO0FqQ2d6Q0E7QUFDQTtBaUM5eUNBO0FBQ0E7QUFDQTtBakNnekNBO0FBQ0E7QWlDeHlDQTtBQUNBO0FBQ0E7QWpDMHlDQTtBQUNBO0FpQ3Z5Q0E7QUFDQTtBakN5eUNBO0FBQ0E7QWlDdnlDQTtBQUNBO0FBQ0E7QWpDeXlDQTtBQUNBO0FpQzV5Q0E7QUFLQTtBakMweUNBO0FBQ0E7QWlDaHpDQTtBQVNBO0FqQzB5Q0E7QUFDQTtBaUNseUNBO0FBRUE7QWpDbXlDQTtBQUNBO0FpQ3R5Q0E7QUFPQTtBakNreUNBO0FBQ0E7QWlDOXhDQTtBQUNBO0FqQ2d5Q0E7QUFDQTtBaUNseUNBO0FBSUE7QWpDaXlDQTtBQUNBO0FpQzd4Q0E7QUFDQTtBakMreENBO0FBQ0E7QWlDN3hDQTtBQUNBO0FqQyt4Q0E7QUFDQTtBaUNqeUNBO0FBTUE7QWpDOHhDQTtBQUNBO0FpQzN4Q0E7QUFDQTtBQUNBO0FBQ0E7QWpDNnhDQTtBQUNBO0FpQ3J4Q0E7QUFDQTtBakN1eENBO0FBQ0E7QWtDcDNDQTtBQUNBO0FsQ3MzQ0E7QUFDQTtBa0NyM0NBO0FBQ0E7QWxDdTNDQTtBQUNBO0FrQ3AzQ0E7QUFDQTtBbENzM0NBO0FBQ0E7QWtDOTJDQTtBQUNBO0FsQ2czQ0E7QUFDQTtBa0M3MkNBO0ExQmlEQTtBQVdBO0EwQjFEQTtBQUNBO0FsQ2czQ0E7QUFDQTtBa0M1MkNBO0FBQ0E7QWxDODJDQTtBQUNBO0FrQzUyQ0E7QUFDQTtBbEM4MkNBO0FBQ0E7QWtDMzJDQTtBQUVBO0FsQzQyQ0E7QUFDQTtBMkJqNUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QTNCazVDQTtBQUNBO0EyQmg1Q0E7QUFDQTtBM0JrNUNBO0FBQ0E7QWtDdDNDQTs7QUFFQTtBbEN3M0NBO0FBQ0E7QWtDLzNDQTtBQVdBO0FsQ3UzQ0E7QUFDQTtBa0NuNENBOztBQWdCQTtBbEN1M0NBO0FBQ0E7QWtDbjNDQTs7QUFJQTtBbENtM0NBO0FBQ0E7QWtDOTJDQTtBQUNBO0FBQ0E7QWxDZzNDQTtBQUNBO0FrQ24zQ0E7QUFLQTtBbENpM0NBO0FBQ0E7QWtDOTJDQTtBQUNBO0FsQ2czQ0E7QUFDQTtBa0NsM0NBO0FBSUE7QUFDQTtBbENpM0NBO0FBQ0E7QWtDdjNDQTtBQVVBO0FsQ2czQ0E7QUFDQTtBa0M1MkNBO0FBQ0E7QUFDQTtBQUNBO0FsQzgyQ0E7QUFDQTtBbUNqOUNBO0FBQ0E7QW5DbTlDQTtBQUNBO0FtQ2w5Q0E7QTNCcUVBO0FBV0E7QTJCOUVBO0FuQ3E5Q0E7QUFDQTtBbUNuOUNBO0FBQ0E7QW5DcTlDQTtBQUNBO0FtQ245Q0E7O0FBRUE7QW5DcTlDQTtBQUNBO0FtQ2o5Q0E7O0FBSUE7QW5DaTlDQTtBQUNBO0FtQ3Q5Q0E7O0FBU0E7QW5DaTlDQTtBQUNBO0FtQzM4Q0E7QUFDQTtBbkM2OENBO0FBQ0E7QW1DMThDQTtBQUNBO0FBQ0E7QW5DNDhDQTtBQUNBO0FtQy84Q0E7QUFLQTtBQUNBO0FBQ0E7QW5DNjhDQTtBQUNBO0FvQzcvQ0E7QUFDQTtBQUNBO0FwQysvQ0E7QUFDQTtBb0M5L0NBO0FBQ0E7QXBDZ2dEQTtBQUNBO0FNcnlDQTtBZTNNQTtBQUNBO0FBQ0E7QXJCbS9DQTtBcUIvL0NBO0FBQ0E7QUFDQTtBckJpZ0RBO0FxQjkvQ0E7QUFDQTtBckJnZ0RBO0FxQnRnREE7QUFDQTtBQUNBO0FyQndnREE7QXFCcmdEQTtBQUNBO0FyQnVnREE7QXFCN2dEQTtBQUNBO0FBQ0E7QXJCK2dEQTtBcUI1Z0RBO0FBQ0E7QXJCOGdEQTtBcUJwaERBO0FBQ0E7QUFDQTtBckJzaERBO0FxQm5oREE7QUFDQTtBckJxaERBO0FxQjNoREE7QUFDQTtBQUNBO0FyQjZoREE7QXFCMWhEQTtBQUNBO0FyQjRoREE7QXFCbGlEQTtBQUNBO0FBQ0E7QXJCb2lEQTtBcUJqaURBO0FBQ0E7QXJCbWlEQTtBcUJ6aURBO0FBQ0E7QUFDQTtBckIyaURBO0FxQnhpREE7QUFDQTtBckIwaURBO0FxQmhqREE7QUFDQTtBQUNBO0FyQmtqREE7QXFCL2lEQTtBQUNBO0FyQmlqREE7QXFCdmpEQTtBQUNBO0FBQ0E7QXJCeWpEQTtBcUJ0akRBO0FBQ0E7QXJCd2pEQTtBQUNBO0FBQ0E7QXFDemtEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBckMya0RBO0FBQ0E7QU12M0NBO0ErQjlOQTtBQVlBO0FyQzZrREE7QUFDQTtBQUNBO0FNNzNDQTtBK0I5TkE7QUFnQkE7QXJDK2tEQTtBQUNBO0FBQ0E7QXFDam1EQTtBQW9CQTtBQUNBO0FyQ2dsREE7QUFDQTtBcUM1a0RBO0FBQ0E7QUFDQTtBQUNBO0FyQzhrREE7QUFDQTtBcUNsbERBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QXJDK2tEQTtBQUNBO0FBQ0E7QXFDN2tEQTtBckMra0RBO0FBQ0E7QUFDQTtBcUMxa0RBO0FyQzRrREE7QUFDQTtBQUNBO0FxQzFrREE7QXJDNGtEQTtBQUNBO0FBQ0E7QXFDMWtEQTtB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Q3huRUE7QUFDQTtBQUNBO0FBQ0E7QTNDMG5FQTtBQUNBO0EyQ3huRUE7QUFDQTtBQUNBO0FBQ0E7QTNDMG5FQTtBQUNBO0EyQ3RuRUE7QUFDQTtBM0N3bkVBO0FBQ0E7QTJDMW5FQTtBQUlBO0EzQ3luRUE7QUFDQTtBMkMvbUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBM0NpbkVBO0FBQ0E7QTJDL21FQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBM0NpbkVBO0FBQ0E7QTJDeG5FQTtBQVFBO0FBQ0E7QUFDQTtBM0NtbkVBO0FBQ0E7QTJDOW5FQTtBQWNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBM0NtbkVBO0FBQ0E7QTJDL21FQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTNDaW5FQTtBQUNBO0EyQ3ZuRUE7QUFRQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0EzQ2tuRUE7QUFDQTtBMkNsb0VBO0FBbUJBO0EzQ2tuRUE7QUFDQTtBMkN0b0VBO0FBdUJBO0EzQ2tuRUE7QUFDQTtBNEN0eUVBO0FBQ0E7QUFDQTtBQUNBO0E1Q3d5RUE7QUFDQTtBTTNrRUE7QXNDak9BO0FBTUE7QTVDMHlFQTtBNEN4eUVBO0FBQ0E7QTVDMHlFQTtBQUNBO0FBQ0E7QTRDeHlFQTtBQUNBO0FBQ0E7QUFDQTtBNUMweUVBO0FBQ0E7QU0xbEVBO0FzQ3BOQTtBQU1BO0E1QzR5RUE7QUFDQTtBQUNBO0E0QzF5RUE7QUFDQTtBQUNBO0FBQ0E7QTVDNHlFQTtBQUNBO0E0QzF5RUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTVDNHlFQTtBQUNBO0E0QzF5RUE7QUFDQTtBQUNBO0FBQ0E7QTVDNHlFQTtBQUNBO0E0Q2h6RUE7QUFPQTtBQUNBO0E1QzR5RUE7QUFDQTtBNkMzMUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTdDNjFFQTtBQUNBO0FNam9FQTtBdUNqT0E7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBN0MrMUVBO0FBQ0E7QUFDQTtBNkM5MUVBO0FBQ0E7QTdDZzJFQTtBQUNBO0E2QzkxRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTdDZzJFQTtBQUNBO0E2QzkxRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E3Q2cyRUE7QUFDQTtBNkM5MUVBO0FyQ21DQTtBQVdBO0FxQzVDQTtBQUNBO0FBQ0E7QTdDaTJFQTtBQUNBO0FNMXFFQTtBdUM1TEE7QXJDbUNBO0FBV0E7QVI2ekVBO0FBQ0E7QUFDQTtBNkN0MkVBO0FBQ0E7QTdDdzJFQTtBQUNBO0E2Q3Q1RUE7QUFpREE7QTdDdzJFQTtBQUNBO0FNenJFQTtBdUNqT0E7QUFvREE7QTdDMDJFQTtBQUNBO0FBQ0E7QTZDaDZFQTtBQXdEQTtBN0MyMkVBO0FBQ0E7QTZDcDZFQTtBQTREQTtBN0MyMkVBO0FBQ0E7QThDdDZFQTtBQUNBO0FBQ0E7QTlDdzZFQTtBQUNBO0FNNXNFQTtBd0MvTkE7QUFLQTtBQUNBO0E5QzA2RUE7QUFDQTtBQUNBO0E4Q2w3RUE7QUFVQTtBQUNBO0E5QzI2RUE7QUFDQTtBOEN2N0VBO0FBZUE7QTlDMjZFQTtBQUNBO0E4QzM3RUE7QUFvQkE7QTlDMDZFQTtBQUNBO0E4Qy83RUE7QUF3QkE7QTlDMDZFQTtBQUNBO0E4Q3Y2RUE7QUFDQTtBOUN5NkVBO0FBQ0E7QStDeDhFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QS9DMDhFQTtBQUNBO0ErQ3Y4RUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0EvQzA4RUE7QUFDQTtBZ0Q5OUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBaEQrOUVBO0FBQ0E7QWdENStFQTtBQWVBO0FBQ0E7QWhEZytFQTtBQUNBO0FnRGovRUE7QUFvQkE7QWhEZytFQTtBQUNBO0FnRHIvRUE7QUF5QkE7QWhEKzlFQTtBQUNBO0FnRHovRUE7QUE0QkE7QWhEZytFQTtBQUNBO0FnRDcvRUE7QUFpQ0E7QWhEKzlFQTtBQUNBO0FnRGpnRkE7QUFvQ0E7QWhEZytFQTtBQUNBO0FpRDE4RUE7QURqQkE7QUFDQTtBaEQ4OUVBO0FnRDM5RUE7QUFDQTtBaEQ2OUVBO0FnRDE5RUE7QUFDQTtBaEQ0OUVBO0FBQ0E7QUFDQTtBaURsOUVBO0FEckJBO0FBQ0E7QWhEMCtFQTtBZ0R2K0VBO0FBQ0E7QWhEeStFQTtBZ0R0K0VBO0FBQ0E7QWhEdytFQTtBQUNBO0FBQ0E7QWlEMTlFQTtBRHpCQTtBQUNBO0FoRHMvRUE7QWdEbi9FQTtBQUNBO0FoRHEvRUE7QWdEbC9FQTtBQUNBO0FoRG8vRUE7QUFDQTtBQUNBO0FpRGwrRUE7QUQ3QkE7QUFDQTtBaERrZ0ZBO0FnRC8vRUE7QUFDQTtBaERpZ0ZBO0FnRDkvRUE7QUFDQTtBaERnZ0ZBO0FBQ0E7QUFDQTtBaUQxL0VBO0FERkE7QUFDQTtBaEQrL0VBO0FnRDUvRUE7QUFDQTtBaEQ4L0VBO0FnRDMvRUE7QUFDQTtBaEQ2L0VBO0FBQ0E7QUFDQTtBaURsZ0ZBO0FETkE7QUFDQTtBaEQyZ0ZBO0FnRHhnRkE7QUFDQTtBaEQwZ0ZBO0FnRHZnRkE7QUFDQTtBaER5Z0ZBO0FBQ0E7QUFDQTtBaUQxZ0ZBO0FEVkE7QUFDQTtBaER1aEZBO0FnRHBoRkE7QUFDQTtBaERzaEZBO0FnRG5oRkE7QUFDQTtBaERxaEZBO0FBQ0E7QUFDQTtBaURsaEZBO0FEZEE7QUFDQTtBaERtaUZBO0FnRGhpRkE7QUFDQTtBaERraUZBO0FnRC9oRkE7QUFDQTtBaERpaUZBO0FBQ0E7QUFDQTtBZ0Q5aEZBO0FDckRBO0FBQ0E7QUFDQTtBRHVEQTtBaERnaUZBO0FBQ0E7QWdEcmlGQTtBQ3JEQTtBQUNBO0FBQ0E7QUQ4REE7QWhEZ2lGQTtBQUNBO0FnRDNoRkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWhENmhGQTtBQUNBO0FnRHBpRkE7QUFTQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDaUhBO0FBQ0E7QUFDQTtBakQ4NkVBO0FBQ0E7QWdEcmpGQTtBQXVC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Q0E7QUFDQTtBQUNBO0E3RDRwSEE7QUFDQTtBTWg4R0E7QXVEak9BO0FBT0E7QTdEOHBIQTtBQUNBO0FBQ0E7QTZENXBIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E3RDhwSEE7QUFDQTtBTTc4R0E7QXVEdE5BO0FBT0E7QTdEZ3FIQTtBQUNBO0FBQ0E7QTZEOXBIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTdEZ3FIQTtBQUNBO0E2RDlwSEE7QUFDQTtBN0RncUhBO0FBQ0E7QTZEOXBIQTtBQUNBO0FBQ0E7QUFDQTtBN0RncUhBO0FBQ0E7QTZEOXBIQTtBQUNBO0E3RGdxSEE7QUFDQTtBNkQ5cEhBO0FBQ0E7QTdEZ3FIQTtBQUNBO0E2RDlwSEE7QUFDQTtBN0RncUhBO0FBQ0E7QTZEOXBIQTtBQUNBO0E3RGdxSEE7QUFDQTtBNkQ5cEhBO0FBQ0E7QTdEZ3FIQTtBQUNBO0E2RDlwSEE7QUFDQTtBN0RncUhBO0FBQ0E7QTJCeHRIQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0EzQnl0SEE7QUFDQTtBMkJ2dEhBO0FBQ0E7QTNCeXRIQTtBQUNBO0E4RHp1SEE7QUFDQTtBOUQydUhBO0FBQ0E7QThEenVIQTtBQUNBO0E5RDJ1SEE7QUFDQTtBOER6dUhBO0FBQ0E7QTlEMnVIQTtBQUNBO0ErRHJ2SEE7Ozs7Ozs7QS9ENnZIQTtBK0RwdkhBOzs7Ozs7QUFNQTtBQUNBO0EvRHN2SEE7QUFDQTtBK0RwdkhBO0F2RHFEQTtBQVdBO0FSd3JIQTtBQUNBO0FNM2lIQTtBeUQ5TUE7QXZEcURBO0FBV0E7QVI4ckhBO0FBQ0E7QUFDQTtBK0Q1dkhBO0F2RGlEQTtBQVdBO0FSb3NIQTtBQUNBO0FNdmpIQTtBeUQxTUE7QXZEaURBO0FBV0E7QVIwc0hBO0FBQ0E7QUFDQTtBK0Rwd0hBO0F2RDZDQTtBQVdBO0FSZ3RIQTtBQUNBO0FNbmtIQTtBeUR0TUE7QXZENkNBO0FBV0E7QVJzdEhBO0FBQ0E7QUFDQTtBK0Q1d0hBO0F2RHlDQTtBQVdBO0FSNHRIQTtBQUNBO0FNL2tIQTtBeURsTUE7QXZEeUNBO0FBV0E7QVJrdUhBO0FBQ0E7QUFDQTtBK0RweEhBO0F2RHFDQTtBQVdBO0FSd3VIQTtBQUNBO0FNM2xIQTtBeUQ5TEE7QXZEcUNBO0FBV0E7QVI4dUhBO0FBQ0E7QUFDQTtBK0Q1eEhBO0F2RGlDQTtBQVdBO0FSb3ZIQTtBQUNBO0FNdm1IQTtBeUQxTEE7QXZEaUNBO0FBV0E7QVIwdkhBO0FBQ0E7QUFDQTtBZ0UvMEhBOzs7QWhFbTFIQTtBZ0U5MEhBOztBQ0dBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWpFKzBIQTtBQUNBO0FnRTcxSEE7O0FDc0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBakUyMEhBO0FBQ0E7QWdFcDJIQTs7QWhFdTJIQTtBZ0VuMkhBO0FBQ0E7QWhFcTJIQTs7Iiwic291cmNlUm9vdCI6IiJ9*/