:root {
  --bg-body: #fff;
  --scroll-padding-top: 0px;
  --text-color-default: #37474F;
  --font-default: "Poppins",Arial,sans-serif;
  --font-secondary: "Merriweather",Arial,sans-serif;
  --in-max-width: 1200px
}
*,
::after,
::before {
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}
html {
  font-family: sans-serif;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -ms-overflow-style: scrollbar;
  -webkit-tap-highlight-color: transparent;
  scroll-padding-top: var(--scroll-padding-top)
}
@-ms-viewport {
  width: device-width
}
article,
aside,
dialog,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section {
  display: block
}
body {
  margin: 0;
  font-family: var(--font-default);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.4;
  color: var(--text-color-default);
  text-align: left;
  background-color: var(--bg-body)
}
body.nav-is-open {
  overflow: hidden
}
@media (min-width:1366px) {
  body {
    line-height: 1.4;
    font-size: 15px
  }
}
[tabindex="-1"]:focus {
  outline: 0!important
}
hr {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
  overflow: visible
}
h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
  margin-bottom: 20px
}
p {
  margin-top: 0;
  margin-bottom: 10px
}
ol ol,
ol ul,
p:last-child,
ul ol,
ul ul {
  margin-bottom: 0
}
abbr[data-original-title],
abbr[title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  cursor: help;
  border-bottom: 0
}
address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit
}
dl,
ol,
ul {
  margin-top: 0;
  margin-bottom: 1rem
}
dt {
  font-weight: 400
}
dd {
  margin-bottom: .5rem;
  margin-left: 0
}
blockquote,
figure {
  margin: 0 0 1rem
}
dfn {
  font-style: italic
}
b,
strong {
  font-weight: bolder
}
small {
  font-size: 80%
}
sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline
}
sub {
  bottom: -.25em
}
sup {
  top: -.5em
}
a {
  color: currentColor;
  text-decoration: underline;
  background-color: transparent;
  -webkit-text-decoration-skip: objects
}
a:hover {
  text-decoration: none
}
a:not([href]):not([tabindex]),
a:not([href]):not([tabindex]):focus,
a:not([href]):not([tabindex]):hover {
  color: inherit;
  text-decoration: none
}
a:not([href]):not([tabindex]):focus {
  outline: 0
}
code,
kbd,
pre,
samp {
  font-family: monospace,monospace;
  font-size: 1em
}
pre {
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  -ms-overflow-style: scrollbar
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  border-style: none
}
svg:not(:root) {
  overflow: hidden
}
table {
  border-collapse: collapse
}
caption {
  padding-top: 0;
  padding-bottom: 0;
  color: #1c1c1c;
  text-align: left;
  caption-side: bottom
}
th {
  text-align: inherit
}
label {
  display: inline-block;
  margin-bottom: .5rem
}
button {
  border-radius: 0
}
button:focus {
  outline: dotted 1px;
  outline: -webkit-focus-ring-color auto 5px
}
button,
input,
optgroup,
select,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit
}
button,
input {
  overflow: visible
}
button,
select {
  text-transform: none
}
[type=reset],
[type=submit],
button,
html [type=button] {
  -webkit-appearance: button
}
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
  padding: 0;
  border-style: none
}
input[type=checkbox],
input[type=radio] {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0
}
input[type=date],
input[type=datetime-local],
input[type=month],
input[type=time] {
  -webkit-appearance: listbox
}
textarea {
  overflow: auto;
  resize: vertical
}
fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0
}
legend {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin-bottom: .5rem;
  font-size: 1.5rem;
  line-height: inherit;
  color: inherit;
  white-space: normal
}
progress {
  vertical-align: baseline
}
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto
}
[type=search] {
  outline-offset: -2px;
  -webkit-appearance: none
}
[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none
}
::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button
}
output {
  display: inline-block
}
summary {
  display: list-item;
  cursor: pointer
}
template {
  display: none
}
[hidden] {
  display: none!important
}
.icon--logo {
  width: 194px;
  height: 38px
}
.center {
  text-align: center
}
.upper {
  text-transform: uppercase
}
.hide {
  display: none!important
}
@media (max-width:767px) {
  .hide--mobile {
    display: none!important
  }
}
@media (min-width:768px) and (max-width:1024px) {
  .hide--tablet {
    display: none!important
  }
}
@media (min-width:1024px) {
  .hide--desktop {
    display: none!important
  }
}
.about {
  display: grid;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 40px
}
.about__title.title {
  position: relative;
  margin-bottom: 26px;
  padding-bottom: 26px
}
.about__title.title:before {
  content: "";
  width: 70px;
  height: 2px;
  background: #e1e1e1;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%)
}
.about__textbox {
  font-family: var(--font-secondary)
}
.about__left {
  text-align: center
}
@media (min-width:1024px) {
  .about {
    grid-template-columns: 1fr 2fr;
    gap: 80px
  }
  .about__title.title:before {
    left: 0;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none
  }
  .about__left {
    text-align: left
  }
}
.about__right {
  text-align: center
}
.animate--fade {
  -webkit-transition: opacity 1s;
  transition: opacity 1s;
  opacity: 0
}
.animate--fade.animate--visible {
  opacity: 1
}
.animate--fall {
  -webkit-transition: opacity 1s,transform 1s;
  transition: opacity 1s,transform 1s;
  -webkit-transform: translate(0,-10px);
  -ms-transform: translate(0,-10px);
  transform: translate(0,-10px)
}
.animate--fall.animate--visible {
  -webkit-transform: translate(0,0);
  -ms-transform: translate(0,0);
  transform: translate(0,0)
}
.boxes__list {
  display: grid;
  gap: 60px
}
.boxes__main.title {
  margin-bottom: 50px
}
.boxes__title {
  font-family: var(--font-secondary);
  margin-bottom: 15px;
  font-weight: 400;
  font-size: 22px;
  color: #2c2c2c
}
.boxes__textbox {
  margin: 0 auto
}
@media (min-width:768px) {
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    margin-bottom: 30px
  }
  p {
    margin-bottom: 20px
  }
  .about__title.title {
    padding-bottom: 36px
  }
  .boxes__textbox {
    max-width: 70%
  }
}
@media (min-width:1024px) {
  .about__right {
    text-align: right
  }
  .boxes__list {
    gap: 30px;
    grid-template-columns: repeat(3,1fr)
  }
  .boxes__textbox {
    max-width: 100%
  }
}
.boxes__item {
  display: grid;
  position: relative;
  text-align: center
}
.boxes__line {
  background: #e1e1e1;
  width: 100%;
  height: 2px;
  margin-top: 15px
}
@media (max-width:1023px) {
  .boxes__item:first-of-type .boxes__line {
    display: none
  }
  .boxes__line {
    position: absolute;
    width: 100%;
    left: 0;
    top: -30px;
    margin: 0
  }
}
.boxes__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 30px;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}
@media (min-width:1024px) {
  .boxes__item {
    gap: 30px;
    text-align: left;
    grid-template-columns: 30px 1fr
  }
  .boxes__wrapper {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
  }
}
.breadcrumbs {
  background: #232323;
  height: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 71px 0 0
}
@media (min-width:768px) {
  .breadcrumbs {
    margin: 91px 0 0
  }
}
.breadcrumbs ul {
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 40px
}
.breadcrumbs ul li {
  list-style-type: none;
  font-size: 12px;
  text-transform: uppercase;
  position: relative
}
.breadcrumbs ul li:last-of-type:after {
  display: none
}
.breadcrumbs ul li:after {
  content: "";
  width: 12px;
  height: 12px;
  background: url(../images/bread.svg) center center/100% no-repeat;
  position: absolute;
  right: -26px;
  top: 2px
}
.breadcrumbs ul li span {
  color: #fff
}
.breadcrumbs ul li a {
  text-decoration: none;
  color: #969696
}
.btn {
  border: 0;
  padding: 0;
  outline: 0!important;
  background: 0 0;
  cursor: pointer;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-decoration: none
}
.btn--full {
  background: #363636;
  color: #fff;
  font-size: 13px;
  text-transform: uppercase;
  font-weight: 700;
  padding: 14px 27px;
  border-radius: 100px;
  -webkit-transition: background .3s;
  transition: background .3s
}
.btn--green {
  background: #00ac4b
}
.btn--orange {
  background: #f28200
}
.btn--burger {
  position: relative;
  color: currentColor;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  min-width: 0;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end
}
.btn--burger:before {
  content: "";
  position: absolute;
  inset: -15px -10px
}
.btn--burger span {
  width: 26px;
  height: 2px;
  display: block;
  background-color: currentColor;
  -webkit-transition: opacity .3s,width .3s,-webkit-transform .3s;
  transition: opacity .3s,transform .3s,width .3s,-webkit-transform .3s
}
.btn--burger span:nth-child(2) {
  margin: 7px 0
}
.nav-is-open .btn--burger span:nth-child(2) {
  opacity: 0
}
.nav-is-open .btn--burger span:nth-child(3) {
  -webkit-transform: rotate(45deg) translate(-6px,-7px);
  -ms-transform: rotate(45deg) translate(-6px,-7px);
  transform: rotate(45deg) translate(-6px,-7px)
}
.nav-is-open .btn--burger span:nth-child(1) {
  -webkit-transform: rotate(-45deg) translate(-6px,6px);
  -ms-transform: rotate(-45deg) translate(-6px,6px);
  transform: rotate(-45deg) translate(-6px,6px)
}
.contact {
  position: relative;
  padding: 100px 0 0
}
@media (min-width:768px) {
  .contact {
    padding: 130px 0 0
  }
}
.contact__map {
  width: 100%;
  height: 400px
}
@media (min-width:1024px) {
  .breadcrumbs {
    margin: 120px 0 0
  }
  .contact {
    padding: 192px 0 0;
    min-height: 917px
  }
  .contact__map {
    position: absolute;
    right: 0;
    top: 120px;
    max-width: 65dvw;
    height: calc(100% - 120px)
  }
}
@media (min-width:1920px) {
  .contact__map {
    max-width: 60dvw
  }
}
.contact__map iframe {
  height: 100%;
  width: 100%
}
.contact__title.title {
  margin-bottom: 16px
}
.contact__textbox {
  color: #546e7a;
  margin-bottom: 32px
}
.contact__textbox p span {
  font-weight: 700;
  display: inline-block;
  margin-right: 10px;
  color: #37474f
}
.contact__textbox p a {
  -webkit-transition: color .3s;
  transition: color .3s;
  text-decoration: none;
  color: #37474f
}
.dropdown {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 5px
}
.dropdown__items {
  opacity: 0;
  pointer-events: none;
  z-index: 5;
  -webkit-transition: opacity .3s;
  transition: opacity .3s
}
@media (max-width:767px) {
  .dropdown {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
  }
  .dropdown__items {
    display: none!important
  }
  .footer__list p {
    text-align: center
  }
}
@media (pointer:fine) {
  .btn--full:active,
  .btn--full:focus,
  .btn--full:hover {
    background: #29b6f6
  }
  .contact__textbox p a:active,
  .contact__textbox p a:focus,
  .contact__textbox p a:hover {
    color: #29b6f6
  }
  .dropdown:hover .dropdown__items {
    opacity: 1;
    pointer-events: auto
  }
  .footer__list p a:active,
  .footer__list p a:focus,
  .footer__list p a:hover {
    color: #29b6f6
  }
}
@media (pointer:fine) and (max-width:767px) {
  .dropdown:hover .dropdown__items {
    display: -webkit-box!important;
    display: -ms-flexbox!important;
    display: flex!important
  }
}
@media (pointer:coarse) {
  .dropdown.is-open .dropdown__items {
    opacity: 1;
    pointer-events: auto
  }
}
@media (pointer:coarse) and (max-width:767px) {
  .dropdown.is-open .dropdown__items {
    display: -webkit-box!important;
    display: -ms-flexbox!important;
    display: flex!important
  }
}
.editor h1 {
  line-height: 1.1;
  font-family: var(--font-secondary);
  color: #2c2c2c;
  font-weight: 400;
  margin-bottom: 22px;
  font-size: 30px
}
@media (min-width:1024px) {
  .editor h1 {
    font-size: 40px
  }
}
.editor p {
  color: #37474f;
  margin: 20px 0
}
.editor h2 {
  font-size: 16px;
  font-family: var(--font-secondary);
  font-weight: 400;
  color: #37474f;
  margin: 42px 0 11px
}
.editor ul {
  margin: 22px 0;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 22px
}
.editor ul li {
  list-style-type: none;
  color: #546e7a;
  padding-left: 30px;
  background: url(../images/check.svg) left 8px top 5px/12px no-repeat
}
@media (min-width:768px) {
  .dropdown__items {
    position: absolute;
    left: 0;
    width: 100%;
    top: 100%
  }
  .editor ul li {
    background: url(../images/check.svg) left 20px top 6px/12px no-repeat;
    padding-left: 60px
  }
}
.faq {
  position: relative;
  padding: 30px 0
}
@media (min-width:768px) {
  .faq {
    padding: 50px
  }
}
@media (min-width:1024px) {
  .faq {
    padding: 54px 30px 54px 80px
  }
}
@media (min-width:1366px) {
  .boxes__item {
    grid-template-columns: 60px 1fr
  }
  .faq {
    padding: 72px 0 72px 115px
  }
}
.faq:before {
  content: "";
  width: 100dvw;
  height: 2px;
  background: #ebebeb;
  position: absolute;
  top: 0;
  left: 0
}
.faq__list {
  display: grid;
  gap: 20px
}
@media (min-width:768px) {
  .faq__list {
    gap: 30px
  }
}
.faq__title {
  line-height: 1.1;
  font-family: var(--font-secondary);
  color: #2c2c2c;
  font-weight: 400;
  font-size: 30px;
  margin-bottom: 30px
}
@media (min-width:768px) {
  .faq__title {
    margin-bottom: 50px
  }
  .faq__question:before {
    content: "Q";
    left: -22px;
    position: absolute;
    color: #f1f1f1;
    z-index: -1;
    font-weight: 400;
    font-family: var(--font-secondary);
    font-size: 30px;
    top: -16px
  }
}
.faq__question {
  color: #2a373e;
  font-weight: 700;
  font-family: var(--font-secondary);
  position: relative;
  margin-bottom: 12px
}
@media (min-width:1024px) {
  .faq__list {
    grid-template-columns: repeat(2,1fr);
    gap: 50px
  }
  .faq__title {
    font-size: 40px
  }
  .faq__question {
    min-height: 50px;
    margin-bottom: 18px
  }
  .faq__question:before {
    top: -30px;
    font-size: 59px
  }
}
.faq__answer {
  color: #546e7a;
  text-align: justify;
  position: relative
}
@media (min-width:768px) {
  .faq__answer:before {
    content: "A";
    left: -19px;
    position: absolute;
    color: #f1f1f1;
    z-index: -1;
    font-weight: 400;
    font-family: var(--font-secondary);
    font-size: 30px;
    top: -14px
  }
}
.footer__top {
  background: #363636;
  color: #fff;
  padding: 60px 0
}
.footer__list p {
  margin-bottom: 10px
}
.footer__list p span {
  color: #fff;
  display: block
}
@media (min-width:768px) {
  .footer__top {
    padding: 80px 0
  }
  .footer__list p span {
    display: inline-block;
    min-width: 75px
  }
}
.footer__list p a {
  text-decoration: none;
  -webkit-transition: color .3s;
  transition: color .3s;
  color: #fff
}
.footer__list p:last-of-type {
  margin-bottom: 0
}
.footer__bottom {
  padding: 50px 0;
  background: #2c2c2c
}
.footer__cols {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
  gap: 50px
}
@media (min-width:768px) {
  .footer__cols {
    display: grid;
    gap: 30px;
    grid-template-columns: repeat(3,1fr)
  }
}
@media (min-width:1024px) {
  .faq__answer:before {
    top: -24px;
    font-size: 59px
  }
  .footer__cols {
    gap: 0
  }
}
.footer__logo {
  margin-bottom: 20px
}
.footer__textbox {
  color: #fff;
  font-size: 14px
}
.footer__textbox p:last-of-type {
  font-size: 11px;
  letter-spacing: .14em
}
.footer__title.title {
  color: #878787;
  margin-bottom: 25px
}
.footer__col ul {
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 8px
}
.footer__col ul li {
  list-style-type: none
}
.footer__col ul li a {
  text-decoration: none;
  color: #fff;
  -webkit-transition: color .3s;
  transition: color .3s
}
.footer--short .footer__top {
  display: none
}
.header-nav__opener {
  -webkit-transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s,-webkit-transform .3s
}
@media (max-width:767px) {
  .footer__col {
    text-align: center
  }
  .header-nav__opener {
    border: 1px solid #fff;
    border-radius: 4px;
    width: 24px;
    height: 24px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
  }
}
.is-open .header-nav__opener {
  -webkit-transform: scaleY(-1);
  -ms-transform: scaleY(-1);
  transform: scaleY(-1)
}
.header-nav ul {
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 30px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column
}
.header-nav ul li {
  list-style-type: none
}
.header-nav ul li a {
  text-decoration: none;
  position: relative;
  font-size: 20px;
  padding: 10px 0
}
@media (min-width:768px) {
  .header-nav ul {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row
  }
  .header-nav ul li a {
    font-size: 17px
  }
}
.header-nav ul li a:before {
  content: "";
  width: 0;
  -webkit-transition: width .3s;
  transition: width .3s;
  height: 1px;
  position: absolute;
  bottom: 9px;
  left: 0;
  background: #fff
}
.header-nav ul li ul {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  background: #fff;
  border-radius: 4px;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  padding: 15px;
  gap: 20px;
  -webkit-box-shadow: 0 5px 5px rgba(0,0,0,.2);
  box-shadow: 0 5px 5px rgba(0,0,0,.2);
  width: 100%;
  margin-bottom: -15px
}
.header-nav ul li ul li a {
  color: #069;
  font-size: 15px
}
.header {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  z-index: 100;
  color: #fff;
  -webkit-transition: background .15s,border-color .15s;
  transition: background .15s,border-color .15s;
  border-bottom: 1px solid #fff
}
@media (min-width:768px) {
  .header-nav ul li ul {
    width: 200px;
    margin-bottom: 0
  }
  .header {
    border-bottom: 1px solid transparent
  }
}
.nav-is-open .header {
  background: #069
}
.is-scrolled .header {
  background: #069;
  border-bottom-color: #fff
}
@media (max-width:767px) {
  .header__helper {
    position: fixed;
    top: 71px;
    height: calc(100dvh - 71px);
    left: 0;
    background: #069;
    width: 100%;
    padding: 30px 15px;
    opacity: 0;
    pointer-events: none;
    -webkit-transition: opacity .3s;
    transition: opacity .3s;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 30px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
  }
  .nav-is-open .header__helper {
    opacity: 1;
    pointer-events: auto
  }
  .header__social {
    opacity: 0;
    pointer-events: none;
    -webkit-transition: opacity .3s;
    transition: opacity .3s
  }
  .nav-is-open .header__social {
    opacity: 1;
    pointer-events: auto
  }
  .header__phone img {
    max-width: 15px
  }
}
.header__social img {
  -webkit-transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s,-webkit-transform .3s
}
.header__in.in {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-transition: height .15s;
  transition: height .15s;
  height: 70px
}
@media (min-width:768px) {
  .header__in.in {
    height: 90px
  }
  .is-scrolled .header__in.in {
    height: 80px
  }
}
.header__left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 60px
}
.header__logo {
  max-width: 70px
}
@media (min-width:768px) {
  .header__logo {
    max-width: 90px
  }
}
@media (min-width:1024px) {
  .header__in.in {
    height: 120px
  }
  .is-scrolled .header__in.in {
    height: 100px
  }
  .header__left {
    gap: 230px
  }
  .header__logo {
    max-width: 120px
  }
}
.header__right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 20px
}
.header__right a {
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 10px
}
.header__phone {
  border: 1px solid #fff;
  border-radius: 4px;
  padding: 5px 10px
}
@media (pointer:fine) {
  .footer__col ul li a:active,
  .footer__col ul li a:focus,
  .footer__col ul li a:hover {
    color: #29b6f6
  }
  .header-nav ul li:active .header-nav__opener,
  .header-nav ul li:focus .header-nav__opener,
  .header-nav ul li:hover .header-nav__opener {
    -webkit-transform: scaleY(-1);
    -ms-transform: scaleY(-1);
    transform: scaleY(-1)
  }
  .header-nav ul li:active a:before,
  .header-nav ul li:focus a:before,
  .header-nav ul li:hover a:before {
    width: 100%
  }
  .header-nav ul li ul li a:active,
  .header-nav ul li ul li a:focus,
  .header-nav ul li ul li a:hover {
    text-decoration: underline
  }
  .header__social:active img,
  .header__social:focus img,
  .header__social:hover img {
    -webkit-transform: translateY(-4px);
    -ms-transform: translateY(-4px);
    transform: translateY(-4px)
  }
  .header__phone:active span:before,
  .header__phone:focus span:before,
  .header__phone:hover span:before {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
    opacity: 1
  }
  .references .splide__arrow:hover {
    opacity: 1!important
  }
}
.header__phone span {
  position: relative
}
.header__phone span:before {
  content: "";
  width: 100%;
  height: 1px;
  background: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  opacity: 0;
  -webkit-transform: translateY(2px);
  -ms-transform: translateY(2px);
  transform: translateY(2px);
  -webkit-transition: opacity .3s,-webkit-transform .3s;
  transition: opacity .3s,transform .3s,-webkit-transform .3s
}
.header--subpage {
  background: #069
}
.header--subpage .header__left {
  gap: 60px
}
.hero {
  background: #069;
  color: #fff;
  position: relative;
  overflow: hidden;
  padding: 120px 0 60px
}
@media (min-width:768px) {
  .hero {
    padding: 180px 0 60px
  }
}
.hero__bg {
  opacity: 1;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  left: 0;
  opacity: .1
}
@media (min-width:1024px) {
  .hero {
    min-height: 100dvh;
    padding: 200px 0 0
  }
  .hero__bg {
    margin-left: -165px;
    left: 50%;
    max-width: calc(100dvw - 165px);
    opacity: 1
  }
}
@media (min-width:1366px) {
  .hero__bg {
    max-width: calc(100dvw - 285px);
    margin-left: -285px
  }
}
@media (max-width:1023px) {
  .hero .in {
    position: relative;
    z-index: 3
  }
}
.hero__box {
  text-align: center
}
@media (min-width:1024px) {
  .hero__box {
    max-width: 290px;
    text-align: left
  }
}
.hero .title {
  font-family: var(--font-secondary);
  margin-bottom: 50px;
  color: #fff
}
@media (max-width:767px) {
  .hero__bg {
    -o-object-position: left;
    object-position: left
  }
  .hero .title {
    font-size: 28px
  }
}
.hero__textbox {
  font-family: var(--font-secondary);
  font-size: 17px
}
.in {
  max-width: var(--in-max-width);
  margin-left: auto;
  margin-right: auto;
  width: calc(100% - 30px)
}
.references__top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-family: var(--font-secondary);
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 20px;
  margin-bottom: 80px
}
@media (min-width:768px) {
  .references__top {
    margin-bottom: 60px;
    gap: 30px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row
  }
}
.references__item {
  border-left: 2px solid #e1e1e1;
  padding-left: 70px;
  position: relative
}
.references__quote {
  position: absolute;
  top: 0;
  left: 28px
}
.references__textbox p {
  margin-bottom: 25px;
  color: #546e7a
}
.references__textbox p:last-of-type {
  margin-bottom: 0;
  font-size: 15px;
  color: #2c2c2c
}
.references .splide__arrows {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  top: -60px;
  right: 50%;
  -webkit-transform: translateX(50%);
  -ms-transform: translateX(50%);
  transform: translateX(50%)
}
@media (min-width:768px) {
  .references .splide__arrows {
    right: 0;
    top: -100px;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none
  }
  .tabs .in {
    grid-template-columns: 250px 1fr
  }
}
.references .splide__arrow {
  position: relative;
  right: 0;
  left: 0;
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
  opacity: .5!important;
  width: 30px;
  height: 30px;
  background: url(../images/carousel.svg) center center no-repeat;
  -webkit-transition: opacity .3s;
  transition: opacity .3s
}
.references .splide__arrow:focus {
  outline: 0
}
.references .splide__arrow svg {
  display: none
}
.references .splide__arrow--prev {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg)
}
.section {
  border-bottom: 2px solid #e1e1e1;
  padding: 60px 0
}
@media (min-width:1024px) {
  .references__top {
    margin-bottom: 78px;
    gap: 60px
  }
  .references .splide__arrows {
    gap: 30px;
    top: -120px
  }
  .section {
    padding: 100px 0
  }
  .tabs .in {
    grid-template-columns: 300px 1fr
  }
}
.splide__container {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative
}
.splide__list {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  height: 100%;
  margin: 0!important;
  padding: 0!important
}
.splide.is-initialized:not(.is-active) .splide__list {
  display: block
}
.splide__pagination {
  -ms-flex-align: center;
  -webkit-box-align: center;
  align-items: center;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
  justify-content: center;
  margin: 0;
  pointer-events: none
}
.splide__pagination li {
  display: inline-block;
  line-height: 1;
  list-style-type: none;
  margin: 0;
  pointer-events: auto
}
.splide:not(.is-overflow) .splide__pagination {
  display: none
}
.splide__progress__bar {
  width: 0
}
.splide {
  position: relative;
  visibility: hidden
}
.splide.is-initialized,
.splide.is-rendered {
  visibility: visible
}
.splide__slide {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  list-style-type: none!important;
  margin: 0;
  position: relative;
  -webkit-tap-highlight-color: transparent
}
.splide__slide img {
  vertical-align: bottom
}
.splide__spinner {
  -webkit-animation: 1s linear infinite splide-loading;
  animation: 1s linear infinite splide-loading;
  border: 2px solid #999;
  border-left-color: transparent;
  border-radius: 50%;
  bottom: 0;
  contain: strict;
  display: inline-block;
  height: 20px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 20px
}
.splide__sr {
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px
}
.splide__toggle.is-active .splide__toggle__play,
.splide__toggle__pause {
  display: none
}
.splide__toggle.is-active .splide__toggle__pause {
  display: inline
}
.splide__track {
  overflow: hidden;
  position: relative;
  z-index: 0
}
@-webkit-keyframes splide-loading {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0)
  }
  to {
    -webkit-transform: rotate(1turn);
    transform: rotate(1turn)
  }
}
@keyframes splide-loading {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0)
  }
  to {
    -webkit-transform: rotate(1turn);
    transform: rotate(1turn)
  }
}
.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  -moz-user-select: none;
  user-select: none
}
.splide__track--fade > .splide__list > .splide__slide {
  margin: 0!important;
  opacity: 0;
  z-index: 0
}
.splide__track--fade > .splide__list > .splide__slide.is-active {
  opacity: 1;
  z-index: 1
}
.splide--rtl {
  direction: rtl
}
.splide__track--ttb > .splide__list {
  display: block
}
.splide__arrow {
  -ms-flex-align: center;
  -webkit-box-align: center;
  align-items: center;
  background: #ccc;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  height: 2em;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
  justify-content: center;
  opacity: .7;
  padding: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 2em;
  z-index: 1
}
.splide__arrow svg {
  fill: #000;
  height: 1.2em;
  width: 1.2em
}
.splide__arrow:hover:not(:disabled) {
  opacity: .9
}
.splide__arrow:disabled {
  opacity: .3
}
.splide__arrow:focus-visible {
  outline: #0bf solid 3px;
  outline-offset: 3px
}
.splide__arrow--prev {
  left: 1em
}
.splide__arrow--prev svg {
  -webkit-transform: scaleX(-1);
  -ms-transform: scaleX(-1);
  transform: scaleX(-1)
}
.splide__arrow--next {
  right: 1em
}
.splide.is-focus-in .splide__arrow:focus {
  outline: #0bf solid 3px;
  outline-offset: 3px
}
.splide__pagination {
  bottom: .5em;
  left: 0;
  padding: 0 1em;
  position: absolute;
  right: 0;
  z-index: 1
}
.splide__pagination__page {
  background: #ccc;
  border: 0;
  border-radius: 50%;
  display: inline-block;
  height: 8px;
  margin: 3px;
  opacity: .7;
  padding: 0;
  position: relative;
  -webkit-transition: -webkit-transform .2s linear;
  transition: transform .2s linear;
  transition: transform .2s linear,-webkit-transform .2s linear;
  width: 8px
}
.splide__pagination__page.is-active {
  background: #fff;
  -webkit-transform: scale(1.4);
  -ms-transform: scale(1.4);
  transform: scale(1.4);
  z-index: 1
}
.splide__pagination__page:hover {
  cursor: pointer;
  opacity: .9
}
.splide__pagination__page:focus-visible {
  outline: #0bf solid 3px;
  outline-offset: 3px
}
.splide.is-focus-in .splide__pagination__page:focus {
  outline: #0bf solid 3px;
  outline-offset: 3px
}
.splide__progress__bar {
  background: #ccc;
  height: 3px
}
.splide__slide:focus {
  outline: 0
}
@supports (outline-offset:-3px) {
  .splide__slide:focus-visible {
    outline: #0bf solid 3px;
    outline-offset: -3px
  }
  .splide.is-focus-in .splide__slide:focus {
    outline: #0bf solid 3px;
    outline-offset: -3px
  }
}
@media screen and (-ms-high-contrast:none) {
  .splide__slide:focus-visible {
    border: 3px solid #0bf
  }
  .splide.is-focus-in .splide__slide:focus {
    border: 3px solid #0bf
  }
  .splide.is-focus-in .splide__track > .splide__list > .splide__slide:focus {
    border-color: #0bf
  }
}
.splide__toggle {
  cursor: pointer
}
.splide__toggle:focus-visible {
  outline: #0bf solid 3px;
  outline-offset: 3px
}
.splide.is-focus-in .splide__toggle:focus {
  outline: #0bf solid 3px;
  outline-offset: 3px
}
.splide__track--nav > .splide__list > .splide__slide {
  border: 3px solid transparent;
  cursor: pointer
}
.splide__track--nav > .splide__list > .splide__slide.is-active {
  border: 3px solid #000
}
.splide__arrows--rtl .splide__arrow--prev {
  left: auto;
  right: 1em
}
.splide__arrows--rtl .splide__arrow--prev svg {
  -webkit-transform: scaleX(1);
  -ms-transform: scaleX(1);
  transform: scaleX(1)
}
.splide__arrows--rtl .splide__arrow--next {
  left: 1em;
  right: auto
}
.splide__arrows--rtl .splide__arrow--next svg {
  -webkit-transform: scaleX(-1);
  -ms-transform: scaleX(-1);
  transform: scaleX(-1)
}
.splide__arrows--ttb .splide__arrow {
  left: 50%;
  -webkit-transform: translate(-50%);
  -ms-transform: translate(-50%);
  transform: translate(-50%)
}
.splide__arrows--ttb .splide__arrow--prev {
  top: 1em
}
.splide__arrows--ttb .splide__arrow--prev svg {
  -webkit-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  transform: rotate(-90deg)
}
.splide__arrows--ttb .splide__arrow--next {
  bottom: 1em;
  top: auto
}
.splide__arrows--ttb .splide__arrow--next svg {
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg)
}
.splide__pagination--ttb {
  bottom: 0;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-direction: column;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  left: auto;
  padding: 1em 0;
  right: .5em;
  top: 0
}
.tabs {
  overflow: hidden
}
.tabs .in {
  display: grid
}
.tabs nav {
  font-family: var(--font-secondary);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  color: #000;
  padding-top: 30px;
  gap: 10px;
  font-size: 14px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}
