@charset "UTF-8";
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/Inter-Regular.ttf");
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/Inter-Medium.ttf");
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/Inter-Bold.ttf");
}
@font-face {
  font-family: "Bebas Neue";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/BebasNeue-Regular.ttf");
}
/* Переменные для медиа запросов */
/* Ширина контента */
:root {
  --block-padding: 13.5vw;
  --max-width: calc(100vw - 2 * 13.5vw);
}

@media screen and (max-width: 1600px) {
  :root {
    --block-padding: 6vw;
    --max-width: calc(100vw - 2 * 6vw);
  }
}
@media screen and (max-width: 1200px) {
  :root {
    --block-padding: 4rem;
    --max-width: calc(100vw - 2 * 4rem);
  }
}
@media screen and (max-width: 640px) {
  :root {
    --block-padding: 2rem;
    --max-width: calc(100vw - 2 * 1.6rem);
  }
}
:root {
  --section-margin: 12rem;
}
@media screen and (max-width: 900px) {
  :root {
    --section-margin: 6rem;
  }
}
@media screen and (max-width: 640px) {
  :root {
    --section-margin: 4rem;
  }
}

:root {
  --color-primary: #1C1C1C;
  --font-family-main: "Inter", sans-serif;
  --font-family-headers: "Bebas Neue", sans-serif;
  --font-size: 1.8rem;
}

/* Переменные для медиа запросов */
/* Ширина контента */
:root {
  --block-padding: 13.5vw;
  --max-width: calc(100vw - 2 * 13.5vw);
}

@media screen and (max-width: 1600px) {
  :root {
    --block-padding: 6vw;
    --max-width: calc(100vw - 2 * 6vw);
  }
}
@media screen and (max-width: 1200px) {
  :root {
    --block-padding: 4rem;
    --max-width: calc(100vw - 2 * 4rem);
  }
}
@media screen and (max-width: 640px) {
  :root {
    --block-padding: 2rem;
    --max-width: calc(100vw - 2 * 1.6rem);
  }
}
:root {
  --section-margin: 12rem;
}
@media screen and (max-width: 900px) {
  :root {
    --section-margin: 6rem;
  }
}
@media screen and (max-width: 640px) {
  :root {
    --section-margin: 4rem;
  }
}

:root {
  --color-primary: #1C1C1C;
  --font-family-main: "Inter", sans-serif;
  --font-family-headers: "Bebas Neue", sans-serif;
  --font-size: 1.8rem;
}

