/*! 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 */
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  /* 2 */ }

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

/**
 * 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; }

/* media queries vars */
/* @include fluid-size(font-size, 320px, 1920px, 16px, 40px); */
/* Multiple properties with same values and unit
    .selector {
        @include fluid-size(padding-top padding-bottom, 20em, 70em, 2em, 4em);
    }
*/
@font-face {
  font-family: "Akrobat";
  src: url("../fonts/Akrobat-Regular.woff2") format("woff2"), url("../fonts/Akrobat-Regular.woff") format("woff"), url("../fonts/Akrobat-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal; }

/*! HTML5 Boilerplate v7.2.0 | MIT License | https://html5boilerplate.com/ - modified by Studio X*/
html {
  color: #222;
  font-size: 1em;
  line-height: 1.2; }

::-moz-selection {
  background: #b3d4fc;
  text-shadow: none; }

::selection {
  background: #b3d4fc;
  text-shadow: none; }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0; }

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle; }

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
  min-inline-size: 100%; }

textarea {
  resize: vertical; }

address {
  font-style: normal; }

button,
figure,
figcaption,
ol,
ul,
fieldset {
  padding: 0;
  margin: 0; }

ol,
ul {
  list-style: none; }

button {
  cursor: pointer;
  border: 0;
  background-color: transparent; }

img {
  max-width: 100%;
  height: auto; }

small {
  font-size: 0.875rem;
  line-height: 1.29; }

input::-ms-reveal,
input::-ms-clear {
  display: none;
  width: 0;
  height: 0; }

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0; }

hr {
  display: block;
  margin: 1.5rem 0;
  height: 0.063rem;
  box-shadow: none; }

a {
  color: #000000;
  text-decoration: none; }

/* Author's custom styles  */
*,
*:before,
*:after {
  box-sizing: inherit; }

html,
body {
  height: 100%;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-smoothing: always; }

