:root {
  --white: #fff;
  --black: #000;
  --dark: #000618;
  --dark-100: #000C31;
  --dark-200: #101F51;
  --dark-300: #142350;
  --dark-400: #030e31;
  --dark-blue: #08288C;
  --dark-blue2: #12255C;
  --dark-blue3: #0D1D50;
  --dark-blue4: #010820;
  --dark-blue5: #879DE2;
  --dark-blue6: #A7ADBE;
  --light-blue: #B8C8FF;
  --light-blue-100: #B8CAFF;
  --light-blue-200: #97A5CE;
  --periwinkle-blue: #B8C5EC;
  --green: #6ACC50;
  --Text-color: #3F3F3F;
  --Blue: #08288B;
  --Orange: #F16B37;
  --text-color-20: #6D7792;
  --Dark-blue: #012585;
}

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

html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
}

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

* {
  max-height: 1000000px;
}

main,
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

ul,
ol,
dl,
p,
h1,
h2,
h3,
h4,
h5,
h6,
address,
form,
table,
blockquote,
applet,
embed,
object,
iframe,
frameset {
  margin: 0 0 18px;
}

blockquote {
  border-left: 4px solid #ddd;
  padding-left: 10px;
  margin-left: 0;
}

table {
  border-collapse: collapse;
}

th,
td {
  border: 1px solid #ddd;
  padding: 3px;
  text-align: left;
  vertical-align: top;
}

th {
  text-align: center;
  vertical-align: middle;
}

ul,
ol {
  padding-left: 20px;
}

ul ul,
ul ol,
ol ul,
ol ol {
  padding-left: 20px;
  margin: 0;
}

ul {
  list-style-type: disc;
}

dl dt {
  float: left;
  clear: left;
  padding-right: 0.3em;
  font-weight: bold;
}
dl dd {
  overflow: hidden;
}

pre {
  max-width: 100%;
  overflow: auto;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
  display: inline-block;
}

.gm-style img {
  max-width: none;
}

iframe {
  max-width: 100%;
  margin: 0;
}

.resize-active * {
  transition: none !important;
}

.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

.ellipsis {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.df-row {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -18px;
}
.df-row [class*=col-] {
  padding: 0 18px;
}

.grid {
  display: grid;
  grid-gap: 0 15px;
}

body {
  color: var(--white);
  background: var(--dark);
  font: 14px/1.57 "Ubuntu", "Helvetica Neue", "Helvetica", sans-serif;
  min-width: 320px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0;
}
@media (min-width: 768px) {
  body {
    font-size: 16px;
    line-height: 1.57;
  }
}
@media (min-width: 1024px) {
  body:before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(3px);
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.27s ease-in-out, visibility 0.27s ease-in-out;
  }
}
@media (min-width: 1024px) {
  body:has(.primary-menu > li.accessibility-hover):before {
    opacity: 1;
    visibility: visible;
  }
}
@media (max-width: 1023px) {
  body.header-collapse-active {
    height: 100vh;
    overflow: clip;
  }
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6, .h {
  font-family: "Gilroy", sans-serif;
  color: inherit;
  font-weight: 600;
  margin: 0 0 10px;
}
@media (min-width: 768px) {
  h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6, .h {
    margin-bottom: 20px;
  }
}
h1 mark, .h1 mark, h2 mark, .h2 mark, h3 mark, .h3 mark, h4 mark, .h4 mark, h5 mark, .h5 mark, h6 mark, .h6 mark, .h mark {
  font-family: "Playfair Display", serif, sans-serif;
  font-style: italic;
  font-weight: 400;
  background-color: transparent;
  color: inherit;
}

h1, .h1 {
  font-size: 32px;
  margin-bottom: 0.96em;
  line-height: 1.25;
}
@media (min-width: 1024px) {
  h1, .h1 {
    font-size: 54px;
    letter-spacing: -0.03em;
    margin-bottom: 0.6em;
  }
}

h2, .h2 {
  font-size: 24px;
  line-height: 1.25;
}
@media (min-width: 1024px) {
  h2, .h2 {
    font-size: 36px;
  }
}

h4, .h4 {
  font-size: 17px;
  line-height: 1.5;
  font-weight: 600;
  margin: 0 0 0.22em;
}
@media (min-width: 1024px) {
  h4, .h4 {
    font-size: 25px;
    margin: 0 0 0.1em;
  }
}

p {
  margin: 0 0 1em;
}

a {
  color: #007bff;
  text-decoration: none;
}
a:hover, a:focus {
  color: #000;
  text-decoration: none;
}

a[href*="mailto:"] {
  word-wrap: break-word;
}

b, strong {
  font-weight: 700;
}

form,
fieldset {
  margin: 0;
  padding: 0;
  border-style: none;
}

input[type=text],
input[type=tel],
input[type=email],
input[type=search],
input[type=password],
input[type=url],
textarea {
  -webkit-appearance: none;
  -webkit-border-radius: 0;
  padding: 10px 20px;
  font-size: 14px;
  line-height: 16px;
  font-family: "Ubuntu", "Helvetica Neue", "Helvetica", sans-serif;
  box-sizing: border-box;
  border: 1px solid #000;
  border-radius: 0;
}
input[type=text]:not(textarea),
input[type=tel]:not(textarea),
input[type=email]:not(textarea),
input[type=search]:not(textarea),
input[type=password]:not(textarea),
input[type=url]:not(textarea),
textarea:not(textarea) {
  height: 38px;
}
input[type=text]:focus,
input[type=tel]:focus,
input[type=email]:focus,
input[type=search]:focus,
input[type=password]:focus,
input[type=url]:focus,
textarea:focus {
  outline: none;
  border-color: #000;
}
input[type=text]::-webkit-input-placeholder,
input[type=tel]::-webkit-input-placeholder,
input[type=email]::-webkit-input-placeholder,
input[type=search]::-webkit-input-placeholder,
input[type=password]::-webkit-input-placeholder,
input[type=url]::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #ddd;
}
input[type=text]::-moz-placeholder,
input[type=tel]::-moz-placeholder,
input[type=email]::-moz-placeholder,
input[type=search]::-moz-placeholder,
input[type=password]::-moz-placeholder,
input[type=url]::-moz-placeholder,
textarea::-moz-placeholder {
  opacity: 1;
  color: #ddd;
}
input[type=text]:-moz-placeholder,
input[type=tel]:-moz-placeholder,
input[type=email]:-moz-placeholder,
input[type=search]:-moz-placeholder,
input[type=password]:-moz-placeholder,
input[type=url]:-moz-placeholder,
textarea:-moz-placeholder {
  color: #ddd;
}
input[type=text]:-ms-input-placeholder,
input[type=tel]:-ms-input-placeholder,
input[type=email]:-ms-input-placeholder,
input[type=search]:-ms-input-placeholder,
input[type=password]:-ms-input-placeholder,
input[type=url]:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #ddd;
}
input[type=text].placeholder,
input[type=tel].placeholder,
input[type=email].placeholder,
input[type=search].placeholder,
input[type=password].placeholder,
input[type=url].placeholder,
textarea.placeholder {
  color: #ddd;
}

input[type=search]::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

textarea {
  resize: vertical;
  vertical-align: top;
  overflow: auto;
}

button,
input[type=button],
input[type=reset],
input[type=file],
input[type=submit] {
  transition: background 0.5s ease-in-out;
  -webkit-appearance: none;
  -webkit-border-radius: 0;
  height: 38px;
  padding: 10px 20px;
  font-size: 14px;
  line-height: 17px;
  color: #fff;
  background: #000;
  border-width: 1px;
  border-style: solid;
  border-color: #000;
  border-radius: 5px;
  cursor: pointer;
  transition: all 0.5s;
}

noscript {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  margin: 0;
  font-size: 14px;
  color: #f8f9fa;
  background: #007bff;
  display: block;
  padding: 5px 0;
  text-align: center;
  z-index: 99999;
}

.accessibility {
  position: absolute;
  left: -200vw;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.accessibility:focus {
  position: static;
  width: auto;
  height: auto;
}

.visually-hidden {
  position: absolute;
  left: -9999px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

#header {
  width: 100%;
  background: transparent !important;
  position: sticky !important;
  top: 0;
  left: 0;
  z-index: 1050;
}
#header:before {
  width: 100%;
  height: 278px;
  content: "";
  border-radius: 394.277px;
  background: radial-gradient(50% 50% at 50% 50%, #08288C 36.54%, rgba(8, 40, 140, 0) 100%);
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  pointer-events: none;
  opacity: 0.9;
}
@media (min-width: 1024px) {
  #header:before {
    max-width: 1852px;
    height: 930px;
    transform: translate(-50%, -70%);
  }
}

.section-header-bar {
  background-color: var(--dark);
  position: relative;
  z-index: 1;
  padding: 7px 0;
}
@media (min-width: 1024px) {
  .section-header-bar {
    padding: 11px 0;
  }
}
@media (min-width: 1024px) {
  .section-header-bar .inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
  }
}
.section-header-bar .inner > nav {
  display: none;
}
@media (min-width: 1024px) {
  .section-header-bar .inner > nav {
    display: block;
  }
}

.header-bar-review {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  line-height: 1;
  font-weight: 300;
  color: var(--white);
}
@media (min-width: 1024px) {
  .header-bar-review {
    justify-content: flex-start;
  }
}
.header-bar-review:hover, .header-bar-review:focus {
  color: var(--white);
}
.header-bar-review:hover .text, .header-bar-review:focus .text {
  text-decoration-color: transparent;
}
.header-bar-review .score {
  font-size: 14px;
  font-weight: 700;
  color: var(--white);
}
.header-bar-review .stars {
  display: flex;
  margin: 0 0 0 5px;
}
.header-bar-review .text {
  color: var(--white);
  text-decoration: underline;
  margin: 0 0 0 11px;
  transition: text-decoration-color 0.27s ease-in-out;
}

.header-bar-nav {
  padding: 0;
  list-style-type: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-size: 13px;
  line-height: 1;
  margin: 0 -18px;
  overflow: hidden;
}
.header-bar-nav li {
  position: relative;
  padding: 0 18px;
}
.header-bar-nav li:before {
  content: "";
  width: 1px;
  height: 16px;
  position: absolute;
  top: 50%;
  right: -1px;
  transform: translate(0, -50%);
  background-color: var(--white);
}
.header-bar-nav a {
  display: flex;
  align-items: center;
  color: var(--white);
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 2px;
  transition: text-decoration-color 0.27s ease-in-out;
}
.header-bar-nav a:hover, .header-bar-nav a:focus {
  color: var(--white);
  text-decoration-color: var(--white);
}
.header-bar-nav a.email-item {
  text-decoration-color: var(--white);
}
.header-bar-nav a.email-item:hover, .header-bar-nav a.email-item:focus {
  text-decoration-color: transparent;
}
.header-bar-nav a svg {
  margin: 0 5px 0 0;
}

.site-header {
  background-color: #000925;
  padding: 11px 0 10px;
}
@media (min-width: 1024px) {
  .site-header {
    position: relative;
    padding: 33px 0 32px;
    background-color: #000619;
    transition: padding 0.2s linear;
  }
}
@media (min-width: 1024px) {
  .scrolled .site-header {
    padding: 16px 0;
  }
}
.site-header .inner {
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
@media (min-width: 1024px) {
  .site-header .inner {
    position: relative;
  }
}

.logo {
  flex-shrink: 0;
  width: 152px;
  margin: 0 auto 0 18px;
  position: relative;
  z-index: 1;
}
@media (min-width: 1024px) {
  .logo {
    width: 174px;
    margin: 0 16px 0 0;
  }
}
@media (min-width: 1280px) {
  .logo {
    margin: 0 2% 0 0;
  }
}
@media (min-width: 1440px) {
  .logo {
    margin: 0 3% 0 0;
  }
}
.logo a, .logo img {
  display: block;
}

.header-image {
  flex-shrink: 0;
  display: none;
  margin: 0;
}
@media (min-width: 1024px) {
  .header-image {
    display: block;
  }
}
.header-image img {
  display: block;
}

@media (max-width: 1023px) {
  .nav-wrap {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    height: calc(100vh - 100%);
    overflow: hidden;
    overflow-y: auto;
    background: #000618;
    padding: 52px 24px 30px;
    display: flex;
    flex-direction: column;
    opacity: 0;
    visibility: hidden;
    transition: visibility 0.3s linear, opacity 0.3s linear;
  }
}
@media (min-width: 1024px) {
  .nav-wrap {
    margin: 0 0 0 auto;
  }
}
@media (max-width: 1023px) {
  .header-collapse-active .nav-wrap {
    opacity: 1;
    visibility: visible;
  }
}
@media (max-width: 1023px) {
  .admin-bar .nav-wrap {
    height: calc(100vh - 100% - 32px);
  }
}
@media (max-width: 781px) {
  .admin-bar .nav-wrap {
    height: calc(100vh - 100% - 46px);
  }
}
@media (max-width: 1023px) {
  .scrolled .nav-wrap {
    height: calc(100vh - 100%);
  }
}
@media (max-width: 781px) {
  .scrolled .nav-wrap {
    height: calc(100vh - 100%);
  }
}

.mobile-additional {
  width: 100%;
  margin-top: auto;
  border-top: 1px solid rgba(184, 202, 255, 0.4);
  padding-top: 40px;
}
@media (min-width: 1024px) {
  .mobile-additional {
    display: none;
  }
}
.mobile-additional .header-cta {
  padding: 0;
  border: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  z-index: 0;
}
.mobile-additional .header-cta .cta.cta-orange {
  display: inline-flex;
  font-size: 13px;
  text-shadow: 1.098px 1.098px 0 rgba(0, 0, 0, 0.35);
  text-transform: uppercase;
  padding: 11px 16px;
}
.mobile-additional .header-cta .header-phone {
  width: auto;
  height: auto;
  gap: 12px;
}
.mobile-additional .header-cta .header-phone .icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background-color: var(--green);
}
.mobile-additional .header-cta .header-phone svg {
  width: 16px;
}
.mobile-additional .header-cta .header-phone svg path {
  fill: var(--white);
}
.mobile-additional .header-cta .header-phone .text {
  font-size: 12px;
  display: block;
  margin: 0 0 6px;
}
.mobile-additional .header-cta .header-phone .number {
  font-size: 15px;
  display: block;
}

.header-google-rating {
  display: flex;
  align-items: center;
  font-family: "Gilroy", sans-serif;
  font-size: 9px;
  line-height: normal;
  color: #B8CAFF;
  margin: 16px 0 0;
  gap: 13px;
}
.header-google-rating .stars {
  display: flex;
  align-items: center;
  border-radius: 5px;
  border: 1px solid #E8E9F3;
  padding: 6px 7px;
  gap: 3px;
}
.header-google-rating .text {
  display: inline-flex;
  align-items: center;
  text-wrap: balance;
}
.header-google-rating .text svg {
  margin: 0 5px 0 0;
}
.header-google-rating .text a {
  color: #F16B37;
  font-weight: 700;
  text-decoration: underline;
}

.primary-menu {
  margin: 0;
  padding: 0;
  list-style-type: none;
  gap: 16px;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.23;
}
@media (max-width: 1023px) {
  .primary-menu {
    width: 100%;
  }
}
@media (min-width: 1024px) {
  .primary-menu {
    display: flex;
    flex-wrap: wrap;
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    height: auto !important;
  }
}
@media (min-width: 1280px) {
  .primary-menu {
    gap: 16px 24px;
    font-size: 18px;
  }
}
@media (min-width: 1440px) {
  .primary-menu {
    gap: 16px 44px;
  }
}
@media (min-width: 1024px) {
  .primary-menu > li {
    position: relative;
  }
}
.primary-menu > li.has-menu-mega {
  position: static;
}
@media (min-width: 1024px) {
  .primary-menu > li.active > a:before, .primary-menu > li.accessibility-hover > a:before {
    transform: scaleX(1);
  }
}
.primary-menu > li.accessibility-hover > ul {
  opacity: 1;
  visibility: visible;
}
@media (max-width: 1023px) {
  .primary-menu > li.slide-opened > .drop {
    opacity: 1;
    visibility: visible;
    transform: translate(0, 0);
  }
}
.primary-menu > li > a {
  position: relative;
}
@media (max-width: 1023px) {
  .primary-menu > li > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 0 8px 14px;
    color: var(--light-blue-100);
  }
}
@media (min-width: 1024px) {
  .primary-menu > li > a:before {
    content: "";
    height: 1px;
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    background-color: #D7562B;
    transition: transform 0.27s ease-in-out;
    transform-origin: 0 50%;
    transform: scaleX(0);
  }
}
@media (max-width: 1023px) {
  .primary-menu > li > a:not(:only-child):after {
    content: "";
    width: 8px;
    height: 15px;
    background-image: url("data:image/svg+xml,%3Csvg width='8' height='15' viewBox='0 0 8 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m.185 12.961 5.399-5.486a.64.64 0 0 0 0-.899L.186 1.09A.644.644 0 0 1 .389.05a.62.62 0 0 1 .686.138l5.398 5.485a1.932 1.932 0 0 1 0 2.707l-5.398 5.485a.622.622 0 0 1-.89 0 .644.644 0 0 1 0-.903Z' fill='%23B8CAFF'/%3E%3C/svg%3E");
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
  }
}
@media (min-width: 1024px) {
  .primary-menu > li > a:hover:before {
    transform: scaleX(1);
  }
}
.primary-menu a {
  display: inline-block;
  color: var(--white);
}
.primary-menu ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
@media (max-width: 1023px) {
  .primary-menu ul li.slide-opened > .drop {
    opacity: 1;
    visibility: visible;
    transform: translate(0, 0);
  }
}
@media (min-width: 1024px) {
  .primary-menu .sub-menu-mega, .primary-menu .sub-menu {
    position: absolute;
    top: calc(100% + 31px);
    left: 0;
    opacity: 0;
    visibility: hidden;
  }
}
@media (min-width: 1024px) {
  .scrolled .primary-menu .sub-menu-mega, .scrolled .primary-menu .sub-menu {
    top: calc(100% + 15px);
  }
}
@media (min-width: 1024px) {
  .primary-menu .sub-menu-mega:before, .primary-menu .sub-menu:before {
    content: "";
    position: absolute;
    bottom: 100%;
    left: 0;
    right: 0;
    height: 51px;
  }
}
@media (min-width: 1024px) {
  .scrolled .primary-menu .sub-menu-mega:before, .scrolled .primary-menu .sub-menu:before {
    height: 36px;
  }
}
.primary-menu .sub-menu-mega a, .primary-menu .sub-menu a {
  transition: color 0.27s ease-in-out;
  color: var(--light-blue-100);
}
.primary-menu .sub-menu-mega a:hover, .primary-menu .sub-menu-mega a:focus, .primary-menu .sub-menu a:hover, .primary-menu .sub-menu a:focus {
  color: #F16B37;
}
@media (min-width: 1024px) {
  .primary-menu .sub-menu-mega {
    width: 845px;
    border: 1px solid transparent;
    border-radius: 0 0 10px 10px;
    background: linear-gradient(#030E31, #030E31) padding-box, linear-gradient(343deg, rgba(77, 108, 205, 0.4) 12.37%, rgba(167, 186, 245, 0.4) 26.68%, rgba(77, 108, 205, 0.4) 41.56%) border-box;
    padding: 22px 32px 40px;
  }
}
@media (min-width: 1024px) {
  .primary-menu .sub-menu-mega:after {
    content: "";
    position: absolute;
    top: 62px;
    bottom: 40px;
    right: 336px;
    width: 2px;
    background: #3E5396;
  }
}
.primary-menu .sub-menu-mega > li.accessibility-hover .sub-menu {
  opacity: 1;
  visibility: visible;
}
.primary-menu .sub-menu-mega > li.accessibility-hover > a {
  background: #F16B37;
  color: var(--white);
}
.primary-menu .sub-menu-mega > li > a {
  background: transparent;
  max-width: 100%;
  color: var(--light-blue-100);
  display: flex;
  transition: background-color 0.27s ease-in-out;
}
@media (min-width: 1024px) {
  .primary-menu .sub-menu-mega > li > a {
    width: 436px;
    border-radius: 0 27px 27px 0;
    padding: 18px 40px;
  }
}
.primary-menu .sub-menu-mega > li > a:not(:only-child) {
  justify-content: space-between;
  align-items: center;
}
.primary-menu .sub-menu-mega > li > a:not(:only-child):after {
  content: "";
  width: 8px;
  height: 15px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='15' viewBox='0 0 8 15' fill='none'%3E%3Cpath d='m.185 12.961 5.399-5.486a.64.64 0 0 0 0-.899L.186 1.09A.644.644 0 0 1 .389.05a.62.62 0 0 1 .686.138l5.398 5.485a1.932 1.932 0 0 1 0 2.707l-5.398 5.485a.622.622 0 0 1-.89 0 .644.644 0 0 1 0-.903Z' fill='%23B8CAFF'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}
@media (min-width: 1024px) {
  .primary-menu .sub-menu-mega > li > a:not(:only-child):after {
    background-image: url("data:image/svg+xml,%3Csvg width='8' height='15' viewBox='0 0 8 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m.185 12.961 5.399-5.486a.64.64 0 0 0 0-.899L.186 1.09A.644.644 0 0 1 .389.05a.62.62 0 0 1 .686.138l5.398 5.485a1.932 1.932 0 0 1 0 2.707l-5.398 5.485a.622.622 0 0 1-.89 0 .644.644 0 0 1 0-.903Z' fill='%23fff'/%3E%3C/svg%3E");
  }
}
@media (min-width: 1024px) {
  .primary-menu .sub-menu-mega .sub-menu {
    display: block;
    z-index: 2;
    top: 21px;
    left: auto;
    right: 0;
    bottom: 0;
    width: 337px;
    opacity: 0;
    visibility: hidden;
  }
}
.primary-menu .sub-menu-mega .sub-menu:before {
  content: none;
}
.primary-menu .sub-menu-mega .sub-menu .menu-mega-title {
  padding-bottom: 21px;
}
@media (min-width: 1024px) {
  .primary-menu .sub-menu-mega .sub-menu a {
    padding: 12px 40px;
  }
}
@media (min-width: 1024px) {
  .primary-menu .default-drop {
    top: calc(100% + 52px);
    border: 1px solid transparent;
    border-radius: 0 0 10px 10px;
    background: linear-gradient(#030E31, #030E31) padding-box, linear-gradient(343deg, rgba(77, 108, 205, 0.4) 12.37%, rgba(167, 186, 245, 0.4) 26.68%, rgba(77, 108, 205, 0.4) 41.56%) border-box;
    padding: 12px 32px;
  }
}
@media (min-width: 1024px) {
  .scrolled .primary-menu .default-drop {
    top: calc(100% + 37px);
  }
}
.primary-menu .default-drop a {
  display: block;
  padding: 12px 0;
}
.primary-menu .menu-mega-title {
  display: none;
}
@media (min-width: 1024px) {
  .primary-menu .menu-mega-title {
    display: block;
    font-size: 19px;
    font-weight: 500;
    line-height: 1.23;
    color: #D2D2D2;
    padding: 0 40px 16px;
  }
}
@media (max-width: 1023px) {
  .primary-menu .drop {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: translate(100%, 0);
    opacity: 0;
    visibility: hidden;
    background: var(--dark);
    z-index: 1;
    padding: 52px 24px 30px;
    transition: transform 0.3s linear, opacity 0.3s linear, visibility 0.3s linear;
  }
}
@media (min-width: 1024px) {
  .primary-menu .drop li.sub-menu-back {
    display: none;
  }
}
.primary-menu .drop li.sub-menu-back a {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--white);
  transform: translate(-8px, 0);
}
.primary-menu .drop li.sub-menu-back a:before {
  content: "";
  width: 18px;
  height: 15px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='15' viewBox='0 0 18 15' fill='none'%3E%3Cpath d='M.092 6.593c0-.121.12-.242.242-.362l5.8-5.8A1.2 1.2 0 1 1 7.82 2.124L4.077 5.868h12.076A1.141 1.141 0 0 1 17.36 7.08a1.14 1.14 0 0 1-1.208 1.2H4.077l3.744 3.747a1.168 1.168 0 0 1 0 1.69 1.166 1.166 0 0 1-1.691 0l-5.8-5.8c-.121-.12-.121-.241-.242-.361a1.333 1.333 0 0 1 .004-.963Z' fill='%23fff'/%3E%3C/svg%3E");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media (max-width: 1023px) {
  .primary-menu .drop li a {
    font-weight: 500;
    padding: 8px 0 8px 14px;
  }
}

.header-cta {
  border-left: 1px solid #34467B;
  border-right: 1px solid #34467B;
  padding: 5px 7px;
  position: relative;
  z-index: 1;
}
@media (min-width: 1024px) {
  .header-cta {
    border: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
    padding: 0 0 0 16px;
  }
}
@media (min-width: 1280px) {
  .header-cta {
    gap: 24px;
    padding: 0 0 0 3.2%;
  }
}
@media (min-width: 1440px) {
  .header-cta {
    gap: 44px;
  }
}
.header-cta .cta.cta-orange {
  display: none;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0;
  text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.35);
  padding: 13px 14px;
}
@media (min-width: 1024px) {
  .header-cta .cta.cta-orange {
    display: inline-flex;
  }
}
@media (min-width: 1280px) {
  .header-cta .cta.cta-orange {
    font-size: 18px;
  }
}

.header-phone {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
}
@media (min-width: 1024px) {
  .header-phone {
    width: auto;
    height: auto;
    gap: 0 23px;
  }
}
.header-phone:hover .icon svg, .header-phone:focus .icon svg {
  transform: scale(1.05);
}
.header-phone:hover .number, .header-phone:focus .number {
  text-decoration-color: var(--white);
}
.header-phone .icon {
  margin: 0;
}
@media (min-width: 1024px) {
  .header-phone .icon {
    display: none;
  }
}
@media (min-width: 1280px) {
  .header-phone .icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background-color: var(--green);
  }
}
.header-phone .icon svg {
  width: 22px;
  height: auto;
  display: block;
  transform: scale(1);
  transition: transform 0.27s ease-in-out;
}
.header-phone .icon svg path {
  fill: var(--white);
}
@media (min-width: 1024px) {
  .header-phone .icon svg path {
    fill: #010A25;
  }
}
.header-phone .text {
  display: none;
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
  color: var(--green);
  margin: 0 0 2px;
}
@media (min-width: 1024px) {
  .header-phone .text {
    display: block;
  }
}
.header-phone .number {
  display: none;
  font-size: 18px;
  font-weight: 500;
  line-height: 1;
  color: var(--white);
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 2px;
  transition: text-decoration-color 0.27s ease-in-out;
}
@media (min-width: 1024px) {
  .header-phone .number {
    display: block;
  }
}

.burger-wrap {
  padding: 0 14px 0 25px;
  position: relative;
  z-index: 1;
}
@media (min-width: 1024px) {
  .burger-wrap {
    display: none;
  }
}

.burger-opener {
  transition: transform 0.5s ease-in-out;
  display: block;
  position: relative;
  width: 35px;
  height: 35px;
  font-size: 14px;
  line-height: 1;
  font-weight: 500;
  color: var(--white);
  padding: 0;
  border-radius: 0;
  background-color: transparent;
  border: none;
}
.burger-opener:before, .burger-opener:after {
  transition: height 0.5s ease-in-out, transform 0.5s ease-in-out, opacity 0.5s ease-in-out;
  content: "";
  background: var(--white);
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 1px;
  border-radius: 8.95px;
  transform: translateY(-50%);
}
.burger-opener:before {
  transform: translateY(-11px);
}
.burger-opener:after {
  transform: translateY(8px);
}
.burger-opener[aria-expanded=true] {
  transform: translate(0, -8px);
}
.burger-opener[aria-expanded=true]:before, .burger-opener[aria-expanded=true]:after {
  height: 2px;
  left: 2px;
  right: 2px;
}
.burger-opener[aria-expanded=true]:before {
  transform: rotate(45deg) translateY(0);
}
.burger-opener[aria-expanded=true]:after {
  transform: rotate(-45deg) translateY(0);
}
.burger-opener[aria-expanded=true] .close {
  opacity: 0;
  visibility: hidden;
}
.burger-opener[aria-expanded=true] .open {
  opacity: 1;
  visibility: visible;
}
.burger-opener .close {
  transition: visibility 0.5s ease-in-out, opacity 0.5s ease-in-out;
  position: absolute;
  top: 47%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 1;
  visibility: visible;
}
.burger-opener .open {
  transition: visibility 0.5s ease-in-out, opacity 0.5s ease-in-out;
  font-size: 10px;
  line-height: 1;
  font-weight: 500;
  opacity: 0;
  visibility: hidden;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 131%);
}

[id=wrapper] {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 100vh;
  overflow-x: clip;
}

[id=main] {
  flex-grow: 1;
}

.container {
  width: 100%;
  max-width: 1350px;
  padding: 0 18px;
  margin: 0 auto;
}

.burger-holder {
  position: relative;
}
.burger-holder .burger-drop {
  position: absolute;
  top: 100%;
  left: 0;
  width: 300px;
  background: #fff;
  border: 1px solid #000;
  padding: 20px;
  visibility: hidden;
}
.burger-holder .burger-drop button {
  transition: none;
}
.burger-holder.burger-active .burger-drop {
  visibility: visible;
}

.cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  color: var(--white);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.18269;
  padding: 7px 7px 7px 13px;
  border-radius: 98px;
  transition: color 0.27s ease-in-out, background-position 0.27s ease-in-out, background-color 0.27s ease-in-out, border-color 0.27s ease-in-out;
}
@media (min-width: 1024px) {
  .cta {
    letter-spacing: 0.06em;
    padding: 7px 7px 7px 22px;
  }
}
.cta:hover, .cta:focus, .cta:visited {
  color: var(--white);
}
.cta:hover span[aria-hidden=true] svg, .cta:focus span[aria-hidden=true] svg, .cta:visited span[aria-hidden=true] svg {
  transform: scale(1.25);
}
.cta.cta-orange {
  background-image: linear-gradient(88deg, #FF8555 0%, #D04813 50%, #D04813 50%, #FF8555 100%);
  background-size: 200% auto;
  background-position: 0 0;
  padding: 8px 7px 8px 13px;
}
@media (min-width: 1024px) {
  .cta.cta-orange {
    padding: 8px 7px 8px 22px;
  }
}
.cta.cta-orange:hover, .cta.cta-orange:focus {
  background-position: -100% 0;
}
@media (max-width: 1023px) {
  .cta.cta-orange.cta-small {
    padding: 7px 4px 6px 12px;
    min-width: 50%;
  }
}
.cta.cta-white {
  border: 1px solid var(--white);
}
.cta.cta-white:hover, .cta.cta-white:focus {
  background: rgba(0, 12, 50, 0.6);
}
.cta.cta-light-blue {
  color: var(--light-blue-100);
  border: 1px solid var(--light-blue-100);
}
.cta.cta-light-blue span[aria-hidden=true] {
  background-color: var(--light-blue-100);
}
@media (max-width: 1023px) {
  .cta.cta-small {
    font-size: 15px;
    padding: 7px 4px 6px 12px;
    gap: 16px;
  }
}
@media (min-width: 1024px) {
  .cta.cta-desktop-small {
    font-size: 15px;
    padding: 8px 7px 7px 24px;
    letter-spacing: 0.026em;
    gap: 15px;
  }
}
@media (min-width: 1024px) {
  .cta.cta-desktop-small span[aria-hidden=true] {
    width: 25px;
    height: 25px;
  }
}
@media (min-width: 1024px) {
  .cta.cta-desktop-small span[aria-hidden=true] svg {
    width: 10px;
  }
}
.cta.cta-orange-outline {
  gap: 3px;
  font-family: "Gilroy", sans-serif;
  font-size: 13px;
  line-height: 1;
  letter-spacing: 0.02em;
  font-weight: 500;
  border: 1px solid transparent;
  border-radius: 4px;
  background: linear-gradient(#101F51, #101F51) padding-box, linear-gradient(88deg, #FF8555 0%, #D04813 101.02%) border-box;
  padding: 5px 12px 7px;
}
.cta.cta-orange-outline .text {
  background: linear-gradient(88deg, #FF8555 0%, #D04813 101.02%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.cta span[aria-hidden=true] {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 23px;
  height: 23px;
  border-radius: 50%;
  background-color: var(--white);
}
@media (min-width: 1024px) {
  .cta span[aria-hidden=true] {
    width: 33px;
    height: 33px;
  }
}
.cta span[aria-hidden=true] svg {
  transform: scale(1);
  transition: transform 0.27s ease-in-out;
}
@media (min-width: 1024px) {
  .cta span[aria-hidden=true] svg {
    width: 12px;
    height: auto;
  }
}

.cta-wrap {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
}
@media (min-width: 1024px) {
  .cta-wrap {
    gap: 15px;
  }
}
.cta-wrap.align-center {
  justify-content: center;
}
.cta-wrap.align-right {
  justify-content: flex-end;
}

.label-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  font-family: "Playfair Display", sans-serif;
  font-size: 14px;
  line-height: 1.3;
  font-style: italic;
  border-radius: 32px;
  border: 0.5px solid var(--white);
  padding: 9px 21px;
  margin: 0 0 27px;
}

.simple-labels {
  padding: 0;
  list-style-type: none;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  color: #FFF;
  font-family: "Gilroy", sans-serif;
  font-size: 15px;
  line-height: normal;
  font-weight: 600;
  margin: 0 0 4px;
}
@media (min-width: 1024px) {
  .simple-labels {
    font-size: 17px;
    justify-content: center;
  }
}
.simple-labels li {
  padding: 4px 14px;
  border-radius: 30px;
  background: rgba(0, 0, 0, 0.7);
}

.line-box {
  width: 100%;
}
.line-box .mask {
  overflow: hidden;
}
.line-box .line {
  margin: 0;
  padding: 0;
  list-style-type: none;
  width: 99999px;
  float: left;
  display: flex;
  align-items: center;
  gap: 44px;
}
@media (min-width: 1280px) {
  .line-box .line {
    gap: 80px;
  }
}
.line-box .line > * {
  flex: 0 0 auto;
}
.line-box figure {
  margin: 0;
}
@media (max-width: 1023px) {
  .line-box figure img {
    width: auto;
    max-height: 22px;
    max-width: 94px;
    object-fit: contain;
  }
}

.section-intro {
  overflow: hidden;
  background: linear-gradient(270deg, rgba(0, 6, 24, 0) 3.46%, rgba(0, 6, 24, 0.7) 26.14%, rgba(0, 6, 24, 0.7) 72.84%, rgba(0, 6, 24, 0) 95.96%);
  position: relative;
}
.section-intro .inner {
  min-height: 536px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 40px 0 18px;
}
@media (min-width: 1024px) {
  .section-intro .inner {
    padding: 68px 0 20px;
  }
}
@media (min-width: 1024px) {
  .section-intro .inner .cta {
    font-size: 16px;
    letter-spacing: 0.025em;
  }
}
.section-intro .bg-media {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  margin: 0;
  z-index: -1;
}
.section-intro .bg-media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.optimize-items {
  margin: 0 -18px;
  padding: 17px 18px 38px;
  position: relative;
  z-index: 1;
}
@media (min-width: 1024px) {
  .optimize-items {
    padding: 17px 0 18px;
  }
}
.optimize-items:before, .optimize-items:after {
  content: "";
  position: absolute;
  pointer-events: none;
  background-repeat: no-repeat;
}
.optimize-items:before {
  width: 515px;
  height: 405px;
  background-image: url("data:image/svg+xml,%3Csvg width='515' height='405' viewBox='0 0 515 405' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cellipse cx='257.26' cy='202.5' rx='257.26' ry='202.5' fill='url(%23a)'/%3E%3Cdefs%3E%3CradialGradient id='a' cx='0' cy='0' r='1' gradientUnits='userSpaceOnUse' gradientTransform='matrix(0 202.5 -257.26 0 257.26 202.5)'%3E%3Cstop offset='.365' stop-color='%2308288C'/%3E%3Cstop offset='1' stop-color='%2308288C' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3C/svg%3E");
  background-size: contain;
  background-position: top center;
  top: -18px;
  left: 50%;
  transform: translate(-50%, 0);
  z-index: -1;
}
@media (min-width: 1024px) {
  .optimize-items:before {
    top: 0;
    width: 1020px;
    height: 287px;
    background-image: url("data:image/svg+xml,%3Csvg width='1020' height='287' viewBox='0 0 1020 287' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cellipse cx='509.74' cy='143.5' rx='509.74' ry='143.5' fill='url(%23a)'/%3E%3Cdefs%3E%3CradialGradient id='a' cx='0' cy='0' r='1' gradientUnits='userSpaceOnUse' gradientTransform='matrix(0 143.5 -509.74 0 509.74 143.5)'%3E%3Cstop offset='.418' stop-color='%2308288C'/%3E%3Cstop offset='1' stop-color='%2308288C' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3C/svg%3E");
  }
}
.optimize-items:after {
  height: 1px;
  width: 100%;
  background-image: url("data:image/svg+xml,%3Csvg width='394' height='1' viewBox='0 0 394 1' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cmask id='b' fill='%23fff'%3E%3Cpath d='M0 0h394v1H0V0Z'/%3E%3C/mask%3E%3Cpath d='M0 0h394v1H0V0Z' fill='%23000618'/%3E%3Cpath d='M0 0v1h394v-2H0v1Z' fill='url(%23a)' mask='url(%23b)'/%3E%3Cdefs%3E%3ClinearGradient id='a' x1='6.652' y1='0' x2='364.393' y2='0' gradientUnits='userSpaceOnUse'%3E%3Cstop offset='.072' stop-color='%2308288C'/%3E%3Cstop offset='.606' stop-color='%23A7BAF5'/%3E%3Cstop offset='.981' stop-color='%2308288C'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E");
  background-size: 100%;
  background-position: center;
  bottom: 0;
  left: 0;
}
@media (min-width: 1024px) {
  .optimize-items:after {
    width: 968px;
    left: 50%;
    transform: translate(-50%, 0);
    background-image: url("data:image/svg+xml,%3Csvg width='969' height='1' viewBox='0 0 969 1' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cmask id='b' fill='%23fff'%3E%3Cpath d='M0 0h969v1H0V0Z'/%3E%3C/mask%3E%3Cpath d='M0 0h969v1H0V0Z' fill='%23000618'/%3E%3Cpath d='M0 0v1h969v-2H0v1Z' fill='url(%23a)' mask='url(%23b)'/%3E%3Cdefs%3E%3ClinearGradient id='a' x1='16.359' y1='0' x2='896.184' y2='.003' gradientUnits='userSpaceOnUse'%3E%3Cstop offset='.072' stop-color='%2308288C'/%3E%3Cstop offset='.606' stop-color='%23A7BAF5'/%3E%3Cstop offset='.981' stop-color='%2308288C'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E");
  }
}
.optimize-items .title {
  text-align: center;
  color: var(--periwinkle-blue);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.6;
  margin: 0 0 4px;
}
@media (min-width: 1024px) {
  .optimize-items .title {
        font-size: 18px;
        margin-bottom: 10px;
  }
}

.optimize-items-list {
  margin: 0;
  padding: 0;
  list-style-type: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
@media (min-width: 1024px) {
  .optimize-items-list {
    gap: 16px;
  }
}
.optimize-items-list figure {
  margin: 0;
}
.optimize-items-list figure img {
  display: block;
  height: 1.5em;
}

.section-reviews {
  padding: 20px 0;
}
@media (min-width: 1024px) {
  .section-reviews {
    padding: 31px 0 49px;
  }
}
.section-reviews .inner {
  max-width: 646px;
  margin: 0 auto;
}
@media (min-width: 375px) {
  .section-reviews .inner {
    padding: 0 22px;
  }
}
@media (min-width: 768px) {
  .section-reviews .inner {
    padding: 0;
  }
}

.section-reviews-grid {
  margin: 0;
  padding: 0;
  list-style-type: none;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
@media (min-width: 768px) {
  .section-reviews-grid {
    display: grid;
    grid-template-columns: minmax(0, 49%) minmax(0, 1fr) minmax(0, 1fr);
    grid-gap: 9px;
  }
}
.section-reviews-grid > li {
  display: flex;
}
@media (max-width: 767px) {
  .section-reviews-grid > li {
    max-width: calc(50% - 3px);
    flex: 0 0 calc(50% - 3px);
  }
}
.section-reviews-grid > li:last-child:not(:nth-child(1)):not(:nth-child(2)) {
  max-width: 100%;
  flex: 0 0 100%;
}
@media (min-width: 768px) {
  .section-reviews-grid > li:last-child:not(:nth-child(1)):not(:nth-child(2)) {
    order: -1;
  }
}
.section-reviews-grid > li:last-child:not(:nth-child(1)):not(:nth-child(2)) .reviews-grid-item {
  border-radius: 7px 7px 0 0;
}
@media (min-width: 768px) {
  .section-reviews-grid > li:last-child:not(:nth-child(1)):not(:nth-child(2)) .reviews-grid-item {
    border-radius: 0;
  }
}

.reviews-grid-item {
  width: 100%;
  border: 0.286px solid rgba(8, 40, 140, 0.7);
  background: var(--dark-100);
  margin: 0;
}
.reviews-grid-item.google {
  border-radius: 0 0 0 7px;
}
@media (min-width: 768px) {
  .reviews-grid-item.google {
    border-radius: 7px 0 0 0;
  }
}
.reviews-grid-item.trustpilot {
  border-radius: 0 0 7px 0;
}
@media (min-width: 768px) {
  .reviews-grid-item.trustpilot {
    border-radius: 0 7px 0 0;
  }
}

.outside-review {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  padding: 21px 12px 11px;
}
.outside-review figure {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: var(--dark-blue2);
  box-shadow: 0 2px 2px 0 rgba(8, 40, 140, 0.1);
  margin: 0;
}
.outside-review .points, .outside-review .service, .outside-review .count {
  display: block;
  font-weight: 500;
}
.outside-review .points {
  font-size: 17px;
  line-height: 1;
  letter-spacing: -0.031em;
  margin: 0 0 2px;
}
@media (min-width: 1024px) {
  .outside-review .points {
    margin: -2px 0 3px;
  }
}
.outside-review .service {
  font-size: 10px;
  line-height: 1.23683;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.outside-review .count {
  display: inline-flex;
  gap: 4px;
  font-size: 10px;
  font-weight: 500;
  line-height: 1.08223;
  letter-spacing: 0.03em;
  color: var(--light-blue);
  border-radius: 4px;
  background: var(--dark-blue3);
  padding: 4px 5px;
  margin: 9px 0 0;
}

.review-quote {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 17px 16px 19px;
}
@media (min-width: 1024px) {
  .review-quote {
    padding: 17px 18px 19px;
  }
}
.review-quote .avatar {
  flex-shrink: 0;
  width: 47px;
  height: 47px;
  object-fit: cover;
  border-radius: 11px;
}
.review-quote blockquote {
  padding: 0;
  border: none;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
  margin: 0;
}
.review-quote .author, .review-quote .role {
  display: inline;
  font-size: 10px;
  font-weight: 500;
  line-height: normal;
  color: var(--light-blue);
}
.section-winning-cases {
  position: relative;
  overflow: hidden;
  padding: 59px 0 40px;
}
@media (min-width: 1024px) {
  .section-winning-cases {
    padding: 93px 0 16px;
  }
}
.section-winning-cases:before, .section-winning-cases:after {
  content: "";
  position: absolute;
  pointer-events: none;
  background-repeat: no-repeat;
}
@media (min-width: 1024px) {
  .section-winning-cases:before, .section-winning-cases:after {
    content: none;
  }
}
.section-winning-cases:before {
  width: 515px;
  height: 405px;
  background-image: url("data:image/svg+xml,%3Csvg width='515' height='405' viewBox='0 0 515 405' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cellipse cx='257.26' cy='202.5' rx='257.26' ry='202.5' fill='url(%23a)'/%3E%3Cdefs%3E%3CradialGradient id='a' cx='0' cy='0' r='1' gradientUnits='userSpaceOnUse' gradientTransform='matrix(0 202.5 -257.26 0 257.26 202.5)'%3E%3Cstop offset='.365' stop-color='%2308288C'/%3E%3Cstop offset='1' stop-color='%2308288C' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3C/svg%3E");
  background-size: contain;
  background-position: top center;
  top: 0;
  left: 50%;
  transform: translate(-50%, -84%);
  z-index: -1;
}
@media (min-width: 1024px) {
  .section-winning-cases:before {
    top: 0;
    width: 1020px;
    height: 287px;
    background-image: url("data:image/svg+xml,%3Csvg width='1020' height='287' viewBox='0 0 1020 287' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cellipse cx='509.74' cy='143.5' rx='509.74' ry='143.5' fill='url(%23a)'/%3E%3Cdefs%3E%3CradialGradient id='a' cx='0' cy='0' r='1' gradientUnits='userSpaceOnUse' gradientTransform='matrix(0 143.5 -509.74 0 509.74 143.5)'%3E%3Cstop offset='.418' stop-color='%2308288C'/%3E%3Cstop offset='1' stop-color='%2308288C' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3C/svg%3E");
  }
}
.section-winning-cases:after {
  height: 1px;
  width: 100%;
  background-image: url("data:image/svg+xml,%3Csvg width='394' height='1' viewBox='0 0 394 1' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cmask id='b' fill='%23fff'%3E%3Cpath d='M0 0h394v1H0V0Z'/%3E%3C/mask%3E%3Cpath d='M0 0h394v1H0V0Z' fill='%23000618'/%3E%3Cpath d='M0 0v1h394v-2H0v1Z' fill='url(%23a)' mask='url(%23b)'/%3E%3Cdefs%3E%3ClinearGradient id='a' x1='6.652' y1='0' x2='364.393' y2='0' gradientUnits='userSpaceOnUse'%3E%3Cstop offset='.072' stop-color='%2308288C'/%3E%3Cstop offset='.606' stop-color='%23A7BAF5'/%3E%3Cstop offset='.981' stop-color='%2308288C'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E");
  background-size: 100%;
  background-position: center;
  top: 0;
  left: 0;
}

.winning-cases-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0 0 21px;
}
@media (min-width: 1024px) {
  .winning-cases-header {
    margin: 0 0 35px;
  }
}
@media (min-width: 1024px) {
  .winning-cases-header:before {
    content: "";
    flex: 1;
  }
}
.winning-cases-header h2 {
  font-family: "Playfair Display", serif, sans-serif;
  font-style: italic;
  font-weight: 400;
  margin: 0;
}
@media (min-width: 1024px) {
  .winning-cases-header h2 {
    margin: 0 16px;
  }
}
.winning-cases-header .cta-wrap {
  margin-left: auto;
  justify-content: flex-end;
}
@media (min-width: 1024px) {
  .winning-cases-header .cta-wrap {
    margin-left: 0;
    flex: 1;
  }
}

@media (min-width: 1024px) {
  .winning-cases-area {
    position: relative;
    height: 64vw;
    max-height: 922px;
    display: flex;
    align-items: flex-end;
    padding: 0 0 23px;
  }
}
@media (min-width: 1024px) {
  .winning-cases-area .cta span {
    width: 25px;
    height: 25px;
  }
}

.winning-cases-image {
  display: block;
  margin: 0 -18px;
  position: relative;
}
@media (min-width: 1024px) {
  .winning-cases-image {
    position: absolute;
    top: 0;
    left: 50%;
    width: 100vw;
    height: 100%;
    transform: translate(-50%, 0);
    margin: 0;
  }
}
.winning-cases-image:before {
  content: "";
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.2) 57.26%, #000618 92.41%);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media (min-width: 768px) {
  .winning-cases-image:before {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.2) 35%, rgba(0, 0, 0, 0.7) 92.31%);
  }
}
.winning-cases-image img {
  width: 100%;
}
@media (min-width: 1024px) {
  .winning-cases-image img {
    height: 100%;
    object-fit: cover;
    object-position: center top;
  }
}

.winning-cases-image + .winning-cases-body {
  margin-top: -50px;
}
@media (min-width: 1024px) {
  .winning-cases-image + .winning-cases-body {
    margin-top: 0;
  }
}

.winning-cases-body {
  position: relative;
}
@media (min-width: 1024px) {
  .winning-cases-body {
    text-align: center;
    max-width: 605px;
    margin: 0 auto;
  }
}
.winning-cases-body h3 {
  font-family: "Playfair Display", serif;
  font-size: 36px;
  line-height: 1.25;
  font-style: italic;
  font-weight: 400;
  margin: 0 0 25px;
}
@media (min-width: 1024px) {
  .winning-cases-body h3 {
    font-size: 46px;
  }
}
.winning-cases-body .cta-wrap {
  margin: 26px 0 0;
}
@media (min-width: 1024px) {
  .winning-cases-body .cta-wrap {
    justify-content: center;
  }
}

.winning-cases-tags {
  padding: 0;
  list-style-type: none;
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0.05em;
  margin: 24px 0 0;
}
@media (min-width: 1024px) {
  .winning-cases-tags {
    justify-content: center;
    font-size: 12.4px;
    gap: 11px;
    padding: 8px 0 0;
    margin: 0 -50px;
  }
}
.winning-cases-tags .kpi{
    font-family: "Playfair", serif;
    color: #6acc50;
    font-size: 32px;
    font-style: italic;
}
@media (max-width: 1024px) {
    .winning-cases-tags .kpi{
        font-size: 24px;
    }
}
.winning-cases-tags li {
  display: flex;
  gap: 8px;
  align-items: center;
  border-radius: 4px;
  border: 0.5px solid var(--white);
  background: rgba(0, 0, 0, 0.2);
  padding: 9px 11px;
}
@media (min-width: 1024px) {
  .winning-cases-tags li {
    padding: 13px 12px 13px;
  }
}
.winning-cases-tags img {
  height: 16px;
}
@media (min-width: 1024px) {
  .winning-cases-tags img {
    width: auto;
    height: 23px;
  }
}

.section-cta-cards {
  overflow: hidden;
}
.section-cta-cards .container {
  max-width: 1920px;
}

.cta-cards-list {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
@media (min-width: 768px) {
  .cta-cards-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-gap: 16px;
  }
}
@media (min-width: 1024px) {
  .cta-cards-list {
    margin: 0 -18px;
  }
}
@media (min-width: 1280px) {
  .cta-cards-list {
    grid-gap: 26px;
  }
}
@media (min-width: 1024px) {
  .cta-cards-list > li {
    display: flex;
  }
}
.cta-cards-list > li:not(:last-child) {
  margin-bottom: 40px;
}
@media (min-width: 768px) {
  .cta-cards-list > li:not(:last-child) {
    margin-bottom: 0;
  }
}

.cta-card {
  width: 100%;
  position: relative;
}
@media (min-width: 1024px) {
  .cta-card {
    min-height: 45.9895833333vw;
    display: flex;
    align-items: flex-end;
    padding: 18px;
  }
}
@media (min-width: 1280px) {
  .cta-card {
    padding: 32px 19px 32px 49px;
  }
}
@media (min-width: 1920px) {
  .cta-card {
    min-height: 883px;
  }
}
@media (min-width: 1024px) {
  .cta-card:before {
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background: linear-gradient(180deg, rgba(0, 6, 24, 0) 41.78%, rgba(0, 6, 24, 0.85) 79.62%);
    z-index: 1;
  }
}
.cta-card .thumbnail {
  display: block;
  margin: 0 -18px;
  position: relative;
  overflow: hidden;
}
@media (min-width: 768px) {
  .cta-card .thumbnail {
    margin: 0;
    border-radius: 10px;
  }
}
@media (min-width: 1024px) {
  .cta-card .thumbnail {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
  }
}
@media (max-width: 1023px) {
  .cta-card .thumbnail:before {
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background: linear-gradient(180deg, rgba(0, 6, 24, 0) 48.58%, rgba(0, 6, 24, 0.8) 100%);
  }
}
.cta-card .thumbnail img {
  width: 100%;
}
@media (min-width: 1024px) {
  .cta-card .thumbnail img {
    height: 100%;
    object-fit: cover;
  }
}
.cta-card .body {
  display: flex;
  flex-direction: column;
  padding: 27px 0 0;
}
@media (min-width: 1024px) {
  .cta-card .body {
    padding: 0;
    position: relative;
    z-index: 2;
  }
}
@media (min-width: 1280px) {
  .cta-card .body {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 404px) minmax(296px, 296px);
    justify-content: space-between;
    align-items: flex-end;
    grid-gap: 0 16px;
  }
}
.cta-card .body > div {
  display: contents;
}
@media (min-width: 1280px) {
  .cta-card .body > div {
    display: block;
  }
}
.cta-card .simple-labels {
  font-size: 17px;
  justify-content: flex-start;
}
.cta-card h3 {
  font-family: "Playfair Display", serif;
  font-size: 36px;
  line-height: 1.25;
  font-style: italic;
  font-weight: 400;
  margin: 0 0 25px;
}
@media (min-width: 1024px) {
  .cta-card h3 {
    font-size: 46px;
  }
}
.cta-card .cta-wrap {
  order: 1;
  padding: 25px 0 0;
}
@media (min-width: 1024px) {
  .cta-card .cta-wrap {
    padding: 16px 0 0;
  }
}
@media (min-width: 1280px) {
  .cta-card .cta-wrap {
    padding: 10px 0 0;
  }
}
.cta-card .winning-cases-tags {
  margin: 11px 0 0;
}
@media (min-width: 1024px) {
  .cta-card .winning-cases-tags {
    margin: 0;
    justify-content: flex-start;
  }
}
@media (min-width: 1280px) {
  .cta-card .winning-cases-tags {
    font-size: 15px;
    border-radius: 10px;
    background: rgba(0, 0, 0, 0.7);
    padding: 17px 18px 13px;
    gap: 23px 0;
  }
}
@media (min-width: 1280px) {
  .cta-card .winning-cases-tags li {
    width: 100%;
    border: none;
    padding: 0;
    gap: 29px;
  }
}
.cta-card .winning-cases-tags figure {
  margin: 0;
}
@media (min-width: 1280px) {
  .cta-card .winning-cases-tags figure {
    width: 59px;
    flex-shrink: 0;
  }
}
@media (min-width: 1280px) {
  .cta-card .winning-cases-tags img {
    height: 22px;
    transform: translate(0, -1px);
  }
}

.section-logo-lines {
  padding: 66px 0 64px;
  overflow: hidden;
}
@media (min-width: 1024px) {
  .section-logo-lines {
    padding: 80px 0;
  }
}
@media (min-width: 1280px) {
  .section-logo-lines {
    padding: 111px 0;
  }
}
.section-logo-lines .container {
  padding: 0;
  max-width: 1437px;
}
.section-logo-lines .line-box:not(:last-child) {
  margin-bottom: 33px;
}
@media (min-width: 1024px) {
  .section-logo-lines .line-box:not(:last-child) {
    margin-bottom: 56px;
  }
}

.line-box-wrap {
  position: relative;
}
.line-box-wrap:before, .line-box-wrap:after {
  content: "";
  width: 145px;
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  pointer-events: none;
}
@media (min-width: 1024px) {
  .line-box-wrap:before, .line-box-wrap:after {
    width: 375px;
  }
}
.line-box-wrap:before {
  left: -1px;
  background: linear-gradient(270deg, rgba(0, 6, 24, 0) 0%, #000618 100%);
}
.line-box-wrap:after {
  right: -1px;
  background: linear-gradient(270deg, #000618 0%, rgba(0, 6, 24, 0) 100%);
}

@media (min-width: 1024px) {
  .section-services {
    padding: 13px 0;
  }
}
.section-services .container {
  max-width: 1135px;
}
.section-services .entry-header {
  margin: 0 0 19px;
}
@media (min-width: 768px) {
  .section-services .entry-header {
    text-align: center;
  }
}
@media (min-width: 1024px) {
  .section-services .entry-header {
    margin: 0 0 53px;
  }
}
.section-services .entry-header h2:last-child {
  margin: 0;
}
@media (max-width: 767px) {
  .section-services .entry-header h2 {
    font-family: "Playfair", serif, sans-serif;
    font-style: italic;
    font-weight: 400;
    letter-spacing: 0.01em;
  }
}
@media (max-width: 767px) {
  .section-services .entry-header h2 mark {
    font-family: inherit;
  }
}

.services-list {
  margin: 0;
  padding: 0;
  list-style-type: none;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}
@media (min-width: 768px) {
  .services-list {
    gap: 0;
    margin: 0 -6px -12px;
  }
}
@media (min-width: 1024px) {
  .services-list {
    margin: 0 -8px -16px;
  }
}
@media (min-width: 1280px) {
  .services-list {
    margin: 0 -12px -25px;
  }
}
.services-list > li {
  max-width: 100%;
  flex: 0 0 100%;
  display: flex;
  flex-wrap: wrap;
}
@media (min-width: 768px) {
  .services-list > li {
    max-width: 33.3333%;
    flex: 0 0 33.3333%;
    padding: 0 6px 12px;
  }
}
@media (min-width: 1024px) {
  .services-list > li {
    padding: 0 8px 16px;
  }
}
@media (min-width: 1280px) {
  .services-list > li {
    padding: 0 12px 25px;
  }
}
.services-list > li.wide-item {
  max-width: 100%;
  flex: 0 0 100%;
}
@media (min-width: 768px) {
  .services-list > li.wide-item {
    max-width: 66.6666%;
    flex: 0 0 66.6666%;
  }
}

.services-cta-item {
  width: 100%;
  position: relative;
  background-color: var(--dark-200);
  background-clip: padding-box;
  border: solid 1px transparent;
  border-radius: 7px;
  padding: 15px 14px 15px 14px;
}
@media (min-width: 768px) {
  .services-cta-item {
    padding: 16px;
  }
}
@media (min-width: 1024px) {
  .services-cta-item {
    border: none;
    background-color: transparent;
    border-radius: 0;
    padding: 26px 0 0;
  }
}
.services-cta-item:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  margin: -1px;
  border-radius: inherit;
  background: linear-gradient(343deg, #4D6CCD 12.37%, #A7BAF5 26.68%, #4D6CCD 41.56%);
  opacity: 0.4;
}
@media (min-width: 1024px) {
  .services-cta-item:before {
    content: none;
  }
}
.services-cta-item .services-item {
  border: none;
  background-clip: initial;
  border-radius: 0;
  padding: 0 0 0 8px;
  background: transparent;
}
@media (min-width: 1024px) {
  .services-cta-item .services-item {
    border-radius: 15px 0 0 15px;
    background: linear-gradient(270deg, rgba(8, 40, 140, 0) 0%, #030E31 50%);
    padding: 14px 21px 21px 21px;
  }
}
.services-cta-item .services-item:before {
  content: none;
}
.services-cta-item .services-item:hover {
  background: transparent;
}
@media (min-width: 1024px) {
  .services-cta-item .services-item:hover {
    background: linear-gradient(270deg, rgba(8, 40, 140, 0) 0%, #030E31 50%);
  }
}
.services-cta-item .services-item figure {
  margin: 6px 0 0;
}
@media (max-width: 1023px) {
  .services-cta-item .services-item .title {
    color: var(--white);
  }
}
.services-cta-item .services-item .text {
  color: var(--white);
}
.services-cta-item .cta-wrap {
  gap: 9px;
  padding: 23px 0 0;
}
@media (min-width: 1024px) {
  .services-cta-item .cta-wrap {
    padding: 17px 0 0;
  }
}
.services-cta-item .cta-light-blue {
  font-size: 17px;
  padding: 7px 7px 7px 23px;
}
@media (min-width: 1024px) {
  .services-cta-item .cta-light-blue {
    font-size: 16px;
    padding: 7px 7px 7px 21px;
    letter-spacing: 0.03em;
  }
}
.services-cta-item .cta-light-blue span[aria-hidden=true] {
  width: 27px;
  height: 27px;
  padding: 0;
}
@media (min-width: 1024px) {
  .services-cta-item .cta-light-blue span[aria-hidden=true] svg {
    width: 26px;
  }
}

.cta-tel {
  font-size: 17px;
  color: var(--green);
  border: 1px solid var(--green);
  padding: 7px 16px 7px 9px;
}
@media (min-width: 1024px) {
  .cta-tel {
    gap: 6px;
    font-size: 17px;
    letter-spacing: 0;
    border-color: transparent;
  }
}
.cta-tel:hover, .cta-tel:focus {
  color: var(--green);
}
.cta-tel:hover .desktop span, .cta-tel:focus .desktop span {
  text-decoration-color: transparent;
}
.cta-tel span[aria-hidden=true] {
  width: 27px;
  height: 27px;
  background-color: var(--green);
}
@media (min-width: 1024px) {
  .cta-tel span[aria-hidden=true] {
    background-color: transparent;
    border-radius: 0;
  }
}
.cta-tel span[aria-hidden=true] svg {
  width: 13px;
}
@media (min-width: 1024px) {
  .cta-tel span[aria-hidden=true] svg {
    width: 17px;
  }
}
.cta-tel span[aria-hidden=true] svg path {
  fill: var(--dark-200);
}
@media (min-width: 1024px) {
  .cta-tel span[aria-hidden=true] svg path {
    fill: var(--green);
  }
}
@media (min-width: 1024px) {
  .cta-tel .mobile {
    display: none;
  }
}
@media (max-width: 1023px) {
  .cta-tel .desktop {
    display: none;
  }
}
.cta-tel .desktop span {
  text-decoration: underline;
  text-decoration-color: var(--green);
  transition: text-decoration-color 0.27s ease-in-out;
}

.services-item {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  text-decoration: none;
  position: relative;
  background-color: var(--dark-blue4);
  background-clip: padding-box;
  border: solid 1px transparent;
  border-radius: 7px;
  padding: 27px 27px 29px 27px;
  transition: background-color 0.23s ease-in-out;
}
@media (min-width: 768px) {
  .services-item {
    padding: 16px;
  }
}
@media (min-width: 1024px) {
  .services-item {
    padding: 25px 16px 27px 24px;
  }
}
.services-item:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  margin: -1px;
  border-radius: inherit;
  background: linear-gradient(343deg, #4D6CCD 12.37%, #A7BAF5 26.68%, #4D6CCD 41.56%);
  opacity: 0.4;
}
.services-item:hover {
  background-color: #030E31;
}
@media (max-width: 767px) {
  .services-item.xs-none {
    display: none;
  }
}
.services-item .body {
  display: flex;
  gap: 13px;
  position: relative;
  z-index: 1;
}
.services-item figure {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  width: 45px;
  height: 45px;
  flex-shrink: 0;
  border-radius: 15px;
  position: relative;
  background-color: var(--dark-blue4);
  background-clip: padding-box;
  border: solid 1px transparent;
}
.services-item figure:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  margin: -1px;
  border-radius: inherit;
  background: linear-gradient(343deg, #4D6CCD 12.37%, #A7BAF5 26.68%, #4D6CCD 41.56%);
  opacity: 0.4;
}
.services-item .title {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: rgba(255, 112, 56, 0.7);
}
@media (min-width: 1024px) {
  .services-item .title {
    margin: 0 0 2px;
  }
}
.services-item .text {
  margin: 0;
  font-size: 14px;
  color: var(--light-blue-100);
  letter-spacing: 0.01em;
}
@media (min-width: 1024px) {
  .services-item .text {
    letter-spacing: normal;
  }
}
.services-item .text-tags {
  margin: 25px 0 0;
}
@media (max-width: 1023px) {
  .services-item .text-tags {
    display: none;
  }
}
.services-item .entry-labels {
  margin: 0;
  list-style-type: none;
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
  margin: -26px 0 -33px;
  padding: 0 27px 0 19px;
}
@media (max-width: 1023px) {
  .services-item .entry-labels {
    display: none;
  }
}
.services-item .entry-labels li:nth-child(2) {
  margin: 0 auto;
}
.services-item .entry-labels li:nth-child(3) {
  margin-right: auto;
}
.services-item .entry-labels span {
  min-width: 112px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 6px 12px 6px;
  border-radius: 8.954px;
  border: 1px solid rgba(140, 164, 248, 0.5);
  background: linear-gradient(90deg, #030E31 19.23%, #102258 75.48%);
  box-shadow: 0.805px 1.61px 2.416px 0 rgba(0, 0, 0, 0.1);
  color: var(--dark-blue6);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
}

.text-tags {
  margin: 0;
  padding: 0;
  list-style-type: none;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  font-size: 12px;
  line-height: 1.5;
  color: var(--dark-blue5);
}
.text-tags li {
  border-radius: 3px;
  background-color: var(--dark-300);
  padding: 3px 6px;
}

.section-tools {
  padding: 46px 0 25px;
  overflow: hidden;
}
@media (min-width: 1280px) {
  .section-tools {
    padding: 67px 0 25px;
  }
}
.section-tools .entry-header {
  text-align: center;
  margin: 0 0 37px;
  background-color: var(--dark) !important;
  position: relative;
  z-index: 1;
}
@media (min-width: 1024px) {
  .section-tools .entry-header {
    margin: 0;
    padding: 0 0 24px;
  }
}
.section-tools .entry-header:before, .section-tools .entry-header:after {
  display: block;
  content: "";
  height: 1px;
  width: 118px;
  opacity: 0.9;
  background: var(--light-blue-200);
  margin: 0 auto;
}
@media (min-width: 1024px) {
  .section-tools .entry-header:before, .section-tools .entry-header:after {
    width: 182px;
  }
}
.section-tools .entry-header:before {
  margin-bottom: 14px;
}
@media (min-width: 1024px) {
  .section-tools .entry-header:before {
    margin-bottom: 18px;
  }
}
.section-tools .entry-header:after {
  margin-top: 15px;
}
@media (min-width: 1024px) {
  .section-tools .entry-header:after {
    margin-top: 36px;
  }
}
.section-tools .entry-header h2 {
  max-width: 312px;
  font-size: 21px;
  line-height: 1.25;
  font-weight: 600;
  opacity: 0.9;
  background: radial-gradient(circle, #395198 0%, #395198 6%, rgba(0, 0, 0, 0) 12%), linear-gradient(90deg, #395198 0%, #97A5CE 24.52%, #97A5CE 74.52%, #395198 100%);
  background-size: 200% 300%, 100%;
  background-repeat: no-repeat;
  background-position: var(--x) var(--y), 0;
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  margin: 0 auto;
}
@media (min-width: 1024px) {
  .section-tools .entry-header h2 {
    max-width: 998px;
    font-size: 57px;
  }
}

@media (min-width: 1024px) {
  .section-tools-mobile {
    display: none;
  }
}

.tools-accordion {
  list-style-type: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 0;
  margin: 0 0 20px;
}
.tools-accordion > li {
  width: 100%;
  border-radius: 7px;
  position: relative;
  background-color: var(--dark-400);
  background-clip: padding-box;
  border: solid 1px transparent;
  padding: 15px 25px 15px 25px;
}
.tools-accordion > li:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  margin: -1px;
  border-radius: inherit;
  background: linear-gradient(343deg, #4D6CCD 12.37%, #A7BAF5 26.68%, #4D6CCD 41.56%);
  opacity: 0.4;
}
.tools-accordion .opener {
  width: 100%;
  display: flex;
  align-items: center;
  text-align: left;
  border: none;
  background: transparent;
  padding: 0;
  color: var(--white);
}
.tools-accordion .opener[aria-expanded=true] svg {
  transform: scaleY(-1);
}
.tools-accordion .opener figure {
  flex-shrink: 0;
  align-self: stretch;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 74px;
  text-align: center;
  border-right: 1px solid var(--white);
  padding: 0 13px 0 0;
  margin: 0;
}
.tools-accordion .opener > div {
  flex: 1;
  font-size: 15.5px;
  line-height: 1.3;
  padding: 0 12px 0 6px;
}
.tools-accordion .opener .title {
  display: block;
  font-family: "Gilroy", sans-serif;
  font-weight: 600;
}
.tools-accordion .opener .subtitle {
  display: block;
  font-family: "Playfair Display", serif;
  font-weight: 400;
  font-style: italic;
}
.tools-accordion .opener svg {
  flex-shrink: 0;
  transition: transform 0.3s linear;
}
.tools-accordion .slide {
  font-family: "Gilroy", sans-serif;
  font-size: 13.5px;
  font-weight: 400;
  line-height: 1.35;
  padding: 15px 0 4px;
}
.tools-accordion .slide > *:last-child {
  margin-bottom: 0;
}

.tools-numbers {
  margin: 0;
  padding: 0;
  list-style-type: none;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-gap: 11px;
  text-align: center;
}
.tools-numbers li {
  border-radius: 7px;
  position: relative;
  background-color: var(--dark-200);
  background-clip: padding-box;
  border: solid 1px transparent;
  padding: 11px 8px;
}
.tools-numbers li:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  margin: -1px;
  border-radius: inherit;
  background: linear-gradient(343deg, #4D6CCD 12.37%, #A7BAF5 26.68%, #4D6CCD 41.56%);
  opacity: 0.4;
}
.tools-numbers .number {
  display: block;
  font-size: 20px;
  line-height: 1;
  margin: 4px 0 0;
}
.tools-numbers .text {
  display: block;
  font-size: 12px;
  letter-spacing: 0.247px;
}

@media (min-width: 1024px) {
  .tools-inner-wrap {
    height: 1166px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    margin: -185px 0 0;
  }
}
.tools-inner-wrap .entry-bg {
  width: 895px;
  height: 895px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0;
  pointer-events: none;
}
@media (max-width: 1023px) {
  .tools-inner-wrap .entry-bg {
    display: none;
  }
}
.tools-inner-wrap .entry-bg div {
  position: absolute;
  top: 50.8%;
  left: 50.5%;
  width: 146.2%;
  transform: translate(-50%, -50%);
}
.tools-inner-wrap .entry-bg div video {
  width: 100%;
  display: block;
}
.tools-inner-wrap .entry-bg svg {
  display: block;
  width: 100%;
  height: 100%;
}

.tools-inner {
  max-width: 302px;
  text-align: center;
  margin: 0 auto;
  padding: 51px 0 0;
}
@media (min-width: 1024px) {
  .tools-inner {
    font-size: 13px;
    font-weight: 500;
    line-height: 1.6;
    padding: 0;
    position: relative;
    z-index: 1;
  }
}
.tools-inner h3 {
  font-size: 24px;
  line-height: 1.25;
  margin: 0 0 16px;
}
@media (min-width: 1024px) {
  .tools-inner h3 {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.02;
    margin: 0 0 9px;
  }
}
.tools-inner h3 mark {
  display: block;
}
@media (min-width: 1024px) {
  .tools-inner h3 mark {
    font-family: "Playfair", serif;
  }
}
@media (min-width: 1024px) {
  .tools-inner p {
    margin: 0 0 21px;
  }
}
.tools-inner .cta {
  font-size: 13px;
  padding: 7px 7px 6px 13px;
}
@media (min-width: 1024px) {
  .tools-inner .cta {
    padding: 7px 7px 6px 17px;
    letter-spacing: 0em;
    font-weight: 700;
    gap: 12px;
  }
}
.tools-inner .cta span[aria-hidden=true] {
  width: 25px;
  height: 25px;
}

.section-horizontal-cards {
  padding: 24px 0;
}
@media (min-width: 1024px) {
  .section-horizontal-cards {
    padding: 45px 0;
  }
}
.section-horizontal-cards .container {
  max-width: 1362px;
}
.section-horizontal-cards .entry-header {
  text-align: center;
  margin: 0 0 20px;
}
@media (min-width: 1024px) {
  .section-horizontal-cards .entry-header {
    margin: 0 0 40px;
  }
}
.section-horizontal-cards .entry-header h2 {
  margin: 0;
}
.section-horizontal-cards .entry-header h2 mark {
  font-family: "Playfair", serif;
}

.horizontal-cards-swiper.swiper .swiper-wrapper {
  padding: 0;
  margin: 0;
  list-style-type: none;
}
.horizontal-cards-swiper.swiper .swiper-slide {
  width: 239px;
}
@media (min-width: 768px) {
  .horizontal-cards-swiper.swiper .swiper-slide {
    width: 220px;
  }
}
@media (min-width: 1024px) {
  .horizontal-cards-swiper.swiper .swiper-slide {
    width: 381px;
  }
}

.horizontal-card {
  height: 313px;
  display: flex;
  flex-direction: column;
  width: 100%;
  color: #C6D4FF;
  text-align: center;
  position: relative;
  border-radius: 14px;
  background-color: var(--dark);
  background-clip: padding-box;
  border: solid 1px transparent;
  padding: 12px 10px;
  box-sizing: border-box;
}
@media (min-width: 1024px) {
  .horizontal-card {
    height: 498px;
    border-radius: 22px;
    padding: 18px;
  }
}
.horizontal-card:focus {
  color: #C6D4FF;
}
.horizontal-card:hover {
  color: var(--white);
}
.horizontal-card:hover figure {
  opacity: 1;
}
.horizontal-card:hover figure:after {
  opacity: 0;
}
.horizontal-card:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  margin: -1px;
  border-radius: inherit;
  background: linear-gradient(343deg, #4D6CCD 12.37%, #A7BAF5 26.68%, #4D6CCD 41.56%);
  opacity: 0.4;
}
.horizontal-card figure {
  margin: 0;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border-radius: 8px;
  overflow: hidden;
  opacity: 0.4;
  transition: opacity 0.27s ease-in-out;
}
@media (min-width: 1024px) {
  .horizontal-card figure {
    border-radius: 22px;
  }
}
.horizontal-card figure:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.3) 100%);
  opacity: 1;
  transition: opacity 0.27s ease-in-out;
}
.horizontal-card figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.horizontal-card > svg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  width: 45px;
  height: auto;
}
@media (min-width: 1024px) {
  .horizontal-card > svg {
    width: 71px;
  }
}
.horizontal-card > div {
  margin-top: auto;
  position: relative;
  z-index: 1;
}
.horizontal-card h3 {
  font-size: 17px;
  line-height: normal;
  font-weight: 700;
  color: inherit;
  margin: 0 0 6px;
  transition: color 0.27s ease-in-out;
}
@media (min-width: 1024px) {
  .horizontal-card h3 {
    font-size: 27px;
    margin: 0 0 8px;
  }
}
.horizontal-card p {
  font-family: "Playfair", serif;
  font-size: 13px;
  line-height: normal;
  font-style: italic;
  color: inherit;
  margin: 0;
  transition: color 0.27s ease-in-out;
}
@media (min-width: 1024px) {
  .horizontal-card p {
    font-size: 20px;
  }
}

.section-source-reviews {
  overflow: hidden;
  padding: 17px 0;
}
@media (min-width: 1024px) {
  .section-source-reviews {
    padding: 100px 0;
  }
}
.section-source-reviews .container {
  max-width: 1648px;
}

.source-reviews-wrap {
  position: relative;
}
@media (min-width: 1024px) {
  .source-reviews-wrap:before, .source-reviews-wrap:after {
    content: "";
    width: 615px;
    height: 636px;
    position: absolute;
    top: -63px;
    pointer-events: none;
    background-size: contain;
    background-repeat: no-repeat;
    z-index: -1;
  }
}
@media (min-width: 1024px) {
  .source-reviews-wrap:before {
    left: -156px;
    background-image: url("../images/decor-review-left.png");
    background-position: left top;
  }
}
@media (min-width: 1024px) {
  .source-reviews-wrap:after {
    right: -156px;
    background-image: url("../images/decor-review-right.png");
    background-position: right top;
  }
}
.source-reviews-wrap .line-box {
  position: relative;
}
.source-reviews-wrap .line-box:not(:last-child) {
  margin-bottom: 17px;
}
@media (min-width: 1024px) {
  .source-reviews-wrap .line-box:not(:last-child) {
    margin-bottom: 26px;
  }
}
.source-reviews-wrap .line-box:before, .source-reviews-wrap .line-box:after {
  content: "";
  width: 130px;
  border-radius: 10px;
  position: absolute;
  top: -13px;
  bottom: -24px;
  z-index: 2;
  pointer-events: none;
}
@media (min-width: 1024px) {
  .source-reviews-wrap .line-box:before, .source-reviews-wrap .line-box:after {
    width: 382px;
  }
}
.source-reviews-wrap .line-box:before {
  left: -21px;
  background: linear-gradient(270deg, rgba(0, 6, 24, 0) 0%, #000618 78.37%);
}
.source-reviews-wrap .line-box:after {
  right: -21px;
  background: linear-gradient(270deg, #000618 0%, rgba(0, 6, 24, 0) 78.37%);
}
.source-reviews-wrap .line-box .line {
  gap: 17px;
}
@media (min-width: 1024px) {
  .source-reviews-wrap .line-box .line {
    gap: 24px;
  }
}
@media (min-width: 1280px) {
  .source-reviews-wrap .line-box .line {
    gap: 34px;
  }
}

.review-card {
  width: 231px;
  position: relative;
  background-color: var(--dark-100);
  background-clip: padding-box;
  border: solid 1px transparent;
  border-radius: 5px;
  padding: 16px 15px;
}
@media (min-width: 768px) {
  .review-card {
    width: 266px;
    padding: 16px;
  }
}
@media (min-width: 1024px) {
  .review-card {
    width: 378px;
    border-radius: 7px;
    padding: 27px 26px 26px 25px;
  }
}
.review-card:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  margin: -1px;
  border-radius: inherit;
  background: linear-gradient(343deg, #4D6CCD 12.37%, #A7BAF5 26.68%, #4D6CCD 41.56%);
  opacity: 0.4;
}
.review-card .service-icon {
  margin: 0;
  position: absolute;
  top: 3px;
  right: 3px;
}
@media (min-width: 768px) {
  .review-card .service-icon {
    top: 4px;
    right: 4px;
  }
}
@media (min-width: 1024px) {
  .review-card .service-icon {
    top: 5px;
    right: 6px;
  }
}
.review-card .service-icon svg {
  display: block;
}
@media (max-width: 1023px) {
  .review-card .service-icon svg {
    width: 11px;
    height: auto;
  }
}
@media (max-width: 767px) {
  .review-card .service-icon svg {
    width: 11px;
    height: auto;
  }
}
.review-card .head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 7px;
  line-height: 1;
  letter-spacing: 0.015em;
  color: var(--light-blue-100);
  padding: 0 0 2.1em;
}
@media (min-width: 768px) {
  .review-card .head {
    font-size: 9px;
  }
}
@media (min-width: 1024px) {
  .review-card .head {
    font-size: 12px;
    padding: 0 0 23px;
  }
}
.review-card .rating {
  flex-shrink: 0;
  border: 1px solid #8096DA;
  border-radius: 2px;
  padding: 0 6px;
}
@media (min-width: 768px) {
  .review-card .rating {
    border-radius: 4px;
    padding: 2px 6px;
  }
}
@media (min-width: 1024px) {
  .review-card .rating {
    padding: 5px 11px;
  }
}
.review-card .stars {
  display: flex;
  align-items: center;
  gap: 2px;
}
@media (max-width: 1023px) {
  .review-card .stars svg {
    width: 9px;
  }
}
@media (max-width: 767px) {
  .review-card .stars svg {
    width: 7px;
  }
}
.review-card .source {
  padding-left: 10px;
}
.review-card .quote {
  border: none;
  margin: 0;
  font-family: "Gilroy", sans-serif;
  font-size: 9px;
  line-height: 1.578;
  letter-spacing: 0.01em;
  font-weight: 700;
  padding: 0 0 11px;
}
@media (min-width: 768px) {
  .review-card .quote {
    font-size: 12px;
  }
}
@media (min-width: 1024px) {
  .review-card .quote {
    font-size: 14px;
    padding: 0 0 21px;
  }
}
.review-card .quote p {
  margin: 0;
}
.review-card .footer {
  font-size: 6.5px;
  line-height: 1.25;
  color: var(--light-blue-100);
  border-top: 1px solid #273c7f;
  padding: 11px 0 0;
}
@media (min-width: 768px) {
  .review-card .footer {
    font-size: 8px;
  }
}
@media (min-width: 1024px) {
  .review-card .footer {
    font-size: 11px;
    padding: 19px 0 0;
  }
}
.review-card .footer .name {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.015em;
  margin: 0 0.25em 0 0;
}
@media (min-width: 768px) {
  .review-card .footer .name {
    font-size: 9px;
  }
}
@media (min-width: 1024px) {
  .review-card .footer .name {
    font-size: 14px;
  }
}

.section-team {
  padding: 49px 0;
  overflow: hidden;
}
@media (min-width: 1024px) {
  .section-team {
    padding: 94px 0;
  }
}
.section-team .container {
  max-width: 1392px;
}

.team-area {
  margin: 0 0 49px;
}
@media (min-width: 1024px) {
  .team-area {
    display: flex;
    flex-direction: column;
    margin: 0 0 33px;
  }
}
.team-area .entry-header {
  text-align: center;
  margin: 0 0 17px;
}
@media (min-width: 1024px) {
  .team-area .entry-header {
    order: 1;
    margin: 0;
    padding: 97px 0 0;
  }
}
.team-area .entry-header > *:last-child {
  margin-bottom: 0;
}
.team-area .entry-header .subtitle {
  font-family: "Gilroy", sans-serif;
  font-size: 18px;
  background: linear-gradient(88deg, #FF8555 0%, #D04813 101.02%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  line-height: normal;
  margin: 0 0 2px;
}
@media (min-width: 1024px) {
  .team-area .entry-header .subtitle {
    display: none;
  }
}
@media (max-width: 1023px) {
  .team-area .entry-header h2 mark {
    font-family: "Playfair", serif;
  }
}
.team-area .cta-wrap {
  padding: 7px 0 0;
}
@media (min-width: 1024px) {
  .team-area .cta-wrap {
    display: none;
  }
}
.team-area .cta-wrap .cta {
  padding: 7px 7px 6px 17px;
  font-size: 13px;
  gap: 13px;
}
.team-area .cta-wrap .cta span[aria-hidden=true] {
  width: 26px;
  height: 26px;
}

.team-card-list {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
@media (min-width: 1024px) {
  .team-card-list {
    display: flex;
    align-items: flex-start;
    gap: 0 16px;
  }
}
@media (min-width: 1024px) {
  .team-card-list > li {
    width: 319px;
  }
}
@media (max-width: 1023px) {
  .team-card-list > li:not(:last-child) {
    margin-bottom: 10px;
  }
}
@media (min-width: 1024px) {
  .team-card-list > li:nth-child(1) {
    transform: translate(0, 177px);
  }
}
@media (min-width: 1024px) {
  .team-card-list > li:nth-child(2) {
    transform: translate(0, 40px);
  }
}
@media (min-width: 1388px) {
  .team-card-list > li:nth-child(2) {
    transform: translate(-50px, 40px);
  }
}
@media (min-width: 1024px) {
  .team-card-list > li:nth-child(4) {
    transform: translate(0, 164px);
  }
}
@media (min-width: 1388px) {
  .team-card-list > li:nth-child(4) {
    transform: translate(30px, 164px);
  }
}

.team-card {
  border: 1px solid transparent;
  border-radius: 7px;
  background: linear-gradient(#010922, #010922) padding-box, linear-gradient(343deg, rgba(77, 108, 205, 0.4) 12.37%, rgba(167, 186, 245, 0.4) 26.68%, rgba(77, 108, 205, 0.4) 41.56%) border-box;
  padding: 15px 14px 18px;
}
.team-card .head {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 0 0 17px;
}
@media (min-width: 1024px) {
  .team-card .head {
    padding: 0 0 24px;
  }
}
.team-card .avatar {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  margin: 0;
  border-radius: 50%;
  overflow: hidden;
}
.team-card .avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.team-card .name {
  color: var(--light-blue-100);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.25;
  margin: 0 0 3px;
}
.team-card .position {
  font-family: "Gilroy", sans-serif;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.25;
  color: #4F5D88;
  margin: 0;
}
.team-card .body {
  font-family: "Gilroy", sans-serif;
  font-size: 13px;
  line-height: 1.55;
}
@media (min-width: 1024px) {
  .team-card .body {
    font-size: 15px;
    padding: 0 5px;
  }
}
.team-card .body p {
  margin: 0;
}

.vacancy-area > .cta-wrap {
  padding: 22px 0 0;
  gap: 17px;
  align-items: flex-start;
}
@media (min-width: 1024px) {
  .vacancy-area > .cta-wrap {
    gap: 18px;
    padding: 26px 0 0;
  }
}
.vacancy-area .help-text {
  display: block;
  font-family: "Gilroy", sans-serif;
  font-size: 13px;
  line-height: 1.25;
  font-weight: 400;
  text-align: center;
  color: var(--light-blue-100);
  margin: 7px 0 0;
}
@media (min-width: 1024px) {
  .vacancy-area .help-text {
    margin: 8px 0 0;
  }
}
.vacancy-area .cta {
  font-size: 13px;
}
@media (min-width: 1024px) {
  .vacancy-area .cta {
    font-size: 16px;
    letter-spacing: 0;
    gap: 10px;
  }
}
@media (min-width: 1024px) {
  .vacancy-area .cta span[aria-hidden=true] {
    width: 25px;
    height: 25px;
  }
}
@media (max-width: 1023px) {
  .vacancy-area .cta-white {
    font-weight: 500;
    border-color: transparent;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 8px;
    text-decoration-color: inherit;
    padding: 11px 0;
  }
}
@media (max-width: 1023px) {
  .vacancy-area .cta-white span[aria-hidden=true] {
    display: none;
  }
}

.vacancy-image {
  display: block;
  margin: 0 -31px -28px;
}
@media (min-width: 1024px) {
  .vacancy-image {
    max-width: 1206px;
    text-align: center;
    margin: -51px auto -64px;
  }
}

.vacancy-item-holder {
  display: flex;
}

.vacancy-item {
  width: 100%;
  border: 1px solid transparent;
  border-radius: 11px;
  background: linear-gradient(#000C31, #000C31) padding-box, linear-gradient(343deg, rgba(77, 108, 205, 0.4) 12.37%, rgba(167, 186, 245, 0.4) 26.68%, rgba(77, 108, 205, 0.4) 41.56%) border-box;
  box-shadow: 0 10px 30px 0 rgba(0, 0, 0, 0.2);
  padding: 17px 19px 20px;
  position: relative;
  z-index: 1;
}
@media (min-width: 1024px) {
  .vacancy-item {
    width: auto;
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 auto;
    padding: 24px 19px 24px;
  }
}
.vacancy-item .head {
  text-align: center;
  margin: 0 0 20px;
}
@media (min-width: 1024px) {
  .vacancy-item .head {
    flex-shrink: 0;
    text-align: left;
    width: 259px;
    margin: 0;
  }
}
.vacancy-item .head .subtitle {
  font-family: "Gilroy", sans-serif;
  font-size: 14px;
  line-height: 1.21;
  font-weight: 700;
  background: linear-gradient(88deg, #FF8555 0%, #D04813 101.02%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  margin: 0 0 2px;
}
.vacancy-item .head h3 {
  font-size: 18px;
  line-height: 1.21;
  margin: 0;
}

.vacancy-list {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
@media (min-width: 1024px) {
  .vacancy-list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
  }
}
@media (min-width: 1024px) {
  .vacancy-list > li {
    display: flex;
  }
}
@media (max-width: 1023px) {
  .vacancy-list > li:not(:last-child) {
    margin-bottom: 8px;
  }
}

.vacancy-card {
  display: block;
  text-align: center;
  font-family: "Gilroy", sans-serif;
  font-size: 12px;
  color: var(--white) !important;
  border: 1px solid transparent;
  border-radius: 4px;
  background: linear-gradient(#101F51, #101F51) padding-box, linear-gradient(343deg, rgba(77, 108, 205, 0.4) 12.37%, rgba(167, 186, 245, 0.4) 26.68%, rgba(77, 108, 205, 0.4) 41.56%) border-box;
  padding: 9px 12px 12px;
  position: relative;
}
.vacancy-card:hover, .vacancy-card:focus {
  color: var(--white);
}
.vacancy-card:hover .title, .vacancy-card:focus .title {
  text-decoration-color: inherit;
}
@media (min-width: 1024px) {
  .vacancy-card {
    text-align: left;
    padding: 2px 8px 1px;
  }
}
.vacancy-card:hover, .vacancy-card:focus {
  color: var(--white);
}
.vacancy-card .top {
  margin: 0 0 5px;
}
.vacancy-card .icon, .vacancy-card .title, .vacancy-card .time {
  display: inline;
  vertical-align: middle;
}
@media (min-width: 1024px) {
  .vacancy-card .icon, .vacancy-card .title, .vacancy-card .time {
    display: block;
  }
}
.vacancy-card .icon {
  margin: 0;
}
@media (min-width: 1024px) {
  .vacancy-card .icon {
    position: absolute;
    top: 0;
    left: 0;
    transform: translate(-60%, -50%);
  }
}
.vacancy-card .icon img {
  vertical-align: middle;
}
@media (min-width: 1024px) {
  .vacancy-card .icon img {
    width: 16px;
  }
}
.vacancy-card .title {
  font-size: 13px;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 2px;
  margin: 0 0.5em;
  transition: text-decoration-color 0.23s ease-in-out;
}
@media (min-width: 1024px) {
  .vacancy-card .title {
    white-space: nowrap;
    font-size: 15px;
    margin: 0;
  }
}
.vacancy-card .time {
  font-size: 11px;
  color: var(--light-blue-100);
  margin: 0;
}
@media (min-width: 1024px) {
  .vacancy-card .time {
    font-size: 12px;
    line-height: normal;
  }
}
.vacancy-card .description {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin: 0 0 8px;
}
@media (min-width: 1024px) {
  .vacancy-card .description {
    display: none;
  }
}
@media (min-width: 1024px) {
  .vacancy-card .cta {
    display: none;
  }
}

.section-animation-screen {
  padding: 34px 0 26px;
}
@media (min-width: 1024px) {
  .section-animation-screen {
    padding: 60px 0;
  }
}
@media (min-width: 1920px) {
  .section-animation-screen {
    padding: 135px 0;
  }
}
.section-animation-screen .bg-media {
  height: 748px;
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
  position: relative;
}
@media (min-width: 768px) {
  .section-animation-screen .bg-media {
    height: 49.1666666667vw;
  }
}
@media (min-width: 1920px) {
  .section-animation-screen .bg-media {
    height: 944px;
  }
}
.section-animation-screen .bg-media:before, .section-animation-screen .bg-media:after {
  top: 0;
  content: "";
  width: 615px;
  height: 636px;
  position: absolute;
  pointer-events: none;
  background-size: cover;
  background-repeat: no-repeat;
  z-index: 1;
}
@media (min-width: 1024px) {
  .section-animation-screen .bg-media:before, .section-animation-screen .bg-media:after {
    top: -19px;
    background-size: contain;
  }
}
@media (max-width: 1023px) {
  .section-animation-screen .bg-media:before {
    width: 325px;
    height: 293px;
    background-image: url("../images/decor-review-left-mobile.png");
    left: 0;
  }
}
@media (min-width: 1024px) {
  .section-animation-screen .bg-media:before {
    left: -156px;
    background-image: url("../images/decor-review-left.png");
    background-position: left top;
  }
}
@media (max-width: 1023px) {
  .section-animation-screen .bg-media:after {
    width: 299px;
    height: 246px;
    background-image: url("../images/decor-review-right-mobile.png");
    right: 0;
  }
}
@media (min-width: 1024px) {
  .section-animation-screen .bg-media:after {
    right: -156px;
    background-image: url("../images/decor-review-right.png");
    background-position: right top;
  }
}
@media (min-width: 768px) {
  .section-animation-screen .bg-media .mobile {
    display: none;
  }
}
@media (max-width: 767px) {
  .section-animation-screen .bg-media .desktop:not(:only-child) {
    display: none;
  }
}
.section-animation-screen video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#footer {
  padding: 40px 0;
}
@media (min-width: 1280px) {
  #footer {
    padding: 63px 0 40px;
  }
}
#footer .container {
  max-width: 1476px;
}

.footer-logo {
  text-align: center;
  margin: 0 auto 24px;
}
@media (min-width: 768px) {
  .footer-logo {
    margin: 0 auto 40px;
  }
}
@media (min-width: 1280px) {
  .footer-logo {
    margin: 0 auto 61px;
  }
}

.footer-nav {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  justify-content: space-between;
  grid-gap: 24px 0;
  padding: 0 0 40px;
}
@media (min-width: 768px) {
  .footer-nav {
    grid-template-columns: repeat(3, minmax(0, auto));
    grid-gap: 28px 16px;
  }
}
@media (min-width: 1024px) {
  .footer-nav {
    grid-template-columns: repeat(5, minmax(0, auto));
    padding: 0 3.7% 63px;
  }
}

.footer-nav-item p {
  font-family: "Gilroy", sans-serif;
  font-size: 17px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.19675;
  text-transform: uppercase;
  color: var(--light-blue-100);
}
@media (min-width: 1280px) {
  .footer-nav-item p {
    font-size: 19px;
  }
}
.footer-nav-item .menu {
  margin: 0;
  padding: 0;
  list-style-type: none;
  font-size: 14px;
  line-height: 1.15;
}
@media (min-width: 1280px) {
  .footer-nav-item .menu {
    font-size: 16px;
  }
}
.footer-nav-item .menu li:not(:last-child) {
  margin-bottom: 1.1em;
}
@media (min-width: 1280px) {
  .footer-nav-item .menu li:not(:last-child) {
    margin-bottom: 1.46em;
  }
}
.footer-nav-item .menu li.active a {
  text-decoration-color: inherit;
}
.footer-nav-item .menu a {
  color: var(--light-blue-100);
  text-decoration: underline;
  text-decoration-color: transparent;
  transition: text-decoration-color 0.27s ease-in-out;
}
.footer-nav-item .menu a:hover, .footer-nav-item .menu a:focus {
  color: var(--light-blue-100);
  text-decoration-color: inherit;
}
.footer-nav-item .menu .vacancy-counter {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #6ACC50;
  font-size: 10px;
  line-height: normal;
  color: var(--white);
  vertical-align: middle;
  margin-left: 0.8em;
  margin-top: -2px;
}
@media (min-width: 1280px) {
  .footer-nav-item .menu .vacancy-counter {
    width: 22px;
    height: 22px;
    font-size: 12px;
  }
}
.footer-nav-item .cta {
  margin: 18px 0 0;
}

.footer-bottom {
  border-top: 1px solid #4e6dce;
  background: var(--dark-100);
  padding: 0 18px 24px;
  margin: 0 -18px;
}
@media (min-width: 1024px) {
  .footer-bottom {
    padding: 24px 24px 29px;
    margin: 0;
  }
}

.footer-bottom-nav {
  display: flex;
  justify-content: center;
}
.footer-bottom-nav .menu {
  list-style-type: none;
  font-size: 14px;
  display: flex;
  flex-wrap: wrap;
  font-weight: 500;
  line-height: 1.15;
  background: #10235C;
  border-radius: 0;
  margin: 0 -18px;
  padding: 24px 18px;
}
@media (min-width: 768px) {
  .footer-bottom-nav .menu {
    gap: 0 14px;
    justify-content: center;
  }
}
@media (min-width: 1024px) {
  .footer-bottom-nav .menu {
    margin: 0;
    border-radius: 100px;
    padding: 4px 16px;
  }
}
@media (min-width: 1280px) {
  .footer-bottom-nav .menu {
    font-size: 16px;
    padding: 4px 25px;
    gap: 0 21px;
  }
}
@media (max-width: 767px) {
  .footer-bottom-nav .menu li {
    max-width: 50%;
    flex: 0 0 50%;
  }
}
.footer-bottom-nav .menu li.active a {
  text-decoration-color: inherit;
}
.footer-bottom-nav .menu a {
  display: block;
  padding: 8px 5px;
  color: var(--white);
  text-decoration: underline;
  text-decoration-color: transparent;
  transition: text-decoration-color 0.27s ease-in-out;
}
@media (min-width: 1280px) {
  .footer-bottom-nav .menu a {
    padding: 10px 5px;
  }
}
.footer-bottom-nav .menu a:hover, .footer-bottom-nav .menu a:focus {
  color: var(--white);
  text-decoration-color: inherit;
}

.footer-meta {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 1240px;
  margin: 0 auto;
  padding: 24px 0 0;
}
@media (min-width: 768px) {
  .footer-meta {
    flex-direction: row;
    align-items: flex-start;
    gap: 0;
  }
}
@media (min-width: 1024px) {
  .footer-meta {
    padding: 33px 0 0;
  }
}
.footer-meta > div {
  flex: 1;
}

.footer-contact {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 16px;
}
@media (min-width: 768px) {
  .footer-contact {
    gap: 12px 51px;
  }
}

.footer-logo-white {
  margin: 0;
}

.footer-phone {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 16px;
  line-height: 1.15;
  color: var(--white);
}
@media (min-width: 768px) {
  .footer-phone {
    gap: 20px;
  }
}
.footer-phone:hover, .footer-phone:focus {
  color: var(--white);
}
.footer-phone:hover span, .footer-phone:focus span {
  text-decoration-color: inherit;
}
.footer-phone span {
  text-decoration: underline;
  text-decoration-color: transparent;
  transition: text-decoration-color 0.27s ease-in-out;
}

.footer-google-review {
  width: 230px;
  display: flex;
  align-items: center;
  gap: 7px;
  font-family: "Gilroy", sans-serif;
  font-size: 13px;
  line-height: normal;
  font-weight: 600;
  letter-spacing: normal;
  border-radius: 0 0 5px 5px;
  border-top: 3px solid var(--light-blue-100);
  background: #10235C;
  padding: 9px;
}
@media (min-width: 768px) {
  .footer-google-review {
    margin: 0 auto;
  }
}
.footer-google-review figure {
  margin: 0;
  flex-shrink: 0;
}
.footer-google-review .title {
  display: block;
}
.footer-google-review .stars-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
}
.footer-google-review .score {
  font-size: 18px;
}
.footer-google-review .stars {
  display: flex;
  gap: 4px;
}

.footer-logos {
  margin: 0;
  padding: 0;
  list-style-type: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 15px;
}
@media (min-width: 768px) {
  .footer-logos {
    justify-content: flex-end;
  }
}
.footer-logos figure {
  margin: 0;
  height: 50px;
  border-radius: 5px;
  background: #10235C;
  padding: 10px 20px;
}
.footer-logos figure img {
  max-height: 100%;
  object-fit: contain;
}

.copyright-block {
  padding: 11px 0;
}
@media (min-width: 768px) {
  .copyright-block {
    display: flex;
    justify-content: center;
  }
}
.copyright-block .menu {
  padding: 0;
  margin: 0;
  list-style-type: none;
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px 25px;
  font-size: 14px;
  line-height: 1.15;
  overflow: hidden;
}
@media (min-width: 768px) {
  .copyright-block .menu {
    flex-direction: row;
  }
}
@media (min-width: 1024px) {
  .copyright-block .menu {
    font-size: 16px;
  }
}
@media (min-width: 1280px) {
  .copyright-block .menu {
    font-size: 18px;
  }
}
.copyright-block .menu li.active a {
  text-decoration-color: transparent;
}
.copyright-block .menu a {
  color: #8494C5;
  text-decoration-line: underline;
  text-decoration-color: inherit;
  transition: text-decoration-color 0.27s ease-in-out;
  position: relative;
}
@media (min-width: 768px) {
  .copyright-block .menu a:after {
    content: "|";
    font-size: 18px;
    position: absolute;
    top: 0;
    right: -0.78em;
  }
}
.copyright-block .menu a:hover, .copyright-block .menu a:focus {
  color: #8494C5;
  text-decoration-color: transparent;
}

/**
 * Swiper 11.2.4
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2025 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: February 14, 2025
 */
@font-face {
  font-family: swiper-icons;
  src: url("data:application/font-woff;charset=utf-8;base64, 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");
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color:#007aff;
}

:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
  display: block;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

.swiper-android .swiper-slide, .swiper-ios .swiper-slide, .swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

.swiper-autoheight, .swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
}

.swiper-3d .swiper-cube-shadow, .swiper-3d .swiper-slide {
  transform-style: preserve-3d;
}

.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-css-mode.swiper-vertical > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
  scroll-snap-type: none;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: none;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

.swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader, .swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color:#fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color:#000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.swiper-virtual .swiper-slide {
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
  height: 1px;
  width: var(--swiper-virtual-size);
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
  width: 1px;
  height: var(--swiper-virtual-size);
}

:root {
  --swiper-navigation-size:44px;
}

.swiper-button-next, .swiper-button-prev {
  position: absolute;
  top: var(--swiper-navigation-top-offset, 50%);
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - var(--swiper-navigation-size) / 2);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}

.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-next.swiper-button-hidden, .swiper-button-prev.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
}

.swiper-navigation-disabled .swiper-button-next, .swiper-navigation-disabled .swiper-button-prev {
  display: none !important;
}

.swiper-button-next svg, .swiper-button-prev svg {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform-origin: center;
}

.swiper-rtl .swiper-button-next svg, .swiper-rtl .swiper-button-prev svg {
  transform: rotate(180deg);
}

.swiper-button-prev, .swiper-rtl .swiper-button-next {
  left: var(--swiper-navigation-sides-offset, 10px);
  right: auto;
}

.swiper-button-next, .swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

.swiper-button-lock {
  display: none;
}

.swiper-button-next:after, .swiper-button-prev:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1;
}

.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after {
  content: "prev";
}

.swiper-button-next, .swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after {
  content: "next";
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 0.3s opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

.swiper-pagination-disabled > .swiper-pagination, .swiper-pagination.swiper-pagination-disabled {
  display: none !important;
}

.swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
  bottom: var(--swiper-pagination-bottom, 8px);
  top: var(--swiper-pagination-top, auto);
  left: 0;
  width: 100%;
}

.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet:only-child {
  display: none !important;
}

.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-pagination-vertical.swiper-pagination-bullets, .swiper-vertical > .swiper-pagination-bullets {
  right: var(--swiper-pagination-right, 8px);
  left: var(--swiper-pagination-left, auto);
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}

.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic, .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 0.2s transform, 0.2s top;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic, .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 0.2s transform, 0.2s left;
}

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 0.2s transform, 0.2s right;
}

.swiper-pagination-fraction {
  color: var(--swiper-pagination-fraction-color, inherit);
}

.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
  position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}

.swiper-horizontal > .swiper-pagination-progressbar, .swiper-pagination-progressbar.swiper-pagination-horizontal, .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite, .swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: var(--swiper-pagination-progressbar-size, 4px);
  left: 0;
  top: 0;
}

.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-vertical, .swiper-vertical > .swiper-pagination-progressbar {
  width: var(--swiper-pagination-progressbar-size, 4px);
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-lock {
  display: none;
}

.swiper-scrollbar {
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  position: relative;
  touch-action: none;
  background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1));
}

.swiper-scrollbar-disabled > .swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-disabled {
  display: none !important;
}

.swiper-horizontal > .swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-horizontal {
  position: absolute;
  left: var(--swiper-scrollbar-sides-offset, 1%);
  bottom: var(--swiper-scrollbar-bottom, 4px);
  top: var(--swiper-scrollbar-top, auto);
  z-index: 50;
  height: var(--swiper-scrollbar-size, 4px);
  width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-scrollbar.swiper-scrollbar-vertical, .swiper-vertical > .swiper-scrollbar {
  position: absolute;
  left: var(--swiper-scrollbar-left, auto);
  right: var(--swiper-scrollbar-right, 4px);
  top: var(--swiper-scrollbar-sides-offset, 1%);
  z-index: 50;
  width: var(--swiper-scrollbar-size, 4px);
  height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5));
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

.swiper-scrollbar-lock {
  display: none;
}

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.swiper-zoom-container > canvas, .swiper-zoom-container > img, .swiper-zoom-container > svg {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.swiper-slide-zoomed {
  cursor: move;
  touch-action: none;
}

.swiper .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

.swiper-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-grid > .swiper-wrapper {
  flex-wrap: wrap;
}

.swiper-grid-column > .swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column;
}

.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}

.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}

.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-fade .swiper-slide-active {
  pointer-events: auto;
}

.swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper.swiper-cube {
  overflow: visible;
}

.swiper-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-cube.swiper-rtl .swiper-slide {
  transform-origin: 100% 0;
}

.swiper-cube .swiper-slide-active, .swiper-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-cube .swiper-slide-active, .swiper-cube .swiper-slide-next, .swiper-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible;
}

.swiper-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  z-index: 0;
}

.swiper-cube .swiper-cube-shadow:before {
  content: "";
  background: #000;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  filter: blur(50px);
}

.swiper-cube .swiper-slide-next + .swiper-slide {
  pointer-events: auto;
  visibility: visible;
}

.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom, .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left, .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right, .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper.swiper-flip {
  overflow: visible;
}

.swiper-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
}

.swiper-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-flip .swiper-slide-active, .swiper-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom, .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left, .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right, .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-creative .swiper-slide {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
  transition-property: transform, opacity, height;
}

.swiper.swiper-cards {
  overflow: visible;
}

.swiper-cards .swiper-slide {
  transform-origin: center bottom;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
}

body.compensate-for-scrollbar {
  overflow: hidden;
}

.fancybox-active {
  height: auto;
}

.fancybox-is-hidden {
  left: -9999px;
  margin: 0;
  position: absolute !important;
  top: -9999px;
  visibility: hidden;
}

.fancybox-container {
  -webkit-backface-visibility: hidden;
  height: 100%;
  left: 0;
  outline: none;
  position: fixed;
  -webkit-tap-highlight-color: transparent;
  top: 0;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  transform: translateZ(0);
  width: 100%;
  z-index: 99999999;
}

.fancybox-container * {
  box-sizing: border-box;
}

.fancybox-outer,
.fancybox-inner,
.fancybox-bg,
.fancybox-stage {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.fancybox-outer {
  -webkit-overflow-scrolling: touch;
  overflow-y: auto;
}

.fancybox-bg {
  background: rgb(30, 30, 30);
  opacity: 0;
  transition-duration: inherit;
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.47, 0, 0.74, 0.71);
}

.fancybox-is-open .fancybox-bg {
  opacity: 0.9;
  transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
}

.fancybox-infobar,
.fancybox-toolbar,
.fancybox-caption,
.fancybox-navigation .fancybox-button {
  direction: ltr;
  opacity: 0;
  position: absolute;
  transition: opacity 0.25s ease, visibility 0s ease 0.25s;
  visibility: hidden;
  z-index: 99997;
}

.fancybox-show-infobar .fancybox-infobar,
.fancybox-show-toolbar .fancybox-toolbar,
.fancybox-show-caption .fancybox-caption,
.fancybox-show-nav .fancybox-navigation .fancybox-button {
  opacity: 1;
  transition: opacity 0.25s ease 0s, visibility 0s ease 0s;
  visibility: visible;
}

.fancybox-infobar {
  color: #ccc;
  font-size: 13px;
  -webkit-font-smoothing: subpixel-antialiased;
  height: 44px;
  left: 0;
  line-height: 44px;
  min-width: 44px;
  mix-blend-mode: difference;
  padding: 0 10px;
  pointer-events: none;
  top: 0;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.fancybox-toolbar {
  right: 0;
  top: 0;
}

.fancybox-stage {
  direction: ltr;
  overflow: visible;
  transform: translateZ(0);
  z-index: 99994;
}

.fancybox-is-open .fancybox-stage {
  overflow: hidden;
}

.fancybox-slide {
  -webkit-backface-visibility: hidden;
  /* Using without prefix would break IE11 */
  display: none;
  height: 100%;
  left: 0;
  outline: none;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding: 44px;
  position: absolute;
  text-align: center;
  top: 0;
  transition-property: transform, opacity;
  white-space: normal;
  width: 100%;
  z-index: 99994;
}

.fancybox-slide::before {
  content: "";
  display: inline-block;
  font-size: 0;
  height: 100%;
  vertical-align: middle;
  width: 0;
}

.fancybox-is-sliding .fancybox-slide,
.fancybox-slide--previous,
.fancybox-slide--current,
.fancybox-slide--next {
  display: block;
}

.fancybox-slide--image {
  overflow: hidden;
  padding: 44px 0;
}

.fancybox-slide--image::before {
  display: none;
}

.fancybox-slide--html {
  padding: 6px;
}

.fancybox-content {
  background: #fff;
  display: inline-block;
  margin: 0;
  max-width: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding: 44px;
  position: relative;
  text-align: left;
  vertical-align: middle;
}

.fancybox-slide--image .fancybox-content {
  animation-timing-function: cubic-bezier(0.5, 0, 0.14, 1);
  -webkit-backface-visibility: hidden;
  background: transparent;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  left: 0;
  max-width: none;
  overflow: visible;
  padding: 0;
  position: absolute;
  top: 0;
  -ms-transform-origin: top left;
  transform-origin: top left;
  transition-property: transform, opacity;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  z-index: 99995;
}

.fancybox-can-zoomOut .fancybox-content {
  cursor: zoom-out;
}

.fancybox-can-zoomIn .fancybox-content {
  cursor: zoom-in;
}

.fancybox-can-swipe .fancybox-content,
.fancybox-can-pan .fancybox-content {
  cursor: -webkit-grab;
  cursor: grab;
}

.fancybox-is-grabbing .fancybox-content {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

.fancybox-container [data-selectable=true] {
  cursor: text;
}

.fancybox-image,
.fancybox-spaceball {
  background: transparent;
  border: 0;
  height: 100%;
  left: 0;
  margin: 0;
  max-height: none;
  max-width: none;
  padding: 0;
  position: absolute;
  top: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  width: 100%;
}

.fancybox-spaceball {
  z-index: 1;
}

.fancybox-slide--video .fancybox-content,
.fancybox-slide--map .fancybox-content,
.fancybox-slide--pdf .fancybox-content,
.fancybox-slide--iframe .fancybox-content {
  height: 100%;
  overflow: visible;
  padding: 0;
  width: 100%;
}

.fancybox-slide--video .fancybox-content {
  background: #000;
}

.fancybox-slide--map .fancybox-content {
  background: #e5e3df;
}

.fancybox-slide--iframe .fancybox-content {
  background: #fff;
}

.fancybox-video,
.fancybox-iframe {
  background: transparent;
  border: 0;
  display: block;
  height: 100%;
  margin: 0;
  overflow: hidden;
  padding: 0;
  width: 100%;
}

/* Fix iOS */
.fancybox-iframe {
  left: 0;
  position: absolute;
  top: 0;
}

.fancybox-error {
  background: #fff;
  cursor: default;
  max-width: 400px;
  padding: 40px;
  width: 100%;
}

.fancybox-error p {
  color: #444;
  font-size: 16px;
  line-height: 20px;
  margin: 0;
  padding: 0;
}

/* Buttons */
.fancybox-button {
  background: rgba(30, 30, 30, 0.6);
  border: 0;
  border-radius: 0;
  box-shadow: none;
  cursor: pointer;
  display: inline-block;
  height: 44px;
  margin: 0;
  padding: 10px;
  position: relative;
  transition: color 0.2s;
  vertical-align: top;
  visibility: inherit;
  width: 44px;
}

.fancybox-button,
.fancybox-button:visited,
.fancybox-button:link {
  color: #ccc;
}

.fancybox-button:hover {
  color: #fff;
}

.fancybox-button:focus {
  outline: none;
}

.fancybox-button.fancybox-focus {
  outline: 1px dotted;
}

.fancybox-button[disabled],
.fancybox-button[disabled]:hover {
  color: #888;
  cursor: default;
  outline: none;
}

/* Fix IE11 */
.fancybox-button div {
  height: 100%;
}

.fancybox-button svg {
  display: block;
  height: 100%;
  overflow: visible;
  position: relative;
  width: 100%;
}

.fancybox-button svg path {
  fill: currentColor;
  stroke-width: 0;
}

.fancybox-button--play svg:nth-child(2),
.fancybox-button--fsenter svg:nth-child(2) {
  display: none;
}

.fancybox-button--pause svg:nth-child(1),
.fancybox-button--fsexit svg:nth-child(1) {
  display: none;
}

.fancybox-progress {
  background: #ff5268;
  height: 2px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  -ms-transform: scaleX(0);
  transform: scaleX(0);
  -ms-transform-origin: 0;
  transform-origin: 0;
  transition-property: transform;
  transition-timing-function: linear;
  z-index: 99998;
}

/* Close button on the top right corner of html content */
.fancybox-close-small {
  background: transparent;
  border: 0;
  border-radius: 0;
  color: #ccc;
  cursor: pointer;
  opacity: 0.8;
  padding: 8px;
  position: absolute;
  right: -12px;
  top: -44px;
  z-index: 401;
}

.fancybox-close-small:hover {
  color: #fff;
  opacity: 1;
}

.fancybox-slide--html .fancybox-close-small {
  color: currentColor;
  padding: 10px;
  right: 0;
  top: 0;
}

.fancybox-slide--image.fancybox-is-scaling .fancybox-content {
  overflow: hidden;
}

.fancybox-is-scaling .fancybox-close-small,
.fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small {
  display: none;
}

/* Navigation arrows */
.fancybox-navigation .fancybox-button {
  background-clip: content-box;
  height: 100px;
  opacity: 0;
  position: absolute;
  top: calc(50% - 50px);
  width: 70px;
}

.fancybox-navigation .fancybox-button div {
  padding: 7px;
}

.fancybox-navigation .fancybox-button--arrow_left {
  left: 0;
  left: env(safe-area-inset-left);
  padding: 31px 26px 31px 6px;
}

.fancybox-navigation .fancybox-button--arrow_right {
  padding: 31px 6px 31px 26px;
  right: 0;
  right: env(safe-area-inset-right);
}

/* Caption */
.fancybox-caption {
  background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.3) 50%, rgba(0, 0, 0, 0.15) 65%, rgba(0, 0, 0, 0.075) 75.5%, rgba(0, 0, 0, 0.037) 82.85%, rgba(0, 0, 0, 0.019) 88%, rgba(0, 0, 0, 0) 100%);
  bottom: 0;
  color: #eee;
  font-size: 14px;
  font-weight: 400;
  left: 0;
  line-height: 1.5;
  padding: 75px 44px 25px 44px;
  pointer-events: none;
  right: 0;
  text-align: center;
  z-index: 99996;
}

@supports (padding: max(0px)) {
  .fancybox-caption {
    padding: 75px max(44px, env(safe-area-inset-right)) max(25px, env(safe-area-inset-bottom)) max(44px, env(safe-area-inset-left));
  }
}
.fancybox-caption--separate {
  margin-top: -50px;
}

.fancybox-caption__body {
  max-height: 50vh;
  overflow: auto;
  pointer-events: all;
}

.fancybox-caption a,
.fancybox-caption a:link,
.fancybox-caption a:visited {
  color: #ccc;
  text-decoration: none;
}

.fancybox-caption a:hover {
  color: #fff;
  text-decoration: underline;
}

/* Loading indicator */
.fancybox-loading {
  animation: fancybox-rotate 1s linear infinite;
  background: transparent;
  border: 4px solid #888;
  border-bottom-color: #fff;
  border-radius: 50%;
  height: 50px;
  left: 50%;
  margin: -25px 0 0 -25px;
  opacity: 0.7;
  padding: 0;
  position: absolute;
  top: 50%;
  width: 50px;
  z-index: 99999;
}

@keyframes fancybox-rotate {
  100% {
    transform: rotate(360deg);
  }
}
/* Transition effects */
.fancybox-animated {
  transition-timing-function: cubic-bezier(0, 0, 0.25, 1);
}

/* transitionEffect: slide */
.fancybox-fx-slide.fancybox-slide--previous {
  opacity: 0;
  transform: translate3d(-100%, 0, 0);
}

.fancybox-fx-slide.fancybox-slide--next {
  opacity: 0;
  transform: translate3d(100%, 0, 0);
}

.fancybox-fx-slide.fancybox-slide--current {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/* transitionEffect: fade */
.fancybox-fx-fade.fancybox-slide--previous,
.fancybox-fx-fade.fancybox-slide--next {
  opacity: 0;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}

.fancybox-fx-fade.fancybox-slide--current {
  opacity: 1;
}

/* transitionEffect: zoom-in-out */
.fancybox-fx-zoom-in-out.fancybox-slide--previous {
  opacity: 0;
  transform: scale3d(1.5, 1.5, 1.5);
}

.fancybox-fx-zoom-in-out.fancybox-slide--next {
  opacity: 0;
  transform: scale3d(0.5, 0.5, 0.5);
}

.fancybox-fx-zoom-in-out.fancybox-slide--current {
  opacity: 1;
  transform: scale3d(1, 1, 1);
}

/* transitionEffect: rotate */
.fancybox-fx-rotate.fancybox-slide--previous {
  opacity: 0;
  -ms-transform: rotate(-360deg);
  transform: rotate(-360deg);
}

.fancybox-fx-rotate.fancybox-slide--next {
  opacity: 0;
  -ms-transform: rotate(360deg);
  transform: rotate(360deg);
}

.fancybox-fx-rotate.fancybox-slide--current {
  opacity: 1;
  -ms-transform: rotate(0deg);
  transform: rotate(0deg);
}

/* transitionEffect: circular */
.fancybox-fx-circular.fancybox-slide--previous {
  opacity: 0;
  transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0);
}

.fancybox-fx-circular.fancybox-slide--next {
  opacity: 0;
  transform: scale3d(0, 0, 0) translate3d(100%, 0, 0);
}

.fancybox-fx-circular.fancybox-slide--current {
  opacity: 1;
  transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
}

/* transitionEffect: tube */
.fancybox-fx-tube.fancybox-slide--previous {
  transform: translate3d(-100%, 0, 0) scale(0.1) skew(-10deg);
}

.fancybox-fx-tube.fancybox-slide--next {
  transform: translate3d(100%, 0, 0) scale(0.1) skew(10deg);
}

.fancybox-fx-tube.fancybox-slide--current {
  transform: translate3d(0, 0, 0) scale(1);
}

/* Styling for Small-Screen Devices */
@media all and (max-height: 576px) {
  .fancybox-slide {
    padding-left: 6px;
    padding-right: 6px;
  }
  .fancybox-slide--image {
    padding: 6px 0;
  }
  .fancybox-close-small {
    right: -6px;
  }
  .fancybox-slide--image .fancybox-close-small {
    background: #4e4e4e;
    color: #f2f4f6;
    height: 36px;
    opacity: 1;
    padding: 6px;
    right: 0;
    top: 0;
    width: 36px;
  }
  .fancybox-caption {
    padding-left: 12px;
    padding-right: 12px;
  }
  @supports (padding: max(0px)) {
    .fancybox-caption {
      padding-left: max(12px, env(safe-area-inset-left));
      padding-right: max(12px, env(safe-area-inset-right));
    }
  }
}
/* Share */
.fancybox-share {
  background: #f4f4f4;
  border-radius: 3px;
  max-width: 90%;
  padding: 30px;
  text-align: center;
}

.fancybox-share h1 {
  color: #222;
  font-size: 35px;
  font-weight: 700;
  margin: 0 0 20px 0;
}

.fancybox-share p {
  margin: 0;
  padding: 0;
}

.fancybox-share__button {
  border: 0;
  border-radius: 3px;
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  line-height: 40px;
  margin: 0 5px 10px 5px;
  min-width: 130px;
  padding: 0 15px;
  text-decoration: none;
  transition: all 0.2s;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  white-space: nowrap;
}

.fancybox-share__button:visited,
.fancybox-share__button:link {
  color: #fff;
}

.fancybox-share__button:hover {
  text-decoration: none;
}

.fancybox-share__button--fb {
  background: #3b5998;
}

.fancybox-share__button--fb:hover {
  background: #344e86;
}

.fancybox-share__button--pt {
  background: #bd081d;
}

.fancybox-share__button--pt:hover {
  background: #aa0719;
}

.fancybox-share__button--tw {
  background: #1da1f2;
}

.fancybox-share__button--tw:hover {
  background: #0d95e8;
}

.fancybox-share__button svg {
  height: 25px;
  margin-right: 7px;
  position: relative;
  top: -1px;
  vertical-align: middle;
  width: 25px;
}

.fancybox-share__button svg path {
  fill: #fff;
}

.fancybox-share__input {
  background: transparent;
  border: 0;
  border-bottom: 1px solid #d7d7d7;
  border-radius: 0;
  color: #5d5b5b;
  font-size: 14px;
  margin: 10px 0 0 0;
  outline: none;
  padding: 10px 15px;
  width: 100%;
}

/* Thumbs */
.fancybox-thumbs {
  background: #ddd;
  bottom: 0;
  display: none;
  margin: 0;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  padding: 2px 2px 4px 2px;
  position: absolute;
  right: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  top: 0;
  width: 212px;
  z-index: 99995;
}

.fancybox-thumbs-x {
  overflow-x: auto;
  overflow-y: hidden;
}

.fancybox-show-thumbs .fancybox-thumbs {
  display: block;
}

.fancybox-show-thumbs .fancybox-inner {
  right: 212px;
}

.fancybox-thumbs__list {
  font-size: 0;
  height: 100%;
  list-style: none;
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 0;
  position: absolute;
  position: relative;
  white-space: nowrap;
  width: 100%;
}

.fancybox-thumbs-x .fancybox-thumbs__list {
  overflow: hidden;
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar {
  width: 7px;
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-track {
  background: #fff;
  border-radius: 10px;
  box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-thumb {
  background: #2a2a2a;
  border-radius: 10px;
}

.fancybox-thumbs__list a {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  background-color: rgba(0, 0, 0, 0.1);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  cursor: pointer;
  float: left;
  height: 75px;
  margin: 2px;
  max-height: calc(100% - 8px);
  max-width: calc(50% - 4px);
  outline: none;
  overflow: hidden;
  padding: 0;
  position: relative;
  -webkit-tap-highlight-color: transparent;
  width: 100px;
}

.fancybox-thumbs__list a::before {
  border: 6px solid #ff5268;
  bottom: 0;
  content: "";
  left: 0;
  opacity: 0;
  position: absolute;
  right: 0;
  top: 0;
  transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  z-index: 99991;
}

.fancybox-thumbs__list a:focus::before {
  opacity: 0.5;
}

.fancybox-thumbs__list a.fancybox-thumbs-active::before {
  opacity: 1;
}

/* Styling for Small-Screen Devices */
@media all and (max-width: 576px) {
  .fancybox-thumbs {
    width: 110px;
  }
  .fancybox-show-thumbs .fancybox-inner {
    right: 110px;
  }
  .fancybox-thumbs__list a {
    max-width: calc(100% - 10px);
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFic3RyYWN0cy9fdmFyaWFibGVzLnNjc3MiLCJ2ZW5kb3JzL19ub3JtYWxpemUuc2NzcyIsImJhc2UvX2Jhc2Uuc2NzcyIsImJhc2UvX2hlbHBlcnMuc2NzcyIsImJhc2UvX3R5cG9ncmFwaHkuc2NzcyIsImFic3RyYWN0cy9fbWVkaWEuc2NzcyIsImJhc2UvX2Zvcm1zLnNjc3MiLCJhYnN0cmFjdHMvX21peGlucy5zY3NzIiwiYmFzZS9fd2ViX2FjY2Vzc2liaWxpdHkuc2NzcyIsImxheW91dC9faGVhZGVyLnNjc3MiLCJsYXlvdXQvX2NvbW1vbi5zY3NzIiwiY29tcG9uZW50cy9fY3RhLnNjc3MiLCJjb21wb25lbnRzL19sYWJlbC1pdGVtLnNjc3MiLCJjb21wb25lbnRzL19zaW1wbGUtbGFiZWxzLnNjc3MiLCJjb21wb25lbnRzL19saW5lLWJveC5zY3NzIiwic2VjdGlvbnMvX3NlY3Rpb24taW50cm8uc2NzcyIsInNlY3Rpb25zL19zZWN0aW9uLXJldmlld3Muc2NzcyIsInNlY3Rpb25zL19zZWN0aW9uLXdpbm5pbmctY2FzZXMuc2NzcyIsInNlY3Rpb25zL19zZWN0aW9uLWN0YS1jYXJkcy5zY3NzIiwic2VjdGlvbnMvX3NlY3Rpb24tbG9nby1saW5lcy5zY3NzIiwic2VjdGlvbnMvX3NlY3Rpb24tc2VydmljZXMuc2NzcyIsInNlY3Rpb25zL19zZWN0aW9uLXRvb2xzLnNjc3MiLCJzZWN0aW9ucy9fc2VjdGlvbi1ob3Jpem9udGFsLWNhcmRzLnNjc3MiLCJzZWN0aW9ucy9fc2VjdGlvbi1zb3VyY2UtcmV2aWV3cy5zY3NzIiwic2VjdGlvbnMvX3NlY3Rpb24tdGVhbS5zY3NzIiwic2VjdGlvbnMvX3NlY3Rpb24tYW5pbWF0aW9uLXNjcmVlbi5zY3NzIiwibGF5b3V0L19mb290ZXIuc2NzcyIsInZlbmRvcnMvX3N3aXBlci1idW5kbGUubWluLnNjc3MiLCJ2ZW5kb3JzL19mYW5jeWJveC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDL0JKO0FBRUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDSTtBQUNBO0VBQ0E7QUFDQTs7O0FBR0o7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUlBO0VBQ0k7OztBQUdKO0FBQUE7QUFBQTtBQUlBO0VBQ0k7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDSTtFQUNBOzs7QUFHSjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNJO0FBQ0E7RUFDQTtBQUNBO0VBQ0E7QUFDQTs7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNJO0FBQ0E7RUFDQTtBQUNBOzs7QUFHSjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBSUE7RUFDSTs7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNJO0FBQ0E7RUFDQTtBQUNBO0VBQ0E7QUFDQTs7O0FBR0o7QUFBQTtBQUFBO0FBSUE7QUFBQTtFQUVJOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtFQUdJO0FBQ0E7RUFDQTtBQUNBOzs7QUFHSjtBQUFBO0FBQUE7QUFJQTtFQUNJOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7RUFFSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUlBO0VBQ0k7OztBQUdKO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFLSTtBQUNBO0VBQ0E7QUFDQTtFQUNBO0FBQ0E7RUFDQTtBQUNBOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFFSTtFQUNBOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFFSTtFQUNBOzs7QUFHSjtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtFQUlJOzs7QUFHSjtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtFQUlJO0VBQ0E7OztBQUdKO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0VBSUk7OztBQUdKO0FBQUE7QUFBQTtBQUlBO0VBQ0k7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU9BO0VBQ0k7QUFDQTtFQUNBO0FBQ0E7RUFDQTtBQUNBO0VBQ0E7QUFDQTtFQUNBO0FBQ0E7RUFDQTtBQUNBOzs7QUFHSjtBQUFBO0FBQUE7QUFJQTtFQUNJOzs7QUFHSjtBQUFBO0FBQUE7QUFJQTtFQUNJOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7RUFFSTtBQUNBO0VBQ0E7QUFDQTs7O0FBR0o7QUFBQTtBQUFBO0FBSUE7QUFBQTtFQUVJOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0k7QUFDQTtFQUNBO0FBQ0E7OztBQUdKO0FBQUE7QUFBQTtBQUlBO0VBQ0k7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDSTtBQUNBO0VBQ0E7QUFDQTs7O0FBR0o7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUlBO0VBQ0k7OztBQUdKO0FBQUE7QUFBQTtBQUlBO0VBQ0k7OztBQUdKO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFJQTtFQUNJOzs7QUFHSjtBQUFBO0FBQUE7QUFJQTtFQUNJOzs7QUN2WEo7RUFDSTtFQUNBOzs7QUFHSjtBQUFBO0FBQUE7RUFHSTs7O0FBR0o7RUFDSTs7O0FBSUo7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBWUk7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBbUJJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FB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O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0FBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7QUFBQTtBQUFBO0FBQUE7RUFJSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtBQUFBO0VBRUk7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtBQUFBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtFQUlJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtBQUFBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7QUFDQTtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtBQUFBO0FBQUE7RUFHSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7QUFBQTtFQUVJO0VBQ0E7RUFDQTs7O0FBR0o7QUFDQTtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7QUFBQTtFQUVJOzs7QUFHSjtBQUFBO0VBRUk7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0FBQUE7RUFFSTs7O0FBR0o7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtBQUVBO0VBQ0k7RUFRQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0lBQ0k7OztBQUlSO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtBQUFBO0FBQUE7RUFHSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0lBQ0k7OztBQUlSO0FBRUE7RUFDSTs7O0FBR0o7QUFFQTtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtBQUVBO0FBQUE7RUFFSTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtBQUVBO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0FBRUE7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7QUFFQTtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtBQUVBO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0FBQ0E7RUFDSTtJQUNJO0lBQ0E7O0VBR0o7SUFDSTs7RUFHSjtJQUNJOztFQUdKO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHSjtJQUNJO0lBQ0E7O0VBR0o7SUFDSTtNQUNJO01BQ0E7Ozs7QUFJWjtBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtBQUFBO0VBRUk7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7QUFDQTtFQUNJO0lBQ0k7O0VBR0o7SUFDSTs7RUFHSjtJQUNJIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29sb3JzXG4vLyBDb2xvciBjYWxjdWxhdG9yIC0gaHR0cDovL3Jhem9yamFtLmdpdGh1Yi5pby9zYXNzY29sb3VyZnVuY3Rpb25jYWxjdWxhdG9yL1xuLy8gQ29sb3IgbmFtZXMgLSBodHRwOi8vbmFtZS1vZi1jb2xvci5jb20vXG4vLyBDb2xvciBzeXN0ZW1cblxuQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwic2Fzczpjb2xvclwiO1xuXG46cm9vdCB7XG4gICAgLS13aGl0ZTogI2ZmZjtcbiAgICAtLWJsYWNrOiAjMDAwO1xuICAgIC0tZGFyazogIzAwMDYxODtcbiAgICAtLWRhcmstMTAwOiAjMDAwQzMxO1xuICAgIC0tZGFyay0yMDA6ICMxMDFGNTE7XG4gICAgLS1kYXJrLTMwMDogIzE0MjM1MDtcbiAgICAtLWRhcmstNDAwOiAjMDMwZTMxO1xuICAgIC0tZGFyay1ibHVlOiAjMDgyODhDO1xuICAgIC0tZGFyay1ibHVlMjogIzEyMjU1QztcbiAgICAtLWRhcmstYmx1ZTM6ICMwRDFENTA7XG4gICAgLS1kYXJrLWJsdWU0OiAjMDEwODIwO1xuICAgIC0tZGFyay1ibHVlNTogIzg3OURFMjtcbiAgICAtLWRhcmstYmx1ZTY6ICNBN0FEQkU7XG4gICAgLS1saWdodC1ibHVlOiAjQjhDOEZGO1xuICAgIC0tbGlnaHQtYmx1ZS0xMDA6ICNCOENBRkY7XG4gICAgLS1saWdodC1ibHVlLTIwMDogIzk3QTVDRTtcbiAgICAtLXBlcml3aW5rbGUtYmx1ZTogI0I4QzVFQztcbiAgICAtLWdyZWVuOiAjNkFDQzUwO1xuICAgIC0tVGV4dC1jb2xvcjogIzNGM0YzRjtcbiAgICAtLUJsdWU6ICMwODI4OEI7XG4gICAgLS1PcmFuZ2U6ICNGMTZCMzc7XG4gICAgLS10ZXh0LWNvbG9yLTIwOiAjNkQ3NzkyO1xuICAgIC0tRGFyay1ibHVlOiAjMDEyNTg1O1xufVxuXG4kd2hpdGU6ICNmZmYgIWRlZmF1bHQ7XG4kZ3JheTogI2RkZCAhZGVmYXVsdDtcbiRncmF5LTEwMDogI2Y4ZjlmYSAhZGVmYXVsdDtcbiRncmF5LTIwMDogI2U5ZWNlZiAhZGVmYXVsdDtcbiRncmF5LTMwMDogI2RlZTJlNiAhZGVmYXVsdDtcbiRncmF5LTQwMDogI2NlZDRkYSAhZGVmYXVsdDtcbiRncmF5LTUwMDogI2FkYjViZCAhZGVmYXVsdDtcbiRncmF5LTYwMDogIzZjNzU3ZCAhZGVmYXVsdDtcbiRncmF5LTcwMDogIzQ5NTA1NyAhZGVmYXVsdDtcbiRncmF5LTgwMDogIzM0M2E0MCAhZGVmYXVsdDtcbiRncmF5LTkwMDogIzIxMjUyOSAhZGVmYXVsdDtcbiRibGFjazogIzAwMCAhZGVmYXVsdDtcblxuJGdyYXlzOiAoXG4gICAgKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kZ3JheXM6IG1hcC5tZXJnZSgoXCIxMDBcIjogJGdyYXktMTAwLFxuICAgICAgICAgICAgXCIyMDBcIjogJGdyYXktMjAwLFxuICAgICAgICAgICAgXCIzMDBcIjogJGdyYXktMzAwLFxuICAgICAgICAgICAgXCI0MDBcIjogJGdyYXktNDAwLFxuICAgICAgICAgICAgXCI1MDBcIjogJGdyYXktNTAwLFxuICAgICAgICAgICAgXCI2MDBcIjogJGdyYXktNjAwLFxuICAgICAgICAgICAgXCI3MDBcIjogJGdyYXktNzAwLFxuICAgICAgICAgICAgXCI4MDBcIjogJGdyYXktODAwLFxuICAgICAgICAgICAgXCI5MDBcIjogJGdyYXktOTAwICksXG4gICAgICAgICRncmF5c1xuKTtcblxuJGJsdWU6ICMwMDdiZmYgIWRlZmF1bHQ7XG4kaW5kaWdvOiAjNjYxMGYyICFkZWZhdWx0O1xuJHB1cnBsZTogIzZmNDJjMSAhZGVmYXVsdDtcbiRwaW5rOiAjZTgzZThjICFkZWZhdWx0O1xuJHJlZDogI2RjMzU0NSAhZGVmYXVsdDtcbiRvcmFuZ2U6ICNmZDdlMTQgIWRlZmF1bHQ7XG4keWVsbG93OiAjZmZjMTA3ICFkZWZhdWx0O1xuJGdyZWVuOiAjMjhhNzQ1ICFkZWZhdWx0O1xuJHRlYWw6ICMyMGM5OTcgIWRlZmF1bHQ7XG4kY3lhbjogIzE3YTJiOCAhZGVmYXVsdDtcblxuJGNvbG9yczogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGNvbG9yczogbWFwLm1lcmdlKFxuXHRcdChcImJsdWVcIjogJGJsdWUsXG4gICAgICAgICAgICBcImluZGlnb1wiOiAkaW5kaWdvLFxuICAgICAgICAgICAgXCJwdXJwbGVcIjogJHB1cnBsZSxcbiAgICAgICAgICAgIFwicGlua1wiOiAkcGluayxcbiAgICAgICAgICAgIFwicmVkXCI6ICRyZWQsXG4gICAgICAgICAgICBcIm9yYW5nZVwiOiAkb3JhbmdlLFxuICAgICAgICAgICAgXCJ5ZWxsb3dcIjogJHllbGxvdyxcbiAgICAgICAgICAgIFwiZ3JlZW5cIjogJGdyZWVuLFxuICAgICAgICAgICAgXCJ0ZWFsXCI6ICR0ZWFsLFxuICAgICAgICAgICAgXCJjeWFuXCI6ICRjeWFuLFxuICAgICAgICAgICAgXCJ3aGl0ZVwiOiAkd2hpdGUsXG4gICAgICAgICAgICBcImdyYXlcIjogJGdyYXktNjAwLFxuICAgICAgICAgICAgXCJncmF5LWRhcmtcIjogJGdyYXktODAwICksXG4gICAgICAgICRjb2xvcnNcbik7XG5cbiRwcmltYXJ5OiAkYmx1ZSAhZGVmYXVsdDtcbiRzZWNvbmRhcnk6ICRncmF5LTYwMCAhZGVmYXVsdDtcbiRzdWNjZXNzOiAkZ3JlZW4gIWRlZmF1bHQ7XG4kaW5mbzogJGN5YW4gIWRlZmF1bHQ7XG4kd2FybmluZzogJHllbGxvdyAhZGVmYXVsdDtcbiRkYW5nZXI6ICRyZWQgIWRlZmF1bHQ7XG4kbGlnaHQ6ICRncmF5LTEwMCAhZGVmYXVsdDtcbiRkYXJrOiAkZ3JheS04MDAgIWRlZmF1bHQ7XG5cbiR0aGVtZS1jb2xvcnM6ICgpICFkZWZhdWx0O1xuXG4kdGhlbWUtY29sb3JzOiBtYXAubWVyZ2UoKFwicHJpbWFyeVwiOiAkcHJpbWFyeSxcbiAgICAgICAgICAgIFwic2Vjb25kYXJ5XCI6ICRzZWNvbmRhcnksXG4gICAgICAgICAgICBcInN1Y2Nlc3NcIjogJHN1Y2Nlc3MsXG4gICAgICAgICAgICBcImluZm9cIjogJGluZm8sXG4gICAgICAgICAgICBcIndhcm5pbmdcIjogJHdhcm5pbmcsXG4gICAgICAgICAgICBcImRhbmdlclwiOiAkZGFuZ2VyLFxuICAgICAgICAgICAgXCJsaWdodFwiOiAkbGlnaHQsXG4gICAgICAgICAgICBcImRhcmtcIjogJGRhcmsgKSxcbiAgICAgICAgJHRoZW1lLWNvbG9yc1xuKTtcblxuLy8gZm9udHMgbmFtZVxuJGJhc2UtZm9udC1zYW5zLXNlcmlmOiAnVWJ1bnR1JywgJ0hlbHZldGljYSBOZXVlJywgJ0hlbHZldGljYScsIHNhbnMtc2VyaWY7XG4kYmFzZS1mb250LXNlcmlmOiAnVGltZXMgTmV3IFJvbWFuJywgJ1RpbWVzJywgJ0Jhc2tlcnZpbGxlJywgJ0dlb3JnaWEnLCBzZXJpZjtcblxuJHBsYXlmYWlyLWRpc3BsYXktZm9udDogJ1BsYXlmYWlyIERpc3BsYXknLCBzZXJpZjtcbiRwbGF5ZmFpci1mb250OiAnUGxheWZhaXInLCBzZXJpZjtcbiRiYXNlLWZvbnQ6ICRiYXNlLWZvbnQtc2Fucy1zZXJpZjtcblxuLy8gQm9keVxuJGJhc2UtdGV4dC1jb2xvcjogdmFyKC0td2hpdGUpICFkZWZhdWx0O1xuJGJhc2UtYmFja2dyb3VuZC1ib2R5OiB2YXIoLS1kYXJrKSAhZGVmYXVsdDtcbiRiYXNlLWJhY2tncm91bmQtZm9vdGVyOiAkYmFzZS1iYWNrZ3JvdW5kLWJvZHkgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWJhc2U6IDE0cHggIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtYmFzZTogMS41NyAhZGVmYXVsdDtcbiRmb250LXNpemUtYmFzZS1sYWdyZTogMTZweCAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1iYXNlLWxhZ3JlOiAxLjU3ICFkZWZhdWx0O1xuJGJhc2UtZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQgIWRlZmF1bHQ7XG4kYmFzZS1taW4td2lkdGg6IDMyMHB4O1xuXG4vLyBiYXNlIHZhcmlhYmxlc1xuJGJhc2UtcmFkaXVzOiAwO1xuJGJhc2UtcmFkaXVzLXNtYWxsOiAwO1xuXG4kcmVtLWJhc2U6IDE2cHggIWRlZmF1bHQ7XG5cbi8vIGNvbnRhaW5lciBzZXR0aW5nc1xuJG1heC13aWR0aC1jZW50ZXItY29udGFpbmVyOiAxMzUwcHg7XG4kZ3V0dGVyOiAxOHB4O1xuJHBhZGRpbmctY29udGFpbmVyOiAwICRndXR0ZXI7XG5cbiRncmlkLWdhcDogMTVweCAhZGVmYXVsdDtcblxuXG4vLyBncmlkIHN5c3RlbVxuJGdyaWQ6IChcbiAgICBwaDogJ3Bob25lJyxcbiAgICBzbTogJ3RhYmxldCcsXG4gICAgbWQ6ICdkZXNrdG9wJ1xuKTtcblxuLy8gZm9udCB3ZWlnaHRcbiR0aGluOiAxMDA7XG4kbGlnaHQtZm9udDogMzAwO1xuJG5vcm1hbDogNDAwO1xuJG1lZGl1bTogNTAwO1xuJHNlbWlib2xkOiA2MDA7XG4kYm9sZDogNzAwO1xuJGV4dHJhOiA4MDA7XG4kYmxhY2stZm9udDogOTAwO1xuXG4vLyBkZWZhdWx0IG1hcmdpbnNcbiR2ZXJ0aWNhbC1yaHl0aG06ICRmb250LXNpemUtYmFzZSArIDQ7XG4kd2lkZ2V0LW1hcmdpbjogMjBweDtcblxuLy8gTGlua3NcbiRiYXNlLWxpbmstY29sb3I6ICRibHVlO1xuJGJhc2UtbGluay1ob3Zlci1jb2xvcjogJGJsYWNrO1xuJHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiR0ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XG5cbi8vIGhlYWRpbmdzIHN0eWxlXG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICdHaWxyb3knLCBzYW5zLXNlcmlmO1xuJGhlYWRpbmdzLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLyBCdXR0b25zXG4kYnRuLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzOiA1cHggIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmc6IDEwcHggMjBweCAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy1zbTogNXB4IDEwcHggIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmctbGc6IDIwcHggNDBweCAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplOiAxNXB4ICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUtc206IDEycHggIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS1sZzogMThweCAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQ6ICRidG4tZm9udC1zaXplICsgMjtcbiRidG4tbGluZS1oZWlnaHQtc206ICRidG4tZm9udC1zaXplLXNtICsgMjtcbiRidG4tbGluZS1oZWlnaHQtbGc6ICRidG4tZm9udC1zaXplLWxnICsgMjtcblxuLy8gYnRuIGRlZmF1bHRcbiRidG4tY29sb3ItZGVmYXVsdDogJHdoaXRlICFkZWZhdWx0O1xuJGJ0bi1iYWNrZ3JvdW5kLWRlZmF1bHQ6ICRibGFjayAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLWNvbG9yLWRlZmF1bHQ6ICRidG4tYmFja2dyb3VuZC1kZWZhdWx0ICFkZWZhdWx0O1xuXG4vLyBob3ZlclxuJGJ0bi1ob3Zlci1jb2xvci1kZWZhdWx0OiAkYnRuLWJhY2tncm91bmQtZGVmYXVsdCAhZGVmYXVsdDtcbiRidG4taG92ZXItYmFja2dyb3VuZC1kZWZhdWx0OiAkYnRuLWNvbG9yLWRlZmF1bHQgIWRlZmF1bHQ7XG4kYnRuLWhvdmVyLWJvcmRlci1jb2xvci1kZWZhdWx0OiAkYnRuLWJhY2tncm91bmQtZGVmYXVsdCAhZGVmYXVsdDtcblxuLy8gYnRuIHByaW1hcnlcbiRidG4tY29sb3ItcHJpbWFyeTogJHdoaXRlICFkZWZhdWx0O1xuJGJ0bi1iYWNrZ3JvdW5kLXByaW1hcnk6ICRwcmltYXJ5ICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItY29sb3ItcHJpbWFyeTogJHByaW1hcnkgIWRlZmF1bHQ7XG4vLyBob3ZlclxuJGJ0bi1ob3Zlci1jb2xvci1wcmltYXJ5OiAkd2hpdGUgIWRlZmF1bHQ7XG4kYnRuLWhvdmVyLWJhY2tncm91bmQtcHJpbWFyeTogcmdiYSgkY29sb3I6ICRwcmltYXJ5LCAkYWxwaGE6IDEwJSkgIWRlZmF1bHQ7XG4kYnRuLWhvdmVyLWJvcmRlci1jb2xvci1wcmltYXJ5OiAkYnRuLWhvdmVyLWJhY2tncm91bmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuLy8gYnRuIHNlY29uZGFyeVxuJGJ0bi1jb2xvci1zZWNvbmRhcnk6ICR3aGl0ZSAhZGVmYXVsdDtcbiRidG4tYmFja2dyb3VuZC1zZWNvbmRhcnk6ICRzZWNvbmRhcnkgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1jb2xvci1zZWNvbmRhcnk6ICRzZWNvbmRhcnkgIWRlZmF1bHQ7XG4vLyBob3ZlclxuJGJ0bi1ob3Zlci1jb2xvci1zZWNvbmRhcnk6ICR3aGl0ZSAhZGVmYXVsdDtcbiRidG4taG92ZXItYmFja2dyb3VuZC1zZWNvbmRhcnk6IHJnYmEoJGNvbG9yOiAkc2Vjb25kYXJ5LCAkYWxwaGE6IDEwJSkgIWRlZmF1bHQ7XG4kYnRuLWhvdmVyLWJvcmRlci1jb2xvci1zZWNvbmRhcnk6ICRzZWNvbmRhcnkgIWRlZmF1bHQ7XG5cbi8vIEZvcm1zXG4kaW5wdXQtZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7IC8vIGZvbnQgc2l6ZSBmb3IgZm9ybXMgZWxlbWVudHNcbiRpbnB1dC1saW5lLWhlaWdodDogJGlucHV0LWZvbnQtc2l6ZSArIDI7IC8vIGxpbmUgaGVpZ2h0IGZvciBmb3JtcyBlbGVtZW50c1xuJGlucHV0LWZvbnQtZmFtaWx5OiAkYmFzZS1mb250O1xuJGlucHV0LXBhZGRpbmctdmVydGljYWw6IDEwcHggIWRlZmF1bHQ7IC8vIHBhZGRpbmcgZm9yIGZvcm1zIGVsZW1lbnRzXG4kaW5wdXQtcGFkZGluZy1ob3Jpem9udGFsOiAyMHB4ICFkZWZhdWx0OyAvLyBwYWRkaW5nIGZvciBmb3JtcyBlbGVtZW50c1xuJGlucHV0LXBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXZlcnRpY2FsICRpbnB1dC1wYWRkaW5nLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7IC8vIGJvcmRlciBpbnB1dCdzIHdpZHRoXG4kaW5wdXQtYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkICRibGFjayAhZGVmYXVsdDsgLy8gYm9yZGVyIGZvciBmb3JtcyBlbGVtZW50c1xuJGlucHV0LWJvcmRlci1yYWRpdXM6IDAgIWRlZmF1bHQ7IC8vIGJvcmRlciByYWRpdXMgZm9yIGZvcm1zIGVsZW1lbnRzXG4kaW5wSDogJGlucHV0LWJvcmRlci13aWR0aCArIDIgKiAkaW5wdXQtcGFkZGluZy12ZXJ0aWNhbCArICRpbnB1dC1saW5lLWhlaWdodDtcbiRpbnB1dC1oZWlnaHQ6IChcbiAgICAyICogKCRpbnB1dC1ib3JkZXItd2lkdGggKyAkaW5wdXQtcGFkZGluZy12ZXJ0aWNhbCkgKyAkaW5wdXQtbGluZS1oZWlnaHQpICFkZWZhdWx0OyAvLyBoZWlnaHQgZm9yIGZvcm1zIGVsZW1lbnRzXG4vL3N1Ym1pdFxuJHN1Ym1pdC1iYWNrZ3JvdW5kOiAkYnRuLWJhY2tncm91bmQtZGVmYXVsdDtcbiRzdWJtaXQtY29sb3I6ICRidG4tY29sb3ItZGVmYXVsdDtcbiRzdWJtaXQtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuJHN1Ym1pdC1ib3JkZXItd2lkdGg6ICRidG4tYm9yZGVyLXdpZHRoO1xuJHN1Ym1pdC1ib3JkZXItc3R5bGU6IHNvbGlkO1xuJHN1Ym1pdC1ib3JkZXItY29sb3I6ICRidG4tYm9yZGVyLWNvbG9yLWRlZmF1bHQ7XG4kc3VibWl0LXBhZGRpbmc6ICRidG4tcGFkZGluZztcbiRzdWJtaXQtZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuJHN1Ym1pdC1saW5lLWhlaWdodDogJGJ0bi1saW5lLWhlaWdodDtcbiRzdWJtaXQtcmFkaXVzOiAkYnRuLWJvcmRlci1yYWRpdXM7XG4vLyBzdWJtaXQgaG92ZXJcbiRzdWJtaXQtaG92ZXItYmFja2dyb3VuZDogJHN1Ym1pdC1jb2xvcjsgLy8gc3VibWl0IGJhY2tncm91bmQgaG92ZXJcbiRzdWJtaXQtaG92ZXItY29sb3I6ICRzdWJtaXQtYmFja2dyb3VuZDsgLy8gc3VibWl0IGNvbG9yIGhvdmVyXG4kc3VibWl0LWhvdmVyLWJvcmRlci1jb2xvcjogJHN1Ym1pdC1iYWNrZ3JvdW5kOyAvLyBzdWJtaXQgY29sb3IgaG92ZXJcblxuLy9mb2N1c1xuJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjogJGJsYWNrICFkZWZhdWx0OyAvLyBib3JkZXIgY29sb3IgZm9yIGZvcm1zIGVsZW1lbnRzXG4vL3BsYWNlaG9sZGVyXG4kcGxhY2Vob2xkZXItY29sb3I6ICRncmF5ICFkZWZhdWx0O1xuLy8gc2VsZWN0XG4kc2VsZWN0LWhlaWdodDogJGlucHV0LWhlaWdodDtcbiRzZWxlY3QtYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuJHNlbGVjdC1ib3JkZXItcmFkaXVzOiAkaW5wdXQtYm9yZGVyLXJhZGl1cztcbiRzZWxlY3QtcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG4kc2VsZWN0LWZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiRzZWxlY3QtbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcblxuLy8gYW5pbWF0aW9uIHNwZWVkXG4kYW5pbWF0aW9uLXNwZWVkOiAwLjVzOyIsIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cblxuaHRtbCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gICAgLyogMSAqL1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgICAvKiAyICovXG59XG5cbi8qIFNlY3Rpb25zXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICAgKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuXG5ib2R5IHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICAgKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cbiAgICovXG5cbm1haW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAgICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAgKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICAgKi9cblxuaDEge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gICAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICAgKi9cblxuaHIge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIC8qIDEgKi9cbiAgICBoZWlnaHQ6IDA7XG4gICAgLyogMSAqL1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIC8qIDIgKi9cbn1cblxuLyoqXG4gICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5cbnByZSB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAgIC8qIDEgKi9cbiAgICBmb250LXNpemU6IDFlbTtcbiAgICAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICAgKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAqL1xuXG5hIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gICAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gICAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAvKiAxICovXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgLyogMiAqL1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgICAvKiAyICovXG59XG5cbi8qKlxuICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICAgKi9cblxuYixcbnN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gICAgLyogMSAqL1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIC8qIDIgKi9cbn1cblxuLyoqXG4gICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cblxuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gICAqIGFsbCBicm93c2Vycy5cbiAgICovXG5cbnN1YixcbnN1cCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gICAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gICAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gICAqL1xuXG5pbWcge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyogRm9ybXNcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gICAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICAgKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gICAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIC8qIDEgKi9cbiAgICBmb250LXNpemU6IDEwMCU7XG4gICAgLyogMSAqL1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAgIC8qIDEgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgLyogMiAqL1xufVxuXG4vKipcbiAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gICAqL1xuXG5idXR0b24sXG5pbnB1dCB7XG4gICAgLyogMSAqL1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAgICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gICAgLyogMSAqL1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAgICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICovXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuLyoqXG4gICAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gICAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICAgKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gICAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAgICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgKi9cblxuZmllbGRzZXQge1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gICAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gICAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAgKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5cbmxlZ2VuZCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAvKiAxICovXG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgLyogMiAqL1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIC8qIDEgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgLyogMyAqL1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgLyogMSAqL1xufVxuXG4vKipcbiAgICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICovXG5cbnByb2dyZXNzIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qKlxuICAgKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAgICovXG5cbnRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gICAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAvKiAxICovXG4gICAgcGFkZGluZzogMDtcbiAgICAvKiAyICovXG59XG5cbi8qKlxuICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICAgKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gICAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gICAgLyogMSAqL1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAgIC8qIDIgKi9cbn1cblxuLyoqXG4gICAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAgICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gICAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgICAvKiAxICovXG4gICAgZm9udDogaW5oZXJpdDtcbiAgICAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gICAqL1xuXG5kZXRhaWxzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cblxuc3VtbWFyeSB7XG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBNaXNjXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gICAqL1xuXG50ZW1wbGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICAgKi9cblxuW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59IiwiQHVzZSAnLi4vYWJzdHJhY3RzLycgYXMgKjtcblxuaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG59XG5cbiosXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbioge1xuICAgIG1heC1oZWlnaHQ6IDEwMDAwMDBweDtcbn1cblxuLy8tIEhUTUw1IGRpc3BsYXktcm9sZSByZXNldCBmb3Igb2xkZXIgYnJvd3NlcnNcbm1haW4sXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1lbnUsXG5uYXYsXG5zZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxudWwsXG5vbCxcbmRsLFxucCxcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbmFkZHJlc3MsXG5mb3JtLFxudGFibGUsXG5ibG9ja3F1b3RlLFxuYXBwbGV0LFxuZW1iZWQsXG5vYmplY3QsXG5pZnJhbWUsXG5mcmFtZXNldCB7XG4gICAgbWFyZ2luOiAwIDAgJHZlcnRpY2FsLXJoeXRobTtcbn1cblxuYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAkZ3JheTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbnRhYmxlIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xufVxuXG50aCxcbnRkIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheTtcbiAgICBwYWRkaW5nOiAzcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG50aCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbnVsLFxub2wge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbn1cblxudWwgdWwsXG51bCBvbCxcbm9sIHVsLFxub2wgb2wge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBtYXJnaW46IDA7XG59XG5cbnVsIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG59XG5cbmRsIHtcbiAgICBAZXh0ZW5kICVjbGVhcmZpeCAhb3B0aW9uYWw7XG5cbiAgICBkdCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBjbGVhcjogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC4zZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgIGRkIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG59XG5cbnByZSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vLyBhZGFwdGl2ZSBpbWFnZXNcbmltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLy8gZ29vZ2xlIG1hcCBmaXhcbi5nbS1zdHlsZSBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTtcbn1cblxuaWZyYW1lIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4ucmVzaXplLWFjdGl2ZSAqIHtcbiAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59IiwiQHVzZSAnLi4vYWJzdHJhY3RzLycgYXMgKjtcblxuLy8gbGlzdCByZXNldFxuXG4lbGlzdHJlc2V0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vLyBjbGVhcmZpeFxuJWNsZWFyZml4IHtcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG59XG5cbi5jbGVhcmZpeCB7XG4gICAgQGV4dGVuZCAlY2xlYXJmaXg7XG59XG5cbi8vIHRyYW5zaXRpb25cbiV0cmFuc2l0aW9uIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbn1cblxuLy8ganVzdGlmeSBuYXZcbiVqdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICAgIGZvbnQtc2l6ZTogMXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuXG4gICAgPiAqIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG59XG5cbiViZ0NvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xufVxuXG4lYWJzb2x1dGVDb3ZlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbn1cblxuLy8vICogSGVscGVyIGNsYXNzIHRvIHRydW5jYXRlIGFuZCBhZGQgZWxsaXBzaXMgdG8gYSBzdHJpbmcgdG9vIGxvbmcgZm9yIGl0IHRvIGZpdFxuLy8vICogb24gYSBzaW5nbGUgbGluZS5cbi8vLyAqIDEuIFByZXZlbnQgY29udGVudCBmcm9tIHdyYXBwaW5nLCBmb3JjaW5nIGl0IG9uIGEgc2luZ2xlIGxpbmUuXG4vLy8gKiAyLiBBZGQgZWxsaXBzaXMgYXQgdGhlIGVuZCBvZiB0aGUgbGluZS5cblxuLmVsbGlwc2lzIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5kZi1yb3cge1xuXHRkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW46IDAgKC0kZ3V0dGVyKTtcblxuICAgIFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICAgICAgcGFkZGluZzogMCAkZ3V0dGVyO1xuICAgIH1cbn1cblxuLmdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC1nYXA6IDAgJGdyaWQtZ2FwO1xufSIsIi8vIFR5cG9ncmFwaHlcbkB1c2UgJy4uL2Fic3RyYWN0cycgYXMgKjtcblxuYm9keSB7XG4gICAgY29sb3I6ICRiYXNlLXRleHQtY29sb3I7XG4gICAgYmFja2dyb3VuZDogJGJhc2UtYmFja2dyb3VuZC1ib2R5O1xuICAgIGZvbnQ6ICN7JGZvbnQtc2l6ZS1iYXNlfS8jeyRsaW5lLWhlaWdodC1iYXNlfSAkYmFzZS1mb250LWZhbWlseTtcbiAgICBtaW4td2lkdGg6ICRiYXNlLW1pbi13aWR0aDtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIG1hcmdpbjogMDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCfiiaV0YWJsZXQnKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlLWxhZ3JlO1xuICAgICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2UtbGFncmU7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43MCk7XG4gICAgICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoM3B4KTtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwMDA7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI3cyBlYXNlLWluLW91dCwgdmlzaWJpbGl0eSAwLjI3cyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6aGFzKC5wcmltYXJ5LW1lbnUgPiBsaS5hY2Nlc3NpYmlsaXR5LWhvdmVyKTpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmhlYWRlci1jb2xsYXBzZS1hY3RpdmUge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGRlc2t0b3AnKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGNsaXA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmgxLCAuaDEsIGgyLCAuaDIsIGgzLCAuaDMsIGg0LCAuaDQsIGg1LCAuaDUsIGg2LCAuaDYsIC5oIHtcbiAgICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuICAgIGNvbG9yOiAkaGVhZGluZ3MtY29sb3I7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICBtYXJrIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRwbGF5ZmFpci1kaXNwbGF5LWZvbnQsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbn1cblxuaDEsIC5oMSB7XG4gICAgZm9udC1zaXplOiAzMnB4O1xuICAgIG1hcmdpbi1ib3R0b206IC45NmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICAgICAgZm9udC1zaXplOiA1NHB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC42ZW07XG4gICAgfVxufVxuXG5oMiwgLmgyIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuICAgICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgfVxufVxuXG5oNCwgLmg0IHtcbiAgICBmb250LXNpemU6IDE3cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbjogMCAwIC4yMmVtO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgICAgICBtYXJnaW46IDAgMCAwLjFlbTtcbiAgICB9XG59XG5cbnAge1xuICAgIG1hcmdpbjogMCAwIDFlbTtcbn1cblxuYSB7XG4gICAgY29sb3I6ICRiYXNlLWxpbmstY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkdGV4dC1kZWNvcmF0aW9uO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRiYXNlLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJHRleHQtZGVjb3JhdGlvbi1ob3ZlcjtcbiAgICB9XG59XG5cbmFbaHJlZio9XCJtYWlsdG86XCJdIHtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbmIsIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn0iLCIvLyAgICAgXyAgICAgICAgICAgIF8gICAgICAgICAgIF8gICAgICAgICAgICAgICAgICAgICAgICAgICBfIF9cbi8vICAgIChfKSAgICAgICAgICB8IHwgICAgICAgICB8IHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAoXylcbi8vICAgICBfIF8gX18gICBfX198IHxfICAgXyAgX198IHwgX19fICAgXyBfXyBfX18gICBfX18gIF9ffCB8XyAgX18gX1xuLy8gICAgfCB8ICdfIFxcIC8gX198IHwgfCB8IHwvIF9gIHwvIF8gXFwgfCAnXyBgIF8gXFwgLyBfIFxcLyBfYCB8IHwvIF9gIHxcbi8vICAgIHwgfCB8IHwgfCAoX198IHwgfF98IHwgKF98IHwgIF9fLyB8IHwgfCB8IHwgfCAgX18vIChffCB8IHwgKF98IHxcbi8vICAgIHxffF98IHxffFxcX19ffF98XFxfXyxffFxcX18sX3xcXF9fX3wgfF98IHxffCB8X3xcXF9fX3xcXF9fLF98X3xcXF9fLF98XG4vL1xuLy8gICAgICBTaW1wbGUsIGVsZWdhbnQgYW5kIG1haW50YWluYWJsZSBtZWRpYSBxdWVyaWVzIGluIFNhc3Ncbi8vICAgICAgICAgICAgICAgICAgICAgICAgdjIuMC4wXG4vL1xuLy8gICAgICAgIGh0dHBzOi8vZWR1YXJkb2JvdWNhcy5naXRodWIuaW8vaW5jbHVkZS1tZWRpYVxuLy9cbi8vICAgICAgICAgQXV0aG9yczogRWR1YXJkbyBCb3VjYXMgKEBlZHVhcmRvYm91Y2FzKVxuLy8gICAgICAgICAgICAgICAgICBLaXR0eSBHaXJhdWRlbCAoQGtpdHR5Z2lyYXVkZWwpXG4vL1xuLy8gICAgICBUaGlzIHByb2plY3QgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBNSVQgbGljZW5zZVxuQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBsaWJyYXJ5IHB1YmxpYyBjb25maWd1cmF0aW9uXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5AdXNlICdzYXNzOm1hdGgnO1xuQHVzZSAnc2FzczptYXAnO1xuQHVzZSAnc2FzczpsaXN0JztcbkB1c2UgJ3Nhc3M6c3RyaW5nJztcbkB1c2UgJ3Nhc3M6bWV0YSc7XG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIGdsb2JhbCBicmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCB3aXRoIHRoZSBsYWJlbCBgcGhvbmVgXG4vLy8gICRicmVha3BvaW50czogKCdwaG9uZSc6IDMyMHB4KTtcbi8vL1xuLy8vIFxuJGJyZWFrcG9pbnRzOiAoXG4gICdwaG9uZSc6IDMyMHB4LFxuICAndGFibGV0JzogNzY4cHgsXG4gICdkZXNrdG9wJzogMTAyNHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2Ygc3RhdGljIGV4cHJlc3Npb25zIG9yIG1lZGlhIHR5cGVzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBtZWRpYSB0eXBlIChzY3JlZW4pXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nOiAnc2NyZWVuJyk7XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHN0YXRpYyBleHByZXNzaW9uIHdpdGggbG9naWNhbCBkaXNqdW5jdGlvbiAoT1Igb3BlcmF0b3IpXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKFxuLy8vICAgICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJ1xuLy8vICApO1xuLy8vXG4kbWVkaWEtZXhwcmVzc2lvbnM6IChcbiAgJ3NjcmVlbic6ICdzY3JlZW4nLFxuICAncHJpbnQnOiAncHJpbnQnLFxuICAnaGFuZGhlbGQnOiAnaGFuZGhlbGQnLFxuICAnbGFuZHNjYXBlJzogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScsXG4gICdwb3J0cmFpdCc6ICcob3JpZW50YXRpb246IHBvcnRyYWl0KScsXG4gICdyZXRpbmEyeCc6XG4gICAgJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpJyxcbiAgJ3JldGluYTN4JzpcbiAgICAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMyksIChtaW4tcmVzb2x1dGlvbjogMzUwZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAzZHBweCknLFxuKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRGVmaW5lcyBhIG51bWJlciB0byBiZSBhZGRlZCBvciBzdWJ0cmFjdGVkIGZyb20gZWFjaCB1bml0IHdoZW4gZGVjbGFyaW5nIGJyZWFrcG9pbnRzIHdpdGggZXhjbHVzaXZlIGludGVydmFsc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBwaXhlbHMgaXMgZGVmaW5lZCBhcyBgMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjEyOHB4Jykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAxMjlweCkge31cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgZW1zIGlzIGRlZmluZWQgYXMgYDAuMDFgIGJ5IGRlZmF1bHRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yMGVtJykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyMC4wMWVtKSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciByZW1zIGlzIGRlZmluZWQgYXMgYDAuMWAgYnkgZGVmYXVsdCwgdG8gYmUgdXNlZCB3aXRoIGBmb250LXNpemU6IDYyLjUlO2Bcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yLjByZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIuMXJlbSkge31cbi8vL1xuJHVuaXQtaW50ZXJ2YWxzOiAoXG4gICdweCc6IDEsXG4gICdlbSc6IDAuMDEsXG4gICdyZW0nOiAwLjEsXG4gICcnOiAwLFxuKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRGVmaW5lcyB3aGV0aGVyIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgYXZhaWxhYmxlLCB1c2VmdWwgZm9yIGNyZWF0aW5nIHNlcGFyYXRlIHN0eWxlc2hlZXRzXG4vLy8gZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBtZWRpYSBxdWVyaWVzLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERpc2FibGVzIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4kaW0tbWVkaWEtc3VwcG9ydDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBicmVha3BvaW50IHRvIGVtdWxhdGUgd2hlbiBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGRpc2FibGVkLiBNZWRpYSBxdWVyaWVzIHRoYXQgc3RhcnQgYXQgb3Jcbi8vLyBpbnRlcmNlcHQgdGhlIGJyZWFrcG9pbnQgd2lsbCBiZSBkaXNwbGF5ZWQsIGFueSBvdGhlcnMgd2lsbCBiZSBpZ25vcmVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGRvZXMgbm90IGludGVyY2VwdCB0aGUgZGVza3RvcCBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICd0YWJsZXQnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJyAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBtZWRpYSBleHByZXNzaW9ucyBhcmUgYWxsb3dlZCBpbiBhbiBleHByZXNzaW9uIGZvciBpdCB0byBiZSB1c2VkIHdoZW4gbWVkaWEgcXVlcmllc1xuLy8vIGFyZSBub3Qgc3VwcG9ydGVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYW5kIGNvbnRhaW5zIG9ubHkgYWNjZXB0ZWQgbWVkaWEgZXhwcmVzc2lvbnNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdzY3JlZW4nKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gICAuZm9vIHtcbi8vLyAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBidXQgY29udGFpbnMgYSBtZWRpYSBleHByZXNzaW9uIHRoYXQgaXMgbm90IGFjY2VwdGVkXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAncmV0aW5hMngnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJywgJ3BvcnRyYWl0JywgJ2xhbmRzY2FwZScpICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQ3Jvc3MtZW5naW5lIGxvZ2dpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG4vLy9cbi8vLyBMb2cgYSBtZXNzYWdlIGVpdGhlciB3aXRoIGBAZXJyb3JgIGlmIHN1cHBvcnRlZFxuLy8vIGVsc2Ugd2l0aCBgQHdhcm5gLCB1c2luZyBgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJylgXG4vLy8gdG8gZGV0ZWN0IHN1cHBvcnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AZnVuY3Rpb24gaW0tbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBtZXRhLmZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpIHtcbiAgICBAZXJyb3IgJG1lc3NhZ2U7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuICRtZXNzYWdlO1xuICAgICRfOiBub29wKCk7XG4gIH1cblxuICBAcmV0dXJuICRtZXNzYWdlO1xufVxuXG4vLy9cbi8vLyBXcmFwcGVyIG1peGluIGZvciB0aGUgbG9nIGZ1bmN0aW9uIHNvIGl0IGNhbiBiZSB1c2VkIHdpdGggYSBtb3JlIGZyaWVuZGx5XG4vLy8gQVBJIHRoYW4gYEBpZiBpbS1sb2coJy4uJykge31gIG9yIGAkXzogaW0tbG9nKCcuLicpYC4gQmFzaWNhbGx5LCB1c2UgdGhlIGZ1bmN0aW9uXG4vLy8gd2l0aGluIGZ1bmN0aW9ucyBiZWNhdXNlIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW4gYSBmdW5jdGlvblxuLy8vIGFuZCB1c2UgdGhlIG1peGluIGV2ZXJ5d2hlcmUgZWxzZSBiZWNhdXNlIGl0J3MgbXVjaCBtb3JlIGVsZWdhbnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AbWl4aW4gbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBpbS1sb2coJG1lc3NhZ2UpIHtcbiAgfVxufVxuXG4vLy9cbi8vLyBGdW5jdGlvbiB3aXRoIG5vIGBAcmV0dXJuYCBjYWxsZWQgbmV4dCB0byBgQHdhcm5gIGluIFNhc3MgMy4zXG4vLy8gdG8gdHJpZ2dlciBhIGNvbXBpbGluZyBlcnJvciBhbmQgc3RvcCB0aGUgcHJvY2Vzcy5cbi8vL1xuQGZ1bmN0aW9uIG5vb3AoKSB7XG59XG5cbi8vL1xuLy8vIERldGVybWluZXMgd2hldGhlciBhIGxpc3Qgb2YgY29uZGl0aW9ucyBpcyBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBSZXR1cm5zIHRydWUgaWYgdGhlIGNvbmRpdGlvbnMgYXJlIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vXG5AZnVuY3Rpb24gaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikge1xuICAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZTogbWFwLmdldCgkYnJlYWtwb2ludHMsICRpbS1uby1tZWRpYS1icmVha3BvaW50KTtcblxuICBAaWYgbm90ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlIHtcbiAgICBAaWYgaW0tbG9nKCdgI3skaW0tbm8tbWVkaWEtYnJlYWtwb2ludH1gIGlzIG5vdCBhIHZhbGlkIGJyZWFrcG9pbnQuJykge1xuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRjb25kaXRpb24gaW4gJGNvbmRpdGlvbnMge1xuICAgIEBpZiBub3QgbWFwLmhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRjb25kaXRpb24pO1xuICAgICAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG4gICAgICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRjb25kaXRpb24sICRvcGVyYXRvcik7XG5cbiAgICAgIEBpZiAoJHByZWZpeCA9PSAnbWF4JyBhbmQgJHZhbHVlIDw9ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSBvclxuICAgICAgICAoJHByZWZpeCA9PSAnbWluJyBhbmQgJHZhbHVlID4gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpXG4gICAgICB7XG4gICAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiBub3QgbGlzdC5pbmRleCgkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiB0cnVlO1xufVxuXG4vLy8vXG4vLy8gUGFyc2luZyBlbmdpbmVcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cbi8vL1xuLy8vIEdldCBvcGVyYXRvciBvZiBhbiBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3Qgb3BlcmF0b3IgZnJvbVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIEFueSBvZiBgPj1gLCBgPmAsIGA8PWAsIGA8YCwgYOKJpWAsIGDiiaRgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbikge1xuICBAZWFjaCAkb3BlcmF0b3IgaW4gKCc+PScsICc+JywgJzw9JywgJzwnLCAn4omlJywgJ+KJpCcpIHtcbiAgICBAaWYgc3RyaW5nLmluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgICAgIEByZXR1cm4gJG9wZXJhdG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgJF86IGltLWxvZygnTm8gb3BlcmF0b3IgZm91bmQgaW4gYCN7JGV4cHJlc3Npb259YC4nKTtcbn1cblxuLy8vXG4vLy8gR2V0IGRpbWVuc2lvbiBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgZGltZW5zaW9uIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYHdpZHRoYCBvciBgaGVpZ2h0YCAob3IgcG90ZW50aWFsbHkgYW55dGhpbmcgZWxzZSlcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyaW5nLmluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcGFyc2VkLWRpbWVuc2lvbjogc3RyaW5nLnNsaWNlKCRleHByZXNzaW9uLCAwLCAkb3BlcmF0b3ItaW5kZXggLSAxKTtcbiAgJGRpbWVuc2lvbjogJ3dpZHRoJztcblxuICBAaWYgc3RyaW5nLmxlbmd0aCgkcGFyc2VkLWRpbWVuc2lvbikgPiAwIHtcbiAgICAkZGltZW5zaW9uOiAkcGFyc2VkLWRpbWVuc2lvbjtcbiAgfVxuXG4gIEByZXR1cm4gJGRpbWVuc2lvbjtcbn1cblxuLy8vXG4vLy8gR2V0IGRpbWVuc2lvbiBwcmVmaXggYmFzZWQgb24gYW4gb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvclxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGBtaW5gIG9yIGBtYXhgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKSB7XG4gIEByZXR1cm4gaWYobGlzdC5pbmRleCgoJzwnLCAnPD0nLCAn4omkJyksICRvcGVyYXRvciksICdtYXgnLCAnbWluJyk7XG59XG5cbi8vL1xuLy8vIEdldCB2YWx1ZSBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgdmFsdWUgZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBBIG51bWVyaWMgdmFsdWVcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHJpbmcuaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICR2YWx1ZTogc3RyaW5nLnNsaWNlKCRleHByZXNzaW9uLCAkb3BlcmF0b3ItaW5kZXggKyBzdHJpbmcubGVuZ3RoKCRvcGVyYXRvcikpO1xuXG4gIEBpZiBtYXAuaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgICR2YWx1ZTogbWFwLmdldCgkYnJlYWtwb2ludHMsICR2YWx1ZSk7XG4gIH0gQGVsc2Uge1xuICAgICR2YWx1ZTogdG8tbnVtYmVyKCR2YWx1ZSk7XG4gIH1cblxuICAkaW50ZXJ2YWw6IG1hcC5nZXQoJHVuaXQtaW50ZXJ2YWxzLCBtYXRoLnVuaXQoJHZhbHVlKSk7XG5cbiAgQGlmIG5vdCAkaW50ZXJ2YWwge1xuICAgIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxuICAgIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxuICAgIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gICAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxuICAgICRfOiBpbS1sb2coJ1Vua25vd24gdW5pdCBgI3ttYXRoLnVuaXQoJHZhbHVlKX1gLicpO1xuICB9XG5cbiAgQGlmICRvcGVyYXRvciA9PSAnPicge1xuICAgICR2YWx1ZTogJHZhbHVlICsgJGludGVydmFsO1xuICB9IEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPCcge1xuICAgICR2YWx1ZTogJHZhbHVlIC0gJGludGVydmFsO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbi8vL1xuLy8vIFBhcnNlIGFuIGV4cHJlc3Npb24gdG8gcmV0dXJuIGEgdmFsaWQgbWVkaWEtcXVlcnkgZXhwcmVzc2lvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBwYXJzZVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFZhbGlkIG1lZGlhIHF1ZXJ5XG4vLy9cbkBmdW5jdGlvbiBwYXJzZS1leHByZXNzaW9uKCRleHByZXNzaW9uKSB7XG4gIC8vIElmIGl0IGlzIHBhcnQgb2YgJG1lZGlhLWV4cHJlc3Npb25zLCBpdCBoYXMgbm8gb3BlcmF0b3JcbiAgLy8gdGhlbiB0aGVyZSBpcyBubyBuZWVkIHRvIGdvIGFueSBmdXJ0aGVyLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgQGlmIG1hcC5oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pIHtcbiAgICBAcmV0dXJuIG1hcC5nZXQoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbik7XG4gIH1cblxuICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKTtcbiAgJGRpbWVuc2lvbjogZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcblxuICBAcmV0dXJuICcoI3skcHJlZml4fS0jeyRkaW1lbnNpb259OiAjeyR2YWx1ZX0pJztcbn1cblxuLy8vXG4vLy8gU2xpY2UgYCRsaXN0YCBiZXR3ZWVuIGAkc3RhcnRgIGFuZCBgJGVuZGAgaW5kZXhlc1xuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gTGlzdCB0byBzbGljZVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3RhcnQgWzFdIC0gU3RhcnQgaW5kZXhcbi8vLyBAcGFyYW0ge051bWJlcn0gJGVuZCBbbGVuZ3RoKCRsaXN0KV0gLSBFbmQgaW5kZXhcbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9IFNsaWNlZCBsaXN0XG4vLy9cbkBmdW5jdGlvbiBzbGljZSgkbGlzdCwgJHN0YXJ0OiAxLCAkZW5kOiBsaXN0Lmxlbmd0aCgkbGlzdCkpIHtcbiAgQGlmIGxpc3QubGVuZ3RoKCRsaXN0KSA8IDEgb3IgJHN0YXJ0ID4gJGVuZCB7XG4gICAgQHJldHVybiAoKTtcbiAgfVxuXG4gICRyZXN1bHQ6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAkc3RhcnQgdGhyb3VnaCAkZW5kIHtcbiAgICAkcmVzdWx0OiBsaXN0LmFwcGVuZCgkcmVzdWx0LCBsaXN0Lm50aCgkbGlzdCwgJGkpLCBjb21tYSk7XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vLy9cbi8vLyBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuLy8vXG4vLy8gQ2FzdHMgYSBzdHJpbmcgaW50byBhIG51bWJlclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGJlIHBhcnNlZFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfVxuLy8vXG5cbkBmdW5jdGlvbiB0by1udW1iZXIoJHZhbHVlKSB7XG4gIEBpZiBtZXRhLnR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH0gQGVsc2UgaWYgbWV0YS50eXBlLW9mKCR2YWx1ZSkgIT0gJ3N0cmluZycge1xuICAgICRfOiBpbS1sb2coJ1ZhbHVlIGZvciBgdG8tbnVtYmVyYCBzaG91bGQgYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcuJyk7XG4gIH1cblxuICAkZmlyc3QtY2hhcmFjdGVyOiBzdHJpbmcuc2xpY2UoJHZhbHVlLCAxLCAxKTtcbiAgJHJlc3VsdDogMDtcbiAgJGRpZ2l0czogMDtcbiAgJG1pbnVzOiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpO1xuICAkbnVtYmVyczogKFxuICAgICcwJzogMCxcbiAgICAnMSc6IDEsXG4gICAgJzInOiAyLFxuICAgICczJzogMyxcbiAgICAnNCc6IDQsXG4gICAgJzUnOiA1LFxuICAgICc2JzogNixcbiAgICAnNyc6IDcsXG4gICAgJzgnOiA4LFxuICAgICc5JzogOSxcbiAgKTtcblxuICAvLyBSZW1vdmUgKy8tIHNpZ24gaWYgcHJlc2VudCBhdCBmaXJzdCBjaGFyYWN0ZXJcbiAgQGlmICgkZmlyc3QtY2hhcmFjdGVyID09ICcrJyBvciAkZmlyc3QtY2hhcmFjdGVyID09ICctJykge1xuICAgICR2YWx1ZTogc3RyaW5nLnNsaWNlKCR2YWx1ZSwgMik7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0cmluZy5sZW5ndGgoJHZhbHVlKSB7XG4gICAgJGNoYXJhY3Rlcjogc3RyaW5nLnNsaWNlKCR2YWx1ZSwgJGksICRpKTtcblxuICAgIEBpZiBub3QobGlzdC5pbmRleChtYXAua2V5cygkbnVtYmVycyksICRjaGFyYWN0ZXIpIG9yICRjaGFyYWN0ZXIgPT0gJy4nKSB7XG4gICAgICBAcmV0dXJuIHRvLWxlbmd0aChpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KSwgc3RyaW5nLnNsaWNlKCR2YWx1ZSwgJGkpKTtcbiAgICB9XG5cbiAgICBAaWYgJGNoYXJhY3RlciA9PSAnLicge1xuICAgICAgJGRpZ2l0czogMTtcbiAgICB9IEBlbHNlIGlmICRkaWdpdHMgPT0gMCB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAuZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyBtYXRoLmRpdihtYXAuZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSwgJGRpZ2l0cyk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcbn1cblxuLy8vXG4vLy8gQWRkIGAkdW5pdGAgdG8gYCR2YWx1ZWBcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBhZGQgdW5pdCB0b1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdW5pdCAtIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgdW5pdFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIGAkdmFsdWVgIGV4cHJlc3NlZCBpbiBgJHVuaXRgXG4vLy9cbkBmdW5jdGlvbiB0by1sZW5ndGgoJHZhbHVlLCAkdW5pdCkge1xuICAkdW5pdHM6IChcbiAgICAncHgnOiAxcHgsXG4gICAgJ2NtJzogMWNtLFxuICAgICdtbSc6IDFtbSxcbiAgICAnJSc6IDElLFxuICAgICdjaCc6IDFjaCxcbiAgICAncGMnOiAxcGMsXG4gICAgJ2luJzogMWluLFxuICAgICdlbSc6IDFlbSxcbiAgICAncmVtJzogMXJlbSxcbiAgICAncHQnOiAxcHQsXG4gICAgJ2V4JzogMWV4LFxuICAgICd2dyc6IDF2dyxcbiAgICAndmgnOiAxdmgsXG4gICAgJ3ZtaW4nOiAxdm1pbixcbiAgICAndm1heCc6IDF2bWF4LFxuICApO1xuXG4gIEBpZiBub3QgbGlzdC5pbmRleChtYXAua2V5cygkdW5pdHMpLCAkdW5pdCkge1xuICAgICRfOiBpbS1sb2coJ0ludmFsaWQgdW5pdCBgI3skdW5pdH1gLicpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWUgKiBtYXAuZ2V0KCR1bml0cywgJHVuaXQpO1xufVxuXG4vLy9cbi8vLyBUaGlzIG1peGluIGFpbXMgYXQgcmVkZWZpbmluZyB0aGUgY29uZmlndXJhdGlvbiBqdXN0IGZvciB0aGUgc2NvcGUgb2Zcbi8vLyB0aGUgY2FsbC4gSXQgaXMgaGVscGZ1bCB3aGVuIGhhdmluZyBhIGNvbXBvbmVudCBuZWVkaW5nIGFuIGV4dGVuZGVkXG4vLy8gY29uZmlndXJhdGlvbiBzdWNoIGFzIGN1c3RvbSBicmVha3BvaW50cyAocmVmZXJyZWQgdG8gYXMgdHdlYWtwb2ludHMpXG4vLy8gZm9yIGluc3RhbmNlLlxuLy8vXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vha3BvaW50cyBbKCldIC0gTWFwIG9mIHR3ZWFrcG9pbnRzIHRvIGJlIG1lcmdlZCB3aXRoIGAkYnJlYWtwb2ludHNgXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucyBbKCldIC0gTWFwIG9mIHR3ZWFrZWQgbWVkaWEgZXhwcmVzc2lvbnMgdG8gYmUgbWVyZ2VkIHdpdGggYCRtZWRpYS1leHByZXNzaW9uYFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIGJyZWFrcG9pbnRzIHdpdGggYSB0d2Vha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCkpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgbWVkaWEgZXhwcmVzc2lvbnMgd2l0aCBhIGN1c3RvbSBvbmVcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgYm90aCBjb25maWd1cmF0aW9uIG1hcHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSwgKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG5AbWl4aW4gbWVkaWEtY29udGV4dCgkdHdlYWtwb2ludHM6ICgpLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgpKSB7XG4gIC8vIFNhdmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGdsb2JhbC1icmVha3BvaW50czogJGJyZWFrcG9pbnRzO1xuICAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zOiAkbWVkaWEtZXhwcmVzc2lvbnM7XG5cbiAgLy8gVXBkYXRlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogbWFwLm1lcmdlKCRicmVha3BvaW50cywgJHR3ZWFrcG9pbnRzKSAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6IG1hcC5tZXJnZSgkbWVkaWEtZXhwcmVzc2lvbnMsICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucykgIWdsb2JhbDtcblxuICBAY29udGVudDtcblxuICAvLyBSZXN0b3JlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogJGdsb2JhbC1icmVha3BvaW50cyAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6ICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnMgIWdsb2JhbDtcbn1cblxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgcHVibGljIGV4cG9zZWQgQVBJXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5cbi8vL1xuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IGJhc2VkIG9uIGEgbGlzdCBvZiBjb25kaXRpb25zXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzaW5nbGUgc2V0IGJyZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggdHdvIHNldCBicmVha3BvaW50c1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9dGFibGV0JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1OHB4JywgJzw4NTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggc2V0IGJyZWFrcG9pbnRzIHdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPmRlc2t0b3AnLCAnPD0xMzUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc3RhdGljIGV4cHJlc3Npb25cbi8vLyAgQGluY2x1ZGUgbWVkaWEoJ3JldGluYTJ4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gTWl4aW5nIGV2ZXJ5dGhpbmdcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzUwcHgnLCAnPHRhYmxldCcsICdyZXRpbmEzeCcpIHsgfVxuLy8vXG5AbWl4aW4gbWVkaWEoJGNvbmRpdGlvbnMuLi4pIHtcbiAgQGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGlzdC5sZW5ndGgoJGNvbmRpdGlvbnMpID09IDApIG9yXG4gICAgKG5vdCAkaW0tbWVkaWEtc3VwcG9ydCBhbmQgaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikpXG4gIHtcbiAgICBAY29udGVudDtcbiAgfSBAZWxzZSBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxpc3QubGVuZ3RoKCRjb25kaXRpb25zKSA+IDApIHtcbiAgICBAbWVkaWEgI3tzdHJpbmcudW5xdW90ZShwYXJzZS1leHByZXNzaW9uKGxpc3QubnRoKCRjb25kaXRpb25zLCAxKSkpfSB7XG4gICAgICAvLyBSZWN1cnNpdmUgY2FsbFxuICAgICAgQGluY2x1ZGUgbWVkaWEoc2xpY2UoJGNvbmRpdGlvbnMsIDIpLi4uKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQHVzZSAnLi4vYWJzdHJhY3RzLycgYXMgKjtcblxuLy8gZm9ybXNcbmZvcm0sXG5maWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG5pbnB1dFt0eXBlPSd0ZXh0J10sXG5pbnB1dFt0eXBlPSd0ZWwnXSxcbmlucHV0W3R5cGU9J2VtYWlsJ10sXG5pbnB1dFt0eXBlPSdzZWFyY2gnXSxcbmlucHV0W3R5cGU9J3Bhc3N3b3JkJ10sXG5pbnB1dFt0eXBlPSd1cmwnXSxcbi8vIGlucHV0W3R5cGU9J2RhdGUnXSxcbnRleHRhcmVhIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwO1xuICAgIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuICAgIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICAgIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogJGlucHV0LWJvcmRlci1yYWRpdXM7XG5cbiAgICAmOm5vdCh0ZXh0YXJlYSkge1xuICAgICAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBwbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiAkcGxhY2Vob2xkZXItY29sb3I7XG4gICAgfVxufVxuXG5pbnB1dFt0eXBlPSdzZWFyY2gnXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vLyBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbi8vICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4vLyB9XG5cbnRleHRhcmVhIHtcbiAgICByZXNpemU6IHZlcnRpY2FsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbmJ1dHRvbixcbmlucHV0W3R5cGU9J2J1dHRvbiddLFxuaW5wdXRbdHlwZT0ncmVzZXQnXSxcbmlucHV0W3R5cGU9J2ZpbGUnXSxcbmlucHV0W3R5cGU9J3N1Ym1pdCddIHtcbiAgICBAaW5jbHVkZSBhbmltYXRlKGJhY2tncm91bmQpO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7XG4gICAgaGVpZ2h0OiAkc3VibWl0LWhlaWdodDtcbiAgICBwYWRkaW5nOiAkc3VibWl0LXBhZGRpbmc7XG4gICAgZm9udC1zaXplOiAkc3VibWl0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJHN1Ym1pdC1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJHN1Ym1pdC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiAkc3VibWl0LWJhY2tncm91bmQ7XG5cbiAgICBib3JkZXI6IHtcbiAgICAgICAgd2lkdGg6ICRzdWJtaXQtYm9yZGVyLXdpZHRoO1xuICAgICAgICBzdHlsZTogJHN1Ym1pdC1ib3JkZXItc3R5bGU7XG4gICAgICAgIGNvbG9yOiAkc3VibWl0LWJvcmRlci1jb2xvcjtcbiAgICAgICAgcmFkaXVzOiAkc3VibWl0LXJhZGl1cztcbiAgICB9XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsICRhbmltYXRpb24tc3BlZWQ7XG5cbiAgICAvLyY6aG92ZXIge1xuICAgIC8vICAgIGJhY2tncm91bmQ6ICRzdWJtaXQtaG92ZXItYmFja2dyb3VuZDtcbiAgICAvLyAgICBjb2xvcjogJHN1Ym1pdC1ob3Zlci1jb2xvcjtcbiAgICAvL31cbn0iLCJAdXNlIFwiLi92YXJpYWJsZXNcIiBhcyAqO1xuQHVzZSBcIi4vbWVkaWFcIiBhcyAqO1xuQHVzZSAnc2FzczpsaXN0Jztcbi8vIEBmb3J3YXJkICd+aW5jbHVkZS1tZWRpYS9kaXN0L2luY2x1ZGUtbWVkaWEnO1xuXG4vLyB2ZXJ0aWNhbCBhbGlnbiBlbCBpbnNpZGUgcGFyZW50IHdpdGggZml4ZWQgaGVpZ2h0L21pbi1oZWlnaHRcbi8vIHVzYWdlXG4vLyBodG1sIC0gLnBhcmVudD4uY2hpbGRcbi8vIHNjc3MgLSBAaW5jbHVkZSB2LWFsaWduO1xuLy8gICAgIG9yIEBpbmNsdWRlIHYtYWxpZ24oMjUwcHgpO1xuLy8gICAgIG9yIEBpbmNsdWRlIHYtYWxpZ24oMjUwcHgsIGJvdHRvbSwgYmVmb3JlKTtcbi8vXG5AbWl4aW4gdi1hbGlnbigkdmEtaGVpZ2h0OiAxMDAlLCAkdmEtZGlyZWN0aW9uOiBtaWRkbGUsICR2YS1wc2V1ZG86IGFmdGVyKSB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAmOiN7JHZhLXBzZXVkb30ge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogJHZhLWRpcmVjdGlvbjtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIG1pbi1oZWlnaHQ6ICR2YS1oZWlnaHQ7XG4gICAgfVxuXG4gICAgPioge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAkdmEtZGlyZWN0aW9uO1xuICAgICAgICBtYXgtd2lkdGg6IDk5JTtcbiAgICB9XG59XG5cbi8vIHZlcnRpY2FsIGFsaWduIGEgcGFpciBvZiBjaGlsZCBlbCBpbnNpZGUgcGFyZW50XG4vLyB1c2FnZcOnXG4vLyBodG1sIC0gLnBvc3Q+LmltYWdlKy50ZXh0XG4vLyBzY3NzIC0gQGluY2x1ZGUgdi1hbGlnbi1wYWlyKGltYWdlLCB0ZXh0KTtcbi8vICAgICBvciBAaW5jbHVkZSB2LWFsaWduLXBhaXIoaW1hZ2UsIHRleHQsIGJvdHRvbSk7XG4vLyAgICAgb3IgQGluY2x1ZGUgdi1hbGlnbi1wYWlyKGltYWdlLCB0ZXh0LCBtaWRkbGUsIDIwMHB4KTtcbi8vXG5AbWl4aW4gdi1hbGlnbi1wYWlyKCRjaGlsZC1uYW1lMSwgJGNoaWxkLW5hbWUyLCAkdmFsaWduOiBtaWRkbGUsICR3aWR0aDE6IGF1dG8sICR3aWR0aDI6IGF1dG8pIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcblxuICAgIC4jeyRjaGlsZC1uYW1lMX0ge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogJHZhbGlnbjtcbiAgICAgICAgd2lkdGg6ICR3aWR0aDE7XG4gICAgfVxuXG4gICAgLiN7JGNoaWxkLW5hbWUyfSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAkdmFsaWduO1xuICAgICAgICB3aWR0aDogJHdpZHRoMjtcbiAgICB9XG59XG5cbi8vIHZlcnRpY2FsIGFsaWduIGVsXG4vLyB1c2FnZTogQGluY2x1ZGUgdmVydGljYWwtYWxpZ24tZWw7XG4vL1xuQG1peGluIHZlcnRpY2FsLWFsaWduLWVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gTWl4aW4gaGVscGluZyBkZWZpbmluZyBib3RoIGB3aWR0aGAgYW5kIGBoZWlnaHRgIHNpbXVsdGFuZW91c2x5LlxuLy8vXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICR3aWR0aCAtIEVsZW1lbnTigJlzIGB3aWR0aGBcbi8vLyBAcGFyYW0ge0xlbmd0aH0gJGhlaWdodCAoJHdpZHRoKSAtIEVsZW1lbnTigJlzIGBoZWlnaHRgXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5mb28ge1xuLy8vICAgICBAaW5jbHVkZSBzaXplKDEwZW0pO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuYmFyIHtcbi8vLyAgICAgQGluY2x1ZGUgc2l6ZSgxMDAlLCAxMGVtKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBvdXRwdXRcbi8vLyAgIC5mb28ge1xuLy8vICAgICB3aWR0aDogMTBlbTtcbi8vLyAgICAgaGVpZ2h0OiAxMGVtO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuYmFyIHtcbi8vLyAgICAgd2lkdGg6IDEwMCU7XG4vLy8gICAgIGhlaWdodDogMTBlbTtcbi8vLyAgIH1cbi8vL1xuQG1peGluIHNpemUoJHdpZHRoLCAkaGVpZ2h0OiAkd2lkdGgpIHtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIGhlaWdodDogJGhlaWdodDtcbn1cblxuLy8vIGZvbnQtc21vdGhpbmdcbi8vLyBAaW5jbHVkZSBmb250LXNtb290aGluZyhvbik7XG4vLy8gQGluY2x1ZGUgZm9udC1zbW9vdGhpbmcob2ZmKTtcbkBtaXhpbiBmb250LXNtb290aGluZygkdmFsdWU6IG9uKSB7XG4gICAgQGlmICR2YWx1ZSA9PW9uIHtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGF1dG87XG4gICAgfVxufVxuXG5cbi8vLyBIaWRlcyB0aGUgdGV4dCBpbiBhbiBlbGVtZW50LCBjb21tb25seSB1c2VkIHRvIHNob3cgYW4gaW1hZ2UuIFNvbWUgZWxlbWVudHMgd2lsbCBuZWVkIGJsb2NrLWxldmVsIHN0eWxlcyBhcHBsaWVkLlxuLy8vXG4vLy8gQGxpbmsgaHR0cDovL3plbGRtYW4uY29tLzIwMTIvMDMvMDEvcmVwbGFjaW5nLXRoZS05OTk5cHgtaGFjay1uZXctaW1hZ2UtcmVwbGFjZW1lbnRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBoaWRlLXRleHQ7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG92ZXJmbG93OiBoaWRkZW47XG4vLy8gICAgIHRleHQtaW5kZW50OiAxMDElO1xuLy8vICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuLy8vICAgfVxuLy8vXG5AbWl4aW4gaGlkZS10ZXh0IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtaW5kZW50OiAxMDElO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cblxuLy8vIENyZWF0ZXMgYSB2aXN1YWwgdHJpYW5nbGUuXG4vLy8gTWl4aW4gdGFrZXMgKCRzaXplLCAkY29sb3IsICRkaXJlY3Rpb24pXG4vLy8gVGhlICRzaXplIGFyZ3VtZW50IGNhbiB0YWtlIG9uZSBvciB0d28gdmFsdWVz4oCUd2lkdGggaGVpZ2h0LlxuLy8vIFRoZSAkY29sb3IgYXJndW1lbnQgY2FuIHRha2Ugb25lIG9yIHR3b1xuLy8vIHZhbHVlc+KAlGZvcmVncm91bmQtY29sb3IgYmFja2dyb3VuZC1jb2xvci5cbi8vL1xuLy8vIEBhdXRob3IgaHR0cDovL2JvdXJib24uaW8vZG9jcy8jdHJpYW5nbGVcbi8vL1xuLy8vICRkaXJlY3Rpb246XG4vLy8gdXAsIGRvd24sIGxlZnQsIHJpZ2h0LCB1cC1yaWdodCwgdXAtbGVmdCwgZG93bi1yaWdodCwgZG93bi1sZWZ0XG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAaW5jbHVkZSB0cmlhbmdsZSgxMnB4LCBncmF5LCBkb3duKTtcbi8vLyAgIEBpbmNsdWRlIHRyaWFuZ2xlKDEycHggNnB4LCBncmF5IGJsdWUsIHVwLWxlZnQpO1xuLy8vXG5AbWl4aW4gdHJpYW5nbGUoJHNpemUsICRjb2xvciwgJGRpcmVjdGlvbikge1xuICAgICR3aWR0aDogbnRoKCRzaXplLCAxKTtcbiAgICAkaGVpZ2h0OiBudGgoJHNpemUsIGxlbmd0aCgkc2l6ZSkpO1xuICAgICRmb3JlZ3JvdW5kLWNvbG9yOiBudGgoJGNvbG9yLCAxKTtcbiAgICAkYmFja2dyb3VuZC1jb2xvcjogaWYobGVuZ3RoKCRjb2xvcik9PTIsIG50aCgkY29sb3IsIDIpLCB0cmFuc3BhcmVudCk7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHdpZHRoOiAwO1xuXG4gICAgQGlmICgkZGlyZWN0aW9uID09dXApIG9yICgkZGlyZWN0aW9uID09ZG93bikgb3IgKCRkaXJlY3Rpb24gPT1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT1sZWZ0KSB7XG4gICAgICAgICR3aWR0aDogJHdpZHRoIC8gMjtcbiAgICAgICAgJGhlaWdodDogaWYobGVuZ3RoKCRzaXplKSA+IDEsICRoZWlnaHQsICRoZWlnaHQvMik7XG5cbiAgICAgICAgQGlmICRkaXJlY3Rpb24gPT11cCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVsc2UgaWYgJGRpcmVjdGlvbiA9PXJpZ2h0IHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVsc2UgaWYgJGRpcmVjdGlvbiA9PWRvd24ge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlbHNlIGlmICRkaXJlY3Rpb24gPT1sZWZ0IHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIGlmICgkZGlyZWN0aW9uID09dXAtcmlnaHQpIG9yICgkZGlyZWN0aW9uID09dXAtbGVmdCkge1xuICAgICAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgICAgIEBpZiAkZGlyZWN0aW9uID09dXAtcmlnaHQge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlbHNlIGlmICRkaXJlY3Rpb24gPT11cC1sZWZ0IHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT1kb3duLXJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PWRvd24tbGVmdCkge1xuICAgICAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgICAgIEBpZiAkZGlyZWN0aW9uID09ZG93bi1yaWdodCB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVsc2UgaWYgJGRpcmVjdGlvbiA9PWRvd24tbGVmdCB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIGlmICgkZGlyZWN0aW9uID09aW5zZXQtdXApIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcbiAgICB9XG5cbiAgICBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PWluc2V0LWRvd24pIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkZm9yZWdyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcbiAgICB9XG5cbiAgICBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PWluc2V0LXJpZ2h0KSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XG4gICAgfVxuXG4gICAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT1pbnNldC1sZWZ0KSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XG4gICAgfVxufVxuXG5cbi8vLyBBbmltYXRlIGNzcyBwcm9wZXJ0aWVzXG4vLyB1c2FnZVxuLy8gc2NzcyAtIEBpbmNsdWRlIGFuaW1hdGUoY29sb3IpO1xuLy8gICAgIG9yIEBpbmNsdWRlIGFuaW1hdGUoY29sb3Igd2lkdGgpO1xuLy8gICAgIG9yIEBpbmNsdWRlIGFuaW1hdGUoY29sb3Igd2lkdGgsIDFzLCBsaW5lYXIpO1xuLy9cblxuQG1peGluIGFuaW1hdGUoJHByb3BlcnRpZXMsICRkdXJhdGlvbjogJGFuaW1hdGlvbi1zcGVlZCwgJGVhc2luZzogZWFzZS1pbi1vdXQpIHtcbiAgICAkbGlzdDogKCk7XG5cbiAgICBAZWFjaCAkcHJvcCBpbiAkcHJvcGVydGllcyB7XG4gICAgICAgICRzdHI6ICN7JHByb3B9ICN7JGR1cmF0aW9ufSAjeyRlYXNpbmd9O1xuICAgICAgICAkbGlzdDogbGlzdC5qb2luKCRsaXN0LCAjeyRzdHJ9LCBjb21tYSk7XG4gICAgfVxuXG4gICAgdHJhbnNpdGlvbjogJGxpc3Q7XG59XG5cblxuLy8vIE1peGluIGZvciBzdHlsaW5nIGZvcm0tcGxhY2Vob2xkZXJzXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAaW5jbHVkZSBwbGFjZWhvbGRlciB7XG4vLy8gICAgY29sb3I6ICMzMzM7XG4vLy8gICB9XG4vLy9cbi8vLyAgIGlucHV0W3R5cGU9J3RleHQnXSxcbi8vLyAgIGlucHV0W3R5cGU9J3RlbCddLFxuLy8vICAgaW5wdXRbdHlwZT0nZW1haWwnXSB7XG4vLy8gICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyIHtcbi8vLyAgICAgIGNvbG9yOiByZWQ7XG4vLy8gICAgIH1cbi8vLyAgIH1cblxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgJjo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgICY6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgJi5wbGFjZWhvbGRlciB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuLy8vIEZvbnQtc2l6ZSBweCB0byByZW0gY2FsY1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vIHNlbGVjdG9yIHtcbi8vLyAgICBAaW5jbHVkZSByZW0tZm9udC1zaXplKDE2cHgpO1xuLy8vIH1cblxuQG1peGluIHJlbS1mb250LXNpemUoJHB4LXNpemUpIHtcbiAgICBmb250LXNpemU6ICRweC1zaXplO1xuICAgIGZvbnQtc2l6ZTogKCRweC1zaXplIC8gMTBweCkgKyByZW07XG59XG5cbi8vZm9udC1mYWNlXG5AbWl4aW4gZm9udC1mYWNlKCRmb250LW5hbWUsICRmb250LXBhdGgsICR3ZWlnaHQsICRzdHlsZSkge1xuICAgIEBmb250LWZhY2Uge1xuICAgICAgICBmb250LWZhbWlseTogJyN7JGZvbnQtbmFtZX0nO1xuICAgICAgICBzcmM6IHVybCgnZm9udHMvI3skZm9udC1wYXRofS53b2ZmMicpIGZvcm1hdCgnd29mZicpO1xuICAgICAgICBmb250LXdlaWdodDogJHdlaWdodDtcbiAgICAgICAgZm9udC1zdHlsZTogJHN0eWxlO1xuICAgIH1cbn1cblxuXG5AbWl4aW4gdi1jZW50ZXIoJG1pbi1oZWlnaHQ6IDQwMHB4KSB7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgID4qIHtcbiAgICAgICAgbWluLWhlaWdodDogJG1pbi1oZWlnaHQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi8vIG9iamVjdCBmaXQgZm9yIGltYWdlXG5AbWl4aW4gaW1nLXNjYWxlIHtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi8vIEBtaXhpbiBzY3JvbGwtY3VzdG9tKCR3aWR0aDogOHB4LCAkaGVpZ2h0OiA4cHgsICRzY3JvbGwtYmc6ICNlOWU5ZTksICRzY3JvbGwtc2xpZGVyLWJnOiAjYTFhNWFkKSB7XG5AbWl4aW4gc2Nyb2xsLWN1c3RvbSgkd2lkdGg6IDVweCwgJGhlaWdodDogNXB4LCAkc2Nyb2xsLWJnOiAjZmZmLCAkc2Nyb2xsLXNsaWRlci1iZzogcmdiYSgjQjRCNEI0LCAxKSkge1xuICAgIDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICB3aWR0aDogJHdpZHRoO1xuICAgICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICAgIGJhY2tncm91bmQ6ICRzY3JvbGwtYmc7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGNhbGMoI3skd2lkdGh9IC8gMik7XG4gICAgICAgIG1hcmdpbjogMCA2cHggMCAwO1xuICAgIH1cbiAgICBcbiAgICA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogY2FsYygjeyR3aWR0aH0gLyAyKTtcbiAgICAgICAgLy8gYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy90cmFjay5qcGcpIHRvcCBjZW50ZXIgcmVwZWF0LXk7XG4gICAgfVxuICAgIFxuICAgIDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgICAgICB3aWR0aDogJHdpZHRoO1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICRzY3JvbGwtc2xpZGVyLWJnO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBjYWxjKCN7JHdpZHRofSAvIDIpO1xuICAgIH1cbn0iLCJAdXNlICcuLi9hYnN0cmFjdHMvJyBhcyAqO1xuXG5ub3NjcmlwdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgY29sb3I6ICRsaWdodDtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiA1cHggMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgei1pbmRleDogOTk5OTk7XG59XG5cbi5hY2Nlc3NpYmlsaXR5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTIwMHZ3O1xuICAgIHRvcDogYXV0bztcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG59XG5cbi52aXN1YWxseS1oaWRkZW4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtOTk5OXB4O1xuICAgIHRvcDogYXV0bztcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59IiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gVGhpcyBmaWxlIGNvbnRhaW5zIGFsbCBzdHlsZXMgcmVsYXRlZCB0byB0aGUgaGVhZGVyIG9mIHRoZSBzaXRlXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbkB1c2UgJy4uL2Fic3RyYWN0cycgYXMgKjtcclxuXHJcbiNoZWFkZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgcG9zaXRpb246IHN0aWNreSAhaW1wb3J0YW50O1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHotaW5kZXg6IDEwNTA7XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMjc4cHg7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMzk0LjI3N3B4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudCg1MCUgNTAlIGF0IDUwJSA1MCUsICMwODI4OEMgMzYuNTQlLCByZ2JhKDgsIDQwLCAxNDAsIDAuMDApIDEwMCUpO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgb3BhY2l0eTogMC45O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE4NTJweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA5MzBweDtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTcwJSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uc2VjdGlvbi1oZWFkZXItYmFyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWRhcmspO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIHBhZGRpbmc6IDdweCAwO1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgcGFkZGluZzogMTFweCAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5pbm5lciB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBnYXA6IDE2cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IG5hdiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5oZWFkZXItYmFyLXJldmlldyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgY29sb3I6IHZhcigtLXdoaXRlKTtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICBjb2xvcjogdmFyKC0td2hpdGUpO1xyXG5cclxuICAgICAgICAudGV4dCB7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zY29yZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXdoaXRlKTtcclxuICAgIH1cclxuXHJcbiAgICAuc3RhcnMge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMCA1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnRleHQge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAxMXB4O1xyXG4gICAgICAgIHRyYW5zaXRpb246IHRleHQtZGVjb3JhdGlvbi1jb2xvciAwLjI3cyBlYXNlLWluLW91dDtcclxuICAgIH1cclxufVxyXG5cclxuLmhlYWRlci1iYXItbmF2IHtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgbWFyZ2luOiAwIC0xOHB4O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICBsaSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMThweDtcclxuXHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgd2lkdGg6IDFweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgICByaWdodDogLTFweDtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdoaXRlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDJweDtcclxuICAgICAgICB0cmFuc2l0aW9uOiB0ZXh0LWRlY29yYXRpb24tY29sb3IgMC4yN3MgZWFzZS1pbi1vdXQ7XHJcblxyXG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0td2hpdGUpO1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHZhcigtLXdoaXRlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuZW1haWwtaXRlbSB7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogdmFyKC0td2hpdGUpO1xyXG5cclxuICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgNXB4IDAgMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zaXRlLWhlYWRlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOTI1O1xyXG4gICAgcGFkZGluZzogMTFweCAwIDEwcHg7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgcGFkZGluZzogMzNweCAwIDMycHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDYxOTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBwYWRkaW5nIDAuMnMgbGluZWFyO1xyXG4gICAgfVxyXG5cclxuICAgIC5zY3JvbGxlZCAmIHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxNnB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5pbm5lciB7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubG9nbyB7XHJcbiAgICBmbGV4LXNocmluazogMDtcclxuICAgIHdpZHRoOiAxNTJweDtcclxuICAgIG1hcmdpbjogMCBhdXRvIDAgMThweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDE7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICB3aWR0aDogMTc0cHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIDE2cHggMCAwO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXdpZGVzY3JlZW4nKSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDIlIDAgMDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj0xNDQwcHgnKSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDMlIDAgMDtcclxuICAgIH1cclxuXHJcbiAgICBhLCBpbWcge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG59XHJcblxyXG4uaGVhZGVyLWltYWdlIHtcclxuICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIG1hcmdpbjogMDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgIGltZyB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5uYXYtd3JhcCB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPGRlc2t0b3AnKSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMTAwJTtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDEwMCUpO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwNjE4O1xyXG4gICAgICAgIHBhZGRpbmc6IDUycHggMjRweCAzMHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICB0cmFuc2l0aW9uOiB2aXNpYmlsaXR5IDAuM3MgbGluZWFyLCBvcGFjaXR5IDAuM3MgbGluZWFyO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMCBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgIC5oZWFkZXItY29sbGFwc2UtYWN0aXZlICYge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmFkbWluLWJhciAmIHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDEwMCUgLSAzMnB4KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8NzgycHgnKSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDEwMCUgLSA0NnB4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNjcm9sbGVkICYge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTAwJSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPDc4MnB4Jykge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxMDAlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5tb2JpbGUtYWRkaXRpb25hbCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbi10b3A6IGF1dG87XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxODQsIDIwMiwgMjU1LCAwLjQwKTtcclxuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAuaGVhZGVyLWN0YSB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBnYXA6IDE0cHg7XHJcbiAgICAgICAgei1pbmRleDogMDtcclxuXHJcbiAgICAgICAgLmN0YS5jdGEtb3JhbmdlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IDEuMDk4cHggMS4wOThweCAwIHJnYmEoMCwgMCwgMCwgMC4zNSk7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDExcHggMTZweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5oZWFkZXItcGhvbmUge1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICBnYXA6IDEycHg7XHJcblxyXG4gICAgICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDM0cHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDM0cHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ncmVlbik7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcclxuXHJcbiAgICAgICAgICAgICAgICBwYXRoIHtcclxuICAgICAgICAgICAgICAgICAgICBmaWxsOiB2YXIoLS13aGl0ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC50ZXh0IHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgNnB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubnVtYmVyIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uaGVhZGVyLWdvb2dsZS1yYXRpbmcge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xyXG4gICAgZm9udC1zaXplOiA5cHg7XHJcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG4gICAgY29sb3I6ICNCOENBRkY7XHJcbiAgICBtYXJnaW46IDE2cHggMCAwO1xyXG4gICAgZ2FwOiAxM3B4O1xyXG5cclxuICAgIC5zdGFycyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjRThFOUYzO1xyXG4gICAgICAgIHBhZGRpbmc6IDZweCA3cHg7XHJcbiAgICAgICAgZ2FwOiAzcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnRleHQge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgdGV4dC13cmFwOiBiYWxhbmNlO1xyXG5cclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgNXB4IDAgMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogI0YxNkIzNztcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ucHJpbWFyeS1tZW51IHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICBnYXA6IDE2cHg7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMjM7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxkZXNrdG9wJykge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49d2lkZXNjcmVlbicpIHtcclxuICAgICAgICBnYXA6IDE2cHggMjRweDtcclxuICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49MTQ0MHB4Jykge1xyXG4gICAgICAgIGdhcDogMTZweCA0NHB4O1xyXG4gICAgfVxyXG5cclxuICAgID4gbGkge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuaGFzLW1lbnUtbWVnYSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmFjdGl2ZSwgJi5hY2Nlc3NpYmlsaXR5LWhvdmVyIHtcclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuYWNjZXNzaWJpbGl0eS1ob3ZlciB7XHJcbiAgICAgICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuc2xpZGUtb3BlbmVkIHtcclxuICAgICAgICAgICAgPiAuZHJvcCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDhweCAwIDhweCAxNHB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWxpZ2h0LWJsdWUtMTAwKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAtMXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Q3NTYyQjtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yN3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMCA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6bm90KDpvbmx5LWNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzgnIGhlaWdodD0nMTUnIHZpZXdCb3g9JzAgMCA4IDE1JyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdtLjE4NSAxMi45NjEgNS4zOTktNS40ODZhLjY0LjY0IDAgMCAwIDAtLjg5OUwuMTg2IDEuMDlBLjY0NC42NDQgMCAwIDEgLjM4OS4wNWEuNjIuNjIgMCAwIDEgLjY4Ni4xMzhsNS4zOTggNS40ODVhMS45MzIgMS45MzIgMCAwIDEgMCAyLjcwN2wtNS4zOTggNS40ODVhLjYyMi42MjIgMCAwIDEtLjg5IDAgLjY0NC42NDQgMCAwIDEgMC0uOTAzWicgZmlsbD0nJTIzQjhDQUZGJy8lM0UlM0Mvc3ZnJTNFXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYSB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgdWwge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuXHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAmLnNsaWRlLW9wZW5lZCB7XHJcbiAgICAgICAgICAgICAgICA+IC5kcm9wIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc3ViLW1lbnUtbWVnYSwgLnN1Yi1tZW51IHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogY2FsYygxMDAlICsgMzFweCk7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICAgICAgLy8gdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAwLjI3cyBlYXNlLWluLW91dCwgb3BhY2l0eSAwLjI3cyBlYXNlLWluLW91dDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5zY3JvbGxlZCAmIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgICAgIHRvcDogY2FsYygxMDAlICsgMTVweCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1MXB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuc2Nyb2xsZWQgJiB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzZweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjI3cyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLWxpZ2h0LWJsdWUtMTAwKTtcclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICNGMTZCMzc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnN1Yi1tZW51LW1lZ2Ege1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA4NDVweDtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAxMHB4IDEwcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgjMDMwRTMxLCAjMDMwRTMxKSBwYWRkaW5nLWJveCwgbGluZWFyLWdyYWRpZW50KDM0M2RlZywgcmdiYSgjNEQ2Q0NELDAuNCkgMTIuMzclLCByZ2JhKCNBN0JBRjUsMC40KSAyNi42OCUsIHJnYmEoIzRENkNDRCwwLjQpIDQxLjU2JSkgYm9yZGVyLWJveDtcclxuICAgICAgICAgICAgcGFkZGluZzogMjJweCAzMnB4IDQwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiA2MnB4O1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDMzNnB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDJweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMzRTUzOTY7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAmLmFjY2Vzc2liaWxpdHktaG92ZXIge1xyXG4gICAgICAgICAgICAgICAgLnN1Yi1tZW51IHtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRjE2QjM3O1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1saWdodC1ibHVlLTEwMCk7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI3cyBlYXNlLWluLW91dDtcclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0MzZweDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDI3cHggMjdweCAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE4cHggNDBweDtcclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJjpub3QoOm9ubHktY2hpbGQpIHtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nOCcgaGVpZ2h0PScxNScgdmlld0JveD0nMCAwIDggMTUnIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBkPSdtLjE4NSAxMi45NjEgNS4zOTktNS40ODZhLjY0LjY0IDAgMCAwIDAtLjg5OUwuMTg2IDEuMDlBLjY0NC42NDQgMCAwIDEgLjM4OS4wNWEuNjIuNjIgMCAwIDEgLjY4Ni4xMzhsNS4zOTggNS40ODVhMS45MzIgMS45MzIgMCAwIDEgMCAyLjcwN2wtNS4zOTggNS40ODVhLjYyMi42MjIgMCAwIDEtLjg5IDAgLjY0NC42NDQgMCAwIDEgMC0uOTAzWicgZmlsbD0nJTIzQjhDQUZGJy8lM0UlM0Mvc3ZnJTNFXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nOCcgaGVpZ2h0PScxNScgdmlld0JveD0nMCAwIDggMTUnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGQ9J20uMTg1IDEyLjk2MSA1LjM5OS01LjQ4NmEuNjQuNjQgMCAwIDAgMC0uODk5TC4xODYgMS4wOUEuNjQ0LjY0NCAwIDAgMSAuMzg5LjA1YS42Mi42MiAwIDAgMSAuNjg2LjEzOGw1LjM5OCA1LjQ4NWExLjkzMiAxLjkzMiAwIDAgMSAwIDIuNzA3bC01LjM5OCA1LjQ4NWEuNjIyLjYyMiAwIDAgMS0uODkgMCAuNjQ0LjY0NCAwIDAgMSAwLS45MDNaJyBmaWxsPSclMjNmZmYnLyUzRSUzQy9zdmclM0VcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5zdWItbWVudSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDIxcHg7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMzM3cHg7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgLy8gdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAwLjI3cyBlYXNlLWluLW91dCwgb3BhY2l0eSAwLjI3cyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm1lbnUtbWVnYS10aXRsZSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjFweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEycHggNDBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZGVmYXVsdC1kcm9wIHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICB0b3A6IGNhbGMoMTAwJSArIDUycHgpO1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDEwcHggMTBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCMwMzBFMzEsICMwMzBFMzEpIHBhZGRpbmctYm94LCBsaW5lYXItZ3JhZGllbnQoMzQzZGVnLCByZ2JhKCM0RDZDQ0QsMC40KSAxMi4zNyUsIHJnYmEoI0E3QkFGNSwwLjQpIDI2LjY4JSwgcmdiYSgjNEQ2Q0NELDAuNCkgNDEuNTYlKSBib3JkZXItYm94O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDMycHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuc2Nyb2xsZWQgJiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgICAgICB0b3A6IGNhbGMoMTAwJSArIDM3cHgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEycHggMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm1lbnUtbWVnYS10aXRsZSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjM7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjRDJEMkQyO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDQwcHggMTZweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmRyb3Age1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUsIDApO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRhcmspO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1MnB4IDI0cHggMzBweDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgbGluZWFyLCBvcGFjaXR5IDAuM3MgbGluZWFyLCB2aXNpYmlsaXR5IDAuM3MgbGluZWFyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAmLnN1Yi1tZW51LWJhY2sge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBnYXA6IDEycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXdoaXRlKTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtOHB4LCAwKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxOCcgaGVpZ2h0PScxNScgdmlld0JveD0nMCAwIDE4IDE1JyBmaWxsPSdub25lJyUzRSUzQ3BhdGggZD0nTS4wOTIgNi41OTNjMC0uMTIxLjEyLS4yNDIuMjQyLS4zNjJsNS44LTUuOEExLjIgMS4yIDAgMSAxIDcuODIgMi4xMjRMNC4wNzcgNS44NjhoMTIuMDc2QTEuMTQxIDEuMTQxIDAgMCAxIDE3LjM2IDcuMDhhMS4xNCAxLjE0IDAgMCAxLTEuMjA4IDEuMkg0LjA3N2wzLjc0NCAzLjc0N2ExLjE2OCAxLjE2OCAwIDAgMSAwIDEuNjkgMS4xNjYgMS4xNjYgMCAwIDEtMS42OTEgMGwtNS44LTUuOGMtLjEyMS0uMTItLjEyMS0uMjQxLS4yNDItLjM2MWExLjMzMyAxLjMzMyAwIDAgMSAuMDA0LS45NjNaJyBmaWxsPSclMjNmZmYnLyUzRSUzQy9zdmclM0VcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA4cHggMCA4cHggMTRweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmhlYWRlci1jdGEge1xyXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjMzQ0NjdCO1xyXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzM0NDY3QjtcclxuICAgIHBhZGRpbmc6IDVweCA3cHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAxO1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZ2FwOiAxNnB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDE2cHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49d2lkZXNjcmVlbicpIHtcclxuICAgICAgICBnYXA6IDI0cHg7XHJcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMy4yJTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj0xNDQwcHgnKSB7XHJcbiAgICAgICAgZ2FwOiA0NHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5jdGEge1xyXG4gICAgICAgICYuY3RhLW9yYW5nZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XHJcbiAgICAgICAgICAgIHRleHQtc2hhZG93OiAxcHggMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjM1KTtcclxuICAgICAgICAgICAgcGFkZGluZzogMTNweCAxNHB4O1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj13aWRlc2NyZWVuJykge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uaGVhZGVyLXBob25lIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB3aWR0aDogNDJweDtcclxuICAgIGhlaWdodDogNDJweDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBnYXA6IDAgMjNweDtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubnVtYmVyIHtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB2YXIoLS13aGl0ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5pY29uIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj13aWRlc2NyZWVuJykge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgd2lkdGg6IDQycHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogNDJweDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ncmVlbik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICB3aWR0aDogMjJweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjdzIGVhc2UtaW4tb3V0O1xyXG5cclxuICAgICAgICAgICAgcGF0aCB7XHJcbiAgICAgICAgICAgICAgICBmaWxsOiB2YXIoLS13aGl0ZSk7XHJcblxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgICAgICAgICBmaWxsOiAjMDEwQTI1O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC50ZXh0IHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1ncmVlbik7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMnB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm51bWJlciB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICBjb2xvcjogdmFyKC0td2hpdGUpO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAycHg7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogdGV4dC1kZWNvcmF0aW9uLWNvbG9yIDAuMjdzIGVhc2UtaW4tb3V0O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5idXJnZXItd3JhcCB7XHJcbiAgICBwYWRkaW5nOiAwIDE0cHggMCAyNXB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMTtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5idXJnZXItb3BlbmVyIHtcclxuICAgIEBpbmNsdWRlIGFuaW1hdGUodHJhbnNmb3JtKTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IDM1cHg7XHJcbiAgICBoZWlnaHQ6IDM1cHg7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICBjb2xvcjogdmFyKC0td2hpdGUpO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuXHJcbiAgICAmOmJlZm9yZSxcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGFuaW1hdGUoaGVpZ2h0IHRyYW5zZm9ybSBvcGFjaXR5KTtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13aGl0ZSk7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgaGVpZ2h0OiAxcHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOC45NXB4O1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIH1cclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMXB4KTtcclxuICAgIH1cclxuXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KTtcclxuICAgIH1cclxuXHJcbiAgICAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtOHB4KTtcclxuXHJcbiAgICAgICAgJjpiZWZvcmUsXHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMnB4O1xyXG4gICAgICAgICAgICBsZWZ0OiAycHg7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAycHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGVZKDApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlWSgwKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jbG9zZSB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5vcGVuIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNsb3NlIHtcclxuICAgICAgICBAaW5jbHVkZSBhbmltYXRlKHZpc2liaWxpdHkgb3BhY2l0eSk7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogNDclO1xyXG4gICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICB9XHJcblxyXG4gICAgLm9wZW4ge1xyXG4gICAgICAgIEBpbmNsdWRlIGFuaW1hdGUodmlzaWJpbGl0eSBvcGFjaXR5KTtcclxuICAgICAgICBmb250LXNpemU6IDEwcHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAxMzElKTtcclxuICAgIH1cclxufVxyXG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGhpcyBmaWxlIGNvbnRhaW5zIGFsbCBzdHlsZXMgcmVsYXRlZCB0byB0aGUgY29tbW9uIGxheW91dCBvZiB0aGUgc2l0ZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkB1c2UgJy4uL2Fic3RyYWN0cy8nIGFzICo7XG5cbltpZD1cIndyYXBwZXJcIl0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBvdmVyZmxvdy14OiBjbGlwO1xufVxuXG5baWQ9XCJtYWluXCJdIHtcbiAgICBmbGV4LWdyb3c6IDE7XG59XG5cbi5jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogJG1heC13aWR0aC1jZW50ZXItY29udGFpbmVyO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLWNvbnRhaW5lcjtcbiAgICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmJ1cmdlci1ob2xkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5idXJnZXItZHJvcCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMzAwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgLy8gZm9yIHdlYiBhY2Nlc3NpYmlsaXR5IDogdmlzaWJpbGl0eTogaGlkZGVuOyBvciBkaXNwbGF5OiBub25lICsga2V5ZnJhbWVcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAmLmJ1cmdlci1hY3RpdmUge1xuICAgICAgICAuYnVyZ2VyLWRyb3Age1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgfVxuXG4gICAgfVxufVxuXG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGhpcyBmaWxlIGNvbnRhaW5zIGFsbCBzdHlsZXMgcmVsYXRlZCB0byB0aGUgYnV0dG9uIGNvbXBvbmVudC5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AdXNlICcuLi9hYnN0cmFjdHMvJyBhcyAqO1xuXG4uY3RhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogMTVweDtcbiAgICBjb2xvcjogdmFyKC0td2hpdGUpO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE4MjY5O1xuICAgIHBhZGRpbmc6IDdweCA3cHggN3B4IDEzcHg7XG4gICAgYm9yZGVyLXJhZGl1czogOThweDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjI3cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1wb3NpdGlvbiAwLjI3cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAwLjI3cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIDAuMjdzIGVhc2UtaW4tb3V0O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDZlbTtcbiAgICAgICAgcGFkZGluZzogN3B4IDdweCA3cHggMjJweDtcbiAgICB9XG5cbiAgICAmOmhvdmVyLCAmOmZvY3VzLCAmOnZpc2l0ZWQge1xuICAgICAgICBjb2xvcjogdmFyKC0td2hpdGUpO1xuXG4gICAgICAgIHNwYW5bYXJpYS1oaWRkZW49XCJ0cnVlXCJdIHtcbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjI1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuY3RhLW9yYW5nZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg4OGRlZywgI0ZGODU1NSAwJSwgI0QwNDgxMyA1MCUsICNEMDQ4MTMgNTAlLCAjRkY4NTU1IDEwMCUpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDIwMCUgYXV0bztcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICAgICAgICBwYWRkaW5nOiA4cHggN3B4IDhweCAxM3B4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA4cHggN3B4IDhweCAyMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwJSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5jdGEtc21hbGwge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxkZXNrdG9wJykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDdweCA0cHggNnB4IDEycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmN0YS13aGl0ZSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXdoaXRlKTtcblxuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMTIsIDUwLCAwLjYwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuY3RhLWxpZ2h0LWJsdWUge1xuICAgICAgICBjb2xvcjogdmFyKC0tbGlnaHQtYmx1ZS0xMDApO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saWdodC1ibHVlLTEwMCk7XG5cbiAgICAgICAgc3BhblthcmlhLWhpZGRlbj1cInRydWVcIl0ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQtYmx1ZS0xMDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5jdGEtc21hbGwge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGRlc2t0b3AnKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiA3cHggNHB4IDZweCAxMnB4O1xuICAgICAgICAgICAgZ2FwOiAxNnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5jdGEtZGVza3RvcC1zbWFsbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiA4cHggN3B4IDdweCAyNHB4O1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDI2ZW07XG4gICAgICAgICAgICBnYXA6IDE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuW2FyaWEtaGlkZGVuPVwidHJ1ZVwiXSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmN0YS1vcmFuZ2Utb3V0bGluZSB7XG4gICAgICAgIGdhcDogM3B4O1xuICAgICAgICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoIzEwMUY1MSwgIzEwMUY1MSkgcGFkZGluZy1ib3gsIGxpbmVhci1ncmFkaWVudCg4OGRlZywgI0ZGODU1NSAwJSwgI0QwNDgxMyAxMDEuMDIlKSBib3JkZXItYm94O1xuICAgICAgICBwYWRkaW5nOiA1cHggMTJweCA3cHg7XG5cbiAgICAgICAgLnRleHQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDg4ZGVnLCAjRkY4NTU1IDAlLCAjRDA0ODEzIDEwMS4wMiUpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgICAgICAgICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgICAgICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzcGFuW2FyaWEtaGlkZGVuPVwidHJ1ZVwiXSB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDIzcHg7XG4gICAgICAgIGhlaWdodDogMjNweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13aGl0ZSk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiAzM3B4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzM3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yN3MgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uY3RhLXdyYXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAxNHB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICAgICAgZ2FwOiAxNXB4O1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxufSIsIkB1c2UgXCIuLi9hYnN0cmFjdHNcIiBhcyAqO1xyXG5cclxuLmxhYmVsLWl0ZW0ge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBnYXA6IDVweDtcclxuICAgIGZvbnQtZmFtaWx5OiBcIlBsYXlmYWlyIERpc3BsYXlcIiwgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICBib3JkZXItcmFkaXVzOiAzMnB4O1xyXG4gICAgYm9yZGVyOiAwLjVweCBzb2xpZCB2YXIoLS13aGl0ZSk7XHJcbiAgICBwYWRkaW5nOiA5cHggMjFweDtcclxuICAgIG1hcmdpbjogMCAwIDI3cHg7XHJcbn0iLCJAdXNlIFwiLi4vYWJzdHJhY3RzXCIgYXMgKjtcclxuXHJcbi5zaW1wbGUtbGFiZWxzIHtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgZ2FwOiA4cHg7XHJcbiAgICBjb2xvcjogI0ZGRjtcclxuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XHJcbiAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIG1hcmdpbjogMCAwIDRweDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTdweDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICBsaSB7XHJcbiAgICAgICAgcGFkZGluZzogNHB4IDE0cHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNzApO1xyXG4gICAgfVxyXG59IiwiQHVzZSBcIi4uL2Fic3RyYWN0c1wiIGFzICo7XHJcblxyXG4ubGluZS1ib3gge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgLm1hc2sge1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB9XHJcblxyXG4gICAgLmxpbmUge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgICAgICB3aWR0aDogOTk5OTlweDtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZ2FwOiA0NHB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj13aWRlc2NyZWVuJykge1xyXG4gICAgICAgICAgICBnYXA6IDgwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+KiB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBmaWd1cmUge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxkZXNrdG9wJykge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAyMnB4O1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA5NHB4O1xyXG4gICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuIiwiQHVzZSBcIi4uL2Fic3RyYWN0c1wiIGFzICo7XHJcblxyXG4uc2VjdGlvbi1pbnRybyB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDI3MGRlZywgcmdiYSgwLCA2LCAyNCwgMC4wMCkgMy40NiUsIHJnYmEoMCwgNiwgMjQsIDAuNzApIDI2LjE0JSwgcmdiYSgwLCA2LCAyNCwgMC43MCkgNzIuODQlLCByZ2JhKDAsIDYsIDI0LCAwLjAwKSA5NS45NiUpO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgIC5pbm5lciB7XHJcbiAgICAgICAgbWluLWhlaWdodDogNTM2cHg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nOiA0MHB4IDAgMThweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogNjhweCAwIDIwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY3RhIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAyNWVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5iZy1tZWRpYSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgei1pbmRleDogLTE7XHJcblxyXG4gICAgICAgIHZpZGVvIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ub3B0aW1pemUtaXRlbXMge1xyXG4gICAgbWFyZ2luOiAwIC0xOHB4O1xyXG4gICAgcGFkZGluZzogMTdweCAxOHB4IDM4cHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAxO1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgcGFkZGluZzogMTdweCAwIDE4cHg7XHJcbiAgICB9XHJcblxyXG4gICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgfVxyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICB3aWR0aDogNTE1cHg7XHJcbiAgICAgICAgaGVpZ2h0OiA0MDVweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPSc1MTUnIGhlaWdodD0nNDA1JyB2aWV3Qm94PScwIDAgNTE1IDQwNScgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ2VsbGlwc2UgY3g9JzI1Ny4yNicgY3k9JzIwMi41JyByeD0nMjU3LjI2JyByeT0nMjAyLjUnIGZpbGw9J3VybCglMjNhKScvJTNFJTNDZGVmcyUzRSUzQ3JhZGlhbEdyYWRpZW50IGlkPSdhJyBjeD0nMCcgY3k9JzAnIHI9JzEnIGdyYWRpZW50VW5pdHM9J3VzZXJTcGFjZU9uVXNlJyBncmFkaWVudFRyYW5zZm9ybT0nbWF0cml4KDAgMjAyLjUgLTI1Ny4yNiAwIDI1Ny4yNiAyMDIuNSknJTNFJTNDc3RvcCBvZmZzZXQ9Jy4zNjUnIHN0b3AtY29sb3I9JyUyMzA4Mjg4QycvJTNFJTNDc3RvcCBvZmZzZXQ9JzEnIHN0b3AtY29sb3I9JyUyMzA4Mjg4Qycgc3RvcC1vcGFjaXR5PScwJy8lM0UlM0MvcmFkaWFsR3JhZGllbnQlM0UlM0MvZGVmcyUzRSUzQy9zdmclM0VcIik7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XHJcbiAgICAgICAgdG9wOiAtMThweDtcclxuICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwwKTtcclxuICAgICAgICB6LWluZGV4OiAtMTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAyMHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDI4N3B4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxMDIwJyBoZWlnaHQ9JzI4Nycgdmlld0JveD0nMCAwIDEwMjAgMjg3JyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDZWxsaXBzZSBjeD0nNTA5Ljc0JyBjeT0nMTQzLjUnIHJ4PSc1MDkuNzQnIHJ5PScxNDMuNScgZmlsbD0ndXJsKCUyM2EpJy8lM0UlM0NkZWZzJTNFJTNDcmFkaWFsR3JhZGllbnQgaWQ9J2EnIGN4PScwJyBjeT0nMCcgcj0nMScgZ3JhZGllbnRVbml0cz0ndXNlclNwYWNlT25Vc2UnIGdyYWRpZW50VHJhbnNmb3JtPSdtYXRyaXgoMCAxNDMuNSAtNTA5Ljc0IDAgNTA5Ljc0IDE0My41KSclM0UlM0NzdG9wIG9mZnNldD0nLjQxOCcgc3RvcC1jb2xvcj0nJTIzMDgyODhDJy8lM0UlM0NzdG9wIG9mZnNldD0nMScgc3RvcC1jb2xvcj0nJTIzMDgyODhDJyBzdG9wLW9wYWNpdHk9JzAnLyUzRSUzQy9yYWRpYWxHcmFkaWVudCUzRSUzQy9kZWZzJTNFJTNDL3N2ZyUzRVwiKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgaGVpZ2h0OiAxcHg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMzk0JyBoZWlnaHQ9JzEnIHZpZXdCb3g9JzAgMCAzOTQgMScgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ21hc2sgaWQ9J2InIGZpbGw9JyUyM2ZmZiclM0UlM0NwYXRoIGQ9J00wIDBoMzk0djFIMFYwWicvJTNFJTNDL21hc2slM0UlM0NwYXRoIGQ9J00wIDBoMzk0djFIMFYwWicgZmlsbD0nJTIzMDAwNjE4Jy8lM0UlM0NwYXRoIGQ9J00wIDB2MWgzOTR2LTJIMHYxWicgZmlsbD0ndXJsKCUyM2EpJyBtYXNrPSd1cmwoJTIzYiknLyUzRSUzQ2RlZnMlM0UlM0NsaW5lYXJHcmFkaWVudCBpZD0nYScgeDE9JzYuNjUyJyB5MT0nMCcgeDI9JzM2NC4zOTMnIHkyPScwJyBncmFkaWVudFVuaXRzPSd1c2VyU3BhY2VPblVzZSclM0UlM0NzdG9wIG9mZnNldD0nLjA3Micgc3RvcC1jb2xvcj0nJTIzMDgyODhDJy8lM0UlM0NzdG9wIG9mZnNldD0nLjYwNicgc3RvcC1jb2xvcj0nJTIzQTdCQUY1Jy8lM0UlM0NzdG9wIG9mZnNldD0nLjk4MScgc3RvcC1jb2xvcj0nJTIzMDgyODhDJy8lM0UlM0MvbGluZWFyR3JhZGllbnQlM0UlM0MvZGVmcyUzRSUzQy9zdmclM0VcIik7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDk2OHB4O1xyXG4gICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsMCk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9Jzk2OScgaGVpZ2h0PScxJyB2aWV3Qm94PScwIDAgOTY5IDEnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NtYXNrIGlkPSdiJyBmaWxsPSclMjNmZmYnJTNFJTNDcGF0aCBkPSdNMCAwaDk2OXYxSDBWMFonLyUzRSUzQy9tYXNrJTNFJTNDcGF0aCBkPSdNMCAwaDk2OXYxSDBWMFonIGZpbGw9JyUyMzAwMDYxOCcvJTNFJTNDcGF0aCBkPSdNMCAwdjFoOTY5di0ySDB2MVonIGZpbGw9J3VybCglMjNhKScgbWFzaz0ndXJsKCUyM2IpJy8lM0UlM0NkZWZzJTNFJTNDbGluZWFyR3JhZGllbnQgaWQ9J2EnIHgxPScxNi4zNTknIHkxPScwJyB4Mj0nODk2LjE4NCcgeTI9Jy4wMDMnIGdyYWRpZW50VW5pdHM9J3VzZXJTcGFjZU9uVXNlJyUzRSUzQ3N0b3Agb2Zmc2V0PScuMDcyJyBzdG9wLWNvbG9yPSclMjMwODI4OEMnLyUzRSUzQ3N0b3Agb2Zmc2V0PScuNjA2JyBzdG9wLWNvbG9yPSclMjNBN0JBRjUnLyUzRSUzQ3N0b3Agb2Zmc2V0PScuOTgxJyBzdG9wLWNvbG9yPSclMjMwODI4OEMnLyUzRSUzQy9saW5lYXJHcmFkaWVudCUzRSUzQy9kZWZzJTNFJTNDL3N2ZyUzRVwiKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnRpdGxlIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXBlcml3aW5rbGUtYmx1ZSk7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcclxuICAgICAgICBtYXJnaW46IDAgMCA0cHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5vcHRpbWl6ZS1pdGVtcy1saXN0IHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgZ2FwOiAxMnB4O1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgZ2FwOiAxM3B4O1xyXG4gICAgfVxyXG5cclxuICAgIGZpZ3VyZSB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG5cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCJAdXNlIFwiLi4vYWJzdHJhY3RzXCIgYXMgKjtcclxuXHJcbi5zZWN0aW9uLXJldmlld3Mge1xyXG4gICAgcGFkZGluZzogMjBweCAwO1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgcGFkZGluZzogMzFweCAwIDQ5cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmlubmVyIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDY0NnB4O1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj0zNzVweCcpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAyMnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnNlY3Rpb24tcmV2aWV3cy1ncmlkIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgZ2FwOiA2cHg7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgNDklKSBtaW5tYXgoMCwgMWZyKSBtaW5tYXgoMCwgMWZyKTtcclxuICAgICAgICBncmlkLWdhcDogOXB4O1xyXG4gICAgfVxyXG5cclxuICAgID4gbGkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoNTAlIC0gM3B4KTtcclxuICAgICAgICAgICAgZmxleDogMCAwIGNhbGMoNTAlIC0gM3B4KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICY6bm90KDpudGgtY2hpbGQoMSkpOm5vdCg6bnRoLWNoaWxkKDIpKSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgMTAwJTtcclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IC0xO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5yZXZpZXdzLWdyaWQtaXRlbSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogN3B4IDdweCAwIDA7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ucmV2aWV3cy1ncmlkLWl0ZW0ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBib3JkZXI6IDAuMjg2cHggc29saWQgcmdiYSgjMDgyODhDLCAwLjcpO1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tZGFyay0xMDApO1xyXG4gICAgbWFyZ2luOiAwO1xyXG5cclxuICAgICYuZ29vZ2xlIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCA3cHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogN3B4IDAgMCAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnRydXN0cGlsb3Qge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCA3cHggMDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDdweCAwIDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ub3V0c2lkZS1yZXZpZXcge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgZ2FwOiA5cHg7XHJcbiAgICBwYWRkaW5nOiAyMXB4IDEycHggMTFweDtcclxuXHJcbiAgICBmaWd1cmUge1xyXG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICB3aWR0aDogMjhweDtcclxuICAgICAgICBoZWlnaHQ6IDI4cHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRhcmstYmx1ZTIpO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDJweCAwIHJnYmEoOCwgNDAsIDE0MCwgMC4xMCk7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5wb2ludHMsIC5zZXJ2aWNlLCAuY291bnQge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICB9XHJcblxyXG4gICAgLnBvaW50cyB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxN3B4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMzFlbTtcclxuICAgICAgICBtYXJnaW46IDAgMCAycHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogLTJweCAwIDNweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNlcnZpY2Uge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4yMzY4MztcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNmVtO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvdW50IHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICBnYXA6IDRweDtcclxuICAgICAgICBmb250LXNpemU6IDEwcHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4wODIyMztcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wM2VtO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1saWdodC1ibHVlKTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGFyay1ibHVlMyk7XHJcbiAgICAgICAgcGFkZGluZzogNHB4IDVweDtcclxuICAgICAgICBtYXJnaW46IDlweCAwIDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5yZXZpZXctcXVvdGUge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBnYXA6IDE0cHg7XHJcbiAgICBwYWRkaW5nOiAxN3B4IDE2cHggMTlweDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgIHBhZGRpbmc6IDE3cHggMThweCAxOXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5hdmF0YXIge1xyXG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgICAgIHdpZHRoOiA0N3B4O1xyXG4gICAgICAgIGhlaWdodDogNDdweDtcclxuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMXB4O1xyXG4gICAgfVxyXG5cclxuICAgIGJsb2NrcXVvdGUge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5tZXRhIHtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgLmF1dGhvciwgLnJvbGUge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgICAgICBmb250LXNpemU6IDEwcHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1saWdodC1ibHVlKTtcclxuICAgIH1cclxuXHJcbiAgICAucm9sZSB7XHJcblxyXG4gICAgfVxyXG59IiwiQHVzZSBcIi4uL2Fic3RyYWN0c1wiIGFzICo7XHJcblxyXG4uc2VjdGlvbi13aW5uaW5nLWNhc2VzIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBwYWRkaW5nOiA1OXB4IDAgNDBweDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgIHBhZGRpbmc6IDkzcHggMCAxNnB4O1xyXG4gICAgfVxyXG5cclxuICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgY29udGVudDogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIHdpZHRoOiA1MTVweDtcclxuICAgICAgICBoZWlnaHQ6IDQwNXB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzUxNScgaGVpZ2h0PSc0MDUnIHZpZXdCb3g9JzAgMCA1MTUgNDA1JyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDZWxsaXBzZSBjeD0nMjU3LjI2JyBjeT0nMjAyLjUnIHJ4PScyNTcuMjYnIHJ5PScyMDIuNScgZmlsbD0ndXJsKCUyM2EpJy8lM0UlM0NkZWZzJTNFJTNDcmFkaWFsR3JhZGllbnQgaWQ9J2EnIGN4PScwJyBjeT0nMCcgcj0nMScgZ3JhZGllbnRVbml0cz0ndXNlclNwYWNlT25Vc2UnIGdyYWRpZW50VHJhbnNmb3JtPSdtYXRyaXgoMCAyMDIuNSAtMjU3LjI2IDAgMjU3LjI2IDIwMi41KSclM0UlM0NzdG9wIG9mZnNldD0nLjM2NScgc3RvcC1jb2xvcj0nJTIzMDgyODhDJy8lM0UlM0NzdG9wIG9mZnNldD0nMScgc3RvcC1jb2xvcj0nJTIzMDgyODhDJyBzdG9wLW9wYWNpdHk9JzAnLyUzRSUzQy9yYWRpYWxHcmFkaWVudCUzRSUzQy9kZWZzJTNFJTNDL3N2ZyUzRVwiKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC04NCUpO1xyXG4gICAgICAgIHotaW5kZXg6IC0xO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDIwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjg3cHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzEwMjAnIGhlaWdodD0nMjg3JyB2aWV3Qm94PScwIDAgMTAyMCAyODcnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NlbGxpcHNlIGN4PSc1MDkuNzQnIGN5PScxNDMuNScgcng9JzUwOS43NCcgcnk9JzE0My41JyBmaWxsPSd1cmwoJTIzYSknLyUzRSUzQ2RlZnMlM0UlM0NyYWRpYWxHcmFkaWVudCBpZD0nYScgY3g9JzAnIGN5PScwJyByPScxJyBncmFkaWVudFVuaXRzPSd1c2VyU3BhY2VPblVzZScgZ3JhZGllbnRUcmFuc2Zvcm09J21hdHJpeCgwIDE0My41IC01MDkuNzQgMCA1MDkuNzQgMTQzLjUpJyUzRSUzQ3N0b3Agb2Zmc2V0PScuNDE4JyBzdG9wLWNvbG9yPSclMjMwODI4OEMnLyUzRSUzQ3N0b3Agb2Zmc2V0PScxJyBzdG9wLWNvbG9yPSclMjMwODI4OEMnIHN0b3Atb3BhY2l0eT0nMCcvJTNFJTNDL3JhZGlhbEdyYWRpZW50JTNFJTNDL2RlZnMlM0UlM0Mvc3ZnJTNFXCIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBoZWlnaHQ6IDFweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPSczOTQnIGhlaWdodD0nMScgdmlld0JveD0nMCAwIDM5NCAxJyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDbWFzayBpZD0nYicgZmlsbD0nJTIzZmZmJyUzRSUzQ3BhdGggZD0nTTAgMGgzOTR2MUgwVjBaJy8lM0UlM0MvbWFzayUzRSUzQ3BhdGggZD0nTTAgMGgzOTR2MUgwVjBaJyBmaWxsPSclMjMwMDA2MTgnLyUzRSUzQ3BhdGggZD0nTTAgMHYxaDM5NHYtMkgwdjFaJyBmaWxsPSd1cmwoJTIzYSknIG1hc2s9J3VybCglMjNiKScvJTNFJTNDZGVmcyUzRSUzQ2xpbmVhckdyYWRpZW50IGlkPSdhJyB4MT0nNi42NTInIHkxPScwJyB4Mj0nMzY0LjM5MycgeTI9JzAnIGdyYWRpZW50VW5pdHM9J3VzZXJTcGFjZU9uVXNlJyUzRSUzQ3N0b3Agb2Zmc2V0PScuMDcyJyBzdG9wLWNvbG9yPSclMjMwODI4OEMnLyUzRSUzQ3N0b3Agb2Zmc2V0PScuNjA2JyBzdG9wLWNvbG9yPSclMjNBN0JBRjUnLyUzRSUzQ3N0b3Agb2Zmc2V0PScuOTgxJyBzdG9wLWNvbG9yPSclMjMwODI4OEMnLyUzRSUzQy9saW5lYXJHcmFkaWVudCUzRSUzQy9kZWZzJTNFJTNDL3N2ZyUzRVwiKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4ud2lubmluZy1jYXNlcy1oZWFkZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBtYXJnaW46IDAgMCAyMXB4O1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMzVweDtcclxuICAgIH1cclxuXHJcbiAgICAmOmJlZm9yZXtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaDIge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkcGxheWZhaXItZGlzcGxheS1mb250LCBzYW5zLXNlcmlmO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDE2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jdGEtd3JhcCB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ud2lubmluZy1jYXNlcy1hcmVhIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGhlaWdodDogNjR2dztcclxuICAgICAgICBtYXgtaGVpZ2h0OiA5MjJweDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICAgICAgICBwYWRkaW5nOiAwIDAgMjNweDtcclxuICAgIH1cclxuXHJcbiAgICAuY3RhIHtcclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ud2lubmluZy1jYXNlcy1pbWFnZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbjogMCAtMThweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgIHdpZHRoOiAxMDB2dztcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsIDAsIDAsIDAuMjApIDU3LjI2JSwgIzAwMDYxOCA5Mi40MSUpO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgwLCAwLCAwLCAwLjIwKSAzNSUsIHJnYmEoMCwgMCwgMCwgMC43MCkgOTIuMzElKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgICAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXIgdG9wO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLndpbm5pbmctY2FzZXMtaW1hZ2UgKyAud2lubmluZy1jYXNlcy1ib2R5IHtcclxuICAgIG1hcmdpbi10b3A6IC01MHB4O1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgIH1cclxufVxyXG5cclxuLndpbm5pbmctY2FzZXMtYm9keSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA2MDVweDtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIH1cclxuXHJcbiAgICBoMyB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRwbGF5ZmFpci1kaXNwbGF5LWZvbnQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAzNnB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDI1cHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNDZweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmN0YS13cmFwIHtcclxuICAgICAgICBtYXJnaW46IDI2cHggMCAwO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi53aW5uaW5nLWNhc2VzLXRhZ3Mge1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBnYXA6IDlweDtcclxuICAgIGZvbnQtc2l6ZTogMTBweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcclxuICAgIG1hcmdpbjogMjRweCAwIDA7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBmb250LXNpemU6IDEyLjRweDtcclxuICAgICAgICBnYXA6IDExcHg7XHJcbiAgICAgICAgcGFkZGluZzogOHB4IDAgMDtcclxuICAgICAgICBtYXJnaW46IDAgLTUwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgbGkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZ2FwOiA4cHg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgYm9yZGVyOiAwLjVweCBzb2xpZCB2YXIoLS13aGl0ZSk7XHJcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjIwKTtcclxuICAgICAgICBwYWRkaW5nOiA5cHggMTFweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTNweCAxMnB4IDEzcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGltZyB7XHJcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgaGVpZ2h0OiAyM3B4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIkB1c2UgXCIuLi9hYnN0cmFjdHNcIiBhcyAqO1xyXG5cclxuLnNlY3Rpb24tY3RhLWNhcmRzIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgLmNvbnRhaW5lciB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxOTIwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jdGEtY2FyZHMtbGlzdCB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLDFmcikpO1xyXG4gICAgICAgIGdyaWQtZ2FwOiAxNnB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIC0xOHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXdpZGVzY3JlZW4nKSB7XHJcbiAgICAgICAgZ3JpZC1nYXA6IDI2cHg7XHJcbiAgICB9XHJcblxyXG4gICAgPiBsaSB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uY3RhLWNhcmQge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICBtaW4taGVpZ2h0OiBjYWxjKCg4ODMvMTkyMCkqMTAwdncpO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gICAgICAgIHBhZGRpbmc6IDE4cHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49d2lkZXNjcmVlbicpIHtcclxuICAgICAgICBwYWRkaW5nOiAzMnB4IDE5cHggMzJweCA0OXB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWV4dHJhJykge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDg4M3B4O1xyXG4gICAgfVxyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMCwgNiwgMjQsIDAuMDApIDQxLjc4JSwgcmdiYSgwLCA2LCAyNCwgMC44NSkgNzkuNjIlKTtcclxuICAgICAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnRodW1ibmFpbCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiAwIC0xOHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMCwgNiwgMjQsIDAuMDApIDQ4LjU4JSwgcmdiYSgwLCA2LCAyNCwgMC44MCkgMTAwJSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5ib2R5IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgcGFkZGluZzogMjdweCAwIDA7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXdpZGVzY3JlZW4nKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLDQwNHB4KSBtaW5tYXgoMjk2cHgsMjk2cHgpO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICAgICAgICAgICAgZ3JpZC1nYXA6IDAgMTZweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gZGl2IHtcclxuICAgICAgICAgICAgZGlzcGxheTogY29udGVudHM7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj13aWRlc2NyZWVuJykge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNpbXBsZS1sYWJlbHMge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTdweDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICB9XHJcblxyXG4gICAgaDMge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkcGxheWZhaXItZGlzcGxheS1mb250O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMzZweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcclxuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICBtYXJnaW46IDAgMCAyNXB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDQ2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jdGEtd3JhcCB7XHJcbiAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgcGFkZGluZzogMjVweCAwIDA7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDE2cHggMCAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49d2lkZXNjcmVlbicpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwIDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC53aW5uaW5nLWNhc2VzLXRhZ3Mge1xyXG4gICAgICAgIG1hcmdpbjogMTFweCAwIDA7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49d2lkZXNjcmVlbicpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNzApO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxN3B4IDE4cHggMTNweDtcclxuICAgICAgICAgICAgZ2FwOiAyM3B4IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXdpZGVzY3JlZW4nKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICBnYXA6IDI5cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGZpZ3VyZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXdpZGVzY3JlZW4nKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNTlweDtcclxuICAgICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj13aWRlc2NyZWVuJykge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMnB4O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTFweCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCJAdXNlIFwiLi4vYWJzdHJhY3RzXCIgYXMgKjtcclxuXHJcbi5zZWN0aW9uLWxvZ28tbGluZXMge1xyXG4gICAgcGFkZGluZzogNjZweCAwIDY0cHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgcGFkZGluZzogODBweCAwO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXdpZGVzY3JlZW4nKSB7XHJcbiAgICAgICAgcGFkZGluZzogMTExcHggMDtcclxuICAgIH1cclxuXHJcbiAgICAuY29udGFpbmVyIHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIG1heC13aWR0aDogMTQzN3B4O1xyXG4gICAgfVxyXG5cclxuICAgIC5saW5lLWJveCB7XHJcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzNweDtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1NnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubGluZS1ib3gtd3JhcCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHdpZHRoOiAxNDVweDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICB3aWR0aDogMzc1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBsZWZ0OiAtMXB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgyNzBkZWcsIHJnYmEoMCwgNiwgMjQsIDAuMDApIDAlLCAjMDAwNjE4IDEwMCUpO1xyXG4gICAgfVxyXG5cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIHJpZ2h0OiAtMXB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgyNzBkZWcsICMwMDA2MTggMCUsIHJnYmEoMCwgNiwgMjQsIDAuMDApIDEwMCUpO1xyXG4gICAgfVxyXG59IiwiQHVzZSBcIi4uL2Fic3RyYWN0c1wiIGFzICo7XHJcblxyXG4uc2VjdGlvbi1zZXJ2aWNlcyB7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICBwYWRkaW5nOiAxM3B4IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbnRhaW5lciB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMTM1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmVudHJ5LWhlYWRlciB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMTlweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCA1M3B4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkcGxheWZhaXItZm9udCwgc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMWVtO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBtYXJrIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uc2VydmljZXMtbGlzdCB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGdhcDogMTRweDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbiAgICAgICAgZ2FwOiAwO1xyXG4gICAgICAgIG1hcmdpbjogMCAtNnB4IC0xMnB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIC04cHggLTE2cHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49d2lkZXNjcmVlbicpIHtcclxuICAgICAgICBtYXJnaW46IDAgLTEycHggLTI1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgPiBsaSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMzMuMzMzMyU7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCAzMy4zMzMzJTtcclxuICAgICAgICAgICAgcGFkZGluZzogMCA2cHggMTJweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgOHB4IDE2cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj13aWRlc2NyZWVuJykge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEycHggMjVweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYud2lkZS1pdGVtIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBmbGV4OiAwIDAgMTAwJTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNjYuNjY2NiU7XHJcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgNjYuNjY2NiU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZXJ2aWNlcy1jdGEtaXRlbSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgICRib3JkZXI6IDFweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWRhcmstMjAwKTtcclxuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XHJcbiAgICBib3JkZXI6IHNvbGlkICRib3JkZXIgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiA3cHg7XHJcbiAgICBwYWRkaW5nOiAxNXB4IDE0cHggMTVweCAxNHB4O1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuICAgICAgICBwYWRkaW5nOiAxNnB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgcGFkZGluZzogMjZweCAwIDA7XHJcbiAgICB9XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgbWFyZ2luOiAtJGJvcmRlcjtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xyXG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgzNDNkZWcsICM0RDZDQ0QgMTIuMzclLCAjQTdCQUY1IDI2LjY4JSwgIzRENkNDRCA0MS41NiUpO1xyXG4gICAgICAgIG9wYWNpdHk6IDAuNDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgY29udGVudDogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNlcnZpY2VzLWl0ZW0ge1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IGluaXRpYWw7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICBwYWRkaW5nOiAwIDAgMCA4cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHggMCAwIDE1cHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgyNzBkZWcsIHJnYmEoOCwgNDAsIDE0MCwgMC4wMCkgMCUsICMwMzBFMzEgNTAlKTtcclxuICAgICAgICAgICAgcGFkZGluZzogMTRweCAyMXB4IDIxcHggMjFweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCByZ2JhKDgsIDQwLCAxNDAsIDAuMDApIDAlLCAjMDMwRTMxIDUwJSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGZpZ3VyZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogNnB4IDAgMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC50aXRsZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC50ZXh0IHtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLXdoaXRlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmN0YS13cmFwIHtcclxuICAgICAgICBnYXA6IDlweDtcclxuICAgICAgICBwYWRkaW5nOiAyM3B4IDAgMDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTdweCAwIDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jdGEtbGlnaHQtYmx1ZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxN3B4O1xyXG4gICAgICAgIHBhZGRpbmc6IDdweCA3cHggN3B4IDIzcHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgcGFkZGluZzogN3B4IDdweCA3cHggMjFweDtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDNlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNwYW5bYXJpYS1oaWRkZW49XCJ0cnVlXCJdIHtcclxuICAgICAgICAgICAgd2lkdGg6IDI3cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjdweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNnB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uY3RhLXRlbCB7XHJcbiAgICBmb250LXNpemU6IDE3cHg7XHJcbiAgICBjb2xvcjogdmFyKC0tZ3JlZW4pO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZ3JlZW4pO1xyXG4gICAgcGFkZGluZzogN3B4IDE2cHggN3B4IDlweDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgIGdhcDogNnB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTdweDtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcclxuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1ncmVlbik7XHJcblxyXG4gICAgICAgIC5kZXNrdG9wIHtcclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHNwYW5bYXJpYS1oaWRkZW49XCJ0cnVlXCJdIHtcclxuICAgICAgICB3aWR0aDogMjdweDtcclxuICAgICAgICBoZWlnaHQ6IDI3cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3JlZW4pO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxM3B4O1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxN3B4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBwYXRoIHtcclxuICAgICAgICAgICAgICAgIGZpbGw6IHZhcigtLWRhcmstMjAwKTtcclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICAgICAgICAgIGZpbGw6IHZhcigtLWdyZWVuKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubW9iaWxlIHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZGVza3RvcCB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxkZXNrdG9wJykge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHZhcigtLWdyZWVuKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogdGV4dC1kZWNvcmF0aW9uLWNvbG9yIDAuMjdzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnNlcnZpY2VzLWl0ZW0ge1xyXG4gICAgJGJvcmRlcjogMXB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZGFyay1ibHVlNCk7XHJcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xyXG4gICAgYm9yZGVyOiBzb2xpZCAkYm9yZGVyIHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLXJhZGl1czogN3B4O1xyXG4gICAgcGFkZGluZzogMjdweCAyN3B4IDI5cHggMjdweDtcclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yM3MgZWFzZS1pbi1vdXQ7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICAgIHBhZGRpbmc6IDE2cHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICBwYWRkaW5nOiAyNXB4IDE2cHggMjdweCAyNHB4O1xyXG4gICAgfVxyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgIG1hcmdpbjogLSRib3JkZXI7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMzQzZGVnLCAjNEQ2Q0NEIDEyLjM3JSwgI0E3QkFGNSAyNi42OCUsICM0RDZDQ0QgNDEuNTYlKTtcclxuICAgICAgICBvcGFjaXR5OiAwLjQ7XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAzMEUzMTtcclxuICAgIH1cclxuXHJcbiAgICAmLnhzLW5vbmUge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYm9keSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBnYXA6IDEzcHg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICB9XHJcblxyXG4gICAgZmlndXJlIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHdpZHRoOiA0NXB4O1xyXG4gICAgICAgIGhlaWdodDogNDVweDtcclxuICAgICAgICBmbGV4LXNocmluazogMDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kYXJrLWJsdWU0KTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xyXG4gICAgICAgIGJvcmRlcjogc29saWQgJGJvcmRlciB0cmFuc3BhcmVudDtcclxuXHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgICAgICBtYXJnaW46IC0kYm9yZGVyO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMzQzZGVnLCAjNEQ2Q0NEIDEyLjM3JSwgI0E3QkFGNSAyNi42OCUsICM0RDZDQ0QgNDEuNTYlKTtcclxuICAgICAgICAgICAgb3BhY2l0eTogMC40O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAudGl0bGUge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDExMiwgNTYsIDAuNzApO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAycHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC50ZXh0IHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1saWdodC1ibHVlLTEwMCk7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnRleHQtdGFncyB7XHJcbiAgICAgICAgbWFyZ2luOiAyNXB4IDAgMDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxkZXNrdG9wJykge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZW50cnktbGFiZWxzIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICAgICAgICBnYXA6IDZweDtcclxuICAgICAgICBtYXJnaW46IC0yNnB4IDAgLTMzcHg7XHJcbiAgICAgICAgcGFkZGluZzogMCAyN3B4IDAgMTlweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxkZXNrdG9wJykge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMykge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiAxMTJweDtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBnYXA6IDdweDtcclxuICAgICAgICAgICAgcGFkZGluZzogNnB4IDEycHggNnB4O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4Ljk1NHB4O1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE0MCwgMTY0LCAyNDgsIDAuNTApO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICMwMzBFMzEgMTkuMjMlLCAjMTAyMjU4IDc1LjQ4JSk7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAuODA1cHggMS42MXB4IDIuNDE2cHggMCByZ2JhKDAsIDAsIDAsIDAuMTApO1xyXG5cclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLWRhcmstYmx1ZTYpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4udGV4dC10YWdzIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgZ2FwOiA2cHg7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBsaW5lLWhlaWdodDogMS41O1xyXG4gICAgY29sb3I6IHZhcigtLWRhcmstYmx1ZTUpO1xyXG5cclxuICAgIGxpIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZGFyay0zMDApO1xyXG4gICAgICAgIHBhZGRpbmc6IDNweCA2cHg7XHJcbiAgICB9XHJcbn0iLCJAdXNlIFwiLi4vYWJzdHJhY3RzXCIgYXMgKjtcclxuXHJcbi5zZWN0aW9uLXRvb2xzIHtcclxuICAgIHBhZGRpbmc6IDQ2cHggMCAyNXB4O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj13aWRlc2NyZWVuJykge1xyXG4gICAgICAgIHBhZGRpbmc6IDY3cHggMCAyNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5lbnRyeS1oZWFkZXIge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW46IDAgMCAzN3B4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWRhcmspO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAyNHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTE4cHg7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuOTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tbGlnaHQtYmx1ZS0yMDApO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTgycHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTRweDtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAzNnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMzEycHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjFweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuOTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwjMzk1MTk4IDAlLCAjMzk1MTk4IDYlLCByZ2JhKDAsIDAsIDAsIDApIDEyJSksIGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzM5NTE5OCAwJSwgIzk3QTVDRSAyNC41MiUsICM5N0E1Q0UgNzQuNTIlLCAjMzk1MTk4IDEwMCUpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDIwMCUgMzAwJSwgMTAwJTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdmFyKC0teCkgdmFyKC0teSksIDA7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcclxuICAgICAgICAgICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA5OThweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNTdweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnNlY3Rpb24tdG9vbHMtbW9iaWxlIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLnRvb2xzLWFjY29yZGlvbiB7XHJcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGdhcDogMTJweDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBtYXJnaW46IDAgMCAyMHB4O1xyXG5cclxuICAgID4gbGkge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICRib3JkZXI6IDFweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA3cHg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWRhcmstNDAwKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xyXG4gICAgICAgIGJvcmRlcjogc29saWQgJGJvcmRlciB0cmFuc3BhcmVudDtcclxuICAgICAgICBwYWRkaW5nOiAxNXB4IDI1cHggMTVweCAyNXB4O1xyXG5cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgICAgIG1hcmdpbjogLSRib3JkZXI7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgzNDNkZWcsICM0RDZDQ0QgMTIuMzclLCAjQTdCQUY1IDI2LjY4JSwgIzRENkNDRCA0MS41NiUpO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5vcGVuZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7XHJcblxyXG4gICAgICAgICZbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBmaWd1cmUge1xyXG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcclxuICAgICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHdpZHRoOiA3NHB4O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLXdoaXRlKTtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAxM3B4IDAgMDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiBkaXYge1xyXG4gICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE1LjVweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcclxuICAgICAgICAgICAgcGFkZGluZzogMCAxMnB4IDAgNnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnRpdGxlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuc3VidGl0bGUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRwbGF5ZmFpci1kaXNwbGF5LWZvbnQ7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBsaW5lYXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zbGlkZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcclxuICAgICAgICBmb250LXNpemU6IDEzLjVweDtcclxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xyXG4gICAgICAgIHBhZGRpbmc6IDE1cHggMCA0cHg7XHJcblxyXG4gICAgICAgID4gKjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi50b29scy1udW1iZXJzIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsMWZyKSk7XHJcbiAgICBncmlkLWdhcDogMTFweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICBsaSB7XHJcbiAgICAgICAgJGJvcmRlcjogMXB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDdweDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZGFyay0yMDApO1xyXG4gICAgICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XHJcbiAgICAgICAgYm9yZGVyOiBzb2xpZCAkYm9yZGVyIHRyYW5zcGFyZW50O1xyXG4gICAgICAgIHBhZGRpbmc6IDExcHggOHB4O1xyXG5cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgICAgIG1hcmdpbjogLSRib3JkZXI7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgzNDNkZWcsICM0RDZDQ0QgMTIuMzclLCAjQTdCQUY1IDI2LjY4JSwgIzRENkNDRCA0MS41NiUpO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5udW1iZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICBtYXJnaW46IDRweCAwIDA7XHJcbiAgICB9XHJcblxyXG4gICAgLnRleHQge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4yNDdweDtcclxuICAgIH1cclxufVxyXG5cclxuLnRvb2xzLWlubmVyLXdyYXAge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICBoZWlnaHQ6IDExNjZweDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG1hcmdpbjogLTE4NXB4IDAgMDtcclxuICAgIH1cclxuXHJcbiAgICAuZW50cnktYmcge1xyXG4gICAgICAgIHdpZHRoOiA4OTVweDtcclxuICAgICAgICBoZWlnaHQ6IDg5NXB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBkaXYge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogNTAuOCU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDUwLjUlO1xyXG4gICAgICAgICAgICB3aWR0aDogMTQ2LjIlO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuXHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi50b29scy1pbm5lciB7XHJcbiAgICBtYXgtd2lkdGg6IDMwMnB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBwYWRkaW5nOiA1MXB4IDAgMDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgIH1cclxuXHJcbiAgICBoMyB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDE2cHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjhweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMDI7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDlweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIG1hcmsge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJHBsYXlmYWlyLWZvbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcCB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjFweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmN0YSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICAgIHBhZGRpbmc6IDdweCA3cHggNnB4IDEzcHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDdweCA3cHggNnB4IDE3cHg7XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAwZW07XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIGdhcDogMTJweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNwYW5bYXJpYS1oaWRkZW49XCJ0cnVlXCJdIHtcclxuICAgICAgICAgICAgd2lkdGg6IDI1cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCJAdXNlIFwiLi4vYWJzdHJhY3RzXCIgYXMgKjtcclxuXHJcbi5zZWN0aW9uLWhvcml6b250YWwtY2FyZHMge1xyXG4gICAgcGFkZGluZzogMjRweCAwO1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgcGFkZGluZzogNDVweCAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb250YWluZXIge1xyXG4gICAgICAgIG1heC13aWR0aDogMTM2MnB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5lbnRyeS1oZWFkZXIge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCA0MHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcblxyXG4gICAgICAgICAgICBtYXJrIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkcGxheWZhaXItZm9udDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmhvcml6b250YWwtY2FyZHMtc3dpcGVyLnN3aXBlciB7XHJcbiAgICAuc3dpcGVyLXdyYXBwZXIge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAuc3dpcGVyLXNsaWRlIHtcclxuICAgICAgICB3aWR0aDogMjM5cHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDIyMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDM4MXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmhvcml6b250YWwtY2FyZCB7XHJcbiAgICAkYm9yZGVyOiAxcHg7XHJcbiAgICBoZWlnaHQ6IDMxM3B4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGNvbG9yOiAjQzZENEZGO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWRhcmspO1xyXG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcclxuICAgIGJvcmRlcjogc29saWQgJGJvcmRlciB0cmFuc3BhcmVudDtcclxuICAgIHBhZGRpbmc6IDEycHggMTBweDtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICBoZWlnaHQ6IDQ5OHB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIycHg7XHJcbiAgICAgICAgcGFkZGluZzogMThweDtcclxuICAgIH1cclxuXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgICBjb2xvcjogI0M2RDRGRjtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogdmFyKC0td2hpdGUpO1xyXG5cclxuICAgICAgICBmaWd1cmUge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG5cclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgIG1hcmdpbjogLSRib3JkZXI7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMzQzZGVnLCAjNEQ2Q0NEIDEyLjM3JSwgI0E3QkFGNSAyNi42OCUsICM0RDZDQ0QgNDEuNTYlKTtcclxuICAgICAgICBvcGFjaXR5OiAwLjQ7XHJcbiAgICB9XHJcblxyXG4gICAgZmlndXJlIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBvcGFjaXR5OiAwLjQ7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI3cyBlYXNlLWluLW91dDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjJweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDAsIDAsIDAsIDAuMzApIDAlLCByZ2JhKDAsIDAsIDAsIDAuMzApIDEwMCUpO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjdzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgID4gc3ZnIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgd2lkdGg6IDQ1cHg7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICB3aWR0aDogNzFweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgPiBkaXYge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IGF1dG87XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIGgzIHtcclxuICAgICAgICBmb250LXNpemU6IDE3cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDZweDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjI3cyBlYXNlLWluLW91dDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyN3B4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCA4cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHAge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkcGxheWZhaXItZm9udDtcclxuICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMjdzIGVhc2UtaW4tb3V0O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiQHVzZSBcIi4uL2Fic3RyYWN0c1wiIGFzICo7XHJcblxyXG4uc2VjdGlvbi1zb3VyY2UtcmV2aWV3cyB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgcGFkZGluZzogMTdweCAwO1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgcGFkZGluZzogMTAwcHggMDtcclxuICAgIH1cclxuXHJcbiAgICAuY29udGFpbmVyIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDE2NDhweDtcclxuICAgIH1cclxufVxyXG5cclxuLnNvdXJjZS1yZXZpZXdzLXdyYXAge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgd2lkdGg6IDYxNXB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDYzNnB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogLTYzcHg7XHJcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgbGVmdDogLTE1NnB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9kZWNvci1yZXZpZXctbGVmdC5wbmcnKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCB0b3A7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAtMTU2cHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2RlY29yLXJldmlldy1yaWdodC5wbmcnKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgdG9wO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubGluZS1ib3gge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTdweDtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICB3aWR0aDogMTMwcHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAtMTNweDtcclxuICAgICAgICAgICAgYm90dG9tOiAtMjRweDtcclxuICAgICAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDM4MnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGxlZnQ6IC0yMXB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCByZ2JhKDAsIDYsIDI0LCAwLjAwKSAwJSwgIzAwMDYxOCA3OC4zNyUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAtMjFweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDI3MGRlZywgIzAwMDYxOCAwJSwgcmdiYSgwLCA2LCAyNCwgMC4wMCkgNzguMzclKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5saW5lIHtcclxuICAgICAgICAgICAgZ2FwOiAxN3B4O1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgICAgIGdhcDogMjRweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49d2lkZXNjcmVlbicpIHtcclxuICAgICAgICAgICAgICAgIGdhcDogMzRweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnJldmlldy1jYXJkIHtcclxuICAgICRib3JkZXI6IDFweDtcclxuICAgIHdpZHRoOiAyMzFweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWRhcmstMTAwKTtcclxuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XHJcbiAgICBib3JkZXI6IHNvbGlkICRib3JkZXIgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBwYWRkaW5nOiAxNnB4IDE1cHg7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICAgIHdpZHRoOiAyNjZweDtcclxuICAgICAgICBwYWRkaW5nOiAxNnB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgd2lkdGg6IDM3OHB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDdweDtcclxuICAgICAgICBwYWRkaW5nOiAyN3B4IDI2cHggMjZweCAyNXB4O1xyXG4gICAgfVxyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgIG1hcmdpbjogLSRib3JkZXI7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMzQzZGVnLCAjNEQ2Q0NEIDEyLjM3JSwgI0E3QkFGNSAyNi42OCUsICM0RDZDQ0QgNDEuNTYlKTtcclxuICAgICAgICBvcGFjaXR5OiAwLjQ7XHJcbiAgICB9XHJcblxyXG4gICAgLnNlcnZpY2UtaWNvbiB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDNweDtcclxuICAgICAgICByaWdodDogM3B4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbiAgICAgICAgICAgIHRvcDogNHB4O1xyXG4gICAgICAgICAgICByaWdodDogNHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgdG9wOiA1cHg7XHJcbiAgICAgICAgICAgIHJpZ2h0OiA2cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMXB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMXB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5oZWFkIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogN3B4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAxNWVtO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1saWdodC1ibHVlLTEwMCk7XHJcbiAgICAgICAgcGFkZGluZzogMCAwIDIuMWVtO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogOXB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMjNweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnJhdGluZyB7XHJcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzgwOTZEQTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgICAgICAgcGFkZGluZzogMCA2cHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAycHggNnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogNXB4IDExcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zdGFycyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGdhcDogMnB4O1xyXG5cclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogOXB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA3cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNvdXJjZSB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5xdW90ZSB7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogOXB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU3ODtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMWVtO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgcGFkZGluZzogMCAwIDExcHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMjFweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5mb290ZXIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNi41cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWxpZ2h0LWJsdWUtMTAwKTtcclxuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzI3M2M3ZjtcclxuICAgICAgICBwYWRkaW5nOiAxMXB4IDAgMDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDhweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMTlweCAwIDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubmFtZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogOXB4O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMTVlbTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAuMjVlbSAwIDA7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDlweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIkB1c2UgXCIuLi9hYnN0cmFjdHNcIiBhcyAqO1xyXG5cclxuLnNlY3Rpb24tdGVhbSB7XHJcbiAgICBwYWRkaW5nOiA0OXB4IDA7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgcGFkZGluZzogOTRweCAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb250YWluZXIge1xyXG4gICAgICAgIG1heC13aWR0aDogMTM5MnB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4udGVhbS1hcmVhIHtcclxuICAgIG1hcmdpbjogMCAwIDQ5cHg7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMzNweDtcclxuICAgIH1cclxuXHJcbiAgICAuZW50cnktaGVhZGVyIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMTdweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogOTdweCAwIDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmID4qOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnN1YnRpdGxlIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg4OGRlZywgI0ZGODU1NSAwJSwgI0QwNDgxMyAxMDEuMDIlKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xyXG4gICAgICAgICAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcclxuICAgICAgICAgICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAycHg7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBtYXJrIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJHBsYXlmYWlyLWZvbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmN0YS13cmFwIHtcclxuICAgICAgICBwYWRkaW5nOiA3cHggMCAwO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmN0YSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDdweCA3cHggNnB4IDE3cHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICAgICAgZ2FwOiAxM3B4O1xyXG5cclxuICAgICAgICAgICAgc3BhblthcmlhLWhpZGRlbj1cInRydWVcIl0ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDI2cHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI2cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi50ZWFtLWNhcmQtbGlzdCB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICBnYXA6IDAgMTZweDtcclxuICAgIH1cclxuXHJcbiAgICA+IGxpIHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICB3aWR0aDogMzE5cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOm50aC1jaGlsZCgxKSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxNzdweCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bnRoLWNoaWxkKDIpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDQwcHgpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj0xMzg4cHgnKSB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTBweCwgNDBweCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bnRoLWNoaWxkKDQpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDE2NHB4KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49MTM4OHB4Jykge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMzBweCwgMTY0cHgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4udGVhbS1jYXJkIHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLXJhZGl1czogN3B4O1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCMwMTA5MjIsICMwMTA5MjIpIHBhZGRpbmctYm94LCBsaW5lYXItZ3JhZGllbnQoMzQzZGVnLCByZ2JhKCM0RDZDQ0QsMC40KSAxMi4zNyUsIHJnYmEoI0E3QkFGNSwwLjQpIDI2LjY4JSwgcmdiYSgjNEQ2Q0NELDAuNCkgNDEuNTYlKSBib3JkZXItYm94O1xyXG4gICAgcGFkZGluZzogMTVweCAxNHB4IDE4cHg7XHJcblxyXG4gICAgLmhlYWQge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBnYXA6IDlweDtcclxuICAgICAgICBwYWRkaW5nOiAwIDAgMTdweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAwIDI0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5hdmF0YXIge1xyXG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubmFtZSB7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWxpZ2h0LWJsdWUtMTAwKTtcclxuICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcclxuICAgICAgICBtYXJnaW46IDAgMCAzcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnBvc2l0aW9uIHtcclxuICAgICAgICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xyXG4gICAgICAgIGNvbG9yOiAjNEY1RDg4O1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuXHJcbiAgICAuYm9keSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcclxuICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTU7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMCA1cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnZhY2FuY3ktYXJlYSB7XHJcbiAgICA+IC5jdGEtd3JhcHtcclxuICAgICAgICBwYWRkaW5nOiAyMnB4IDAgMDtcclxuICAgICAgICBnYXA6IDE3cHg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgIGdhcDogMThweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMjZweCAwIDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5oZWxwLXRleHQge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XHJcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1saWdodC1ibHVlLTEwMCk7XHJcbiAgICAgICAgbWFyZ2luOiA3cHggMCAwO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICBtYXJnaW46IDhweCAwIDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jdGEge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcclxuICAgICAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc3BhblthcmlhLWhpZGRlbj1cInRydWVcIl0ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDI1cHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmN0YS13aGl0ZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxkZXNrdG9wJykge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMXB4O1xyXG4gICAgICAgICAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDhweDtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBpbmhlcml0O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMXB4IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzcGFuW2FyaWEtaGlkZGVuPVwidHJ1ZVwiXSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi52YWNhbmN5LWltYWdlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luOiAwIC0zMXB4IC0yOHB4O1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMjA2cHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbjogLTUxcHggYXV0byAtNjRweDtcclxuICAgIH1cclxufVxyXG5cclxuLnZhY2FuY3ktaXRlbS1ob2xkZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuLnZhY2FuY3ktaXRlbSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTFweDtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgjMDAwQzMxLCAjMDAwQzMxKSBwYWRkaW5nLWJveCwgbGluZWFyLWdyYWRpZW50KDM0M2RlZywgcmdiYSgjNEQ2Q0NELDAuNCkgMTIuMzclLCByZ2JhKCNBN0JBRjUsMC40KSAyNi42OCUsIHJnYmEoIzRENkNDRCwwLjQpIDQxLjU2JSkgYm9yZGVyLWJveDtcclxuICAgIGJveC1zaGFkb3c6IDAgMTBweCAzMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjIwKTtcclxuICAgIHBhZGRpbmc6IDE3cHggMTlweCAyMHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMTtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBnYXA6IDEwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgcGFkZGluZzogMjRweCAxOXB4IDI0cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmhlYWQge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgd2lkdGg6IDI1OXB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuc3VidGl0bGUge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjIxO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoODhkZWcsICNGRjg1NTUgMCUsICNEMDQ4MTMgMTAxLjAyJSk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcclxuICAgICAgICAgICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaDMge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjIxO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4udmFjYW5jeS1saXN0IHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBnYXA6IDEycHg7XHJcbiAgICB9XHJcblxyXG4gICAgPiBsaSB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnZhY2FuY3ktY2FyZCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBjb2xvcjogdmFyKC0td2hpdGUpICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgjMTAxRjUxLCAjMTAxRjUxKSBwYWRkaW5nLWJveCwgbGluZWFyLWdyYWRpZW50KDM0M2RlZywgcmdiYSgjNEQ2Q0NELDAuNCkgMTIuMzclLCByZ2JhKCNBN0JBRjUsMC40KSAyNi42OCUsIHJnYmEoIzRENkNDRCwwLjQpIDQxLjU2JSkgYm9yZGVyLWJveDtcclxuICAgIHBhZGRpbmc6IDlweCAxMnB4IDEycHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXdoaXRlKTtcclxuXHJcbiAgICAgICAgLnRpdGxlIHtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBpbmhlcml0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgcGFkZGluZzogMnB4IDhweCAxcHg7XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXdoaXRlKTtcclxuICAgIH1cclxuXHJcbiAgICAudG9wIHtcclxuICAgICAgICBtYXJnaW46IDAgMCA1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmljb24sIC50aXRsZSwgLnRpbWUge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmljb24ge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC02MCUsIC01MCUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAudGl0bGUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMnB4O1xyXG4gICAgICAgIG1hcmdpbjogMCAuNWVtO1xyXG4gICAgICAgIHRyYW5zaXRpb246IHRleHQtZGVjb3JhdGlvbi1jb2xvciAwLjIzcyBlYXNlLWluLW91dDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC50aW1lIHtcclxuICAgICAgICBmb250LXNpemU6IDExcHg7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWxpZ2h0LWJsdWUtMTAwKTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgOHB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY3RhIHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIkB1c2UgXCIuLi9hYnN0cmFjdHNcIiBhcyAqO1xyXG5cclxuLnNlY3Rpb24tYW5pbWF0aW9uLXNjcmVlbiB7XHJcbiAgICBwYWRkaW5nOiAzNHB4IDAgMjZweDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgIHBhZGRpbmc6IDYwcHggMDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1leHRyYScpIHtcclxuICAgICAgICBwYWRkaW5nOiAxMzVweCAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5iZy1tZWRpYSB7XHJcbiAgICAgICAgaGVpZ2h0OiA3NDhweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXgtd2lkdGg6IDE5MjBweDtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKCg5NDQvMTkyMCkqMTAwdncpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZXh0cmEnKSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogOTQ0cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHdpZHRoOiA2MTVweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA2MzZweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgei1pbmRleDogMTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgICAgICB0b3A6IC0xOXB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAzMjVweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjkzcHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9kZWNvci1yZXZpZXctbGVmdC1tb2JpbGUucG5nJyk7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICAgICAgbGVmdDogLTE1NnB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvZGVjb3ItcmV2aWV3LWxlZnQucG5nJyk7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IHRvcDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAyOTlweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjQ2cHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9kZWNvci1yZXZpZXctcmlnaHQtbW9iaWxlLnBuZycpO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgICAgICByaWdodDogLTE1NnB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvZGVjb3ItcmV2aWV3LXJpZ2h0LnBuZycpO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgdG9wO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubW9iaWxlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmRlc2t0b3Age1xyXG4gICAgICAgICAgICAmOm5vdCg6b25seS1jaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB2aWRlbyB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgfVxyXG59IiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoaXMgZmlsZSBjb250YWlucyBhbGwgc3R5bGVzIHJlbGF0ZWQgdG8gdGhlIGZvb3RlciBvZiB0aGUgc2l0ZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkB1c2UgJy4uL2Fic3RyYWN0cycgYXMgKjtcblxuI2Zvb3RlciB7XG4gICAgcGFkZGluZzogNDBweCAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49d2lkZXNjcmVlbicpIHtcbiAgICAgICAgcGFkZGluZzogNjNweCAwIDQwcHg7XG4gICAgfVxuXG4gICAgLmNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogMTQ3NnB4O1xuICAgIH1cbn1cblxuLmZvb3Rlci1sb2dvIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIGF1dG8gMjRweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gNDBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj13aWRlc2NyZWVuJykge1xuICAgICAgICBtYXJnaW46IDAgYXV0byA2MXB4O1xuICAgIH1cbn1cblxuLmZvb3Rlci1uYXYge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ3JpZC1nYXA6IDI0cHggMDtcbiAgICBwYWRkaW5nOiAwIDAgNDBweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsIGF1dG8pKTtcbiAgICAgICAgZ3JpZC1nYXA6IDI4cHggMTZweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCBtaW5tYXgoMCwgYXV0bykpO1xuICAgICAgICBwYWRkaW5nOiAwIDMuNyUgNjNweDtcbiAgICB9XG59XG5cbi5mb290ZXItbmF2LWl0ZW0ge1xuICAgIHAge1xuICAgICAgICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTk2NzU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1saWdodC1ibHVlLTEwMCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49d2lkZXNjcmVlbicpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZW51IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49d2lkZXNjcmVlbicpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4xZW07XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj13aWRlc2NyZWVuJykge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjQ2ZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1saWdodC1ibHVlLTEwMCk7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0ZXh0LWRlY29yYXRpb24tY29sb3IgMC4yN3MgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1saWdodC1ibHVlLTEwMCk7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnZhY2FuY3ktY291bnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzZBQ0M1MDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0td2hpdGUpO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjhlbTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0ycHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXdpZGVzY3JlZW4nKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jdGEge1xuICAgICAgICBtYXJnaW46IDE4cHggMCAwO1xuICAgIH1cbn1cblxuLmZvb3Rlci1ib3R0b20ge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNGU2ZGNlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWRhcmstMTAwKTtcbiAgICBwYWRkaW5nOiAwIDE4cHggMjRweDtcbiAgICBtYXJnaW46IDAgLTE4cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuICAgICAgICBwYWRkaW5nOiAyNHB4IDI0cHggMjlweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbn1cblxuLmZvb3Rlci1ib3R0b20tbmF2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgLm1lbnUge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTtcbiAgICAgICAgYmFja2dyb3VuZDogIzEwMjM1QztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgbWFyZ2luOiAwIC0xOHB4O1xuICAgICAgICBwYWRkaW5nOiAyNHB4IDE4cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgZ2FwOiAwIDE0cHg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDRweCAxNnB4O1xuXG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj13aWRlc2NyZWVuJykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgcGFkZGluZzogNHB4IDI1cHg7XG4gICAgICAgICAgICBnYXA6IDAgMjFweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiA4cHggNXB4O1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRleHQtZGVjb3JhdGlvbi1jb2xvciAwLjI3cyBlYXNlLWluLW91dDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49d2lkZXNjcmVlbicpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5mb290ZXItbWV0YSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTZweDtcbiAgICBtYXgtd2lkdGg6IDEyNDBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiAyNHB4IDAgMDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGdhcDogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuICAgICAgICBwYWRkaW5nOiAzM3B4IDAgMDtcbiAgICB9XG5cbiAgICA+IGRpdiB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgfVxufVxuXG4uZm9vdGVyLWNvbnRhY3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMnB4IDE2cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIGdhcDogMTJweCA1MXB4O1xuICAgIH1cbn1cblxuLmZvb3Rlci1sb2dvLXdoaXRlIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5mb290ZXItcGhvbmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMnB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMS4xNTtcbiAgICBjb2xvcjogdmFyKC0td2hpdGUpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBnYXA6IDIwcHg7XG4gICAgfVxuXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc3BhbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB0cmFuc2l0aW9uOiB0ZXh0LWRlY29yYXRpb24tY29sb3IgMC4yN3MgZWFzZS1pbi1vdXQ7XG4gICAgfVxufVxuXG4uZm9vdGVyLWdvb2dsZS1yZXZpZXcge1xuICAgIHdpZHRoOiAyMzBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA3cHg7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDVweCA1cHg7XG4gICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkIHZhcigtLWxpZ2h0LWJsdWUtMTAwKTtcbiAgICBiYWNrZ3JvdW5kOiAjMTAyMzVDO1xuICAgIHBhZGRpbmc6IDlweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuXG4gICAgZmlndXJlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAudGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuc3RhcnMtd3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMTBweDtcbiAgICB9XG5cbiAgICAuc2NvcmUge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgfVxuXG4gICAgLnN0YXJzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiA0cHg7XG4gICAgfVxufVxuXG4uZm9vdGVyLWxvZ29zIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHggMTVweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG5cbiAgICBmaWd1cmUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMTAyMzVDO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY29weXJpZ2h0LWJsb2NrIHtcbiAgICBwYWRkaW5nOiAxMXB4IDA7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgIC5tZW51IHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGdhcDogMTJweCAyNXB4O1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49d2lkZXNjcmVlbicpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAjODQ5NEM1O1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRleHQtZGVjb3JhdGlvbi1jb2xvciAwLjI3cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnfCc7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtMC43OGVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICM4NDk0QzU7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIvKipcclxuICogU3dpcGVyIDExLjIuNFxyXG4gKiBNb3N0IG1vZGVybiBtb2JpbGUgdG91Y2ggc2xpZGVyIGFuZCBmcmFtZXdvcmsgd2l0aCBoYXJkd2FyZSBhY2NlbGVyYXRlZCB0cmFuc2l0aW9uc1xyXG4gKiBodHRwczovL3N3aXBlcmpzLmNvbVxyXG4gKlxyXG4gKiBDb3B5cmlnaHQgMjAxNC0yMDI1IFZsYWRpbWlyIEtoYXJsYW1waWRpXHJcbiAqXHJcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZVxyXG4gKlxyXG4gKiBSZWxlYXNlZCBvbjogRmVicnVhcnkgMTQsIDIwMjVcclxuICovXHJcblxyXG4gQGZvbnQtZmFjZXtmb250LWZhbWlseTpzd2lwZXItaWNvbnM7c3JjOnVybCgnZGF0YTphcHBsaWNhdGlvbi9mb250LXdvZmY7Y2hhcnNldD11dGYtODtiYXNlNjQsIGQwOUdSZ0FCQUFBQUFBWmdBQkFBQUFBQURBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCR1JsUk5BQUFHUkFBQUFCb0FBQUFjaTZxSGtVZEVSVVlBQUFXZ0FBQUFJd0FBQUNRQVlBQlhSMUJQVXdBQUJoUUFBQUF1QUFBQU51QVk3K3hIVTFWQ0FBQUZ4QUFBQUZBQUFBQm0yZlBjelU5VEx6SUFBQUhjQUFBQVNnQUFBR0JQOVY1UlkyMWhjQUFBQWtRQUFBQ0lBQUFCWXQ2RjBjQmpkblFnQUFBQ3pBQUFBQVFBQUFBRUFCRUJSR2RoYzNBQUFBV1lBQUFBQ0FBQUFBai8vd0FEWjJ4NVpnQUFBeXdBQUFETUFBQUQyTUh0cnlWb1pXRmtBQUFCYkFBQUFEQUFBQUEyRTIrZW9XaG9aV0VBQUFHY0FBQUFId0FBQUNRQzlnRHphRzEwZUFBQUFpZ0FBQUFaQUFBQXJnSmtBQkZzYjJOaEFBQUMwQUFBQUZvQUFBQmFGUUFVR0cxaGVIQUFBQUc4QUFBQUh3QUFBQ0FBY0FCQWJtRnRaUUFBQS9nQUFBRTVBQUFDWHZGZEJ3bHdiM04wQUFBRk5BQUFBR0lBQUFDRTVzNzRoWGphWTJCa1lHQUFZcGY1SHUvaitXMitNbkF6TVlEQXphWDZRakQ2LzQvL0J4ajVHQThBdVJ3TVlHa0FQeXdMMTNqYVkyQmtZR0E4OFA4QWd4NGorLzhmUURZZkExQUVCV2dEQUlCMkJPb0FlTnBqWUdSZ1lOQmg0R2RnWWdBQkVNbklBQkp6WU5BRENRQUFDV2dBc1FCNDJtTmdZZnpDT0lHQmxZR0IwWWN4allHQndSMUtmMldRWkdoaFlHQmlZR1ZtZ0FGR0JpUVFrT2Fhd3REQW9NQlF4WGpnL3dFR1BjWUREQTR3TlVBMkNDZ3dzQUFBTzRFTDZnQUFlTnBqMk0wZ3lBQUNxeGdHTldCa1oyRDQvd01BK3hrRGRnQUFBSGphWTJCZ1lHYUFZQmtHUmdZUWlBSHlHTUY4RmdZSElNM0R3TUhBQkdRck1PZ3lXRExFTTFUOS93OFVCZkVNZ0x6RS8vLy9QLzUvL2YvVi94dityNGVhQUFlTWJBeHdJVVltSU1IRWdLWUFZalVjc0RBd3NMS3hjM0J5Y2ZQdzhqRVFBL2daQkFTRmhFVkV4Y1FsSktXa1pXVGw1QlVVbFpSVlZOWFVOVFFaQmdNQUFNUitFK2dBRVFGRUFBQUFLZ0FxQUNvQU5BQStBRWdBVWdCY0FHWUFjQUI2QUlRQWpnQ1lBS0lBckFDMkFNQUF5Z0RVQU40QTZBRHlBUHdCQmdFUUFSb0JKQUV1QVRnQlFnRk1BVllCWUFGcUFYUUJmZ0dJQVpJQm5BR21BYklCemdIc0FBQjQydTJOTVE2Q1VBeUdXNTY4eDlBbmVZWWdtNE1KYmhLRmFFeElPQVZYOEFwZXdTdDRCaWM0QWZlQWlkM1ZPQml4RHhmUFlFemE1TytYZmkwNFlBRGdnaVVJVUxDdUVKSzhWaE80YlN2cGRua3RISTVRQ1l0ZGkyc2w4Wm5YYUhscVVyTkt6ZEtjVDhjamxxK3J3WlN2SVZjek5pZXpzZm5QL3V6bm1mUEZCTk9ETTJLN01UUTQ1WUVBWnFHUDgxQW1HR2NGM2lQcU9vcDByMVNQVGFUYlZrZlVlNEhYajk3d1lFK3lOd1dZeHdXdTR2MXVnV0hnbzNTMVhkWkVWcVdNN0VUMGNmbkxHeFdma2dSNDJvMlB2V3JETUJTRmovSUhMYUYwektqUmdkaVZNd1NjTlJBb1dVb0g3OFkyaWNCL3lJWTA5QW42QUgyQmR1L1VCK3l4b3BZc2hRaUV2bnZ1MGRVUmdEdDhRZUM4UER3N0ZwamkzZkVBNHovUEVKNllPQjVoS2g0ZGozRXZYaHhQcUgvU0tVWTNySjdzclo0RlpuaDFQTUF0UGh3UDZmbDJQTUpNUERnZVE0clk4WVQ2R3phbzBlQUVBNDA5RHVnZ21UbkZuT2NTQ2lFaUxNZ3hDaVRJNkNxNURaVWQzUW1wMTB2TzBMYUxUZDJjak40Zk91bWxjN2xVWWJTUWNaRmt1dFJHN2c2SktaS3kwUm1kTFk2ODBDRG5FSitVTWtwRkZlMVJON254ZFZwWHJDNGFUdG5hdXJPblllcmNaZzJZVm1MTi9kL2djemZFaW1yRS9mcy9iT3VxMjlabW44dGxvT1JhWGdaZ0dhNzh5TzkvY25YbTJCcGFHdnEyNUR2OVM0RTkrNVNJYzlQcXVwSktoWUZTU2w0NytRY3IxbVlOQUFBQWVOcHR3MGNLd2tBQUFNRFpKQThRN09VSnZrTHNQZlo2ekZWRVJQeThxSGgyWUVSKzNpL0JQODN2SUJMTHlTc29LaW1ycUtxcGEyaHA2K2pxNlJzWUdobWJtSnFaU3kwc3JheHRiTzNzSFJ5ZG5FTVU0dVI2eXg3SkpYdmVQN1dyRHljQUFBQUFBQUgvL3dBQ2VOcGpZR1JnWU9BQlloa2daZ0pDWmdaTkJrWUdMUVp0SUpzRkxNWUFBQXczQUxnQWVOb2xpekVLZ0RBUUJDY2hSYkMyc0ZFUjBZRDZxVlFpQkN2L0g5ZXpHSTZaNVhCQXc4Q0JLL201aVFRVmF1VmJYTG5Pck1adjJvTGRLRmE4UGp1cnUyaEp6R2FibU9TTHpOTXp2dXRwQjNONDJtTmdaR0JnNEdLUVl6QmhZTXhKTE1sajRHQmdBWW93L1AvUEFKSmhMTTZzU29XS2ZXQ0FBd0RBamdiUkFBQjQybU5nWUdCa0FJSWJDWm81SVBybVVuMGhHQTBBTzhFRlRRQUEnKTtmb250LXdlaWdodDo0MDA7Zm9udC1zdHlsZTpub3JtYWx9OnJvb3R7LS1zd2lwZXItdGhlbWUtY29sb3I6IzAwN2FmZn06aG9zdHtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrO21hcmdpbi1sZWZ0OmF1dG87bWFyZ2luLXJpZ2h0OmF1dG87ei1pbmRleDoxfS5zd2lwZXJ7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0bztwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW47bGlzdC1zdHlsZTpub25lO3BhZGRpbmc6MDt6LWluZGV4OjE7ZGlzcGxheTpibG9ja30uc3dpcGVyLXZlcnRpY2FsPi5zd2lwZXItd3JhcHBlcntmbGV4LWRpcmVjdGlvbjpjb2x1bW59LnN3aXBlci13cmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ei1pbmRleDoxO2Rpc3BsYXk6ZmxleDt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjp2YXIoLS1zd2lwZXItd3JhcHBlci10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbixpbml0aWFsKTtib3gtc2l6aW5nOmNvbnRlbnQtYm94fS5zd2lwZXItYW5kcm9pZCAuc3dpcGVyLXNsaWRlLC5zd2lwZXItaW9zIC5zd2lwZXItc2xpZGUsLnN3aXBlci13cmFwcGVye3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwcHgsMCwwKX0uc3dpcGVyLWhvcml6b250YWx7dG91Y2gtYWN0aW9uOnBhbi15fS5zd2lwZXItdmVydGljYWx7dG91Y2gtYWN0aW9uOnBhbi14fS5zd2lwZXItc2xpZGV7ZmxleC1zaHJpbms6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO2Rpc3BsYXk6YmxvY2t9LnN3aXBlci1zbGlkZS1pbnZpc2libGUtYmxhbmt7dmlzaWJpbGl0eTpoaWRkZW59LnN3aXBlci1hdXRvaGVpZ2h0LC5zd2lwZXItYXV0b2hlaWdodCAuc3dpcGVyLXNsaWRle2hlaWdodDphdXRvfS5zd2lwZXItYXV0b2hlaWdodCAuc3dpcGVyLXdyYXBwZXJ7YWxpZ24taXRlbXM6ZmxleC1zdGFydDt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSxoZWlnaHR9LnN3aXBlci1iYWNrZmFjZS1oaWRkZW4gLnN3aXBlci1zbGlkZXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVufS5zd2lwZXItM2Quc3dpcGVyLWNzcy1tb2RlIC5zd2lwZXItd3JhcHBlcntwZXJzcGVjdGl2ZToxMjAwcHh9LnN3aXBlci0zZCAuc3dpcGVyLXdyYXBwZXJ7dHJhbnNmb3JtLXN0eWxlOnByZXNlcnZlLTNkfS5zd2lwZXItM2R7cGVyc3BlY3RpdmU6MTIwMHB4fS5zd2lwZXItM2QgLnN3aXBlci1jdWJlLXNoYWRvdywuc3dpcGVyLTNkIC5zd2lwZXItc2xpZGV7dHJhbnNmb3JtLXN0eWxlOnByZXNlcnZlLTNkfS5zd2lwZXItY3NzLW1vZGU+LnN3aXBlci13cmFwcGVye292ZXJmbG93OmF1dG87c2Nyb2xsYmFyLXdpZHRoOm5vbmU7LW1zLW92ZXJmbG93LXN0eWxlOm5vbmV9LnN3aXBlci1jc3MtbW9kZT4uc3dpcGVyLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX0uc3dpcGVyLWNzcy1tb2RlPi5zd2lwZXItd3JhcHBlcj4uc3dpcGVyLXNsaWRle3Njcm9sbC1zbmFwLWFsaWduOnN0YXJ0IHN0YXJ0fS5zd2lwZXItY3NzLW1vZGUuc3dpcGVyLWhvcml6b250YWw+LnN3aXBlci13cmFwcGVye3Njcm9sbC1zbmFwLXR5cGU6eCBtYW5kYXRvcnl9LnN3aXBlci1jc3MtbW9kZS5zd2lwZXItdmVydGljYWw+LnN3aXBlci13cmFwcGVye3Njcm9sbC1zbmFwLXR5cGU6eSBtYW5kYXRvcnl9LnN3aXBlci1jc3MtbW9kZS5zd2lwZXItZnJlZS1tb2RlPi5zd2lwZXItd3JhcHBlcntzY3JvbGwtc25hcC10eXBlOm5vbmV9LnN3aXBlci1jc3MtbW9kZS5zd2lwZXItZnJlZS1tb2RlPi5zd2lwZXItd3JhcHBlcj4uc3dpcGVyLXNsaWRle3Njcm9sbC1zbmFwLWFsaWduOm5vbmV9LnN3aXBlci1jc3MtbW9kZS5zd2lwZXItY2VudGVyZWQ+LnN3aXBlci13cmFwcGVyOjpiZWZvcmV7Y29udGVudDonJztmbGV4LXNocmluazowO29yZGVyOjk5OTl9LnN3aXBlci1jc3MtbW9kZS5zd2lwZXItY2VudGVyZWQ+LnN3aXBlci13cmFwcGVyPi5zd2lwZXItc2xpZGV7c2Nyb2xsLXNuYXAtYWxpZ246Y2VudGVyIGNlbnRlcjtzY3JvbGwtc25hcC1zdG9wOmFsd2F5c30uc3dpcGVyLWNzcy1tb2RlLnN3aXBlci1jZW50ZXJlZC5zd2lwZXItaG9yaXpvbnRhbD4uc3dpcGVyLXdyYXBwZXI+LnN3aXBlci1zbGlkZTpmaXJzdC1jaGlsZHttYXJnaW4taW5saW5lLXN0YXJ0OnZhcigtLXN3aXBlci1jZW50ZXJlZC1vZmZzZXQtYmVmb3JlKX0uc3dpcGVyLWNzcy1tb2RlLnN3aXBlci1jZW50ZXJlZC5zd2lwZXItaG9yaXpvbnRhbD4uc3dpcGVyLXdyYXBwZXI6OmJlZm9yZXtoZWlnaHQ6MTAwJTttaW4taGVpZ2h0OjFweDt3aWR0aDp2YXIoLS1zd2lwZXItY2VudGVyZWQtb2Zmc2V0LWFmdGVyKX0uc3dpcGVyLWNzcy1tb2RlLnN3aXBlci1jZW50ZXJlZC5zd2lwZXItdmVydGljYWw+LnN3aXBlci13cmFwcGVyPi5zd2lwZXItc2xpZGU6Zmlyc3QtY2hpbGR7bWFyZ2luLWJsb2NrLXN0YXJ0OnZhcigtLXN3aXBlci1jZW50ZXJlZC1vZmZzZXQtYmVmb3JlKX0uc3dpcGVyLWNzcy1tb2RlLnN3aXBlci1jZW50ZXJlZC5zd2lwZXItdmVydGljYWw+LnN3aXBlci13cmFwcGVyOjpiZWZvcmV7d2lkdGg6MTAwJTttaW4td2lkdGg6MXB4O2hlaWdodDp2YXIoLS1zd2lwZXItY2VudGVyZWQtb2Zmc2V0LWFmdGVyKX0uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LC5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLC5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCwuc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LC5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9we3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3BvaW50ZXItZXZlbnRzOm5vbmU7ei1pbmRleDoxMH0uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93e2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMTUpfS5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdHtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBsZWZ0LHJnYmEoMCwwLDAsLjUpLHJnYmEoMCwwLDAsMCkpfS5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHR7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQscmdiYSgwLDAsMCwuNSkscmdiYSgwLDAsMCwwKSl9LnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3B7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gdG9wLHJnYmEoMCwwLDAsLjUpLHJnYmEoMCwwLDAsMCkpfS5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9te2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSxyZ2JhKDAsMCwwLC41KSxyZ2JhKDAsMCwwLDApKX0uc3dpcGVyLWxhenktcHJlbG9hZGVye3dpZHRoOjQycHg7aGVpZ2h0OjQycHg7cG9zaXRpb246YWJzb2x1dGU7bGVmdDo1MCU7dG9wOjUwJTttYXJnaW4tbGVmdDotMjFweDttYXJnaW4tdG9wOi0yMXB4O3otaW5kZXg6MTA7dHJhbnNmb3JtLW9yaWdpbjo1MCU7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjo0cHggc29saWQgdmFyKC0tc3dpcGVyLXByZWxvYWRlci1jb2xvcix2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpKTtib3JkZXItcmFkaXVzOjUwJTtib3JkZXItdG9wLWNvbG9yOnRyYW5zcGFyZW50fS5zd2lwZXItd2F0Y2gtcHJvZ3Jlc3MgLnN3aXBlci1zbGlkZS12aXNpYmxlIC5zd2lwZXItbGF6eS1wcmVsb2FkZXIsLnN3aXBlcjpub3QoLnN3aXBlci13YXRjaC1wcm9ncmVzcykgLnN3aXBlci1sYXp5LXByZWxvYWRlcnthbmltYXRpb246c3dpcGVyLXByZWxvYWRlci1zcGluIDFzIGluZmluaXRlIGxpbmVhcn0uc3dpcGVyLWxhenktcHJlbG9hZGVyLXdoaXRley0tc3dpcGVyLXByZWxvYWRlci1jb2xvcjojZmZmfS5zd2lwZXItbGF6eS1wcmVsb2FkZXItYmxhY2t7LS1zd2lwZXItcHJlbG9hZGVyLWNvbG9yOiMwMDB9QGtleWZyYW1lcyBzd2lwZXItcHJlbG9hZGVyLXNwaW57MCV7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX0xMDAle3RyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKX19LnN3aXBlci12aXJ0dWFsIC5zd2lwZXItc2xpZGV7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0uc3dpcGVyLXZpcnR1YWwuc3dpcGVyLWNzcy1tb2RlIC5zd2lwZXItd3JhcHBlcjo6YWZ0ZXJ7Y29udGVudDonJztwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7cG9pbnRlci1ldmVudHM6bm9uZX0uc3dpcGVyLXZpcnR1YWwuc3dpcGVyLWNzcy1tb2RlLnN3aXBlci1ob3Jpem9udGFsIC5zd2lwZXItd3JhcHBlcjo6YWZ0ZXJ7aGVpZ2h0OjFweDt3aWR0aDp2YXIoLS1zd2lwZXItdmlydHVhbC1zaXplKX0uc3dpcGVyLXZpcnR1YWwuc3dpcGVyLWNzcy1tb2RlLnN3aXBlci12ZXJ0aWNhbCAuc3dpcGVyLXdyYXBwZXI6OmFmdGVye3dpZHRoOjFweDtoZWlnaHQ6dmFyKC0tc3dpcGVyLXZpcnR1YWwtc2l6ZSl9OnJvb3R7LS1zd2lwZXItbmF2aWdhdGlvbi1zaXplOjQ0cHh9LnN3aXBlci1idXR0b24tbmV4dCwuc3dpcGVyLWJ1dHRvbi1wcmV2e3Bvc2l0aW9uOmFic29sdXRlO3RvcDp2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi10b3Atb2Zmc2V0LDUwJSk7d2lkdGg6Y2FsYyh2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplKS8gNDQgKiAyNyk7aGVpZ2h0OnZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpemUpO21hcmdpbi10b3A6Y2FsYygwcHggLSAodmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSkvIDIpKTt6LWluZGV4OjEwO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtjb2xvcjp2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1jb2xvcix2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpKX0uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tZGlzYWJsZWQsLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWRpc2FibGVke29wYWNpdHk6LjM1O2N1cnNvcjphdXRvO3BvaW50ZXItZXZlbnRzOm5vbmV9LnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWhpZGRlbiwuc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24taGlkZGVue29wYWNpdHk6MDtjdXJzb3I6YXV0bztwb2ludGVyLWV2ZW50czpub25lfS5zd2lwZXItbmF2aWdhdGlvbi1kaXNhYmxlZCAuc3dpcGVyLWJ1dHRvbi1uZXh0LC5zd2lwZXItbmF2aWdhdGlvbi1kaXNhYmxlZCAuc3dpcGVyLWJ1dHRvbi1wcmV2e2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LnN3aXBlci1idXR0b24tbmV4dCBzdmcsLnN3aXBlci1idXR0b24tcHJldiBzdmd7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvYmplY3QtZml0OmNvbnRhaW47dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXJ9LnN3aXBlci1ydGwgLnN3aXBlci1idXR0b24tbmV4dCBzdmcsLnN3aXBlci1ydGwgLnN3aXBlci1idXR0b24tcHJldiBzdmd7dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpfS5zd2lwZXItYnV0dG9uLXByZXYsLnN3aXBlci1ydGwgLnN3aXBlci1idXR0b24tbmV4dHtsZWZ0OnZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpZGVzLW9mZnNldCwxMHB4KTtyaWdodDphdXRvfS5zd2lwZXItYnV0dG9uLW5leHQsLnN3aXBlci1ydGwgLnN3aXBlci1idXR0b24tcHJldntyaWdodDp2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaWRlcy1vZmZzZXQsMTBweCk7bGVmdDphdXRvfS5zd2lwZXItYnV0dG9uLWxvY2t7ZGlzcGxheTpub25lfS5zd2lwZXItYnV0dG9uLW5leHQ6YWZ0ZXIsLnN3aXBlci1idXR0b24tcHJldjphZnRlcntmb250LWZhbWlseTpzd2lwZXItaWNvbnM7Zm9udC1zaXplOnZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpemUpO3RleHQtdHJhbnNmb3JtOm5vbmUhaW1wb3J0YW50O2xldHRlci1zcGFjaW5nOjA7Zm9udC12YXJpYW50OmluaXRpYWw7bGluZS1oZWlnaHQ6MX0uc3dpcGVyLWJ1dHRvbi1wcmV2OmFmdGVyLC5zd2lwZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQ6YWZ0ZXJ7Y29udGVudDoncHJldid9LnN3aXBlci1idXR0b24tbmV4dCwuc3dpcGVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2e3JpZ2h0OnZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpZGVzLW9mZnNldCwxMHB4KTtsZWZ0OmF1dG99LnN3aXBlci1idXR0b24tbmV4dDphZnRlciwuc3dpcGVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2OmFmdGVye2NvbnRlbnQ6J25leHQnfS5zd2lwZXItcGFnaW5hdGlvbntwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjt0cmFuc2l0aW9uOi4zcyBvcGFjaXR5O3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCk7ei1pbmRleDoxMH0uc3dpcGVyLXBhZ2luYXRpb24uc3dpcGVyLXBhZ2luYXRpb24taGlkZGVue29wYWNpdHk6MH0uc3dpcGVyLXBhZ2luYXRpb24tZGlzYWJsZWQ+LnN3aXBlci1wYWdpbmF0aW9uLC5zd2lwZXItcGFnaW5hdGlvbi5zd2lwZXItcGFnaW5hdGlvbi1kaXNhYmxlZHtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5zd2lwZXItaG9yaXpvbnRhbD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cywuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1ob3Jpem9udGFsLC5zd2lwZXItcGFnaW5hdGlvbi1jdXN0b20sLnN3aXBlci1wYWdpbmF0aW9uLWZyYWN0aW9ue2JvdHRvbTp2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1ib3R0b20sOHB4KTt0b3A6dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tdG9wLGF1dG8pO2xlZnQ6MDt3aWR0aDoxMDAlfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWN7b3ZlcmZsb3c6aGlkZGVuO2ZvbnQtc2l6ZTowfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHt0cmFuc2Zvcm06c2NhbGUoLjMzKTtwb3NpdGlvbjpyZWxhdGl2ZX0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZle3RyYW5zZm9ybTpzY2FsZSgxKX0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW1haW57dHJhbnNmb3JtOnNjYWxlKDEpfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtcHJldnt0cmFuc2Zvcm06c2NhbGUoLjY2KX0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLXByZXYtcHJldnt0cmFuc2Zvcm06c2NhbGUoLjMzKX0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW5leHR7dHJhbnNmb3JtOnNjYWxlKC42Nil9LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1uZXh0LW5leHR7dHJhbnNmb3JtOnNjYWxlKC4zMyl9LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHt3aWR0aDp2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtd2lkdGgsdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LXNpemUsOHB4KSk7aGVpZ2h0OnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1oZWlnaHQsdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LXNpemUsOHB4KSk7ZGlzcGxheTppbmxpbmUtYmxvY2s7Ym9yZGVyLXJhZGl1czp2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYm9yZGVyLXJhZGl1cyw1MCUpO2JhY2tncm91bmQ6dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWluYWN0aXZlLWNvbG9yLCMwMDApO29wYWNpdHk6dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWluYWN0aXZlLW9wYWNpdHksIC4yKX1idXR0b24uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e2JvcmRlcjpub25lO21hcmdpbjowO3BhZGRpbmc6MDtib3gtc2hhZG93Om5vbmU7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lfS5zd2lwZXItcGFnaW5hdGlvbi1jbGlja2FibGUgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHtjdXJzb3I6cG9pbnRlcn0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0Om9ubHktY2hpbGR7ZGlzcGxheTpub25lIWltcG9ydGFudH0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZXtvcGFjaXR5OnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1vcGFjaXR5LCAxKTtiYWNrZ3JvdW5kOnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWNvbG9yLHZhcigtLXN3aXBlci10aGVtZS1jb2xvcikpfS5zd2lwZXItcGFnaW5hdGlvbi12ZXJ0aWNhbC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLC5zd2lwZXItdmVydGljYWw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHN7cmlnaHQ6dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tcmlnaHQsOHB4KTtsZWZ0OnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWxlZnQsYXV0byk7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMHB4LC01MCUsMCl9LnN3aXBlci1wYWdpbmF0aW9uLXZlcnRpY2FsLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCwuc3dpcGVyLXZlcnRpY2FsPi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXR7bWFyZ2luOnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC12ZXJ0aWNhbC1nYXAsNnB4KSAwO2Rpc3BsYXk6YmxvY2t9LnN3aXBlci1wYWdpbmF0aW9uLXZlcnRpY2FsLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljLC5zd2lwZXItdmVydGljYWw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWlje3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7d2lkdGg6OHB4fS5zd2lwZXItcGFnaW5hdGlvbi12ZXJ0aWNhbC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LC5zd2lwZXItdmVydGljYWw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXR7ZGlzcGxheTppbmxpbmUtYmxvY2s7dHJhbnNpdGlvbjouMnMgdHJhbnNmb3JtLC4ycyB0b3B9LnN3aXBlci1ob3Jpem9udGFsPi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQsLnN3aXBlci1wYWdpbmF0aW9uLWhvcml6b250YWwuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e21hcmdpbjowIHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1ob3Jpem9udGFsLWdhcCw0cHgpfS5zd2lwZXItaG9yaXpvbnRhbD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMsLnN3aXBlci1wYWdpbmF0aW9uLWhvcml6b250YWwuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWN7bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7d2hpdGUtc3BhY2U6bm93cmFwfS5zd2lwZXItaG9yaXpvbnRhbD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCwuc3dpcGVyLXBhZ2luYXRpb24taG9yaXpvbnRhbC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e3RyYW5zaXRpb246LjJzIHRyYW5zZm9ybSwuMnMgbGVmdH0uc3dpcGVyLWhvcml6b250YWwuc3dpcGVyLXJ0bD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXR7dHJhbnNpdGlvbjouMnMgdHJhbnNmb3JtLC4ycyByaWdodH0uc3dpcGVyLXBhZ2luYXRpb24tZnJhY3Rpb257Y29sb3I6dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tZnJhY3Rpb24tY29sb3IsaW5oZXJpdCl9LnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFye2JhY2tncm91bmQ6dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItYmctY29sb3IscmdiYSgwLDAsMCwuMjUpKTtwb3NpdGlvbjphYnNvbHV0ZX0uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGx7YmFja2dyb3VuZDp2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1jb2xvcix2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpKTtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt0cmFuc2Zvcm06c2NhbGUoMCk7dHJhbnNmb3JtLW9yaWdpbjpsZWZ0IHRvcH0uc3dpcGVyLXJ0bCAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGx7dHJhbnNmb3JtLW9yaWdpbjpyaWdodCB0b3B9LnN3aXBlci1ob3Jpem9udGFsPi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhciwuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24taG9yaXpvbnRhbCwuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tdmVydGljYWwuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItb3Bwb3NpdGUsLnN3aXBlci12ZXJ0aWNhbD4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItb3Bwb3NpdGV7d2lkdGg6MTAwJTtoZWlnaHQ6dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItc2l6ZSw0cHgpO2xlZnQ6MDt0b3A6MH0uc3dpcGVyLWhvcml6b250YWw+LnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRlLC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1ob3Jpem9udGFsLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRlLC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi12ZXJ0aWNhbCwuc3dpcGVyLXZlcnRpY2FsPi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhcnt3aWR0aDp2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1zaXplLDRweCk7aGVpZ2h0OjEwMCU7bGVmdDowO3RvcDowfS5zd2lwZXItcGFnaW5hdGlvbi1sb2Nre2Rpc3BsYXk6bm9uZX0uc3dpcGVyLXNjcm9sbGJhcntib3JkZXItcmFkaXVzOnZhcigtLXN3aXBlci1zY3JvbGxiYXItYm9yZGVyLXJhZGl1cywxMHB4KTtwb3NpdGlvbjpyZWxhdGl2ZTt0b3VjaC1hY3Rpb246bm9uZTtiYWNrZ3JvdW5kOnZhcigtLXN3aXBlci1zY3JvbGxiYXItYmctY29sb3IscmdiYSgwLDAsMCwuMSkpfS5zd2lwZXItc2Nyb2xsYmFyLWRpc2FibGVkPi5zd2lwZXItc2Nyb2xsYmFyLC5zd2lwZXItc2Nyb2xsYmFyLnN3aXBlci1zY3JvbGxiYXItZGlzYWJsZWR7ZGlzcGxheTpub25lIWltcG9ydGFudH0uc3dpcGVyLWhvcml6b250YWw+LnN3aXBlci1zY3JvbGxiYXIsLnN3aXBlci1zY3JvbGxiYXIuc3dpcGVyLXNjcm9sbGJhci1ob3Jpem9udGFse3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6dmFyKC0tc3dpcGVyLXNjcm9sbGJhci1zaWRlcy1vZmZzZXQsMSUpO2JvdHRvbTp2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLWJvdHRvbSw0cHgpO3RvcDp2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLXRvcCxhdXRvKTt6LWluZGV4OjUwO2hlaWdodDp2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLXNpemUsNHB4KTt3aWR0aDpjYWxjKDEwMCUgLSAyICogdmFyKC0tc3dpcGVyLXNjcm9sbGJhci1zaWRlcy1vZmZzZXQsMSUpKX0uc3dpcGVyLXNjcm9sbGJhci5zd2lwZXItc2Nyb2xsYmFyLXZlcnRpY2FsLC5zd2lwZXItdmVydGljYWw+LnN3aXBlci1zY3JvbGxiYXJ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDp2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLWxlZnQsYXV0byk7cmlnaHQ6dmFyKC0tc3dpcGVyLXNjcm9sbGJhci1yaWdodCw0cHgpO3RvcDp2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLXNpZGVzLW9mZnNldCwxJSk7ei1pbmRleDo1MDt3aWR0aDp2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLXNpemUsNHB4KTtoZWlnaHQ6Y2FsYygxMDAlIC0gMiAqIHZhcigtLXN3aXBlci1zY3JvbGxiYXItc2lkZXMtb2Zmc2V0LDElKSl9LnN3aXBlci1zY3JvbGxiYXItZHJhZ3toZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQ6dmFyKC0tc3dpcGVyLXNjcm9sbGJhci1kcmFnLWJnLWNvbG9yLHJnYmEoMCwwLDAsLjUpKTtib3JkZXItcmFkaXVzOnZhcigtLXN3aXBlci1zY3JvbGxiYXItYm9yZGVyLXJhZGl1cywxMHB4KTtsZWZ0OjA7dG9wOjB9LnN3aXBlci1zY3JvbGxiYXItY3Vyc29yLWRyYWd7Y3Vyc29yOm1vdmV9LnN3aXBlci1zY3JvbGxiYXItbG9ja3tkaXNwbGF5Om5vbmV9LnN3aXBlci16b29tLWNvbnRhaW5lcnt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt0ZXh0LWFsaWduOmNlbnRlcn0uc3dpcGVyLXpvb20tY29udGFpbmVyPmNhbnZhcywuc3dpcGVyLXpvb20tY29udGFpbmVyPmltZywuc3dpcGVyLXpvb20tY29udGFpbmVyPnN2Z3ttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb250YWlufS5zd2lwZXItc2xpZGUtem9vbWVke2N1cnNvcjptb3ZlO3RvdWNoLWFjdGlvbjpub25lfS5zd2lwZXIgLnN3aXBlci1ub3RpZmljYXRpb257cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO3BvaW50ZXItZXZlbnRzOm5vbmU7b3BhY2l0eTowO3otaW5kZXg6LTEwMDB9LnN3aXBlci1mcmVlLW1vZGU+LnN3aXBlci13cmFwcGVye3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0O21hcmdpbjowIGF1dG99LnN3aXBlci1ncmlkPi5zd2lwZXItd3JhcHBlcntmbGV4LXdyYXA6d3JhcH0uc3dpcGVyLWdyaWQtY29sdW1uPi5zd2lwZXItd3JhcHBlcntmbGV4LXdyYXA6d3JhcDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LnN3aXBlci1mYWRlLnN3aXBlci1mcmVlLW1vZGUgLnN3aXBlci1zbGlkZXt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH0uc3dpcGVyLWZhZGUgLnN3aXBlci1zbGlkZXtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb24tcHJvcGVydHk6b3BhY2l0eX0uc3dpcGVyLWZhZGUgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRle3BvaW50ZXItZXZlbnRzOm5vbmV9LnN3aXBlci1mYWRlIC5zd2lwZXItc2xpZGUtYWN0aXZle3BvaW50ZXItZXZlbnRzOmF1dG99LnN3aXBlci1mYWRlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZle3BvaW50ZXItZXZlbnRzOmF1dG99LnN3aXBlci5zd2lwZXItY3ViZXtvdmVyZmxvdzp2aXNpYmxlfS5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRle3BvaW50ZXItZXZlbnRzOm5vbmU7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjt6LWluZGV4OjE7dmlzaWJpbGl0eTpoaWRkZW47dHJhbnNmb3JtLW9yaWdpbjowIDA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0uc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRle3BvaW50ZXItZXZlbnRzOm5vbmV9LnN3aXBlci1jdWJlLnN3aXBlci1ydGwgLnN3aXBlci1zbGlkZXt0cmFuc2Zvcm0tb3JpZ2luOjEwMCUgMH0uc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUsLnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZle3BvaW50ZXItZXZlbnRzOmF1dG99LnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlLC5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLW5leHQsLnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUtcHJldntwb2ludGVyLWV2ZW50czphdXRvO3Zpc2liaWxpdHk6dmlzaWJsZX0uc3dpcGVyLWN1YmUgLnN3aXBlci1jdWJlLXNoYWRvd3twb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7Ym90dG9tOjBweDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO29wYWNpdHk6LjY7ei1pbmRleDowfS5zd2lwZXItY3ViZSAuc3dpcGVyLWN1YmUtc2hhZG93OmJlZm9yZXtjb250ZW50OicnO2JhY2tncm91bmQ6IzAwMDtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtmaWx0ZXI6Ymx1cig1MHB4KX0uc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0Ky5zd2lwZXItc2xpZGV7cG9pbnRlci1ldmVudHM6YXV0bzt2aXNpYmlsaXR5OnZpc2libGV9LnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWN1YmUuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sLnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWN1YmUuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LC5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1jdWJlLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsLnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWN1YmUuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3B7ei1pbmRleDowOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW59LnN3aXBlci5zd2lwZXItZmxpcHtvdmVyZmxvdzp2aXNpYmxlfS5zd2lwZXItZmxpcCAuc3dpcGVyLXNsaWRle3BvaW50ZXItZXZlbnRzOm5vbmU7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjt6LWluZGV4OjF9LnN3aXBlci1mbGlwIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZXtwb2ludGVyLWV2ZW50czpub25lfS5zd2lwZXItZmxpcCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSwuc3dpcGVyLWZsaXAgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmV7cG9pbnRlci1ldmVudHM6YXV0b30uc3dpcGVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctZmxpcC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSwuc3dpcGVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctZmxpcC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsLnN3aXBlci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LWZsaXAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCwuc3dpcGVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctZmxpcC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcHt6LWluZGV4OjA7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbn0uc3dpcGVyLWNyZWF0aXZlIC5zd2lwZXItc2xpZGV7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtvdmVyZmxvdzpoaWRkZW47dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm0sb3BhY2l0eSxoZWlnaHR9LnN3aXBlci5zd2lwZXItY2FyZHN7b3ZlcmZsb3c6dmlzaWJsZX0uc3dpcGVyLWNhcmRzIC5zd2lwZXItc2xpZGV7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXIgYm90dG9tOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47b3ZlcmZsb3c6aGlkZGVufSIsImJvZHkuY29tcGVuc2F0ZS1mb3Itc2Nyb2xsYmFyIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5mYW5jeWJveC1hY3RpdmUge1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG4uZmFuY3lib3gtaXMtaGlkZGVuIHtcclxuICAgIGxlZnQ6IC05OTk5cHg7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcclxuICAgIHRvcDogLTk5OTlweDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLmZhbmN5Ym94LWNvbnRhaW5lciB7XHJcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIHRvcDogMDtcclxuICAgIC1tcy10b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcclxuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICAvL3otaW5kZXg6IDk5OTkyO1xyXG4gICAgei1pbmRleDogOTk5OTk5OTk7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1jb250YWluZXIgKiB7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG4uZmFuY3lib3gtb3V0ZXIsXHJcbi5mYW5jeWJveC1pbm5lcixcclxuLmZhbmN5Ym94LWJnLFxyXG4uZmFuY3lib3gtc3RhZ2Uge1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG59XHJcblxyXG4uZmFuY3lib3gtb3V0ZXIge1xyXG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xyXG4gICAgb3ZlcmZsb3cteTogYXV0bztcclxufVxyXG5cclxuLmZhbmN5Ym94LWJnIHtcclxuICAgIGJhY2tncm91bmQ6IHJnYigzMCwgMzAsIDMwKTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBpbmhlcml0O1xyXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcclxuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjQ3LCAwLCAuNzQsIC43MSk7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1pcy1vcGVuIC5mYW5jeWJveC1iZyB7XHJcbiAgICBvcGFjaXR5OiAuOTtcclxuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjIyLCAuNjEsIC4zNiwgMSk7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1pbmZvYmFyLFxyXG4uZmFuY3lib3gtdG9vbGJhcixcclxuLmZhbmN5Ym94LWNhcHRpb24sXHJcbi5mYW5jeWJveC1uYXZpZ2F0aW9uIC5mYW5jeWJveC1idXR0b24ge1xyXG4gICAgZGlyZWN0aW9uOiBsdHI7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMjVzIGVhc2UsIHZpc2liaWxpdHkgMHMgZWFzZSAuMjVzO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgei1pbmRleDogOTk5OTc7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1zaG93LWluZm9iYXIgLmZhbmN5Ym94LWluZm9iYXIsXHJcbi5mYW5jeWJveC1zaG93LXRvb2xiYXIgLmZhbmN5Ym94LXRvb2xiYXIsXHJcbi5mYW5jeWJveC1zaG93LWNhcHRpb24gLmZhbmN5Ym94LWNhcHRpb24sXHJcbi5mYW5jeWJveC1zaG93LW5hdiAuZmFuY3lib3gtbmF2aWdhdGlvbiAuZmFuY3lib3gtYnV0dG9uIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4yNXMgZWFzZSAwcywgdmlzaWJpbGl0eSAwcyBlYXNlIDBzO1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxufVxyXG5cclxuLmZhbmN5Ym94LWluZm9iYXIge1xyXG4gICAgY29sb3I6ICNjY2M7XHJcbiAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDtcclxuICAgIGhlaWdodDogNDRweDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBsaW5lLWhlaWdodDogNDRweDtcclxuICAgIG1pbi13aWR0aDogNDRweDtcclxuICAgIG1peC1ibGVuZC1tb2RlOiBkaWZmZXJlbmNlO1xyXG4gICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XHJcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG59XHJcblxyXG4uZmFuY3lib3gtdG9vbGJhciB7XHJcbiAgICByaWdodDogMDtcclxuICAgIHRvcDogMDtcclxufVxyXG5cclxuLmZhbmN5Ym94LXN0YWdlIHtcclxuICAgIGRpcmVjdGlvbjogbHRyO1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XHJcbiAgICB6LWluZGV4OiA5OTk5NDtcclxufVxyXG5cclxuLmZhbmN5Ym94LWlzLW9wZW4gLmZhbmN5Ym94LXN0YWdlIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5mYW5jeWJveC1zbGlkZSB7XHJcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIC8qIFVzaW5nIHdpdGhvdXQgcHJlZml4IHdvdWxkIGJyZWFrIElFMTEgKi9cclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xyXG4gICAgcGFkZGluZzogNDRweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHRvcDogMDtcclxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcclxuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHotaW5kZXg6IDk5OTk0O1xyXG59XHJcblxyXG4uZmFuY3lib3gtc2xpZGU6OmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGZvbnQtc2l6ZTogMDtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICB3aWR0aDogMDtcclxufVxyXG5cclxuLmZhbmN5Ym94LWlzLXNsaWRpbmcgLmZhbmN5Ym94LXNsaWRlLFxyXG4uZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzLFxyXG4uZmFuY3lib3gtc2xpZGUtLWN1cnJlbnQsXHJcbi5mYW5jeWJveC1zbGlkZS0tbmV4dCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLmZhbmN5Ym94LXNsaWRlLS1pbWFnZSB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgcGFkZGluZzogNDRweCAwO1xyXG59XHJcblxyXG4uZmFuY3lib3gtc2xpZGUtLWltYWdlOjpiZWZvcmUge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmZhbmN5Ym94LXNsaWRlLS1odG1sIHtcclxuICAgIHBhZGRpbmc6IDZweDtcclxufVxyXG5cclxuLmZhbmN5Ym94LWNvbnRlbnQge1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIG1hcmdpbjogMDtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xyXG4gICAgcGFkZGluZzogNDRweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG59XHJcblxyXG4uZmFuY3lib3gtc2xpZGUtLWltYWdlIC5mYW5jeWJveC1jb250ZW50IHtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguNSwgMCwgLjE0LCAxKTtcclxuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XHJcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XHJcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgei1pbmRleDogOTk5OTU7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1jYW4tem9vbU91dCAuZmFuY3lib3gtY29udGVudCB7XHJcbiAgICBjdXJzb3I6IHpvb20tb3V0O1xyXG59XHJcblxyXG4uZmFuY3lib3gtY2FuLXpvb21JbiAuZmFuY3lib3gtY29udGVudCB7XHJcbiAgICBjdXJzb3I6IHpvb20taW47XHJcbn1cclxuXHJcbi5mYW5jeWJveC1jYW4tc3dpcGUgLmZhbmN5Ym94LWNvbnRlbnQsXHJcbi5mYW5jeWJveC1jYW4tcGFuIC5mYW5jeWJveC1jb250ZW50IHtcclxuICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xyXG4gICAgY3Vyc29yOiBncmFiO1xyXG59XHJcblxyXG4uZmFuY3lib3gtaXMtZ3JhYmJpbmcgLmZhbmN5Ym94LWNvbnRlbnQge1xyXG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWJiaW5nO1xyXG4gICAgY3Vyc29yOiBncmFiYmluZztcclxufVxyXG5cclxuLmZhbmN5Ym94LWNvbnRhaW5lciBbZGF0YS1zZWxlY3RhYmxlPSd0cnVlJ10ge1xyXG4gICAgY3Vyc29yOiB0ZXh0O1xyXG59XHJcblxyXG4uZmFuY3lib3gtaW1hZ2UsXHJcbi5mYW5jeWJveC1zcGFjZWJhbGwge1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgbWF4LWhlaWdodDogbm9uZTtcclxuICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1zcGFjZWJhbGwge1xyXG4gICAgei1pbmRleDogMTtcclxufVxyXG5cclxuLmZhbmN5Ym94LXNsaWRlLS12aWRlbyAuZmFuY3lib3gtY29udGVudCxcclxuLmZhbmN5Ym94LXNsaWRlLS1tYXAgLmZhbmN5Ym94LWNvbnRlbnQsXHJcbi5mYW5jeWJveC1zbGlkZS0tcGRmIC5mYW5jeWJveC1jb250ZW50LFxyXG4uZmFuY3lib3gtc2xpZGUtLWlmcmFtZSAuZmFuY3lib3gtY29udGVudCB7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmZhbmN5Ym94LXNsaWRlLS12aWRlbyAuZmFuY3lib3gtY29udGVudCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xyXG59XHJcblxyXG4uZmFuY3lib3gtc2xpZGUtLW1hcCAuZmFuY3lib3gtY29udGVudCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZTVlM2RmO1xyXG59XHJcblxyXG4uZmFuY3lib3gtc2xpZGUtLWlmcmFtZSAuZmFuY3lib3gtY29udGVudCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG59XHJcblxyXG4uZmFuY3lib3gtdmlkZW8sXHJcbi5mYW5jeWJveC1pZnJhbWUge1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi8qIEZpeCBpT1MgKi9cclxuLmZhbmN5Ym94LWlmcmFtZSB7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG59XHJcblxyXG4uZmFuY3lib3gtZXJyb3Ige1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgIG1heC13aWR0aDogNDAwcHg7XHJcbiAgICBwYWRkaW5nOiA0MHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1lcnJvciBwIHtcclxuICAgIGNvbG9yOiAjNDQ0O1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4vKiBCdXR0b25zICovXHJcblxyXG4uZmFuY3lib3gtYnV0dG9uIHtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoMzAsIDMwLCAzMCwgLjYpO1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBoZWlnaHQ6IDQ0cHg7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdHJhbnNpdGlvbjogY29sb3IgLjJzO1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgIHZpc2liaWxpdHk6IGluaGVyaXQ7XHJcbiAgICB3aWR0aDogNDRweDtcclxufVxyXG5cclxuLmZhbmN5Ym94LWJ1dHRvbixcclxuLmZhbmN5Ym94LWJ1dHRvbjp2aXNpdGVkLFxyXG4uZmFuY3lib3gtYnV0dG9uOmxpbmsge1xyXG4gICAgY29sb3I6ICNjY2M7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1idXR0b246aG92ZXIge1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1idXR0b246Zm9jdXMge1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxufVxyXG5cclxuLmZhbmN5Ym94LWJ1dHRvbi5mYW5jeWJveC1mb2N1cyB7XHJcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkO1xyXG59XHJcblxyXG4uZmFuY3lib3gtYnV0dG9uW2Rpc2FibGVkXSxcclxuLmZhbmN5Ym94LWJ1dHRvbltkaXNhYmxlZF06aG92ZXIge1xyXG4gICAgY29sb3I6ICM4ODg7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG4vKiBGaXggSUUxMSAqL1xyXG4uZmFuY3lib3gtYnV0dG9uIGRpdiB7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1idXR0b24gc3ZnIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmZhbmN5Ym94LWJ1dHRvbiBzdmcgcGF0aCB7XHJcbiAgICBmaWxsOiBjdXJyZW50Q29sb3I7XHJcbiAgICBzdHJva2Utd2lkdGg6IDA7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1idXR0b24tLXBsYXkgc3ZnOm50aC1jaGlsZCgyKSxcclxuLmZhbmN5Ym94LWJ1dHRvbi0tZnNlbnRlciBzdmc6bnRoLWNoaWxkKDIpIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1idXR0b24tLXBhdXNlIHN2ZzpudGgtY2hpbGQoMSksXHJcbi5mYW5jeWJveC1idXR0b24tLWZzZXhpdCBzdmc6bnRoLWNoaWxkKDEpIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1wcm9ncmVzcyB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmY1MjY4O1xyXG4gICAgaGVpZ2h0OiAycHg7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZVgoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcclxuICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAwO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMDtcclxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcclxuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XHJcbiAgICB6LWluZGV4OiA5OTk5ODtcclxufVxyXG5cclxuLyogQ2xvc2UgYnV0dG9uIG9uIHRoZSB0b3AgcmlnaHQgY29ybmVyIG9mIGh0bWwgY29udGVudCAqL1xyXG5cclxuLmZhbmN5Ym94LWNsb3NlLXNtYWxsIHtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgIGNvbG9yOiAjY2NjO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgb3BhY2l0eTogLjg7XHJcbiAgICBwYWRkaW5nOiA4cHg7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogLTEycHg7XHJcbiAgICB0b3A6IC00NHB4O1xyXG4gICAgei1pbmRleDogNDAxO1xyXG59XHJcblxyXG4uZmFuY3lib3gtY2xvc2Utc21hbGw6aG92ZXIge1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG59XHJcblxyXG4uZmFuY3lib3gtc2xpZGUtLWh0bWwgLmZhbmN5Ym94LWNsb3NlLXNtYWxsIHtcclxuICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1zbGlkZS0taW1hZ2UuZmFuY3lib3gtaXMtc2NhbGluZyAuZmFuY3lib3gtY29udGVudCB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uZmFuY3lib3gtaXMtc2NhbGluZyAuZmFuY3lib3gtY2xvc2Utc21hbGwsXHJcbi5mYW5jeWJveC1pcy16b29tYWJsZS5mYW5jeWJveC1jYW4tcGFuIC5mYW5jeWJveC1jbG9zZS1zbWFsbCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4vKiBOYXZpZ2F0aW9uIGFycm93cyAqL1xyXG5cclxuLmZhbmN5Ym94LW5hdmlnYXRpb24gLmZhbmN5Ym94LWJ1dHRvbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IGNvbnRlbnQtYm94O1xyXG4gICAgaGVpZ2h0OiAxMDBweDtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IGNhbGMoNTAlIC0gNTBweCk7XHJcbiAgICB3aWR0aDogNzBweDtcclxufVxyXG5cclxuLmZhbmN5Ym94LW5hdmlnYXRpb24gLmZhbmN5Ym94LWJ1dHRvbiBkaXYge1xyXG4gICAgcGFkZGluZzogN3B4O1xyXG59XHJcblxyXG4uZmFuY3lib3gtbmF2aWdhdGlvbiAuZmFuY3lib3gtYnV0dG9uLS1hcnJvd19sZWZ0IHtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBsZWZ0OiBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpO1xyXG4gICAgcGFkZGluZzogMzFweCAyNnB4IDMxcHggNnB4O1xyXG59XHJcblxyXG4uZmFuY3lib3gtbmF2aWdhdGlvbiAuZmFuY3lib3gtYnV0dG9uLS1hcnJvd19yaWdodCB7XHJcbiAgICBwYWRkaW5nOiAzMXB4IDZweCAzMXB4IDI2cHg7XHJcbiAgICByaWdodDogMDtcclxuICAgIHJpZ2h0OiBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KTtcclxufVxyXG5cclxuLyogQ2FwdGlvbiAqL1xyXG5cclxuLmZhbmN5Ym94LWNhcHRpb24ge1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCxcclxuICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAuODUpIDAlLFxyXG4gICAgICAgICAgICByZ2JhKDAsIDAsIDAsIC4zKSA1MCUsXHJcbiAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjE1KSA2NSUsXHJcbiAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjA3NSkgNzUuNSUsXHJcbiAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjAzNykgODIuODUlLFxyXG4gICAgICAgICAgICByZ2JhKDAsIDAsIDAsIC4wMTkpIDg4JSxcclxuICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAwKSAxMDAlKTtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGNvbG9yOiAjZWVlO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBsaW5lLWhlaWdodDogMS41O1xyXG4gICAgcGFkZGluZzogNzVweCA0NHB4IDI1cHggNDRweDtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB6LWluZGV4OiA5OTk5NjtcclxufVxyXG5cclxuQHN1cHBvcnRzIChwYWRkaW5nOiBtYXgoMHB4KSkge1xyXG4gICAgLmZhbmN5Ym94LWNhcHRpb24ge1xyXG4gICAgICAgIHBhZGRpbmc6IDc1cHggbWF4KDQ0cHgsIGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpKSBtYXgoMjVweCwgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pKSBtYXgoNDRweCwgZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0KSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5mYW5jeWJveC1jYXB0aW9uLS1zZXBhcmF0ZSB7XHJcbiAgICBtYXJnaW4tdG9wOiAtNTBweDtcclxufVxyXG5cclxuLmZhbmN5Ym94LWNhcHRpb25fX2JvZHkge1xyXG4gICAgbWF4LWhlaWdodDogNTB2aDtcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDtcclxufVxyXG5cclxuLmZhbmN5Ym94LWNhcHRpb24gYSxcclxuLmZhbmN5Ym94LWNhcHRpb24gYTpsaW5rLFxyXG4uZmFuY3lib3gtY2FwdGlvbiBhOnZpc2l0ZWQge1xyXG4gICAgY29sb3I6ICNjY2M7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1jYXB0aW9uIGE6aG92ZXIge1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxufVxyXG5cclxuLyogTG9hZGluZyBpbmRpY2F0b3IgKi9cclxuXHJcbi5mYW5jeWJveC1sb2FkaW5nIHtcclxuICAgIGFuaW1hdGlvbjogZmFuY3lib3gtcm90YXRlIDFzIGxpbmVhciBpbmZpbml0ZTtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyOiA0cHggc29saWQgIzg4ODtcclxuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmY7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICBtYXJnaW46IC0yNXB4IDAgMCAtMjVweDtcclxuICAgIG9wYWNpdHk6IC43O1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgd2lkdGg6IDUwcHg7XHJcbiAgICB6LWluZGV4OiA5OTk5OTtcclxufVxyXG5cclxuQGtleWZyYW1lcyBmYW5jeWJveC1yb3RhdGUge1xyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcclxuICAgIH1cclxufVxyXG5cclxuLyogVHJhbnNpdGlvbiBlZmZlY3RzICovXHJcblxyXG4uZmFuY3lib3gtYW5pbWF0ZWQge1xyXG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLCAwLCAuMjUsIDEpO1xyXG59XHJcblxyXG4vKiB0cmFuc2l0aW9uRWZmZWN0OiBzbGlkZSAqL1xyXG5cclxuLmZhbmN5Ym94LWZ4LXNsaWRlLmZhbmN5Ym94LXNsaWRlLS1wcmV2aW91cyB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1meC1zbGlkZS5mYW5jeWJveC1zbGlkZS0tbmV4dCB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcclxufVxyXG5cclxuLmZhbmN5Ym94LWZ4LXNsaWRlLmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50IHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG59XHJcblxyXG4vKiB0cmFuc2l0aW9uRWZmZWN0OiBmYWRlICovXHJcblxyXG4uZmFuY3lib3gtZngtZmFkZS5mYW5jeWJveC1zbGlkZS0tcHJldmlvdXMsXHJcbi5mYW5jeWJveC1meC1mYWRlLmZhbmN5Ym94LXNsaWRlLS1uZXh0IHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4xOSwgMSwgLjIyLCAxKTtcclxufVxyXG5cclxuLmZhbmN5Ym94LWZ4LWZhZGUuZmFuY3lib3gtc2xpZGUtLWN1cnJlbnQge1xyXG4gICAgb3BhY2l0eTogMTtcclxufVxyXG5cclxuLyogdHJhbnNpdGlvbkVmZmVjdDogem9vbS1pbi1vdXQgKi9cclxuXHJcbi5mYW5jeWJveC1meC16b29tLWluLW91dC5mYW5jeWJveC1zbGlkZS0tcHJldmlvdXMge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjUsIDEuNSwgMS41KTtcclxufVxyXG5cclxuLmZhbmN5Ym94LWZ4LXpvb20taW4tb3V0LmZhbmN5Ym94LXNsaWRlLS1uZXh0IHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjUsIC41LCAuNSk7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1meC16b29tLWluLW91dC5mYW5jeWJveC1zbGlkZS0tY3VycmVudCB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG59XHJcblxyXG4vKiB0cmFuc2l0aW9uRWZmZWN0OiByb3RhdGUgKi9cclxuXHJcbi5mYW5jeWJveC1meC1yb3RhdGUuZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTM2MGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMzYwZGVnKTtcclxufVxyXG5cclxuLmZhbmN5Ym94LWZ4LXJvdGF0ZS5mYW5jeWJveC1zbGlkZS0tbmV4dCB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG59XHJcblxyXG4uZmFuY3lib3gtZngtcm90YXRlLmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50IHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxufVxyXG5cclxuLyogdHJhbnNpdGlvbkVmZmVjdDogY2lyY3VsYXIgKi9cclxuXHJcbi5mYW5jeWJveC1meC1jaXJjdWxhci5mYW5jeWJveC1zbGlkZS0tcHJldmlvdXMge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLCAwLCAwKSB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1meC1jaXJjdWxhci5mYW5jeWJveC1zbGlkZS0tbmV4dCB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAsIDAsIDApIHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xyXG59XHJcblxyXG4uZmFuY3lib3gtZngtY2lyY3VsYXIuZmFuY3lib3gtc2xpZGUtLWN1cnJlbnQge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxufVxyXG5cclxuLyogdHJhbnNpdGlvbkVmZmVjdDogdHViZSAqL1xyXG5cclxuLmZhbmN5Ym94LWZ4LXR1YmUuZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHNjYWxlKC4xKSBza2V3KC0xMGRlZyk7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1meC10dWJlLmZhbmN5Ym94LXNsaWRlLS1uZXh0IHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2NhbGUoLjEpIHNrZXcoMTBkZWcpO1xyXG59XHJcblxyXG4uZmFuY3lib3gtZngtdHViZS5mYW5jeWJveC1zbGlkZS0tY3VycmVudCB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlKDEpO1xyXG59XHJcblxyXG4vKiBTdHlsaW5nIGZvciBTbWFsbC1TY3JlZW4gRGV2aWNlcyAqL1xyXG5AbWVkaWEgYWxsIGFuZCAobWF4LWhlaWdodDogNTc2cHgpIHtcclxuICAgIC5mYW5jeWJveC1zbGlkZSB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA2cHg7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogNnB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5mYW5jeWJveC1zbGlkZS0taW1hZ2Uge1xyXG4gICAgICAgIHBhZGRpbmc6IDZweCAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5mYW5jeWJveC1jbG9zZS1zbWFsbCB7XHJcbiAgICAgICAgcmlnaHQ6IC02cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmZhbmN5Ym94LXNsaWRlLS1pbWFnZSAuZmFuY3lib3gtY2xvc2Utc21hbGwge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICM0ZTRlNGU7XHJcbiAgICAgICAgY29sb3I6ICNmMmY0ZjY7XHJcbiAgICAgICAgaGVpZ2h0OiAzNnB4O1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgcGFkZGluZzogNnB4O1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICB3aWR0aDogMzZweDtcclxuICAgIH1cclxuXHJcbiAgICAuZmFuY3lib3gtY2FwdGlvbiB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XHJcbiAgICB9XHJcblxyXG4gICAgQHN1cHBvcnRzIChwYWRkaW5nOiBtYXgoMHB4KSkge1xyXG4gICAgICAgIC5mYW5jeWJveC1jYXB0aW9uIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBtYXgoMTJweCwgZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0KSk7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IG1heCgxMnB4LCBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi8qIFNoYXJlICovXHJcblxyXG4uZmFuY3lib3gtc2hhcmUge1xyXG4gICAgYmFja2dyb3VuZDogI2Y0ZjRmNDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgIG1heC13aWR0aDogOTAlO1xyXG4gICAgcGFkZGluZzogMzBweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLmZhbmN5Ym94LXNoYXJlIGgxIHtcclxuICAgIGNvbG9yOiAjMjIyO1xyXG4gICAgZm9udC1zaXplOiAzNXB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIG1hcmdpbjogMCAwIDIwcHggMDtcclxufVxyXG5cclxuLmZhbmN5Ym94LXNoYXJlIHAge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLmZhbmN5Ym94LXNoYXJlX19idXR0b24ge1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xyXG4gICAgbWFyZ2luOiAwIDVweCAxMHB4IDVweDtcclxuICAgIG1pbi13aWR0aDogMTMwcHg7XHJcbiAgICBwYWRkaW5nOiAwIDE1cHg7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjJzO1xyXG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1zaGFyZV9fYnV0dG9uOnZpc2l0ZWQsXHJcbi5mYW5jeWJveC1zaGFyZV9fYnV0dG9uOmxpbmsge1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1zaGFyZV9fYnV0dG9uOmhvdmVyIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG5cclxuLmZhbmN5Ym94LXNoYXJlX19idXR0b24tLWZiIHtcclxuICAgIGJhY2tncm91bmQ6ICMzYjU5OTg7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1zaGFyZV9fYnV0dG9uLS1mYjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMzQ0ZTg2O1xyXG59XHJcblxyXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbi0tcHQge1xyXG4gICAgYmFja2dyb3VuZDogI2JkMDgxZDtcclxufVxyXG5cclxuLmZhbmN5Ym94LXNoYXJlX19idXR0b24tLXB0OmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6ICNhYTA3MTk7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1zaGFyZV9fYnV0dG9uLS10dyB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMWRhMWYyO1xyXG59XHJcblxyXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbi0tdHc6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZDogIzBkOTVlODtcclxufVxyXG5cclxuLmZhbmN5Ym94LXNoYXJlX19idXR0b24gc3ZnIHtcclxuICAgIGhlaWdodDogMjVweDtcclxuICAgIG1hcmdpbi1yaWdodDogN3B4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdG9wOiAtMXB4O1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIHdpZHRoOiAyNXB4O1xyXG59XHJcblxyXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbiBzdmcgcGF0aCB7XHJcbiAgICBmaWxsOiAjZmZmO1xyXG59XHJcblxyXG4uZmFuY3lib3gtc2hhcmVfX2lucHV0IHtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkN2Q3ZDc7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgY29sb3I6ICM1ZDViNWI7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBtYXJnaW46IDEwcHggMCAwIDA7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgcGFkZGluZzogMTBweCAxNXB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuLyogVGh1bWJzICovXHJcblxyXG4uZmFuY3lib3gtdGh1bWJzIHtcclxuICAgIGJhY2tncm91bmQ6ICNkZGQ7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xyXG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XHJcbiAgICBwYWRkaW5nOiAycHggMnB4IDRweCAycHg7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogMDtcclxuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcclxuICAgIHRvcDogMDtcclxuICAgIHdpZHRoOiAyMTJweDtcclxuICAgIHotaW5kZXg6IDk5OTk1O1xyXG59XHJcblxyXG4uZmFuY3lib3gtdGh1bWJzLXgge1xyXG4gICAgb3ZlcmZsb3cteDogYXV0bztcclxuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcclxufVxyXG5cclxuLmZhbmN5Ym94LXNob3ctdGh1bWJzIC5mYW5jeWJveC10aHVtYnMge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1zaG93LXRodW1icyAuZmFuY3lib3gtaW5uZXIge1xyXG4gICAgcmlnaHQ6IDIxMnB4O1xyXG59XHJcblxyXG4uZmFuY3lib3gtdGh1bWJzX19saXN0IHtcclxuICAgIGZvbnQtc2l6ZTogMDtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmZhbmN5Ym94LXRodW1icy14IC5mYW5jeWJveC10aHVtYnNfX2xpc3Qge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLmZhbmN5Ym94LXRodW1icy15IC5mYW5jeWJveC10aHVtYnNfX2xpc3Q6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuICAgIHdpZHRoOiA3cHg7XHJcbn1cclxuXHJcbi5mYW5jeWJveC10aHVtYnMteSAuZmFuY3lib3gtdGh1bWJzX19saXN0Ojotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggcmdiYSgwLCAwLCAwLCAuMyk7XHJcbn1cclxuXHJcbi5mYW5jeWJveC10aHVtYnMteSAuZmFuY3lib3gtdGh1bWJzX19saXN0Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMmEyYTJhO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxufVxyXG5cclxuLmZhbmN5Ym94LXRodW1ic19fbGlzdCBhIHtcclxuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAuMSk7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIGhlaWdodDogNzVweDtcclxuICAgIG1hcmdpbjogMnB4O1xyXG4gICAgbWF4LWhlaWdodDogY2FsYygxMDAlIC0gOHB4KTtcclxuICAgIG1heC13aWR0aDogY2FsYyg1MCUgLSA0cHgpO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIHdpZHRoOiAxMDBweDtcclxufVxyXG5cclxuLmZhbmN5Ym94LXRodW1ic19fbGlzdCBhOjpiZWZvcmUge1xyXG4gICAgYm9yZGVyOiA2cHggc29saWQgI2ZmNTI2ODtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgbGVmdDogMDtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogMDtcclxuICAgIHRvcDogMDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgY3ViaWMtYmV6aWVyKC4yNSwgLjQ2LCAuNDUsIC45NCk7XHJcbiAgICB6LWluZGV4OiA5OTk5MTtcclxufVxyXG5cclxuLmZhbmN5Ym94LXRodW1ic19fbGlzdCBhOmZvY3VzOjpiZWZvcmUge1xyXG4gICAgb3BhY2l0eTogLjU7XHJcbn1cclxuXHJcbi5mYW5jeWJveC10aHVtYnNfX2xpc3QgYS5mYW5jeWJveC10aHVtYnMtYWN0aXZlOjpiZWZvcmUge1xyXG4gICAgb3BhY2l0eTogMTtcclxufVxyXG5cclxuLyogU3R5bGluZyBmb3IgU21hbGwtU2NyZWVuIERldmljZXMgKi9cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNTc2cHgpIHtcclxuICAgIC5mYW5jeWJveC10aHVtYnMge1xyXG4gICAgICAgIHdpZHRoOiAxMTBweDtcclxuICAgIH1cclxuXHJcbiAgICAuZmFuY3lib3gtc2hvdy10aHVtYnMgLmZhbmN5Ym94LWlubmVyIHtcclxuICAgICAgICByaWdodDogMTEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmZhbmN5Ym94LXRodW1ic19fbGlzdCBhIHtcclxuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDEwcHgpO1xyXG4gICAgfVxyXG59Il0sImZpbGUiOiJzdHlsZS5jc3MifQ== */