/*! 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 {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

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

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

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

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

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

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

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

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

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

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

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

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 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 {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

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

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

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

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

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 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;
}

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

html {
  box-sizing: border-box;
  font-size: 10px;
  overflow-x: hidden;
  max-width: 100vw;
  font-family: var(--font-family-main);
  scroll-behavior: smooth;
}

body {
  margin: 0;
  overflow-x: hidden;
  font-size: var(--font-size);
}
@media screen and (max-width: 1200px) {
  body {
    font-size: 16px;
  }
}

img {
  max-width: 100%;
}

a {
  text-decoration: none;
  color: currentColor;
}

.content_area {
  max-width: var(--max-width);
  margin: 0 auto;
  width: 100%;
  padding: 0 20px;
}

.header .content_area {
  padding: 0;
}

@media screen and (max-width: 1600px) {
  .content_area {
    max-width: var(--max-width);
  }
}
@media screen and (max-width: 900px) {
  .content_area {
    max-width: var(--max-width);
  }
}
@media screen and (max-width: 640px) {
  .content_area {
    max-width: var(--max-width);
    padding: 0;
  }
}
.wrap-title {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 40px;
}
@media screen and (max-width: 900px) {
  .wrap-title {
    margin-bottom: 30px;
  }
}

input.input, .input, textarea.textarea, .textarea {
  width: 100%;
  border-radius: 4px 4px 0px 0px;
  background: #F7F7F7;
  padding: 14.5px 16px;
  border: 0;
  outline: 0;
  font-weight: 400;
  font-size: 18px;
  line-height: 150%;
  color: #1C1C1C;
}
input.input::placeholder, .input::placeholder, textarea.textarea::placeholder, .textarea::placeholder {
  color: #81898F;
}

textarea.textarea, .textarea {
  resize: vertical;
}

.field__wrap {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.field__wrap input, .field__wrap select, .field__wrap textarea {
  font-size: 1.6rem;
  padding: 0.4rem 1rem;
}
.field__label {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.field__title {
  font-size: 1.6rem;
  padding-left: 1rem;
}
.field__description {
  font-size: 1.2rem;
  padding-left: 1rem;
  font-weight: 400;
  color: #696969;
}
.field__radio, .field__checkbox {
  line-height: 1;
}
.field__radio > input, .field__checkbox > input {
  position: absolute;
  z-index: -1;
  opacity: 0;
  height: 0;
  display: table;
}
.field__radio > input:not(:disabled):not(:checked) + .field__title:hover::before, .field__checkbox > input:not(:disabled):not(:checked) + .field__title:hover::before {
  border-color: var(--color-secondary);
}
.field__radio > input:not(:disabled):active + .field__title::before, .field__checkbox > input:not(:disabled):active + .field__title::before {
  background-color: var(--color-secondary);
  border-color: var(--color-secondary);
}
.field__radio > input:focus:not(:checked) + .field__title::before, .field__checkbox > input:focus:not(:checked) + .field__title::before {
  border-color: var(--color-primary);
}
.field__radio > input:disabled + .field__title::before, .field__checkbox > input:disabled + .field__title::before {
  background-color: #e9ecef;
}
.field__radio .field__title, .field__checkbox .field__title {
  user-select: none;
  line-height: 1.2;
  position: relative;
  cursor: pointer;
  padding-left: 2.6rem;
}
.field__radio .field__title a, .field__checkbox .field__title a {
  text-decoration: underline;
}
.field__radio .field__title::before, .field__checkbox .field__title::before {
  content: "";
  display: inline-block;
  width: 1.8rem;
  height: 1.8rem;
  flex-shrink: 0;
  flex-grow: 0;
  border: 1px solid var(--color-secondary);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 50% 50%;
  position: absolute;
  left: 0;
}
.field__radio > input:checked + .field__title::before {
  border-color: var(--color-primary);
  background-color: var(--color-primary);
}
.field__radio .field__title::before {
  border-radius: 2rem;
}
.field__checkbox > input:checked + .field__title::before {
  border-color: var(--color-primary);
  background-color: var(--color-primary);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e");
}
.field__checkbox .field__title::before {
  border-radius: 0.4rem;
}
@media screen and (max-width: 900px) {
  .field__title {
    font-size: 1.6rem;
  }
  .field__radio .field__title, .field__checkbox .field__title {
    font-size: 1.4rem;
    padding-left: 2.8rem;
  }
  .field__radio .field__title:before, .field__checkbox .field__title:before {
    width: 2.4rem;
    height: 2.4rem;
  }
}
@media screen and (max-width: 640px) {
  .field__radio .field__title {
    text-align: center;
    font-size: 1.2rem;
    padding-left: 0;
  }
  .field__radio .field__title:before {
    width: 2rem;
    height: 2rem;
    left: 50%;
    top: 0;
    transform: translate(-50%, -110%);
  }
  .field__checkbox .field__title {
    font-size: 1.2rem;
  }
  .field__checkbox .field__title:before {
    width: 2rem;
    height: 2rem;
    top: 0.2rem;
  }
}

h1,
.h1 {
  font-family: var(--font-family-headers);
  margin: 0;
  padding: 0;
  font-weight: 700;
  font-size: 48px;
  line-height: 120%;
  text-transform: uppercase;
}
@media screen and (max-width: 1200px) {
  h1,
  .h1 {
    font-size: 40px;
  }
}

h2,
.h2 {
  font-family: var(--font-family-headers);
  font-weight: 700;
  font-size: 48px;
  margin: 0;
  padding: 0;
  line-height: 120%;
  text-transform: uppercase;
}
@media screen and (max-width: 1200px) {
  h2,
  .h2 {
    font-size: 40px;
  }
}

h3,
.h3 {
  font-family: var(--font-family-headers);
  font-weight: 700;
  font-size: 30px;
  margin: 0;
  padding: 0;
  line-height: 130%;
  text-transform: uppercase;
}
@media screen and (max-width: 1200px) {
  h3,
  .h3 {
    font-size: 24px;
  }
}

h4,
.h4 {
  font-family: var(--font-family-headers);
  font-weight: 700;
  font-size: 22px;
  margin: 0;
  padding: 0;
  line-height: 125%;
  text-transform: uppercase;
}
@media screen and (max-width: 1200px) {
  h4,
  .h4 {
    font-size: 20px;
  }
}

p, li {
  line-height: 150%;
  font-size: var(--font-size);
  font-weight: 400;
  color: var(--color-primary);
  margin: 0;
}
@media screen and (max-width: 1200px) {
  p, li {
    font-size: 16px;
  }
}

a {
  transition: 0.2s;
}
a:hover {
  color: #EE1B2D;
}

ul {
  margin: 0;
}

.title-color {
  color: #D40000;
}

.btn-p {
  display: inline-block;
  padding: 11px 20px 12px;
  background: #EE1B2D;
  transition: 0.2s;
  white-space: nowrap;
  line-height: 140%;
  font-weight: 500;
  width: fit-content;
  cursor: pointer;
  color: #FFFFFF;
  font-size: 15px;
  text-align: center;
}
.btn-p:hover {
  background: #f14150;
  box-shadow: 2px 2px 0 0 #770d16;
  color: #FFFFFF;
}
:root {
  --ui-color-primary: #333333;
  --ui-color-secondary: #c3c3c3;
  --ui-block-padding: 1.4rem;
  --ui-area-gap: 1rem;
}

.ui_area {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ui-area-gap);
}
.ui_block {
  border: 1px dashed var(--ui-color-primary);
  border-radius: 10px;
  padding: var(--ui-block-padding);
}
.ui_block-lg_3 {
  flex: 0 0 calc(33% - var(--ui-area-gap));
  width: calc(33% - var(--ui-area-gap));
  max-width: calc(33% - var(--ui-area-gap));
}
@media screen and (max-width: 900px) {
  .ui_block-md_6 {
    flex: 0 0 calc(50% - var(--ui-area-gap));
    width: calc(50% - var(--ui-area-gap));
    max-width: calc(50% - var(--ui-area-gap));
  }
}
@media screen and (max-width: 640px) {
  .ui_block-sm_12 {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
  }
}
.ui_block.row_flex {
  gap: 1rem;
}
.ui_color {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.ui_color_square {
  width: 10rem;
  height: 5rem;
  border: 1px solid black;
  position: relative;
  margin-bottom: 0.5rem;
}
.ui_color_title span {
  font-size: 2rem;
  display: table;
  margin-top: 0.5rem;
}

.dev_panel {
  position: fixed;
  background-color: #382A76;
  top: 0;
  bottom: 0;
  left: 0;
  transform: translateX(-100%);
  width: 250px;
  z-index: 1100;
  display: flex;
  flex-direction: column;
  gap: 15px;
  padding: 25px 20px;
  color: white;
  box-shadow: rgba(0, 0, 0, 0.5019607843) 0px 0px 0px 0px;
  transition: 0.4s;
}
.dev_panel-opened {
  transform: translateX(0%);
  box-shadow: rgba(0, 0, 0, 0.5019607843) 6px 0px 14px 4px;
}
.dev_panel__overlay {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100vw;
  height: 100vh;
  display: none;
  background-color: rgba(0, 0, 0, 0.3);
  z-index: 1050;
  backdrop-filter: blur(2px);
}
.dev_panel__overlay-opened {
  display: block;
}
.dev_panel__header {
  display: flex;
  gap: 15px;
  align-items: center;
  justify-content: flex-start;
  padding-left: 10px;
}
.dev_panel__logo img {
  width: 100%;
  max-width: 150px;
  display: block;
  margin: 0 auto;
  padding-top: 5px;
}
.dev_panel__btn {
  display: block;
  cursor: pointer;
  position: absolute;
  right: 0;
  top: 28px;
  transform: translateX(100%);
  z-index: 100;
  background-image: url("../img/ui_kit/arrow_left.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-color: #372c74;
  background-size: 40%;
  transform: translateX(75%) rotate(90deg) scaleY(1);
  width: 40px;
  height: 24px;
}
.dev_panel__btn-opened {
  transform: translateX(75%) rotate(90deg) scaleY(-1);
}
.dev_panel__menu {
  font-size: 15px;
}
.dev_panel__menu ul {
  list-style: square;
  line-height: 1.5;
  padding-left: 25px;
  margin-bottom: 5px;
}
.dev_panel__menu ul li a:hover {
  text-decoration: underline;
}

.header {
  z-index: 100;
  width: 100%;
  position: fixed;
  background: rgba(28, 28, 28, 0.4);
  backdrop-filter: blur(10px);
  padding: 20px 0;
}
.header .content_area {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.header__actions {
  display: flex;
  align-items: center;
  gap: 30px;
}
.header__phone a {
  color: #FFFFFF;
}
@media screen and (max-width: 1200px) {
  .header__logo img {
    width: 58px;
  }
}
@media screen and (max-width: 640px) {
  .header {
    padding: 10px 0;
  }
  .header__logo img {
    width: 50px;
  }
  .header__feedback {
    display: none;
  }
}

.banner-p {
  height: 100vh;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.banner-p::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(0deg, rgba(29, 32, 34, 0.25), rgba(29, 32, 34, 0.25));
  z-index: 1;
}

.company-p {
  padding-top: 80px;
}
.company-p__wrap {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.company-p__top {
  display: flex;
  gap: 40px;
}
.company-p__top > div {
  width: 50%;
}
.company-p__item {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.company-p__item--solo {
  flex-direction: row;
  align-items: stretch;
}
.company-p__item--solo > div {
  width: 50%;
}
.company-p__item--solo .company-p__img {
  height: auto;
}
.company-p__img {
  height: 324px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.company-p__text {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.company-p__text--mobile {
  display: none;
}
@media screen and (max-width: 900px) {
  .company-p__wrap {
    gap: 20px;
  }
  .company-p__top {
    flex-direction: column;
    gap: 20px;
  }
  .company-p__top > div {
    width: 100%;
  }
  .company-p__text--desktop {
    display: none;
  }
  .company-p__text--mobile {
    display: block;
  }
  .company-p__img {
    height: 432px;
  }
  .company-p__item {
    gap: 20px;
  }
  .company-p__item--solo {
    flex-direction: column;
  }
  .company-p__item--solo > div {
    width: 100%;
  }
  .company-p__item--solo .company-p__img {
    height: 432px;
  }
}
@media screen and (max-width: 640px) {
  .company-p__img {
    height: 251px;
  }
  .company-p__item--solo .company-p__img {
    height: 251px;
  }
}

.catalog-p {
  padding-top: 80px;
}
.catalog-p .wrap-title {
  margin-bottom: 62px;
}
.catalog-p__wrap {
  display: flex;
  gap: 40px;
  flex-wrap: wrap;
}
.catalog-p__item {
  display: flex;
  flex-direction: column;
  gap: 18px;
  flex-basis: calc(33.3333333333% - 26.6666666667px);
}
.catalog-p__item:not(.catalog-p__item--visible) {
  display: none;
}
.catalog-p__info {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.catalog-p__info .btn-p {
  width: 100%;
  padding: 13px 20px 14px;
}
.catalog-p__img {
  height: 324px;
}
.catalog-p__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.catalog-p__more {
  text-align: center;
  margin-top: 62px;
}
.catalog-p__more button {
  padding: 12px 20px 13px;
  text-align: center;
  border: 1px solid #000000;
  cursor: pointer;
  font-weight: 500;
  font-size: 15px;
  line-height: 140%;
  color: #1C1C1C;
  width: 310px;
  background: transparent;
}
@media screen and (max-width: 900px) {
  .catalog-p .wrap-title {
    margin-bottom: 30px;
  }
  .catalog-p__item {
    flex-basis: calc(50% - 20px);
  }
  .catalog-p__more {
    margin-top: 20px;
  }
}
@media screen and (max-width: 640px) {
  .catalog-p__item {
    flex-basis: 100%;
  }
  .catalog-p__more button {
    width: 100%;
  }
}

.advantages-p {
  padding-top: 120px;
}
.advantages-p__wrap {
  display: flex;
  gap: 40px;
  flex-wrap: wrap;
}
.advantages-p__item {
  flex-basis: calc(33.3333333333% - 26.6666666667px);
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.advantages-p__item .h3 {
  position: relative;
}
.advantages-p__item .h3::after {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  background: #EE1B2D;
  left: -20px;
  top: 14px;
}
@media screen and (max-width: 1200px) {
  .advantages-p__item .h3::after {
    top: 10px;
  }
}
@media screen and (max-width: 900px) {
  .advantages-p {
    padding-top: 60px;
  }
  .advantages-p__item {
    flex-basis: calc(50% - 20px);
  }
  .advantages-p__item .h3 {
    padding-left: 30px;
  }
  .advantages-p__item .h3::after {
    left: 10px;
  }
  .advantages-p__item p {
    padding-left: 30px;
  }
}
@media screen and (max-width: 640px) {
  .advantages-p__item {
    flex-basis: 100%;
  }
}

.certificates-p {
  padding-top: 120px;
}
.certificates-p__wrap {
  display: flex;
  gap: 40px;
}
.certificates-p__item {
  flex-basis: 50%;
}
.certificates-p__item a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 485px;
}
.certificates-p__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.certificates-p__icon {
  position: absolute;
  padding: 14px;
  background: #FFFFFF;
}
@media screen and (max-width: 1600px) {
  .certificates-p__item a {
    height: 413px;
  }
}
@media screen and (max-width: 1200px) {
  .certificates-p__item a {
    height: 320px;
  }
}
@media screen and (max-width: 900px) {
  .certificates-p {
    padding-top: 80px;
  }
  .certificates-p__item a {
    height: 269px;
  }
}
@media screen and (max-width: 640px) {
  .certificates-p__wrap {
    flex-direction: column;
  }
}

.contacts-p {
  margin-top: 120px;
  background: linear-gradient(0deg, rgba(28, 28, 28, 0.8), rgba(28, 28, 28, 0.8)), url("../img/content/contacts.jpg");
}
.contacts-p__wrap {
  padding: 139px 0;
  max-width: 1642px;
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 39px;
  margin: 0 auto;
}
.contacts-p__feedback {
  padding: 80px 60px 60px;
  background: #FFFFFF;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 40px;
}
.contacts-p__input {
  margin-bottom: 20px;
}
.contacts-p__textarea {
  margin-top: 50px;
  margin-bottom: 40px;
}
.contacts-p__btn .btn-p {
  width: 100%;
}
.contacts-p .textarea {
  min-height: 200px;
}
.contacts-p__info-wrap {
  padding: 80px 60px 60px;
  background: #FFFFFF;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 60px;
}
.contacts-p__info {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.contacts-p__items {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.contacts-p__item {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.contacts-p__item--subtitle {
  font-weight: 400;
  font-size: 13px;
  line-height: 134%;
  color: #81898F;
}
.contacts-p__feedback, .contacts-p__info-wrap {
  max-width: 520px;
}
.contacts-p__map {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 1600px) {
  .contacts-p__wrap {
    padding: 50px 0;
  }
  .contacts-p__feedback, .contacts-p__info-wrap {
    max-width: 438px;
  }
}
@media screen and (max-width: 1200px) {
  .contacts-p {
    max-width: var(--max-width);
    margin: 0 auto;
  }
  .contacts-p__wrap {
    flex-direction: column;
  }
  .contacts-p__feedback, .contacts-p__info-wrap {
    max-width: 100%;
  }
  .contacts-p__map {
    justify-content: center;
  }
  .contacts-p__feedback, .contacts-p__info-wrap {
    padding: 20px;
  }
}

.footer {
  padding: 80px 0;
}
.footer .content_area {
  padding: 0;
  display: flex;
  justify-content: space-between;
}
.footer__left {
  display: flex;
  gap: 60px;
}
.footer__contacts {
  display: flex;
  flex-direction: column;
  min-width: 340px;
  gap: 30px;
}
.footer__links {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}
.footer__links .btn-p {
  padding: 10px 20px 11px;
  background: #FFFFFF;
  border: 1px solid #81898F;
  color: #484B4E;
}
.footer__links .btn-p:hover {
  box-shadow: 2px 2px 0 0 #888c8f;
  color: #1c1c1c;
}
.footer__socials {
  display: flex;
  gap: 10px;
}
.footer__socials a {
  height: 28px;
}
.footer__menu ul {
  list-style-type: none;
  display: flex;
  flex-direction: column;
  gap: 30px;
  padding-left: 0;
}
.footer__menu li {
  font-size: 22px;
  font-weight: 700;
  line-height: 125%;
}
.footer__right {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-end;
  gap: 30px;
}
.footer__copyright {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
}
.footer__copyright a {
  line-height: 150%;
  font-weight: 400;
}
.footer__partner a {
  display: flex;
  align-items: center;
  gap: 20px;
}
.footer__partner p {
  color: #81898F;
}
@media screen and (max-width: 1200px) {
  .footer__left {
    gap: 40px;
  }
  .footer__contacts {
    min-width: 270px;
  }
}
@media screen and (max-width: 900px) {
  .footer {
    padding: 50px 0;
  }
  .footer__contacts {
    gap: 20px;
  }
  .footer .content_area {
    flex-direction: column;
    gap: 50px;
  }
  .footer__right, .footer__copyright {
    align-items: flex-start;
  }
}
@media screen and (max-width: 640px) {
  .footer__left {
    flex-wrap: wrap;
  }
  .footer__menu ul {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 20px;
  }
  .footer__menu li {
    flex-basis: calc(50% - 10px);
  }
}

.modal {
  position: fixed;
  top: 50%;
  left: 50%;
  background-color: white;
  width: 100%;
  max-width: 100vw;
  max-height: 100vh;
  width: calc(100vw - 160px);
  height: auto;
  z-index: 200;
  transition: all 0.3s ease-out;
  transform: translateX(-50%) translateY(calc(-50% + 15rem));
  opacity: 0;
  visibility: hidden;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-around;
  overflow: auto;
}
.modal.is-active {
  visibility: visible;
  opacity: 1;
  transform: translateX(-50%) translateY(-50%);
}
.modal__backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 150;
  visibility: hidden;
  opacity: 0;
  transition: all 0.3s ease-out;
  backdrop-filter: blur(6px);
}
.modal__backdrop.is-active {
  visibility: visible;
  opacity: 1;
}
.modal__close {
  width: 1.6rem;
  height: 1.6rem;
  display: block;
  background: url("../img/icons/ic_modal_close.svg") no-repeat center;
  position: absolute;
  top: 3rem;
  right: 3rem;
  cursor: pointer;
  background-size: contain;
}
.modal__close:hover {
  opacity: 0.8;
}
.modal__wrapper {
  padding: 4rem 4rem;
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  width: 100%;
}
.modal__catalog-p {
  display: flex;
  gap: 30px 24px;
  flex-wrap: wrap;
}
@media screen and (max-width: 1200px) {
  .modal {
    width: calc(100vw - 80px);
  }
}
@media screen and (max-width: 900px) {
  .modal__catalog-p {
    flex-direction: column;
  }
}
@media screen and (max-width: 640px) {
  .modal {
    width: 100%;
  }
}

.catalog-p__slider, .catalog-p__character {
  width: calc(50% - 12px);
}
.catalog-p__slider {
  position: relative;
}
.catalog-p__slider > .h2 {
  margin-bottom: 30px;
}
.catalog-p__slider .swiper-button-next, .catalog-p__slider .swiper-button-prev {
  width: 64px;
  height: 64px;
  background: rgba(247, 247, 247, 0.9);
  border: 1px solid #81898F;
  backdrop-filter: blur(10px);
  margin-top: 0;
}
.catalog-p__slider .swiper-button-next svg, .catalog-p__slider .swiper-button-prev svg {
  width: 24px;
  height: 24px;
}
.catalog-p__slider .swiper-button-next::after, .catalog-p__slider .swiper-button-prev::after {
  display: none;
}
.catalog-p__slider .swiper-button-next.swiper-button-disabled, .catalog-p__slider .swiper-button-prev.swiper-button-disabled {
  display: none;
}
.catalog-p__slider .swiper-button-next {
  right: 0;
}
.catalog-p__slider .swiper-button-prev {
  transform: rotate(180deg);
  left: 0;
}
.catalog-p__swiper-nav {
  position: absolute;
  width: 100%;
}
.catalog-p__swiper-main {
  margin-bottom: 15px;
}
.catalog-p__swiper-main .swiper-slide {
  height: 560px;
}
.catalog-p__swiper-main .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.catalog-p__swiper-thumb .swiper-slide {
  max-width: 102px;
  height: 64px;
  opacity: 0.5;
}
.catalog-p__swiper-thumb .swiper-slide.swiper-slide-thumb-active {
  border: 2px solid #1C1C1C;
  opacity: 1;
  max-width: 98px;
  height: 60px;
}
.catalog-p__swiper-thumb .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.catalog-p__character-title {
  display: flex;
  align-items: center;
  gap: 20px;
  justify-content: space-between;
  margin-bottom: 30px;
}
.catalog-p__character-title img {
  cursor: pointer;
}
.catalog-p__character-wrap {
  display: flex;
  flex-direction: column;
  gap: 25px;
}
.catalog-p__character-item {
  display: flex;
  align-items: baseline;
}
.catalog-p__character-item p {
  font-size: 20px;
  font-weight: 500;
  line-height: 125%;
}
.catalog-p__character-item span {
  color: #81898F;
}
.catalog-p__character-label {
  color: #484B4E;
}
.catalog-p__character-dots {
  flex: 1;
  border-bottom: 1px dotted #81898F;
  margin: 0 20px;
}
.catalog-p__description {
  display: flex;
  flex-direction: column;
  gap: 40px;
  width: 100%;
}
.catalog-p__description .btn-p {
  padding: 13px 20px 14px;
  max-width: 416px;
  width: 100%;
}
@media screen and (max-width: 1600px) {
  .catalog-p__character-item p {
    font-size: 16px;
  }
}
@media screen and (max-width: 1200px) {
  .catalog-p__swiper-main .swipe-slide {
    height: 420px;
  }
}
@media screen and (max-width: 900px) {
  .catalog-p__slider, .catalog-p__character {
    width: 100%;
  }
  .catalog-p__slider {
    order: 1;
  }
  .catalog-p__character {
    order: 3;
  }
  .catalog-p__description {
    order: 2;
  }
  .catalog-p__description .btn-p {
    max-width: 100%;
  }
  .catalog-p__character-title img {
    position: absolute;
    top: 40px;
    right: 40px;
  }
}
@media screen and (max-width: 640px) {
  .catalog-p__character-label {
    max-width: 200px;
  }
}
@media (max-width: 400px) {
  .catalog-p__character-label {
    max-width: 140px;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvX2ZvbnRzLnNjc3MiLCJ1dGlscy9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbm9ybWFsaXplLmNzcy9ub3JtYWxpemUuY3NzIiwidXRpbHMvX2dsb2JhbC5zY3NzIiwibWl4aW5zL19tZWRpYS5zY3NzIiwiY29tcG9uZW50cy9fZmllbGRzLnNjc3MiLCJjb21wb25lbnRzL190eXBvZ3JhcGh5LnNjc3MiLCJjb21wb25lbnRzL19idXR0b25zLnNjc3MiLCJjb21wb25lbnRzL191aS5zY3NzIiwicGFydHMvX2hlYWRlci5zY3NzIiwicGFydHMvX2Jhbm5lci5zY3NzIiwicGFydHMvX2NvbXBhbnkuc2NzcyIsInBhcnRzL19jYXRhbG9nLnNjc3MiLCJwYXJ0cy9fYWR2YW50YWdlcy5zY3NzIiwicGFydHMvX2NlcnRpZmljYXRlcy5zY3NzIiwicGFydHMvX2NvbnRhY3RzLnNjc3MiLCJwYXJ0cy9fZm9vdGVyLnNjc3MiLCJwYXJ0cy9fbW9kYWxzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FDeEJGO0FBT0E7QUFDQTtFQUNFO0VBQ0Q7OztBQUVEO0VBQ0U7SUFDRTtJQUNGOzs7QUFHRjtFQUNFO0lBQ0U7SUFDRjs7O0FBR0Y7RUFDRTtJQUNFO0lBQ0Y7OztBQUtGO0VBQ0U7O0FBRUE7RUFIRjtJQUlJOzs7QUFHRjtFQVBGO0lBUUk7Ozs7QUFJSjtFQUVFO0VBR0E7RUFDQTtFQUVBOzs7QUFwREY7QUFPQTtBQUNBO0VBQ0U7RUFDRDs7O0FBRUQ7RUFDRTtJQUNFO0lBQ0Y7OztBQUdGO0VBQ0U7SUFDRTtJQUNGOzs7QUFHRjtFQUNFO0lBQ0U7SUFDRjs7O0FBS0Y7RUFDRTs7QUFFQTtFQUhGO0lBSUk7OztBQUdGO0VBUEY7SUFRSTs7OztBQUlKO0VBRUU7RUFHQTtFQUNBO0VBRUE7OztBQ3BERjtBQUVBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtBQUFBO0VBRUU7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUFBO0VBR0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBS0U7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQSxRQUNRO0VBQ047OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQSxTQUNTO0VBQ1A7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0VBSUU7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0VBSUU7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7RUFJRTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBT0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtFQUVFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQ3pWRjtBQUFBO0FBQUE7RUFHRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQ0NBO0VESkY7SUFNSTs7OztBQUlKO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTs7O0FBVUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FDeEJBO0VENEJBO0lBQ0U7OztBQ3pDRjtFRDhDQTtJQUNFOzs7QUMzREY7RURnRUE7SUFDRTtJQUNBOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQzlEQTtFRDBERjtJQU9JOzs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOzs7QUFJTjtFQUNFOzs7QUVyR0U7RUFDSTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTtFQUNBOztBQUlSO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBRUk7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFPSjtFQUNJO0VBQ0E7O0FBS0o7RUFDSTs7QUFPSjtFQUNJO0VBQ0E7RUFDQTs7QUFLSjtFQUNJOztBRGpHZDtFQ3VHTTtJQUNJOztFQUtBO0lBQ0k7SUFDQTs7RUFFQTtJQUNJO0lBQ0E7OztBRC9IbEI7RUN1SVU7SUFDSTtJQUNBO0lBQ0E7O0VBRUE7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQU1SO0lBQ0k7O0VBRUE7SUFDSTtJQUNBO0lBQ0E7Ozs7QUMvSnBCO0FBQUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUZZQTtFRXBCRjtBQUFBO0lBV0k7Ozs7QUFJSjtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FGSEE7RUVMRjtBQUFBO0lBV0k7Ozs7QUFJSjtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FGbEJBO0VFVUY7QUFBQTtJQVdJOzs7O0FBSUo7QUFBQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBRmpDQTtFRXlCRjtBQUFBO0lBV0k7Ozs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FGN0NBO0VFd0NGO0lBUUk7Ozs7QUFJSjtFQUNFOztBQUVBO0VBQ0U7OztBQUlKO0VBQ0U7OztBQUdGO0VBQ0k7OztBQ3JGSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7QUNsQlI7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUE7RUFDSTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTtFQUNBO0VBQ0E7O0FKTFY7RUlPTTtJQUVRO0lBQ0E7SUFDQTs7O0FKdkJkO0VJMEJNO0lBRVE7SUFDQTtJQUNBOzs7QUFHUjtFQUNJOztBQUdSO0VBQ0k7RUFDQTtFQUNBOztBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHQTtFQUNJO0VBQ0E7RUFDQTs7O0FBTWhCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTs7QUFHUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7O0FBR1I7RUFDSTs7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUdRO0VBQ0k7OztBQzdJeEI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7O0FBR0E7RUFDSTs7QUxGVjtFS1FVO0lBQ0k7OztBTDNCZDtFS0RGO0lBaUNROztFQUdJO0lBQ0k7O0VBR1I7SUFDSTs7OztBQzNDWjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDZFI7RUFDSTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7O0FBRUE7RUFDSTs7QUFHUjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0M7O0FBRUQ7RUFDSTs7QUFFSjtFQUNJOztBQUlaO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QVA5QlY7RU9tQ007SUFDSTs7RUFFSjtJQUNJO0lBQ0E7O0VBRUE7SUFDSTs7RUFLSjtJQUNJOztFQUVKO0lBQ0k7O0VBR1I7SUFDSTs7RUFFSjtJQUNJOztFQUVBO0lBQ0k7O0VBRUE7SUFDSTs7RUFFSjtJQUNJOzs7QVBoRmxCO0VPc0ZNO0lBQ0k7O0VBS0k7SUFDSTs7OztBQ2hHcEI7RUFDSTs7QUFFQTtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFHUjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBR1I7RUFDSTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7QUFHUjtFQUNJO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QVJ4Q1Y7RVE2Q007SUFDSTs7RUFHSjtJQUNJOztFQUVKO0lBQ0k7OztBUmpFVjtFUXFFTTtJQUNJOztFQUdBO0lBQ0k7Ozs7QUM3RWhCO0VBQ0k7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FUSGQ7RVNZYztJQUNJOzs7QVRuQmxCO0VTZkY7SUF3Q1E7O0VBRUE7SUFDSTs7RUFFQTtJQUNJOztFQUVBO0lBQ0k7O0VBR1I7SUFDSTs7O0FUbERkO0VTdURNO0lBQ0k7Ozs7QUMzRFo7RUFDSTs7QUFFQTtFQUNJO0VBQ0E7O0FBRUo7RUFDSTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7O0FBR1I7RUFDSTtFQUNBO0VBQ0E7O0FWQ047RVVJVTtJQUNJOzs7QVZYZDtFVWtCVTtJQUNJOzs7QVZ6QmQ7RVVmRjtJQThDUTs7RUFHSTtJQUNJOzs7QVYvQ2Q7RVVxRE07SUFDSTs7OztBQ3pEWjtFQUNJO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTs7QUFFSjtFQUNJO0VBQ0E7O0FBSUE7RUFDSTs7QUFHUjtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBR1I7RUFDSTs7QUFFSjtFQUNJO0VBQ0E7O0FYN0NOO0VXaURNO0lBQ0k7O0VBRUo7SUFDSTs7O0FYM0RWO0VXckJGO0lBb0ZRO0lBQ0E7O0VBRUE7SUFDSTs7RUFFSjtJQUNJOztFQUVKO0lBQ0k7O0VBRUo7SUFDSTs7OztBQy9GWjtFQUNJOztBQUVBO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBSVo7RUFDSTtFQUNBOztBQUVBO0VBQ0k7O0FBS0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBOztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFLSjtFQUNJO0VBQ0E7RUFDQTs7QUFFSjtFQUNJOztBWnBFVjtFWXdFTTtJQUNJOztFQUVKO0lBQ0k7OztBWmxGVjtFWWJGO0lBbUdROztFQUVBO0lBQ0k7O0VBRUo7SUFDSTtJQUNBOztFQUVKO0lBQ0k7OztBWjVHVjtFWWdITTtJQUNJOztFQUlBO0lBQ0k7SUFDQTtJQUNBOztFQUVKO0lBQ0k7Ozs7QUM5SGhCO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDRTtFQUNBOztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0U7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBYm5ERjtFYXJCRjtJQTRFSTs7O0FiN0RGO0Vha0VFO0lBQ0U7OztBYi9FSjtFYUhGO0lBdUZJOzs7O0FBTUY7RUFDRTs7QUFHRjtFQUNFOztBQUVBO0VBQ0U7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBOztBQUVGO0VBQ0U7O0FBRUY7RUFDRTs7QUFHSjtFQUNFOztBQUVGO0VBQ0U7RUFDQTs7QUFJSjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFFQTtFQUNFOztBQUVBO0VBQ0U7RUFDQTtFQUNBOztBQU9KO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7O0FBS047RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBR0o7RUFDRTtFQUNBO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBOztBQUVGO0VBQ0U7O0FBR0o7RUFDRTs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBOztBYi9MSjtFYXNNSTtJQUNFOzs7QWI3TU47RWFxTkk7SUFDRTs7O0FiNU5OO0Vha09FO0lBQ0U7O0VBRUY7SUFDRTs7RUFFRjtJQUNFOztFQUVGO0lBQ0U7O0VBRUE7SUFDRTs7RUFLRjtJQUNFO0lBQ0E7SUFDQTs7O0FiblFOO0VheVFFO0lBQ0U7OztBQUlKO0VBQ0U7SUFDRSIsImZpbGUiOiJhcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSW50ZXInO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKCcuLi9mb250cy9JbnRlci1SZWd1bGFyLnR0ZicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdJbnRlcic7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL0ludGVyLU1lZGl1bS50dGYnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSW50ZXInO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogdXJsKCcuLi9mb250cy9JbnRlci1Cb2xkLnR0ZicpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQmViYXMgTmV1ZSc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL0JlYmFzTmV1ZS1SZWd1bGFyLnR0ZicpO1xufSIsIi8qINCf0LXRgNC10LzQtdC90L3Ri9C1INC00LvRjyDQvNC10LTQuNCwINC30LDQv9GA0L7RgdC+0LIgKi9cbiRtb2JpbGVCcmVha3BvaW50OiA2NDBweDtcbiR0YWJsZXRCcmVha3BvaW50OiA5MDBweDtcbiRzbWFsbERlc2t0b3BCcmVha3BvaW50OiAxMjAwcHg7XG4kbm90ZWJvb2tzQnJlYWtwb2ludDogMTYwMHB4O1xuXG5cbi8qINCo0LjRgNC40L3QsCDQutC+0L3RgtC10L3RgtCwICovXG46cm9vdCB7XG4gIC0tYmxvY2stcGFkZGluZzogMTMuNXZ3O1xuXHQtLW1heC13aWR0aDogY2FsYygxMDB2dyAtIDIgKiAxMy41dncpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG5vdGVib29rc0JyZWFrcG9pbnQpIHtcbiAgOnJvb3Qge1xuICAgIC0tYmxvY2stcGFkZGluZzogNnZ3O1xuXHRcdC0tbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gMiAqIDZ2dyk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRzbWFsbERlc2t0b3BCcmVha3BvaW50KSB7XG4gIDpyb290IHtcbiAgICAtLWJsb2NrLXBhZGRpbmc6IDRyZW07XG5cdFx0LS1tYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAyICogNHJlbSk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtb2JpbGVCcmVha3BvaW50KSB7XG4gIDpyb290IHtcbiAgICAtLWJsb2NrLXBhZGRpbmc6IDJyZW07XG5cdFx0LS1tYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAyICogMS42cmVtKTtcbiAgfVxufVxuXG4vLyBNYXJnaW5cbjpyb290IHtcbiAgLS1zZWN0aW9uLW1hcmdpbjogMTJyZW07XG4gIFxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkdGFibGV0QnJlYWtwb2ludCkge1xuICAgIC0tc2VjdGlvbi1tYXJnaW46IDZyZW07XG4gIH1cbiAgXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtb2JpbGVCcmVha3BvaW50KSB7XG4gICAgLS1zZWN0aW9uLW1hcmdpbjogNHJlbTtcbiAgfVxufVxuXG46cm9vdCB7XG4gIC8vINCm0LLQtdGC0LBcbiAgLS1jb2xvci1wcmltYXJ5OiAjMUMxQzFDO1xuXG5cbiAgLS1mb250LWZhbWlseS1tYWluOiBcIkludGVyXCIsIHNhbnMtc2VyaWY7XG4gIC0tZm9udC1mYW1pbHktaGVhZGVyczogXCJCZWJhcyBOZXVlXCIsIHNhbnMtc2VyaWY7XG5cbiAgLS1mb250LXNpemU6IDEuOHJlbTtcblxuICAvLyDQlNC+0L/QvtC70L3QuNGC0LXQu9GM0L3Ri9C1INC/0LXRgNC10LzQtdC90L3Ri9C1INCy0L3QvtGB0LjQvCDQvdC40LbQtVxuICBcbn1cblxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqL1xuXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIFJlbmRlciB0aGUgYG1haW5gIGVsZW1lbnQgY29uc2lzdGVudGx5IGluIElFLlxuICovXG5cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgaGVpZ2h0OiAwOyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgbWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqL1xuXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbm9ybWFsaXplLmNzcy9ub3JtYWxpemVcIjtcblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBtYXgtd2lkdGg6IDEwMHZ3O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktbWFpbik7XG4gIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xufVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplKTtcblxuICBAaW5jbHVkZSBzbWFsbERlc2t0b3Age1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuXG5pbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiBjdXJyZW50Q29sb3I7XG59XG5cbi8vIHVsLFxuLy8gb2wsXG4vLyBwIHtcbi8vICAgcGFkZGluZzogMDtcbi8vICAgbWFyZ2luOiAwO1xuLy8gfVxuXG4uY29udGVudF9hcmVhIHtcbiAgbWF4LXdpZHRoOiB2YXIoLS1tYXgtd2lkdGgpO1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAgMjBweDtcbn1cblxuLmhlYWRlciAuY29udGVudF9hcmVhIHtcbiAgcGFkZGluZzogMDtcbn1cblxuQGluY2x1ZGUgbm90ZWJvb2sge1xuICAuY29udGVudF9hcmVhIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLW1heC13aWR0aCk7XG4gIH1cbn1cblxuQGluY2x1ZGUgdGFibGV0IHtcbiAgLmNvbnRlbnRfYXJlYSB7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1tYXgtd2lkdGgpO1xuICB9XG59XG5cbkBpbmNsdWRlIG1vYmlsZSB7XG4gIC5jb250ZW50X2FyZWEge1xuICAgIG1heC13aWR0aDogdmFyKC0tbWF4LXdpZHRoKTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi53cmFwLXRpdGxlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICBcbiAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG59XG5cbmlucHV0LmlucHV0LCAuaW5wdXQsIHRleHRhcmVhLnRleHRhcmVhLCAudGV4dGFyZWEge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwcHggMHB4O1xuICBiYWNrZ3JvdW5kOiAjRjdGN0Y3O1xuICBwYWRkaW5nOiAxNC41cHggMTZweDtcbiAgYm9yZGVyOiAwO1xuICBvdXRsaW5lOiAwO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICBjb2xvcjogIzFDMUMxQztcblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogIzgxODk4RjtcbiAgfVxufVxuXG50ZXh0YXJlYS50ZXh0YXJlYSwgLnRleHRhcmVhIHtcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn0iLCJAaW1wb3J0ICcuLi91dGlscy92YXJpYWJsZXMnO1xuXG5AbWl4aW4gbW9iaWxlIHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1vYmlsZUJyZWFrcG9pbnQpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gc21hbGxUYWJsZXQge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkc21hbGxUYWJsZXRCcmVha3BvaW50KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH0gXG59XG5cbkBtaXhpbiB0YWJsZXQge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkdGFibGV0QnJlYWtwb2ludCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBzbWFsbERlc2t0b3Age1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkc21hbGxEZXNrdG9wQnJlYWtwb2ludCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBub3RlYm9vayB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRub3RlYm9va3NCcmVha3BvaW50KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn0iLCIuZmllbGQge1xuICAgICZfX3dyYXAge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDAuNXJlbTtcbiAgICAgICAgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjRyZW0gMXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xhYmVsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAwLjVyZW07XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgIH1cblxuICAgICZfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgY29sb3I6ICM2OTY5Njk7XG4gICAgfVxuXG4gICAgJl9fcmFkaW8sXG4gICAgJl9fY2hlY2tib3gge1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICAgICA+aW5wdXQge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG5cbiAgICAgICAgICAgICY6bm90KDpkaXNhYmxlZCk6bm90KDpjaGVja2VkKSsuZmllbGRfX3RpdGxlOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpub3QoOmRpc2FibGVkKTphY3RpdmUrLmZpZWxkX190aXRsZTo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmb2N1czpub3QoOmNoZWNrZWQpKy5maWVsZF9fdGl0bGU6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpkaXNhYmxlZCsuZmllbGRfX3RpdGxlOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWY7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZmllbGRfX3RpdGxlIHtcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMi42cmVtO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEuOHJlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEuOHJlbTtcbiAgICAgICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA1MCUgNTAlO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcmFkaW8ge1xuICAgICAgICA+aW5wdXQge1xuICAgICAgICAgICAgJjpjaGVja2VkKy5maWVsZF9fdGl0bGU6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5maWVsZF9fdGl0bGUge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY2hlY2tib3gge1xuICAgICAgICA+aW5wdXQge1xuICAgICAgICAgICAgJjpjaGVja2VkKy5maWVsZF9fdGl0bGU6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggOCclM2UlM2NwYXRoIGZpbGw9JyUyM2ZmZicgZD0nTTYuNTY0Ljc1bC0zLjU5IDMuNjEyLTEuNTM4LTEuNTVMMCA0LjI2IDIuOTc0IDcuMjUgOCAyLjE5M3onLyUzZSUzYy9zdmclM2VcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZmllbGRfX3RpdGxlIHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMC40cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmX19yYWRpbyxcbiAgICAgICAgJl9fY2hlY2tib3gge1xuICAgICAgICAgICAgLmZpZWxkX190aXRsZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyLjhyZW07XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyLjRyZW07XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMi40cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgICZfX3JhZGlvIHtcbiAgICAgICAgICAgIC5maWVsZF9fdGl0bGUge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDJyZW07XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtMTEwJSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fY2hlY2tib3gge1xuICAgICAgICAgICAgLmZpZWxkX190aXRsZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDJyZW07XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMC4ycmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufSIsIi8vIEhlYWRlcnNcclxuaDEsXHJcbi5oMSB7XHJcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWhlYWRlcnMpO1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgZm9udC1zaXplOiA0OHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAxMjAlO1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblxyXG4gIEBpbmNsdWRlIHNtYWxsRGVza3RvcCB7XHJcbiAgICBmb250LXNpemU6IDQwcHg7XHJcbiAgfVxyXG59XHJcblxyXG5oMixcclxuLmgyIHtcclxuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktaGVhZGVycyk7XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICBmb250LXNpemU6IDQ4cHg7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgbGluZS1oZWlnaHQ6IDEyMCU7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHJcbiAgQGluY2x1ZGUgc21hbGxEZXNrdG9wIHtcclxuICAgIGZvbnQtc2l6ZTogNDBweDtcclxuICB9XHJcbn1cclxuXHJcbmgzLFxyXG4uaDMge1xyXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1oZWFkZXJzKTtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIGZvbnQtc2l6ZTogMzBweDtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBsaW5lLWhlaWdodDogMTMwJTtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuICBAaW5jbHVkZSBzbWFsbERlc2t0b3Age1xyXG4gICAgZm9udC1zaXplOiAyNHB4O1xyXG4gIH1cclxufVxyXG5cclxuaDQsXHJcbi5oNCB7XHJcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWhlYWRlcnMpO1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgZm9udC1zaXplOiAyMnB4O1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGxpbmUtaGVpZ2h0OiAxMjUlO1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblxyXG4gIEBpbmNsdWRlIHNtYWxsRGVza3RvcCB7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgfVxyXG59XHJcblxyXG5wLCBsaSB7XHJcbiAgbGluZS1oZWlnaHQ6IDE1MCU7XHJcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUpO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xyXG4gIG1hcmdpbjowO1xyXG5cclxuICBAaW5jbHVkZSBzbWFsbERlc2t0b3Age1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gIH1cclxufVxyXG5cclxuYSB7XHJcbiAgdHJhbnNpdGlvbjogLjJzO1xyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIGNvbG9yOiAjRUUxQjJEO1xyXG4gIH1cclxufVxyXG5cclxudWwge1xyXG4gIG1hcmdpbjogMDtcclxufVxyXG5cclxuLnRpdGxlLWNvbG9yIHtcclxuICAgIGNvbG9yOiAjRDQwMDAwO1xyXG59IiwiLy8gQnV0dG9ucyB7XG4uYnRuLXAge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAxMXB4IDIwcHggMTJweDtcbiAgICBiYWNrZ3JvdW5kOiAjRUUxQjJEO1xuICAgIHRyYW5zaXRpb246IC4ycztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmMTQxNTA7XG4gICAgICAgIGJveC1zaGFkb3c6IDJweCAycHggMCAwICM3NzBkMTY7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG5vdGVib29rIHtcbiAgICAgICAgXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgXG4gICAgfVxufVxuIiwiOnJvb3Qge1xuICAgIC0tdWktY29sb3ItcHJpbWFyeTogIzMzMzMzMztcbiAgICAtLXVpLWNvbG9yLXNlY29uZGFyeTogI2MzYzNjMztcbiAgICAtLXVpLWJsb2NrLXBhZGRpbmc6IDEuNHJlbTtcbiAgICAtLXVpLWFyZWEtZ2FwOiAxcmVtO1xufVxuXG4udWkge1xuICAgICZfYXJlYSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgZ2FwOiB2YXIoLS11aS1hcmVhLWdhcCk7XG4gICAgfVxuICAgICZfYmxvY2sge1xuICAgICAgICBib3JkZXI6IDFweCBkYXNoZWQgdmFyKC0tdWktY29sb3ItcHJpbWFyeSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXVpLWJsb2NrLXBhZGRpbmcpO1xuICAgICAgICAmLWxnXzMge1xuICAgICAgICAgICAgZmxleDogMCAwIGNhbGMoMzMlIC0gdmFyKC0tdWktYXJlYS1nYXApKTtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDMzJSAtIHZhcigtLXVpLWFyZWEtZ2FwKSk7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMzMlIC0gdmFyKC0tdWktYXJlYS1nYXApKTtcbiAgICAgICAgfVxuICAgICAgICAmLW1kXzYge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgY2FsYyg1MCUgLSB2YXIoLS11aS1hcmVhLWdhcCkpO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIHZhcigtLXVpLWFyZWEtZ2FwKSk7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDUwJSAtIHZhcigtLXVpLWFyZWEtZ2FwKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi1zbV8xMiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICAgICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLnJvd19mbGV4IHtcbiAgICAgICAgICAgIGdhcDogMXJlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX2NvbG9yIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAwLjVyZW07XG4gICAgICAgICZfc3F1YXJlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMHJlbTtcbiAgICAgICAgICAgIGhlaWdodDogNXJlbTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgICB9XG4gICAgICAgICZfdGl0bGUge1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmRldl9wYW5lbCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzODJBNzY7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgd2lkdGg6IDI1MHB4O1xuICAgIHotaW5kZXg6IDExMDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTVweDtcbiAgICBwYWRkaW5nOiAyNXB4IDIwcHg7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJveC1zaGFkb3c6ICMwMDAwMDA4MCAwcHggMHB4IDBweCAwcHg7XG4gICAgdHJhbnNpdGlvbjogLjRzO1xuICAgICYtb3BlbmVkIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgICAgICAgYm94LXNoYWRvdzogIzAwMDAwMDgwIDZweCAwcHggMTRweCA0cHg7XG4gICAgfVxuICAgICZfX292ZXJsYXkge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgICAgIHotaW5kZXg6IDEwNTA7XG4gICAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigycHgpO1xuICAgICAgICAmLW9wZW5lZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDE1cHg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIH1cbiAgICAmX19sb2dvIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxNTBweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2J0biB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMjhweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgICB6LWluZGV4OiAxMDA7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3VpX2tpdC9hcnJvd19sZWZ0LnN2ZycpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzNzJjNzQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNDAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNzUlKSByb3RhdGUoOTBkZWcpIHNjYWxlWSgxKTtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgJi1vcGVuZWQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDc1JSkgcm90YXRlKDkwZGVnKSBzY2FsZVkoLTEpO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX21lbnUge1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IHNxdWFyZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLy8g0LPQu9C+0LHQsNC70YzQvdGL0LUg0YHRgtC40LvQuCDQtNC70Y8g0YjQsNC/0LrQuFxuLy8g0YDQvtC00LjRgtC10LvRjNGB0LrQuNC5INC60LvQsNGB0YEg0L3QtSDQvNC10L3Rj9C10Lxcbi5oZWFkZXIge1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyOCwgMjgsIDI4LCAwLjQpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgICBwYWRkaW5nOiAyMHB4IDA7XG5cbiAgICAuY29udGVudF9hcmVhIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgICZfX2FjdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDMwcHg7XG4gICAgfVxuICAgICZfX3Bob25lIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgfSBcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBzbWFsbERlc2t0b3Age1xuICAgICAgICAmX19sb2dvIHtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDU4cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAwO1xuXG4gICAgICAgICZfX2xvZ28ge1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmX19mZWVkYmFjayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4iLCIuYmFubmVyLXAge1xyXG4gICAgaGVpZ2h0OiAxMDB2aDtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG5cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgyOSwgMzIsIDM0LCAwLjI1KSwgcmdiYSgyOSwgMzIsIDM0LCAwLjI1KSk7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgIH1cclxufSIsIi5jb21wYW55LXAge1xyXG4gICAgcGFkZGluZy10b3A6IDgwcHg7XHJcblxyXG4gICAgJl9fd3JhcCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGdhcDogNDBweDtcclxuICAgIH1cclxuICAgICZfX3RvcCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBnYXA6IDQwcHg7XHJcblxyXG4gICAgICAgID4gZGl2IHtcclxuICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19pdGVtIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZ2FwOiA0MHB4O1xyXG5cclxuICAgICAgICAmLS1zb2xvIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xyXG5cclxuICAgICAgICAgICAgPiBkaXYge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29tcGFueS1wX19pbWcge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9faW1nIHtcclxuICAgICAgICBoZWlnaHQ6IDMyNHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICB9XHJcbiAgICAmX190ZXh0IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZ2FwOiAxOHB4O1xyXG5cclxuICAgICAgICAmLS1tb2JpbGUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSB0YWJsZXQge1xyXG4gICAgICAgICZfX3dyYXAge1xyXG4gICAgICAgICAgICBnYXA6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX3RvcCB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGdhcDogMjBweDtcclxuXHJcbiAgICAgICAgICAgID4gZGl2IHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX3RleHQge1xyXG5cclxuICAgICAgICAgICAgJi0tZGVza3RvcCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtLW1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmX19pbWcge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDQzMnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19pdGVtIHtcclxuICAgICAgICAgICAgZ2FwOiAyMHB4O1xyXG5cclxuICAgICAgICAgICAgJi0tc29sbyB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuICAgICAgICAgICAgICAgID4gZGl2IHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5jb21wYW55LXBfX2ltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0MzJweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1vYmlsZSB7XHJcbiAgICAgICAgJl9faW1nIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyNTFweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faXRlbSB7XHJcblxyXG4gICAgICAgICAgICAmLS1zb2xvIHtcclxuICAgICAgICAgICAgICAgIC5jb21wYW55LXBfX2ltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNTFweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi5jYXRhbG9nLXAge1xyXG4gICAgcGFkZGluZy10b3A6IDgwcHg7XHJcblxyXG4gICAgLndyYXAtdGl0bGUge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDYycHg7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fd3JhcCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBnYXA6IDQwcHg7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgfVxyXG4gICAgJl9faXRlbSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGdhcDogMThweDtcclxuICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDEwMCUgLyAzIC0gNDBweCAqIDIgLyAzKTtcclxuXHJcbiAgICAgICAgJjpub3QoJi0tdmlzaWJsZSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2luZm8ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBnYXA6IDIwcHg7XHJcblxyXG4gICAgICAgIC5idG4tcCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxM3B4IDIwcHggMTRweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19pbWcge1xyXG4gICAgICAgIGhlaWdodDogMzI0cHg7XHJcblxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX21vcmUge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW4tdG9wOiA2MnB4O1xyXG5cclxuICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDIwcHggMTNweDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwO1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE0MCU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjMUMxQzFDO1xyXG4gICAgICAgICAgICB3aWR0aDogMzEwcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSB0YWJsZXQge1xyXG4gICAgICAgIC53cmFwLXRpdGxlIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZfX2l0ZW0ge1xyXG4gICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDEwMCUgLyAyIC0gNDBweCAvIDIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19tb3JlIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtb2JpbGUge1xyXG4gICAgICAgICZfX2l0ZW0ge1xyXG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19tb3JlIHtcclxuICAgICAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi5hZHZhbnRhZ2VzLXAge1xyXG4gICAgcGFkZGluZy10b3A6IDEyMHB4O1xyXG5cclxuICAgICZfX3dyYXAge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZ2FwOiA0MHB4O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIH1cclxuICAgICZfX2l0ZW0ge1xyXG4gICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMTAwJSAvIDMgLSA0MHB4ICogMiAvIDMpO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBnYXA6IDIwcHg7XHJcblxyXG4gICAgICAgIC5oMyB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogOHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA4cHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRUUxQjJEO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogLTIwcHg7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDE0cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgc21hbGxEZXNrdG9wIHtcclxuICAgICAgICAmX19pdGVtIHtcclxuICAgICAgICAgICAgLmgzIHtcclxuXHJcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgdGFibGV0IHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogNjBweDtcclxuXHJcbiAgICAgICAgJl9faXRlbSB7XHJcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMTAwJSAvIDIgLSA0MHB4IC8gMik7XHJcblxyXG4gICAgICAgICAgICAuaDMge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xyXG5cclxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbW9iaWxlIHtcclxuICAgICAgICAmX19pdGVtIHtcclxuICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIuY2VydGlmaWNhdGVzLXAge1xyXG4gICAgcGFkZGluZy10b3A6IDEyMHB4O1xyXG5cclxuICAgICZfX3dyYXAge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZ2FwOiA0MHB4O1xyXG4gICAgfVxyXG4gICAgJl9faXRlbSB7XHJcbiAgICAgICAgZmxleC1iYXNpczogNTAlO1xyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgaGVpZ2h0OiA0ODVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9faWNvbiB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHBhZGRpbmc6IDE0cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBub3RlYm9vayB7XHJcbiAgICAgICAgJl9faXRlbSB7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0MTNweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBzbWFsbERlc2t0b3Age1xyXG4gICAgICAgICZfX2l0ZW0ge1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMzIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgdGFibGV0IHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogODBweDtcclxuXHJcbiAgICAgICAgJl9faXRlbSB7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyNjlweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtb2JpbGUge1xyXG4gICAgICAgICZfX3dyYXAge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi5jb250YWN0cy1wIHtcclxuICAgIG1hcmdpbi10b3A6IDEyMHB4O1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEoMjgsIDI4LCAyOCwgMC44KSwgcmdiYSgyOCwgMjgsIDI4LCAwLjgpKSwgdXJsKCcuLi9pbWcvY29udGVudC9jb250YWN0cy5qcGcnKTtcclxuXHJcbiAgICAmX193cmFwIHtcclxuICAgICAgICBwYWRkaW5nOiAxMzlweCAwO1xyXG4gICAgICAgIG1heC13aWR0aDogMTY0MnB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XHJcbiAgICAgICAgZ2FwOiAzOXB4O1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgfVxyXG4gICAgJl9fZmVlZGJhY2sge1xyXG4gICAgICAgIHBhZGRpbmc6IDgwcHggNjBweCA2MHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICBnYXA6IDQwcHg7XHJcbiAgICB9XHJcbiAgICAmX19pbnB1dCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIH1cclxuICAgICZfX3RleHRhcmVhIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICB9XHJcbiAgICAmX19idG4ge1xyXG4gICAgICAgIFxyXG4gICAgICAgIC5idG4tcCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC50ZXh0YXJlYSB7XHJcbiAgICAgICAgbWluLWhlaWdodDogMjAwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgJl9faW5mby13cmFwIHtcclxuICAgICAgICBwYWRkaW5nOiA4MHB4IDYwcHggNjBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgZ2FwOiA2MHB4O1xyXG4gICAgfVxyXG4gICAgJl9faW5mbyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGdhcDogNDBweDtcclxuICAgIH1cclxuICAgICZfX2l0ZW1zIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZ2FwOiAzMHB4O1xyXG4gICAgfVxyXG4gICAgJl9faXRlbSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGdhcDogNXB4O1xyXG5cclxuICAgICAgICAmLS1zdWJ0aXRsZSB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEzNCU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjODE4OThGO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2ZlZWRiYWNrLCAmX19pbmZvLXdyYXAge1xyXG4gICAgICAgIG1heC13aWR0aDogNTIwcHg7XHJcbiAgICB9XHJcbiAgICAmX19tYXAge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBub3RlYm9vayB7XHJcbiAgICAgICAgJl9fd3JhcCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2ZlZWRiYWNrLCAmX19pbmZvLXdyYXAge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQzOHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIHNtYWxsRGVza3RvcCB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiB2YXIoLS1tYXgtd2lkdGgpO1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIFxyXG4gICAgICAgICZfX3dyYXAge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19mZWVkYmFjaywgJl9faW5mby13cmFwIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19tYXAge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fZmVlZGJhY2ssICZfX2luZm8td3JhcCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLy8g0LPQu9C+0LHQsNC70YzQvdGL0LUg0YHRgtC40LvQuCDQtNC70Y8g0YTRg9GC0LXRgNCwXG4vLyDRgNC+0LTQuNGC0LXQu9GM0YHQutC40Lkg0LrQu9Cw0YHRgSDQvdC1INC80LXQvdGP0LXQvFxuLmZvb3RlciB7XG4gICAgcGFkZGluZzogODBweCAwO1xuXG4gICAgLmNvbnRlbnRfYXJlYSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG5cbiAgICAmX19sZWZ0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiA2MHB4O1xuICAgIH1cbiAgICAmX19jb250YWN0cyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG1pbi13aWR0aDogMzQwcHg7XG4gICAgICAgIGdhcDogMzBweDtcbiAgICB9XG4gICAgJl9fbGlua3Mge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGdhcDogMTBweDtcblxuICAgICAgICAuYnRuLXAge1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCAyMHB4IDExcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzgxODk4RjtcbiAgICAgICAgICAgIGNvbG9yOiAjNDg0QjRFO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAycHggMnB4IDAgMCAjODg4YzhmO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjMWMxYzFjO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICZfX3NvY2lhbHMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDEwcHg7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fbWVudSB7XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBnYXA6IDMwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMjUlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcmlnaHQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgZ2FwOiAzMHB4O1xuICAgIH1cbiAgICAmX19jb3B5cmlnaHQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIGdhcDogMTBweDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19wYXJ0bmVyIHtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZ2FwOiAyMHB4O1xuICAgICAgICB9XG4gICAgICAgIHAge1xuICAgICAgICAgICAgY29sb3I6ICM4MTg5OEY7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgc21hbGxEZXNrdG9wIHtcbiAgICAgICAgJl9fbGVmdCB7XG4gICAgICAgICAgICBnYXA6IDQwcHg7XG4gICAgICAgIH1cbiAgICAgICAgJl9fY29udGFjdHMge1xuICAgICAgICAgICAgbWluLXdpZHRoOiAyNzBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICBwYWRkaW5nOiA1MHB4IDA7XG4gICAgICAgIFxuICAgICAgICAmX19jb250YWN0cyB7XG4gICAgICAgICAgICBnYXA6IDIwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLmNvbnRlbnRfYXJlYSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZ2FwOiA1MHB4O1xuICAgICAgICB9XG4gICAgICAgICZfX3JpZ2h0LCAmX19jb3B5cmlnaHQge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgJl9fbGVmdCB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cbiAgICAgICAgJl9fbWVudSB7XG5cbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgICBnYXA6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYygxMDAlIC8gMiAtIDIwcHggLyAyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIubW9kYWwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDB2dztcbiAgbWF4LWhlaWdodDogMTAwdmg7XG4gIHdpZHRoOiBjYWxjKDEwMHZ3IC0gMTYwcHgpO1xuICBoZWlnaHQ6IGF1dG87XG4gIHotaW5kZXg6IDIwMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKGNhbGMoLTUwJSArIDE1cmVtKSk7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIG92ZXJmbG93OiBhdXRvO1xuXG4gICYuaXMtYWN0aXZlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cblxuICAmX19iYWNrZHJvcCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICB6LWluZGV4OiAxNTA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLW91dDtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNnB4KTtcbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuICAmX19jbG9zZSB7XG4gICAgd2lkdGg6IDEuNnJlbTtcbiAgICBoZWlnaHQ6IDEuNnJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9pY29ucy9pY19tb2RhbF9jbG9zZS5zdmcnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDNyZW07XG4gICAgcmlnaHQ6IDNyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAmOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IC44O1xuICAgIH1cbiAgfVxuXG4gICZfX3dyYXBwZXIge1xuICAgIHBhZGRpbmc6IDRyZW0gNHJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAyLjVyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAmX19jYXRhbG9nLXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAzMHB4IDI0cHg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgQGluY2x1ZGUgc21hbGxEZXNrdG9wIHtcbiAgICB3aWR0aDogY2FsYygxMDB2dyAtIDgwcHgpO1xuICB9XG5cbiAgQGluY2x1ZGUgdGFibGV0IHtcblxuICAgICZfX2NhdGFsb2ctcCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLmNhdGFsb2ctcCB7XG4gIFxuICAmX19zbGlkZXIsICZfX2NoYXJhY3RlciB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDIgLSAyNHB4IC8gMik7XG4gIH1cblxuICAmX19zbGlkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgID4gLmgyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuICAgIC5zd2lwZXItYnV0dG9uLW5leHQsIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICAgICAgd2lkdGg6IDY0cHg7XG4gICAgICBoZWlnaHQ6IDY0cHg7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI0NywgMjQ3LCAyNDcsIDAuOSk7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjODE4OThGO1xuICAgICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICAgICAgbWFyZ2luLXRvcDogMDtcblxuICAgICAgc3ZnIHtcbiAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgIH1cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICAgICYuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgIC5zd2lwZXItYnV0dG9uLW5leHQge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuICAgIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgJl9fc3dpcGVyLW5hdiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJl9fc3dpcGVyLW1haW4ge1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiAgICAuc3dpcGVyLXNsaWRlIHtcbiAgICAgIGhlaWdodDogNTYwcHg7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3N3aXBlci10aHVtYiB7XG5cbiAgICAuc3dpcGVyLXNsaWRlIHtcbiAgICAgIG1heC13aWR0aDogMTAycHg7XG4gICAgICBoZWlnaHQ6IDY0cHg7XG4gICAgICBvcGFjaXR5OiAwLjU7XG5cbiAgICAgICYuc3dpcGVyLXNsaWRlLXRodW1iLWFjdGl2ZSB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICMxQzFDMUM7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIG1heC13aWR0aDogOThweDtcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgfVxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fY2hhcmFjdGVyLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAyMHB4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gICAgaW1nIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cbiAgJl9fY2hhcmFjdGVyLXdyYXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDI1cHg7XG4gIH1cbiAgJl9fY2hhcmFjdGVyLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEyNSU7XG4gICAgfVxuICAgIHNwYW4ge1xuICAgICAgY29sb3I6ICM4MTg5OEY7XG4gICAgfVxuICB9XG4gICZfX2NoYXJhY3Rlci1sYWJlbCB7XG4gICAgY29sb3I6ICM0ODRCNEU7XG4gIH1cbiAgJl9fY2hhcmFjdGVyLWRvdHMge1xuICAgIGZsZXg6IDE7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjODE4OThGO1xuICAgIG1hcmdpbjogMCAyMHB4O1xuICB9XG5cbiAgJl9fZGVzY3JpcHRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDQwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAuYnRuLXAge1xuICAgICAgcGFkZGluZzogMTNweCAyMHB4IDE0cHg7XG4gICAgICBtYXgtd2lkdGg6IDQxNnB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbm90ZWJvb2sge1xuICAgICZfX2NoYXJhY3Rlci1pdGVtIHtcblxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBzbWFsbERlc2t0b3Age1xuICAgICZfX3N3aXBlci1tYWluIHtcblxuICAgICAgLnN3aXBlLXNsaWRlIHtcbiAgICAgICAgaGVpZ2h0OiA0MjBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICZfX3NsaWRlciwgJl9fY2hhcmFjdGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAmX19zbGlkZXIge1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICAgICZfX2NoYXJhY3RlciB7XG4gICAgICBvcmRlcjogMztcbiAgICB9XG4gICAgJl9fZGVzY3JpcHRpb24ge1xuICAgICAgb3JkZXI6IDI7XG5cbiAgICAgIC5idG4tcCB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gICAgJl9fY2hhcmFjdGVyLXRpdGxlIHtcblxuICAgICAgaW1nIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDQwcHg7XG4gICAgICAgIHJpZ2h0OiA0MHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgJl9fY2hhcmFjdGVyLWxhYmVsIHtcbiAgICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQwMHB4KSB7XG4gICAgJl9fY2hhcmFjdGVyLWxhYmVsIHtcbiAgICAgIG1heC13aWR0aDogMTQwcHg7XG4gICAgfVxuICB9XG59Il19 */