body {
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  line-height: 1.4;
  color: #000000; }
  @media (max-width: 640px) {
    body {
      line-height: 1.5; } }

input,
select {
  transition: all ease 0.4s; }

.wrapper {
  width: auto;
  max-width: 83.125rem;
  margin: 0 auto;
  width: 84.9625%;
  /* iPone X */ }

.site {
  height: 100%;
  display: flex;
  flex-direction: column; }
  .site-lang {
    font-size: 0.875rem; }
  .site-logo {
    flex-shrink: 0;
    display: inline-block; }
    @media (max-width: 720px) {
      .site-logo {
        max-width: 6.125rem; } }
    .site-logo a {
      display: inline-block; }

.main-header {
  flex-shrink: 0; }

.main-content {
  flex-grow: 1;
  flex-shrink: 0; }

.main-footer {
  flex-shrink: 0; }

.scrollable-content {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch; }

.shape-img {
  position: absolute;
  z-index: -1; }
  .shape-img--1 {
    right: 0;
    transform: rotate(12deg) translate(163px, 65px);
    width: 16.75rem; }
    @media (max-width: 720px) {
      .shape-img--1 {
        width: 13.75rem; } }
  .shape-img--2 {
    left: 0;
    transform: rotate(-15deg) translate(-140px, 240px);
    width: 13.75rem; }

.main-header {
  background-color: #fec91d;
  padding: 1.5rem 0; }
  @media (max-width: 720px) {
    .main-header {
      padding: 1.25rem 0; } }
  .main-header__content {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    margin: -0.9375rem; }
    @media (max-width: 720px) {
      .main-header__content {
        margin: -0.5rem; } }
    .main-header__content .site-logo {
      margin: 0.9375rem; }
      @media (max-width: 720px) {
        .main-header__content .site-logo {
          margin: 0.5rem; } }
    .main-header__content .site-lang,
    .main-header__content .main-header__link {
      margin: 0.4375rem;
      padding: 0.5rem; }
      @media (max-width: 720px) {
        .main-header__content .site-lang,
        .main-header__content .main-header__link {
          margin: 0.25rem;
          padding: 0.25rem; } }
  .main-header__box {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    margin-left: auto;
    align-items: center; }
  .main-header__link {
    display: flex;
    align-items: center;
    transition: color ease 0.4s, fill ease 0.4s;
    font-size: 0.875rem;
    line-height: 1.5; }
    .main-header__link svg {
      margin-right: 0.3125rem; }

/* Typography */
.text {
  width: 100%;
  display: block;
  font-size: 1.125rem;
  padding-bottom: 24px;
  /* floating images */
  /* end of floating images */
  /* Video embed */
  /* end of Video embed */ }
  @media (min-width: 340px) {
    .text {
      padding-bottom: calc(24px + 16 * (100vw - 340px) / 940); } }
  @media (min-width: 1280px) {
    .text {
      padding-bottom: 40px; } }
  @media (max-width: 640px) {
    .text {
      font-size: 1rem; } }
  .text p {
    margin: 0;
    padding: 0 0 1.5625rem 0;
    line-height: 1.56; }
    .text p:last-child {
      padding: 0; }
  .text a {
    color: #163d74;
    text-decoration: none;
    transition: color ease 0.4s;
    cursor: pointer; }
    .non-touch .text a:hover {
      color: #d9130b; }
  .text ul {
    padding: 0 0 1.5rem 0; }
    .text ul li {
      position: relative;
      padding: 0 0 1rem 1rem;
      font-size: 1.063rem;
      line-height: 1.29; }
      .text ul li:last-of-type {
        padding-bottom: 0; }
      .text ul li:before {
        content: '';
        position: absolute;
        top: 0.45rem;
        left: 0;
        width: 0.375rem;
        height: 0.375rem;
        border-radius: 50%;
        background-color: #000000; }
  .text > :last-child {
    margin-bottom: 0; }
  .text img {
    margin-bottom: 1.25em;
    max-width: 100%; }
    .center .text img {
      margin-left: auto;
      margin-right: auto; }
  .text img[style*='float: left'] {
    margin: 0.5em 1.25em 1.25em 0;
    max-width: 50%; }
  .text img[style*='float: right'] {
    margin: 0.5em 0 1.25em 1.25em;
    max-width: 50%; }
  @media (max-width: 480px) {
    .text img[style*='float: left'],
    .text img[style*='float: right'] {
      margin: 0 0em 1.25em 0;
      max-width: 100%;
      float: none !important; } }
  .text .video-embed-wrapper {
    width: 50%;
    margin: 0.5em auto 1.25em auto; }
    .text .video-embed-wrapper--left {
      float: left;
      margin-right: 1.25em; }
    .text .video-embed-wrapper--right {
      float: right;
      margin-left: 1.25em; }
    .text .video-embed-wrapper--full {
      width: 100%; }
  .text .video-embed {
    position: relative;
    padding-bottom: 56.25%;
    /* 16:9 */
    height: 0;
    margin: 0 auto; }
    .text .video-embed iframe {
      position: absolute !important;
      top: 0 !important;
      left: 0 !important;
      width: 100% !important;
      height: 100% !important; }
    .text .video-embed .fb-video,
    .text .video-embed .fb-video > span {
      width: 100% !important;
      height: 100% !important;
      position: absolute !important;
      top: 0 !important;
      left: 0 !important; }
  .text .text .video-embed-wrapper blockquote:before {
    display: none; }

.grid {
  display: flex;
  align-items: flex-start; }
  .grid--wrap {
    flex-wrap: wrap; }
    @media (max-width: 480px) {
      .grid--wrap-s {
        flex-wrap: wrap; } }
    @media (max-width: 1220px) {
      .grid--wrap-xl {
        flex-wrap: wrap; } }
  .grid--column {
    flex-direction: column; }
  .grid--center {
    align-items: center; }
  .grid--stretch {
    align-items: stretch; }
  .grid--space-between {
    justify-content: space-between; }
  .grid--center-content {
    justify-content: center; }
    @media (max-width: 480px) {
      .grid--center-content-mobile {
        justify-content: center; } }
  .grid--gutter-15 {
    margin: -0.9375rem; }
    .grid--gutter-15 > .grid__col {
      margin: 0.9375rem; }
  .grid--gutter-10 {
    margin: -0.625rem; }
    .grid--gutter-10 > .grid__col {
      margin: 0.625rem; }
  .grid--gutter-7 {
    margin: -0.4375rem; }
    .grid--gutter-7 > .grid__col {
      margin: 0.4375rem; }
  .grid--gutter-5 {
    margin: -0.3125rem; }
    .grid--gutter-5 > .grid__col {
      margin: 0.3125rem; }
  .grid--gutter-4 {
    margin: -0.25rem; }
    .grid--gutter-4 > .grid__col {
      margin: 0.25rem; }

.button {
  background-color: #163d74;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 600;
  border-radius: 1.875rem;
  display: inline-block;
  text-align: center;
  transition: background-color ease 0.4s, color ease 0.4s;
  padding: 1.125rem 1.875rem 1.1875rem;
  min-width: 8.4375rem; }
  @media (max-width: 720px) {
    .button {
      font-size: 0.875rem;
      padding: 0.8125rem 2.1875rem 0.875rem;
      border-radius: 1.4375rem; } }
  .non-touch .button:hover {
    color: #000000;
    background-color: #fec21a; }
  .button--secondary {
    font-size: 14px;
    font-weight: 400;
    padding: 0.8125rem 2.1875rem 0.875rem;
    border-radius: 1.4375rem;
    max-width: 151px;
    width: 100%;
    color: #000000;
    background-color: #fec21a; }
    .non-touch .button--secondary:hover {
      background-color: #163d74;
      color: #ffffff; }
  .button-wrapper svg {
    margin-right: 0.375rem;
    transition: transform ease 0.4s; }
  .button-wrapper a {
    font-size: 0.875rem;
    opacity: 0.82;
    transition: color ease 0.4s, fill ease 0.4s;
    display: flex;
    align-items: center; }
    @media (max-width: 720px) {
      .button-wrapper a {
        font-size: 0.75rem; } }
    .non-touch .button-wrapper a:hover {
      opacity: 1; }
      .non-touch .button-wrapper a:hover .icon {
        transform: rotate(20deg); }

.banner {
  padding-top: 41.99%; }
  .banner svg {
    position: absolute;
    left: 50%;
    right: 50%;
    bottom: 17%;
    -webkit-animation: mover 1s infinite alternate;
    animation: mover 1s infinite alternate; }
    @media (max-width: 1220px) {
      .banner svg {
        bottom: 8%; } }
    @media (max-width: 640px) {
      .banner svg {
        display: none; } }
  @media (max-width: 380px) {
    .banner {
      padding-top: 45.6%; } }

@-webkit-keyframes mover {
  0% {
    transform: translateY(0) translateX(-50%); }
  100% {
    transform: translateY(-10px) translateX(-50%); } }

@keyframes mover {
  0% {
    transform: translateY(0) translateX(-50%); }
  100% {
    transform: translateY(-10px) translateX(-50%); } }

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0; }

.heading {
  font-family: "Akrobat", sans-serif;
  font-weight: 400; }
  .heading--1 {
    font-size: 3.125rem;
    line-height: 1.18;
    font-size: 28px; }
    @media (min-width: 340px) {
      .heading--1 {
        font-size: calc(28px + 22 * (100vw - 340px) / 940); } }
    @media (min-width: 1280px) {
      .heading--1 {
        font-size: 50px; } }
  .heading--2 {
    font-size: 2.375rem;
    line-height: 1;
    font-size: 22px; }
    @media (min-width: 340px) {
      .heading--2 {
        font-size: calc(22px + 16 * (100vw - 340px) / 940); } }
    @media (min-width: 1280px) {
      .heading--2 {
        font-size: 38px; } }

.section__header {
  padding-bottom: 1.375rem; }
  @media (max-width: 720px) {
    .section__header {
      padding-bottom: 1.125rem; } }

.art-block {
  padding: 5rem 0 6.25rem; }
  @media (max-width: 720px) {
    .art-block {
      padding: 2.8125rem 0; } }
  .art-block svg {
    margin: 0 1.25rem 0 0; }
    @media (max-width: 480px) {
      .art-block svg {
        margin: 0 0 0.375rem 0; } }
  .art-block__item {
    display: flex;
    align-items: center;
    max-width: 22.5rem; }
    @media (max-width: 1220px) {
      .art-block__item {
        max-width: 20rem; } }
    @media (max-width: 720px) {
      .art-block__item {
        max-width: 15rem; } }
    @media (max-width: 480px) {
      .art-block__item {
        text-align: center;
        flex-direction: column;
        justify-content: center; } }
    @media (max-width: 340px) {
      .art-block__item {
        max-width: 100%; } }

.contact-section__item {
  max-width: 23.125rem;
  width: 100%;
  padding: 1.5rem 2.0625rem 1.875rem;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  border-radius: 0.1875rem;
  background-color: #f4f4f4;
  text-align: center; }
  @media (max-width: 480px) {
    .contact-section__item {
      padding: 0.9375rem;
      max-width: 18.75rem; } }

.contact-section__box {
  display: flex;
  flex-direction: column; }

.icon {
  flex-shrink: 0;
  width: 100%;
  pointer-events: none; }
  .icon-100x100 {
    width: 6.25rem;
    height: 6.25rem; }
  .icon-88 {
    width: 88px; }
  .icon-80x80 {
    width: 5rem;
    height: 5rem; }
  .icon-70x70 {
    width: 4.375rem;
    height: 4.375rem; }
  .icon-88x88 {
    width: 5.5rem;
    height: 5.5rem; }
    @media (max-width: 720px) {
      .icon-88x88 {
        width: 4.375rem;
        height: 4.375rem; } }
  .icon-23x23 {
    width: 1.4375rem;
    height: 1.4375rem; }
    @media (max-width: 720px) {
      .icon-23x23 {
        width: 1.125rem;
        height: 1.125rem; } }
  .icon-22x17 {
    width: 1.375rem;
    height: 1.0625rem; }

.main-footer__content {
  padding: 1.875rem 0 1.375rem; }

.main-footer__block {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center; }

.main-footer__bottom {
  padding: 0.625rem 0 0.5rem;
  background-color: #fec91d; }

.social-icon {
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 2.625rem;
  width: 2.625rem;
  transition: background ease 0.4s;
  fill: #163d74;
  position: relative; }
  .social-icon svg {
    z-index: 1;
    transition: transform ease 0.4s, fill ease 0.4s; }
  .social-icon:after {
    content: "";
    position: absolute;
    height: 2.625rem;
    width: 2.625rem;
    background-color: #ffffff;
    border-radius: 50%;
    z-index: 0;
    transition: transform ease 0.3s;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(1); }
  .non-touch .social-icon:hover svg {
    fill: #ffffff;
    transform: scale(1.5); }
  .non-touch .social-icon:hover:after {
    transform: translate(-50%, -50%) scale(0); }

.font-xxl {
  font-size: 1.5rem;
  font-weight: 600; }
  @media (max-width: 720px) {
    .font-xxl {
      font-size: 1.375rem; } }

.font-xl {
  font-size: 1.3125rem;
  line-height: 1.4; }
  @media (max-width: 720px) {
    .font-xl {
      font-size: 1.125rem;
      line-height: 1.25; } }

.font-l {
  font-size: 1.125rem;
  line-height: 1.4; }

.font-m {
  font-size: 1rem; }

.font-s {
  font-size: 0.9375rem;
  line-height: 1.4; }

.font-xxs {
  font-size: 0.8125rem; }

.limited-l {
  max-width: 55.625rem; }

.pb-xxxs {
  padding-bottom: 0.5rem; }

.pb-xxs {
  padding-bottom: 0.75rem; }

.pb-xs {
  padding-bottom: 1.25rem; }
  @media (max-width: 720px) {
    .pb-xs {
      padding-bottom: 0.75rem; } }

.pb-s {
  padding-bottom: 1.875rem; }
  @media (max-width: 720px) {
    .pb-s {
      padding-bottom: 1.25rem; } }

.pb-m {
  padding-bottom: 2.1875rem; }
  @media (max-width: 720px) {
    .pb-m {
      padding-bottom: 1.25rem; } }

.pb-l {
  padding-bottom: 2.5rem; }
  @media (max-width: 720px) {
    .pb-l {
      padding-bottom: 1.25rem; } }

.pb-xl {
  padding-bottom: 2.8125rem;
  padding-bottom: 30px; }
  @media (min-width: 340px) {
    .pb-xl {
      padding-bottom: calc(30px + 15 * (100vw - 340px) / 940); } }
  @media (min-width: 1280px) {
    .pb-xl {
      padding-bottom: 45px; } }

.pb-xxl {
  padding-bottom: 3.125rem;
  padding-bottom: 35px; }
  @media (min-width: 340px) {
    .pb-xxl {
      padding-bottom: calc(35px + 15 * (100vw - 340px) / 940); } }
  @media (min-width: 1280px) {
    .pb-xxl {
      padding-bottom: 50px; } }

.pb-xxxl {
  padding-bottom: 3.75rem;
  padding-bottom: 45px; }
  @media (min-width: 340px) {
    .pb-xxxl {
      padding-bottom: calc(45px + 15 * (100vw - 340px) / 940); } }
  @media (min-width: 1280px) {
    .pb-xxxl {
      padding-bottom: 60px; } }

.pb-xxxxl {
  padding-bottom: 5rem;
  padding-bottom: 65px; }
  @media (min-width: 340px) {
    .pb-xxxxl {
      padding-bottom: calc(65px + 15 * (100vw - 340px) / 940); } }
  @media (min-width: 1280px) {
    .pb-xxxxl {
      padding-bottom: 80px; } }

.pb-xxxxxl {
  padding-bottom: 6.25rem;
  padding-bottom: 70px; }
  @media (min-width: 340px) {
    .pb-xxxxxl {
      padding-bottom: calc(70px + 30 * (100vw - 340px) / 940); } }
  @media (min-width: 1280px) {
    .pb-xxxxxl {
      padding-bottom: 100px; } }

.pb-xxxxxxl {
  padding-bottom: 9.375rem;
  padding-bottom: 70px; }
  @media (min-width: 340px) {
    .pb-xxxxxxl {
      padding-bottom: calc(70px + 90 * (100vw - 340px) / 940); } }
  @media (min-width: 1280px) {
    .pb-xxxxxxl {
      padding-bottom: 160px; } }

.p-5 {
  padding: 5px; }

.mb-xs {
  margin-bottom: 1.25rem; }

.mb-m {
  margin-bottom: 3.125rem; }
  @media (max-width: 1220px) {
    .mb-m {
      margin-bottom: 1.25rem; } }

.ml-xs {
  margin-left: 0.625rem; }

/* ==========================================================================
   Helper classes
   ========================================================================== */
.center {
  text-align: center !important; }

.align-left {
  text-align: left !important; }

.align-right {
  text-align: right !important; }

.nowrap {
  white-space: nowrap !important; }

.no-margin {
  margin: 0 !important; }

.margin-center {
  margin: 0 auto; }

.hidden {
  display: none !important; }

.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap; }

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
  clip: auto;
  -webkit-clip-path: none;
  clip-path: none;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto;
  white-space: inherit; }

.invisible {
  visibility: hidden; }

.clearfix:before,
.clearfix:after {
  content: " ";
  display: table; }

.clearfix:after {
  clear: both; }

.clearfix {
  *zoom: 1; }

.full-width {
  width: 100%; }

.relative {
  position: relative; }

.overflow-wrapper {
  overflow: hidden; }

.block {
  display: block; }

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

.bold {
  font-weight: 600; }

.separated-items {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  font-size: 14px; }
  .separated-items li {
    display: flex;
    align-items: center; }
    .separated-items li:after {
      content: "";
      border-radius: 50%;
      background-color: #000000;
      width: 0.1875rem;
      height: 0.1875rem;
      pointer-events: none;
      margin: 0 -8px; }
      @media (max-width: 720px) {
        .separated-items li:after {
          margin: 0 -4px; } }
      @media (max-width: 340px) {
        .separated-items li:after {
          display: none; } }
    .separated-items li:last-child:after {
      display: none; }
    .separated-items li a {
      padding: 0.5rem;
      margin: 0.4375rem;
      line-height: 1.5; }
      @media (max-width: 720px) {
        .separated-items li a {
          padding: 4px;
          margin: 4px; } }
    .separated-items li:last-of-type a:last-of-type {
      margin-left: 0;
      padding-left: 0; }

.hover-color-one {
  transition: color ease 0.4s, fill ease 0.4s; }
  .non-touch .hover-color-one:hover {
    color: #d9130b;
    fill: #d9130b; }

.hover-border-bottom {
  border-bottom: 1px solid transparent;
  transition: border ease 0.4s, color ease 0.4s; }
  .non-touch .hover-border-bottom:hover {
    border-bottom: 1px solid #ffffff; }
  .non-touch .hover-border-bottom--two:hover {
    border-bottom: 1px solid #000000; }

.iframe-box {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%;
  height: 0; }
  .iframe-box iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.accent {
  padding: 0 0.3125rem 2.1875rem; }
  @media (max-width: 720px) {
    .accent {
      padding: 0 0.3125rem 1.5625rem; } }

.color-1 {
  color: #ffffff; }

.color-2 {
  color: #163d74; }

.background-one {
  background-color: #163d74; }

.bg-img {
  background: no-repeat center / cover; }

/* upgrade browser */
.upgrade-browser {
  position: relative;
  z-index: 10000;
  padding: 10px 60px;
  text-align: center;
  background-color: #ffe490; }
  .upgrade-browser a {
    display: inline-block;
    vertical-align: middle;
    margin: 0 5px 0 0;
    width: 50px;
    height: 50px;
    font-size: 0;
    background: url("../images/browser-sprite.jpg") no-repeat -1000px 0; }
    .upgrade-browser a.chrome {
      background-position: 0px 0px; }
    .upgrade-browser a.ie {
      background-position: -50px 0px; }
    .upgrade-browser a.firefox {
      background-position: -100px 0; }
    .upgrade-browser a.opera {
      background-position: -150px 0; }
    .upgrade-browser a.safari {
      background-position: -200px 0; }
  .upgrade-browser span {
    display: inline-block;
    margin: 10px;
    font-size: 16px;
    line-height: 18px; }
  .upgrade-browser__warning {
    position: absolute;
    top: 10px;
    right: 10px;
    height: 50px;
    width: 50px;
    cursor: pointer;
    background: url("../images/browser-sprite.jpg") no-repeat -250px 0; }

/* end of upgrade browser */
/* Print styles */
@media print {
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; }
  a[href]:empty::before {
    content: attr(href); } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsInZlbmRvci9ub3JtYWxpemUvX25vcm1hbGl6ZS5zY3NzIiwiaGVscGVyL19jb2xvci5zY3NzIiwiaGVscGVyL19oZWxwZXItdmFyaWFibGVzLnNjc3MiLCJoZWxwZXIvX21peGlucy5zY3NzIiwibGF5b3V0L19sYXlvdXQuc2NzcyIsImhlYWRlci9faGVhZGVyLnNjc3MiLCJjb21wb25lbnRzL190eXBvZ3JhcGh5LnNjc3MiLCJjb21wb25lbnRzL19ncmlkLnNjc3MiLCJjb21wb25lbnRzL19idXR0b25zLnNjc3MiLCJjb21wb25lbnRzL19iYW5uZXIuc2NzcyIsImNvbXBvbmVudHMvX2hlYWRpbmcuc2NzcyIsImNvbXBvbmVudHMvX3NlY3Rpb24uc2NzcyIsImNvbXBvbmVudHMvX2FydC1ibG9jay5zY3NzIiwiY29tcG9uZW50cy9fY29udGFjdC1zZWN0aW9uLnNjc3MiLCJjb21wb25lbnRzL19pY29ucy5zY3NzIiwiZm9vdGVyL19mb290ZXIuc2NzcyIsImhlbHBlci9fdGV4dC5zY3NzIiwiaGVscGVyL19kaXN0YW5jZS5zY3NzIiwiaGVscGVyL19oZWxwZXItY2xhc3Nlcy5zY3NzIiwiaGVscGVyL191cGdyYWRlLWJyb3dzZXIuc2NzcyIsImhlbHBlci9fcHJpbnQuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBOb3JtYWxpemVcbkBpbXBvcnQgXCJ2ZW5kb3Ivbm9ybWFsaXplL25vcm1hbGl6ZS5zY3NzXCI7XG4vLyBIZWxwZXIgVmFyaWJhbGVzXG5AaW1wb3J0IFwiaGVscGVyL2NvbG9yLnNjc3NcIjtcbkBpbXBvcnQgXCJoZWxwZXIvaGVscGVyLXZhcmlhYmxlcy5zY3NzXCI7XG5AaW1wb3J0IFwiaGVscGVyL21peGlucy5zY3NzXCI7XG4vLyBEZWZhdWx0XG5AaW1wb3J0IFwibGF5b3V0L2xheW91dC5zY3NzXCI7XG4vLyBIZWFkZXJcbkBpbXBvcnQgXCJoZWFkZXIvaGVhZGVyLnNjc3NcIjtcbi8vIENvbXBvbmVudHNcbkBpbXBvcnQgXCJjb21wb25lbnRzL3R5cG9ncmFwaHkuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZ3JpZC5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9idXR0b25zLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Jhbm5lci5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9oZWFkaW5nLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3NlY3Rpb24uc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvYXJ0LWJsb2NrLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NvbnRhY3Qtc2VjdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9pY29uc1wiO1xuLy8gRm9vdGVyXG5AaW1wb3J0IFwiZm9vdGVyL2Zvb3Rlci5zY3NzXCI7XG4vLyBQbHVnaW4gKHZlbmRvcilcbi8vIEhlbHBlclxuQGltcG9ydCBcImhlbHBlci90ZXh0LnNjc3NcIjtcbkBpbXBvcnQgXCJoZWxwZXIvZGlzdGFuY2Uuc2Nzc1wiO1xuQGltcG9ydCBcImhlbHBlci9oZWxwZXItY2xhc3Nlcy5zY3NzXCI7XG5AaW1wb3J0IFwiaGVscGVyL3VwZ3JhZGUtYnJvd3Nlci5zY3NzXCI7XG5AaW1wb3J0IFwiaGVscGVyL3ByaW50LnNjc3NcIjsiLCIvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5cbiBodG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIFJlbmRlciB0aGUgYG1haW5gIGVsZW1lbnQgY29uc2lzdGVudGx5IGluIElFLlxuICovXG5cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgaGVpZ2h0OiAwOyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgbWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqL1xuXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn0iLCIvLyBDb2xvcnNcbiRjb2xvci13aGl0ZTogI2ZmZmZmZjtcbiRjb2xvci1ibGFjazogIzAwMDAwMDtcbiRjb2xvci1wcmltYXJ5LTAwMDogI2ZlYzIxYTtcbiRjb2xvci1wcmltYXJ5LTAwMTogI2ZlYzkxZDtcbiRjb2xvci1zZWNvbmRhcnktMDAwOiAjMTYzZDc0O1xuJGNvbG9yLWdyZXktMDAwOiAjZjRmNGY0O1xuJGNvbG9yLWFjY2VudC0wMDE6ICNkOTEzMGI7XG4iLCIvLyB0cmFuc2l0aW9uc1xuJGVhc2U6IGVhc2UgMC40cztcbi8vZm9udCBzaXplXG4kYmFzZTogMTZweDtcblxuLyogbWVkaWEgcXVlcmllcyB2YXJzICovXG5cbiRkLTEyODA6IDEyODBweDtcbiRkLTEyMjA6IDEyMjBweDtcbiR0LTcyMDogNzIwcHg7XG4kcC02NDA6IDY0MHB4O1xuJHAtNDgwOiA0ODBweDtcbiRwLTM4MDogMzgwcHg7XG4kcC0zNDA6IDM0MHB4O1xuXG4vLyBGb250c1xuJGZvbnQtcHJpbWFyeTogJ09wZW4gU2FucycsXG5zYW5zLXNlcmlmO1xuJGZvbnQtc2Vjb25kYXJ5OiAnQWtyb2JhdCcsXG5zYW5zLXNlcmlmOyIsIi8vIEZsdWlkIHR5cG9ncmFwaHkvZGlzdGFuY2VcbkBtaXhpbiBmbHVpZC1zaXplKCRwcm9wZXJ0aWVzLCAkbWluLXZ3LCAkbWF4LXZ3LCAkbWluLXNpemUsICRtYXgtc2l6ZSkge1xuICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xuICAgICN7JHByb3BlcnR5fTogJG1pbi1zaXplO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4tdncpIHtcbiAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xuICAgICAgI3skcHJvcGVydHl9OiBjYWxjKCN7JG1pbi1zaXplfSArICN7c3RyaXAtdW5pdCgkbWF4LXNpemUgLSAkbWluLXNpemUpfSAqICgxMDB2dyAtICN7JG1pbi12d30pIC8gI3tzdHJpcC11bml0KCRtYXgtdncgLSAkbWluLXZ3KX0pO1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkbWF4LXZ3KSB7XG4gICAgQGVhY2ggJHByb3BlcnR5IGluICRwcm9wZXJ0aWVzIHtcbiAgICAgICN7JHByb3BlcnR5fTogJG1heC1zaXplO1xuICAgIH1cbiAgfVxufVxuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtYmVyKSB7XG4gIEBpZiB0eXBlLW9mKCRudW1iZXIpPT1cIm51bWJlclwiYW5kIG5vdCB1bml0bGVzcygkbnVtYmVyKSB7XG4gICAgQHJldHVybiAkbnVtYmVyIC8gKCRudW1iZXIgKiAwICsgMSk7XG4gIH1cblxuICBAcmV0dXJuICRudW1iZXI7XG59XG5cbi8vRXhhbXBsZTpcbi8qIEBpbmNsdWRlIGZsdWlkLXNpemUoZm9udC1zaXplLCAzMjBweCwgMTkyMHB4LCAxNnB4LCA0MHB4KTsgKi9cblxuLyogTXVsdGlwbGUgcHJvcGVydGllcyB3aXRoIHNhbWUgdmFsdWVzIGFuZCB1bml0XG4gICAgLnNlbGVjdG9yIHtcbiAgICAgICAgQGluY2x1ZGUgZmx1aWQtc2l6ZShwYWRkaW5nLXRvcCBwYWRkaW5nLWJvdHRvbSwgMjBlbSwgNzBlbSwgMmVtLCA0ZW0pO1xuICAgIH1cbiovXG5cbi8vIEV4YW1wbGU6ICBAaW5jbHVkZSB0ZXh0LWNvbGxhcHNlKDE2cHgsIDEuNCwgMyk7XG5cbi8vIFBYIHRvIFJFTSBmdW5jdGlvblxuLy8gRXhhbXBsZTogbWFyZ2luLWJvdHRvbTogcmVtKDE0cHgpO1xuJGJhc2VGb250U2l6ZTogJGJhc2UgIWRlZmF1bHQ7XG5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCR2YWx1ZSkge1xuICBAcmV0dXJuICR2YWx1ZSAvICgkdmFsdWUgKiAwICsgMSk7XG59XG5cbkBtaXhpbiByZW0oJHByb3BlcnR5LCAkdmFsdWVzKSB7XG4gICRweDogKCk7XG4gICRyZW06ICgpO1xuXG4gICRyb290OiBzdHJpcC11bml0KCRiYXNlRm9udFNpemUpO1xuXG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICBAaWYgJHZhbHVlPT0wIG9yICR2YWx1ZT09YXV0byB7XG4gICAgICAkcHg6IGFwcGVuZCgkcHgsICR2YWx1ZSk7XG4gICAgICAkcmVtOiBhcHBlbmQoJHJlbSwgJHZhbHVlKTtcbiAgICB9XG5cbiAgICBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZSk9PW51bWJlciB7XG4gICAgICAkdW5pdDogdW5pdCgkdmFsdWUpO1xuICAgICAgJHZhbDogc3RyaXAtdW5pdCgkdmFsdWUpO1xuXG4gICAgICBAaWYgJHVuaXQ9PVwicHhcIiB7XG4gICAgICAgICRweDogYXBwZW5kKCRweCwgJHZhbHVlKTtcbiAgICAgICAgJHJlbTogYXBwZW5kKCRyZW0sICgkdmFsIC8gJHJvb3QgKyByZW0pKTtcbiAgICAgIH1cblxuICAgICAgQGlmICR1bml0PT1cInJlbVwiIHtcbiAgICAgICAgJHB4OiBhcHBlbmQoJHB4LCAoJHZhbCAqICRyb290ICsgcHgpKTtcbiAgICAgICAgJHJlbTogYXBwZW5kKCRyZW0sICR2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgJHB4OiBhcHBlbmQoJHB4LCAkdmFsdWUpO1xuICAgICAgJHJlbTogYXBwZW5kKCRyZW0sICR2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICRweD09JHJlbSB7XG4gICAgI3skcHJvcGVydHl9OiAkcHg7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgI3skcHJvcGVydHl9OiAkcHg7XG4gICAgI3skcHJvcGVydHl9OiAkcmVtO1xuICB9XG59XG5cbkBmdW5jdGlvbiByZW0oJHZhbHVlKSB7XG4gICRyb290OiBzdHJpcC11bml0KCRiYXNlRm9udFNpemUpO1xuICAkdmFsOiBzdHJpcC11bml0KCR2YWx1ZSk7XG4gICRyZXR1cm46ICgpO1xuXG4gIEBpZiB1bml0KCR2YWx1ZSk9PVwicHhcIiB7XG4gICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sICgkdmFsIC8gJHJvb3QgKyByZW0pKTtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgKCR2YWwgKiAkcm9vdCArIHB4KSk7XG4gIH1cblxuICBAcmV0dXJuICRyZXR1cm47XG59IiwiLy8gRm9udHNcblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiQWtyb2JhdFwiO1xuICAgIHNyYzogdXJsKFwiLi4vZm9udHMvQWtyb2JhdC1SZWd1bGFyLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9Ba3JvYmF0LVJlZ3VsYXIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9Ba3JvYmF0LVJlZ3VsYXIudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4vKiEgSFRNTDUgQm9pbGVycGxhdGUgdjcuMi4wIHwgTUlUIExpY2Vuc2UgfCBodHRwczovL2h0bWw1Ym9pbGVycGxhdGUuY29tLyAtIG1vZGlmaWVkIGJ5IFN0dWRpbyBYKi9cblxuaHRtbCB7XG4gICAgY29sb3I6ICMyMjI7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuOjotbW96LXNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZDogI2IzZDRmYztcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuOjpzZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQ6ICNiM2Q0ZmM7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbmhyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XG4gICAgbWFyZ2luOiAxZW0gMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG5hdWRpbyxcbmNhbnZhcyxcbmlmcmFtZSxcbmltZyxcbnN2ZyxcbnZpZGVvIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5maWVsZHNldCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1pbi1pbmxpbmUtc2l6ZTogMTAwJTtcbn1cblxudGV4dGFyZWEge1xuICAgIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbmFkZHJlc3Mge1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuYnV0dG9uLFxuZmlndXJlLFxuZmlnY2FwdGlvbixcbm9sLFxudWwsXG5maWVsZHNldCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG59XG5cbm9sLFxudWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbmJ1dHRvbiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG5zbWFsbCB7XG4gICAgZm9udC1zaXplOiByZW0oMTRweCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjk7XG59XG5cbmlucHV0OjotbXMtcmV2ZWFsLFxuaW5wdXQ6Oi1tcy1jbGVhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG59XG5cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xufVxuXG5ociB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAxLjVyZW0gMDtcbiAgICBoZWlnaHQ6IDAuMDYzcmVtO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbmEge1xuICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKiBBdXRob3IncyBjdXN0b20gc3R5bGVzICAqL1xuXG4qLFxuKjpiZWZvcmUsXG4qOmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG4vLyAqOmZvY3VzIHtcbi8vICAgICBvdXRsaW5lOiBub25lO1xuLy8gfVxuaHRtbCxcbmJvZHkge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgZm9udC1zbW9vdGhpbmc6IGFsd2F5cztcbn1cblxuYm9keSB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LXByaW1hcnk7XG4gICAgZm9udC1zaXplOiAkYmFzZTtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHAtNjQwKSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgfVxufVxuXG5pbnB1dCxcbnNlbGVjdCB7XG4gICAgdHJhbnNpdGlvbjogYWxsICRlYXNlO1xufVxuXG4ud3JhcHBlciB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiByZW0oMTMzMHB4KTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB3aWR0aDogODQuOTYyNSU7XG4gICAgLy8gcGFkZGluZy1sZWZ0OiBjb25zdGFudChzYWZlLWFyZWEtaW5zZXQtbGVmdCk7XG4gICAgLy8gcGFkZGluZy1sZWZ0OiBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpO1xuICAgIC8vIHBhZGRpbmctcmlnaHQ6IGNvbnN0YW50KHNhZmUtYXJlYS1pbnNldC1yaWdodCk7XG4gICAgLy8gcGFkZGluZy1yaWdodDogZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCk7XG4gICAgLyogaVBvbmUgWCAqL1xufVxuXG4uc2l0ZSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICYtbGFuZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuICAgIH1cblxuICAgICYtbG9nbyB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICR0LTcyMCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiByZW0oOThweCk7XG4gICAgICAgIH1cblxuICAgICAgICAmIGEge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubWFpbi1oZWFkZXIge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ubWFpbi1jb250ZW50IHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5tYWluLWZvb3RlciB7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5zY3JvbGxhYmxlLWNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuXG4uc2hhcGUtaW1nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG5cbiAgICAmLS0xIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEyZGVnKSB0cmFuc2xhdGUoMTYzcHgsIDY1cHgpO1xuICAgICAgICB3aWR0aDogcmVtKDI2OHB4KTtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJHQtNzIwKSB7XG4gICAgICAgICAgICB3aWR0aDogcmVtKDIyMHB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLTIge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTVkZWcpIHRyYW5zbGF0ZSgtMTQwcHgsIDI0MHB4KTtcbiAgICAgICAgd2lkdGg6IHJlbSgyMjBweCk7XG4gICAgfVxufVxuIiwiLm1haW4taGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeS0wMDE7XG4gICAgcGFkZGluZzogcmVtKDI0cHgpIDA7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHQtNzIwKSB7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgyMHB4KSAwO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgbWFyZ2luOiByZW0oLTE1cHgpO1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkdC03MjApIHtcbiAgICAgICAgICAgIG1hcmdpbjogcmVtKC04cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgJiAuc2l0ZS1sb2dvIHtcbiAgICAgICAgICAgIG1hcmdpbjogcmVtKDE1cHgpO1xuXG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJHQtNzIwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiByZW0oOHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYgLnNpdGUtbGFuZyxcbiAgICAgICAgJiAubWFpbi1oZWFkZXJfX2xpbmsge1xuICAgICAgICAgICAgbWFyZ2luOiByZW0oN3B4KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSg4cHgpO1xuXG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJHQtNzIwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiByZW0oNHB4KTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0oNHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JveCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICRlYXNlLCBmaWxsICRlYXNlO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNHB4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcblxuICAgICAgICAmIHN2ZyB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbSg1cHgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyogVHlwb2dyYXBoeSAqL1xuXG4udGV4dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiByZW0oMThweCk7XG5cbiAgICBAaW5jbHVkZSBmbHVpZC1zaXplKHBhZGRpbmctYm90dG9tLCAkcC0zNDAsICRkLTEyODAsIDI0cHgsIDQwcHgpO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRwLTY0MCkge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwIDAgcmVtKDI1cHgpIDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU2O1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAkY29sb3Itc2Vjb25kYXJ5LTAwMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkZWFzZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIC5ub24tdG91Y2ggJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWFjY2VudC0wMDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAxLjVyZW0gMDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMXJlbSAxcmVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjA2M3JlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI5O1xuXG4gICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwLjQ1cmVtO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDAuMzc1cmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMC4zNzVyZW07XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICY+IDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAvKiBmbG9hdGluZyBpbWFnZXMgKi9cbiAgICBpbWcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1ZW07XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICAgICAuY2VudGVyICYge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbWdbc3R5bGUqPSdmbG9hdDogbGVmdCddIHtcbiAgICAgICAgbWFyZ2luOiAwLjVlbSAxLjI1ZW0gMS4yNWVtIDA7XG4gICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgIH1cblxuICAgIGltZ1tzdHlsZSo9J2Zsb2F0OiByaWdodCddIHtcbiAgICAgICAgbWFyZ2luOiAwLjVlbSAwIDEuMjVlbSAxLjI1ZW07XG4gICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgIH1cblxuICAgIEBtZWRpYShtYXgtd2lkdGg6ICRwLTQ4MCkge1xuXG4gICAgICAgIGltZ1tzdHlsZSo9J2Zsb2F0OiBsZWZ0J10sXG4gICAgICAgIGltZ1tzdHlsZSo9J2Zsb2F0OiByaWdodCddIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwZW0gMS4yNWVtIDA7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogZW5kIG9mIGZsb2F0aW5nIGltYWdlcyAqL1xuICAgIC8qIFZpZGVvIGVtYmVkICovXG4gICAgLnZpZGVvLWVtYmVkLXdyYXBwZXIge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBtYXJnaW46IDAuNWVtIGF1dG8gMS4yNWVtIGF1dG87XG5cbiAgICAgICAgJi0tbGVmdCB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMS4yNWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tcmlnaHQge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEuMjVlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWZ1bGwge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudmlkZW8tZW1iZWQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gICAgICAgIC8qIDE2OjkgKi9cbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgICBpZnJhbWUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB0b3A6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mYi12aWRlbyxcbiAgICAgICAgLmZiLXZpZGVvPnNwYW4ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB0b3A6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50ZXh0IC52aWRlby1lbWJlZC13cmFwcGVyIGJsb2NrcXVvdGU6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBlbmQgb2YgVmlkZW8gZW1iZWQgKi9cbn0iLCIuZ3JpZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgICYtLXdyYXAge1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICYtcyB7XG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJHAtNDgwKSB7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi14bCB7XG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJGQtMTIyMCkge1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWNvbHVtbiB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgJi0tY2VudGVyIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmLS1zdHJldGNoIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgJi0tc3BhY2UtYmV0d2VlbiB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG5cbiAgICAmLS1jZW50ZXItY29udGVudCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICYtbW9iaWxlIHtcbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkcC00ODApIHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWd1dHRlciB7XG5cbiAgICAgICAgJi0xNSB7XG4gICAgICAgICAgICBtYXJnaW46IHJlbSgtMTVweCk7XG5cbiAgICAgICAgICAgICY+LmdyaWRfX2NvbCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiByZW0oMTVweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLTEwIHtcbiAgICAgICAgICAgIG1hcmdpbjogcmVtKC0xMHB4KTtcblxuICAgICAgICAgICAgJj4uZ3JpZF9fY29sIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IHJlbSgxMHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtNyB7XG4gICAgICAgICAgICBtYXJnaW46IHJlbSgtN3B4KTtcblxuICAgICAgICAgICAgJj4uZ3JpZF9fY29sIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IHJlbSg3cHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi01IHtcbiAgICAgICAgICAgIG1hcmdpbjogcmVtKC01cHgpO1xuXG4gICAgICAgICAgICAmPi5ncmlkX19jb2wge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogcmVtKDVweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLTQge1xuICAgICAgICAgICAgbWFyZ2luOiByZW0oLTRweCk7XG5cbiAgICAgICAgICAgICY+LmdyaWRfX2NvbCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiByZW0oNHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc2Vjb25kYXJ5LTAwMDtcbiAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgYm9yZGVyLXJhZGl1czogcmVtKDMwcHgpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkZWFzZSwgY29sb3IgJGVhc2U7XG4gICAgcGFkZGluZzogcmVtKDE4cHgpIHJlbSgzMHB4KSByZW0oMTlweCk7XG4gICAgbWluLXdpZHRoOiByZW0oMTM1cHgpO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICR0LTcyMCkge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNHB4KTtcbiAgICAgICAgcGFkZGluZzogcmVtKDEzcHgpIHJlbSgzNXB4KSByZW0oMTRweCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbSgyM3B4KTtcbiAgICB9XG5cbiAgICAubm9uLXRvdWNoICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeS0wMDA7XG4gICAgfVxuXG4gICAgJi0tc2Vjb25kYXJ5IHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBwYWRkaW5nOiByZW0oMTNweCkgcmVtKDM1cHgpIHJlbSgxNHB4KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtKDIzcHgpO1xuICAgICAgICBtYXgtd2lkdGg6IDE1MXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnktMDAwO1xuXG4gICAgICAgIC5ub24tdG91Y2ggJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc2Vjb25kYXJ5LTAwMDtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLXdyYXBwZXIge1xuICAgICAgICAmIHN2ZyB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbSg2cHgpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRlYXNlO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxNHB4KTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuODI7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkZWFzZSwgZmlsbCAkZWFzZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJHQtNzIwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTJweCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5ub24tdG91Y2ggJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgICAgICAgICAgICYgLmljb24ge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyMGRlZyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi5iYW5uZXIge1xuICAgICYgc3ZnIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHJpZ2h0OiA1MCU7XG4gICAgICAgIGJvdHRvbTogMTclO1xuICAgICAgICBhbmltYXRpb246IG1vdmVyIDFzIGluZmluaXRlIGFsdGVybmF0ZTtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJGQtMTIyMCkge1xuICAgICAgICAgICAgYm90dG9tOiA4JTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkcC02NDApIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwYWRkaW5nLXRvcDogNDEuOTklO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRwLTM4MCkge1xuICAgICAgICBwYWRkaW5nLXRvcDogNDUuNiU7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIG1vdmVyIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpIHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxufSIsImgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5oZWFkaW5nIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtc2Vjb25kYXJ5O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgICAmLS0xIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oNTBweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE4O1xuICAgICAgICBAaW5jbHVkZSBmbHVpZC1zaXplKGZvbnQtc2l6ZSwgJHAtMzQwLCAkZC0xMjgwLCAyOHB4LCA1MHB4KTtcbiAgICB9XG5cbiAgICAmLS0yIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMzhweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBAaW5jbHVkZSBmbHVpZC1zaXplKGZvbnQtc2l6ZSwgJHAtMzQwLCAkZC0xMjgwLCAyMnB4LCAzOHB4KTtcbiAgICB9XG59IiwiLnNlY3Rpb24ge1xuICAgICZfX2hlYWRlciB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oMjJweCk7XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICR0LTcyMCkge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSgxOHB4KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5hcnQtYmxvY2sge1xuICAgIHBhZGRpbmc6IHJlbSg4MHB4KSAwIHJlbSgxMDBweCk7XG5cbiAgICBAbWVkaWEobWF4LXdpZHRoOiAkdC03MjApIHtcbiAgICAgICAgcGFkZGluZzogcmVtKDQ1cHgpIDA7XG4gICAgfVxuXG4gICAgJiBzdmcge1xuICAgICAgICBtYXJnaW46IDAgcmVtKDIwcHgpIDAgMDtcblxuICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiAkcC00ODApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIHJlbSg2cHgpIDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWF4LXdpZHRoOiByZW0oMzYwcHgpO1xuXG4gICAgICAgIEBtZWRpYShtYXgtd2lkdGg6ICRkLTEyMjApIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogcmVtKDMyMHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtYXgtd2lkdGg6ICR0LTcyMCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiByZW0oMjQwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1heC13aWR0aDogJHAtNDgwKSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiAkcC0zNDApIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgfVxufSIsIi5jb250YWN0LXNlY3Rpb24ge1xuICAgICZfX2l0ZW0ge1xuICAgICAgICBtYXgtd2lkdGg6IHJlbSgzNzBweCk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiByZW0oMjRweCkgcmVtKDMzcHgpIHJlbSgzMHB4KTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBib3JkZXItcmFkaXVzOiByZW0oM3B4KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZXktMDAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRwLTQ4MCkge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtKDE1cHgpO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiByZW0oMzAwcHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYm94IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG59XG4iLCJAbWl4aW4gaWNvbigkd2lkdGgsICRoZWlnaHQpIHtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIGhlaWdodDogJGhlaWdodDtcbn1cblxuLmljb24ge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgJi0xMDB4MTAwIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbihyZW0oMTAwcHgpLCByZW0oMTAwcHgpKTtcbiAgICB9XG5cbiAgICAmLTg4IHtcbiAgICAgICAgd2lkdGg6IDg4cHg7XG4gICAgfVxuXG4gICAgJi04MHg4MCB7XG4gICAgICAgIEBpbmNsdWRlIGljb24ocmVtKDgwcHgpLCByZW0oODBweCkpO1xuICAgIH1cblxuICAgICYtNzB4NzAge1xuICAgICAgICBAaW5jbHVkZSBpY29uKHJlbSg3MHB4KSwgcmVtKDcwcHgpKTtcbiAgICB9XG5cbiAgICAmLTg4eDg4IHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbihyZW0oODhweCksIHJlbSg4OHB4KSk7XG5cbiAgICAgICAgQG1lZGlhKG1heC13aWR0aDogJHQtNzIwKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBpY29uKHJlbSg3MHB4KSwgcmVtKDcwcHgpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtMjN4MjMge1xuICAgICAgICBAaW5jbHVkZSBpY29uKHJlbSgyM3B4KSwgcmVtKDIzcHgpKTtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDo3MjBweCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgaWNvbihyZW0oMThweCksIHJlbSgxOHB4KSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLTIyeDE3IHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbihyZW0oMjJweCksIHJlbSgxN3B4KSk7XG4gICAgfVxufSIsIi5tYWluLWZvb3RlciB7XG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgzMHB4KSAwIHJlbSgyMnB4KTtcbiAgICB9XG5cbiAgICAmX19ibG9jayB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19ib3R0b20ge1xuICAgICAgICBwYWRkaW5nOiByZW0oMTBweCkgMCByZW0oOHB4KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnktMDAxO1xuICAgIH1cbn1cblxuLnNvY2lhbC1pY29uIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGhlaWdodDogcmVtKDQycHgpO1xuICAgIHdpZHRoOiByZW0oNDJweCk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAkZWFzZTtcbiAgICBmaWxsOiAkY29sb3Itc2Vjb25kYXJ5LTAwMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmIHN2ZyB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkZWFzZSwgZmlsbCAkZWFzZTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBoZWlnaHQ6IHJlbSg0MnB4KTtcbiAgICAgICAgd2lkdGg6IHJlbSg0MnB4KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSBlYXNlIDAuM3M7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEpO1xuICAgIH1cblxuICAgIC5ub24tdG91Y2ggJjpob3ZlciB7XG4gICAgICAgICYgc3ZnIHtcbiAgICAgICAgICAgIGZpbGw6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuZm9udCB7XG4gICAgJi14eGwge1xuICAgICAgICBmb250LXNpemU6IHJlbSgyNHB4KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJHQtNzIwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgyMnB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYteGwge1xuICAgICAgICBmb250LXNpemU6IHJlbSgyMXB4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJHQtNzIwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxOHB4KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1sIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMThweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgfVxuXG4gICAgJi1tIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTZweCk7XG4gICAgfVxuXG4gICAgJi1zIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTVweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgfVxuXG4gICAgJi14eHMge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxM3B4KTtcbiAgICB9XG59XG5cbi5saW1pdGVkIHtcbiAgICAmLWwge1xuICAgICAgICBtYXgtd2lkdGg6IHJlbSg4OTBweCk7XG4gICAgfVxufSIsIi5wYiB7XG4gICAgJi14eHhzIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSg4cHgpO1xuICAgIH1cblxuICAgICYteHhzIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSgxMnB4KTtcbiAgICB9XG5cbiAgICAmLXhzIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSgyMHB4KTtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJHQtNzIwKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDEycHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1zIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSgzMHB4KTtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJHQtNzIwKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDIwcHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1tIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSgzNXB4KTtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJHQtNzIwKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDIwcHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1sIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSg0MHB4KTtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJHQtNzIwKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDIwcHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi14bCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oNDVweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgZmx1aWQtc2l6ZShwYWRkaW5nLWJvdHRvbSwgJHAtMzQwLCAkZC0xMjgwLCAzMHB4LCA0NXB4KTtcbiAgICB9XG5cbiAgICAmLXh4bCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oNTBweCk7XG4gICAgICAgIEBpbmNsdWRlIGZsdWlkLXNpemUocGFkZGluZy1ib3R0b20sICRwLTM0MCwgJGQtMTI4MCwgMzVweCwgNTBweCk7XG4gICAgfVxuXG4gICAgJi14eHhsIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSg2MHB4KTtcbiAgICAgICAgQGluY2x1ZGUgZmx1aWQtc2l6ZShwYWRkaW5nLWJvdHRvbSwgJHAtMzQwLCAkZC0xMjgwLCA0NXB4LCA2MHB4KTtcbiAgICB9XG5cbiAgICAmLXh4eHhsIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSg4MHB4KTtcblxuICAgICAgICBAaW5jbHVkZSBmbHVpZC1zaXplKHBhZGRpbmctYm90dG9tLCAkcC0zNDAsICRkLTEyODAsIDY1cHgsIDgwcHgpO1xuICAgIH1cblxuICAgICYteHh4eHhsIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSgxMDBweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgZmx1aWQtc2l6ZShwYWRkaW5nLWJvdHRvbSwgJHAtMzQwLCAkZC0xMjgwLCA3MHB4LCAxMDBweCk7XG4gICAgfVxuXG4gICAgJi14eHh4eHhsIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSgxNTBweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgZmx1aWQtc2l6ZShwYWRkaW5nLWJvdHRvbSwgJHAtMzQwLCAkZC0xMjgwLCA3MHB4LCAxNjBweCk7XG4gICAgfVxufVxuXG4ucCB7XG4gICAgJi01IHtcbiAgICAgICAgcGFkZGluZzogNXB4O1xuICAgIH1cbn1cblxuLm1iIHtcbiAgICAmLXhzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDIwcHgpO1xuICAgIH1cblxuICAgICYtbSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg1MHB4KTtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJGQtMTIyMCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDIwcHgpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubWwge1xuICAgICYteHMge1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtKDEwcHgpO1xuICAgIH1cbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSGVscGVyIGNsYXNzZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24tbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24tcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG59XG5cbi5ub3dyYXAge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbn1cblxuLm5vLW1hcmdpbiB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tY2VudGVyIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4udmlzdWFsbHloaWRkZW4ge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIC13ZWJraXQtY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICAgIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi52aXN1YWxseWhpZGRlbi5mb2N1c2FibGU6YWN0aXZlLFxuLnZpc3VhbGx5aGlkZGVuLmZvY3VzYWJsZTpmb2N1cyB7XG4gICAgY2xpcDogYXV0bztcbiAgICAtd2Via2l0LWNsaXAtcGF0aDogbm9uZTtcbiAgICBjbGlwLXBhdGg6IG5vbmU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHdoaXRlLXNwYWNlOiBpbmhlcml0O1xufVxuXG4uaW52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5jbGVhcmZpeDpiZWZvcmUsXG4uY2xlYXJmaXg6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4uY2xlYXJmaXg6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xufVxuXG4uY2xlYXJmaXgge1xuICAgICp6b29tOiAxO1xufVxuXG4uZnVsbC13aWR0aCB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5yZWxhdGl2ZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ub3ZlcmZsb3ctd3JhcHBlciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmlubGluZS1ibG9jayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uYm9sZCB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnNlcGFyYXRlZC1pdGVtcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBmb250LXNpemU6IDE0cHg7XG5cbiAgICAmIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmxhY2s7XG4gICAgICAgICAgICB3aWR0aDogcmVtKDNweCk7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbSgzcHgpO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW46IDAgLThweDtcblxuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICR0LTcyMCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAtNHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJHAtMzQwKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJiBhIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSg4cHgpO1xuICAgICAgICAgICAgbWFyZ2luOiByZW0oN3B4KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkdC03MjApIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA0cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiA0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAmIGE6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ob3ZlciB7XG4gICAgJi1jb2xvci1vbmUge1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkZWFzZSwgZmlsbCAkZWFzZTtcblxuICAgICAgICAubm9uLXRvdWNoICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1hY2NlbnQtMDAxO1xuICAgICAgICAgICAgZmlsbDogJGNvbG9yLWFjY2VudC0wMDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWJvcmRlci1ib3R0b20ge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlciAkZWFzZSwgY29sb3IgJGVhc2U7XG5cbiAgICAgICAgLm5vbi10b3VjaCAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3Itd2hpdGU7XG4gICAgICAgIH1cblxuICAgICAgICAmLS10d28ge1xuICAgICAgICAgICAgLm5vbi10b3VjaCAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWJsYWNrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uaWZyYW1lLWJveCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gICAgaGVpZ2h0OiAwO1xuXG4gICAgJiBpZnJhbWUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG59XG5cbi5hY2NlbnQge1xuICAgIHBhZGRpbmc6IDAgcmVtKDVweCkgcmVtKDM1cHgpO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICR0LTcyMCkge1xuICAgICAgICBwYWRkaW5nOiAwIHJlbSg1cHgpIHJlbSgyNXB4KTtcbiAgICB9XG59XG5cbi8vQ29sb3JzXG4uY29sb3ItMSB7XG4gICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbn1cblxuLmNvbG9yLTIge1xuICAgIGNvbG9yOiAkY29sb3Itc2Vjb25kYXJ5LTAwMDtcbn1cblxuLmJhY2tncm91bmQtb25lIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc2Vjb25kYXJ5LTAwMDtcbn1cblxuLy8gYmFja2dyb3VuZCB7XG4uYmctaW1nIHtcbiAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyIC8gY292ZXI7XG59IiwiLyogdXBncmFkZSBicm93c2VyICovXG4udXBncmFkZS1icm93c2VyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTAwMDA7XG4gICAgcGFkZGluZzogMTBweCA2MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlNDkwO1xuXG4gICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luOiAwIDVweCAwIDA7XG4gICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvYnJvd3Nlci1zcHJpdGUuanBnJykgbm8tcmVwZWF0IC0xMDAwcHggMDtcblxuICAgICAgICAmLmNocm9tZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5pZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTBweCAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLmZpcmVmb3gge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMHB4IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLm9wZXJhIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNTBweCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zYWZhcmkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwMHB4IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogJGJhc2U7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgIH1cblxuICAgICZfX3dhcm5pbmcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvYnJvd3Nlci1zcHJpdGUuanBnJykgbm8tcmVwZWF0IC0yNTBweCAwO1xuICAgIH1cbn1cblxuLyogZW5kIG9mIHVwZ3JhZGUgYnJvd3NlciAqLyIsIi8qIFByaW50IHN0eWxlcyAqL1xuQG1lZGlhIHByaW50IHtcbiAgICB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcbiAgICB9XG4gICAgdHIsXG4gICAgaW1nIHtcbiAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICAgIG9ycGhhbnM6IDM7XG4gICAgICAgIHdpZG93czogMztcbiAgICB9XG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcbiAgICB9XG4gICAgYVtocmVmXTplbXB0eTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogYXR0cihocmVmKTtcbiAgICB9XG59Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQ0FBLDRFQUE0RTtBQUU1RTtnRkFDZ0Y7QUFFaEY7OztHQUdHO0FBRUYsQUFBQSxJQUFJLENBQUM7RUFDSixXQUFXLEVBQUUsSUFBSTtFQUFFLE9BQU87RUFDMUIsd0JBQXdCLEVBQUUsSUFBSTtFQUFFLE9BQU8sRUFDeEM7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOztHQUVHO0FBRUgsQUFBQSxJQUFJLENBQUM7RUFDSCxNQUFNLEVBQUUsQ0FBQyxHQUNWOztBQUVEOztHQUVHO0FBRUgsQUFBQSxJQUFJLENBQUM7RUFDSCxPQUFPLEVBQUUsS0FBSyxHQUNmOztBQUVEOzs7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 */
