/*! normalize.css v8.0.1 | 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; }

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block; }

/**
 * 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 {
  -webkit-box-sizing: content-box;
  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 */
  -webkit-text-decoration: underline dotted;
  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: 1px 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 {
  -webkit-box-sizing: border-box;
  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"] {
  -webkit-box-sizing: border-box;
  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.125rem;
  /* 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; }

html,
body {
  height: 100%; }

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

ul,
li {
  list-style-type: none; }

ul {
  margin: 0;
  padding: 0; }

button {
  border: none;
  background: transparent;
  cursor: pointer; }

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  font-weight: normal; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

p {
  padding: 0;
  margin: 0; }

a {
  text-decoration: none; }

input, textarea {
  border: 0; }

@font-face {
  font-family: BarlowCondensed-Regular;
  src: url("../fonts/BarlowCondensed-Regular.woff") format("woff"), url("../fonts/BarlowCondensed-Regular.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: fallback; }

@font-face {
  font-family: BarlowCondensed-Black;
  src: url("../fonts/BarlowCondensed-Black.woff") format("woff"), url("../fonts/BarlowCondensed-Black.woff2") format("woff2");
  font-weight: 900;
  font-style: normal;
  font-display: fallback; }

@font-face {
  font-family: BarlowCondensed-BlackItalic;
  src: url("../fonts/BarlowCondensed-BlackItalic.woff") format("woff"), url("../fonts/BarlowCondensed-BlackItalic.woff2") format("woff2");
  font-weight: 900;
  font-style: italic;
  font-display: fallback; }

@font-face {
  font-family: BarlowCondensed-Bold;
  src: url("../fonts/BarlowCondensed-Bold.woff") format("woff"), url("../fonts/BarlowCondensed-Bold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: fallback; }

@font-face {
  font-family: BarlowCondensed-BoldItalic;
  src: url("../fonts/BarlowCondensed-BoldItalic.woff") format("woff"), url("../fonts/BarlowCondensed-BoldItalic.woff2") format("woff2");
  font-weight: 600;
  font-style: italic;
  font-display: fallback; }

@font-face {
  font-family: BarlowCondensed-ExtraBold;
  src: url("../fonts/BarlowCondensed-ExtraBold.woff") format("woff"), url("../fonts/BarlowCondensed-ExtraBold.woff2") format("woff2");
  font-weight: 900;
  font-style: normal;
  font-display: fallback; }

@font-face {
  font-family: BarlowCondensed-ExtraBoldItalic;
  src: url("../fonts/BarlowCondensed-ExtraBoldItalic.woff") format("woff"), url("../fonts/BarlowCondensed-ExtraBoldItalic.woff2") format("woff2");
  font-weight: 900;
  font-style: italic;
  font-display: fallback; }

@font-face {
  font-family: BarlowCondensed-ExtraLight;
  src: url("../fonts/BarlowCondensed-ExtraLight.woff") format("woff"), url("../fonts/BarlowCondensed-ExtraLight.woff2") format("woff2");
  font-weight: 200;
  font-style: normal;
  font-display: fallback; }

@font-face {
  font-family: BarlowCondensed-ExtraLightItalic;
  src: url("../fonts/BarlowCondensed-ExtraLightItalic.woff") format("woff"), url("../fonts/BarlowCondensed-ExtraLightItalic.woff2") format("woff2");
  font-weight: 200;
  font-style: italic;
  font-display: fallback; }

@font-face {
  font-family: BarlowCondensed-Italic;
  src: url("../fonts/BarlowCondensed-Italic.woff") format("woff"), url("../fonts/BarlowCondensed-Italic.woff2") format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: fallback; }

@font-face {
  font-family: BarlowCondensed-Light;
  src: url("../fonts/BarlowCondensed-Light.woff") format("woff"), url("../fonts/BarlowCondensed-Light.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: fallback; }

@font-face {
  font-family: BarlowCondensed-LightItalic;
  src: url("../fonts/BarlowCondensed-LightItalic.woff") format("woff"), url("../fonts/BarlowCondensed-LightItalic.woff2") format("woff2");
  font-weight: 300;
  font-style: italic;
  font-display: fallback; }

@font-face {
  font-family: BarlowCondensed-Medium;
  src: url("../fonts/BarlowCondensed-Medium.woff") format("woff"), url("../fonts/BarlowCondensed-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: fallback; }

@font-face {
  font-family: BarlowCondensed-MediumItalic;
  src: url("../fonts/BarlowCondensed-MediumItalic.woff") format("woff"), url("../fonts/BarlowCondensed-MediumItalic.woff2") format("woff2");
  font-weight: 500;
  font-style: italic;
  font-display: fallback; }

@font-face {
  font-family: BarlowCondensed-SemiBold;
  src: url("../fonts/BarlowCondensed-SemiBold.woff") format("woff"), url("../fonts/BarlowCondensed-SemiBold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: fallback; }

@font-face {
  font-family: BarlowCondensed-SemiBoldItalic;
  src: url("../fonts/BarlowCondensed-SemiBoldItalic.woff") format("woff"), url("../fonts/BarlowCondensed-SemiBoldItalic.woff2") format("woff2");
  font-weight: 700;
  font-style: italic;
  font-display: fallback; }

@font-face {
  font-family: BarlowCondensed-Thin;
  src: url("../fonts/BarlowCondensed-Thin.woff") format("woff"), url("../fonts/BarlowCondensed-Thin.woff2") format("woff2");
  font-weight: 100;
  font-style: normal;
  font-display: fallback; }

@font-face {
  font-family: BarlowCondensed-ThinItalic;
  src: url("../fonts/BarlowCondensed-ThinItalic.woff") format("woff"), url("../fonts/BarlowCondensed-ThinItalic.woff2") format("woff2");
  font-weight: 100;
  font-style: italic;
  font-display: fallback; }

@font-face {
  font-family: Ibmplexsans;
  src: url("../fonts/Ibmplexsans.woff") format("woff"), url("../fonts/Ibmplexsans.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: fallback; }

.test {
  position: relative;
  width: 100vw;
  height: 12.5rem;
  background: yellow; }

.arrow {
  min-width: 0.9375rem;
  height: 1.875rem;
  overflow: hidden;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  cursor: pointer;
  z-index: 3; }
  .arrow-left {
    left: 1%;
    -webkit-transform: rotate(180deg) translate(0, 55%);
    transform: rotate(180deg) translate(0, 55%);
    -webkit-animation: arrowMoveLeft 5s infinite;
    animation: arrowMoveLeft 5s infinite; }
  .arrow-right {
    right: 1%;
    -webkit-animation: arrowMoveRight 5s infinite;
    animation: arrowMoveRight 5s infinite; }
  .arrow:before {
    content: '';
    position: absolute;
    width: 3.125rem;
    height: 3.125rem;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    border: 0.125rem solid white;
    top: -0.6875rem;
    left: -3.125rem;
    border-radius: 0.375rem; }

@-webkit-keyframes arrowMoveRight {
  from {
    -webkit-transform: translateX(0%);
    transform: translateX(0%); }
  10% {
    -webkit-transform: translateX(50%);
    transform: translateX(50%); }
  20% {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%); }
  30% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%); }
  to {
    -webkit-transform: translateX(0%);
    transform: translateX(0%); } }

@keyframes arrowMoveRight {
  from {
    -webkit-transform: translateX(0%);
    transform: translateX(0%); }
  10% {
    -webkit-transform: translateX(50%);
    transform: translateX(50%); }
  20% {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%); }
  30% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%); }
  to {
    -webkit-transform: translateX(0%);
    transform: translateX(0%); } }

@-webkit-keyframes arrowMoveLeft {
  from {
    -webkit-transform: translateX(0%) rotate(180deg);
    transform: translateX(0%) rotate(180deg); }
  10% {
    -webkit-transform: translateX(-50%) rotate(180deg);
    transform: translateX(-50%) rotate(180deg); }
  20% {
    -webkit-transform: translateX(50%) rotate(180deg);
    transform: translateX(50%) rotate(180deg); }
  30% {
    -webkit-transform: translateX(0%) rotate(180deg);
    transform: translateX(0%) rotate(180deg); }
  to {
    -webkit-transform: translateX(0%) rotate(180deg);
    transform: translateX(0%) rotate(180deg); } }

@keyframes arrowMoveLeft {
  from {
    -webkit-transform: translateX(0%) rotate(180deg);
    transform: translateX(0%) rotate(180deg); }
  10% {
    -webkit-transform: translateX(-50%) rotate(180deg);
    transform: translateX(-50%) rotate(180deg); }
  20% {
    -webkit-transform: translateX(50%) rotate(180deg);
    transform: translateX(50%) rotate(180deg); }
  30% {
    -webkit-transform: translateX(0%) rotate(180deg);
    transform: translateX(0%) rotate(180deg); }
  to {
    -webkit-transform: translateX(0%) rotate(180deg);
    transform: translateX(0%) rotate(180deg); } }

.contact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  padding: 1.25rem 0 2.5rem 0; }
  .contact__title {
    color: white;
    text-align: center;
    margin-bottom: 1.875rem;
    font-family: BarlowCondensed-Bold;
    font-weight: normal;
    font-style: 700;
    font-size: 1.75rem;
    line-height: 1;
    color: white; }
    @media screen and (max-width: 480px) {
      .contact__title {
        margin-bottom: 2.1875rem; } }
  .contact__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
    justify-content: space-around; }
    @media screen and (max-width: 480px) {
      .contact__list {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center; } }
  @media screen and (max-width: 480px) {
    .contact__item {
      margin-bottom: 3.125rem; } }
  .contact__link {
    min-width: 10.3125rem;
    font-size: 1.25rem;
    font-family: BarlowCondensed-Regular;
    font-weight: normal;
    font-style: 400;
    font-size: 1.75rem;
    line-height: 1;
    color: #0077ff;
    padding: 0.3125rem 1.875rem;
    text-transform: uppercase;
    -webkit-transition: .3s;
    transition: .3s;
    border: 0.1875rem solid #2ba4e0;
    position: relative; }
    .contact__link-telegram {
      color: #2ba4e0;
      border-color: #2ba4e0; }
    .contact__link-facebook {
      color: #3a5898;
      border-color: #3a5898; }
    .contact__link-twitter {
      color: #64a8f2;
      border-color: #64a8f2;
      padding: 0.3125rem 2.3125rem; }
    .contact__link-linkedin {
      color: #1191d4;
      border-color: #1191d4; }
    .contact__link::after, .contact__link::before, .form__button::before {
      content: '';
      width: 8%;
      height: 0.1875rem;
      background: #070007;
      position: absolute;
      bottom: -0.1875rem;
      right: 10%;
      -webkit-transition: .3s linear;
      transition: .3s linear;
      -webkit-transform: skewX(50deg);
      transform: skewX(50deg); }
    .contact__link::before {
      top: -0.1875rem;
      left: 10%; }
    .contact__link:hover::after, .contact__link:hover::before, .form__button:hover::before {
      right: 80%; }
    .contact__link:hover::before {
      left: 80%; }

.actContact::after {
  right: 80%; }

.actContact::before {
  left: 80%; }

.description__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  font-size: 0.875rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  height: 100%;
  padding: 1.875rem 0.9375rem 1.875rem 0.625rem;
  min-width: 33.3vw; }
  @media screen and (max-width: 480px) {
    .description__container:first-child {
      display: none; } }

.description__box {
  height: 50%;
  margin-bottom: 0.9375rem;
  min-height: 50%;
  padding: 0 0.625rem; }
  @media screen and (max-width: 480px) {
    .description__box {
      min-height: 0;
      height: initial; } }

.description__title {
  font-family: BarlowCondensed-Bold;
  font-weight: normal;
  font-style: 700;
  font-size: 1.75rem;
  line-height: 1;
  color: white;
  margin-bottom: 1.25rem; }

.form__section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-image: url("../img/AI-picture2.jpg"); }

.form__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: auto; }

.form-picture {
  margin: 0;
  background-size: cover;
  background-position: center;
  opacity: .6; }
  @media screen and (max-width: 480px) {
    .form-picture {
      display: none; } }

.form__block {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1; }

.form__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  margin: 1.5625rem;
  width: 70%; }
  @media screen and (max-width: 480px) {
    .form__box {
      -webkit-box-flex: 1;
      -ms-flex: 1 90%;
      flex: 1 90%; } }

.form__title {
  font-family: BarlowCondensed-Light;
  font-weight: normal;
  font-style: 300;
  font-size: 1.25rem;
  line-height: 1.3;
  color: white;
  margin-bottom: 0.3125rem;
  display: none; }

.form__input {
  padding: 0.625rem 0.9375rem;
  background: transparent;
  width: 100%;
  -webkit-transition: .3s;
  transition: .3s;
  border-bottom: 0.1875rem solid white;
  outline: none;
  font-family: BarlowCondensed-Light;
  font-weight: normal;
  font-style: 300;
  font-size: 1.25rem;
  line-height: 1.3;
  color: white; }
  .form__input::-webkit-input-placeholder {
    color: white;
    font-family: BarlowCondensed-Light;
    font-weight: normal;
    font-style: 300;
    font-size: 1.25rem;
    line-height: 1.3;
    color: white; }
  .form__input::-moz-placeholder {
    color: white;
    font-family: BarlowCondensed-Light;
    font-weight: normal;
    font-style: 300;
    font-size: 1.25rem;
    line-height: 1.3;
    color: white; }
  .form__input:-ms-input-placeholder {
    color: white;
    font-family: BarlowCondensed-Light;
    font-weight: normal;
    font-style: 300;
    font-size: 1.25rem;
    line-height: 1.3;
    color: white; }
  .form__input::-ms-input-placeholder {
    color: white;
    font-family: BarlowCondensed-Light;
    font-weight: normal;
    font-style: 300;
    font-size: 1.25rem;
    line-height: 1.3;
    color: white; }
  .form__input::placeholder {
    color: white;
    font-family: BarlowCondensed-Light;
    font-weight: normal;
    font-style: 300;
    font-size: 1.25rem;
    line-height: 1.3;
    color: white; }
  .form__input:focus {
    border-color: #d56bf5; }

.form__button {
  width: 50%;
  margin: auto;
  padding: 0.3125rem 1.875rem;
  text-transform: uppercase;
  -webkit-transition: .3s;
  transition: .3s;
  border: 0.1875rem solid #ffffff;
  position: relative;
  outline: none;
  font-family: BarlowCondensed-Regular;
  font-weight: normal;
  font-style: 400;
  font-size: 1.75rem;
  line-height: 1;
  color: #ffffff; }
  .form__button::after {
    content: '';
    width: 8%;
    height: 0.1875rem;
    background: #d56bf5;
    position: absolute;
    bottom: -0.1875rem;
    right: 10%;
    -webkit-transition: .3s linear;
    transition: .3s linear;
    -webkit-transform: skewX(50deg);
    transform: skewX(50deg); }
  .form__button::before {
    background: #d56bf5;
    top: -0.1875rem;
    left: 10%; }
  .form__button:hover::after {
    right: 80%; }
  .form__button:hover::before {
    left: 80%; }

.wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  min-height: 100%;
  min-width: 100%;
  overflow: hidden; }

.main {
  width: 100%;
  height: 80%; }

body {
  background-color: #070007;
  z-index: -2; }

.header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 1.25rem;
  background-size: cover;
  background-repeat: no-repeat;
  text-transform: uppercase;
  text-align: center;
  font-family: BarlowCondensed-Bold;
  font-weight: normal;
  font-style: 700;
  font-size: 1.875rem;
  line-height: 1.3;
  color: white; }
  @media screen and (max-width: 480px) {
    .header {
      font-size: 1.875rem; } }

.main-info {
  text-align: center;
  height: 80vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  color: white;
  position: relative;
  margin-bottom: 1.25rem; }
  @media screen and (max-width: 480px) {
    .main-info {
      height: 100vh; } }

.partners, .moreInformation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 100%;
  margin-bottom: 1.875rem; }
  .partners__title {
    color: white;
    text-align: center;
    font-family: BarlowCondensed-Bold;
    font-weight: normal;
    font-style: 700;
    font-size: 1.75rem;
    line-height: 1;
    color: white; }
    @media screen and (max-width: 480px) {
      .partners__title {
        margin-bottom: 1.25rem; } }
  .partners__box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    @media screen and (max-width: 480px) {
      .partners__box {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column; } }
  .partners__container {
    -webkit-box-flex: 1;
    -ms-flex: 1 50%;
    flex: 1 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
    height: 100%;
    background-size: cover;
    position: relative;
    -webkit-transition: .5s;
    transition: .5s;
    background-repeat: no-repeat;
    background-position: center;
    border-radius: 0.9375rem;
    height: 70vh; }
    @media screen and (max-width: 480px) {
      .partners__container {
        -webkit-box-flex: 0;
        -ms-flex: none;
        flex: none;
        height: 50vh; } }
    .partners__container-first, .partners__container-second {
      -webkit-transform: scale(0.95);
      transform: scale(0.95); }
      .partners__container-first::before, .partners__container-second::before {
        content: '';
        background-color: rgba(0, 0, 0, 0);
        width: 100%;
        max-width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        -webkit-transition: .5s;
        transition: .5s;
        z-index: -1; }
      .partners__container-first:hover, .partners__container-second:hover {
        -webkit-transform: scale(1);
        transform: scale(1); }
        .partners__container-first:hover .partners__text, .partners__container-second:hover .partners__text {
          opacity: 1; }
        .partners__container-first:hover::before, .partners__container-second:hover::before {
          background-color: rgba(0, 0, 0, 0.8); }
  .partners__text {
    color: white;
    z-index: 1;
    opacity: 0;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    padding: 0.625rem;
    font-weight: 900;
    font-family: BarlowCondensed-Light;
    font-weight: normal;
    font-style: 300;
    font-size: 1rem;
    line-height: 1.3;
    color: white; }

.actPartner {
  -webkit-transform: scale(1);
  transform: scale(1); }
  .actPartner .partners__text {
    opacity: 1; }
  .actPartner::before {
    background-color: rgba(0, 0, 0, 0.8); }

.popup {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-color: rgba(40, 1, 77, 0.8);
  width: 100vw;
  height: 100vh;
  z-index: 100;
  position: fixed;
  top: 0;
  left: 0;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-transform: scale(0);
  transform: scale(0);
  -webkit-transition: .3s ease-in-out;
  transition: .3s ease-in-out; }
  .popup__container {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 40vw;
    height: 40vh;
    background: black;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-radius: 0.625rem;
    text-align: center;
    padding: 0.9375rem; }
    @media screen and (max-width: 480px) {
      .popup__container {
        width: 80vw;
        height: 40vh; } }
  .popup__title {
    font-family: BarlowCondensed-Bold;
    font-weight: normal;
    font-style: 600;
    font-size: 1.25rem;
    line-height: 1.3;
    color: white;
    margin-bottom: 1.25rem; }
  .popup__text {
    font-family: BarlowCondensed-Medium;
    font-weight: normal;
    font-style: 300;
    font-size: 1rem;
    line-height: 1.3;
    color: white;
    margin-bottom: 1.25rem; }
  .popup__link {
    display: inline-block;
    font-family: Ibmplexsans;
    font-weight: 900;
    font-style: normal;
    font-size: 1.6875rem;
    line-height: 1.3;
    color: #f5d001;
    text-transform: uppercase;
    letter-spacing: 0.125rem; }
    .popup__link::before {
      content: '';
      display: inline-block;
      background-image: url("../img/Binance_logo.png");
      width: 1.25rem;
      height: 1.25rem;
      background-size: cover;
      margin-right: 0.3125rem; }
  .popup__close {
    position: absolute;
    cursor: pointer;
    top: 0.9375rem;
    right: 0.9375rem;
    font-size: 1.375rem;
    color: rgba(255, 255, 255, 0.4);
    -webkit-transition: color 200ms, -webkit-transform 500ms;
    transition: color 200ms, -webkit-transform 500ms;
    transition: color 200ms, transform 500ms;
    transition: color 200ms, transform 500ms, -webkit-transform 500ms; }
    .popup__close:hover, .popup__close:focus {
      color: #f8f8f8;
      -webkit-transform: rotate(360deg);
      transform: rotate(360deg); }

.active_popup {
  -webkit-transform: scale(1);
  transform: scale(1); }

.moreInformation__box {
  height: 70vh; }
  @media screen and (max-width: 480px) {
    .moreInformation__box {
      height: 90vh; } }

@media screen and (max-width: 480px) {
  .moreInformation__link {
    margin-bottom: 0.9375rem; }
    .moreInformation__link:last-child {
      margin: none; } }

.moreInformation__video {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding: 0.625rem;
  border-radius: 0.625rem;
  -webkit-transform: scale(0.95);
  transform: scale(0.95);
  -webkit-transition: .5s;
  transition: .5s;
  opacity: .5; }
  .moreInformation__video:hover {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; }

.actVideo {
  -webkit-transform: scale(1);
  transform: scale(1);
  opacity: 1; }

.question, .features {
  width: 100%;
  height: initial;
  background: url("./../img/question-bg.jpg");
  position: relative;
  z-index: -1;
  margin-bottom: 1.25rem;
  background-size: cover;
  font-family: BarlowCondensed-Regular;
  font-weight: normal;
  font-style: 400;
  font-size: 1rem;
  line-height: 1.3;
  color: white; }
  .question::before, .features::before {
    content: '';
    position: absolute;
    height: 100%;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: -1;
    left: 0; }
  .question__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100%; }
  .question__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    width: 80%;
    margin: auto;
    text-align: center; }
    @media screen and (max-width: 480px) {
      .question__list {
        width: 95%; } }
  .question__item {
    margin-bottom: 0.9375rem;
    padding-bottom: 0.3125rem;
    position: relative; }
    .question__item::before {
      content: '';
      position: absolute;
      bottom: -0.3125rem;
      right: 50%;
      -webkit-transform: translateX(50%);
      transform: translateX(50%);
      width: 6.25rem;
      border-bottom: 0.125rem solid #970101; }
  .question__title {
    font-family: BarlowCondensed-Medium;
    font-weight: normal;
    font-style: 500;
    font-size: 1.875rem;
    line-height: 1.3;
    color: white;
    font-size: 1.875rem;
    color: white;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1; }
    @media screen and (max-width: 480px) {
      .question__title {
        font-size: 1.25rem; } }
  .question__answer {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding-left: 1.25rem; }
    @media screen and (max-width: 480px) {
      .question__answer {
        font-size: 0.9375rem; } }

.features__title {
  font-family: BarlowCondensed-Bold;
  font-weight: bold;
  font-style: 700;
  font-size: 2.5rem;
  line-height: 1.3;
  color: white;
  text-align: center; }

.features__item::before {
  display: none; }

.slider {
  -ms-flex-item-align: start;
  align-self: flex-start;
  font-family: BarlowCondensed-Regular;
  z-index: 2; }
  .slider__picture {
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0;
    -webkit-transition: 2s;
    transition: 2s;
    background-repeat: no-repeat;
    background-position: center;
    z-index: -1;
    background-size: cover;
    top: 0; }
    @media screen and (max-width: 480px) {
      .slider__picture {
        overflow: hidden; } }
  .slider__container, .courses__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    width: 100%;
    background: -webkit-gradient(linear, left top, right top, color-stop(30%, #fcce01), to(rgba(252, 206, 1, 0.1)));
    background: linear-gradient(90deg, #fcce01 30%, rgba(252, 206, 1, 0.1) 100%); }
    @media screen and (max-width: 480px) {
      .slider__container, .courses__item {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        background: -webkit-gradient(linear, left top, left bottom, color-stop(30%, #fcce01), to(rgba(252, 206, 1, 0.1)));
        background: linear-gradient(180deg, #fcce01 30%, rgba(252, 206, 1, 0.1) 100%); } }
    .slider__container-bot {
      background: -webkit-gradient(linear, left top, right top, color-stop(30%, #77029b), to(rgba(158, 1, 179, 0.1)));
      background: linear-gradient(90deg, #77029b 30%, rgba(158, 1, 179, 0.1) 100%); }
      @media screen and (max-width: 480px) {
        .slider__container-bot {
          background: -webkit-gradient(linear, left top, left bottom, color-stop(30%, #77029b), to(rgba(158, 1, 179, 0.1)));
          background: linear-gradient(180deg, #77029b 30%, rgba(158, 1, 179, 0.1) 100%); } }
  .slider__preview, .courses__preview {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 33.3%;
    height: 100%; }
    @media screen and (max-width: 480px) {
      .slider__preview, .courses__preview {
        width: 100%;
        height: 33.3vh; } }
  .slider__title, .courses__title {
    font-size: 3.125rem;
    text-transform: uppercase;
    margin-bottom: 1.875rem; }
    @media screen and (max-width: 480px) {
      .slider__title, .courses__title {
        font-size: 2.5rem;
        margin: 0; } }
  .slider__price, .courses__price {
    font-size: 6.25rem; }
    @media screen and (max-width: 480px) {
      .slider__price, .courses__price {
        font-size: 4.375rem; } }
    .slider__price-old {
      position: relative; }
      .slider__price-old::before {
        border-bottom: 0.375rem solid red;
        position: absolute;
        content: "";
        width: 100%;
        height: 50%;
        -webkit-transform: rotate(-20deg);
        transform: rotate(-20deg); }
  .slider__description, .courses__description {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 66.6%;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-family: BarlowCondensed-Regular;
    font-weight: normal;
    font-style: 400;
    font-size: 1.25rem;
    line-height: 1.3;
    color: white;
    padding: 0 5%;
    text-align: left; }
    @media screen and (max-width: 480px) {
      .slider__description, .courses__description {
        width: 100%;
        font-size: 1.125rem;
        padding: 5%;
        height: 66.6vh;
        text-align: center; } }
  .slider__rate {
    color: red;
    font-family: BarlowCondensed-Medium; }

.active {
  opacity: 1;
  z-index: 1; }

.courses {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 200%;
  height: 100%;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  overflow: hidden; }
  @media screen and (max-width: 480px) {
    .courses {
      width: 100%;
      height: 200vh;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column; } }
  .courses__item {
    -webkit-transition: ease 1s;
    transition: ease 1s;
    background: none;
    width: 16.7%;
    cursor: pointer;
    position: relative;
    border: 0.125rem solid black; }
    @media screen and (max-width: 480px) {
      .courses__item {
        width: 100%;
        height: 16.7%; } }
  .courses__preview {
    overflow: hidden;
    width: 33.3vw;
    background: #fcc87b; }
    @media screen and (max-width: 480px) {
      .courses__preview {
        width: 100%;
        height: 33.3vh; } }
    .courses__preview-second {
      background: #be7fb6; }
    .courses__preview-third {
      background: #61c3c6; }
  .courses__title {
    z-index: 1;
    min-width: 33.3vw; }
  .courses__price {
    z-index: 1;
    min-width: 33.3vw; }
  .courses__description {
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 0;
    padding: 0;
    -webkit-transition: ease 1s;
    transition: ease 1s;
    z-index: 1;
    position: relative;
    background: none; }
    @media screen and (max-width: 480px) {
      .courses__description {
        height: 0;
        width: 100%; } }
    .courses__description:before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      opacity: 1;
      -webkit-transition: ease .9s;
      transition: ease .9s; }
    .courses__description-first {
      background: -webkit-gradient(linear, left top, right top, color-stop(1%, #fcc87b), to(rgba(252, 200, 123, 0.1)));
      background: linear-gradient(90deg, #fcc87b 1%, rgba(252, 200, 123, 0.1) 100%); }
      @media screen and (max-width: 480px) {
        .courses__description-first {
          background: -webkit-gradient(linear, left top, left bottom, color-stop(1%, #fcc87b), to(rgba(252, 200, 123, 0.1)));
          background: linear-gradient(180deg, #fcc87b 1%, rgba(252, 200, 123, 0.1) 100%); } }
      .courses__description-first::before {
        background: #fcc87b; }
    .courses__description-second {
      background: -webkit-gradient(linear, left top, right top, color-stop(1%, #be7fb6), to(rgba(190, 127, 182, 0.1)));
      background: linear-gradient(90deg, #be7fb6 1%, rgba(190, 127, 182, 0.1) 100%); }
      @media screen and (max-width: 480px) {
        .courses__description-second {
          background: -webkit-gradient(linear, left top, left bottom, color-stop(1%, #be7fb6), to(rgba(190, 127, 182, 0.1)));
          background: linear-gradient(180deg, #be7fb6 1%, rgba(190, 127, 182, 0.1) 100%); } }
      .courses__description-second::before {
        background: #be7fb6; }
    .courses__description-third {
      background: -webkit-gradient(linear, left top, right top, color-stop(1%, #61c3c6), to(rgba(97, 195, 198, 0.1)));
      background: linear-gradient(90deg, #61c3c6 1%, rgba(97, 195, 198, 0.1) 100%); }
      @media screen and (max-width: 480px) {
        .courses__description-third {
          background: -webkit-gradient(linear, left top, left bottom, color-stop(1%, #61c3c6), to(rgba(97, 195, 198, 0.1)));
          background: linear-gradient(180deg, #61c3c6 1%, rgba(97, 195, 198, 0.1) 100%); } }
      .courses__description-third::before {
        background: #61c3c6; }
  .courses__text {
    min-width: 60vw;
    max-width: 60vw; }
    @media screen and (max-width: 480px) {
      .courses__text {
        min-width: 90%;
        max-width: 90%;
        min-height: 66.6vh;
        max-height: 66.6vh;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center; } }

.act {
  width: 50%;
  border: 0rem; }
  @media screen and (max-width: 480px) {
    .act {
      width: 100%;
      height: 50%; } }
  @media screen and (max-width: 480px) {
    .act .courses__preview {
      height: 33.3vh; } }
  .act .courses__description {
    width: 66.6vw; }
    @media screen and (max-width: 480px) {
      .act .courses__description {
        width: 100%;
        height: 66.6vh; } }
    .act .courses__description::before {
      opacity: 0; }

.hidden {
  width: 0;
  opacity: 0;
  border: 0rem; }
  @media screen and (max-width: 480px) {
    .hidden {
      width: 100%;
      height: 0; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vcm1hbGl6ZS5jc3MiLCJtYWluLmNzcyIsImxheW91dC9iYXNlLnNjc3MiLCJsYXlvdXQvZm9udHMuc2NzcyIsImJsb2Nrcy9hcnJvdy5zY3NzIiwiYmxvY2tzL2NvbnRhY3RzLnNjc3MiLCJsYXlvdXQvbWl4aW4uc2NzcyIsImJsb2Nrcy9kZXNjcmlwdGlvbi5zY3NzIiwiYmxvY2tzL2Zvcm0uc2NzcyIsImJsb2Nrcy9nZW5lcmFsLnNjc3MiLCJibG9ja3MvaGVhZGVyLnNjc3MiLCJibG9ja3MvbWFpbi1pbmZvLnNjc3MiLCJibG9ja3MvcGFydG5lcnMuc2NzcyIsImJsb2Nrcy9wb3B1cC5zY3NzIiwiYmxvY2tzL3Bvc3RQYXJ0bmVyc0luZm8uc2NzcyIsImJsb2Nrcy9xdWVzdGlvbi5zY3NzIiwiYmxvY2tzL3NsaWRlci5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJFQUFBO0FBRUE7K0VDQStFO0FERy9FOzs7RUNDRTtBRElGO0VBQ0EsaUJBQUE7RUFBQSxNQUFBO0VBQ0EsOEJBQUE7RUFBQSxNQUFBLEVBQUE7O0FBR0E7K0VDRCtFO0FESS9FOztFQ0RFO0FES0Y7RUFDQSxTQUFBLEVBQUE7O0FBR0E7O0VDSEU7QURPRjtFQUNBLGNBQUEsRUFBQTs7QUFHQTs7O0VDSkU7QURTRjtFQUNBLGNBQUE7RUFDQSxnQkFBQSxFQUFBOztBQUdBOytFQ1IrRTtBRFcvRTs7O0VDUEU7QURZRjtFQUNBLCtCQUFBO0VBQUEsdUJBQUE7RUFBQSxNQUFBO0VBQ0EsU0FBQTtFQUFBLE1BQUE7RUFDQSxpQkFBQTtFQUFBLE1BQUEsRUFBQTs7QUFHQTs7O0VDTkU7QURXRjtFQUNBLGlDQUFBO0VBQUEsTUFBQTtFQUNBLGNBQUE7RUFBQSxNQUFBLEVBQUE7O0FBR0E7K0VDUitFO0FEVy9FOztFQ1JFO0FEWUY7RUFDQSw2QkFBQSxFQUFBOztBQUdBOzs7RUNURTtBRGNGO0VBQ0EsbUJBQUE7RUFBQSxNQUFBO0VBQ0EsMEJBQUE7RUFBQSxNQUFBO0VBQ0Es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O0VBQ2IsNEJBQXNCO0VBQXRCLDZCQUFzQjtFQUF0QiwwQkFBc0I7RUFBdEIsc0JBQXNCO0VBQ3RCLGlCQUFZO0VBQ1osVUFBVSxFQUFBO0VGVlo7SUVNQTtNQU9JLG1CQUFXO01BQVgsZUFBVztNQUFYLFdBQVcsRUFBQSxFQUVkOztBQUVEO0VGMUNBLGtDRTJDMkM7RUYxQzNDLG1CRTBDbUQ7RUZ6Q25ELGVFeUN3RDtFRnhDeEQsa0JFd0M4RDtFRnZDOUQsZ0JFdUNtRTtFRnRDbkUsWUVzQ3VGO0VBQ3JGLHdCQUFrQjtFQUNsQixhQUFhLEVBQUE7O0FBR2Y7RUFDRSwyQkFBa0I7RUFDbEIsdUJBQXVCO0VBRXZCLFdBQVc7RUFDWCx1QkFBZTtFQUFmLGVBQWU7RUFDZixvQ0FBOEI7RUFDOUIsYUFBYTtFRnZEZixrQ0V3RDJDO0VGdkQzQyxtQkV1RG1EO0VGdERuRCxlRXNEd0Q7RUZyRHhELGtCRXFEOEQ7RUZwRDlELGdCRW9EbUU7RUZuRG5FLFlFbUR1RixFQUFBO0VBUnRGO0lBV0csWUFBWTtJRjNEaEIsa0NFNEQ2QztJRjNEN0MsbUJFMkRxRDtJRjFEckQsZUUwRDBEO0lGekQxRCxrQkV5RGdFO0lGeERoRSxnQkV3RHFFO0lGdkRyRSxZRXVEeUYsRUFBQTtFQVp4RjtJQVdHLFlBQVk7SUYzRGhCLGtDRTRENkM7SUYzRDdDLG1CRTJEcUQ7SUYxRHJELGVFMEQwRDtJRnpEMUQsa0JFeURnRTtJRnhEaEUsZ0JFd0RxRTtJRnZEckUsWUV1RHlGLEVBQUE7RUFaeEY7SUFXRyxZQUFZO0lGM0RoQixrQ0U0RDZDO0lGM0Q3QyxtQkUyRHFEO0lGMURyRCxlRTBEMEQ7SUZ6RDFELGtCRXlEZ0U7SUZ4RGhFLGdCRXdEcUU7SUZ2RHJFLFlFdUR5RixFQUFBO0VBWnhGO0lBV0csWUFBWTtJRjNEaEIsa0NFNEQ2QztJRjNEN0MsbUJFMkRxRDtJRjFEckQsZUUwRDBEO0lGekQxRCxrQkV5RGdFO0lGeERoRSxnQkV3RHFFO0lGdkRyRSxZRXVEeUYsRUFBQTtFQVp4RjtJQVdHLFlBQVk7SUYzRGhCLGtDRTRENkM7SUYz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QUNFO01lajhCQSxXQUFTO01mbThCUCxTQUFTLEVBQUUsRUFBRSIsImZpbGUiOiJtYWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cblxuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cbiAqL1xuXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIE1pc2NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi8gfVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQge1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAxICovIH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMC4xMjVyZW07XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqLyB9XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbi8qIE1pc2NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5odG1sLFxuYm9keSB7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4qIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG51bCxcbmxpIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG5cbnVsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbmJ1dHRvbiB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDsgfVxuXG5wIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwOyB9XG5cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuaW5wdXQsIHRleHRhcmVhIHtcbiAgYm9yZGVyOiAwOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogQmFybG93Q29uZGVuc2VkLVJlZ3VsYXI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvQmFybG93Q29uZGVuc2VkLVJlZ3VsYXIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9CYXJsb3dDb25kZW5zZWQtUmVndWxhci53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IGZhbGxiYWNrOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogQmFybG93Q29uZGVuc2VkLUJsYWNrO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL0Jhcmxvd0NvbmRlbnNlZC1CbGFjay53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL0Jhcmxvd0NvbmRlbnNlZC1CbGFjay53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IGZhbGxiYWNrOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogQmFybG93Q29uZGVuc2VkLUJsYWNrSXRhbGljO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL0Jhcmxvd0NvbmRlbnNlZC1CbGFja0l0YWxpYy53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL0Jhcmxvd0NvbmRlbnNlZC1CbGFja0l0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LWRpc3BsYXk6IGZhbGxiYWNrOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogQmFybG93Q29uZGVuc2VkLUJvbGQ7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvQmFybG93Q29uZGVuc2VkLUJvbGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9CYXJsb3dDb25kZW5zZWQtQm9sZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IGZhbGxiYWNrOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogQmFybG93Q29uZGVuc2VkLUJvbGRJdGFsaWM7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvQmFybG93Q29uZGVuc2VkLUJvbGRJdGFsaWMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9CYXJsb3dDb25kZW5zZWQtQm9sZEl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LWRpc3BsYXk6IGZhbGxiYWNrOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogQmFybG93Q29uZGVuc2VkLUV4dHJhQm9sZDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9CYXJsb3dDb25kZW5zZWQtRXh0cmFCb2xkLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvQmFybG93Q29uZGVuc2VkLUV4dHJhQm9sZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IGZhbGxiYWNrOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogQmFybG93Q29uZGVuc2VkLUV4dHJhQm9sZEl0YWxpYztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9CYXJsb3dDb25kZW5zZWQtRXh0cmFCb2xkSXRhbGljLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvQmFybG93Q29uZGVuc2VkLUV4dHJhQm9sZEl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LWRpc3BsYXk6IGZhbGxiYWNrOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogQmFybG93Q29uZGVuc2VkLUV4dHJhTGlnaHQ7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvQmFybG93Q29uZGVuc2VkLUV4dHJhTGlnaHQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9CYXJsb3dDb25kZW5zZWQtRXh0cmFMaWdodC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IGZhbGxiYWNrOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogQmFybG93Q29uZGVuc2VkLUV4dHJhTGlnaHRJdGFsaWM7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvQmFybG93Q29uZGVuc2VkLUV4dHJhTGlnaHRJdGFsaWMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9CYXJsb3dDb25kZW5zZWQtRXh0cmFMaWdodEl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LWRpc3BsYXk6IGZhbGxiYWNrOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogQmFybG93Q29uZGVuc2VkLUl0YWxpYztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9CYXJsb3dDb25kZW5zZWQtSXRhbGljLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvQmFybG93Q29uZGVuc2VkLUl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LWRpc3BsYXk6IGZhbGxiYWNrOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogQmFybG93Q29uZGVuc2VkLUxpZ2h0O1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL0Jhcmxvd0NvbmRlbnNlZC1MaWdodC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL0Jhcmxvd0NvbmRlbnNlZC1MaWdodC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IGZhbGxiYWNrOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogQmFybG93Q29uZGVuc2VkLUxpZ2h0SXRhbGljO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL0Jhcmxvd0NvbmRlbnNlZC1MaWdodEl0YWxpYy53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL0Jhcmxvd0NvbmRlbnNlZC1MaWdodEl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LWRpc3BsYXk6IGZhbGxiYWNrOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogQmFybG93Q29uZGVuc2VkLU1lZGl1bTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9CYXJsb3dDb25kZW5zZWQtTWVkaXVtLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvQmFybG93Q29uZGVuc2VkLU1lZGl1bS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IGZhbGxiYWNrOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogQmFybG93Q29uZGVuc2VkLU1lZGl1bUl0YWxpYztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9CYXJsb3dDb25kZW5zZWQtTWVkaXVtSXRhbGljLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvQmFybG93Q29uZGVuc2VkLU1lZGl1bUl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LWRpc3BsYXk6IGZhbGxiYWNrOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogQmFybG93Q29uZGVuc2VkLVNlbWlCb2xkO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL0Jhcmxvd0NvbmRlbnNlZC1TZW1pQm9sZC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL0Jhcmxvd0NvbmRlbnNlZC1TZW1pQm9sZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IGZhbGxiYWNrOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogQmFybG93Q29uZGVuc2VkLVNlbWlCb2xkSXRhbGljO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL0Jhcmxvd0NvbmRlbnNlZC1TZW1pQm9sZEl0YWxpYy53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL0Jhcmxvd0NvbmRlbnNlZC1TZW1pQm9sZEl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LWRpc3BsYXk6IGZhbGxiYWNrOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogQmFybG93Q29uZGVuc2VkLVRoaW47XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvQmFybG93Q29uZGVuc2VkLVRoaW4ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9CYXJsb3dDb25kZW5zZWQtVGhpbi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IGZhbGxiYWNrOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogQmFybG93Q29uZGVuc2VkLVRoaW5JdGFsaWM7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvQmFybG93Q29uZGVuc2VkLVRoaW5JdGFsaWMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9CYXJsb3dDb25kZW5zZWQtVGhpbkl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LWRpc3BsYXk6IGZhbGxiYWNrOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogSWJtcGxleHNhbnM7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvSWJtcGxleHNhbnMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9JYm1wbGV4c2Fucy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IGZhbGxiYWNrOyB9XG5cbi50ZXN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTIuNXJlbTtcbiAgYmFja2dyb3VuZDogeWVsbG93OyB9XG5cbi5hcnJvdyB7XG4gIG1pbi13aWR0aDogMC45Mzc1cmVtO1xuICBoZWlnaHQ6IDEuODc1cmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogMzsgfVxuICAuYXJyb3ctbGVmdCB7XG4gICAgbGVmdDogMSU7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKSB0cmFuc2xhdGUoMCwgNTUlKTtcbiAgICBhbmltYXRpb246IGFycm93TW92ZUxlZnQgNXMgaW5maW5pdGU7IH1cbiAgLmFycm93LXJpZ2h0IHtcbiAgICByaWdodDogMSU7XG4gICAgYW5pbWF0aW9uOiBhcnJvd01vdmVSaWdodCA1cyBpbmZpbml0ZTsgfVxuICAuYXJyb3c6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDMuMTI1cmVtO1xuICAgIGhlaWdodDogMy4xMjVyZW07XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIGJvcmRlcjogMC4xMjVyZW0gc29saWQgd2hpdGU7XG4gICAgdG9wOiAtMC42ODc1cmVtO1xuICAgIGxlZnQ6IC0zLjEyNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTsgfVxuXG5Aa2V5ZnJhbWVzIGFycm93TW92ZVJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsgfVxuICAxMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpOyB9XG4gIDIwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gIDMwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsgfSB9XG5cbkBrZXlmcmFtZXMgYXJyb3dNb3ZlTGVmdCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgcm90YXRlKDE4MGRlZyk7IH1cbiAgMTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgcm90YXRlKDE4MGRlZyk7IH1cbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKSByb3RhdGUoMTgwZGVnKTsgfVxuICAzMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgcm90YXRlKDE4MGRlZyk7IH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgcm90YXRlKDE4MGRlZyk7IH0gfVxuXG4uY29udGFjdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBhZGRpbmc6IDEuMjVyZW0gMCAyLjVyZW0gMDsgfVxuICAuY29udGFjdF9fdGl0bGUge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07XG4gICAgZm9udC1mYW1pbHk6IEJhcmxvd0NvbmRlbnNlZC1Cb2xkO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogNzAwO1xuICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgLmNvbnRhY3RfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi4xODc1cmVtOyB9IH1cbiAgLmNvbnRhY3RfX2xpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgLmNvbnRhY3RfX2xpc3Qge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLmNvbnRhY3RfX2l0ZW0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMy4xMjVyZW07IH0gfVxuICAuY29udGFjdF9fbGluayB7XG4gICAgbWluLXdpZHRoOiAxMC4zMTI1cmVtO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LWZhbWlseTogQmFybG93Q29uZGVuc2VkLVJlZ3VsYXI7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiA0MDA7XG4gICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAjMDA3N2ZmO1xuICAgIHBhZGRpbmc6IDAuMzEyNXJlbSAxLjg3NXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRyYW5zaXRpb246IC4zcztcbiAgICBib3JkZXI6IDAuMTg3NXJlbSBzb2xpZCAjMmJhNGUwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jb250YWN0X19saW5rLXRlbGVncmFtIHtcbiAgICAgIGNvbG9yOiAjMmJhNGUwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMmJhNGUwOyB9XG4gICAgLmNvbnRhY3RfX2xpbmstZmFjZWJvb2sge1xuICAgICAgY29sb3I6ICMzYTU4OTg7XG4gICAgICBib3JkZXItY29sb3I6ICMzYTU4OTg7IH1cbiAgICAuY29udGFjdF9fbGluay10d2l0dGVyIHtcbiAgICAgIGNvbG9yOiAjNjRhOGYyO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNjRhOGYyO1xuICAgICAgcGFkZGluZzogMC4zMTI1cmVtIDIuMzEyNXJlbTsgfVxuICAgIC5jb250YWN0X19saW5rLWxpbmtlZGluIHtcbiAgICAgIGNvbG9yOiAjMTE5MWQ0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMTE5MWQ0OyB9XG4gICAgLmNvbnRhY3RfX2xpbms6OmFmdGVyLCAuY29udGFjdF9fbGluazo6YmVmb3JlLCAuZm9ybV9fYnV0dG9uOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogOCU7XG4gICAgICBoZWlnaHQ6IDAuMTg3NXJlbTtcbiAgICAgIGJhY2tncm91bmQ6ICMwNzAwMDc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IC0wLjE4NzVyZW07XG4gICAgICByaWdodDogMTAlO1xuICAgICAgdHJhbnNpdGlvbjogLjNzIGxpbmVhcjtcbiAgICAgIHRyYW5zZm9ybTogc2tld1goNTBkZWcpOyB9XG4gICAgLmNvbnRhY3RfX2xpbms6OmJlZm9yZSB7XG4gICAgICB0b3A6IC0wLjE4NzVyZW07XG4gICAgICBsZWZ0OiAxMCU7IH1cbiAgICAuY29udGFjdF9fbGluazpob3Zlcjo6YWZ0ZXIsIC5jb250YWN0X19saW5rOmhvdmVyOjpiZWZvcmUsIC5mb3JtX19idXR0b246aG92ZXI6OmJlZm9yZSB7XG4gICAgICByaWdodDogODAlOyB9XG4gICAgLmNvbnRhY3RfX2xpbms6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiA4MCU7IH1cblxuLmFjdENvbnRhY3Q6OmFmdGVyIHtcbiAgcmlnaHQ6IDgwJTsgfVxuXG4uYWN0Q29udGFjdDo6YmVmb3JlIHtcbiAgbGVmdDogODAlOyB9XG5cbi5kZXNjcmlwdGlvbl9fY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAxLjg3NXJlbSAwLjkzNzVyZW0gMS44NzVyZW0gMC42MjVyZW07XG4gIG1pbi13aWR0aDogMzMuM3Z3OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLmRlc2NyaXB0aW9uX19jb250YWluZXI6Zmlyc3QtY2hpbGQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5kZXNjcmlwdGlvbl9fYm94IHtcbiAgaGVpZ2h0OiA1MCU7XG4gIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgbWluLWhlaWdodDogNTAlO1xuICBwYWRkaW5nOiAwIDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLmRlc2NyaXB0aW9uX19ib3gge1xuICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgIGhlaWdodDogaW5pdGlhbDsgfSB9XG5cbi5kZXNjcmlwdGlvbl9fdGl0bGUge1xuICBmb250LWZhbWlseTogQmFybG93Q29uZGVuc2VkLUJvbGQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IDcwMDtcbiAgZm9udC1zaXplOiAxLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IHdoaXRlO1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG5cbi5mb3JtX19zZWN0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL0FJLXBpY3R1cmUyLmpwZ1wiKTsgfVxuXG4uZm9ybV9fY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW46IGF1dG87IH1cblxuLmZvcm0tcGljdHVyZSB7XG4gIG1hcmdpbjogMDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBvcGFjaXR5OiAuNjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgIC5mb3JtLXBpY3R1cmUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5mb3JtX19ibG9jayB7XG4gIGZsZXg6IDE7IH1cblxuLmZvcm1fX2JveCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbjogMS41NjI1cmVtO1xuICB3aWR0aDogNzAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLmZvcm1fX2JveCB7XG4gICAgICBmbGV4OiAxIDkwJTsgfSB9XG5cbi5mb3JtX190aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBCYXJsb3dDb25kZW5zZWQtTGlnaHQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IDMwMDtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBjb2xvcjogd2hpdGU7XG4gIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZm9ybV9faW5wdXQge1xuICBwYWRkaW5nOiAwLjYyNXJlbSAwLjkzNzVyZW07XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMTAwJTtcbiAgdHJhbnNpdGlvbjogLjNzO1xuICBib3JkZXItYm90dG9tOiAwLjE4NzVyZW0gc29saWQgd2hpdGU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGZvbnQtZmFtaWx5OiBCYXJsb3dDb25kZW5zZWQtTGlnaHQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IDMwMDtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBjb2xvcjogd2hpdGU7IH1cbiAgLmZvcm1fX2lucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtZmFtaWx5OiBCYXJsb3dDb25kZW5zZWQtTGlnaHQ7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiAzMDA7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgY29sb3I6IHdoaXRlOyB9XG4gIC5mb3JtX19pbnB1dDpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZDU2YmY1OyB9XG5cbi5mb3JtX19idXR0b24ge1xuICB3aWR0aDogNTAlO1xuICBtYXJnaW46IGF1dG87XG4gIHBhZGRpbmc6IDAuMzEyNXJlbSAxLjg3NXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdHJhbnNpdGlvbjogLjNzO1xuICBib3JkZXI6IDAuMTg3NXJlbSBzb2xpZCAjZmZmZmZmO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGZvbnQtZmFtaWx5OiBCYXJsb3dDb25kZW5zZWQtUmVndWxhcjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogNDAwO1xuICBmb250LXNpemU6IDEuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuZm9ybV9fYnV0dG9uOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDglO1xuICAgIGhlaWdodDogMC4xODc1cmVtO1xuICAgIGJhY2tncm91bmQ6ICNkNTZiZjU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTAuMTg3NXJlbTtcbiAgICByaWdodDogMTAlO1xuICAgIHRyYW5zaXRpb246IC4zcyBsaW5lYXI7XG4gICAgdHJhbnNmb3JtOiBza2V3WCg1MGRlZyk7IH1cbiAgLmZvcm1fX2J1dHRvbjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZDU2YmY1O1xuICAgIHRvcDogLTAuMTg3NXJlbTtcbiAgICBsZWZ0OiAxMCU7IH1cbiAgLmZvcm1fX2J1dHRvbjpob3Zlcjo6YWZ0ZXIge1xuICAgIHJpZ2h0OiA4MCU7IH1cbiAgLmZvcm1fX2J1dHRvbjpob3Zlcjo6YmVmb3JlIHtcbiAgICBsZWZ0OiA4MCU7IH1cblxuLndyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLm1haW4ge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA4MCU7IH1cblxuYm9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwNzAwMDc7XG4gIHotaW5kZXg6IC0yOyB9XG5cbi5oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogQmFybG93Q29uZGVuc2VkLUJvbGQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IDcwMDtcbiAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgY29sb3I6IHdoaXRlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLmhlYWRlciB7XG4gICAgICBmb250LXNpemU6IDEuODc1cmVtOyB9IH1cblxuLm1haW4taW5mbyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgaGVpZ2h0OiA4MHZoO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgY29sb3I6IHdoaXRlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAubWFpbi1pbmZvIHtcbiAgICAgIGhlaWdodDogMTAwdmg7IH0gfVxuXG4ucGFydG5lcnMsIC5tb3JlSW5mb3JtYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgLnBhcnRuZXJzX190aXRsZSB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LWZhbWlseTogQmFybG93Q29uZGVuc2VkLUJvbGQ7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiA3MDA7XG4gICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAucGFydG5lcnNfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfSB9XG4gIC5wYXJ0bmVyc19fYm94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAucGFydG5lcnNfX2JveCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAucGFydG5lcnNfX2NvbnRhaW5lciB7XG4gICAgZmxleDogMSA1MCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjogLjVzO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuOTM3NXJlbTtcbiAgICBoZWlnaHQ6IDcwdmg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgLnBhcnRuZXJzX19jb250YWluZXIge1xuICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICBoZWlnaHQ6IDUwdmg7IH0gfVxuICAgIC5wYXJ0bmVyc19fY29udGFpbmVyLWZpcnN0LCAucGFydG5lcnNfX2NvbnRhaW5lci1zZWNvbmQge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTsgfVxuICAgICAgLnBhcnRuZXJzX19jb250YWluZXItZmlyc3Q6OmJlZm9yZSwgLnBhcnRuZXJzX19jb250YWluZXItc2Vjb25kOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogLjVzO1xuICAgICAgICB6LWluZGV4OiAtMTsgfVxuICAgICAgLnBhcnRuZXJzX19jb250YWluZXItZmlyc3Q6aG92ZXIsIC5wYXJ0bmVyc19fY29udGFpbmVyLXNlY29uZDpob3ZlciB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgICAgICAgLnBhcnRuZXJzX19jb250YWluZXItZmlyc3Q6aG92ZXIgLnBhcnRuZXJzX190ZXh0LCAucGFydG5lcnNfX2NvbnRhaW5lci1zZWNvbmQ6aG92ZXIgLnBhcnRuZXJzX190ZXh0IHtcbiAgICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAgIC5wYXJ0bmVyc19fY29udGFpbmVyLWZpcnN0OmhvdmVyOjpiZWZvcmUsIC5wYXJ0bmVyc19fY29udGFpbmVyLXNlY29uZDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7IH1cbiAgLnBhcnRuZXJzX190ZXh0IHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgei1pbmRleDogMTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IDAuNXM7XG4gICAgcGFkZGluZzogMC42MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBmb250LWZhbWlseTogQmFybG93Q29uZGVuc2VkLUxpZ2h0O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogMzAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuXG4uYWN0UGFydG5lciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgLmFjdFBhcnRuZXIgLnBhcnRuZXJzX190ZXh0IHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5hY3RQYXJ0bmVyOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTsgfVxuXG4ucG9wdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQwLCAxLCA3NywgMC44KTtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMHZoO1xuICB6LWluZGV4OiAxMDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgdHJhbnNpdGlvbjogLjNzIGVhc2UtaW4tb3V0OyB9XG4gIC5wb3B1cF9fY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogNDB2dztcbiAgICBoZWlnaHQ6IDQwdmg7XG4gICAgYmFja2dyb3VuZDogYmxhY2s7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNjI1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgLnBvcHVwX19jb250YWluZXIge1xuICAgICAgICB3aWR0aDogODB2dztcbiAgICAgICAgaGVpZ2h0OiA0MHZoOyB9IH1cbiAgLnBvcHVwX190aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IEJhcmxvd0NvbmRlbnNlZC1Cb2xkO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogNjAwO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5wb3B1cF9fdGV4dCB7XG4gICAgZm9udC1mYW1pbHk6IEJhcmxvd0NvbmRlbnNlZC1NZWRpdW07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiAzMDA7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgLnBvcHVwX19saW5rIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6IElibXBsZXhzYW5zO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMS42ODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgY29sb3I6ICNmNWQwMDE7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4xMjVyZW07IH1cbiAgICAucG9wdXBfX2xpbms6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9CaW5hbmNlX2xvZ28ucG5nXCIpO1xuICAgICAgd2lkdGg6IDEuMjVyZW07XG4gICAgICBoZWlnaHQ6IDEuMjVyZW07XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjMxMjVyZW07IH1cbiAgLnBvcHVwX19jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0b3A6IDAuOTM3NXJlbTtcbiAgICByaWdodDogMC45Mzc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAyMDBtcyxcciB0cmFuc2Zvcm0gNTAwbXM7IH1cbiAgICAucG9wdXBfX2Nsb3NlOmhvdmVyLCAucG9wdXBfX2Nsb3NlOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZjhmOGY4O1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxuXG4uYWN0aXZlX3BvcHVwIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuXG4ubW9yZUluZm9ybWF0aW9uX19ib3gge1xuICBoZWlnaHQ6IDcwdmg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAubW9yZUluZm9ybWF0aW9uX19ib3gge1xuICAgICAgaGVpZ2h0OiA5MHZoOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgLm1vcmVJbmZvcm1hdGlvbl9fbGluayB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gICAgLm1vcmVJbmZvcm1hdGlvbl9fbGluazpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbjogbm9uZTsgfSB9XG5cbi5tb3JlSW5mb3JtYXRpb25fX3ZpZGVvIHtcbiAgZmxleDogMTtcbiAgcGFkZGluZzogMC42MjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuNjI1cmVtO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xuICB0cmFuc2l0aW9uOiAuNXM7XG4gIG9wYWNpdHk6IC41OyB9XG4gIC5tb3JlSW5mb3JtYXRpb25fX3ZpZGVvOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7IH1cblxuLmFjdFZpZGVvIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4ucXVlc3Rpb24sIC5mZWF0dXJlcyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGluaXRpYWw7XG4gIGJhY2tncm91bmQ6IHVybChcIi4vLi4vaW1nL3F1ZXN0aW9uLWJnLmpwZ1wiKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAtMTtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgZm9udC1mYW1pbHk6IEJhcmxvd0NvbmRlbnNlZC1SZWd1bGFyO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiA0MDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgY29sb3I6IHdoaXRlOyB9XG4gIC5xdWVzdGlvbjo6YmVmb3JlLCAuZmVhdHVyZXM6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gICAgei1pbmRleDogLTE7XG4gICAgbGVmdDogMDsgfVxuICAucXVlc3Rpb25fX2NvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnF1ZXN0aW9uX19saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgIC5xdWVzdGlvbl9fbGlzdCB7XG4gICAgICAgIHdpZHRoOiA5NSU7IH0gfVxuICAucXVlc3Rpb25fX2l0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4zMTI1cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5xdWVzdGlvbl9faXRlbTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAtMC4zMTI1cmVtO1xuICAgICAgcmlnaHQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpO1xuICAgICAgd2lkdGg6IDYuMjVyZW07XG4gICAgICBib3JkZXItYm90dG9tOiAwLjEyNXJlbSBzb2xpZCAjOTcwMTAxOyB9XG4gIC5xdWVzdGlvbl9fdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBCYXJsb3dDb25kZW5zZWQtTWVkaXVtO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogNTAwO1xuICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZmxleDogMTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAucXVlc3Rpb25fX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cbiAgLnF1ZXN0aW9uX19hbnN3ZXIge1xuICAgIGZsZXg6IDE7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgIC5xdWVzdGlvbl9fYW5zd2VyIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH0gfVxuXG4uZmVhdHVyZXNfX3RpdGxlIHtcbiAgZm9udC1mYW1pbHk6IEJhcmxvd0NvbmRlbnNlZC1Cb2xkO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zdHlsZTogNzAwO1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgY29sb3I6IHdoaXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmZlYXR1cmVzX19pdGVtOjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5zbGlkZXIge1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICBmb250LWZhbWlseTogQmFybG93Q29uZGVuc2VkLVJlZ3VsYXI7XG4gIHotaW5kZXg6IDI7IH1cbiAgLnNsaWRlcl9fcGljdHVyZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IDJzO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgdG9wOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgIC5zbGlkZXJfX3BpY3R1cmUge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyB9IH1cbiAgLnNsaWRlcl9fY29udGFpbmVyLCAuY291cnNlc19faXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjZmNjZTAxIDMwJSwgcmdiYSgyNTIsIDIwNiwgMSwgMC4xKSAxMDAlKTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAuc2xpZGVyX19jb250YWluZXIsIC5jb3Vyc2VzX19pdGVtIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI2ZjY2UwMSAzMCUsIHJnYmEoMjUyLCAyMDYsIDEsIDAuMSkgMTAwJSk7IH0gfVxuICAgIC5zbGlkZXJfX2NvbnRhaW5lci1ib3Qge1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjNzcwMjliIDMwJSwgcmdiYSgxNTgsIDEsIDE3OSwgMC4xKSAxMDAlKTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgICAgLnNsaWRlcl9fY29udGFpbmVyLWJvdCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzc3MDI5YiAzMCUsIHJnYmEoMTU4LCAxLCAxNzksIDAuMSkgMTAwJSk7IH0gfVxuICAuc2xpZGVyX19wcmV2aWV3LCAuY291cnNlc19fcHJldmlldyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgd2lkdGg6IDMzLjMlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAuc2xpZGVyX19wcmV2aWV3LCAuY291cnNlc19fcHJldmlldyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDMzLjN2aDsgfSB9XG4gIC5zbGlkZXJfX3RpdGxlLCAuY291cnNlc19fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMy4xMjVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAuc2xpZGVyX190aXRsZSwgLmNvdXJzZXNfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5zbGlkZXJfX3ByaWNlLCAuY291cnNlc19fcHJpY2Uge1xuICAgIGZvbnQtc2l6ZTogNi4yNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAuc2xpZGVyX19wcmljZSwgLmNvdXJzZXNfX3ByaWNlIHtcbiAgICAgICAgZm9udC1zaXplOiA0LjM3NXJlbTsgfSB9XG4gICAgLnNsaWRlcl9fcHJpY2Utb2xkIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLnNsaWRlcl9fcHJpY2Utb2xkOjpiZWZvcmUge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwLjM3NXJlbSBzb2xpZCByZWQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMjBkZWcpOyB9XG4gIC5zbGlkZXJfX2Rlc2NyaXB0aW9uLCAuY291cnNlc19fZGVzY3JpcHRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDY2LjYlO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZm9udC1mYW1pbHk6IEJhcmxvd0NvbmRlbnNlZC1SZWd1bGFyO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogNDAwO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBwYWRkaW5nOiAwIDUlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgLnNsaWRlcl9fZGVzY3JpcHRpb24sIC5jb3Vyc2VzX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICBwYWRkaW5nOiA1JTtcbiAgICAgICAgaGVpZ2h0OiA2Ni42dmg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIC5zbGlkZXJfX3JhdGUge1xuICAgIGNvbG9yOiByZWQ7XG4gICAgZm9udC1mYW1pbHk6IEJhcmxvd0NvbmRlbnNlZC1NZWRpdW07IH1cblxuLmFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG4gIHotaW5kZXg6IDE7IH1cblxuLmNvdXJzZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMjAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAuY291cnNlcyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMjAwdmg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgLmNvdXJzZXNfX2l0ZW0ge1xuICAgIHRyYW5zaXRpb246IGVhc2UgMXM7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB3aWR0aDogMTYuNyU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkIGJsYWNrOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgIC5jb3Vyc2VzX19pdGVtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTYuNyU7IH0gfVxuICAuY291cnNlc19fcHJldmlldyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMzMuM3Z3O1xuICAgIGJhY2tncm91bmQ6ICNmY2M4N2I7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgLmNvdXJzZXNfX3ByZXZpZXcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAzMy4zdmg7IH0gfVxuICAgIC5jb3Vyc2VzX19wcmV2aWV3LXNlY29uZCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjYmU3ZmI2OyB9XG4gICAgLmNvdXJzZXNfX3ByZXZpZXctdGhpcmQge1xuICAgICAgYmFja2dyb3VuZDogIzYxYzNjNjsgfVxuICAuY291cnNlc19fdGl0bGUge1xuICAgIHotaW5kZXg6IDE7XG4gICAgbWluLXdpZHRoOiAzMy4zdnc7IH1cbiAgLmNvdXJzZXNfX3ByaWNlIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIG1pbi13aWR0aDogMzMuM3Z3OyB9XG4gIC5jb3Vyc2VzX19kZXNjcmlwdGlvbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdHJhbnNpdGlvbjogZWFzZSAxcztcbiAgICB6LWluZGV4OiAxO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgIC5jb3Vyc2VzX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIC5jb3Vyc2VzX19kZXNjcmlwdGlvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNpdGlvbjogZWFzZSAuOXM7IH1cbiAgICAuY291cnNlc19fZGVzY3JpcHRpb24tZmlyc3Qge1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjZmNjODdiIDElLCByZ2JhKDI1MiwgMjAwLCAxMjMsIDAuMSkgMTAwJSk7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgIC5jb3Vyc2VzX19kZXNjcmlwdGlvbi1maXJzdCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI2ZjYzg3YiAxJSwgcmdiYSgyNTIsIDIwMCwgMTIzLCAwLjEpIDEwMCUpOyB9IH1cbiAgICAgIC5jb3Vyc2VzX19kZXNjcmlwdGlvbi1maXJzdDo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZjYzg3YjsgfVxuICAgIC5jb3Vyc2VzX19kZXNjcmlwdGlvbi1zZWNvbmQge1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjYmU3ZmI2IDElLCByZ2JhKDE5MCwgMTI3LCAxODIsIDAuMSkgMTAwJSk7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgIC5jb3Vyc2VzX19kZXNjcmlwdGlvbi1zZWNvbmQge1xuICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNiZTdmYjYgMSUsIHJnYmEoMTkwLCAxMjcsIDE4MiwgMC4xKSAxMDAlKTsgfSB9XG4gICAgICAuY291cnNlc19fZGVzY3JpcHRpb24tc2Vjb25kOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjYmU3ZmI2OyB9XG4gICAgLmNvdXJzZXNfX2Rlc2NyaXB0aW9uLXRoaXJkIHtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzYxYzNjNiAxJSwgcmdiYSg5NywgMTk1LCAxOTgsIDAuMSkgMTAwJSk7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgIC5jb3Vyc2VzX19kZXNjcmlwdGlvbi10aGlyZCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzYxYzNjNiAxJSwgcmdiYSg5NywgMTk1LCAxOTgsIDAuMSkgMTAwJSk7IH0gfVxuICAgICAgLmNvdXJzZXNfX2Rlc2NyaXB0aW9uLXRoaXJkOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjNjFjM2M2OyB9XG4gIC5jb3Vyc2VzX190ZXh0IHtcbiAgICBtaW4td2lkdGg6IDYwdnc7XG4gICAgbWF4LXdpZHRoOiA2MHZ3OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgIC5jb3Vyc2VzX190ZXh0IHtcbiAgICAgICAgbWluLXdpZHRoOiA5MCU7XG4gICAgICAgIG1heC13aWR0aDogOTAlO1xuICAgICAgICBtaW4taGVpZ2h0OiA2Ni42dmg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDY2LjZ2aDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG5cbi5hY3Qge1xuICB3aWR0aDogNTAlO1xuICBib3JkZXI6IDByZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAuYWN0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiA1MCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgIC5hY3QgLmNvdXJzZXNfX3ByZXZpZXcge1xuICAgICAgaGVpZ2h0OiAzMy4zdmg7IH0gfVxuICAuYWN0IC5jb3Vyc2VzX19kZXNjcmlwdGlvbiB7XG4gICAgd2lkdGg6IDY2LjZ2dzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAuYWN0IC5jb3Vyc2VzX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDY2LjZ2aDsgfSB9XG4gICAgLmFjdCAuY291cnNlc19fZGVzY3JpcHRpb246OmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG5cbi5oaWRkZW4ge1xuICB3aWR0aDogMDtcbiAgb3BhY2l0eTogMDtcbiAgYm9yZGVyOiAwcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLmhpZGRlbiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMDsgfSB9XG4iLCJcclxuXHJcbmh0bWwsXHJcbmJvZHkge1xyXG4gIGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuKiB7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxudWwsXHJcbmxpIHtcclxuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcblxyXG59XHJcblxyXG51bCB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbmJ1dHRvbiB7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuaDEsXHJcbmgyLFxyXG5oMyxcclxuaDQsXHJcbmg1LFxyXG5oNiB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbn1cclxuXHJcbnRhYmxlIHtcclxuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gIGJvcmRlci1zcGFjaW5nOiAwO1xyXG59XHJcblxyXG5wIHtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1hcmdpbjogMDtcclxufVxyXG5cclxuYSB7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcblxyXG5pbnB1dCwgdGV4dGFyZWEge1xyXG4gIGJvcmRlcjogMDtcclxufSIsIiAkZm9udC1mYW1pbHk6IChCYXJsb3dDb25kZW5zZWQtUmVndWxhcjooMzAwLCBub3JtYWwpLFxyXG4gICBCYXJsb3dDb25kZW5zZWQtQmxhY2s6KDkwMCwgbm9ybWFsKSxcclxuICAgQmFybG93Q29uZGVuc2VkLUJsYWNrSXRhbGljOig5MDAsIGl0YWxpYyksXHJcbiAgIEJhcmxvd0NvbmRlbnNlZC1Cb2xkOig2MDAsIG5vcm1hbCksXHJcbiAgIEJhcmxvd0NvbmRlbnNlZC1Cb2xkSXRhbGljOig2MDAsIGl0YWxpYyksXHJcbiAgIEJhcmxvd0NvbmRlbnNlZC1FeHRyYUJvbGQ6KDkwMCwgbm9ybWFsKSxcclxuICAgQmFybG93Q29uZGVuc2VkLUV4dHJhQm9sZEl0YWxpYzooOTAwLCBpdGFsaWMpLFxyXG4gICBCYXJsb3dDb25kZW5zZWQtRXh0cmFMaWdodDooMjAwLCBub3JtYWwpLFxyXG4gICBCYXJsb3dDb25kZW5zZWQtRXh0cmFMaWdodEl0YWxpYzooMjAwLCBpdGFsaWMpLFxyXG4gICBCYXJsb3dDb25kZW5zZWQtSXRhbGljOig0MDAsIGl0YWxpYyksXHJcbiAgIEJhcmxvd0NvbmRlbnNlZC1MaWdodDooMzAwLCBub3JtYWwpLFxyXG4gICBCYXJsb3dDb25kZW5zZWQtTGlnaHRJdGFsaWM6KDMwMCwgaXRhbGljKSxcclxuICAgQmFybG93Q29uZGVuc2VkLU1lZGl1bTooNTAwLCBub3JtYWwpLFxyXG4gICBCYXJsb3dDb25kZW5zZWQtTWVkaXVtSXRhbGljOig1MDAsIGl0YWxpYyksXHJcbiAgIEJhcmxvd0NvbmRlbnNlZC1TZW1pQm9sZDooNzAwLCBub3JtYWwpLFxyXG4gICBCYXJsb3dDb25kZW5zZWQtU2VtaUJvbGRJdGFsaWM6KDcwMCwgaXRhbGljKSxcclxuICAgQmFybG93Q29uZGVuc2VkLVRoaW46KDEwMCwgbm9ybWFsKSxcclxuICAgQmFybG93Q29uZGVuc2VkLVRoaW5JdGFsaWM6KDEwMCwgaXRhbGljKSxcclxuICAgSWJtcGxleHNhbnM6KG5vcm1hbCwgbm9ybWFsKSxcclxuICAgLy8gIEdlbGFzaW8tUmVndWxhcjooMzAwLCBub3JtYWwpLFxyXG4gICAvLyAgTmFudW1nb3RoaWM6KDMwMCwgbm9ybWFsKSxcclxuICk7XHJcblxyXG5cclxuIEBlYWNoICRmb250LFxyXG4gJGZvbnQtaW5mbyBpbiAkZm9udC1mYW1pbHkge1xyXG4gICAkZm9udC13ZWlnaHQ6IG50aCgkZm9udC1pbmZvLCAxKTtcclxuICAgJGZvbnQtc3R5bGU6IG50aCgkZm9udC1pbmZvLCAyKTtcclxuXHJcbiAgIEBmb250LWZhY2Uge1xyXG4gICAgIGZvbnQtZmFtaWx5OiAjeyRmb250fTtcclxuICAgICBzcmM6IHVybCgnLi4vZm9udHMvI3skZm9udH0ud29mZicpIGZvcm1hdCgnd29mZicpLFxyXG4gICAgIHVybCgnLi4vZm9udHMvI3skZm9udH0ud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XHJcbiAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodDtcclxuICAgICBmb250LXN0eWxlOiAkZm9udC1zdHlsZTtcclxuICAgICBmb250LWRpc3BsYXk6IGZhbGxiYWNrO1xyXG4gICB9XHJcbiB9IiwiLnRlc3Qge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogMTAwdnc7XHJcbiAgaGVpZ2h0OiAyMDBweDtcclxuICBiYWNrZ3JvdW5kOiB5ZWxsb3c7XHJcbn1cclxuXHJcbi5hcnJvdyB7XHJcbiAgbWluLXdpZHRoOiAxNXB4O1xyXG4gIGhlaWdodDogMzBweDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDUwJTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIHotaW5kZXg6IDM7XHJcblxyXG4gICYtbGVmdCB7XHJcbiAgICBsZWZ0OiAxJTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZykgdHJhbnNsYXRlKDAsIDU1JSk7XHJcbiAgICBhbmltYXRpb246IGFycm93TW92ZUxlZnQgNXMgaW5maW5pdGU7XHJcbiAgfVxyXG5cclxuICAmLXJpZ2h0IHtcclxuICAgIHJpZ2h0OiAxJTtcclxuICAgIGFuaW1hdGlvbjogYXJyb3dNb3ZlUmlnaHQgNXMgaW5maW5pdGU7XHJcbiAgfVxyXG5cclxuICAmOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgcmdiKDI1NSwgMjU1LCAyNTUpO1xyXG4gICAgdG9wOiAtMTFweDtcclxuICAgIGxlZnQ6IC01MHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBhcnJvd01vdmVSaWdodCB7XHJcbiAgZnJvbSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xyXG4gIH1cclxuXHJcbiAgMTAlIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpO1xyXG4gIH1cclxuXHJcbiAgMjAlIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICB9XHJcblxyXG4gIDMwJSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgYXJyb3dNb3ZlTGVmdCB7XHJcbiAgZnJvbSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHJvdGF0ZSgxODBkZWcpO1xyXG4gIH1cclxuXHJcbiAgMTAlIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSByb3RhdGUoMTgwZGVnKTtcclxuICB9XHJcblxyXG4gIDIwJSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKSByb3RhdGUoMTgwZGVnKTtcclxuICB9XHJcblxyXG4gIDMwJSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHJvdGF0ZSgxODBkZWcpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSByb3RhdGUoMTgwZGVnKTtcclxuICB9XHJcbn0iLCIuY29udGFjdCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIHBhZGRpbmc6IDIwcHggMCA0MHB4IDA7XHJcblxyXG4gICZfX3RpdGxlIHtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICBAaW5jbHVkZSB0ZXh0LWluZm8gKEJhcmxvd0NvbmRlbnNlZC1Cb2xkLCBub3JtYWwsIDcwMCwgMjhweCwgMSwgcmdiKDI1NSwgMjU1LCAyNTUpKTtcclxuXHJcbiAgICBAaW5jbHVkZSBwaG9uZSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19saXN0IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuXHJcbiAgICBAaW5jbHVkZSBwaG9uZSB7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9faXRlbSB7XHJcbiAgICBAaW5jbHVkZSBwaG9uZSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19saW5rIHtcclxuICAgIG1pbi13aWR0aDogMTY1cHg7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICBAaW5jbHVkZSB0ZXh0LWluZm8gKEJhcmxvd0NvbmRlbnNlZC1SZWd1bGFyLCBub3JtYWwsIDQwMCwgMjhweCwgMSwgcmdiKDAsIDExOSwgMjU1KSk7XHJcbiAgICBwYWRkaW5nOiA1cHggMzBweDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICB0cmFuc2l0aW9uOiAuM3M7XHJcbiAgICBib3JkZXI6IDNweCBzb2xpZCAjMmJhNGUwO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICYtdGVsZWdyYW0ge1xyXG4gICAgICBjb2xvcjogIzJiYTRlMDtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAjMmJhNGUwO1xyXG4gICAgfVxyXG5cclxuICAgICYtZmFjZWJvb2sge1xyXG4gICAgICBjb2xvcjogIzNhNTg5ODtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAjM2E1ODk4O1xyXG4gICAgfVxyXG5cclxuICAgICYtdHdpdHRlciB7XHJcbiAgICAgIGNvbG9yOiAjNjRhOGYyO1xyXG4gICAgICBib3JkZXItY29sb3I6ICM2NGE4ZjI7XHJcbiAgICAgIHBhZGRpbmc6IDVweCAzN3B4O1xyXG4gICAgfVxyXG5cclxuICAgICYtbGlua2VkaW4ge1xyXG4gICAgICBjb2xvcjogIzExOTFkNDtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAjMTE5MWQ0O1xyXG4gICAgICAvLyBwYWRkaW5nOiA1cHggMzdweDtcclxuICAgIH1cclxuXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICB3aWR0aDogOCU7XHJcbiAgICAgIGhlaWdodDogM3B4O1xyXG4gICAgICBiYWNrZ3JvdW5kOiAjMDcwMDA3O1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGJvdHRvbTogLTNweDtcclxuICAgICAgcmlnaHQ6IDEwJTtcclxuICAgICAgdHJhbnNpdGlvbjogLjNzIGxpbmVhcjtcclxuICAgICAgdHJhbnNmb3JtOiBza2V3WCg1MGRlZyk7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgQGV4dGVuZCAuY29udGFjdF9fbGluazo6YWZ0ZXI7XHJcbiAgICAgIHRvcDogLTNweDtcclxuICAgICAgbGVmdDogMTAlO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXI6OmFmdGVyIHtcclxuICAgICAgcmlnaHQ6IDgwJTtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyOjpiZWZvcmUge1xyXG4gICAgICBsZWZ0OiA4MCU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uYWN0Q29udGFjdCB7XHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgcmlnaHQ6IDgwJTtcclxuICB9XHJcblxyXG4gICY6OmJlZm9yZSB7XHJcbiAgICBsZWZ0OiA4MCU7XHJcbiAgfVxyXG59IiwiQG1peGluIHRleHQtaW5mbyAoJGZvbnQsICRmb250LXdlaWdodCwgJGZvbnQtc3R5bGUsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGNvbG9yKSB7XHJcbiAgZm9udC1mYW1pbHk6ICRmb250O1xyXG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQ7XHJcbiAgZm9udC1zdHlsZTogJGZvbnQtc3R5bGU7XHJcbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xyXG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XHJcbiAgY29sb3I6ICRjb2xvcjtcclxufVxyXG5cclxuQGZ1bmN0aW9uIGVtKCRweCkge1xyXG4gIEByZXR1cm4gJHB4IC8gNjRweCArIDBlbTtcclxufVxyXG5cclxuQG1peGluIHRhYmxldHMge1xyXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiB0YWJsZXRzNjAwIHtcclxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcGhvbmUge1xyXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBwaG9uZTQwMCB7XHJcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDAwcHgpIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuIiwiLmRlc2NyaXB0aW9uIHtcclxuICAmX19jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgcGFkZGluZzogMzBweCAxNXB4IDMwcHggMTBweDtcclxuICAgIG1pbi13aWR0aDogMzMuM3Z3O1xyXG5cclxuICAgIEBpbmNsdWRlIHBob25lIHtcclxuXHJcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2JveCB7XHJcbiAgICBoZWlnaHQ6IDUwJTtcclxuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICBtaW4taGVpZ2h0OiA1MCU7XHJcbiAgICBwYWRkaW5nOiAwIDEwcHg7XHJcblxyXG4gICAgQGluY2x1ZGUgcGhvbmUge1xyXG4gICAgICBtaW4taGVpZ2h0OiAwO1xyXG4gICAgICBoZWlnaHQ6IGluaXRpYWw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX190aXRsZSB7XHJcbiAgICBAaW5jbHVkZSB0ZXh0LWluZm8gKEJhcmxvd0NvbmRlbnNlZC1Cb2xkLCBub3JtYWwsIDcwMCwgMjhweCwgMSwgcmdiKDI1NSwgMjU1LCAyNTUpKTtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgfVxyXG59IiwiLmZvcm0ge1xyXG5cclxuICAmX19zZWN0aW9uIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9BSS1waWN0dXJlMi5qcGcnKTtcclxuICB9XHJcblxyXG4gICZfX2NvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleDogMTtcclxuICAgIC8vIHdpZHRoOiA5MCU7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICB9XHJcblxyXG4gICYtcGljdHVyZSB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgb3BhY2l0eTogLjY7XHJcblxyXG4gICAgQGluY2x1ZGUgcGhvbmUge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fYmxvY2sge1xyXG4gICAgZmxleDogMTtcclxuICB9XHJcblxyXG4gICZfX2JveCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIG1hcmdpbjogMjVweDtcclxuICAgIHdpZHRoOiA3MCU7XHJcblxyXG4gICAgQGluY2x1ZGUgcGhvbmUge1xyXG4gICAgICBmbGV4OiAxIDkwJTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX3RpdGxlIHtcclxuICAgIEBpbmNsdWRlIHRleHQtaW5mbyAoQmFybG93Q29uZGVuc2VkLUxpZ2h0LCBub3JtYWwsIDMwMCwgMjBweCwgMS4zLCByZ2IoMjU1LCAyNTUsIDI1NSkpO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gICZfX2lucHV0IHtcclxuICAgIHBhZGRpbmc6IDEwcHggMTVweDtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgLy8gZm9udC1mYW1pbHk6IEJhcmxvd0NvbmRlbnNlZC1SZWd1bGFyO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB0cmFuc2l0aW9uOiAuM3M7XHJcbiAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgd2hpdGU7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgQGluY2x1ZGUgdGV4dC1pbmZvIChCYXJsb3dDb25kZW5zZWQtTGlnaHQsIG5vcm1hbCwgMzAwLCAyMHB4LCAxLjMsIHJnYigyNTUsIDI1NSwgMjU1KSk7XHJcblxyXG4gICAgJjo6cGxhY2Vob2xkZXIge1xyXG4gICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgIEBpbmNsdWRlIHRleHQtaW5mbyAoQmFybG93Q29uZGVuc2VkLUxpZ2h0LCBub3JtYWwsIDMwMCwgMjBweCwgMS4zLCByZ2IoMjU1LCAyNTUsIDI1NSkpO1xyXG5cclxuICAgIH1cclxuXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiByZ2IoMjEzLCAxMDcsIDI0NSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19idXR0b24ge1xyXG4gICAgd2lkdGg6IDUwJTtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIHBhZGRpbmc6IDVweCAzMHB4O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIHRyYW5zaXRpb246IC4zcztcclxuICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZmZmZmY7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgQGluY2x1ZGUgdGV4dC1pbmZvIChCYXJsb3dDb25kZW5zZWQtUmVndWxhciwgbm9ybWFsLCA0MDAsIDI4cHgsIDEsICNmZmZmZmYpO1xyXG5cclxuXHJcblxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiAnJztcclxuICAgICAgd2lkdGg6IDglO1xyXG4gICAgICBoZWlnaHQ6IDNweDtcclxuICAgICAgYmFja2dyb3VuZDogcmdiKDIxMywgMTA3LCAyNDUpO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGJvdHRvbTogLTNweDtcclxuICAgICAgcmlnaHQ6IDEwJTtcclxuICAgICAgdHJhbnNpdGlvbjogLjNzIGxpbmVhcjtcclxuICAgICAgdHJhbnNmb3JtOiBza2V3WCg1MGRlZyk7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgQGV4dGVuZCAuY29udGFjdF9fbGluazo6YWZ0ZXI7XHJcbiAgICAgIGJhY2tncm91bmQ6IHJnYigyMTMsIDEwNywgMjQ1KTtcclxuICAgICAgdG9wOiAtM3B4O1xyXG4gICAgICBsZWZ0OiAxMCU7XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xyXG4gICAgICByaWdodDogODAlO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXI6OmJlZm9yZSB7XHJcbiAgICAgIGxlZnQ6IDgwJTtcclxuICAgIH1cclxuICB9XHJcblxyXG59IiwiLndyYXBwZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBtaW4taGVpZ2h0OiAxMDAlO1xyXG4gIG1pbi13aWR0aDogMTAwJTtcclxuICAvLyBoZWlnaHQ6IDEwMCU7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuXHJcbi5tYWluIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDgwJTtcclxufVxyXG5cclxuYm9keSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzA3MDAwNztcclxuICB6LWluZGV4OiAtMjtcclxufSIsIi5oZWFkZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBwYWRkaW5nOiAyMHB4O1xyXG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBAaW5jbHVkZSB0ZXh0LWluZm8gKEJhcmxvd0NvbmRlbnNlZC1Cb2xkLCBub3JtYWwsIDcwMCwgMzBweCwgMS4zLCByZ2IoMjU1LCAyNTUsIDI1NSkpO1xyXG5cclxuICBAaW5jbHVkZSBwaG9uZSB7XHJcbiAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgfVxyXG59IiwiLm1haW4taW5mbyB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGhlaWdodDogODB2aDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBjb2xvcjogd2hpdGU7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblxyXG4gIEBpbmNsdWRlIHBob25lIHtcclxuICAgIGhlaWdodDogMTAwdmg7XHJcbiAgfVxyXG59IiwiLnBhcnRuZXJzIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuXHJcbiAgJl9fdGl0bGUge1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgIEBpbmNsdWRlIHRleHQtaW5mbyAoQmFybG93Q29uZGVuc2VkLUJvbGQsIG5vcm1hbCwgNzAwLCAyOHB4LCAxLCByZ2IoMjU1LCAyNTUsIDI1NSkpO1xyXG5cclxuICAgIEBpbmNsdWRlIHBob25lIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2JveCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgLy8gaGVpZ2h0OiA2MHZoO1xyXG5cclxuICAgIEBpbmNsdWRlIHBob25lIHtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgLy8gaGVpZ2h0OiA4MHZoO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fY29udGFpbmVyIHtcclxuICAgIGZsZXg6IDEgNTAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0cmFuc2l0aW9uOiAuNXM7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTVweDtcclxuICAgIGhlaWdodDogNzB2aDtcclxuXHJcbiAgICBAaW5jbHVkZSBwaG9uZSB7XHJcbiAgICAgIGZsZXg6IG5vbmU7XHJcbiAgICAgIGhlaWdodDogNTB2aDtcclxuICAgIH1cclxuXHJcbiAgICAmLWZpcnN0IHtcclxuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcclxuXHJcbiAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB0cmFuc2l0aW9uOiAuNXM7XHJcbiAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcblxyXG4gICAgICAgICYgLnBhcnRuZXJzX190ZXh0IHtcclxuICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYtc2Vjb25kIHtcclxuICAgICAgQGV4dGVuZCAucGFydG5lcnNfX2NvbnRhaW5lci1maXJzdDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX3RleHQge1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2l0aW9uOiAwLjVzO1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XHJcbiAgICBAaW5jbHVkZSB0ZXh0LWluZm8gKEJhcmxvd0NvbmRlbnNlZC1MaWdodCwgbm9ybWFsLCAzMDAsIDE2cHgsIDEuMywgcmdiKDI1NSwgMjU1LCAyNTUpKTtcclxuICB9XHJcbn1cclxuXHJcbi5hY3RQYXJ0bmVyIHtcclxuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG5cclxuICAmIC5wYXJ0bmVyc19fdGV4dCB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgJjo6YmVmb3JlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcclxuICB9XHJcbn1cclxuXHJcbi5tb3JlSW5mb3JtYXRpb24ge1xyXG4gIEBleHRlbmQgLnBhcnRuZXJzXHJcbn0iLCIucG9wdXAge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0MCwgMSwgNzcsIDAuOCk7XHJcbiAgd2lkdGg6IDEwMHZ3O1xyXG4gIGhlaWdodDogMTAwdmg7XHJcbiAgei1pbmRleDogMTAwO1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgdHJhbnNpdGlvbjogLjNzIGVhc2UtaW4tb3V0O1xyXG5cclxuICAmX19jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHdpZHRoOiA0MHZ3O1xyXG4gICAgaGVpZ2h0OiA0MHZoO1xyXG4gICAgYmFja2dyb3VuZDogYmxhY2s7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDE1cHg7XHJcblxyXG4gICAgQGluY2x1ZGUgcGhvbmUge1xyXG4gICAgICB3aWR0aDogODB2dztcclxuICAgICAgaGVpZ2h0OiA0MHZoXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX190aXRsZSB7XHJcbiAgICBAaW5jbHVkZSB0ZXh0LWluZm8gKEJhcmxvd0NvbmRlbnNlZC1Cb2xkLCBub3JtYWwsIDYwMCwgMjBweCwgMS4zLCByZ2IoMjU1LCAyNTUsIDI1NSkpO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIDtcclxuICB9XHJcblxyXG4gICZfX3RleHQge1xyXG4gICAgQGluY2x1ZGUgdGV4dC1pbmZvIChCYXJsb3dDb25kZW5zZWQtTWVkaXVtLCBub3JtYWwsIDMwMCwgMTZweCwgMS4zLCByZ2IoMjU1LCAyNTUsIDI1NSkpO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICB9XHJcblxyXG4gICZfX2xpbmsge1xyXG4gICAgLy8gYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9pbWcvQmluYW5jZV9wb3B1cC5qcGcnKTtcclxuICAgIC8vIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAvLyB3aWR0aDogMTAwcHg7XHJcbiAgICAvLyBoZWlnaHQ6IDUwcHg7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBAaW5jbHVkZSB0ZXh0LWluZm8gKElibXBsZXhzYW5zLCA5MDAsIG5vcm1hbCwgMjdweCwgMS4zLCByZ2IoMjQ1LCAyMDgsIDEpKTtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xyXG5cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL0JpbmFuY2VfbG9nby5wbmcnKTtcclxuICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19jbG9zZSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0b3A6IDE1cHg7XHJcbiAgICByaWdodDogMTVweDtcclxuICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgIGNvbG9yOiB0cmFuc3BhcmVudGl6ZShyZ2IoMjU1LCAyNTUsIDI1NSksIDAuNik7XHJcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAyMDBtcyxcclxuICAgICAgdHJhbnNmb3JtIDUwMG1zO1xyXG5cclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgY29sb3I6IHJnYigyNDgsIDI0OCwgMjQ4KTtcclxuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5hY3RpdmVfcG9wdXAge1xyXG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbn0iLCIubW9yZUluZm9ybWF0aW9uIHtcclxuICBAZXh0ZW5kIC5wYXJ0bmVycztcclxuXHJcbiAgJl9fYm94IHtcclxuICAgIGhlaWdodDogNzB2aDtcclxuXHJcbiAgICBAaW5jbHVkZSBwaG9uZSB7XHJcbiAgICAgIGhlaWdodDogOTB2aDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2xpbmsge1xyXG4gICAgQGluY2x1ZGUgcGhvbmUge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG5cclxuICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICBtYXJnaW46IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX3ZpZGVvIHtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45NSk7XHJcbiAgICB0cmFuc2l0aW9uOiAuNXM7XHJcbiAgICBvcGFjaXR5OiAuNTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5hY3RWaWRlbyB7XHJcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICBvcGFjaXR5OiAxO1xyXG59IiwiLnF1ZXN0aW9uIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IGluaXRpYWw7XHJcbiAgYmFja2dyb3VuZDogdXJsKCcuLy4uL2ltZy9xdWVzdGlvbi1iZy5qcGcnKTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgei1pbmRleDogLTE7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gIEBpbmNsdWRlIHRleHQtaW5mbyAoQmFybG93Q29uZGVuc2VkLVJlZ3VsYXIsIG5vcm1hbCwgNDAwLCAxNnB4LCAxLjMsIHJnYigyNTUsIDI1NSwgMjU1KSk7XHJcblxyXG4gICY6OmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAuNyk7XHJcbiAgICB6LWluZGV4OiAtMTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgfVxyXG5cclxuICAmX19jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICB9XHJcblxyXG4gICZfX2xpc3Qge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICAgIHdpZHRoOiA4MCU7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgQGluY2x1ZGUgcGhvbmUge1xyXG4gICAgICB3aWR0aDogOTUlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9faXRlbSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDVweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiAnJztcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBib3R0b206IC01cHg7XHJcbiAgICAgIHJpZ2h0OiA1MCU7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpO1xyXG4gICAgICB3aWR0aDogMTAwcHg7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCByZ2IoMTUxLCAxLCAxKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX3RpdGxlIHtcclxuICAgIEBpbmNsdWRlIHRleHQtaW5mbyAoQmFybG93Q29uZGVuc2VkLU1lZGl1bSwgbm9ybWFsLCA1MDAsIDMwcHgsIDEuMywgcmdiKDI1NSwgMjU1LCAyNTUpKTtcclxuICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgIGNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7XHJcbiAgICBmbGV4OiAxO1xyXG5cclxuICAgIEBpbmNsdWRlIHBob25lIHtcclxuICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fYW5zd2VyIHtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcblxyXG4gICAgQGluY2x1ZGUgcGhvbmUge1xyXG4gICAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uZmVhdHVyZXMge1xyXG4gIEBleHRlbmQgLnF1ZXN0aW9uO1xyXG59XHJcblxyXG4uZmVhdHVyZXMge1xyXG4gICZfX3RpdGxlIHtcclxuICAgIEBpbmNsdWRlIHRleHQtaW5mbyAoQmFybG93Q29uZGVuc2VkLUJvbGQsIGJvbGQsIDcwMCwgNDBweCwgMS4zLCByZ2IoMjU1LCAyNTUsIDI1NSkpO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIH1cclxuXHJcbiAgJl9faXRlbTo6YmVmb3JlIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG59IiwiLnNsaWRlciB7XHJcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcclxuICBmb250LWZhbWlseTogQmFybG93Q29uZGVuc2VkLVJlZ3VsYXI7XHJcbiAgei1pbmRleDogMjtcclxuXHJcbiAgJl9fcGljdHVyZSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2l0aW9uOiAycztcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICB6LWluZGV4OiAtMTtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICB0b3A6IDA7XHJcblxyXG4gICAgQGluY2x1ZGUgcGhvbmUge1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiKDI1MiwgMjA2LCAxKSAzMCUsIHJnYmEoMjUyLCAyMDYsIDEsIDAuMSkgMTAwJSk7XHJcblxyXG4gICAgQGluY2x1ZGUgcGhvbmUge1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2IoMjUyLCAyMDYsIDEpIDMwJSwgcmdiYSgyNTIsIDIwNiwgMSwgMC4xKSAxMDAlKTtcclxuICAgIH1cclxuXHJcbiAgICAmLWJvdCB7XHJcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiKDExOSwgMiwgMTU1KSAzMCUsIHJnYmEoMTU4LCAxLCAxNzksIDAuMSkgMTAwJSk7XHJcblxyXG4gICAgICBAaW5jbHVkZSBwaG9uZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiKDExOSwgMiwgMTU1KSAzMCUsIHJnYmEoMTU4LCAxLCAxNzksIDAuMSkgMTAwJSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX3ByZXZpZXcge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB3aWR0aDogMzMuMyU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgQGluY2x1ZGUgcGhvbmUge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiAzMy4zdmg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX190aXRsZSB7XHJcbiAgICBmb250LXNpemU6IDUwcHg7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuXHJcbiAgICBAaW5jbHVkZSBwaG9uZSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogNDBweDtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fcHJpY2Uge1xyXG4gICAgZm9udC1zaXplOiAxMDBweDtcclxuXHJcbiAgICBAaW5jbHVkZSBwaG9uZSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogNzBweDtcclxuICAgIH1cclxuXHJcbiAgICAmLW9sZCB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkIHJlZDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDUwJTtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMjBkZWcpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19kZXNjcmlwdGlvbiB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgd2lkdGg6IDY2LjYlO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgQGluY2x1ZGUgdGV4dC1pbmZvIChCYXJsb3dDb25kZW5zZWQtUmVndWxhciwgbm9ybWFsLCA0MDAsIDIwcHgsIDEuMywgcmdiKDI1NSwgMjU1LCAyNTUpKTtcclxuICAgIHBhZGRpbmc6IDAgNSU7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cclxuICAgIEBpbmNsdWRlIHBob25lIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgcGFkZGluZzogNSU7XHJcbiAgICAgIGhlaWdodDogNjYuNnZoO1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19yYXRlIHtcclxuICAgIGNvbG9yOiByZWQ7XHJcbiAgICBmb250LWZhbWlseTogQmFybG93Q29uZGVuc2VkLU1lZGl1bTtcclxuICB9XHJcbn1cclxuXHJcbi5hY3RpdmUge1xyXG4gIG9wYWNpdHk6IDE7XHJcbiAgei1pbmRleDogMTtcclxufVxyXG5cclxuLmNvdXJzZXMge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgd2lkdGg6IDIwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICBAaW5jbHVkZSBwaG9uZSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMjAwdmg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgO1xyXG4gIH1cclxuXHJcbiAgJl9faXRlbSB7XHJcbiAgICBAZXh0ZW5kIC5zbGlkZXJfX2NvbnRhaW5lcjtcclxuICAgIHRyYW5zaXRpb246IGVhc2UgMXM7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgd2lkdGg6IDE2LjclO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgYmxhY2s7XHJcblxyXG4gICAgQGluY2x1ZGUgcGhvbmUge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiAxNi43JTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX3ByZXZpZXcge1xyXG4gICAgQGV4dGVuZCAuc2xpZGVyX19wcmV2aWV3O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHdpZHRoOiAzMy4zdnc7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2IoMjUyLCAyMDAsIDEyMyk7XHJcbiAgICAvLyBiYWNrZ3JvdW5kOiByZ2JhKDUxLCAyNTUsIDAsIDEpO1xyXG4gICAgLy8gdHJhbnNpdGlvbjogMXM7XHJcblxyXG4gICAgQGluY2x1ZGUgcGhvbmUge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiAzMy4zdmg7XHJcbiAgICB9XHJcblxyXG4gICAgJi1zZWNvbmQge1xyXG4gICAgICAvLyBiYWNrZ3JvdW5kOiByZ2JhKDMsIDQ3LCAxOTQsIDEpO1xyXG4gICAgICBiYWNrZ3JvdW5kOiByZ2IoMTkwLCAxMjcsIDE4Mik7XHJcbiAgICAgIDtcclxuICAgIH1cclxuXHJcbiAgICAmLXRoaXJkIHtcclxuICAgICAgLy8gYmFja2dyb3VuZDogcmdiYSgyMDYsIDI1LCAxLCAxKTtcclxuICAgICAgLy8gYmFja2dyb3VuZDogIzYxYzNjNjtcclxuICAgICAgYmFja2dyb3VuZDogcmdiKDk3LCAxOTUsIDE5OCk7XHJcbiAgICAgIDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX3RpdGxlIHtcclxuICAgIEBleHRlbmQgLnNsaWRlcl9fdGl0bGU7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgbWluLXdpZHRoOiAzMy4zdnc7XHJcbiAgfVxyXG5cclxuICAmX19wcmljZSB7XHJcbiAgICBAZXh0ZW5kIC5zbGlkZXJfX3ByaWNlO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIG1pbi13aWR0aDogMzMuM3Z3O1xyXG4gIH1cclxuXHJcbiAgJl9fZGVzY3JpcHRpb24ge1xyXG4gICAgQGV4dGVuZCAuc2xpZGVyX19kZXNjcmlwdGlvbjtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgd2lkdGg6IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgdHJhbnNpdGlvbjogZWFzZSAxcztcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG5cclxuICAgIEBpbmNsdWRlIHBob25lIHtcclxuICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgdHJhbnNpdGlvbjogZWFzZSAuOXM7XHJcbiAgICB9XHJcblxyXG4gICAgJi1maXJzdCB7XHJcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiKDI1MiwgMjAwLCAxMjMpIDElLCByZ2JhKDI1MiwgMjAwLCAxMjMsIDAuMSkgMTAwJSk7XHJcblxyXG4gICAgICBAaW5jbHVkZSBwaG9uZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiKDI1MiwgMjAwLCAxMjMpIDElLCByZ2JhKDI1MiwgMjAwLCAxMjMsIDAuMSkgMTAwJSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogcmdiKDI1MiwgMjAwLCAxMjMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi1zZWNvbmQge1xyXG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYigxOTAsIDEyNywgMTgyKSAxJSwgcmdiYSgxOTAsIDEyNywgMTgyLCAwLjEpIDEwMCUpO1xyXG5cclxuICAgICAgQGluY2x1ZGUgcGhvbmUge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYigxOTAsIDEyNywgMTgyKSAxJSwgcmdiYSgxOTAsIDEyNywgMTgyLCAwLjEpIDEwMCUpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHJnYigxOTAsIDEyNywgMTgyKTtcclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICAmLXRoaXJkIHtcclxuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2IoOTcsIDE5NSwgMTk4KSAxJSwgcmdiYSg5NywgMTk1LCAxOTgsIDAuMSkgMTAwJSk7XHJcblxyXG4gICAgICBAaW5jbHVkZSBwaG9uZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiKDk3LCAxOTUsIDE5OCkgMSUsIHJnYmEoOTcsIDE5NSwgMTk4LCAwLjEpIDEwMCUpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHJnYig5NywgMTk1LCAxOTgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX190ZXh0IHtcclxuICAgIG1pbi13aWR0aDogNjB2dztcclxuICAgIG1heC13aWR0aDogNjB2dztcclxuXHJcbiAgICBAaW5jbHVkZSBwaG9uZSB7XHJcbiAgICAgIG1pbi13aWR0aDogOTAlO1xyXG4gICAgICBtYXgtd2lkdGg6IDkwJTtcclxuICAgICAgbWluLWhlaWdodDogNjYuNnZoO1xyXG4gICAgICBtYXgtaGVpZ2h0OiA2Ni42dmg7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uYWN0IHtcclxuICB3aWR0aDogNTAlO1xyXG4gIGJvcmRlcjogMHB4O1xyXG5cclxuICBAaW5jbHVkZSBwaG9uZSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogNTAlO1xyXG4gIH1cclxuXHJcbiAgJiAuY291cnNlc19fcHJldmlldyB7XHJcblxyXG4gICAgLy8gJi1maXJzdCB7XHJcbiAgICAvLyAgIGJhY2tncm91bmQ6IHJnYmEoNTEsIDI1NSwgMCwgMSlcclxuICAgIC8vIH1cclxuXHJcbiAgICAvLyAmLXNlY29uZCB7XHJcbiAgICAvLyAgIGJhY2tncm91bmQ6IHJnYmEoMywgNDcsIDE5NCwgMSk7XHJcbiAgICAvLyB9XHJcblxyXG4gICAgLy8gJi10aGlyZCB7XHJcbiAgICAvLyAgIGJhY2tncm91bmQ6IHJnYmEoMjA2LCAyNSwgMSwgMSk7XHJcbiAgICAvLyB9XHJcblxyXG4gICAgQGluY2x1ZGUgcGhvbmUge1xyXG4gICAgICBoZWlnaHQ6IDMzLjN2aDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYgLmNvdXJzZXNfX2Rlc2NyaXB0aW9uIHtcclxuICAgIHdpZHRoOiA2Ni42dnc7XHJcblxyXG4gICAgQGluY2x1ZGUgcGhvbmUge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiA2Ni42dmg7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5oaWRkZW4ge1xyXG4gIHdpZHRoOiAwO1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgYm9yZGVyOiAwcHg7XHJcblxyXG4gIEBpbmNsdWRlIHBob25lIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gIH1cclxufSJdfQ== */