.tabs nav div {
  cursor: pointer;
  -webkit-transition: background .3s;
  transition: background .3s;
  position: relative;
  background: #f7f7f7;
  padding: 8px;
  border-radius: 4px
}
.tabs nav div.current {
  background: #232323;
  color: #fff
}
.tabs__content {
  padding: 30px 0 10px
}
@media (min-width:768px) {
  .tabs nav {
    font-size: 15px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding-top: 56px;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    gap: 35px;
    border-right: 2px solid #ebebeb
  }
  .tabs nav div {
    border-radius: 0;
    padding: 0 0 0 27px;
    background: url(../images/bread.svg) left top 2px/16px no-repeat
  }
  .tabs nav div.current {
    font-weight: 700;
    color: #000;
    background: url(../images/bread.svg) left 5px top 2px/16px no-repeat
  }
  .tabs nav div.current:after,
  .tabs nav div.current:before {
    opacity: 1
  }
  .tabs nav div:before {
    content: "";
    position: absolute;
    right: -16px;
    top: 50%;
    margin-top: -17px;
    width: 0;
    z-index: 1;
    height: 0;
    display: block;
    border-style: solid;
    border-width: 15.5px 0 15.5px 16px;
    border-color: transparent transparent transparent #fff;
    pointer-events: none;
    opacity: 0
  }
  .tabs nav div:after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    right: -19px;
    top: 50%;
    margin-top: -20px;
    display: block;
    border-style: solid;
    border-width: 18px 0 18px 19px;
    border-color: transparent transparent transparent #ebebeb;
    pointer-events: none;
    opacity: 0
  }
  .tabs__content {
    padding: 50px
  }
}
@media (min-width:1024px) {
  .tabs__content {
    padding: 54px 30px 54px 80px
  }
}
@media (min-width:1366px) {
  .tabs .in {
    grid-template-columns: 330px 1fr
  }
  .tabs__content {
    padding: 54px 0 82px 115px
  }
}
.title {
  margin: 0;
  font-family: var(--font-secondary);
  color: #2c2c2c
}
.title--2 {
  font-weight: 400;
  font-size: 30px
}
@media (min-width:768px) {
  .title--2 {
    font-size: 40px
  }
}
.title--3 {
  font-size: 22px;
  font-weight: 400
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvcmUvdmFyaWFibGVzLnNjc3MiLCJiYXNlL2Jhc2Uuc2NzcyIsInN0eWxlLmNzcyIsImNvcmUvaW5jbHVkZS1tZWRpYS5zY3NzIiwiYmFzZS9faWNvbnMuc2NzcyIsInV0aWxzL2hlbHBlcnMuc2NzcyIsInV0aWxzL2hpZGUuc2NzcyIsImNvbXBvbmVudHMvYWJvdXQuc2NzcyIsImNvbXBvbmVudHMvYW5pbWF0ZS5zY3NzIiwiY29tcG9uZW50cy9ib3hlcy5zY3NzIiwiY29tcG9uZW50cy9icmVhZGNydW1icy5zY3NzIiwiY29tcG9uZW50cy9idG4uc2NzcyIsImNvbXBvbmVudHMvY29udGFjdC5zY3NzIiwiY29tcG9uZW50cy9kcm9wZG93bi5zY3NzIiwiY29tcG9uZW50cy9mb290ZXIuc2NzcyIsImNvbXBvbmVudHMvZWRpdG9yLnNjc3MiLCJjb21wb25lbnRzL2ZhcS5zY3NzIiwiY29tcG9uZW50cy9oZWFkZXItbmF2LnNjc3MiLCJjb21wb25lbnRzL2hlYWRlci5zY3NzIiwiY29tcG9uZW50cy9yZWZlcmVuY2VzLnNjc3MiLCJjb21wb25lbnRzL2hlcm8uc2NzcyIsImNvbXBvbmVudHMvaW4uc2NzcyIsImNvbXBvbmVudHMvdGFicy5zY3NzIiwiY29tcG9uZW50cy9zZWN0aW9uLnNjc3MiLCJjb21wb25lbnRzL3NwbGlkZS5zY3NzIiwiY29tcG9uZW50cy90aXRsZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBO0FBQ0UsV0FBQTtBQUNBLHNCQUFBO0FBQ0Esc0JBQUE7QUFDQSxnQkFBQSxTQUFBLENBQUEsS0FBQSxDQUFBO0FBQ0Esa0JBQUEsY0FBQSxDQUFBLEtBQUEsQ0FBQTtBQUNBLGdCQUFBOztBQ2FGO0FDSkE7QUFEQTtBRFFFLG9CQUFBO0FBQUEsWUFBQTs7QUFRRjtBQUNFLGFBQUE7QUFDQSxhQUFBO0FBQ0EsMEJBQUE7QUFDQSxzQkFBQTtBQUNBLG9CQUFBO0FBQ0EsNkJBQUE7QUFDQSxvQkFBQTs7QUFLQTtBQUNFLE9B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O0FBQ0EsZ0JBQUE7QUFDQSxTQUFBOztBQUlKO0FBRUksU0FBQTtBQUNBLFVBQUE7QUFDQSxPQUFBO0FBQ0EsUUFBQTtBQUNBLE9BQUE7QUFDQSxLQUFBO0FBQ0EsWUFBQTtBQUNBLFNBQUE7QUFDQSxjQUFBO0FBQ0EsY0FBQSxLQUFBLEVBQUEsS0FBQTtBQUNBLGNBQUEsWUFBQSxZQUFBLFlBQUE7QUFDQSxnQkFBQTtBQUNBLFNBQUE7O0FBTVI7QUFJSSxTQUFBOzs7QW5CMmJGO0FtQi9iRjtBQVFJLFNBQUEsS0FBQSxLQUFBLEtBQUE7OztBbkJ1YkY7QW1CMWlCRjtBQVlJLHVCQUFBLE1BQUE7O0FBK0ZKO0FBWUksU0FBQSxLQUFBLEVBQUEsS0FBQTs7O0FHMUhOO0FBQ0UsUUFBQTtBQUNBLGFBQUE7QUFDQSxPQUFBOztBQUVBO0FBQ0UsYUFBQTtBQUNBLFdBQUE7O0F0QnNpQkE7QXNCeGlCRjtBQUtJLFdBQUE7OztBQUlKO0FBQ0UsV0FBQTtBQUNBLGFBQUEiLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogVmFyaWFibGVzICovXHJcbjpyb290IHtcclxuICAtLWJnLWJvZHk6ICNmZmY7XHJcbiAgLS1zY3JvbGwtcGFkZGluZy10b3A6IDBweDtcclxuICAtLXRleHQtY29sb3ItZGVmYXVsdDogIzM3NDc0RjtcclxuICAtLWZvbnQtZGVmYXVsdDogJ1BvcHBpbnMnLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuICAtLWZvbnQtc2Vjb25kYXJ5OiAnTWVycml3ZWF0aGVyJywgQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiAgLS1pbi1tYXgtd2lkdGg6IDEyMDBweDtcclxufVxyXG5cclxuLyogQmFzZSB2YXJpYWJsZXMgKi9cclxuJGZvbnQtd2VpZ2h0LWJhc2U6IDQwMDtcclxuXHJcbiRmb250LXNpemUtYmFzZS1tb2JpbGU6IDE1cHg7XHJcbiRsaW5lLWhlaWdodC1iYXNlLW1vYmlsZTogMS40O1xyXG5cclxuJGZvbnQtc2l6ZS1iYXNlOiAxNXB4O1xyXG4kbGluZS1oZWlnaHQtYmFzZTogMS40O1xyXG5cclxuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHJcbiRoZWFkaW5ncy1tYXJnaW4tYm90dG9tLW1vYmlsZTogMjBweDtcclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tLW1vYmlsZTogMTBweDtcclxuXHJcbi8qIE1lZGlhICovXHJcbiRicmVha3BvaW50czogKFxyXG4gICd0YWJsZXQnOiA3NjhweCxcclxuICAnZGVza3RvcCc6IDEwMjRweCxcclxuICAnZGVza3RvcC1sJzogMTM2NnB4LFxyXG4gICdkZXNrdG9wLXhsJzogMTkyMHB4XHJcbik7XHJcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGF0LXJ1bGUtbm8tdmVuZG9yLXByZWZpeCwgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50LCBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGUsIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXhcclxuXHJcbi8vIFJlYm9vdFxyXG4vL1xyXG4vLyBOb3JtYWxpemF0aW9uIG9mIEhUTUwgZWxlbWVudHMsIG1hbnVhbGx5IGZvcmtlZCBmcm9tIE5vcm1hbGl6ZS5jc3MgdG8gcmVtb3ZlXHJcbi8vIHN0eWxlcyB0YXJnZXRpbmcgaXJyZWxldmFudCBicm93c2VycyB3aGlsZSBhcHBseWluZyBuZXcgc3R5bGVzLlxyXG4vL1xyXG4vLyBOb3JtYWxpemUgaXMgbGljZW5zZWQgTUlULiBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzXHJcblxyXG5cclxuLy8gRG9jdW1lbnRcclxuLy9cclxuLy8gMS4gQ2hhbmdlIGZyb20gYGJveC1zaXppbmc6IGNvbnRlbnQtYm94YCBzbyB0aGF0IGB3aWR0aGAgaXMgbm90IGFmZmVjdGVkIGJ5IGBwYWRkaW5nYCBvciBgYm9yZGVyYC5cclxuLy8gMi4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2Vycy5cclxuLy8gMy4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxyXG4vLyA0LiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cclxuLy8gNS4gU2V0dGluZyBAdmlld3BvcnQgY2F1c2VzIHNjcm9sbGJhcnMgdG8gb3ZlcmxhcCBjb250ZW50IGluIElFMTEgYW5kIEVkZ2UsIHNvXHJcbi8vICAgIHdlIGZvcmNlIGEgbm9uLW92ZXJsYXBwaW5nLCBub24tYXV0by1oaWRpbmcgc2Nyb2xsYmFyIHRvIGNvdW50ZXJhY3QuXHJcbi8vIDYuIENoYW5nZSB0aGUgZGVmYXVsdCB0YXAgaGlnaGxpZ2h0IHRvIGJlIGNvbXBsZXRlbHkgdHJhbnNwYXJlbnQgaW4gaU9TLlxyXG5cclxuKixcclxuKjo6YmVmb3JlLFxyXG4qOjphZnRlciB7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxyXG59XHJcblxyXG5pbWcge1xyXG4gIG1heC13aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbmh0bWwge1xyXG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvLyAyXHJcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDNcclxuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDRcclxuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gNFxyXG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogc2Nyb2xsYmFyOyAvLyA1XHJcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOyAvLyA2XHJcbiAgc2Nyb2xsLXBhZGRpbmctdG9wOiB2YXIoLS1zY3JvbGwtcGFkZGluZy10b3ApO1xyXG59XHJcblxyXG4vLyBJRTEwKyBkb2Vzbid0IGhvbm9yIGA8bWV0YSBuYW1lPVwidmlld3BvcnRcIj5gIGluIHNvbWUgY2FzZXMuXHJcbkBhdC1yb290IHtcclxuICBALW1zLXZpZXdwb3J0IHtcclxuICAgIHdpZHRoOiBkZXZpY2Utd2lkdGg7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXJcclxuLy8gU2hpbSBmb3IgXCJuZXdcIiBIVE1MNSBzdHJ1Y3R1cmFsIGVsZW1lbnRzIHRvIGRpc3BsYXkgY29ycmVjdGx5IChJRTEwLCBvbGRlciBicm93c2VycylcclxuYXJ0aWNsZSwgYXNpZGUsIGRpYWxvZywgZmlnY2FwdGlvbiwgZmlndXJlLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtYWluLCBuYXYsIHNlY3Rpb24ge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcbi8vIHN0eWxlbGludC1lbmFibGUgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXHJcblxyXG4vLyBCb2R5XHJcbi8vXHJcbi8vIDEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cclxuLy8gMi4gQXMgYSBiZXN0IHByYWN0aWNlLCBhcHBseSBhIGRlZmF1bHQgYGJhY2tncm91bmQtY29sb3JgLlxyXG4vLyAzLiBTZXQgYW4gZXhwbGljaXQgaW5pdGlhbCB0ZXh0LWFsaWduIHZhbHVlIHNvIHRoYXQgd2UgY2FuIGxhdGVyIHVzZSB0aGVcclxuLy8gICAgdGhlIGBpbmhlcml0YCB2YWx1ZSBvbiB0aGluZ3MgbGlrZSBgPHRoPmAgZWxlbWVudHMuXHJcblxyXG5ib2R5IHtcclxuICBtYXJnaW46IDA7IC8vIDFcclxuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kZWZhdWx0KTtcclxuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZS1tb2JpbGU7XHJcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1iYXNlO1xyXG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZS1tb2JpbGU7XHJcbiAgY29sb3I6IHZhcigtLXRleHQtY29sb3ItZGVmYXVsdCk7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gM1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWJvZHkpOyAvLyAyXHJcblxyXG4gICYubmF2LWlzLW9wZW57XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcC1sJyl7XHJcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XHJcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcclxuICB9XHJcbn1cclxuXHJcbi8vIFN1cHByZXNzIHRoZSBmb2N1cyBvdXRsaW5lIG9uIGVsZW1lbnRzIHRoYXQgY2Fubm90IGJlIGFjY2Vzc2VkIHZpYSBrZXlib2FyZC5cclxuLy8gVGhpcyBwcmV2ZW50cyBhbiB1bndhbnRlZCBmb2N1cyBvdXRsaW5lIGZyb20gYXBwZWFyaW5nIGFyb3VuZCBlbGVtZW50cyB0aGF0XHJcbi8vIG1pZ2h0IHN0aWxsIHJlc3BvbmQgdG8gcG9pbnRlciBldmVudHMuXHJcbi8vXHJcbi8vIENyZWRpdDogaHR0cHM6Ly9naXRodWIuY29tL3N1aXRjc3MvYmFzZVxyXG5bdGFiaW5kZXg9XCItMVwiXTpmb2N1cyB7XHJcbiAgb3V0bGluZTogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuLy8gQ29udGVudCBncm91cGluZ1xyXG4vL1xyXG4vLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxyXG4vLyAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cclxuXHJcbmhyIHtcclxuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gMVxyXG4gIGhlaWdodDogMDsgLy8gMVxyXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvLyAyXHJcbn1cclxuXHJcblxyXG4vL1xyXG4vLyBUeXBvZ3JhcGh5XHJcbi8vXHJcblxyXG4vLyBSZW1vdmUgdG9wIG1hcmdpbnMgZnJvbSBoZWFkaW5nc1xyXG4vL1xyXG4vLyBCeSBkZWZhdWx0LCBgPGgxPmAtYDxoNj5gIGFsbCByZWNlaXZlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuIFdlIG51a2UgdGhlIHRvcFxyXG4vLyBtYXJnaW4gZm9yIGVhc2llciBjb250cm9sIHdpdGhpbiB0eXBlIHNjYWxlcyBhcyBpdCBhdm9pZHMgbWFyZ2luIGNvbGxhcHNpbmcuXHJcbi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxyXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcclxuICBtYXJnaW4tdG9wOiAwO1xyXG4gIG1hcmdpbi1ib3R0b206ICRoZWFkaW5ncy1tYXJnaW4tYm90dG9tLW1vYmlsZTtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKXtcclxuICAgIG1hcmdpbi1ib3R0b206ICRoZWFkaW5ncy1tYXJnaW4tYm90dG9tO1xyXG4gIH1cclxufVxyXG4vLyBzdHlsZWxpbnQtZW5hYmxlIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxyXG5cclxuLy8gUmVzZXQgbWFyZ2lucyBvbiBwYXJhZ3JhcGhzXHJcbi8vXHJcbi8vIFNpbWlsYXJseSwgdGhlIHRvcCBtYXJnaW4gb24gYDxwPmBzIGdldCByZXNldC4gSG93ZXZlciwgd2UgYWxzbyByZXNldCB0aGVcclxuLy8gYm90dG9tIG1hcmdpbiB0byB1c2UgYHJlbWAgdW5pdHMgaW5zdGVhZCBvZiBgZW1gLlxyXG5wIHtcclxuICBtYXJnaW4tdG9wOiAwO1xyXG4gIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbS1tb2JpbGU7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIil7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XHJcbiAgfVxyXG5cclxuICAmOmxhc3QtY2hpbGQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICB9XHJcbn1cclxuXHJcbi8vIEFiYnJldmlhdGlvbnNcclxuLy9cclxuLy8gMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxyXG4vLyAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxyXG4vLyAzLiBBZGQgZXhwbGljaXQgY3Vyc29yIHRvIGluZGljYXRlIGNoYW5nZWQgYmVoYXZpb3IuXHJcbi8vIDQuIER1cGxpY2F0ZSBiZWhhdmlvciB0byB0aGUgZGF0YS0qIGF0dHJpYnV0ZSBmb3Igb3VyIHRvb2x0aXAgcGx1Z2luXHJcblxyXG5hYmJyW3RpdGxlXSxcclxuYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7IC8vIDRcclxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLy8gMlxyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLy8gMlxyXG4gIGN1cnNvcjogaGVscDsgLy8gM1xyXG4gIGJvcmRlci1ib3R0b206IDA7IC8vIDFcclxufVxyXG5cclxuYWRkcmVzcyB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbn1cclxuXHJcbm9sLFxyXG51bCxcclxuZGwge1xyXG4gIG1hcmdpbi10b3A6IDA7XHJcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxufVxyXG5cclxub2wgb2wsXHJcbnVsIHVsLFxyXG5vbCB1bCxcclxudWwgb2wge1xyXG4gIG1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxuXHJcbmR0IHtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG59XHJcblxyXG5kZCB7XHJcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XHJcbiAgbWFyZ2luLWxlZnQ6IDA7IC8vIFVuZG8gYnJvd3NlciBkZWZhdWx0XHJcbn1cclxuXHJcbmJsb2NrcXVvdGUge1xyXG4gIG1hcmdpbjogMCAwIDFyZW07XHJcbn1cclxuXHJcbmRmbiB7XHJcbiAgZm9udC1zdHlsZTogaXRhbGljOyAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy1cclxufVxyXG5cclxuLy8gc3R5bGVsaW50LWRpc2FibGUgZm9udC13ZWlnaHQtbm90YXRpb25cclxuYixcclxuc3Ryb25nIHtcclxuICBmb250LXdlaWdodDogYm9sZGVyOyAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpXHJcbn1cclxuLy8gc3R5bGVsaW50LWVuYWJsZSBmb250LXdlaWdodC1ub3RhdGlvblxyXG5cclxuc21hbGwge1xyXG4gIGZvbnQtc2l6ZTogODAlOyAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vyc1xyXG59XHJcblxyXG4vL1xyXG4vLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cclxuLy8gYWxsIGJyb3dzZXJzLlxyXG4vL1xyXG5cclxuc3ViLFxyXG5zdXAge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBmb250LXNpemU6IDc1JTtcclxuICBsaW5lLWhlaWdodDogMDtcclxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbn1cclxuXHJcbnN1YiB7IGJvdHRvbTogLS4yNWVtOyB9XHJcbnN1cCB7IHRvcDogLS41ZW07IH1cclxuXHJcblxyXG4vL1xyXG4vLyBMaW5rc1xyXG4vL1xyXG5cclxuYSB7XHJcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcclxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxyXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8vIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBBbmQgdW5kbyB0aGVzZSBzdHlsZXMgZm9yIHBsYWNlaG9sZGVyIGxpbmtzL25hbWVkIGFuY2hvcnMgKHdpdGhvdXQgaHJlZilcclxuLy8gd2hpY2ggaGF2ZSBub3QgYmVlbiBtYWRlIGV4cGxpY2l0bHkga2V5Ym9hcmQtZm9jdXNhYmxlICh3aXRob3V0IHRhYmluZGV4KS5cclxuLy8gSXQgd291bGQgYmUgbW9yZSBzdHJhaWdodGZvcndhcmQgdG8ganVzdCB1c2UgYVtocmVmXSBpbiBwcmV2aW91cyBibG9jaywgYnV0IHRoYXRcclxuLy8gY2F1c2VzIHNwZWNpZmljaXR5IGlzc3VlcyBpbiBtYW55IG90aGVyIHN0eWxlcyB0aGF0IGFyZSB0b28gY29tcGxleCB0byBmaXguXHJcbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5NDAyXHJcblxyXG5hOm5vdChbaHJlZl0pOm5vdChbdGFiaW5kZXhdKSB7XHJcbiAgY29sb3I6IGluaGVyaXQ7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cclxuICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIH1cclxuXHJcbiAgJjpmb2N1cyB7XHJcbiAgICBvdXRsaW5lOiAwO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vXHJcbi8vIENvZGVcclxuLy9cclxuXHJcbi8vIHN0eWxlbGludC1kaXNhYmxlIGZvbnQtZmFtaWx5LW5vLWR1cGxpY2F0ZS1uYW1lc1xyXG5wcmUsXHJcbmNvZGUsXHJcbmtiZCxcclxuc2FtcCB7XHJcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG4gIGZvbnQtc2l6ZTogMWVtOyAvLyBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXHJcbn1cclxuLy8gc3R5bGVsaW50LWVuYWJsZSBmb250LWZhbWlseS1uby1kdXBsaWNhdGUtbmFtZXNcclxuXHJcbnByZSB7XHJcbiAgLy8gUmVtb3ZlIGJyb3dzZXIgZGVmYXVsdCB0b3AgbWFyZ2luXHJcbiAgbWFyZ2luLXRvcDogMDtcclxuICAvLyBSZXNldCBicm93c2VyIGRlZmF1bHQgb2YgYDFlbWAgdG8gdXNlIGByZW1gc1xyXG4gIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgLy8gRG9uJ3QgYWxsb3cgY29udGVudCB0byBicmVhayBvdXRzaWRlXHJcbiAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgLy8gV2UgaGF2ZSBAdmlld3BvcnQgc2V0IHdoaWNoIGNhdXNlcyBzY3JvbGxiYXJzIHRvIG92ZXJsYXAgY29udGVudCBpbiBJRTExIGFuZCBFZGdlLCBzb1xyXG4gIC8vIHdlIGZvcmNlIGEgbm9uLW92ZXJsYXBwaW5nLCBub24tYXV0by1oaWRpbmcgc2Nyb2xsYmFyIHRvIGNvdW50ZXJhY3QuXHJcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBzY3JvbGxiYXI7XHJcbn1cclxuXHJcblxyXG4vL1xyXG4vLyBGaWd1cmVzXHJcbi8vXHJcblxyXG5maWd1cmUge1xyXG4gIC8vIEFwcGx5IGEgY29uc2lzdGVudCBtYXJnaW4gc3RyYXRlZ3kgKG1hdGNoZXMgb3VyIHR5cGUgc3R5bGVzKS5cclxuICBtYXJnaW46IDAgMCAxcmVtO1xyXG59XHJcblxyXG5cclxuLy9cclxuLy8gSW1hZ2VzIGFuZCBjb250ZW50XHJcbi8vXHJcblxyXG5pbWcge1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgYm9yZGVyLXN0eWxlOiBub25lOyAvLyBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cclxufVxyXG5cclxuc3ZnOm5vdCg6cm9vdCkge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47IC8vIEhpZGUgdGhlIG92ZXJmbG93IGluIElFXHJcbn1cclxuXHJcblxyXG4vL1xyXG4vLyBUYWJsZXNcclxuLy9cclxuXHJcbnRhYmxlIHtcclxuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyAvLyBQcmV2ZW50IGRvdWJsZSBib3JkZXJzXHJcbn1cclxuXHJcbmNhcHRpb24ge1xyXG4gIHBhZGRpbmctdG9wOiAwO1xyXG4gIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gIGNvbG9yOiAjMUMxQzFDO1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgY2FwdGlvbi1zaWRlOiBib3R0b207XHJcbn1cclxuXHJcbnRoIHtcclxuICAvLyBNYXRjaGVzIGRlZmF1bHQgYDx0ZD5gIGFsaWdubWVudCBieSBpbmhlcml0aW5nIGZyb20gdGhlIGA8Ym9keT5gLCBvciB0aGVcclxuICAvLyBjbG9zZXN0IHBhcmVudCB3aXRoIGEgc2V0IGB0ZXh0LWFsaWduYC5cclxuICB0ZXh0LWFsaWduOiBpbmhlcml0O1xyXG59XHJcblxyXG5cclxuLy9cclxuLy8gRm9ybXNcclxuLy9cclxuXHJcbmxhYmVsIHtcclxuICAvLyBBbGxvdyBsYWJlbHMgdG8gdXNlIGBtYXJnaW5gIGZvciBzcGFjaW5nLlxyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcclxufVxyXG5cclxuLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IGBib3JkZXItcmFkaXVzYCB0aGF0IG1hY09TIENocm9tZSBhZGRzLlxyXG4vL1xyXG4vLyBEZXRhaWxzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQwOTNcclxuYnV0dG9uIHtcclxuICBib3JkZXItcmFkaXVzOiAwO1xyXG59XHJcblxyXG4vLyBXb3JrIGFyb3VuZCBhIEZpcmVmb3gvSUUgYnVnIHdoZXJlIHRoZSB0cmFuc3BhcmVudCBgYnV0dG9uYCBiYWNrZ3JvdW5kXHJcbi8vIHJlc3VsdHMgaW4gYSBsb3NzIG9mIHRoZSBkZWZhdWx0IGBidXR0b25gIGZvY3VzIHN0eWxlcy5cclxuLy9cclxuLy8gQ3JlZGl0OiBodHRwczovL2dpdGh1Yi5jb20vc3VpdGNzcy9iYXNlL1xyXG5idXR0b246Zm9jdXMge1xyXG4gIG91dGxpbmU6IDFweCBkb3R0ZWQ7XHJcbiAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xyXG59XHJcblxyXG5pbnB1dCxcclxuYnV0dG9uLFxyXG5zZWxlY3QsXHJcbm9wdGdyb3VwLFxyXG50ZXh0YXJlYSB7XHJcbiAgbWFyZ2luOiAwOyAvLyBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmlcclxuICBmb250LWZhbWlseTogaW5oZXJpdDtcclxuICBmb250LXNpemU6IGluaGVyaXQ7XHJcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbn1cclxuXHJcbmJ1dHRvbixcclxuaW5wdXQge1xyXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvLyBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlXHJcbn1cclxuXHJcbmJ1dHRvbixcclxuc2VsZWN0IHtcclxuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94XHJcbn1cclxuXHJcbi8vIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxyXG4vLyAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXHJcbi8vIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXHJcbmJ1dHRvbixcclxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLy8gMVxyXG5bdHlwZT1cInJlc2V0XCJdLFxyXG5bdHlwZT1cInN1Ym1pdFwiXSB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDJcclxufVxyXG5cclxuLy8gUmVtb3ZlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBmcm9tIEZpcmVmb3gsIGJ1dCBkb24ndCByZXN0b3JlIHRoZSBvdXRsaW5lIGxpa2UgTm9ybWFsaXplLlxyXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXHJcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxyXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxyXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XHJcbiAgcGFkZGluZzogMDtcclxuICBib3JkZXItc3R5bGU6IG5vbmU7XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSxcclxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC1cclxuICBwYWRkaW5nOiAwOyAvLyAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtXHJcbn1cclxuXHJcblxyXG5pbnB1dFt0eXBlPVwiZGF0ZVwiXSxcclxuaW5wdXRbdHlwZT1cInRpbWVcIl0sXHJcbmlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcclxuaW5wdXRbdHlwZT1cIm1vbnRoXCJdIHtcclxuICAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgYXBwZWFyYW5jZSBvZiB0ZW1wb3JhbCBpbnB1dHMgdG8gYXZvaWQgYSBNb2JpbGUgU2FmYXJpXHJcbiAgLy8gYnVnIHdoZXJlIHNldHRpbmcgYSBjdXN0b20gbGluZS1oZWlnaHQgcHJldmVudHMgdGV4dCBmcm9tIGJlaW5nIHZlcnRpY2FsbHlcclxuICAvLyBjZW50ZXJlZCB3aXRoaW4gdGhlIGlucHV0LlxyXG4gIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5ODQ4XHJcbiAgLy8gYW5kIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTEyNjZcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGxpc3Rib3g7XHJcbn1cclxuXHJcbnRleHRhcmVhIHtcclxuICBvdmVyZmxvdzogYXV0bzsgLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cclxuICAvLyBUZXh0YXJlYXMgc2hvdWxkIHJlYWxseSBvbmx5IHJlc2l6ZSB2ZXJ0aWNhbGx5IHNvIHRoZXkgZG9uJ3QgYnJlYWsgdGhlaXIgKGhvcml6b250YWwpIGNvbnRhaW5lcnMuXHJcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcclxufVxyXG5cclxuZmllbGRzZXQge1xyXG4gIC8vIEJyb3dzZXJzIHNldCBhIGRlZmF1bHQgYG1pbi13aWR0aDogbWluLWNvbnRlbnQ7YCBvbiBmaWVsZHNldHMsXHJcbiAgLy8gdW5saWtlIGUuZy4gYDxkaXY+YHMsIHdoaWNoIGhhdmUgYG1pbi13aWR0aDogMDtgIGJ5IGRlZmF1bHQuXHJcbiAgLy8gU28gd2UgcmVzZXQgdGhhdCB0byBlbnN1cmUgZmllbGRzZXRzIGJlaGF2ZSBtb3JlIGxpa2UgYSBzdGFuZGFyZCBibG9jayBlbGVtZW50LlxyXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzEyMzU5XHJcbiAgLy8gYW5kIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlLyN0aGUtZmllbGRzZXQtYW5kLWxlZ2VuZC1lbGVtZW50c1xyXG4gIG1pbi13aWR0aDogMDtcclxuICAvLyBSZXNldCB0aGUgZGVmYXVsdCBvdXRsaW5lIGJlaGF2aW9yIG9mIGZpZWxkc2V0cyBzbyB0aGV5IGRvbid0IGFmZmVjdCBwYWdlIGxheW91dC5cclxuICBwYWRkaW5nOiAwO1xyXG4gIG1hcmdpbjogMDtcclxuICBib3JkZXI6IDA7XHJcbn1cclxuXHJcbi8vIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXHJcbi8vIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cclxubGVnZW5kIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXgtd2lkdGg6IDEwMCU7IC8vIDFcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xyXG4gIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG4gIGNvbG9yOiBpbmhlcml0OyAvLyAyXHJcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLy8gMVxyXG59XHJcblxyXG5wcm9ncmVzcyB7XHJcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvLyBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxyXG59XHJcblxyXG4vLyBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXHJcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxyXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG5bdHlwZT1cInNlYXJjaFwiXSB7XHJcbiAgLy8gVGhpcyBvdmVycmlkZXMgdGhlIGV4dHJhIHJvdW5kZWQgY29ybmVycyBvbiBzZWFyY2ggaW5wdXRzIGluIGlPUyBzbyB0aGF0IG91clxyXG4gIC8vIGAuZm9ybS1jb250cm9sYCBjbGFzcyBjYW4gcHJvcGVybHkgc3R5bGUgdGhlbS4gTm90ZSB0aGF0IHRoaXMgY2Fubm90IHNpbXBseVxyXG4gIC8vIGJlIGFkZGVkIHRvIGAuZm9ybS1jb250cm9sYCBhcyBpdCdzIG5vdCBzcGVjaWZpYyBlbm91Z2guIEZvciBkZXRhaWxzLCBzZWVcclxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNTg2LlxyXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbn1cclxuXHJcbi8vXHJcbi8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXHJcbi8vXHJcblxyXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcclxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxufVxyXG5cclxuLy9cclxuLy8gMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cclxuLy8gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxyXG4vL1xyXG5cclxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XHJcbiAgZm9udDogaW5oZXJpdDsgLy8gMlxyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAxXHJcbn1cclxuXHJcbi8vXHJcbi8vIENvcnJlY3QgZWxlbWVudCBkaXNwbGF5c1xyXG4vL1xyXG5cclxub3V0cHV0IHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuXHJcbnN1bW1hcnkge1xyXG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzXHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG50ZW1wbGF0ZSB7XHJcbiAgZGlzcGxheTogbm9uZTsgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUVcclxufVxyXG5cclxuLy8gQWx3YXlzIGhpZGUgYW4gZWxlbWVudCB3aXRoIHRoZSBgaGlkZGVuYCBIVE1MIGF0dHJpYnV0ZSAoZnJvbSBQdXJlQ1NTKS5cclxuLy8gTmVlZGVkIGZvciBwcm9wZXIgZGlzcGxheSBpbiBJRSAxMC0uXHJcbltoaWRkZW5dIHtcclxuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuIiwiLyogQ29yZSAqL1xuLyogVmFyaWFibGVzICovXG46cm9vdCB7XG4gIC0tYmctYm9keTogI2ZmZjtcbiAgLS1zY3JvbGwtcGFkZGluZy10b3A6IDBweDtcbiAgLS10ZXh0LWNvbG9yLWRlZmF1bHQ6ICMzNzQ3NEY7XG4gIC0tZm9udC1kZWZhdWx0OiBcIlBvcHBpbnNcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIC0tZm9udC1zZWNvbmRhcnk6IFwiTWVycml3ZWF0aGVyXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAtLWluLW1heC13aWR0aDogMTIwMHB4O1xufVxuXG4vKiBCYXNlIHZhcmlhYmxlcyAqL1xuLyogTWVkaWEgKi9cbi8qIEJhc2UgKi9cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IHNjcm9sbGJhcjtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICBzY3JvbGwtcGFkZGluZy10b3A6IHZhcigtLXNjcm9sbC1wYWRkaW5nLXRvcCk7XG59XG5cbkAtbXMtdmlld3BvcnQge1xuICB3aWR0aDogZGV2aWNlLXdpZHRoO1xufVxuYXJ0aWNsZSwgYXNpZGUsIGRpYWxvZywgZmlnY2FwdGlvbiwgZmlndXJlLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtYWluLCBuYXYsIHNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGVmYXVsdCk7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6IHZhcigtLXRleHQtY29sb3ItZGVmYXVsdCk7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWJvZHkpO1xufVxuYm9keS5uYXYtaXMtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTM2NnB4KSB7XG4gIGJvZHkge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICB9XG59XG5cblt0YWJpbmRleD1cIi0xXCJdOmZvY3VzIHtcbiAgb3V0bGluZTogMCAhaW1wb3J0YW50O1xufVxuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG59XG5cbnAge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbn1cbnA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmFiYnJbdGl0bGVdLFxuYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIGN1cnNvcjogaGVscDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cblxuYWRkcmVzcyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbm9sLFxudWwsXG5kbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbm9sIG9sLFxudWwgdWwsXG5vbCB1bCxcbnVsIG9sIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuZHQge1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG5kZCB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG5zdWIsXG5zdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5hIHtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzO1xufVxuYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuYTpub3QoW2hyZWZdKTpub3QoW3RhYmluZGV4XSkge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuYTpub3QoW2hyZWZdKTpub3QoW3RhYmluZGV4XSk6aG92ZXIsIGE6bm90KFtocmVmXSk6bm90KFt0YWJpbmRleF0pOmZvY3VzIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbmE6bm90KFtocmVmXSk6bm90KFt0YWJpbmRleF0pOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cblxucHJlLFxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG5wcmUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBvdmVyZmxvdzogYXV0bztcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBzY3JvbGxiYXI7XG59XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cbmltZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG59XG5cbmNhcHRpb24ge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIGNvbG9yOiAjMUMxQzFDO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcbn1cblxudGgge1xuICB0ZXh0LWFsaWduOiBpbmhlcml0O1xufVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG5idXR0b24ge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiAxcHggZG90dGVkO1xuICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG59XG5cbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxub3B0Z3JvdXAsXG50ZXh0YXJlYSB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG5idXR0b24sXG5odG1sIFt0eXBlPWJ1dHRvbl0sXG5bdHlwZT1yZXNldF0sXG5bdHlwZT1zdWJtaXRdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPWJ1dHRvbl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1yZXNldF06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1zdWJtaXRdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG5pbnB1dFt0eXBlPXJhZGlvXSxcbmlucHV0W3R5cGU9Y2hlY2tib3hdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMDtcbn1cblxuaW5wdXRbdHlwZT1kYXRlXSxcbmlucHV0W3R5cGU9dGltZV0sXG5pbnB1dFt0eXBlPWRhdGV0aW1lLWxvY2FsXSxcbmlucHV0W3R5cGU9bW9udGhdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBsaXN0Ym94O1xufVxuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG5maWVsZHNldCB7XG4gIG1pbi13aWR0aDogMDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7XG59XG5cbmxlZ2VuZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5bdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuW3R5cGU9c2VhcmNoXSB7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cblt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5bdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgZm9udDogaW5oZXJpdDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbm91dHB1dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKiBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBzY3NzIGZvciBzdmcgaWNvbnNcbi0gaHR0cHM6Ly93d3cubnBtanMuY29tL3BhY2thZ2Uvc3ZnLXNwcml0ZVxuKi9cbi5pY29uLS1sb2dvIHtcbiAgd2lkdGg6IDE5NHB4O1xuICBoZWlnaHQ6IDM4cHg7XG59XG5cbi8qIFV0aWxzICovXG4uY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udXBwZXIge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oaWRlLS1tb2JpbGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gIC5oaWRlLS10YWJsZXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuaGlkZS0tZGVza3RvcCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4vKiBQbHVnaW5zICovXG4vKiBDb21wb25lbnRzICovXG4uYWJvdXQge1xuICBkaXNwbGF5OiBncmlkO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDQwcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5hYm91dCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMmZyO1xuICAgIGdhcDogODBweDtcbiAgfVxufVxuLmFib3V0X190aXRsZS50aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMjZweDtcbiAgcGFkZGluZy1ib3R0b206IDI2cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmFib3V0X190aXRsZS50aXRsZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDM2cHg7XG4gIH1cbn1cbi5hYm91dF9fdGl0bGUudGl0bGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDcwcHg7XG4gIGhlaWdodDogMnB4O1xuICBiYWNrZ3JvdW5kOiAjZTFlMWUxO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5hYm91dF9fdGl0bGUudGl0bGU6YmVmb3JlIHtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuLmFib3V0X190ZXh0Ym94IHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Vjb25kYXJ5KTtcbn1cbi5hYm91dF9fbGVmdCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmFib3V0X19sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG4uYWJvdXRfX3JpZ2h0IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuYWJvdXRfX3JpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxufVxuXG4uYW5pbWF0ZS0tZmFkZSB7XG4gIHRyYW5zaXRpb246IDFzIGVhc2Ugb3BhY2l0eTtcbiAgb3BhY2l0eTogMDtcbn1cbi5hbmltYXRlLS1mYWRlLmFuaW1hdGUtLXZpc2libGUge1xuICBvcGFjaXR5OiAxO1xufVxuLmFuaW1hdGUtLWZhbGwge1xuICB0cmFuc2l0aW9uOiAxcyBlYXNlIG9wYWNpdHksIDFzIGVhc2UgdHJhbnNmb3JtO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMTBweCk7XG59XG4uYW5pbWF0ZS0tZmFsbC5hbmltYXRlLS12aXNpYmxlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG59XG5cbi5ib3hlc19fbGlzdCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogNjBweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmJveGVzX19saXN0IHtcbiAgICBnYXA6IDMwcHg7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgfVxufVxuLmJveGVzX19tYWluLnRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbn1cbi5ib3hlc19fdGl0bGUge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZWNvbmRhcnkpO1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDIycHg7XG4gIGNvbG9yOiAjMmMyYzJjO1xufVxuLmJveGVzX190ZXh0Ym94IHtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmJveGVzX190ZXh0Ym94IHtcbiAgICBtYXgtd2lkdGg6IDcwJTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuYm94ZXNfX3RleHRib3gge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuLmJveGVzX19pdGVtIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5ib3hlc19faXRlbSB7XG4gICAgZ2FwOiAzMHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAzMHB4IDFmcjtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEzNjZweCkge1xuICAuYm94ZXNfX2l0ZW0ge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNjBweCAxZnI7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLmJveGVzX19pdGVtOmZpcnN0LW9mLXR5cGUgLmJveGVzX19saW5lIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4uYm94ZXNfX2xpbmUge1xuICBiYWNrZ3JvdW5kOiAjZTFlMWUxO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAycHg7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5ib3hlc19fbGluZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAtMzBweDtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbi5ib3hlc19fd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMzBweDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuYm94ZXNfX3dyYXBwZXIge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB9XG59XG5cbi5icmVhZGNydW1icyB7XG4gIGJhY2tncm91bmQ6ICMyMzIzMjM7XG4gIGhlaWdodDogNTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiA3MXB4IDAgMCAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5icmVhZGNydW1icyB7XG4gICAgbWFyZ2luOiA5MXB4IDAgMCAwO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5icmVhZGNydW1icyB7XG4gICAgbWFyZ2luOiAxMjBweCAwIDAgMDtcbiAgfVxufVxuLmJyZWFkY3J1bWJzIHVsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDQwcHg7XG59XG4uYnJlYWRjcnVtYnMgdWwgbGkge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmJyZWFkY3J1bWJzIHVsIGxpOmxhc3Qtb2YtdHlwZTphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uYnJlYWRjcnVtYnMgdWwgbGk6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMTJweDtcbiAgaGVpZ2h0OiAxMnB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvYnJlYWQuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAtMjZweDtcbiAgdG9wOiAycHg7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbn1cbi5icmVhZGNydW1icyB1bCBsaSBzcGFuIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uYnJlYWRjcnVtYnMgdWwgbGkgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICM5Njk2OTY7XG59XG5cbi5idG4ge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG91dGxpbmU6IDAgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5idG4tLWZ1bGwge1xuICBiYWNrZ3JvdW5kOiAjMzYzNjM2O1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxM3B4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogMTRweCAyN3B4O1xuICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzO1xufVxuQG1lZGlhIChwb2ludGVyOiBmaW5lKSB7XG4gIC5idG4tLWZ1bGw6YWN0aXZlLCAuYnRuLS1mdWxsOmZvY3VzLCAuYnRuLS1mdWxsOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMjliNmY2O1xuICB9XG59XG4uYnRuLS1ncmVlbiB7XG4gIGJhY2tncm91bmQ6ICMwMEFDNEI7XG59XG4uYnRuLS1vcmFuZ2Uge1xuICBiYWNrZ3JvdW5kOiAjRjI4MjAwO1xufVxuLmJ0bi0tYnVyZ2VyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogY3VycmVudENvbG9yO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtaW4td2lkdGg6IDA7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbn1cbi5idG4tLWJ1cmdlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAtMTVweCAtMTBweDtcbn1cbi5idG4tLWJ1cmdlciBzcGFuIHtcbiAgd2lkdGg6IDI2cHg7XG4gIGhlaWdodDogMnB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MsIHRyYW5zZm9ybSAwLjNzLCB3aWR0aCAwLjNzO1xufVxuLmJ0bi0tYnVyZ2VyIHNwYW46bnRoLWNoaWxkKDIpIHtcbiAgbWFyZ2luOiA3cHggMDtcbn1cbi5uYXYtaXMtb3BlbiAuYnRuLS1idXJnZXIgc3BhbjpudGgtY2hpbGQoMikge1xuICBvcGFjaXR5OiAwO1xufVxuLm5hdi1pcy1vcGVuIC5idG4tLWJ1cmdlciBzcGFuOm50aC1jaGlsZCgzKSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUoLTZweCwgLTdweCk7XG59XG4ubmF2LWlzLW9wZW4gLmJ0bi0tYnVyZ2VyIHNwYW46bnRoLWNoaWxkKDEpIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUoLTZweCwgNnB4KTtcbn1cblxuLmNvbnRhY3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDEwMHB4IDAgMCAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jb250YWN0IHtcbiAgICBwYWRkaW5nOiAxMzBweCAwIDAgMDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuY29udGFjdCB7XG4gICAgcGFkZGluZzogMTkycHggMCAwIDA7XG4gICAgbWluLWhlaWdodDogOTE3cHg7XG4gIH1cbn1cbi5jb250YWN0X19tYXAge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0MDBweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmNvbnRhY3RfX21hcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMTIwcHg7XG4gICAgbWF4LXdpZHRoOiA2NWR2dztcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEyMHB4KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAuY29udGFjdF9fbWFwIHtcbiAgICBtYXgtd2lkdGg6IDYwZHZ3O1xuICB9XG59XG4uY29udGFjdF9fbWFwIGlmcmFtZSB7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG59XG4uY29udGFjdF9fdGl0bGUudGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuLmNvbnRhY3RfX3RleHRib3gge1xuICBjb2xvcjogIzU0NmU3YTtcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcbn1cbi5jb250YWN0X190ZXh0Ym94IHAgc3BhbiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgY29sb3I6ICMzNzQ3NGY7XG59XG4uY29udGFjdF9fdGV4dGJveCBwIGEge1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjMzc0NzRmO1xufVxuQG1lZGlhIChwb2ludGVyOiBmaW5lKSB7XG4gIC5jb250YWN0X190ZXh0Ym94IHAgYTphY3RpdmUsIC5jb250YWN0X190ZXh0Ym94IHAgYTpmb2N1cywgLmNvbnRhY3RfX3RleHRib3ggcCBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzI5YjZmNjtcbiAgfVxufVxuXG4uZHJvcGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNXB4O1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5kcm9wZG93biB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxufVxuLmRyb3Bkb3duX19pdGVtcyB7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB6LWluZGV4OiA1O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmRyb3Bkb3duX19pdGVtcyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdG9wOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmRyb3Bkb3duX19pdGVtcyB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLmRyb3Bkb3duOmhvdmVyIC5kcm9wZG93bl9faXRlbXMge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIH1cbn1cbkBtZWRpYSAocG9pbnRlcjogZmluZSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5kcm9wZG93bjpob3ZlciAuZHJvcGRvd25fX2l0ZW1zIHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAocG9pbnRlcjogY29hcnNlKSB7XG4gIC5kcm9wZG93bi5pcy1vcGVuIC5kcm9wZG93bl9faXRlbXMge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIH1cbn1cbkBtZWRpYSAocG9pbnRlcjogY29hcnNlKSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmRyb3Bkb3duLmlzLW9wZW4gLmRyb3Bkb3duX19pdGVtcyB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5lZGl0b3IgaDEge1xuICBsaW5lLWhlaWdodDogMS4xO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZWNvbmRhcnkpO1xuICBjb2xvcjogIzJjMmMyYztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbWFyZ2luLWJvdHRvbTogMjJweDtcbiAgZm9udC1zaXplOiAzMHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuZWRpdG9yIGgxIHtcbiAgICBmb250LXNpemU6IDQwcHg7XG4gIH1cbn1cbi5lZGl0b3IgcCB7XG4gIGNvbG9yOiAjMzc0NzRGO1xuICBtYXJnaW46IDIwcHggMDtcbn1cbi5lZGl0b3IgaDIge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlY29uZGFyeSk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMzc0NzRGO1xuICBtYXJnaW46IDQycHggMCAxMXB4IDA7XG59XG4uZWRpdG9yIHVsIHtcbiAgbWFyZ2luOiAyMnB4IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMjJweDtcbn1cbi5lZGl0b3IgdWwgbGkge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGNvbG9yOiAjNTQ2ZTdhO1xuICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9jaGVjay5zdmdcIikgbm8tcmVwZWF0IGxlZnQgOHB4IHRvcCA1cHg7XG4gIGJhY2tncm91bmQtc2l6ZTogMTJweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZWRpdG9yIHVsIGxpIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvY2hlY2suc3ZnXCIpIG5vLXJlcGVhdCBsZWZ0IDIwcHggdG9wIDZweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEycHg7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICB9XG59XG5cbi5mYXEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDMwcHggMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZmFxIHtcbiAgICBwYWRkaW5nOiA1MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5mYXEge1xuICAgIHBhZGRpbmc6IDU0cHggMzBweCA1NHB4IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMzY2cHgpIHtcbiAgLmZhcSB7XG4gICAgcGFkZGluZzogNzJweCAwIDcycHggMTE1cHg7XG4gIH1cbn1cbi5mYXE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDEwMGR2dztcbiAgaGVpZ2h0OiAycHg7XG4gIGJhY2tncm91bmQ6ICNlYmViZWI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xufVxuLmZhcV9fbGlzdCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogMjBweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZmFxX19saXN0IHtcbiAgICBnYXA6IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmZhcV9fbGlzdCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICBnYXA6IDUwcHg7XG4gIH1cbn1cbi5mYXFfX3RpdGxlIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Vjb25kYXJ5KTtcbiAgY29sb3I6ICMyYzJjMmM7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZmFxX190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuZmFxX190aXRsZSB7XG4gICAgZm9udC1zaXplOiA0MHB4O1xuICB9XG59XG4uZmFxX19xdWVzdGlvbiB7XG4gIGNvbG9yOiAjMmEzNzNlO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Vjb25kYXJ5KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuZmFxX19xdWVzdGlvbiB7XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZhcV9fcXVlc3Rpb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlFcIjtcbiAgICBsZWZ0OiAtMjJweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29sb3I6ICNmMWYxZjE7XG4gICAgei1pbmRleDogLTE7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICB0b3A6IC0xNnB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5mYXFfX3F1ZXN0aW9uOmJlZm9yZSB7XG4gICAgdG9wOiAtMzBweDtcbiAgICBmb250LXNpemU6IDU5cHg7XG4gIH1cbn1cbi5mYXFfX2Fuc3dlciB7XG4gIGNvbG9yOiAjNTQ2ZTdhO1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZhcV9fYW5zd2VyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJBXCI7XG4gICAgbGVmdDogLTE5cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbG9yOiAjZjFmMWYxO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgdG9wOiAtMTRweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuZmFxX19hbnN3ZXI6YmVmb3JlIHtcbiAgICB0b3A6IC0yNHB4O1xuICAgIGZvbnQtc2l6ZTogNTlweDtcbiAgfVxufVxuXG4uZm9vdGVyX190b3Age1xuICBiYWNrZ3JvdW5kOiAjMzYzNjM2O1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogNjBweCAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mb290ZXJfX3RvcCB7XG4gICAgcGFkZGluZzogODBweCAwO1xuICB9XG59XG4uZm9vdGVyX19saXN0IHAge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5mb290ZXJfX2xpc3QgcCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG4uZm9vdGVyX19saXN0IHAgc3BhbiB7XG4gIGNvbG9yOiAjZmZmO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZm9vdGVyX19saXN0IHAgc3BhbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1pbi13aWR0aDogNzVweDtcbiAgfVxufVxuLmZvb3Rlcl9fbGlzdCBwIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG4gIGNvbG9yOiAjZmZmO1xufVxuQG1lZGlhIChwb2ludGVyOiBmaW5lKSB7XG4gIC5mb290ZXJfX2xpc3QgcCBhOmFjdGl2ZSwgLmZvb3Rlcl9fbGlzdCBwIGE6Zm9jdXMsIC5mb290ZXJfX2xpc3QgcCBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzI5YjZmNjtcbiAgfVxufVxuLmZvb3Rlcl9fbGlzdCBwOmxhc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uZm9vdGVyX19ib3R0b20ge1xuICBwYWRkaW5nOiA1MHB4IDA7XG4gIGJhY2tncm91bmQ6ICMyYzJjMmM7XG59XG4uZm9vdGVyX19jb2xzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICBnYXA6IDUwcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZvb3Rlcl9fY29scyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IDMwcHg7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuZm9vdGVyX19jb2xzIHtcbiAgICBnYXA6IDA7XG4gIH1cbn1cbi5mb290ZXJfX2xvZ28ge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuLmZvb3Rlcl9fdGV4dGJveCB7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDE0cHg7XG59XG4uZm9vdGVyX190ZXh0Ym94IHA6bGFzdC1vZi10eXBlIHtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBsZXR0ZXItc3BhY2luZzogMC4xNGVtO1xufVxuLmZvb3Rlcl9fdGl0bGUudGl0bGUge1xuICBjb2xvcjogIzg3ODc4NztcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuZm9vdGVyX19jb2wge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuLmZvb3Rlcl9fY29sIHVsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDhweDtcbn1cbi5mb290ZXJfX2NvbCB1bCBsaSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cbi5mb290ZXJfX2NvbCB1bCBsaSBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogI2ZmZjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4zcztcbn1cbkBtZWRpYSAocG9pbnRlcjogZmluZSkge1xuICAuZm9vdGVyX19jb2wgdWwgbGkgYTphY3RpdmUsIC5mb290ZXJfX2NvbCB1bCBsaSBhOmZvY3VzLCAuZm9vdGVyX19jb2wgdWwgbGkgYTpob3ZlciB7XG4gICAgY29sb3I6ICMyOWI2ZjY7XG4gIH1cbn1cbi5mb290ZXItLXNob3J0IC5mb290ZXJfX3RvcCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5oZWFkZXItbmF2X19vcGVuZXIge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGVhZGVyLW5hdl9fb3BlbmVyIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG59XG4uaXMtb3BlbiAuaGVhZGVyLW5hdl9fb3BlbmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xufVxuLmhlYWRlci1uYXYgdWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMzBweDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyLW5hdiB1bCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG59XG4uaGVhZGVyLW5hdiB1bCBsaSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cbkBtZWRpYSAocG9pbnRlcjogZmluZSkge1xuICAuaGVhZGVyLW5hdiB1bCBsaTphY3RpdmUgLmhlYWRlci1uYXZfX29wZW5lciwgLmhlYWRlci1uYXYgdWwgbGk6Zm9jdXMgLmhlYWRlci1uYXZfX29wZW5lciwgLmhlYWRlci1uYXYgdWwgbGk6aG92ZXIgLmhlYWRlci1uYXZfX29wZW5lciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICB9XG4gIC5oZWFkZXItbmF2IHVsIGxpOmFjdGl2ZSBhOmJlZm9yZSwgLmhlYWRlci1uYXYgdWwgbGk6Zm9jdXMgYTpiZWZvcmUsIC5oZWFkZXItbmF2IHVsIGxpOmhvdmVyIGE6YmVmb3JlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuLmhlYWRlci1uYXYgdWwgbGkgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6IDIwcHg7XG4gIHBhZGRpbmc6IDEwcHggMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyLW5hdiB1bCBsaSBhIHtcbiAgICBmb250LXNpemU6IDE3cHg7XG4gIH1cbn1cbi5oZWFkZXItbmF2IHVsIGxpIGE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDA7XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuM3M7XG4gIGhlaWdodDogMXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogOXB4O1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuLmhlYWRlci1uYXYgdWwgbGkgdWwge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBwYWRkaW5nOiAxNXB4O1xuICBnYXA6IDIwcHg7XG4gIGJveC1zaGFkb3c6IDBweCA1cHggNXB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IC0xNXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkZXItbmF2IHVsIGxpIHVsIHtcbiAgICB3aWR0aDogMjAwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuLmhlYWRlci1uYXYgdWwgbGkgdWwgbGkgYSB7XG4gIGNvbG9yOiAjMDY5O1xuICBmb250LXNpemU6IDE1cHg7XG59XG5AbWVkaWEgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLmhlYWRlci1uYXYgdWwgbGkgdWwgbGkgYTphY3RpdmUsIC5oZWFkZXItbmF2IHVsIGxpIHVsIGxpIGE6Zm9jdXMsIC5oZWFkZXItbmF2IHVsIGxpIHVsIGxpIGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG59XG5cbi5oZWFkZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDEwMDtcbiAgY29sb3I6ICNmZmY7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMsIGJvcmRlci1jb2xvciAwLjE1cztcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhlYWRlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB9XG59XG4ubmF2LWlzLW9wZW4gLmhlYWRlciB7XG4gIGJhY2tncm91bmQ6ICMwNjk7XG59XG4uaXMtc2Nyb2xsZWQgLmhlYWRlciB7XG4gIGJhY2tncm91bmQ6ICMwNjk7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmY7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhlYWRlcl9faGVscGVyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiA3MXB4O1xuICAgIGhlaWdodDogY2FsYygxMDBkdmggLSA3MXB4KTtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQ6ICMwNjk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMzBweCAxNXB4O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAzMHB4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLm5hdi1pcy1vcGVuIC5oZWFkZXJfX2hlbHBlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oZWFkZXJfX3NvY2lhbCB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XG4gIH1cbiAgLm5hdi1pcy1vcGVuIC5oZWFkZXJfX3NvY2lhbCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgfVxufVxuQG1lZGlhIChwb2ludGVyOiBmaW5lKSB7XG4gIC5oZWFkZXJfX3NvY2lhbDphY3RpdmUgaW1nLCAuaGVhZGVyX19zb2NpYWw6Zm9jdXMgaW1nLCAuaGVhZGVyX19zb2NpYWw6aG92ZXIgaW1nIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7XG4gIH1cbn1cbi5oZWFkZXJfX3NvY2lhbCBpbWcge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbn1cbi5oZWFkZXJfX2luLmluIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4xNXM7XG4gIGhlaWdodDogNzBweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyX19pbi5pbiB7XG4gICAgaGVpZ2h0OiA5MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5oZWFkZXJfX2luLmluIHtcbiAgICBoZWlnaHQ6IDEyMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmlzLXNjcm9sbGVkIC5oZWFkZXJfX2luLmluIHtcbiAgICBoZWlnaHQ6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmlzLXNjcm9sbGVkIC5oZWFkZXJfX2luLmluIHtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICB9XG59XG4uaGVhZGVyX19sZWZ0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA2MHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuaGVhZGVyX19sZWZ0IHtcbiAgICBnYXA6IDIzMHB4O1xuICB9XG59XG4uaGVhZGVyX19sb2dvIHtcbiAgbWF4LXdpZHRoOiA3MHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkZXJfX2xvZ28ge1xuICAgIG1heC13aWR0aDogOTBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuaGVhZGVyX19sb2dvIHtcbiAgICBtYXgtd2lkdGg6IDEyMHB4O1xuICB9XG59XG4uaGVhZGVyX19yaWdodCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMjBweDtcbn1cbi5oZWFkZXJfX3JpZ2h0IGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTBweDtcbn1cbi5oZWFkZXJfX3Bob25lIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBwYWRkaW5nOiA1cHggMTBweDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGVhZGVyX19waG9uZSBpbWcge1xuICAgIG1heC13aWR0aDogMTVweDtcbiAgfVxufVxuQG1lZGlhIChwb2ludGVyOiBmaW5lKSB7XG4gIC5oZWFkZXJfX3Bob25lOmFjdGl2ZSBzcGFuOmJlZm9yZSwgLmhlYWRlcl9fcGhvbmU6Zm9jdXMgc3BhbjpiZWZvcmUsIC5oZWFkZXJfX3Bob25lOmhvdmVyIHNwYW46YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLmhlYWRlcl9fcGhvbmUgc3BhbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5oZWFkZXJfX3Bob25lIHNwYW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMXB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDJweCk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcywgdHJhbnNmb3JtIDAuM3M7XG59XG4uaGVhZGVyLS1zdWJwYWdlIHtcbiAgYmFja2dyb3VuZDogIzA2OTtcbn1cbi5oZWFkZXItLXN1YnBhZ2UgLmhlYWRlcl9fbGVmdCB7XG4gIGdhcDogNjBweDtcbn1cblxuLmhlcm8ge1xuICBiYWNrZ3JvdW5kOiAjMDA2Njk5O1xuICBjb2xvcjogI2ZmZjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAxMjBweCAwIDYwcHggMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVybyB7XG4gICAgcGFkZGluZzogMTgwcHggMCA2MHB4IDA7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmhlcm8ge1xuICAgIG1pbi1oZWlnaHQ6IDEwMGR2aDtcbiAgICBwYWRkaW5nOiAyMDBweCAwIDAgMDtcbiAgfVxufVxuLmhlcm9fX2JnIHtcbiAgb3BhY2l0eTogMTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBsZWZ0OiAwO1xuICBvcGFjaXR5OiAwLjE7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5oZXJvX19iZyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xNjVweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMGR2dyAtIDE2NXB4KTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTM2NnB4KSB7XG4gIC5oZXJvX19iZyB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMGR2dyAtIDI4NXB4KTtcbiAgICBtYXJnaW4tbGVmdDogLTI4NXB4O1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhlcm9fX2JnIHtcbiAgICBvYmplY3QtcG9zaXRpb246IGxlZnQ7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLmhlcm8gLmluIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMztcbiAgfVxufVxuLmhlcm9fX2JveCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmhlcm9fX2JveCB7XG4gICAgbWF4LXdpZHRoOiAyOTBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG4uaGVybyAudGl0bGUge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZWNvbmRhcnkpO1xuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICBjb2xvcjogI2ZmZjtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGVybyAudGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgfVxufVxuLmhlcm9fX3RleHRib3gge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZWNvbmRhcnkpO1xuICBmb250LXNpemU6IDE3cHg7XG59XG5cbi5pbiB7XG4gIG1heC13aWR0aDogdmFyKC0taW4tbWF4LXdpZHRoKTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpO1xufVxuXG4ucmVmZXJlbmNlc19fdG9wIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Vjb25kYXJ5KTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiA4MHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5yZWZlcmVuY2VzX190b3Age1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgZ2FwOiAzMHB4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnJlZmVyZW5jZXNfX3RvcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNzhweDtcbiAgICBnYXA6IDYwcHg7XG4gIH1cbn1cbi5yZWZlcmVuY2VzX19pdGVtIHtcbiAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjZTFlMWUxO1xuICBwYWRkaW5nLWxlZnQ6IDcwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5yZWZlcmVuY2VzX19xdW90ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAyOHB4O1xufVxuLnJlZmVyZW5jZXNfX3RleHRib3ggcCB7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIGNvbG9yOiAjNTQ2ZTdhO1xufVxuLnJlZmVyZW5jZXNfX3RleHRib3ggcDpsYXN0LW9mLXR5cGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXNpemU6IDE1cHg7XG4gIGNvbG9yOiAjMmMyYzJjO1xufVxuLnJlZmVyZW5jZXMgLnNwbGlkZV9fYXJyb3dzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDIwcHg7XG4gIHRvcDogLTYwcHg7XG4gIHJpZ2h0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5yZWZlcmVuY2VzIC5zcGxpZGVfX2Fycm93cyB7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAtMTAwcHg7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5yZWZlcmVuY2VzIC5zcGxpZGVfX2Fycm93cyB7XG4gICAgZ2FwOiAzMHB4O1xuICAgIHRvcDogLTEyMHB4O1xuICB9XG59XG4ucmVmZXJlbmNlcyAuc3BsaWRlX19hcnJvdyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgb3BhY2l0eTogMC41ICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9jYXJvdXNlbC5zdmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbn1cbkBtZWRpYSAocG9pbnRlcjogZmluZSkge1xuICAucmVmZXJlbmNlcyAuc3BsaWRlX19hcnJvdzpob3ZlciB7XG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICB9XG59XG4ucmVmZXJlbmNlcyAuc3BsaWRlX19hcnJvdzpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4ucmVmZXJlbmNlcyAuc3BsaWRlX19hcnJvdyBzdmcge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnJlZmVyZW5jZXMgLnNwbGlkZV9fYXJyb3ctLXByZXYge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuXG4uc2VjdGlvbiB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZTFlMWUxO1xuICBwYWRkaW5nOiA2MHB4IDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5zZWN0aW9uIHtcbiAgICBwYWRkaW5nOiAxMDBweCAwO1xuICB9XG59XG5cbi5zcGxpZGVfX2NvbnRhaW5lciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnNwbGlkZV9fbGlzdCB7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuLnNwbGlkZS5pcy1pbml0aWFsaXplZDpub3QoLmlzLWFjdGl2ZSkgLnNwbGlkZV9fbGlzdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc3BsaWRlX19wYWdpbmF0aW9uIHtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luOiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLnNwbGlkZV9fcGFnaW5hdGlvbiBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuLnNwbGlkZTpub3QoLmlzLW92ZXJmbG93KSAuc3BsaWRlX19wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNwbGlkZV9fcHJvZ3Jlc3NfX2JhciB7XG4gIHdpZHRoOiAwO1xufVxuXG4uc3BsaWRlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zcGxpZGUuaXMtaW5pdGlhbGl6ZWQsIC5zcGxpZGUuaXMtcmVuZGVyZWQge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4uc3BsaWRlX19zbGlkZSB7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1zLWZsZXgtbmVnYXRpdmU6IDA7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmUgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zcGxpZGVfX3NsaWRlIGltZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG5cbi5zcGxpZGVfX3NwaW5uZXIge1xuICBhbmltYXRpb246IHNwbGlkZS1sb2FkaW5nIDFzIGxpbmVhciBpbmZpbml0ZTtcbiAgYm9yZGVyOiAycHggc29saWQgIzk5OTtcbiAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvdHRvbTogMDtcbiAgY29udGFpbjogc3RyaWN0O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMjBweDtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiBhdXRvO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAyMHB4O1xufVxuXG4uc3BsaWRlX19zciB7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIGJvcmRlcjogMDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xufVxuXG4uc3BsaWRlX190b2dnbGUuaXMtYWN0aXZlIC5zcGxpZGVfX3RvZ2dsZV9fcGxheSwgLnNwbGlkZV9fdG9nZ2xlX19wYXVzZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zcGxpZGVfX3RvZ2dsZS5pcy1hY3RpdmUgLnNwbGlkZV9fdG9nZ2xlX19wYXVzZSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cblxuLnNwbGlkZV9fdHJhY2sge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7XG59XG5cbkBrZXlmcmFtZXMgc3BsaWRlLWxvYWRpbmcge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDF0dXJuKTtcbiAgfVxufVxuLnNwbGlkZV9fdHJhY2stLWRyYWdnYWJsZSB7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLnNwbGlkZV9fdHJhY2stLWZhZGUgPiAuc3BsaWRlX19saXN0ID4gLnNwbGlkZV9fc2xpZGUge1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMDtcbiAgei1pbmRleDogMDtcbn1cblxuLnNwbGlkZV9fdHJhY2stLWZhZGUgPiAuc3BsaWRlX19saXN0ID4gLnNwbGlkZV9fc2xpZGUuaXMtYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbiAgei1pbmRleDogMTtcbn1cblxuLnNwbGlkZS0tcnRsIHtcbiAgZGlyZWN0aW9uOiBydGw7XG59XG5cbi5zcGxpZGVfX3RyYWNrLS10dGIgPiAuc3BsaWRlX19saXN0IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5zcGxpZGVfX2Fycm93IHtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogI2NjYztcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMmVtO1xuICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBvcGFjaXR5OiAwLjc7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgd2lkdGg6IDJlbTtcbiAgei1pbmRleDogMTtcbn1cblxuLnNwbGlkZV9fYXJyb3cgc3ZnIHtcbiAgZmlsbDogIzAwMDtcbiAgaGVpZ2h0OiAxLjJlbTtcbiAgd2lkdGg6IDEuMmVtO1xufVxuXG4uc3BsaWRlX19hcnJvdzpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gIG9wYWNpdHk6IDAuOTtcbn1cblxuLnNwbGlkZV9fYXJyb3c6ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjM7XG59XG5cbi5zcGxpZGVfX2Fycm93OmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiAzcHggc29saWQgIzBiZjtcbiAgb3V0bGluZS1vZmZzZXQ6IDNweDtcbn1cblxuLnNwbGlkZV9fYXJyb3ctLXByZXYge1xuICBsZWZ0OiAxZW07XG59XG5cbi5zcGxpZGVfX2Fycm93LS1wcmV2IHN2ZyB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKC0xKTtcbn1cblxuLnNwbGlkZV9fYXJyb3ctLW5leHQge1xuICByaWdodDogMWVtO1xufVxuXG4uc3BsaWRlLmlzLWZvY3VzLWluIC5zcGxpZGVfX2Fycm93OmZvY3VzIHtcbiAgb3V0bGluZTogM3B4IHNvbGlkICMwYmY7XG4gIG91dGxpbmUtb2Zmc2V0OiAzcHg7XG59XG5cbi5zcGxpZGVfX3BhZ2luYXRpb24ge1xuICBib3R0b206IDAuNWVtO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiAwIDFlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMTtcbn1cblxuLnNwbGlkZV9fcGFnaW5hdGlvbl9fcGFnZSB7XG4gIGJhY2tncm91bmQ6ICNjY2M7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogOHB4O1xuICBtYXJnaW46IDNweDtcbiAgb3BhY2l0eTogMC43O1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGxpbmVhcjtcbiAgd2lkdGg6IDhweDtcbn1cblxuLnNwbGlkZV9fcGFnaW5hdGlvbl9fcGFnZS5pcy1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNCk7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5zcGxpZGVfX3BhZ2luYXRpb25fX3BhZ2U6aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG9wYWNpdHk6IDAuOTtcbn1cblxuLnNwbGlkZV9fcGFnaW5hdGlvbl9fcGFnZTpmb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZTogM3B4IHNvbGlkICMwYmY7XG4gIG91dGxpbmUtb2Zmc2V0OiAzcHg7XG59XG5cbi5zcGxpZGUuaXMtZm9jdXMtaW4gLnNwbGlkZV9fcGFnaW5hdGlvbl9fcGFnZTpmb2N1cyB7XG4gIG91dGxpbmU6IDNweCBzb2xpZCAjMGJmO1xuICBvdXRsaW5lLW9mZnNldDogM3B4O1xufVxuXG4uc3BsaWRlX19wcm9ncmVzc19fYmFyIHtcbiAgYmFja2dyb3VuZDogI2NjYztcbiAgaGVpZ2h0OiAzcHg7XG59XG5cbi5zcGxpZGVfX3NsaWRlIHtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xufVxuXG4uc3BsaWRlX19zbGlkZTpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG59XG5cbkBzdXBwb3J0cyAob3V0bGluZS1vZmZzZXQ6IC0zcHgpIHtcbiAgLnNwbGlkZV9fc2xpZGU6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogM3B4IHNvbGlkICMwYmY7XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0zcHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAuc3BsaWRlX19zbGlkZTpmb2N1cy12aXNpYmxlIHtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAjMGJmO1xuICB9XG59XG5Ac3VwcG9ydHMgKG91dGxpbmUtb2Zmc2V0OiAtM3B4KSB7XG4gIC5zcGxpZGUuaXMtZm9jdXMtaW4gLnNwbGlkZV9fc2xpZGU6Zm9jdXMge1xuICAgIG91dGxpbmU6IDNweCBzb2xpZCAjMGJmO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtM3B4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgLnNwbGlkZS5pcy1mb2N1cy1pbiAuc3BsaWRlX19zbGlkZTpmb2N1cyB7XG4gICAgYm9yZGVyOiAzcHggc29saWQgIzBiZjtcbiAgfVxuICAuc3BsaWRlLmlzLWZvY3VzLWluIC5zcGxpZGVfX3RyYWNrID4gLnNwbGlkZV9fbGlzdCA+IC5zcGxpZGVfX3NsaWRlOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMwYmY7XG4gIH1cbn1cbi5zcGxpZGVfX3RvZ2dsZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnNwbGlkZV9fdG9nZ2xlOmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiAzcHggc29saWQgIzBiZjtcbiAgb3V0bGluZS1vZmZzZXQ6IDNweDtcbn1cblxuLnNwbGlkZS5pcy1mb2N1cy1pbiAuc3BsaWRlX190b2dnbGU6Zm9jdXMge1xuICBvdXRsaW5lOiAzcHggc29saWQgIzBiZjtcbiAgb3V0bGluZS1vZmZzZXQ6IDNweDtcbn1cblxuLnNwbGlkZV9fdHJhY2stLW5hdiA+IC5zcGxpZGVfX2xpc3QgPiAuc3BsaWRlX19zbGlkZSB7XG4gIGJvcmRlcjogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5zcGxpZGVfX3RyYWNrLS1uYXYgPiAuc3BsaWRlX19saXN0ID4gLnNwbGlkZV9fc2xpZGUuaXMtYWN0aXZlIHtcbiAgYm9yZGVyOiAzcHggc29saWQgIzAwMDtcbn1cblxuLnNwbGlkZV9fYXJyb3dzLS1ydGwgLnNwbGlkZV9fYXJyb3ctLXByZXYge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMWVtO1xufVxuXG4uc3BsaWRlX19hcnJvd3MtLXJ0bCAuc3BsaWRlX19hcnJvdy0tcHJldiBzdmcge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbn1cblxuLnNwbGlkZV9fYXJyb3dzLS1ydGwgLnNwbGlkZV9fYXJyb3ctLW5leHQge1xuICBsZWZ0OiAxZW07XG4gIHJpZ2h0OiBhdXRvO1xufVxuXG4uc3BsaWRlX19hcnJvd3MtLXJ0bCAuc3BsaWRlX19hcnJvdy0tbmV4dCBzdmcge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgtMSk7XG59XG5cbi5zcGxpZGVfX2Fycm93cy0tdHRiIC5zcGxpZGVfX2Fycm93IHtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcbn1cblxuLnNwbGlkZV9fYXJyb3dzLS10dGIgLnNwbGlkZV9fYXJyb3ctLXByZXYge1xuICB0b3A6IDFlbTtcbn1cblxuLnNwbGlkZV9fYXJyb3dzLS10dGIgLnNwbGlkZV9fYXJyb3ctLXByZXYgc3ZnIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbn1cblxuLnNwbGlkZV9fYXJyb3dzLS10dGIgLnNwbGlkZV9fYXJyb3ctLW5leHQge1xuICBib3R0b206IDFlbTtcbiAgdG9wOiBhdXRvO1xufVxuXG4uc3BsaWRlX19hcnJvd3MtLXR0YiAuc3BsaWRlX19hcnJvdy0tbmV4dCBzdmcge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG59XG5cbi5zcGxpZGVfX3BhZ2luYXRpb24tLXR0YiB7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBsZWZ0OiBhdXRvO1xuICBwYWRkaW5nOiAxZW0gMDtcbiAgcmlnaHQ6IDAuNWVtO1xuICB0b3A6IDA7XG59XG5cbi50YWJzIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi50YWJzIC5pbiB7XG4gIGRpc3BsYXk6IGdyaWQ7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnRhYnMgLmluIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDI1MHB4IDFmcjtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAudGFicyAuaW4ge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMzAwcHggMWZyO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTM2NnB4KSB7XG4gIC50YWJzIC5pbiB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAzMzBweCAxZnI7XG4gIH1cbn1cbi50YWJzIG5hdiB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlY29uZGFyeSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgY29sb3I6ICMwMDA7XG4gIHBhZGRpbmctdG9wOiAzMHB4O1xuICBnYXA6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnRhYnMgbmF2IHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nLXRvcDogNTZweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiAzNXB4O1xuICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICNlYmViZWI7XG4gIH1cbn1cbi50YWJzIG5hdiBkaXYge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjZjdmN2Y3O1xuICBwYWRkaW5nOiA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudGFicyBuYXYgZGl2IHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcGFkZGluZzogMCAwIDAgMjdweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvYnJlYWQuc3ZnXCIpIG5vLXJlcGVhdCBsZWZ0IHRvcCAycHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxNnB4O1xuICB9XG59XG4udGFicyBuYXYgZGl2LmN1cnJlbnQge1xuICBiYWNrZ3JvdW5kOiAjMjMyMzIzO1xuICBjb2xvcjogI2ZmZjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudGFicyBuYXYgZGl2LmN1cnJlbnQge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9icmVhZC5zdmdcIikgbm8tcmVwZWF0IGxlZnQgNXB4IHRvcCAycHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxNnB4O1xuICB9XG4gIC50YWJzIG5hdiBkaXYuY3VycmVudDpiZWZvcmUsIC50YWJzIG5hdiBkaXYuY3VycmVudDphZnRlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC50YWJzIG5hdiBkaXY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogLTE2cHg7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTE3cHg7XG4gICAgd2lkdGg6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDE1LjVweCAwIDE1LjVweCAxNnB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmZjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnRhYnMgbmF2IGRpdjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHJpZ2h0OiAtMTlweDtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtMjBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMThweCAwIDE4cHggMTlweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNlYmViZWI7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLnRhYnNfX2NvbnRlbnQge1xuICBwYWRkaW5nOiAzMHB4IDAgMTBweCAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC50YWJzX19jb250ZW50IHtcbiAgICBwYWRkaW5nOiA1MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC50YWJzX19jb250ZW50IHtcbiAgICBwYWRkaW5nOiA1NHB4IDMwcHggNTRweCA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTM2NnB4KSB7XG4gIC50YWJzX19jb250ZW50IHtcbiAgICBwYWRkaW5nOiA1NHB4IDAgODJweCAxMTVweDtcbiAgfVxufVxuXG4udGl0bGUge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlY29uZGFyeSk7XG4gIGNvbG9yOiAjMmMyYzJjO1xufVxuLnRpdGxlLS0yIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAzMHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC50aXRsZS0tMiB7XG4gICAgZm9udC1zaXplOiA0MHB4O1xuICB9XG59XG4udGl0bGUtLTMge1xuICBmb250LXNpemU6IDIycHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8gICAgIF8gICAgICAgICAgICBfICAgICAgICAgICBfICAgICAgICAgICAgICAgICAgICAgICAgICAgXyBfXHJcbi8vICAgIChfKSAgICAgICAgICB8IHwgICAgICAgICB8IHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAoXylcclxuLy8gICAgIF8gXyBfXyAgIF9fX3wgfF8gICBfICBfX3wgfCBfX18gICBfIF9fIF9fXyAgIF9fXyAgX198IHxfICBfXyBfXHJcbi8vICAgIHwgfCAnXyBcXCAvIF9ffCB8IHwgfCB8LyBfYCB8LyBfIFxcIHwgJ18gYCBfIFxcIC8gXyBcXC8gX2AgfCB8LyBfYCB8XHJcbi8vICAgIHwgfCB8IHwgfCAoX198IHwgfF98IHwgKF98IHwgIF9fLyB8IHwgfCB8IHwgfCAgX18vIChffCB8IHwgKF98IHxcclxuLy8gICAgfF98X3wgfF98XFxfX198X3xcXF9fLF98XFxfXyxffFxcX19ffCB8X3wgfF98IHxffFxcX19ffFxcX18sX3xffFxcX18sX3xcclxuLy9cclxuLy8gICAgICBTaW1wbGUsIGVsZWdhbnQgYW5kIG1haW50YWluYWJsZSBtZWRpYSBxdWVyaWVzIGluIFNhc3NcclxuLy8gICAgICAgICAgICAgICAgICAgICAgICB2MS40LjlcclxuLy9cclxuLy8gICAgICAgIGh0dHBzOi8vZWR1YXJkb2JvdWNhcy5naXRodWIuaW8vaW5jbHVkZS1tZWRpYVxyXG4vL1xyXG4vLyAgICAgICAgIEF1dGhvcnM6IEVkdWFyZG8gQm91Y2FzIChAZWR1YXJkb2JvdWNhcylcclxuLy8gICAgICAgICAgICAgICAgICBIdWdvIEdpcmF1ZGVsIChAaHVnb2dpcmF1ZGVsKVxyXG4vL1xyXG4vLyAgICAgIFRoaXMgcHJvamVjdCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1JVCBsaWNlbnNlXHJcbi8vLy9cclxuLy8vIGluY2x1ZGUtbWVkaWEgbGlicmFyeSBwdWJsaWMgY29uZmlndXJhdGlvblxyXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xyXG4vLy8gQGFjY2VzcyBwdWJsaWNcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2YgZ2xvYmFsIGJyZWFrcG9pbnRzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCB3aXRoIHRoZSBsYWJlbCBgcGhvbmVgXHJcbi8vLyAgJGJyZWFrcG9pbnRzOiAoJ3Bob25lJzogMzIwcHgpO1xyXG4vLy9cclxuJGJyZWFrcG9pbnRzOiAoXHJcbiAgJ3Bob25lJzogMzIwcHgsXHJcbiAgJ3RhYmxldCc6IDc2OHB4LFxyXG4gICdkZXNrdG9wJzogMTAyNHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8vXHJcbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBzdGF0aWMgZXhwcmVzc2lvbnMgb3IgbWVkaWEgdHlwZXNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBtZWRpYSB0eXBlIChzY3JlZW4pXHJcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbic6ICdzY3JlZW4nKTtcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHN0YXRpYyBleHByZXNzaW9uIHdpdGggbG9naWNhbCBkaXNqdW5jdGlvbiAoT1Igb3BlcmF0b3IpXHJcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoXHJcbi8vLyAgICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSdcclxuLy8vICApO1xyXG4vLy9cclxuJG1lZGlhLWV4cHJlc3Npb25zOiAoXHJcbiAgJ3NjcmVlbic6ICdzY3JlZW4nLFxyXG4gICdwcmludCc6ICdwcmludCcsXHJcbiAgJ2hhbmRoZWxkJzogJ2hhbmRoZWxkJyxcclxuICAnbGFuZHNjYXBlJzogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScsXHJcbiAgJ3BvcnRyYWl0JzogJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJyxcclxuICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCknLFxyXG4gICdyZXRpbmEzeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAzKSwgKG1pbi1yZXNvbHV0aW9uOiAzNTBkcGkpLCAobWluLXJlc29sdXRpb246IDNkcHB4KSdcclxuKSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLy9cclxuLy8vIERlZmluZXMgYSBudW1iZXIgdG8gYmUgYWRkZWQgb3Igc3VidHJhY3RlZCBmcm9tIGVhY2ggdW5pdCB3aGVuIGRlY2xhcmluZyBicmVha3BvaW50cyB3aXRoIGV4Y2x1c2l2ZSBpbnRlcnZhbHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHBpeGVscyBpcyBkZWZpbmVkIGFzIGAxYCBieSBkZWZhdWx0XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4xMjhweCcpIHt9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMTI5cHgpIHt9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBlbXMgaXMgZGVmaW5lZCBhcyBgMC4wMWAgYnkgZGVmYXVsdFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MjBlbScpIHt9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMjAuMDFlbSkge31cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHJlbXMgaXMgZGVmaW5lZCBhcyBgMC4xYCBieSBkZWZhdWx0LCB0byBiZSB1c2VkIHdpdGggYGZvbnQtc2l6ZTogNjIuNSU7YFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+Mi4wcmVtJykge31cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyLjFyZW0pIHt9XHJcbi8vL1xyXG4kdW5pdC1pbnRlcnZhbHM6IChcclxuICAncHgnOiAxLFxyXG4gICdlbSc6IDAuMDEsXHJcbiAgJ3JlbSc6IDAuMSxcclxuICAnJzogMFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8vXHJcbi8vLyBEZWZpbmVzIHdoZXRoZXIgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBhdmFpbGFibGUsIHVzZWZ1bCBmb3IgY3JlYXRpbmcgc2VwYXJhdGUgc3R5bGVzaGVldHNcclxuLy8vIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgbWVkaWEgcXVlcmllcy5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRGlzYWJsZXMgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllc1xyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICAuZm9vIHtcclxuLy8vICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgfVxyXG4vLy9cclxuJGltLW1lZGlhLXN1cHBvcnQ6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vLy9cclxuLy8vIFNlbGVjdHMgd2hpY2ggYnJlYWtwb2ludCB0byBlbXVsYXRlIHdoZW4gc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBkaXNhYmxlZC4gTWVkaWEgcXVlcmllcyB0aGF0IHN0YXJ0IGF0IG9yXHJcbi8vLyBpbnRlcmNlcHQgdGhlIGJyZWFrcG9pbnQgd2lsbCBiZSBkaXNwbGF5ZWQsIGFueSBvdGhlcnMgd2lsbCBiZSBpZ25vcmVkLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50XHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgLmZvbyB7XHJcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgZG9lcyBub3QgaW50ZXJjZXB0IHRoZSBkZXNrdG9wIGJyZWFrcG9pbnRcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICd0YWJsZXQnO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xyXG4vLy9cclxuJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJyAhZGVmYXVsdDtcclxuXHJcbi8vL1xyXG4vLy8gU2VsZWN0cyB3aGljaCBtZWRpYSBleHByZXNzaW9ucyBhcmUgYWxsb3dlZCBpbiBhbiBleHByZXNzaW9uIGZvciBpdCB0byBiZSB1c2VkIHdoZW4gbWVkaWEgcXVlcmllc1xyXG4vLy8gYXJlIG5vdCBzdXBwb3J0ZWQuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYW5kIGNvbnRhaW5zIG9ubHkgYWNjZXB0ZWQgbWVkaWEgZXhwcmVzc2lvbnNcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcclxuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3NjcmVlbicpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICAgLmZvbyB7XHJcbi8vLyAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBidXQgY29udGFpbnMgYSBtZWRpYSBleHByZXNzaW9uIHRoYXQgaXMgbm90IGFjY2VwdGVkXHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdyZXRpbmEyeCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogTm8gb3V0cHV0ICovXHJcbi8vL1xyXG4kaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJywgJ3BvcnRyYWl0JywgJ2xhbmRzY2FwZScpICFkZWZhdWx0O1xyXG5cclxuLy8vL1xyXG4vLy8gQ3Jvc3MtZW5naW5lIGxvZ2dpbmcgZW5naW5lXHJcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBMb2cgYSBtZXNzYWdlIGVpdGhlciB3aXRoIGBAZXJyb3JgIGlmIHN1cHBvcnRlZFxyXG4vLy8gZWxzZSB3aXRoIGBAd2FybmAsIHVzaW5nIGBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKWBcclxuLy8vIHRvIGRldGVjdCBzdXBwb3J0LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXHJcbi8vL1xyXG5AZnVuY3Rpb24gaW0tbG9nKCRtZXNzYWdlKSB7XHJcbiAgQGlmIGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpIHtcclxuICAgIEBlcnJvciAkbWVzc2FnZTtcclxuICB9IEBlbHNlIHtcclxuICAgIEB3YXJuICRtZXNzYWdlO1xyXG4gICAgJF86IG5vb3AoKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJG1lc3NhZ2U7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIFdyYXBwZXIgbWl4aW4gZm9yIHRoZSBsb2cgZnVuY3Rpb24gc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhIG1vcmUgZnJpZW5kbHlcclxuLy8vIEFQSSB0aGFuIGBAaWYgaW0tbG9nKCcuLicpIHt9YCBvciBgJF86IGltLWxvZygnLi4nKWAuIEJhc2ljYWxseSwgdXNlIHRoZSBmdW5jdGlvblxyXG4vLy8gd2l0aGluIGZ1bmN0aW9ucyBiZWNhdXNlIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW4gYSBmdW5jdGlvblxyXG4vLy8gYW5kIHVzZSB0aGUgbWl4aW4gZXZlcnl3aGVyZSBlbHNlIGJlY2F1c2UgaXQncyBtdWNoIG1vcmUgZWxlZ2FudC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xyXG4vLy9cclxuQG1peGluIGxvZygkbWVzc2FnZSkge1xyXG4gIEBpZiBpbS1sb2coJG1lc3NhZ2UpIHt9XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEZ1bmN0aW9uIHdpdGggbm8gYEByZXR1cm5gIGNhbGxlZCBuZXh0IHRvIGBAd2FybmAgaW4gU2FzcyAzLjNcclxuLy8vIHRvIHRyaWdnZXIgYSBjb21waWxpbmcgZXJyb3IgYW5kIHN0b3AgdGhlIHByb2Nlc3MuXHJcbi8vL1xyXG5AZnVuY3Rpb24gbm9vcCgpIHt9XHJcblxyXG4vLy9cclxuLy8vIERldGVybWluZXMgd2hldGhlciBhIGxpc3Qgb2YgY29uZGl0aW9ucyBpcyBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgY29uZGl0aW9ucyBhcmUgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50XHJcbi8vL1xyXG5AZnVuY3Rpb24gaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikge1xyXG4gICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQpO1xyXG5cclxuICBAaWYgbm90ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlIHtcclxuICAgIEBpZiBpbS1sb2coJ2AjeyRpbS1uby1tZWRpYS1icmVha3BvaW50fWAgaXMgbm90IGEgdmFsaWQgYnJlYWtwb2ludC4nKSB7fVxyXG4gIH1cclxuXHJcbiAgQGVhY2ggJGNvbmRpdGlvbiBpbiAkY29uZGl0aW9ucyB7XHJcbiAgICBAaWYgbm90IG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xyXG4gICAgICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRjb25kaXRpb24pO1xyXG4gICAgICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcclxuICAgICAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkY29uZGl0aW9uLCAkb3BlcmF0b3IpO1xyXG5cclxuICAgICAgQGlmICgkcHJlZml4ID09ICdtYXgnIGFuZCAkdmFsdWUgPD0gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIG9yXHJcbiAgICAgICAgICAoJHByZWZpeCA9PSAnbWluJyBhbmQgJHZhbHVlID4gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIHtcclxuICAgICAgICBAcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIGlmIG5vdCBpbmRleCgkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcclxuICAgICAgQHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEByZXR1cm4gdHJ1ZTtcclxufVxyXG5cclxuLy8vL1xyXG4vLy8gUGFyc2luZyBlbmdpbmVcclxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIEdldCBvcGVyYXRvciBvZiBhbiBleHByZXNzaW9uXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IG9wZXJhdG9yIGZyb21cclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gQW55IG9mIGA+PWAsIGA+YCwgYDw9YCwgYDxgLCBg4omlYCwgYOKJpGBcclxuLy8vXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbikge1xyXG4gIEBlYWNoICRvcGVyYXRvciBpbiAoJz49JywgJz4nLCAnPD0nLCAnPCcsICfiiaUnLCAn4omkJykge1xyXG4gICAgQGlmIHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XHJcbiAgICAgIEByZXR1cm4gJG9wZXJhdG9yO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xyXG4gIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXHJcbiAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXHJcbiAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcclxuICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXHJcbiAgJF86IGltLWxvZygnTm8gb3BlcmF0b3IgZm91bmQgaW4gYCN7JGV4cHJlc3Npb259YC4nKTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2V0IGRpbWVuc2lvbiBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IGRpbWVuc2lvbiBmcm9tXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGB3aWR0aGAgb3IgYGhlaWdodGAgKG9yIHBvdGVudGlhbGx5IGFueXRoaW5nIGVsc2UpXHJcbi8vL1xyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcclxuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuICAkcGFyc2VkLWRpbWVuc2lvbjogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAwLCAkb3BlcmF0b3ItaW5kZXggLSAxKTtcclxuICAkZGltZW5zaW9uOiAnd2lkdGgnO1xyXG5cclxuICBAaWYgc3RyLWxlbmd0aCgkcGFyc2VkLWRpbWVuc2lvbikgPiAwIHtcclxuICAgICRkaW1lbnNpb246ICRwYXJzZWQtZGltZW5zaW9uO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkZGltZW5zaW9uO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZXQgZGltZW5zaW9uIHByZWZpeCBiYXNlZCBvbiBhbiBvcGVyYXRvclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvclxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgbWluYCBvciBgbWF4YFxyXG4vLy9cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpIHtcclxuICBAcmV0dXJuIGlmKGluZGV4KCgnPCcsICc8PScsICfiiaQnKSwgJG9wZXJhdG9yKSwgJ21heCcsICdtaW4nKTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2V0IHZhbHVlIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgdmFsdWUgZnJvbVxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBBIG51bWVyaWMgdmFsdWVcclxuLy8vXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XHJcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcbiAgJHZhbHVlOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sICRvcGVyYXRvci1pbmRleCArIHN0ci1sZW5ndGgoJG9wZXJhdG9yKSk7XHJcblxyXG4gIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xyXG4gICAgJHZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHZhbHVlKTtcclxuICB9IEBlbHNlIHtcclxuICAgICR2YWx1ZTogdG8tbnVtYmVyKCR2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICAkaW50ZXJ2YWw6IG1hcC1nZXQoJHVuaXQtaW50ZXJ2YWxzLCB1bml0KCR2YWx1ZSkpO1xyXG5cclxuICBAaWYgbm90ICRpbnRlcnZhbCB7XHJcbiAgICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXHJcbiAgICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxyXG4gICAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXHJcbiAgICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxyXG4gICAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxyXG4gICAgJF86IGltLWxvZygnVW5rbm93biB1bml0IGAje3VuaXQoJHZhbHVlKX1gLicpO1xyXG4gIH1cclxuXHJcbiAgQGlmICRvcGVyYXRvciA9PSAnPicge1xyXG4gICAgJHZhbHVlOiAkdmFsdWUgKyAkaW50ZXJ2YWw7XHJcbiAgfSBAZWxzZSBpZiAkb3BlcmF0b3IgPT0gJzwnIHtcclxuICAgICR2YWx1ZTogJHZhbHVlIC0gJGludGVydmFsO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkdmFsdWU7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIFBhcnNlIGFuIGV4cHJlc3Npb24gdG8gcmV0dXJuIGEgdmFsaWQgbWVkaWEtcXVlcnkgZXhwcmVzc2lvblxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gcGFyc2VcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVmFsaWQgbWVkaWEgcXVlcnlcclxuLy8vXHJcbkBmdW5jdGlvbiBwYXJzZS1leHByZXNzaW9uKCRleHByZXNzaW9uKSB7XHJcbiAgLy8gSWYgaXQgaXMgcGFydCBvZiAkbWVkaWEtZXhwcmVzc2lvbnMsIGl0IGhhcyBubyBvcGVyYXRvclxyXG4gIC8vIHRoZW4gdGhlcmUgaXMgbm8gbmVlZCB0byBnbyBhbnkgZnVydGhlciwganVzdCByZXR1cm4gdGhlIHZhbHVlXHJcbiAgQGlmIG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pIHtcclxuICAgIEByZXR1cm4gbWFwLWdldCgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKTtcclxuICB9XHJcblxyXG4gICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pO1xyXG4gICRkaW1lbnNpb246IGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcclxuICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG5cclxuICBAcmV0dXJuICcoI3skcHJlZml4fS0jeyRkaW1lbnNpb259OiAjeyR2YWx1ZX0pJztcclxufVxyXG5cclxuLy8vXHJcbi8vLyBTbGljZSBgJGxpc3RgIGJldHdlZW4gYCRzdGFydGAgYW5kIGAkZW5kYCBpbmRleGVzXHJcbi8vL1xyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc2xpY2VcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3RhcnQgWzFdIC0gU3RhcnQgaW5kZXhcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZW5kIFtsZW5ndGgoJGxpc3QpXSAtIEVuZCBpbmRleFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge0xpc3R9IFNsaWNlZCBsaXN0XHJcbi8vL1xyXG5AZnVuY3Rpb24gc2xpY2UoJGxpc3QsICRzdGFydDogMSwgJGVuZDogbGVuZ3RoKCRsaXN0KSkge1xyXG4gIEBpZiBsZW5ndGgoJGxpc3QpIDwgMSBvciAkc3RhcnQgPiAkZW5kIHtcclxuICAgIEByZXR1cm4gKCk7XHJcbiAgfVxyXG5cclxuICAkcmVzdWx0OiAoKTtcclxuXHJcbiAgQGZvciAkaSBmcm9tICRzdGFydCB0aHJvdWdoICRlbmQge1xyXG4gICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkbGlzdCwgJGkpKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHJlc3VsdDtcclxufVxyXG5cclxuLy8vL1xyXG4vLy8gU3RyaW5nIHRvIG51bWJlciBjb252ZXJ0ZXJcclxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIENhc3RzIGEgc3RyaW5nIGludG8gYSBudW1iZXJcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYmUgcGFyc2VkXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TnVtYmVyfVxyXG4vLy9cclxuQGZ1bmN0aW9uIHRvLW51bWJlcigkdmFsdWUpIHtcclxuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcclxuICAgIEByZXR1cm4gJHZhbHVlO1xyXG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpICE9ICdzdHJpbmcnIHtcclxuICAgICRfOiBpbS1sb2coJ1ZhbHVlIGZvciBgdG8tbnVtYmVyYCBzaG91bGQgYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcuJyk7XHJcbiAgfVxyXG5cclxuICAkZmlyc3QtY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAxLCAxKTtcclxuICAkcmVzdWx0OiAwO1xyXG4gICRkaWdpdHM6IDA7XHJcbiAgJG1pbnVzOiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpO1xyXG4gICRudW1iZXJzOiAoJzAnOiAwLCAnMSc6IDEsICcyJzogMiwgJzMnOiAzLCAnNCc6IDQsICc1JzogNSwgJzYnOiA2LCAnNyc6IDcsICc4JzogOCwgJzknOiA5KTtcclxuXHJcbiAgLy8gUmVtb3ZlICsvLSBzaWduIGlmIHByZXNlbnQgYXQgZmlyc3QgY2hhcmFjdGVyXHJcbiAgQGlmICgkZmlyc3QtY2hhcmFjdGVyID09ICcrJyBvciAkZmlyc3QtY2hhcmFjdGVyID09ICctJykge1xyXG4gICAgJHZhbHVlOiBzdHItc2xpY2UoJHZhbHVlLCAyKTtcclxuICB9XHJcblxyXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkdmFsdWUpIHtcclxuICAgICRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsICRpLCAkaSk7XHJcblxyXG4gICAgQGlmIG5vdCAoaW5kZXgobWFwLWtleXMoJG51bWJlcnMpLCAkY2hhcmFjdGVyKSBvciAkY2hhcmFjdGVyID09ICcuJykge1xyXG4gICAgICBAcmV0dXJuIHRvLWxlbmd0aChpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KSwgc3RyLXNsaWNlKCR2YWx1ZSwgJGkpKVxyXG4gICAgfVxyXG5cclxuICAgIEBpZiAkY2hhcmFjdGVyID09ICcuJyB7XHJcbiAgICAgICRkaWdpdHM6IDE7XHJcbiAgICB9IEBlbHNlIGlmICRkaWdpdHMgPT0gMCB7XHJcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcclxuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpIC8gJGRpZ2l0cztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEByZXR1cm4gaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCk7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEFkZCBgJHVuaXRgIHRvIGAkdmFsdWVgXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGFkZCB1bml0IHRvXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHVuaXQgLSBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHVuaXRcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gYCR2YWx1ZWAgZXhwcmVzc2VkIGluIGAkdW5pdGBcclxuLy8vXHJcbkBmdW5jdGlvbiB0by1sZW5ndGgoJHZhbHVlLCAkdW5pdCkge1xyXG4gICR1bml0czogKCdweCc6IDFweCwgJ2NtJzogMWNtLCAnbW0nOiAxbW0sICclJzogMSUsICdjaCc6IDFjaCwgJ3BjJzogMXBjLCAnaW4nOiAxaW4sICdlbSc6IDFlbSwgJ3JlbSc6IDFyZW0sICdwdCc6IDFwdCwgJ2V4JzogMWV4LCAndncnOiAxdncsICd2aCc6IDF2aCwgJ3ZtaW4nOiAxdm1pbiwgJ3ZtYXgnOiAxdm1heCk7XHJcblxyXG4gIEBpZiBub3QgaW5kZXgobWFwLWtleXMoJHVuaXRzKSwgJHVuaXQpIHtcclxuICAgICRfOiBpbS1sb2coJ0ludmFsaWQgdW5pdCBgI3skdW5pdH1gLicpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkdmFsdWUgKiBtYXAtZ2V0KCR1bml0cywgJHVuaXQpO1xyXG59XHJcblxyXG4vLy9cclxuLy8vIFRoaXMgbWl4aW4gYWltcyBhdCByZWRlZmluaW5nIHRoZSBjb25maWd1cmF0aW9uIGp1c3QgZm9yIHRoZSBzY29wZSBvZlxyXG4vLy8gdGhlIGNhbGwuIEl0IGlzIGhlbHBmdWwgd2hlbiBoYXZpbmcgYSBjb21wb25lbnQgbmVlZGluZyBhbiBleHRlbmRlZFxyXG4vLy8gY29uZmlndXJhdGlvbiBzdWNoIGFzIGN1c3RvbSBicmVha3BvaW50cyAocmVmZXJyZWQgdG8gYXMgdHdlYWtwb2ludHMpXHJcbi8vLyBmb3IgaW5zdGFuY2UuXHJcbi8vL1xyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vha3BvaW50cyBbKCldIC0gTWFwIG9mIHR3ZWFrcG9pbnRzIHRvIGJlIG1lcmdlZCB3aXRoIGAkYnJlYWtwb2ludHNgXHJcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zIFsoKV0gLSBNYXAgb2YgdHdlYWtlZCBtZWRpYSBleHByZXNzaW9ucyB0byBiZSBtZXJnZWQgd2l0aCBgJG1lZGlhLWV4cHJlc3Npb25gXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIGJyZWFrcG9pbnRzIHdpdGggYSB0d2Vha3BvaW50XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSkge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XHJcbi8vLyAgICAgICAvLyAuLi5cclxuLy8vICAgICAgfVxyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgbWVkaWEgZXhwcmVzc2lvbnMgd2l0aCBhIGN1c3RvbSBvbmVcclxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCdhbGwnOiAnYWxsJykpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScpIHtcclxuLy8vICAgICAgIC8vIC4uLlxyXG4vLy8gICAgICB9XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgYm90aCBjb25maWd1cmF0aW9uIG1hcHNcclxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpLCAoJ2FsbCc6ICdhbGwnKSkge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJywgJzw9Y3VzdG9tJykge1xyXG4vLy8gICAgICAgLy8gLi4uXHJcbi8vLyAgICAgIH1cclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG5AbWl4aW4gbWVkaWEtY29udGV4dCgkdHdlYWtwb2ludHM6ICgpLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgpKSB7XHJcbiAgLy8gU2F2ZSBnbG9iYWwgY29uZmlndXJhdGlvblxyXG4gICRnbG9iYWwtYnJlYWtwb2ludHM6ICRicmVha3BvaW50cztcclxuICAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zOiAkbWVkaWEtZXhwcmVzc2lvbnM7XHJcblxyXG4gIC8vIFVwZGF0ZSBnbG9iYWwgY29uZmlndXJhdGlvblxyXG4gICRicmVha3BvaW50czogbWFwLW1lcmdlKCRicmVha3BvaW50cywgJHR3ZWFrcG9pbnRzKSAhZ2xvYmFsO1xyXG4gICRtZWRpYS1leHByZXNzaW9uczogbWFwLW1lcmdlKCRtZWRpYS1leHByZXNzaW9ucywgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zKSAhZ2xvYmFsO1xyXG5cclxuICBAY29udGVudDtcclxuXHJcbiAgLy8gUmVzdG9yZSBnbG9iYWwgY29uZmlndXJhdGlvblxyXG4gICRicmVha3BvaW50czogJGdsb2JhbC1icmVha3BvaW50cyAhZ2xvYmFsO1xyXG4gICRtZWRpYS1leHByZXNzaW9uczogJGdsb2JhbC1tZWRpYS1leHByZXNzaW9ucyAhZ2xvYmFsO1xyXG59XHJcblxyXG4vLy8vXHJcbi8vLyBpbmNsdWRlLW1lZGlhIHB1YmxpYyBleHBvc2VkIEFQSVxyXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xyXG4vLy8gQGFjY2VzcyBwdWJsaWNcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgYmFzZWQgb24gYSBsaXN0IG9mIGNvbmRpdGlvbnNcclxuLy8vXHJcbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc2luZ2xlIHNldCBicmVha3BvaW50XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHR3byBzZXQgYnJlYWtwb2ludHNcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9dGFibGV0JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggY3VzdG9tIHZhbHVlc1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1OHB4JywgJzw4NTBweCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHNldCBicmVha3BvaW50cyB3aXRoIGN1c3RvbSB2YWx1ZXNcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPmRlc2t0b3AnLCAnPD0xMzUwcHgnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHN0YXRpYyBleHByZXNzaW9uXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJ3JldGluYTJ4JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIE1peGluZyBldmVyeXRoaW5nXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzUwcHgnLCAnPHRhYmxldCcsICdyZXRpbmEzeCcpIHsgfVxyXG4vLy9cclxuQG1peGluIG1lZGlhKCRjb25kaXRpb25zLi4uKSB7XHJcbiAgQGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA9PSAwKSBvclxyXG4gICAgICAobm90ICRpbS1tZWRpYS1zdXBwb3J0IGFuZCBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSkge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfSBAZWxzZSBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPiAwKSB7XHJcbiAgICBAbWVkaWEgI3t1bnF1b3RlKHBhcnNlLWV4cHJlc3Npb24obnRoKCRjb25kaXRpb25zLCAxKSkpfSB7XHJcbiAgICAgIC8vIFJlY3Vyc2l2ZSBjYWxsXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHNsaWNlKCRjb25kaXRpb25zLCAyKS4uLikge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8qIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIHNjc3MgZm9yIHN2ZyBpY29uc1xyXG4tIGh0dHBzOi8vd3d3Lm5wbWpzLmNvbS9wYWNrYWdlL3N2Zy1zcHJpdGVcclxuKi9cclxuXHJcbi5pY29uLS1sb2dvIHtcclxuICB3aWR0aDogMTk0cHg7XHJcbiAgaGVpZ2h0OiAzOHB4O1xyXG59XHJcbiIsIi5jZW50ZXIge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLnVwcGVyIHtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG59XHJcbiIsIi5oaWRlIHtcclxuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldFwiKSB7XHJcbiAgLmhpZGUtLW1vYmlsZSB7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIsIFwiPD1kZXNrdG9wXCIpIHtcclxuICAuaGlkZS0tdGFibGV0IHtcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcclxuICAuaGlkZS0tZGVza3RvcCB7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcbiIsIi5hYm91dHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA0MHB4O1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKXtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAyZnI7XG4gICAgZ2FwOiA4MHB4O1xuICB9XG5cbiAgJl9fdGl0bGUudGl0bGV7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDI2cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDI2cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKXtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzNnB4O1xuICAgIH1cblxuICAgICY6YmVmb3Jle1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHdpZHRoOiA3MHB4O1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTFlMWUxO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJyl7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX190ZXh0Ym94e1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlY29uZGFyeSk7XG4gIH1cblxuICAmX19sZWZ0e1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKXtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICB9XG5cbiAgJl9fcmlnaHR7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpe1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG59XG4iLCIuYW5pbWF0ZSB7XHJcbiAgJi0tZmFkZSB7XHJcbiAgICB0cmFuc2l0aW9uOiAxcyBlYXNlIG9wYWNpdHk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG5cclxuICAgICYuYW5pbWF0ZS0tdmlzaWJsZSB7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLS1mYWxsIHtcclxuICAgIHRyYW5zaXRpb246IDFzIGVhc2Ugb3BhY2l0eSwgMXMgZWFzZSB0cmFuc2Zvcm07XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMTBweCk7XHJcblxyXG4gICAgJi5hbmltYXRlLS12aXNpYmxlIHtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi5ib3hlc3tcbiAgJl9fbGlzdHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdhcDogNjBweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKXtcbiAgICAgIGdhcDogMzBweDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgfVxuICB9XG5cbiAgJl9fbWFpbi50aXRsZXtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICB9XG5cbiAgJl9fdGl0bGV7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Vjb25kYXJ5KTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGNvbG9yOiAjMmMyYzJjO1xuICB9XG5cbiAgJl9fdGV4dGJveHtcbiAgICBtYXJnaW46IDAgYXV0bztcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpe1xuICAgICAgbWF4LXdpZHRoOiA3MCU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpe1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gICZfX2l0ZW17XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpe1xuICAgICAgZ2FwOiAzMHB4O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMzBweCAxZnI7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcC1sJyl7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDYwcHggMWZyO1xuICAgIH1cblxuICAgICY6Zmlyc3Qtb2YtdHlwZXtcbiAgICAgIC5ib3hlc19fbGluZXtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxkZXNrdG9wJyl7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2xpbmV7XG4gICAgYmFja2dyb3VuZDogI2UxZTFlMTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxkZXNrdG9wJyl7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IC0zMHB4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG4gICZfX3dyYXBwZXJ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMzBweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKXtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgfVxufVxuIiwiLmJyZWFkY3J1bWJze1xuICBiYWNrZ3JvdW5kOiAjMjMyMzIzO1xuICBoZWlnaHQ6IDUwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogNzFweCAwIDAgMDtcblxuICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKXtcbiAgICBtYXJnaW46IDkxcHggMCAwIDA7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJyl7XG4gICAgbWFyZ2luOiAxMjBweCAwIDAgMDtcbiAgfVxuXG4gIHVse1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDQwcHg7XG5cbiAgICBsaXtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6bGFzdC1vZi10eXBle1xuICAgICAgICAmOmFmdGVye1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjphZnRlcntcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvYnJlYWQuc3ZnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IC0yNnB4O1xuICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBzcGFue1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIH1cblxuICAgICAgYXtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBjb2xvcjogIzk2OTY5NjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5idG4ge1xyXG4gIGJvcmRlcjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG91dGxpbmU6IDAgIWltcG9ydGFudDtcclxuICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHJcbiAgJi0tZnVsbHtcclxuICAgIGJhY2tncm91bmQ6ICMzNjM2MzY7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIHBhZGRpbmc6IDE0cHggMjdweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzO1xyXG5cclxuICAgIEBtZWRpYShwb2ludGVyOiBmaW5lKXtcclxuICAgICAgJjphY3RpdmUsXHJcbiAgICAgICY6Zm9jdXMsXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICMyOWI2ZjY7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYtLWdyZWVue1xyXG4gICAgYmFja2dyb3VuZDogIzAwQUM0QjtcclxuICB9XHJcblxyXG4gICYtLW9yYW5nZXtcclxuICAgIGJhY2tncm91bmQ6ICNGMjgyMDA7XHJcbiAgfVxyXG5cclxuICAmLS1idXJnZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgbWluLXdpZHRoOiAwO1xyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogJyc7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgaW5zZXQ6IC0xNXB4IC0xMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIHNwYW4ge1xyXG4gICAgICB3aWR0aDogMjZweDtcclxuICAgICAgaGVpZ2h0OiAycHg7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XHJcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcywgdHJhbnNmb3JtIDAuM3MsIHdpZHRoIDAuM3M7XHJcbiAgICB9XHJcblxyXG4gICAgc3BhbjpudGgtY2hpbGQoMikge1xyXG4gICAgICBtYXJnaW46IDdweCAwO1xyXG5cclxuICAgICAgLm5hdi1pcy1vcGVuICZ7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHNwYW46bnRoLWNoaWxkKDMpe1xyXG4gICAgICAubmF2LWlzLW9wZW4gJntcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlKC02cHgsIC03cHgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc3BhbjpudGgtY2hpbGQoMSl7XHJcbiAgICAgIC5uYXYtaXMtb3BlbiAme1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlKC02cHgsIDZweCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLmNvbnRhY3R7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMTAwcHggMCAwIDA7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jyl7XG4gICAgcGFkZGluZzogMTMwcHggMCAwIDA7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJyl7XG4gICAgcGFkZGluZzogMTkycHggMCAwIDA7XG4gICAgbWluLWhlaWdodDogOTE3cHg7XG4gIH1cblxuICAmX19tYXB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA0MDBweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKXtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAxMjBweDtcbiAgICAgIG1heC13aWR0aDogNjVkdnc7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEyMHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wLXhsJyl7XG4gICAgICBtYXgtd2lkdGg6IDYwZHZ3O1xuICAgIH1cblxuICAgIGlmcmFtZXtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gICZfX3RpdGxlLnRpdGxle1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIH1cblxuICAmX190ZXh0Ym94e1xuICAgIGNvbG9yOiAjNTQ2ZTdhO1xuICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG5cbiAgICBwe1xuICAgICAgc3BhbntcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICBjb2xvcjogIzM3NDc0ZjtcbiAgICAgIH1cblxuICAgICAgYXtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBjb2xvcjogIzM3NDc0ZjtcblxuICAgICAgICBAbWVkaWEocG9pbnRlcjogZmluZSl7XG4gICAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMjliNmY2O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIGRyb3Bkb3duT3BlbiB7XHJcbiAgLmRyb3Bkb3duX19pdGVtcyB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKXtcclxuICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmRyb3Bkb3duIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGdhcDogNXB4O1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpe1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIH1cclxuXHJcbiAgJl9faXRlbXMge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgei1pbmRleDogNTtcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKXtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgdG9wOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jyl7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIGhvdmVyXHJcbiAgQG1lZGlhKHBvaW50ZXI6IGZpbmUpe1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIEBpbmNsdWRlIGRyb3Bkb3duT3BlbjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIG1vYmlsZVxyXG4gIEBtZWRpYShwb2ludGVyOiBjb2Fyc2Upe1xyXG4gICAgJi5pcy1vcGVuIHtcclxuICAgICAgQGluY2x1ZGUgZHJvcGRvd25PcGVuO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIuZm9vdGVye1xuICAmX190b3B7XG4gICAgYmFja2dyb3VuZDogIzM2MzYzNjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiA2MHB4IDA7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKXtcbiAgICAgIHBhZGRpbmc6IDgwcHggMDtcbiAgICB9XG4gIH1cblxuICAmX19saXN0e1xuICAgIHB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpe1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIHNwYW57XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKXtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgbWluLXdpZHRoOiA3NXB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGF7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcztcbiAgICAgICAgY29sb3I6ICNmZmY7XG5cbiAgICAgICAgQG1lZGlhKHBvaW50ZXI6IGZpbmUpe1xuICAgICAgICAgICY6YWN0aXZlLFxuICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogIzI5YjZmNjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpsYXN0LW9mLXR5cGV7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fYm90dG9te1xuICAgIHBhZGRpbmc6IDUwcHggMDtcbiAgICBiYWNrZ3JvdW5kOiAjMmMyYzJjO1xuICB9XG5cbiAgJl9fY29sc3tcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICBnYXA6IDUwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKXtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBnYXA6IDMwcHg7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKXtcbiAgICAgIGdhcDogMDtcbiAgICB9XG4gIH1cblxuICAmX19sb2dve1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cblxuICAmX190ZXh0Ym94e1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcblxuICAgIHB7XG4gICAgICAmOmxhc3Qtb2YtdHlwZXtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4xNGVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3RpdGxlLnRpdGxle1xuICAgIGNvbG9yOiAjODc4Nzg3O1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIH1cblxuICAmX19jb2x7XG4gICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKXtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICB1bHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGdhcDogOHB4O1xuXG4gICAgICBsaXtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gICAgICAgIGF7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG5cbiAgICAgICAgICBAbWVkaWEocG9pbnRlcjogZmluZSl7XG4gICAgICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgY29sb3I6ICMyOWI2ZjY7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi0tc2hvcnR7XG4gICAgLmZvb3Rlcl9fdG9we1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi5lZGl0b3J7XG4gIGgxe1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Vjb25kYXJ5KTtcbiAgICBjb2xvcjogIzJjMmMyYztcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG1hcmdpbi1ib3R0b206IDIycHg7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpe1xuICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgIH1cbiAgfVxuXG4gIHB7XG4gICAgY29sb3I6ICMzNzQ3NEY7XG4gICAgbWFyZ2luOiAyMHB4IDA7XG4gIH1cblxuICBoMntcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAjMzc0NzRGO1xuICAgIG1hcmdpbjogNDJweCAwIDExcHggMDtcbiAgfVxuXG4gIHVse1xuICAgIG1hcmdpbjogMjJweCAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMjJweDtcblxuICAgIGxpe1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgY29sb3I6ICM1NDZlN2E7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9jaGVjay5zdmcnKSBuby1yZXBlYXQgbGVmdCA4cHggdG9wIDVweDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTJweDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jyl7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2NoZWNrLnN2ZycpIG5vLXJlcGVhdCBsZWZ0IDIwcHggdG9wIDZweDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMnB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuZmFxe1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDMwcHggMDtcblxuICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKXtcbiAgICBwYWRkaW5nOiA1MHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpe1xuICAgIHBhZGRpbmc6IDU0cHggMzBweCA1NHB4IDgwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wLWwnKXtcbiAgICBwYWRkaW5nOiA3MnB4IDAgNzJweCAxMTVweDtcbiAgfVxuXG4gICY6YmVmb3Jle1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lkdGg6IDEwMGR2dztcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjZWJlYmViO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgfVxuXG4gICZfX2xpc3R7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IDIwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKXtcbiAgICAgIGdhcDogMzBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJyl7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgZ2FwOiA1MHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX3RpdGxle1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Vjb25kYXJ5KTtcbiAgICBjb2xvcjogIzJjMmMyYztcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jyl7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKXtcbiAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICB9XG4gIH1cblxuICAmX19xdWVzdGlvbntcbiAgICBjb2xvcjogIzJhMzczZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZWNvbmRhcnkpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpe1xuICAgICAgbWluLWhlaWdodDogNTBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gICAgfVxuXG4gICAgJjpiZWZvcmV7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKXtcbiAgICAgICAgY29udGVudDogJ1EnO1xuICAgICAgICBsZWZ0OiAtMjJweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb2xvcjogI2YxZjFmMTtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlY29uZGFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgdG9wOiAtMTZweDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpe1xuICAgICAgICB0b3A6IC0zMHB4O1xuICAgICAgICBmb250LXNpemU6IDU5cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fYW5zd2Vye1xuICAgIGNvbG9yOiAjNTQ2ZTdhO1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjpiZWZvcmV7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKXtcbiAgICAgICAgY29udGVudDogJ0EnO1xuICAgICAgICBsZWZ0OiAtMTlweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb2xvcjogI2YxZjFmMTtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlY29uZGFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgdG9wOiAtMTRweDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpe1xuICAgICAgICB0b3A6IC0yNHB4O1xuICAgICAgICBmb250LXNpemU6IDU5cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuaGVhZGVyLW5hdntcclxuICAmX19vcGVuZXJ7XHJcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpe1xyXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgIC5pcy1vcGVuICZ7XHJcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHVse1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBnYXA6IDMwcHg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpe1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgfVxyXG5cclxuICAgIGxpe1xyXG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcblxyXG4gICAgICBAbWVkaWEocG9pbnRlcjogZmluZSl7XHJcbiAgICAgICAgJjphY3RpdmUsXHJcbiAgICAgICAgJjpmb2N1cyxcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgIC5oZWFkZXItbmF2X19vcGVuZXJ7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAmOmJlZm9yZXtcclxuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgYXtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpe1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpiZWZvcmV7XHJcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjNzO1xyXG4gICAgICAgICAgaGVpZ2h0OiAxcHg7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICBib3R0b206IDlweDtcclxuICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgdWx7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgICAgIGdhcDogMjBweDtcclxuICAgICAgICBib3gtc2hhZG93OiAwcHggNXB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTE1cHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpe1xyXG4gICAgICAgICAgd2lkdGg6IDIwMHB4O1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxpe1xyXG4gICAgICAgICAgYXtcclxuICAgICAgICAgICAgY29sb3I6ICMwNjk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYShwb2ludGVyOiBmaW5lKXtcclxuICAgICAgICAgICAgICAmOmFjdGl2ZSxcclxuICAgICAgICAgICAgICAmOmZvY3VzLFxyXG4gICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi5oZWFkZXIge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHRvcDogMDtcclxuICB6LWluZGV4OiAxMDA7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1cywgYm9yZGVyLWNvbG9yIDAuMTVzO1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmO1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKXtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICB9XHJcblxyXG4gIC5uYXYtaXMtb3BlbiAme1xyXG4gICAgYmFja2dyb3VuZDogIzA2OTtcclxuICB9XHJcblxyXG4gIC5pcy1zY3JvbGxlZCAme1xyXG4gICAgYmFja2dyb3VuZDogIzA2OTtcclxuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmY7XHJcbiAgfVxyXG5cclxuICAmX19oZWxwZXJ7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpe1xyXG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgIHRvcDogNzFweDtcclxuICAgICAgaGVpZ2h0OiBjYWxjKDEwMGR2aCAtIDcxcHgpO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAjMDY5O1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgcGFkZGluZzogMzBweCAxNXB4O1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBnYXA6IDMwcHg7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG4gICAgICAubmF2LWlzLW9wZW4gJntcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19zb2NpYWx7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpe1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xyXG5cclxuICAgICAgLm5hdi1pcy1vcGVuICZ7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhKHBvaW50ZXI6IGZpbmUpe1xyXG4gICAgICAmOmFjdGl2ZSxcclxuICAgICAgJjpmb2N1cyxcclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgaW1ne1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGltZ3tcclxuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19pbi5pbntcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuMTVzO1xyXG4gICAgaGVpZ2h0OiA3MHB4O1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpe1xyXG4gICAgICBoZWlnaHQ6IDkwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpe1xyXG4gICAgICBoZWlnaHQ6IDEyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5pcy1zY3JvbGxlZCAme1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKXtcclxuICAgICAgICBoZWlnaHQ6IDgwcHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKXtcclxuICAgICAgICBoZWlnaHQ6IDEwMHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19sZWZ0e1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBnYXA6IDYwcHg7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpe1xyXG4gICAgICBnYXA6IDIzMHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fbG9nb3tcclxuICAgIG1heC13aWR0aDogNzBweDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKXtcclxuICAgICAgbWF4LXdpZHRoOiA5MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKXtcclxuICAgICAgbWF4LXdpZHRoOiAxMjBweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX3JpZ2h0e1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBnYXA6IDIwcHg7XHJcblxyXG4gICAgYXtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBnYXA6IDEwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19waG9uZXtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICBwYWRkaW5nOiA1cHggMTBweDtcclxuXHJcbiAgICBpbWd7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jyl7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxNXB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhKHBvaW50ZXI6IGZpbmUpe1xyXG4gICAgICAmOmFjdGl2ZSxcclxuICAgICAgJjpmb2N1cyxcclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgc3BhbntcclxuICAgICAgICAgICY6YmVmb3Jle1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc3BhbntcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgJjpiZWZvcmV7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDFweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcywgdHJhbnNmb3JtIDAuM3M7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYtLXN1YnBhZ2V7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMDY5O1xyXG5cclxuICAgIC5oZWFkZXJfX2xlZnR7XHJcbiAgICAgIGdhcDogNjBweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLnJlZmVyZW5jZXN7XG4gICZfX3RvcHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Vjb25kYXJ5KTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jyl7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgICAgZ2FwOiAzMHB4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJyl7XG4gICAgICBtYXJnaW4tYm90dG9tOiA3OHB4O1xuICAgICAgZ2FwOiA2MHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2l0ZW17XG4gICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjZTFlMWUxO1xuICAgIHBhZGRpbmctbGVmdDogNzBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAmX19xdW90ZXtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDI4cHg7XG4gIH1cblxuICAmX190ZXh0Ym94e1xuICAgIHB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgY29sb3I6ICM1NDZlN2E7XG5cbiAgICAgICY6bGFzdC1vZi10eXBle1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGNvbG9yOiAjMmMyYzJjO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zcGxpZGV7XG4gICAgJl9fYXJyb3dze1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGdhcDogMjBweDtcbiAgICAgIHRvcDogLTYwcHg7XG4gICAgICByaWdodDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSk7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpe1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAtMTAwcHg7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpe1xuICAgICAgICBnYXA6IDMwcHg7XG4gICAgICAgIHRvcDogLTEyMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2Fycm93e1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgb3BhY2l0eTogMC41ICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogMzBweDtcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2Nhcm91c2VsLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuXG4gICAgICBAbWVkaWEocG9pbnRlcjogZmluZSl7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmZvY3Vze1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgfVxuXG4gICAgICBzdmd7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICYtLXByZXZ7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuaGVyb3tcbiAgYmFja2dyb3VuZDogIzAwNjY5OTtcbiAgY29sb3I6ICNmZmY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMTIwcHggMCA2MHB4IDA7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jyl7XG4gICAgcGFkZGluZzogMTgwcHggMCA2MHB4IDA7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJyl7XG4gICAgbWluLWhlaWdodDogMTAwZHZoO1xuICAgIHBhZGRpbmc6IDIwMHB4IDAgMCAwO1xuICB9XG5cbiAgJl9fYmd7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICBvcGFjaXR5OiAwLjE7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJyl7XG4gICAgICBtYXJnaW4tbGVmdDogLTE2NXB4O1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMGR2dyAtIDE2NXB4KTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcC1sJyl7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwZHZ3IC0gMjg1cHgpO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0yODVweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpe1xuICAgICAgb2JqZWN0LXBvc2l0aW9uOiBsZWZ0O1xuICAgIH1cbiAgfVxuXG4gIC5pbntcbiAgICBAaW5jbHVkZSBtZWRpYSgnPGRlc2t0b3AnKXtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgfVxuICB9XG5cbiAgJl9fYm94e1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKXtcbiAgICAgIG1heC13aWR0aDogMjkwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgfVxuXG4gIC50aXRsZXtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZWNvbmRhcnkpO1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgY29sb3I6ICNmZmY7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpe1xuICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX3RleHRib3h7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IDE3cHg7XG4gIH1cbn1cbiIsIi5pbiB7XHJcbiAgbWF4LXdpZHRoOiB2YXIoLS1pbi1tYXgtd2lkdGgpO1xyXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gIG1hcmdpbi1yaWdodDogYXV0bztcclxuICB3aWR0aDogY2FsYygxMDAlIC0gMzBweCk7XHJcbn1cclxuIiwiLnRhYnN7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgLmlue1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKXtcclxuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyNTBweCAxZnI7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpe1xyXG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDMwMHB4IDFmcjtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wLWwnKXtcclxuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAzMzBweCAxZnI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuYXZ7XHJcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZWNvbmRhcnkpO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgcGFkZGluZy10b3A6IDMwcHg7XHJcbiAgICBnYXA6IDEwcHg7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKXtcclxuICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICBwYWRkaW5nLXRvcDogNTZweDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICBnYXA6IDM1cHg7XHJcbiAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICNlYmViZWI7XHJcbiAgICB9XHJcblxyXG4gICAgZGl2e1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcztcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAjZjdmN2Y3O1xyXG4gICAgICBwYWRkaW5nOiA4cHg7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpe1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBwYWRkaW5nOiAwIDAgMCAyN3B4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2JyZWFkLnN2ZycpIG5vLXJlcGVhdCBsZWZ0IHRvcCAycHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNnB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLmN1cnJlbnR7XHJcbiAgICAgICAgYmFja2dyb3VuZDogIzIzMjMyMztcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jyl7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvYnJlYWQuc3ZnJykgbm8tcmVwZWF0IGxlZnQgNXB4IHRvcCAycHg7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE2cHg7XHJcblxyXG4gICAgICAgICAgJjpiZWZvcmUsXHJcbiAgICAgICAgICAmOmFmdGVye1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJjpiZWZvcmV7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jyl7XHJcbiAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIHJpZ2h0OiAtMTZweDtcclxuICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogLTE3cHg7XHJcbiAgICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICBib3JkZXItd2lkdGg6IDE1LjVweCAwIDE1LjVweCAxNnB4O1xyXG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZmZmO1xyXG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJjphZnRlcntcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKXtcclxuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgICByaWdodDogLTE5cHg7XHJcbiAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgIG1hcmdpbi10b3A6IC0yMHB4O1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiAxOHB4IDAgMThweCAxOXB4O1xyXG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZWJlYmViO1xyXG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fY29udGVudHtcclxuICAgIHBhZGRpbmc6IDMwcHggMCAxMHB4IDA7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jyl7XHJcbiAgICAgIHBhZGRpbmc6IDUwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpe1xyXG4gICAgICBwYWRkaW5nOiA1NHB4IDMwcHggNTRweCA4MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AtbCcpe1xyXG4gICAgICBwYWRkaW5nOiA1NHB4IDAgODJweCAxMTVweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLnNlY3Rpb257XHJcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNlMWUxZTE7XHJcbiAgcGFkZGluZzogNjBweCAwO1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJyl7XHJcbiAgICBwYWRkaW5nOiAxMDBweCAwO1xyXG4gIH1cclxufVxyXG4iLCIuc3BsaWRlX19jb250YWluZXJ7Ym94LXNpemluZzpib3JkZXItYm94O3Bvc2l0aW9uOnJlbGF0aXZlfS5zcGxpZGVfX2xpc3R7YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCU7bWFyZ2luOjAhaW1wb3J0YW50O3BhZGRpbmc6MCFpbXBvcnRhbnR9LnNwbGlkZS5pcy1pbml0aWFsaXplZDpub3QoLmlzLWFjdGl2ZSkgLnNwbGlkZV9fbGlzdHtkaXNwbGF5OmJsb2NrfS5zcGxpZGVfX3BhZ2luYXRpb257LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstbXMtZmxleC13cmFwOndyYXA7ZmxleC13cmFwOndyYXA7LW1zLWZsZXgtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW46MDtwb2ludGVyLWV2ZW50czpub25lfS5zcGxpZGVfX3BhZ2luYXRpb24gbGl7ZGlzcGxheTppbmxpbmUtYmxvY2s7bGluZS1oZWlnaHQ6MTtsaXN0LXN0eWxlLXR5cGU6bm9uZTttYXJnaW46MDtwb2ludGVyLWV2ZW50czphdXRvfS5zcGxpZGU6bm90KC5pcy1vdmVyZmxvdykgLnNwbGlkZV9fcGFnaW5hdGlvbntkaXNwbGF5Om5vbmV9LnNwbGlkZV9fcHJvZ3Jlc3NfX2Jhcnt3aWR0aDowfS5zcGxpZGV7cG9zaXRpb246cmVsYXRpdmU7dmlzaWJpbGl0eTpoaWRkZW59LnNwbGlkZS5pcy1pbml0aWFsaXplZCwuc3BsaWRlLmlzLXJlbmRlcmVke3Zpc2liaWxpdHk6dmlzaWJsZX0uc3BsaWRlX19zbGlkZXtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1zLWZsZXgtbmVnYXRpdmU6MDtmbGV4LXNocmluazowO2xpc3Qtc3R5bGUtdHlwZTpub25lIWltcG9ydGFudDttYXJnaW46MDtwb3NpdGlvbjpyZWxhdGl2ZX0uc3BsaWRlX19zbGlkZSBpbWd7dmVydGljYWwtYWxpZ246Ym90dG9tfS5zcGxpZGVfX3NwaW5uZXJ7YW5pbWF0aW9uOnNwbGlkZS1sb2FkaW5nIDFzIGxpbmVhciBpbmZpbml0ZTtib3JkZXI6MnB4IHNvbGlkICM5OTk7Ym9yZGVyLWxlZnQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czo1MCU7Ym90dG9tOjA7Y29udGFpbjpzdHJpY3Q7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjIwcHg7bGVmdDowO21hcmdpbjphdXRvO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjA7d2lkdGg6MjBweH0uc3BsaWRlX19zcntjbGlwOnJlY3QoMCAwIDAgMCk7Ym9yZGVyOjA7aGVpZ2h0OjFweDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweH0uc3BsaWRlX190b2dnbGUuaXMtYWN0aXZlIC5zcGxpZGVfX3RvZ2dsZV9fcGxheSwuc3BsaWRlX190b2dnbGVfX3BhdXNle2Rpc3BsYXk6bm9uZX0uc3BsaWRlX190b2dnbGUuaXMtYWN0aXZlIC5zcGxpZGVfX3RvZ2dsZV9fcGF1c2V7ZGlzcGxheTppbmxpbmV9LnNwbGlkZV9fdHJhY2t7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MH1Aa2V5ZnJhbWVzIHNwbGlkZS1sb2FkaW5nezAle3RyYW5zZm9ybTpyb3RhdGUoMCl9dG97dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9fS5zcGxpZGVfX3RyYWNrLS1kcmFnZ2FibGV7LXdlYmtpdC10b3VjaC1jYWxsb3V0Om5vbmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9LnNwbGlkZV9fdHJhY2stLWZhZGU+LnNwbGlkZV9fbGlzdD4uc3BsaWRlX19zbGlkZXttYXJnaW46MCFpbXBvcnRhbnQ7b3BhY2l0eTowO3otaW5kZXg6MH0uc3BsaWRlX190cmFjay0tZmFkZT4uc3BsaWRlX19saXN0Pi5zcGxpZGVfX3NsaWRlLmlzLWFjdGl2ZXtvcGFjaXR5OjE7ei1pbmRleDoxfS5zcGxpZGUtLXJ0bHtkaXJlY3Rpb246cnRsfS5zcGxpZGVfX3RyYWNrLS10dGI+LnNwbGlkZV9fbGlzdHtkaXNwbGF5OmJsb2NrfS5zcGxpZGVfX2Fycm93ey1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZDojY2NjO2JvcmRlcjowO2JvcmRlci1yYWRpdXM6NTAlO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4O2hlaWdodDoyZW07LW1zLWZsZXgtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtvcGFjaXR5Oi43O3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3dpZHRoOjJlbTt6LWluZGV4OjF9LnNwbGlkZV9fYXJyb3cgc3Zne2ZpbGw6IzAwMDtoZWlnaHQ6MS4yZW07d2lkdGg6MS4yZW19LnNwbGlkZV9fYXJyb3c6aG92ZXI6bm90KDpkaXNhYmxlZCl7b3BhY2l0eTouOX0uc3BsaWRlX19hcnJvdzpkaXNhYmxlZHtvcGFjaXR5Oi4zfS5zcGxpZGVfX2Fycm93OmZvY3VzLXZpc2libGV7b3V0bGluZTozcHggc29saWQgIzBiZjtvdXRsaW5lLW9mZnNldDozcHh9LnNwbGlkZV9fYXJyb3ctLXByZXZ7bGVmdDoxZW19LnNwbGlkZV9fYXJyb3ctLXByZXYgc3Zne3RyYW5zZm9ybTpzY2FsZVgoLTEpfS5zcGxpZGVfX2Fycm93LS1uZXh0e3JpZ2h0OjFlbX0uc3BsaWRlLmlzLWZvY3VzLWluIC5zcGxpZGVfX2Fycm93OmZvY3Vze291dGxpbmU6M3B4IHNvbGlkICMwYmY7b3V0bGluZS1vZmZzZXQ6M3B4fS5zcGxpZGVfX3BhZ2luYXRpb257Ym90dG9tOi41ZW07bGVmdDowO3BhZGRpbmc6MCAxZW07cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt6LWluZGV4OjF9LnNwbGlkZV9fcGFnaW5hdGlvbl9fcGFnZXtiYWNrZ3JvdW5kOiNjY2M7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czo1MCU7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjhweDttYXJnaW46M3B4O29wYWNpdHk6Ljc7cGFkZGluZzowO3Bvc2l0aW9uOnJlbGF0aXZlO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBsaW5lYXI7d2lkdGg6OHB4fS5zcGxpZGVfX3BhZ2luYXRpb25fX3BhZ2UuaXMtYWN0aXZle2JhY2tncm91bmQ6I2ZmZjt0cmFuc2Zvcm06c2NhbGUoMS40KTt6LWluZGV4OjF9LnNwbGlkZV9fcGFnaW5hdGlvbl9fcGFnZTpob3ZlcntjdXJzb3I6cG9pbnRlcjtvcGFjaXR5Oi45fS5zcGxpZGVfX3BhZ2luYXRpb25fX3BhZ2U6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOjNweCBzb2xpZCAjMGJmO291dGxpbmUtb2Zmc2V0OjNweH0uc3BsaWRlLmlzLWZvY3VzLWluIC5zcGxpZGVfX3BhZ2luYXRpb25fX3BhZ2U6Zm9jdXN7b3V0bGluZTozcHggc29saWQgIzBiZjtvdXRsaW5lLW9mZnNldDozcHh9LnNwbGlkZV9fcHJvZ3Jlc3NfX2JhcntiYWNrZ3JvdW5kOiNjY2M7aGVpZ2h0OjNweH0uc3BsaWRlX19zbGlkZXstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6cmdiYSgwLDAsMCwwKX0uc3BsaWRlX19zbGlkZTpmb2N1c3tvdXRsaW5lOjB9QHN1cHBvcnRzKG91dGxpbmUtb2Zmc2V0Oi0zcHgpey5zcGxpZGVfX3NsaWRlOmZvY3VzLXZpc2libGV7b3V0bGluZTozcHggc29saWQgIzBiZjtvdXRsaW5lLW9mZnNldDotM3B4fX1AbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6bm9uZSl7LnNwbGlkZV9fc2xpZGU6Zm9jdXMtdmlzaWJsZXtib3JkZXI6M3B4IHNvbGlkICMwYmZ9fUBzdXBwb3J0cyhvdXRsaW5lLW9mZnNldDotM3B4KXsuc3BsaWRlLmlzLWZvY3VzLWluIC5zcGxpZGVfX3NsaWRlOmZvY3Vze291dGxpbmU6M3B4IHNvbGlkICMwYmY7b3V0bGluZS1vZmZzZXQ6LTNweH19QG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0Om5vbmUpey5zcGxpZGUuaXMtZm9jdXMtaW4gLnNwbGlkZV9fc2xpZGU6Zm9jdXN7Ym9yZGVyOjNweCBzb2xpZCAjMGJmfS5zcGxpZGUuaXMtZm9jdXMtaW4gLnNwbGlkZV9fdHJhY2s+LnNwbGlkZV9fbGlzdD4uc3BsaWRlX19zbGlkZTpmb2N1c3tib3JkZXItY29sb3I6IzBiZn19LnNwbGlkZV9fdG9nZ2xle2N1cnNvcjpwb2ludGVyfS5zcGxpZGVfX3RvZ2dsZTpmb2N1cy12aXNpYmxle291dGxpbmU6M3B4IHNvbGlkICMwYmY7b3V0bGluZS1vZmZzZXQ6M3B4fS5zcGxpZGUuaXMtZm9jdXMtaW4gLnNwbGlkZV9fdG9nZ2xlOmZvY3Vze291dGxpbmU6M3B4IHNvbGlkICMwYmY7b3V0bGluZS1vZmZzZXQ6M3B4fS5zcGxpZGVfX3RyYWNrLS1uYXY+LnNwbGlkZV9fbGlzdD4uc3BsaWRlX19zbGlkZXtib3JkZXI6M3B4IHNvbGlkIHRyYW5zcGFyZW50O2N1cnNvcjpwb2ludGVyfS5zcGxpZGVfX3RyYWNrLS1uYXY+LnNwbGlkZV9fbGlzdD4uc3BsaWRlX19zbGlkZS5pcy1hY3RpdmV7Ym9yZGVyOjNweCBzb2xpZCAjMDAwfS5zcGxpZGVfX2Fycm93cy0tcnRsIC5zcGxpZGVfX2Fycm93LS1wcmV2e2xlZnQ6YXV0bztyaWdodDoxZW19LnNwbGlkZV9fYXJyb3dzLS1ydGwgLnNwbGlkZV9fYXJyb3ctLXByZXYgc3Zne3RyYW5zZm9ybTpzY2FsZVgoMSl9LnNwbGlkZV9fYXJyb3dzLS1ydGwgLnNwbGlkZV9fYXJyb3ctLW5leHR7bGVmdDoxZW07cmlnaHQ6YXV0b30uc3BsaWRlX19hcnJvd3MtLXJ0bCAuc3BsaWRlX19hcnJvdy0tbmV4dCBzdmd7dHJhbnNmb3JtOnNjYWxlWCgtMSl9LnNwbGlkZV9fYXJyb3dzLS10dGIgLnNwbGlkZV9fYXJyb3d7bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlKX0uc3BsaWRlX19hcnJvd3MtLXR0YiAuc3BsaWRlX19hcnJvdy0tcHJldnt0b3A6MWVtfS5zcGxpZGVfX2Fycm93cy0tdHRiIC5zcGxpZGVfX2Fycm93LS1wcmV2IHN2Z3t0cmFuc2Zvcm06cm90YXRlKC05MGRlZyl9LnNwbGlkZV9fYXJyb3dzLS10dGIgLnNwbGlkZV9fYXJyb3ctLW5leHR7Ym90dG9tOjFlbTt0b3A6YXV0b30uc3BsaWRlX19hcnJvd3MtLXR0YiAuc3BsaWRlX19hcnJvdy0tbmV4dCBzdmd7dHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyl9LnNwbGlkZV9fcGFnaW5hdGlvbi0tdHRie2JvdHRvbTowO2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uO2xlZnQ6YXV0bztwYWRkaW5nOjFlbSAwO3JpZ2h0Oi41ZW07dG9wOjB9XG4iLCIudGl0bGUge1xyXG4gIG1hcmdpbjogMDtcclxuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZWNvbmRhcnkpO1xyXG4gIGNvbG9yOiAjMmMyYzJjO1xyXG5cclxuICAmLS0ye1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIGZvbnQtc2l6ZTogMzBweDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKXtcclxuICAgICAgZm9udC1zaXplOiA0MHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi0tM3tcclxuICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgfVxyXG59XHJcbiJdfQ== */
