.flickity-enabled
{
  position: relative;
}

.flickity-enabled:focus
{
  outline: none;
}

.flickity-viewport
{
  overflow: hidden;
  position: relative;
  height: 100%;
}

.flickity-slider
{
  position: absolute;
  width: 100%;
  height: 100%;
}

/* draggable */
.flickity-enabled.is-draggable
{
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.flickity-enabled.is-draggable .flickity-viewport
{
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab;
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down
{
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

/* ---- flickity-button ---- */
.flickity-button
{
  position: absolute;
  background: transparent;
  border: none;
  color: #fff;
}

.flickity-button:hover
{
  background: transparent;
  cursor: pointer;
}

.flickity-button:focus
{
  outline: none;
  box-shadow: 0 0 0 5px #19F;
}

.flickity-button:active
{
  opacity: 0.6;
}

.flickity-button:disabled
{
  opacity: 0.3;
  cursor: auto;
  /* prevent disabled button from capturing pointer up event. #716 */
  pointer-events: none;
}

.flickity-button-icon
{
  fill: currentColor;
}

/* ---- previous/next buttons ---- */
.flickity-prev-next-button
{
  top: 50%;
  width: 90px;
  height: 90px;
  /* vertically center */
  transform: translateY(-50%);
}

.flickity-prev-next-button.previous
{
  left: 70px;
}

.flickity-prev-next-button.next
{
  right: 70px;
}

/* right to left */
.flickity-rtl .flickity-prev-next-button.previous
{
  left: auto;
  right: 70px;
}

.flickity-rtl .flickity-prev-next-button.next
{
  right: auto;
  left: 70px;
}

.flickity-prev-next-button .flickity-button-icon
{
  position: absolute;
  left: 20%;
  top: 20%;
  width: 60%;
  height: 60%;
}

/* ---- page dots ---- */
.flickity-page-dots
{
  position: absolute;
  width: 100%;
  bottom: -25px;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  line-height: 1;
}

.flickity-rtl .flickity-page-dots
{
  direction: rtl;
}

.flickity-page-dots .dot
{
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 8px;
  background: #333;
  border-radius: 50%;
  opacity: 0.25;
  cursor: pointer;
}

.flickity-page-dots .dot.is-selected
{
  opacity: 1;
}

/* Usage
.my-header {
    // width
    @include respond-until(sm) {
        background: red;
    }
    @include respond-to(sm) {
        background: orange;
    }
    @include respond-from(m) {
        background: green;
    }

    //height
    @include respond-until-height(m) {
      background: pink;
    }
}
*/
@font-face
{
  font-family: 'Rational Text';
  src: url("../fonts/rationaltext-Light.eot");
  src: local("Rational Text"), url("../fonts/rationaltext-Light.woff2") format("woff2"), url("../fonts/rationaltext-Light.woff") format("woff"), url("../fonts/rationaltext-Light.ttf") format("truetype"), url("../fonts/rationaltext-Light.svg") format("svg");
  font-weight: normal;
  font-style: normal;
}

@font-face
{
  font-family: 'Rational Text';
  src: url("../fonts/rationaltext-SemiBold.eot");
  src: local("Rational Text"), url("../fonts/rationaltext-SemiBold.woff2") format("woff2"), url("../fonts/rationaltext-SemiBold.woff") format("woff"), url("../fonts/rationaltext-SemiBold.ttf") format("truetype"), url("../fonts/rationaltext-SemiBold.svg") format("svg");
  font-weight: bold;
  font-style: normal;
}

.button
{
  display: inline-block;
  vertical-align: top;
  color: #fff;
  text-decoration: none;
  outline: 0;
  border: 2px solid #ff0046;
  background: #ff0046;
  font-weight: bold;
  text-transform: uppercase;
  font-size: 20px;
  height: 52px;
  line-height: 52px;
  padding: 0 68px;
  border-radius: 3px;
  transition: background-color 200ms ease, transform 200ms ease;
  will-change: background-color, transform;
  transform: scale(1);
}

.button:hover, .button:focus
{
  transform: scale(1.05);
}

.button-wrapper
{
  position: relative;
}

@media (max-width: 430px)
{
  .button-wrapper
  {
    width: 100%;
  }
}

@media (max-width: 430px)
{
  .button-wrapper .button-wrap
  {
    width: 100%;
  }
}

.button-wrapper .button-wrap.button-reseller .button:not(.button-header)
{
  min-width: 330px;
  text-align: center;
}

@media (max-width: 430px)
{
  .button-wrapper .button-wrap.button-reseller .button:not(.button-header)
  {
    min-width: unset;
    width: 100%;
    max-width: 90%;
  }
}

.button-wrapper .button-wrap:nth-child(n+1)
{
  margin-top: 20px;
}

.button-wrapper .button-wrap:first-child
{
  margin-top: 30px;
}

.button-close
{
  display: block;
  color: currentColor;
  height: 30px;
  width: 30px;
}

.button-close:hover, .button-close:focus
{
  color: #ff0046;
}

.button-close:active
{
  color: #fff;
}

.button-close svg
{
  fill: currentColor;
  height: 30px;
  width: 30px;
  display: block;
}

.button
{
  pointer-events: auto;
  cursor: pointer;
  position: relative;
  display: inline-block;
  background: #cc0038;
}

.button::before,
.button::after
{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.button-invert
{
  background: #cc0038;
  border: 2px solid #ff0046;
  color: #000;
  -webkit-transition: all 0.4s ease-out;
  -moz-transition: all 0.4s ease-out;
  -ms-transition: all 0.4s ease-out;
  -o-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out;
}

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

.button--hyperion
{
  overflow: hidden;
}

.button--hyperion span
{
  display: block;
  position: relative;
}

.button--hyperion > span
{
  overflow: hidden;
}

.button--hyperion > span > span
{
  overflow: hidden;
}

@keyframes MoveUpInitial
{
  to
  {
    transform: translate3d(0, -105%, 0);
  }
}

@keyframes MoveUpEnd
{
  from
  {
    transform: translate3d(0, 100%, 0);
  }

  to
  {
    transform: translate3d(0, 0, 0);
  }
}

.button--hyperion::before
{
  content: '';
  background: #ff0046;
  transition: transform 0.4s cubic-bezier(0.7, 0, 0.2, 1);
  transform-origin: 100% 50%;
}

.button--hyperion:hover::before
{
  transform: scale3d(0, 1, 1);
  transform-origin: 0% 50%;
}

.button--hyperion.button-invert:before
{
  background: #fff;
}

.icon
{
  display: inline-block;
  vertical-align: middle;
  width: 22px;
  height: 22px;
}

.icon svg
{
  display: block;
  fill: currentColor;
  height: 22px;
  line-height: 26px;
  width: auto;
  max-width: 100%;
}

.icon-youtube
{
  width: 32px;
  height: 26px;
}

.icon-youtube svg
{
  display: block;
  fill: currentColor;
  height: 26px;
  line-height: 26px;
  width: 36px;
  max-width: 100%;
}

.flag
{
  display: inline-block;
  vertical-align: middle;
  width: 28px;
  height: 26px;
}

.flag svg
{
  display: block;
  height: 24px;
  line-height: 26px;
  width: auto;
  max-width: 100%;
}

.close-x
{
  display: block;
  position: fixed;
  top: 0;
  width: 25px;
  height: 25px;
  background: transparent;
  border: 0;
  outline: 0;
  cursor: pointer;
  transition: transform .25s ease-in-out;
}

@media (max-width: 1005px)
{
  .close-x
  {
    width: 20px;
    height: 20px;
    margin: 10px;
    padding: 25px;
  }
}

.close-x:hover
{
  transform: rotate(180deg);
}

.close-x:hover:after, .close-x:hover:before
{
  border-color: #ff0046;
}

.close-x:before
{
  content: "";
  position: absolute;
  display: block;
  margin: auto;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  width: 25px;
  height: 0;
  border-top: 3px solid white;
  transform: rotate(45deg);
  transform-origin: center;
}

@media (max-width: 1005px)
{
  .close-x:before
  {
    width: 20px;
  }
}

.close-x:after
{
  content: "";
  position: absolute;
  display: block;
  margin: auto;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  width: 25px;
  height: 0;
  border-top: 3px solid white;
  transform: rotate(-45deg);
  transform-origin: center;
}

@media (max-width: 1005px)
{
  .close-x:after
  {
    width: 20px;
  }
}

@-webkit-keyframes $animation-name
{
  0%
  {
    transform: scale(0.9);
    opacity: 0;
  }

  100%
  {
    transform: scale(1);
    opacity: 1;
  }
}

@-moz-keyframes $animation-name
{
  0%
  {
    transform: scale(0.9);
    opacity: 0;
  }

  100%
  {
    transform: scale(1);
    opacity: 1;
  }
}

@-o-keyframes $animation-name
{
  0%
  {
    transform: scale(0.9);
    opacity: 0;
  }

  100%
  {
    transform: scale(1);
    opacity: 1;
  }
}

@keyframes $animation-name
{
  0%
  {
    transform: scale(0.9);
    opacity: 0;
  }

  100%
  {
    transform: scale(1);
    opacity: 1;
  }
}

.animated--grow-in
{
  -webkit-animation: growIn 200ms transform cubic-bezier(.18,1.25,.4,1), opacity cubic-bezier(0,1,.4,1);
  -moz-animation: growIn 200ms transform cubic-bezier(.18,1.25,.4,1), opacity cubic-bezier(0,1,.4,1);
  -o-animation: growIn 200ms transform cubic-bezier(.18,1.25,.4,1), opacity cubic-bezier(0,1,.4,1);
  animation: growIn 200ms transform cubic-bezier(.18,1.25,.4,1), opacity cubic-bezier(0,1,.4,1);
}

*
{
  box-sizing: border-box;
}

html
{
  position: relative;
  min-height: 100%;
  padding: 0;
  margin: 0;
}

body
{
  font-family: "Rational Text", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5em;
  color: #333;
  background-color: #fff;
  height: 100%;
  padding: 0;
  margin: 0;
  overflow-x: hidden;
}

a:focus
{
  outline: none;
}

h1,
h2,
h3,
h4,
h5,
h6
{
  font-family: "Rational Text", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-weight: bold;
  line-height: 1.1em;
  margin-top: 0;
  padding: 0;
  margin-bottom: 20px;
}

h1
{
  font-weight: bold;
  font-size: 60px;
}

@media (max-width: 835px)
{
  h1
  {
    font-size: 40px;
    padding: 0 10px;
  }
}

h2
{
  font-size: 42px;
  font-weight: bold;
  padding: 0;
  margin: 0 0 30px 0;
}

/*
.top-section-title {
  font-weight: bold;
  //font-size: 40px;
  font-size: 60px;

  @include respond-until(tablet) {
    padding: 0 50px;
  }
}
*/
p
{
  font-size: 22px;
  padding: 0;
  margin: 0;
  line-height: 1.3;
}

p:not(:last-child)
{
  margin-bottom: 10px;
}

img
{
  display: block;
  max-width: 100%;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}

.grid-col
{
  display: grid;
}

.grid-col-1
{
  grid-template-columns: auto;
}

.grid-col-2
{
  grid-template-columns: auto auto;
}

.grid-col-3
{
  grid-template-columns: auto auto auto;
}

.grid-col-4
{
  grid-template-columns: auto auto auto auto;
}

.grid-1-columns
{
  display: grid;
  grid-template-columns: auto;
}

.grid-2-columns
{
  display: grid;
  grid-template-columns: auto auto;
}

.grid-3-columns
{
  display: grid;
  grid-template-columns: auto auto auto;
}

.grid-4-columns
{
  display: grid;
  grid-template-columns: auto auto auto auto;
}

.grid-no-gap
{
  grid-gap: 0;
}

@media (max-width: 835px)
{
  .grid-col-section p
  {
    width: 100%;
  }
}

.grid-col-section .container-smaller
{
  text-align: left;
}

.grid-col-section .grid-col-2
{
  grid-template-columns: 50% 50%;
}

.grid-col-section .grid-col
{
  justify-content: center;
}

@media (max-width: 835px)
{
  .grid-col-section .grid-col
  {
    grid-template-columns: 100%;
  }
}

.grid-col-section .grid-col-item
{
  padding-right: 70px;
}

@media (max-width: 835px)
{
  .grid-col-section .grid-col-item
  {
    padding-right: 0;
    padding-bottom: 70px;
  }

  .grid-col-section .grid-col-item:last-child
  {
    padding-bottom: 0px;
  }
}

.content-wrapper
{
  background-color: #fff;
  width: 100%;
  overflow-x: hidden;
}

.scroll-container
{
  overflow-x: hidden;
  overflow-y: auto;
  height: 100%;
}

.flex-basis-auto
{
  -webkit-flex-basis: auto;
  -moz-flex-basis: auto;
  -ms-flex-basis: auto;
  flex-basis: auto;
}

.hide
{
  display: none !important;
}

.container
{
  width: 100%;
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
}

.container-small
{
  width: 100%;
  max-width: 1150px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
}

.container-smaller
{
  width: 100%;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
}

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

.float-left
{
  float: left;
}

.float-right
{
  float: right;
}

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

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

.text-center
{
  text-align: center;
}

.relative
{
  position: relative;
}

.inline-block
{
  display: inline-block;
  vertical-align: top;
}

.padding-top
{
  padding-top: 120px;
}

.no-padding-top
{
  padding-top: 0px;
}

.padding-bottom
{
  padding-bottom: 120px;
}

.no-padding-bottom
{
  padding-bottom: 0px;
}

.no-padding-sides
{
  padding-left: 0 !important;
  padding-right: 0 !important;
}

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

::-moz-selection
{
  color: #fff;
  background: #ff0049;
}

::selection
{
  color: #fff;
  background: #ff0049;
}

section.no-padding-top
{
  padding-top: 0;
}

@media (max-width: 835px)
{
  section.no-padding-top-mobile
  {
    padding-top: 0;
  }
}

section.no-padding-bottom
{
  padding-bottom: 0;
}

@media (max-width: 835px)
{
  section.no-padding-bottom-mobile
  {
    padding-bottom: 0;
  }
}

@media (max-width: 835px)
{
  section.text-bottom .section-background img
  {
    height: 70%;
  }
}

/*
.section-title {
  font-size: 42px;
  font-weight: bold;
  padding: 0;
  margin: 0 0 30px 0;
}
*/
.section-background
{
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  /*
  &:not(.no-overlay) {
    &:after {
      content: '';
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(#000, .4);
    }
  }
*/;
}

.section-background img, .section-background video
{
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.section-background.overlay-dimmer:after
{
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
}

.section-background-video
{
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  object-fit: cover;
  object-position: center;
  z-index: -1;
}

.modals
{
  position: relative;
  z-index: 9995;
}

.link
{
  color: #ff0046;
  text-decoration: underline;
  cursor: pointer;
}

.link:hover, .link:focus
{
  color: #e6003f;
  text-decoration: none;
}

.link:active
{
  color: #fff;
  text-decoration: none;
}

/*
.list-regular {
  display: block;
  padding: 0;
  margin: 0;
  list-style: none;
  font-size: 22px;
  line-height: 1.2;
  > li {
    padding: 0 0 0 20px;
    margin: 0;
    position: relative;
    &:not(:last-child) {
      margin-bottom: 5px;
    }
    &:before {
      content: '';
      display: block;
      position: absolute;
      left: 0;
      top: 10px;
      border-radius: 10px;
      height: 7px;
      width: 7px;
      background-color: $color-primary;
    }
  }
}
*/
.text-shade
{
  text-shadow: 0px 2px 15px rgba(0, 0, 0, 0.5);
}

.dimmer
{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 99;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  -ms-transition: all 0.2s ease-out;
  -o-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}

.tablet-only
{
  display: none !important;
}

@media (max-width: 835px)
{
  .tablet-only
  {
    display: inline-block !important;
  }
}

body.state-normal .header-sticky
{
  display: none;
}

body.state-sticky .header:not(.header-sticky)
{
  display: none;
}

body.pinned-content .header-sticky
{
  opacity: 0;
}

body.no-overflow
{
  overflow: hidden;
}

.flickity-viewport
{
  touch-action: pan-x !important;
}

.preloader
{
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  z-index: 90;
}

/*
<div class="la-ball-fall la-2x">
    <div></div>
    <div></div>
    <div></div>
</div>
*/
/*!
 * Load Awesome v1.1.0 (http://github.danielcardoso.net/load-awesome/)
 * Copyright 2015 Daniel Cardoso <@DanielCardoso>
 * Licensed under MIT
 */
.la-ball-fall,
.la-ball-fall > div
{
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.la-ball-fall
{
  display: block;
  font-size: 0;
  color: #fff;
}

.la-ball-fall.la-dark
{
  color: #333;
}

.la-ball-fall > div
{
  display: inline-block;
  float: none;
  background-color: currentColor;
  border: 0 solid currentColor;
}

.la-ball-fall
{
  width: 54px;
  height: 18px;
}

.la-ball-fall > div
{
  width: 10px;
  height: 10px;
  margin: 4px;
  border-radius: 100%;
  opacity: 0;
  -webkit-animation: ball-fall 0.8s ease-in-out infinite;
  -moz-animation: ball-fall 0.8s ease-in-out infinite;
  -o-animation: ball-fall 0.8s ease-in-out infinite;
  animation: ball-fall 0.8s ease-in-out infinite;
}

.la-ball-fall > div:nth-child(1)
{
  -webkit-animation-delay: -200ms;
  -moz-animation-delay: -200ms;
  -o-animation-delay: -200ms;
  animation-delay: -200ms;
}

.la-ball-fall > div:nth-child(2)
{
  -webkit-animation-delay: -100ms;
  -moz-animation-delay: -100ms;
  -o-animation-delay: -100ms;
  animation-delay: -100ms;
}

.la-ball-fall > div:nth-child(3)
{
  -webkit-animation-delay: 0ms;
  -moz-animation-delay: 0ms;
  -o-animation-delay: 0ms;
  animation-delay: 0ms;
}

.la-ball-fall.la-sm
{
  width: 26px;
  height: 8px;
}

.la-ball-fall.la-sm > div
{
  width: 4px;
  height: 4px;
  margin: 2px;
}

.la-ball-fall.la-2x
{
  width: 108px;
  height: 36px;
}

.la-ball-fall.la-2x > div
{
  width: 20px;
  height: 20px;
  margin: 8px;
}

.la-ball-fall.la-3x
{
  width: 162px;
  height: 54px;
}

.la-ball-fall.la-3x > div
{
  width: 30px;
  height: 30px;
  margin: 12px;
}

/*
 * Animation
 */
@-webkit-keyframes ball-fall
{
  0%
  {
    opacity: 0;
    -webkit-transform: translateY(-145%);
    transform: translateY(-145%);
  }

  10%
  {
    opacity: .5;
  }

  20%
  {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  80%
  {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  90%
  {
    opacity: .5;
  }

  100%
  {
    opacity: 0;
    -webkit-transform: translateY(145%);
    transform: translateY(145%);
  }
}

@-moz-keyframes ball-fall
{
  0%
  {
    opacity: 0;
    -moz-transform: translateY(-145%);
    transform: translateY(-145%);
  }

  10%
  {
    opacity: .5;
  }

  20%
  {
    opacity: 1;
    -moz-transform: translateY(0);
    transform: translateY(0);
  }

  80%
  {
    opacity: 1;
    -moz-transform: translateY(0);
    transform: translateY(0);
  }

  90%
  {
    opacity: .5;
  }

  100%
  {
    opacity: 0;
    -moz-transform: translateY(145%);
    transform: translateY(145%);
  }
}

@-o-keyframes ball-fall
{
  0%
  {
    opacity: 0;
    -o-transform: translateY(-145%);
    transform: translateY(-145%);
  }

  10%
  {
    opacity: .5;
  }

  20%
  {
    opacity: 1;
    -o-transform: translateY(0);
    transform: translateY(0);
  }

  80%
  {
    opacity: 1;
    -o-transform: translateY(0);
    transform: translateY(0);
  }

  90%
  {
    opacity: .5;
  }

  100%
  {
    opacity: 0;
    -o-transform: translateY(145%);
    transform: translateY(145%);
  }
}

@keyframes ball-fall
{
  0%
  {
    opacity: 0;
    -webkit-transform: translateY(-145%);
    -moz-transform: translateY(-145%);
    -o-transform: translateY(-145%);
    transform: translateY(-145%);
  }

  10%
  {
    opacity: .5;
  }

  20%
  {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
  }

  80%
  {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
  }

  90%
  {
    opacity: .5;
  }

  100%
  {
    opacity: 0;
    -webkit-transform: translateY(145%);
    -moz-transform: translateY(145%);
    -o-transform: translateY(145%);
    transform: translateY(145%);
  }
}

.announcement-bar
{
  height: 60px;
  line-height: 60px;
  width: 100%;
  background-color: #001228;
  color: #fff;
  font-weight: normal;
}

.announcement-bar p
{
  line-height: 60px;
  font-weight: normal;
  color: #fff;
  font-size: 14px;
}

@media (max-width: 1005px)
{
  .announcement-bar p
  {
    line-height: 40px;
  }
}

@media (max-width: 430px)
{
  .announcement-bar p
  {
    font-size: 12px;
  }
}

.announcement-bar p a
{
  color: #fff;
  text-decoration: underline;
}

.announcement-bar-item
{
  text-align: center;
  width: 100%;
}

.header
{
  position: absolute;
  left: 0;
  top: 0;
  padding-top: 60px;
  width: 100%;
  z-index: 3;
  background-color: transparent;
  transition: background-color 200ms ease, transform 200ms ease;
  will-change: background-color, transform;
  z-index: 999;
}

.header .container
{
  display: flex;
  flex-direction: row;
  align-items: center;
  height: 100px;
  position: relative;
}

.header-search
{
  margin-left: 30px;
  margin-top: 2px;
}

.header-search-toggle
{
  color: #fff;
  margin: 0 0 0 25px;
  position: relative;
}

.header-search-toggle:hover, .header-search-toggle:focus
{
  color: #ff0046;
}

.header-search-toggle:active
{
  color: currentColor;
}

.header-logo
{
  display: inline-block;
  vertical-align: top;
  position: absolute;
  left: 50%;
  transform: translate(-50%, -5px);
  z-index: 1;
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  -ms-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

.header-logo a
{
  display: block;
  height: 36px;
}

.header-logo a img
{
  height: 100%;
  width: auto;
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  -ms-transition: all 0.2s ease-out;
  -o-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}

.header-logo:hover a img
{
  transform: scale(1.2);
}

.list-icon-links
{
  list-style: none;
  display: block;
  padding: 0;
  margin: 0;
  color: #fff;
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  -ms-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

.list-icon-links li
{
  list-style: none;
  display: inline-block;
  vertical-align: middle;
  padding: 0;
  margin: 0;
}

.list-icon-links li:not(:last-child)
{
  margin-right: 8px;
}

.list-icon-links li a
{
  color: currentColor;
  text-decoration: none;
}

.list-icon-links li a:hover, .list-icon-links li a:focus
{
  color: #ff0046;
}

.list-icon-links li a:active
{
  color: currentColor;
}

@media (max-width: 1005px)
{
  .list-icon-links li.header-globe
  {
    display: none;
  }
}

.list-icon-links li.header-shop-btn .button-wrap
{
  margin-top: 0;
}

.list-icon-links li.header-shop-btn a:hover, .list-icon-links li.header-shop-btn a:focus, .list-icon-links li.header-shop-btn a:active
{
  color: #fff;
}

@media (max-width: 430px)
{
  .list-icon-links li.header-shop-btn a
  {
    font-size: 12px;
    padding: 0px 10px;
    height: 22px;
    line-height: 20px;
  }
}

.list-icon-links.tablet-only
{
  position: fixed;
  top: auto;
  bottom: 100px;
  right: 0;
  left: 0;
  text-align: center;
}

.header-social-links
{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 215px;
}

.header-cart-links
{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 15px;
}

.header-cart-links .header-shop-btn
{
  margin-left: 15px;
}

.header-cart-links .header-shop-btn a
{
  font-size: 14px;
  padding: 0 20px;
  height: 32px;
  line-height: 32px;
}

.header-cart-links .header-shop-btn a.button--hyperion
{
  color: #fff;
}

.nav-main-sublayer-2
{
  position: fixed;
  z-index: 2;
  left: calc(50vw - 70px);
  top: 0;
  height: 100vh;
  width: 36vw;
  display: flex;
  flex-direction: column;
  text-align: center;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  visibility: hidden;
}

.nav-main-sublayer-2 h3
{
  font-size: 20px;
  font-weight: bold;
  margin: 30px 0 0 0;
  padding: 0;
  display: block;
}

.nav-main-sublayer-2 .image-wrap
{
  max-width: 86%;
  margin-left: auto;
  margin-right: auto;
}

.nav-main-sublayer-2 .image-wrap img
{
  max-height: 70vh;
}

.nav-main-sublayer-2 .button
{
  margin-top: 30px;
}

.nav-main-sublayer-2-inner
{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  text-align: center;
  align-items: center;
  justify-content: center;
  transform: translateX(-100%);
  -webkit-transition: all 0.4s ease-in-out;
  -moz-transition: all 0.4s ease-in-out;
  -ms-transition: all 0.4s ease-in-out;
  -o-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
}

.nav-main-sublayer-2,
.nav-main-sublayer-2-inner
{
  display: none;
}

.nav-main-sublayer-1
{
  position: fixed;
  left: 0;
  top: 0;
  height: 100vh;
  width: calc(50vw - 70px);
  display: none;
  box-shadow: 0 0 20px 20px rgba(0, 0, 0, 0.1);
}

.nav-main-sublayer-1-inner
{
  position: absolute;
  z-index: 1;
  left: 0px;
  top: 0;
  height: 100vh;
  width: calc(50vw - 70px);
  padding-left: calc((100vw - 1290px) / 2 - 2px);
}

@media (max-width: 1335px)
{
  .nav-main-sublayer-1-inner
  {
    padding-left: 13px;
  }
}

@media (max-width: 1005px)
{
  .nav-main-sublayer-1-inner
  {
    padding-left: 0px;
  }
}

.nav-main-sublayer-1-inner:before
{
  content: '';
  display: block;
  position: absolute;
  z-index: 5;
  left: 0;
  top: -200px;
  height: calc(100vh + 600px);
  width: calc(50vw - 70px);
  background-color: #001228;
}

.nav-main-sublayer-1-inner > ul
{
  display: block;
  list-style: none;
  padding: 0;
  margin: 200px 0 0 0;
  width: calc((50vw - 70px) - ((100vw - 1290px) / 2));
  position: relative;
  z-index: 10;
}

@media (max-width: 1335px)
{
  .nav-main-sublayer-1-inner > ul
  {
    margin: 200px 0 0 0;
  }
}

.nav-main-sublayer-1-inner > ul > li
{
  display: block;
  list-style: none;
  padding: 0;
  margin: 0;
  width: 100%;
}

.nav-main-sublayer-1-inner > ul > li:hover > a
{
  color: #ff0046;
}

.nav-main-sublayer-1-inner > ul > li.active .nav-main-sublayer-2-inner
{
  visibility: visible;
  transform: translateX(0%);
}

.nav-main-sublayer-1-inner > ul > li > a
{
  display: inline-block;
  vertical-align: top;
  color: #fff;
  text-decoration: none;
  font-weight: bold;
  font-size: 43px;
  padding-top: 27px;
  padding-bottom: 27px;
}

.nav-main-sublayer-1-inner > ul > li > a:focus, .nav-main-sublayer-1-inner > ul > li > a:active
{
  color: #ff0046;
}

.nav-main-sublayer-1-inner > ul > li > a:focus + .nav-main-sublayer-2, .nav-main-sublayer-1-inner > ul > li > a:active + .nav-main-sublayer-2
{
  display: flex;
}

.nav-main
{
  position: relative;
  color: #fff;
  z-index: 95;
}

.nav-main:hover ~ .header-logo
{
  z-index: 99;
}

.nav-main .close-x
{
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99999;
  margin: 25px;
  padding: 10px;
  display: none;
}

@media (max-width: 1335px)
{
  .nav-main .close-x
  {
    left: 12px;
  }
}

.nav-main > ul
{
  position: relative;
  display: block;
  list-style: none;
  padding: 0;
  margin: 0;
}

.nav-main > ul > li
{
  display: inline-block;
  vertical-align: top;
  list-style: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
}

.nav-main > ul > li:hover > a
{
  color: #ff0046;
}

.nav-main > ul > li:hover .nav-main-sublayer-1
{
  display: block;
}

.nav-main > ul > li:not(:last-child)
{
  margin-right: 30px;
}

.nav-main > ul > li > a
{
  color: currentColor;
  text-decoration: none;
  font-size: 19px;
  font-weight: bold;
  position: relative;
  z-index: 2;
        /*
        &:focus {
          color: $color-primary;
          & + .nav-main-sublayer-1 {
            display: block;
          }
        }
        */
        /* causes issues on mobile
        &:active {
          color: #fff;
          & + .nav-main-sublayer-1 {
            display: block;
          }
        }
*/;
}

.nav-main > ul > li > a > svg
{
  display: none;
}

.nav-main > ul > li > a:hover
{
  color: #ff0046;
}

.nav-main.sub-close ul > li:hover,
  .nav-main.sub-close ul > li .nav-main-sublayer-1
{
  display: none !important;
}

.nav-main-toggle
{
  display: none;
  color: #fff;
  text-decoration: none;
  position: relative;
  z-index: 1;
  background: transparent;
  outline: 0;
  border: 0;
  cursor: pointer;
}

.nav-main-toggle.hide-mobile-navigation
{
  position: fixed;
  z-index: 9995;
  top: 0;
  left: -8px;
}

.desktop-menu-opened
{
  overflow: hidden;
  /*
  .nav-main {
    ul {
      > li {
        .nav-main-sublayer-1 {
          display: block;
        }
      }
    }
  }
*/;
}

.desktop-menu-opened .header-logo
{
  opacity: 0.1;
}

.desktop-menu-opened .header .list-icon-links
{
  opacity: 0.1;
}

.desktop-menu-opened .dimmer
{
  visibility: visible;
  opacity: 1;
}

.header-sticky
{
  position: fixed;
  top: 0;
  padding-top: 0;
  background-color: #001228;
  transform: translateY(-105%);
  z-index: 9990;
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  -ms-transition: all 0.2s ease-out;
  -o-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}

@media (max-width: 1005px)
{
  .header-sticky
  {
    top: 0 !important;
  }
}

.header-sticky .nav-main-sublayer-1,
  .header-sticky .nav-main-sublayer-1-inner,
  .header-sticky .nav-main-sublayer-1-inner:before,
  .header-sticky .nav-main-sublayer-2
{
  height: 100vh;
}

.header-sticky .nav-main-sublayer-1
{
  top: -60px;
}

.header-sticky .nav-main-sublayer-1-inner:before
{
  top: 0;
  height: 200vh;
}

.header-sticky.slideDown
{
  transform: translateY(0%);
}

body.mobile-menu-opened .list-icon-links.tablet-only .header-globe
{
  display: inline-block;
}

/*
body {
  &.test {
    .header {
      &:not(.header-sticky) {
        .nav-main {

          li {
            &:first-child {
              .nav-main-sublayer-1 {
                display: block !important;

                .nav-main-sublayer-1-inner {

                  li {
                    &:first-child {
                      .nav-main-sublayer-2 {
                        display: flex !important;
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}
*/
/*

body {
  &.test {
    .header {
      &:not(.header-sticky) {
        .nav-main {

          .close-x {
            //left: calc((100vw - 1290px) / 2);
            //margin-left: 0;

              @include respond-until(laptop-menu-collide-left) {
                //left: 12px;
              }
          }

          li {
            &:first-child {
              .nav-main-sublayer-1 {
                position: fixed;
                display: block !important;
                background: red !important;

                ul {
                  margin-left: 0;
                }

                .nav-main-sublayer-1-inner {
                  position: absolute;
                  &:before {
                    //background: transparent !important;

                    //for easier debug
                    z-index: 999;
                    opacity: 0.2;
                  }
                  li {
                    &:first-child {
                      .nav-main-sublayer-2 {
                        display: flex !important;
                      }
                    }
                  }
                }
              }
            }

            .nav-main-sublayer-2-inner {
              visibility: visible;
              transform: translateX(0%) !important;
            }
          }
        }
      }
    }
  }
}


*/
.modals .close-x
{
  position: absolute;
  right: 0;
  margin: 25px;
  padding: 10px;
}

@media (max-width: 1005px)
{
  .modals .close-x
  {
    margin: 10px;
    padding: 25px;
  }
}

.location-modal
{
  position: fixed;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  color: #fff;
  /*
  .section-title {
    text-align: center;
    font-size: 43px;
    margin-bottom: 60px;
  }
*/
  /*
  .button-close {
    position: absolute;
    right: 20px;
    top: 20px;
  }
  */;
}

.location-modal h2
{
  text-align: center;
  font-size: 43px;
  margin-bottom: 0px;
}

.location-modal p
{
  margin-top: 10px;
}

.modal-close-layer
{
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.4);
}

.location-modal-container
{
  background-color: #001228;
  position: fixed;
  width: 100%;
  max-width: 1120px;
  max-height: calc(100vh - 100px);
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  margin: 0;
  padding: 70px 100px;
  overflow: auto;
  border-radius: 3px;
}

.locations-wrap
{
  display: flex;
  justify-content: space-around;
  margin-top: 60px;
}

.locations-navigation h3
{
  display: block;
  padding: 0;
  margin: 0 0 20px 0;
  font-size: 29px;
}

.locations-navigation ul
{
  list-style: none;
  padding: 0;
  margin: 0;
  display: block;
}

.locations-navigation ul li
{
  position: relative;
  list-style: none;
  padding: 0;
  margin: 0;
  display: block;
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  -ms-transition: all 0.2s ease-out;
  -o-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}

.locations-navigation ul li:not(:last-child)
{
  margin-bottom: 21px;
}

.locations-navigation ul li a
{
  color: #fff;
  text-decoration: none;
  font-size: 21px;
}

.locations-navigation ul li a:hover, .locations-navigation ul li a:focus
{
  color: #ff0046;
}

.locations-navigation ul li a:active
{
  color: #fff;
}

.locations-navigation ul li:hover
{
  transform: translateX(10px);
}

.locations-navigation .flag
{
  margin-right: 5px;
}

.location-modal-footer
{
  margin-top: 80px;
  text-align: center;
}

.location-modal-footer p
{
  font-size: 20px;
  margin-bottom: 1px;
  margin-top: 0;
}

.location-modal-footer a
{
  color: #ff0046;
  text-decoration: underline;
  cursor: pointer;
}

.location-modal-footer a:hover
{
  text-decoration: none;
}

.list-shops
{
  list-style: none;
  display: block;
  margin: 0;
  padding: 0;
  text-align: center;
  width: 100%;
  display: grid;
  justify-content: space-evenly;
  grid-template-columns: 1fr 1fr;
}

@media (max-width: 430px)
{
  .list-shops
  {
    grid-template-columns: 100%;
  }
}

.list-shops li
{
  list-style: none;
  display: block;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  max-height: 100px;
  height: 100%;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

@media (max-width: 430px)
{
  .list-shops li
  {
    max-height: none;
    height: auto;
  }
}

.list-shops li:not(:last-child)
{
  margin-bottom: 30px;
}

.list-shops li a
{
  display: inline-block;
  vertical-align: top;
  text-decoration: none;
  width: 100%;
  padding: 20px;
}

.list-shops li a img
{
  position: relative;
  display: block;
  width: 100%;
  max-width: 270px;
  transform: translateY(-30px);
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

@media (max-width: 430px)
{
  .list-shops li a img
  {
    max-width: 200px;
  }
}

.list-shops li:hover
{
  background: #e6003f;
}

.shop-modal
{
  position: fixed;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  color: #fff;
  /*
  .section-title {
    text-align: center;
    font-size: 43px;
    margin-bottom: 100px;
  }
*/;
}

.shop-modal .close-x:hover:after, .shop-modal .close-x:hover:before
{
  border-color: #ffffff;
}

.shop-modal h2
{
  text-align: center;
  font-size: 43px;
  margin-bottom: 10px;
}

.shop-modal .list-shops
{
  margin-top: 50px;
}

.shop-modal .button-close
{
  position: absolute;
  right: 20px;
  top: 20px;
}

.shop-modal .button-close:hover, .shop-modal .button-close:focus, .shop-modal .button-close:active
{
  color: #fff;
}

.shop-modal.active .list-shops li
{
  position: relative;
  z-index: 99;
}

.shop-modal.active .list-shops li a img
{
  transform: translateX(0px);
}

.shop-modal-container
{
  background-color: #ff0046;
  position: fixed;
  right: 0;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  max-width: 1120px;
  max-height: calc(100vh - 100px);
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow-y: auto;
  margin: auto;
  padding: 40px;
  border-radius: 3px;
}

@media (max-width: 430px)
{
  .shop-modal-container
  {
    justify-content: flex-start;
    padding-top: 100px;
    padding-bottom: 100px;
    top: 0;
    transform: none;
    height: 100%;
    max-height: 100%;
    padding-left: 0;
    padding-right: 0;
  }
}

.video-modal
{
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  height: 100%;
  width: 100%;
  color: #fff;
  margin: auto;
}

.video-modal.active
{
  display: block;
}

.video-modal-container
{
  position: absolute;
  width: 100%;
  max-width: 1120px;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  margin: 0;
  margin: auto;
  overflow: auto;
}

@media (max-width: 835px)
{
  .video-modal-container
  {
    padding: 0;
  }
}

.video-frame
{
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: transparent;
  z-index: 95;
}

.video-wrapper169
{
  position: absolute;
  padding-bottom: 56.25%;
  padding-top: 0;
  height: 0;
  z-index: 4;
}

.video-modal-wrapper
{
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

@media (max-width: 835px)
{
  .video-modal-wrapper
  {
    height: 350px;
  }
}

@media (max-width: 430px)
{
  .video-modal-wrapper
  {
    height: 180px;
  }
}

.modal-item
{
  visibility: hidden;
  opacity: 0;
  z-index: 4;
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  -ms-transition: all 0.2s ease-out;
  -o-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}

.modal-item.active
{
  visibility: visible;
  opacity: 1;
}

.footer
{
  background-color: #dbe2e9;
  color: #333;
  padding-top: 85px;
  padding-bottom: 40px;
}

.footer-top
{
  display: grid;
  grid-template-columns: 25% 51% 24%;
}

.footer-logo
{
  color: #11131f;
  width: 100px;
  margin-top: -10px;
}

.footer-logo svg
{
  display: block;
  height: 40px;
}

.footer-navigation
{
  /*
  ul {
    display: block;
    list-style: none;
    padding: 0;
    margin: 0;
    li {
      display: block;
      list-style: none;
      padding: 0;
      margin: 0;
      font-size: 18px;
      &:not(:last-child) {
        margin-bottom: 10px;
      }
    }
  }
*/;
}

@media (max-width: 835px)
{
  .footer-navigation
  {
    cursor: pointer;
    margin-left: -15px;
    margin-right: -15px;
  }
}

.footer-navigation h3
{
  display: block;
  padding: 0;
  margin: 0 0 15px 0;
  font-size: 20px;
  font-weight: bold;
}

.footer-navigation h3 svg
{
  display: none;
}

.footer-navigation ul
{
  display: grid;
  grid-template-columns: 33.33333% 33.33333% 33.33333%;
  padding: 0;
  margin: 0;
  list-style: none;
}

.footer-navigation ul li
{
  margin: 0 0 15px 0;
}

.footer-navigation ul li span
{
  display: block;
  padding: 0;
  margin: 0;
  font-size: 20px;
  font-weight: bold;
}

.footer-navigation ul li svg
{
  display: none;
}

@media (max-width: 835px)
{
  .footer-navigation ul li svg
  {
    display: block;
  }
}

.footer-navigation ul li ul
{
  display: block;
  list-style: none;
  padding: 0;
  margin: 0;
}

@media (max-width: 835px)
{
  .footer-navigation ul li ul
  {
    text-align: left;
    background-color: rgba(255, 255, 255, 0.5);
    display: none;
  }
}

.footer-navigation ul li ul a
{
  cursor: pointer;
}

.footer-navigation ul li ul a:hover, .footer-navigation ul li ul a:focus
{
  color: #ff0046;
}

.footer-navigation ul li ul li
{
  display: block;
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 18px;
}

.footer-navigation ul li ul li span
{
  font-weight: normal;
  font-size: 18px;
}

.footer-navigation ul li ul li:not(:last-child)
{
  margin-bottom: 10px;
}

@media (max-width: 835px)
{
  .footer-navigation ul li ul li:not(:last-child)
  {
    margin-bottom: 0;
  }
}

@media (max-width: 835px)
{
  .footer-navigation ul li.active svg
  {
    transform: translateY(-50%) rotate(0deg);
  }
}

@media (max-width: 835px)
{
  .footer-navigation ul li.active ul
  {
    display: block;
  }
}

.footer-navigation a
{
  display: inline-block;
  vertical-align: top;
  text-decoration: none;
  color: currentColor;
  cursor: default;
}

@media (max-width: 835px)
{
  .footer-navigation a
  {
    cursor: pointer;
  }

  .footer-navigation a:hover, .footer-navigation a:focus
  {
    color: #ff0046;
  }
}

.footer-navigation a:active
{
  color: currentColor;
}

.footer-navigation a.footer-main
{
  margin-bottom: 15px;
}

@media (max-width: 835px)
{
  .footer-navigation a.footer-main
  {
    margin-bottom: 0;
  }
}

@media (max-width: 835px)
{
  .footer-navigation a svg
  {
    display: block;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%) rotate(-90deg);
    height: 20px;
    fill: #333;
    width: 24px;
  }
}

@media (max-width: 835px)
{
  .footer-navigation a
  {
    display: block;
    padding: 10px 20px;
    text-align: left;
    position: relative;
    margin-bottom: 0;
  }
}

.footer-navigation a.has-link
{
  cursor: pointer;
}

.footer-navigation a.has-link svg
{
  display: none;
}

.footer-navigation a.has-link:hover, .footer-navigation a.has-link:focus
{
  color: #ff0046;
}

@media (max-width: 835px)
{
  .footer-top,
  .footer-navigation > ul
  {
    display: grid;
    grid-template-columns: 100%;
    grid-gap: 0;
    text-align: center;
  }
}

.footer-social-links
{
  text-align: center;
  color: #333;
}

.footer-social-links li a
{
  color: currentColor;
}

.footer-social-links li a:hover, .footer-social-links li a:focus
{
  color: #ff0046;
}

.footer-social-links li a:active
{
  color: currentColor;
}

.footer-bottom
{
  font-size: 18px;
  margin-top: 65px;
  padding-left: 100px;
}

.top-section
{
  height: 100vh;
  width: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  color: #fff;
  display: flex;
  align-items: center;
  font-size: 38px;
  position: relative;
}

.top-section-content
{
  max-width: 550px;
  margin-top: -135px;
}

@media (max-width: 835px)
{
  .top-section-content
  {
    text-align: center;
  }
}

@media (max-width: 430px)
{
  .top-section-content h1
  {
    padding: 0;
  }
}

.top-section-content p
{
  font-weight: normal;
  font-size: 22px;
  padding: 0;
  margin: 0 0 20px 0;
  line-height: 1.3;
}

.top-section-content .button-wrapper .button-wrap:first-child
{
  margin-top: 50px;
}

.section-3-colors
{
  padding-top: 90px;
  padding-bottom: 120px;
  text-align: center;
}

.section-3-colors .image-wrap
{
  height: 440px;
  width: auto;
  margin-bottom: 26px;
}

.section-3-colors .image-wrap img
{
  height: 100%;
  width: auto;
}

.section-3-colors h3
{
  font-size: 22px;
  font-weight: bold;
  margin: 0;
  padding: 0;
  display: block;
  margin-top: 20px;
}

.section-3-colors p
{
  width: 550px;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.section-3-colors a
{
  margin-top: 0;
}

.section-3-colors .button-wrap
{
  margin-top: 30px;
}

.section-categories
{
  padding-top: 25px;
  text-align: center;
}

.list-categories
{
  position: relative;
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
}

.list-categories > li
{
  display: block;
  list-style: none;
  padding: 0;
  margin: 0;
}

.list-categories > li > a
{
  position: relative;
  display: block;
  overflow: hidden;
}

.list-categories > li > a:before
{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 95;
  opacity: 0;
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  -ms-transition: all 0.2s ease-out;
  -o-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}

.list-categories > li > a:hover:before, .list-categories > li > a:focus:before
{
  opacity: 1;
}

.list-categories > li > a:hover .list-categories-image img, .list-categories > li > a:focus .list-categories-image img
{
  transform: scale(1.1);
}

.list-categories-image img
{
  transform: scale(1);
  will-change: transform;
  transition: transform 200ms ease;
}

.list-categories-title
{
  position: relative;
  color: #fff;
  font-size: 28px;
  line-height: 1.2;
  font-weight: bold;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 98;
}

.section-single-product
{
  padding-top: 120px;
  padding-bottom: 127px;
  text-align: center;
  /*
    .section-title {
      width: 720px;
      margin-left: auto;
      margin-right: auto;
      margin-bottom: 140px;

      @include media_mix(laptopHeightMd) {
        margin-bottom: 40px;
      }
    }
  */;
}

@media (max-width: 835px)
{
  .section-single-product
  {
    padding-left: 15px;
    padding-right: 15px;
  }
}

.section-single-product ul
{
  display: inline-block;
  font-size: 20px;
  text-align: left;
  margin: 0;
  padding: 0;
  padding-top: 20px;
}

@media (max-width: 835px)
{
  .section-single-product ul
  {
    font-size: 18px;
    margin: 20px;
  }
}

.section-single-product ul li
{
  list-style-type: circle;
  list-style-position: outside;
  padding-bottom: 10px;
  padding-left: 5px;
}

.section-single-product ul li:last-child
{
  padding-bottom: 0;
}

.section-single-product h2
{
  width: 720px;
  margin-left: auto;
  margin-right: auto;
}

@media _mix
{
  .section-single-product h2
  {
    margin-bottom: 40px;
  }
}

@media (max-width: 835px)
{
  .section-single-product h2
  {
    margin-bottom: 60px;
    padding: 0;
  }
}

.section-single-product .image-wrap
{
  height: 465px;
  margin-bottom: 85px;
}

@media (max-width: 835px)
{
  .section-single-product .image-wrap
  {
    height: auto;
  }
}

.section-single-product .image-wrap img
{
  height: 100%;
  width: auto;
}

@media (max-width: 835px)
{
  .section-single-product .image-wrap img
  {
    height: auto;
    width: 70%;
  }
}

.section-single-product .image-wrap.canvas-wrapper
{
  margin-top: 110px;
      /*
      @include media_mix(laptopHeightMd) {
        transform: scale(0.8);
        top: 40px;
        margin-top: 0px;
      }
*/;
}

@media (max-width: 835px)
{
  .section-single-product .image-wrap.canvas-wrapper
  {
    margin-top: 100px;
  }
}

.section-single-product .image-wrap.canvas-wrapper .canvas-inner img
{
  position: relative;
  width: 100%;
  height: auto;
}

.section-single-product .button-wrap
{
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  margin-bottom: 30px;
}

.section-single-product .button
{
  -webkit-transition: all 1s ease-out;
  -moz-transition: all 1s ease-out;
  -ms-transition: all 1s ease-out;
  -o-transition: all 1s ease-out;
  transition: all 1s ease-out;
}

.section-single-product.3drotation
{
    /*
    .section-title {
      margin-bottom: 80px;
    }
    */;
}

.section-single-product.3drotation h2
{
  margin-bottom: 80px;
}

.section-single-product.3drotation .button
{
  margin-top: 140px;
}

.section-single-product.scroll-done
{
    /*
    .button {
      visibility: visible;
      opacity: 1;
    }

  */;
}

.section-single-product.scroll-done .rotation-svgs-inner
{
  opacity: 0;
}

@media (min-width: 550px) and (max-height: 900px)
{
  .section-single-product .image-wrap.canvas-wrapper
  {
    transform: scale(0.8);
    top: 0px;
    margin-top: 0px;
  }
}

.section-app
{
  height: 1025px;
  padding-top: 0;
  padding-bottom: 0;
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  align-items: center;
  position: relative;
}

.section-app .container-small
{
  display: grid;
  grid-template-columns: 40% 38%;
  justify-content: space-between;
}

.section-app .button-wrap
{
  text-align: left;
}

.section-app-info
{
  margin-top: 70px;
}

.section-app-image
{
  display: block;
}

.section-app-image img
{
  width: auto;
}

.section-articles
{
  text-align: center;
  padding-top: 125px;
  padding-bottom: 120px;
}

.list-articles
{
  display: grid;
  list-style: none;
  padding: 0;
  margin: 0;
}

.list-article
{
  position: relative;
  display: block;
  list-style: none;
  padding: 0;
  margin: 0;
  position: relative;
  height: 416px;
  overflow: hidden;
}

.list-article:before
{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 95;
  opacity: 0;
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  -ms-transition: all 0.2s ease-out;
  -o-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}

.list-article:hover:before
{
  opacity: 1;
}

.list-article:hover img
{
  transform: scale(1.1);
}

.list-article .button
{
  position: absolute;
  bottom: 55px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 98;
}

.list-article-image
{
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 90;
}

.list-article-image img
{
  display: block;
  object-fit: cover;
  object-position: center;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(1);
  transition: transform 200ms ease;
  will-change: transform;
}

.list-article-title
{
  position: relative;
  color: #fff;
  padding: 0;
  margin: 0;
  display: block;
  width: 100%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  text-align: center;
  font-size: 30px;
  font-weight: bold;
  padding-left: 20px;
  padding-right: 20px;
  z-index: 96;
}

.list-article-title a
{
  color: currentColor;
  text-decoration: none;
}

@media (min-width: 835px)
{
  .list-articles.flickity-enabled .list-article
  {
    width: calc(100% / 3 - 15px);
    margin-left: 15px;
    margin-right: 15px;
    display: block;
  }

  .list-articles.flickity-enabled .flickity-prev-next-button
  {
    color: #000000;
    visibility: hidden;
  }

  .list-articles.flickity-enabled .flickity-prev-next-button:disabled
  {
    display: none;
  }

  .list-articles.flickity-enabled .flickity-prev-next-button.previous, .list-articles.flickity-enabled .flickity-prev-next-button.next
  {
    -webkit-transition: all 0.2s ease-out;
    -moz-transition: all 0.2s ease-out;
    -ms-transition: all 0.2s ease-out;
    -o-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;
  }

  .list-articles.flickity-enabled .flickity-prev-next-button.previous:before, .list-articles.flickity-enabled .flickity-prev-next-button.next:before
  {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.5);
    opacity: 0;
    -webkit-transition: all 0.2s ease-out;
    -moz-transition: all 0.2s ease-out;
    -ms-transition: all 0.2s ease-out;
    -o-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;
  }
}

@media (min-width: 835px) and (max-width: 1418px)
{
  .list-articles.flickity-enabled .flickity-prev-next-button.previous:before, .list-articles.flickity-enabled .flickity-prev-next-button.next:before
  {
    opacity: 1;
  }
}

@media (min-width: 835px)
{
  .list-articles.flickity-enabled .flickity-prev-next-button.previous
  {
    left: -70px;
  }
}

@media (min-width: 835px) and (max-width: 1418px)
{
  .list-articles.flickity-enabled .flickity-prev-next-button.previous
  {
    left: 0;
    top: 10%;
  }
}

@media (min-width: 835px)
{
  .list-articles.flickity-enabled .flickity-prev-next-button.next
  {
    right: -70px;
  }
}

@media (min-width: 835px) and (max-width: 1418px)
{
  .list-articles.flickity-enabled .flickity-prev-next-button.next
  {
    right: 0;
    top: 10%;
  }
}

.list-articles.slide-buttons-show .flickity-prev-next-button
{
  visibility: visible;
}

.section-product-options
{
  text-align: center;
  padding-top: 120px;
  padding-bottom: 120px;
}

.section-product-options h3
{
  font-size: 22px;
  font-weight: bold;
  margin: 0;
  padding: 0;
  display: block;
}

.section-product-options a
{
  text-decoration: none;
}

.section-product-options a h3
{
  font-weight: normal;
  color: #333;
  position: relative;
  top: 20px;
}

.section-product-options .button-wrap
{
  margin-top: 30px;
}

.list-product-options
{
  list-style: none;
  margin: 45px 0 50px 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}

.list-product-options > li
{
  position: relative;
  list-style: none;
  display: block;
  margin: 0;
  padding: 0 10px;
  text-align: center;
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  -ms-transition: all 0.2s ease-out;
  -o-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}

.list-product-options > li:before
{
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  width: 60%;
  height: 60%;
  margin: auto;
  background: transparent;
  border: 0;
  outline: none;
  border-radius: 50% 50%;
  -webkit-box-shadow: 0px 0px 50px 30px rgba(0, 0, 0, 0.5);
  box-shadow: 0px 0px 50px 30px rgba(0, 0, 0, 0.5);
  -webkit-transition: all 0.4s ease-out;
  -moz-transition: all 0.4s ease-out;
  -ms-transition: all 0.4s ease-out;
  -o-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out;
}

.list-product-options > li a
{
  position: relative;
  display: inline-block;
  vertical-align: top;
  text-decoration: none;
  width: 100%;
  max-width: 355px;
  z-index: 9;
}

.list-product-options > li:hover
{
  transform: scale(1.1);
}

.list-product-options > li:hover:before
{
  -webkit-box-shadow: 0px 0px 50px 40px rgba(0, 0, 0, 0.7);
  box-shadow: 0px 0px 50px 40px rgba(0, 0, 0, 0.7);
}

@media (max-width: 835px)
{
  .list-product-options.flickity-enabled .line-reveal-container
  {
    top: 0;
    left: 0;
    right: 0;
    text-align: center;
    display: none;
  }

  .list-product-options.flickity-enabled .line-container-reveal-inner
  {
    transform: translate(0%, 0%) !important;
  }

  .list-product-options.flickity-enabled .text-reveal
  {
    overflow: visible !important;
    top: 100px;
    left: -4px;
    opacity: 0;
    transform: scale(0.6);
    -webkit-transition: all 0.4s ease-out;
    -moz-transition: all 0.4s ease-out;
    -ms-transition: all 0.4s ease-out;
    -o-transition: all 0.4s ease-out;
    transition: all 0.4s ease-out;
  }

  .list-product-options.flickity-enabled .text-reveal .text-reveal-item
  {
    opacity: 1 !important;
    visibility: visible !important;
    top: 0px !important;
    background: rgba(255, 255, 255, 0.8);
    padding: 10px;
    border-radius: 4px;
  }

  .list-product-options.flickity-enabled .line-reveal-wrap
  {
    display: none;
  }

  .list-product-options.flickity-enabled li
  {
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .list-product-options.flickity-enabled li a img
  {
    -webkit-transition: all 0.4s ease-out;
    -moz-transition: all 0.4s ease-out;
    -ms-transition: all 0.4s ease-out;
    -o-transition: all 0.4s ease-out;
    transition: all 0.4s ease-out;
  }

  .list-product-options.flickity-enabled li.is-selected a img
  {
    transform: scale(1.1);
  }

  .list-product-options.flickity-enabled li.is-selected .text-reveal
  {
    transform: scale(1);
    opacity: 1;
  }
}

.section-reviews
{
  height: 100vh;
  width: 100%;
  position: relative;
  text-align: center;
  color: #fff;
  /*
  .section-title {
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
  }
  */;
}

.section-reviews h2
{
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
}

.section-reviews-background
{
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

.section-reviews-background:after
{
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
}

.section-reviews-background img, .section-reviews-background video
{
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.section-review-wrap
{
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
}

@media (max-width: 835px)
{
  .section-review-wrap
  {
    position: relative;
    top: 0;
    transform: none;
  }
}

.section-reviews-slider
{
  margin-top: 50px;
}

.section-reviews-slider .flickity-prev-next-button
{
  top: 52px;
}

.section-review
{
  display: block;
  width: 100%;
}

.section-review p
{
  font-size: 28px;
  line-height: 1.2;
  display: block;
  margin-left: auto;
  margin-right: auto;
  max-width: 730px;
}

/*
.section-review-text {
  font-size: 28px;
  line-height: 1.2;
  display: block;
  margin-left: auto;
  margin-right: auto;
  width: 730px;
}
*/
.section-review-author
{
  text-align: center;
  margin-top: 60px;
}

.section-review-author img
{
  display: inline-block;
  vertical-align: top;
  max-height: 100px;
  max-width: 220px;
}

.section-review-author h3
{
  font-size: 30px;
  font-weight: bold;
  padding: 0;
  margin: 0 0 5px 0;
}

.section-review-author h4
{
  font-size: 28px;
  font-weight: normal;
  padding: 0;
  margin: 0;
}

.section-video
{
  position: relative;
  display: block;
  width: 100%;
}

.section-video.video-inline .video-target-container
{
  position: relative;
  height: auto;
}

.section-video.video-inline .video-target-container img
{
  height: auto;
}

.section-video.video-full
{
  padding-bottom: 56.25%;
}

.section-video .container
{
  position: relative;
  height: inherit;
}

.video-placeholder
{
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.video-placeholder img
{
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.video-play
{
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: transparent;
  transition: background-color 200ms ease;
  will-change: background-color;
  z-index: 96;
}

.video-play svg
{
  display: inline-block;
  vertical-align: top;
  transform: scale(1);
  transition: transform 200ms ease;
  will-change: transform;
  width: 90px;
}

@media (max-width: 835px)
{
  .video-play svg
  {
    width: 60px;
  }
}

.video-play:hover svg, .video-play:focus svg
{
  transform: scale(1.2);
}

.video-play:active svg
{
  transform: scale(1);
}

.video-target-container
{
  overflow: hidden;
}

.video-target-container img
{
  position: relative;
  z-index: 95;
}

.video-target-container .video-wrapper169
{
  position: absolute;
  z-index: 98;
}

.section-video
{
  /*
  &.video-inline {
    .video-target-container {
      .video-wrapper169 {
        position: relative;
      }
    }
  }
*/;
}

.section-video.video-auto .video-target-container .video-wrapper169
{
  position: relative;
}

.section-share
{
  padding-top: 170px;
  color: #fff;
  text-align: center;
  position: relative;
  height: 525px;
  overflow: hidden;
  /*
  .section-title {
    width: 510px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 50px;
  }
  */;
}

.section-share h2
{
  width: 510px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 50px;
}

.section-share .section-background
{
  height: 110%;
  position: absolute;
  top: -4%;
}

.list-share-icons
{
  list-style: none;
  display: block;
  padding: 0;
  margin: 0;
  text-align: center;
}

.list-share-icons li
{
  list-style: none;
  display: inline-block;
  vertical-align: top;
  padding: 0;
  margin: 0;
}

.list-share-icons li:not(:last-child)
{
  margin-right: 30px;
}

.list-share-icons li a
{
  display: flex;
  text-decoration: none;
  color: #fff;
  width: 70px;
  height: 70px;
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  -ms-transition: all 0.2s ease-out;
  -o-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}

.list-share-icons li a svg
{
  display: block;
  width: 100%;
  height: auto;
  fill: currentColor;
  stroke: #ffffff;
}

.list-share-icons li a svg, .list-share-icons li a path
{
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  -ms-transition: all 0.2s ease-out;
  -o-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}

.list-share-icons li a:hover, .list-share-icons li a:focus
{
  transform: scale(1.1);
}

.list-share-icons li a:hover svg, .list-share-icons li a:hover path, .list-share-icons li a:focus svg, .list-share-icons li a:focus path
{
  stroke: #ff0046;
  fill: #ff0046;
  color: #ff0046;
}

.section-steps
{
  background-color: #001228;
  color: #fff;
  padding-top: 125px;
  padding-bottom: 125px;
  /*
  .section-title {
    text-align: center;
    margin-bottom: 40px;
  }
  */;
}

.section-steps h2
{
  text-align: center;
  margin-bottom: 40px;
}

.section-steps .button-wrapper
{
  text-align: center;
}

.section-steps .button-wrapper .button-wrap:first-child
{
  margin-top: 60px;
}

.section-presentation
{
  background: transparent;
  color: #000;
  padding-top: 125px;
  padding-bottom: 125px;
  /*
  .section-title {
    text-align: center;
  }
*/;
}

.section-presentation h2
{
  text-align: center;
}

.section-presentation .button-wrap
{
  margin-top: 60px;
}

.section-presentation .info-row-col .button-wrap
{
  margin-top: 0px;
  text-align: left;
}

@media (max-width: 835px)
{
  .section-presentation .info-row-col .button-wrap
  {
    text-align: center;
  }
}

.info-row .container-smaller
{
  display: grid;
  justify-content: space-between;
}

@media (max-width: 835px)
{
  .info-row .container-smaller
  {
    display: block;
  }
}

.info-row.info-row-centered
{
  text-align: center;
}

.info-row.info-content-left-right .container-smaller
{
  grid-template-columns: 50% 50%;
}

@media (max-width: 835px)
{
  .info-row.info-content-left-right .container-smaller
  {
    display: grid;
  }
}

.info-row.info-content-left-right .info-row-col
{
  padding-bottom: 120px;
}

.info-row.info-content-left-right .info-row-col img.info-row-product
{
  max-width: 300px;
  max-height: 300px;
  margin-top: 20px;
}

.info-row.info-content-left-right .info-row-col img.info-row-product:first-child
{
  margin-top: 0;
}

.info-row.info-content-left-right .info-row-col .info-row-text
{
  padding-right: 60px;
}

@media (max-width: 835px)
{
  .info-row.info-content-left-right .info-row-col .info-row-text
  {
    padding-right: 0;
  }
}

.info-row.info-content-left-right .info-row-col .info-row-text h3
{
  font-size: 35px;
  margin: 0px 0 20px 0;
}

.info-row.info-content-left-right .info-row-col .info-row-text h3.list-price-item
{
  font-size: 22px;
  font-weight: bold;
  margin: 0;
  padding: 0;
  display: block;
  margin-top: 20px;
}

.info-row.info-content-left-right .info-row-col .info-row-text .button:last-child
{
  margin-top: 20px;
}

@media (max-width: 835px)
{
  .info-row.info-content-left-right .info-row-col .info-row-text .button
  {
    margin-bottom: 80px;
  }
}

.info-row.info-content-left-right .info-row-col:nth-child(even) .info-row-text
{
  padding-right: 0;
  padding-left: 60px;
}

@media (max-width: 835px)
{
  .info-row.info-content-left-right .info-row-col:nth-child(even) .info-row-text
  {
    padding-left: 0;
  }
}

@media (max-width: 835px)
{
  .info-row.info-content-left-right .info-row-col
  {
    padding-bottom: 30px;
  }
}

.info-row.info-content-left-right:last-child .info-row-col
{
  padding-bottom: 0;
}

@media (max-width: 835px)
{
  .info-row.info-content-left-right:last-child .info-row-col:last-child .button:last-child
  {
    margin-bottom: 0px;
  }
}

@media (max-width: 835px)
{
  .info-row.info-content-left-right:last-child .info-row-col:not(:last-child)
  {
    padding-bottom: 30px;
  }
}

.info-row.info-content-left-right.info-content-image-left .info-row-col
{
  order: 1;
}

@media (max-width: 835px)
{
  .info-row.info-content-left-right.info-content-image-left .info-row-col
  {
    order: 2;
  }
}

.info-row.info-content-left-right.info-content-image-left .info-row-col:first-child
{
  order: 2;
}

@media (max-width: 835px)
{
  .info-row.info-content-left-right.info-content-image-left .info-row-col:first-child
  {
    order: 1;
  }
}

.info-row.info-content-left-right.info-content-image-right .info-row-col
{
  order: 2;
}

@media (max-width: 835px)
{
  .info-row.info-content-left-right.info-content-image-right .info-row-col
  {
    order: 1;
  }
}

.info-row.info-content-left-right.info-content-image-right .info-row-col:first-child
{
  order: 1;
}

@media (max-width: 835px)
{
  .info-row.info-content-left-right.info-content-image-right .info-row-col:first-child
  {
    order: 2;
  }
}

.info-row.info-content-left-right.no-max-height .info-row-col img.info-row-product
{
  max-height: none;
}

.info-row.info-content-step:not(:last-child)
{
  margin-bottom: 65px;
}

.info-row.info-content-step:nth-child(odd) .container-smaller
{
  grid-template-columns: 30% 635px;
}

@media (max-width: 1005px)
{
  .info-row.info-content-step:nth-child(odd) .container-smaller
  {
    grid-template-columns: 30% 70%;
  }
}

@media (max-width: 835px)
{
  .info-row.info-content-step:nth-child(odd) .container-smaller
  {
    grid-template-columns: 100%;
    display: block;
  }
}

@media (max-width: 1005px)
{
  .info-row.info-content-step:nth-child(odd) .info-row-text
  {
    padding-right: 20px;
  }
}

@media (max-width: 835px)
{
  .info-row.info-content-step:nth-child(odd) .info-row-text
  {
    padding-right: 0;
  }
}

.info-row.info-content-step:nth-child(even) .container-smaller
{
  grid-template-columns: 635px 30%;
}

@media (max-width: 1005px)
{
  .info-row.info-content-step:nth-child(even) .container-smaller
  {
    grid-template-columns: 70% 30%;
  }
}

@media (max-width: 835px)
{
  .info-row.info-content-step:nth-child(even) .container-smaller
  {
    grid-template-columns: 100%;
  }
}

.info-row.info-content-step:nth-child(even) .container-smaller .info-row-text
{
  order: 2;
}

@media (max-width: 1005px)
{
  .info-row.info-content-step:nth-child(even) .container-smaller .info-row-text
  {
    padding-left: 20px;
  }
}

@media (max-width: 835px)
{
  .info-row.info-content-step:nth-child(even) .container-smaller .info-row-text
  {
    padding-left: 0;
  }
}

.info-row.info-content-step:nth-child(even) .container-smaller .info-row-video
{
  order: 1;
}

@media (max-width: 835px)
{
  .info-row .info-row-text
  {
    padding-bottom: 20px;
  }

  .info-row .info-row-text.rellax
  {
    transform: translate3d(0, 0, 0) !important;
  }
}

.info-row-text h3
{
  font-size: 28px;
  margin: 57px 0 12px 0;
}

.info-row-text img
{
  margin-left: 0;
  margin-right: 0;
  margin-bottom: -30px;
}

.info-row-text img.step-icon
{
  max-width: 70px;
}

@media (max-width: 835px)
{
  .info-row-text img
  {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 10px;
  }
}

.info-row-video
{
  display: block;
  position: relative;
  height: 360px;
}

@media (max-width: 835px)
{
  .info-row-video
  {
    height: auto;
  }
}

@media (max-width: 835px)
{
  .info-row-video .video-placeholder
  {
    position: relative;
    height: auto;
  }

  .info-row-video .video-placeholder .video-wrapper169
  {
    position: relative;
  }
}

.section-accessories
{
  text-align: center;
  padding-top: 125px;
  padding-bottom: 125px;
  background-color: #fff;
}

.section-accessories .button-wrap
{
  margin-top: 50px;
}

.list-accessories
{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 310px 310px 310px;
  justify-content: space-between;
  width: 100%;
}

.list-accessories > li
{
  list-style: none;
  margin: 0;
  padding: 0;
  display: block;
}

.list-accessories > li .image-wrap
{
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  -ms-transition: all 0.2s ease-out;
  -o-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}

.list-accessories > li:hover .image-wrap
{
  transform: scale(1.1);
}

.list-accessories h3
{
  margin: 60px 0 0 0;
  font-size: 28px;
}

@media (max-width: 835px)
{
  .list-accessories.flickity-enabled li
  {
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .list-accessories.flickity-enabled li .image-wrap img
  {
    -webkit-transition: all 0.4s ease-out;
    -moz-transition: all 0.4s ease-out;
    -ms-transition: all 0.4s ease-out;
    -o-transition: all 0.4s ease-out;
    transition: all 0.4s ease-out;
  }

  .list-accessories.flickity-enabled li.is-selected .image-wrap img
  {
    transform: scale(1.2);
  }
}

.section-regular
{
  text-align: center;
  padding: 120px 15px;
  /*
  .section-title {
    width: 550px;
    margin-left: auto;
    margin-right: auto;
  }
  */;
}

.section-regular h2
{
  width: 550px;
  margin-left: auto;
  margin-right: auto;
}

.section-regular h3
{
  font-weight: bold;
  padding: 0;
  margin: 0 0 10px 0;
}

.section-regular a,
  .section-regular h3
{
  font-size: 24px;
}

@media (max-width: 835px)
{
  .section-regular a,
      .section-regular h3
  {
    font-size: 22px;
  }
}

.section-regular a
{
  display: inline-block;
}

.section-regular .image-wrap.container, .section-regular .image-wrap.container-small, .section-regular .image-wrap.container-smaller
{
  margin-top: 100px;
  margin-bottom: 100px;
}

.section-regular p:not(:last-child)
{
  margin-bottom: 25px;
}

.section-regular .button-wrap
{
  margin-top: 60px;
}

.section-regular.grid-col-section h2
{
  padding-left: 0;
  margin-left: 0;
}

.section-regular.grid-col-section p
{
  width: 100%;
}

.section-specifications
{
  background-color: #1f2b3e;
  color: #fff;
  padding: 120px 0;
  /*
  .section-title {
    text-align: center;
    margin-bottom: 70px;
  }
  */;
}

.section-specifications h2
{
  text-align: center;
  margin-bottom: 20px;
}

.list-specifications
{
  display: grid;
  grid-template-columns: calc(50% - 40px / 2) calc(50% - 40px / 2);
  grid-gap: 40px;
  list-style: none;
  padding: 0;
  margin: 0;
  margin-top: 70px;
}

.list-specifications > li
{
  display: grid;
  grid-template-columns: 70px calc(100% - 70px - 20px);
  grid-gap: 20px;
  padding: 0;
  margin: 0;
}

.list-specifications-icon img
{
  max-width: 55px;
  max-height: 55px;
}

.list-specifications-info h3
{
  font-size: 32px;
  font-weight: bold;
  margin: 0 0 5px 0;
}

.list-specifications-info ul
{
  display: block;
  padding: 0;
  margin: 0;
  list-style: none;
  font-size: 22px;
  line-height: 1.2;
}

.list-specifications-info ul > li
{
  padding: 0 0 0 20px;
  margin: 0;
  position: relative;
}

.list-specifications-info ul > li:not(:last-child)
{
  margin-bottom: 5px;
}

.list-specifications-info ul > li:before
{
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 10px;
  border-radius: 10px;
  height: 7px;
  width: 7px;
  background-color: #ff0046;
}

.section-comparison-table
{
  padding-bottom: 50px;
  padding-left: 0;
  padding-right: 0;
  /*
  .section-title {
    width: 100%;
  }
  */;
}

.section-comparison-table h2
{
  width: 100%;
}

.comparison-table
{
  margin-top: 100px;
}

.comparison-table table
{
  table-layout: fixed;
  border-collapse: collapse;
  width: 100%;
}

.comparison-table table thead tr th
{
  padding: 10px 5px;
}

@media (max-width: 736px)
{
  .comparison-table table thead tr th
  {
    font-size: 10px;
  }
}

@media (max-width: 430px)
{
  .comparison-table table thead tr th
  {
    font-size: 8px;
  }
}

.comparison-table table thead tr th:nth-child(1)
{
  width: 25%;
}

.comparison-table table thead tr th:nth-child(2), .comparison-table table thead tr th:nth-child(3), .comparison-table table thead tr th:nth-child(4), .comparison-table table thead tr th:nth-child(5)
{
  width: 18.75%;
}

.comparison-table table thead tr th:nth-child(2)
{
  color: #ff0046;
  border-left: 4px solid #ff0046;
  border-right: 4px solid #ff0046;
  position: relative;
}

.comparison-table table thead tr th:nth-child(2):before
{
  content: '';
  display: block;
  width: 100%;
  border-top: 4px solid #ff0046;
  height: 5px;
  border-left: 4px solid #ff0046;
  border-right: 4px solid #ff0046;
  border-radius: 10px 10px 0 0;
  position: absolute;
  left: -4px;
  top: -9px;
}

.comparison-table table tbody tr:nth-child(odd)
{
  background-color: #f4f5f7;
}

.comparison-table table tbody tr:last-child td:nth-child(2)
{
  position: relative;
}

.comparison-table table tbody tr:last-child td:nth-child(2):after
{
  content: '';
  display: block;
  width: 100%;
  border-bottom: 4px solid #ff0046;
  height: 5px;
  border-left: 4px solid #ff0046;
  border-right: 4px solid #ff0046;
  border-radius: 0 0 10px 10px;
  position: absolute;
  left: -4px;
  bottom: -9px;
}

.comparison-table table tbody tr th
{
  font-size: 22px;
  font-weight: normal;
  text-align: left;
  padding: 0 10px;
  height: 120px;
}

@media (max-width: 835px)
{
  .comparison-table table tbody tr th
  {
    font-size: 22px;
  }
}

@media (max-width: 736px)
{
  .comparison-table table tbody tr th
  {
    font-size: 14px;
    height: 80px;
  }
}

@media (max-width: 430px)
{
  .comparison-table table tbody tr th
  {
    font-size: 12px;
  }
}

.comparison-table table tbody tr td
{
  color: #828385;
  text-align: center;
  font-size: 22px;
  font-weight: bold;
  height: 120px;
}

@media (max-width: 835px)
{
  .comparison-table table tbody tr td
  {
    font-size: 24px;
  }
}

@media (max-width: 736px)
{
  .comparison-table table tbody tr td
  {
    font-size: 16px;
    height: 80px;
  }
}

@media (max-width: 430px)
{
  .comparison-table table tbody tr td
  {
    font-size: 12px;
  }
}

.comparison-table table tbody tr td:first-child
{
  font-size: 22px;
  font-weight: normal;
  text-align: left;
  padding: 0 10px;
  height: 120px;
  color: #333;
}

@media (max-width: 835px)
{
  .comparison-table table tbody tr td:first-child
  {
    font-size: 22px;
  }
}

@media (max-width: 736px)
{
  .comparison-table table tbody tr td:first-child
  {
    font-size: 14px;
    height: 80px;
  }
}

@media (max-width: 430px)
{
  .comparison-table table tbody tr td:first-child
  {
    font-size: 12px;
  }
}

.comparison-table table tbody tr td:nth-child(2)
{
  color: #ff0046;
  border-left: 4px solid #ff0046;
  border-right: 4px solid #ff0046;
}

.comparison-table table tbody tr td svg, .comparison-table table tbody tr td img
{
  display: inline-block;
  vertical-align: middle;
  height: 50px;
  width: 50px;
  fill: currentColor;
}

@media (max-width: 736px)
{
  .comparison-table table tbody tr td svg, .comparison-table table tbody tr td img
  {
    height: 30px;
    width: 30px;
  }
}

.comparison-table table tbody tr td strong
{
  font-size: 40px;
}

@media (max-width: 736px)
{
  .comparison-table table tbody tr td strong
  {
    font-size: 30px;
  }
}

@media (max-width: 430px)
{
  .comparison-table table tbody tr td strong
  {
    font-size: 22px;
  }
}

.comparison-table-column-image
{
  display: block;
  margin: 0 auto 20px auto;
}

.comparison-table-column-image img
{
  display: block;
  height: 100px;
}

@media (max-width: 520px)
{
  .comparison-table-column-image img
  {
    height: 50px;
  }
}

.section-rows
{
  padding-bottom: 70px;
}

.section-rows .button-wrapper
{
  text-align: center;
}

.product-top-section
{
  background-image: url(../../assets/img/product-page-top-background.jpg);
}

.section-product-box
{
  /*
  .section-title {
    text-align: center;
  }
  */;
}

.section-product-box h2
{
  text-align: center;
}

.section-product-box .image-wrap
{
  margin-bottom: 50px;
}

.list-product-box
{
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-around;
  padding: 0;
  margin: 0;
}

.list-product-box > li
{
  list-style: none;
  display: block;
  padding: 0;
  margin: 0;
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  -ms-transition: all 0.2s ease-out;
  -o-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}

.list-product-box > li h3
{
  padding: 0;
  margin: 5px 0 0 0;
  font-size: 18px;
  text-align: center;
}

.list-product-box > li:hover
{
  transform: scale(1.2);
}

.list-product-box-image
{
  margin-left: auto;
  margin-right: auto;
}

.list-product-box-image img
{
  height: 70px;
  max-height: 70px;
}

.line-reveal-container
{
  position: absolute;
  top: 6%;
  left: 16%;
}

@media (max-width: 1005px)
{
  .line-reveal-container
  {
    left: 8%;
  }
}

.line-reveal-container span
{
  position: relative;
  width: 100%;
  height: 100%;
  top: 2px;
  padding-left: 1px;
  padding-right: 2px;
}

.line-reveal-container .line-container-reveal-inner
{
  position: relative;
}

.line-reveal-container .text-reveal
{
  position: relative;
  top: -2px;
  overflow: hidden;
}

.line-reveal-container .line-reveal-wrap
{
  position: absolute;
  top: calc(100% - 2px);
  left: 0;
  width: calc(100% + 8px);
  height: 10px;
  overflow: hidden;
}

.line-reveal-container .line-mask
{
  position: relative;
  width: 100%;
  right: 0px;
  height: 10px;
  float: right;
  overflow: hidden;
}

.line-reveal-container .line-reveal-inner
{
  position: absolute;
  width: 100%;
}

.line-reveal-container .line-reveal-inner:before
{
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  width: calc(100% - 8px);
  height: 1px;
  background: #000000;
}

.line-reveal-container .line-reveal-inner:after
{
  content: "";
  position: absolute;
  top: calc(100% + 3px);
  left: calc(100% - 9px);
  width: 8px;
  height: 1px;
  border-radius: 10px;
  background: #000000;
  transform: rotate(45deg);
}

.line-reveal-container .text-reveal-item,
  .line-reveal-container .line-mask
{
  visibility: hidden;
}

.section-contact
{
  background-color: #dbe2e9;
  color: #333;
  padding: 125px 0;
  text-align: center;
  font-size: 22px;
  /*
  p + .section-title {
    margin-top: 70px;
  }
*/;
}

.section-contact a
{
  color: currentColor;
  text-decoration: none;
}

.section-contact a:hover, .section-contact a:focus
{
  color: #ff0046;
}

.section-contact p + h2
{
  margin-top: 70px;
}

/*
.section-contact-top {
  padding-top: 180px;
}
*/
.section-red
{
  background-color: #ff0046;
  color: #fff;
}

.section-dark
{
  background-color: #001228;
  color: #fff;
}

.section-light
{
  background-color: #fff;
  color: #333;
}

.section-contact-info
{
  margin-top: 65px;
}

.section-contact-info ~ .section-contact-info
{
  margin-top: 45px;
}

.section-contact-info h3
{
  font-weight: bold;
  font-size: 24px;
  padding: 0;
  margin: 0 0 10px 0;
}

.section-contact-subtitle
{
  font-size: 26px;
  padding: 0;
  margin: 70px 0 0 0;
  display: block;
}

.section-contact-subtitle + .section-contact-info
{
  margin-top: 40px;
}

.section-faq
{
  text-align: center;
}

.schema-faq-code
{
  background-color: #dbe2ea;
  border-top: 1px solid #333;
}

.faq-q
{
  display: block;
  padding: 0;
  font-weight: bold;
  font-size: 20px;
  text-align: left;
  max-width: 1100px;
  margin: 0 auto;
}

.faq-q a
{
  display: block;
  position: relative;
  color: #333;
  text-decoration: none;
  padding-left: 22px;
  padding-top: 10px;
  padding-bottom: 10px;
}

.faq-q a:before
{
  content: '+';
  display: block;
  font-weight: bold;
  font-size: 24px;
  position: absolute;
  left: 0;
  top: 10px;
}

.faq-q a:hover, .faq-q a:focus
{
  color: #ff0046;
}

.faq-a
{
  max-height: 0;
  overflow: hidden;
  text-align: left;
  font-size: 20px;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  transition: max-height 500ms ease;
  will-change: max-height;
}

.faq-a span
{
  display: block;
  margin-bottom: 10px;
}

.faq-a span:last-child
{
  margin-bottom: 0;
}

.faq-a a
{
  color: #000000;
  text-decoration: underline;
}

.faq-a a:hover
{
  color: #ff0046;
}

.faq-question
{
  display: block;
  border-bottom: 1px solid #333;
  padding: 15px 15px;
}

.faq-question.active .faq-q a:before
{
  content: '-';
}

.faq-question.active .faq-a
{
  max-height: 500px;
  overflow: auto;
}

/* resets */
.section-single-product
{
  position: relative;
  width: 100vw;
  height: 100vh;
  padding-top: 70px;
}

.section-single-product .image-wrap
{
  position: relative;
  margin-bottom: 0;
  width: 100%;
  max-width: 711px;
  height: auto;
  margin: auto;
  /*
    max-width: 711px;
    max-height: 400px;
    margin: auto;
*/;
}

.section-single-product .image-wrap img
{
  /*
  position: relative;
  z-index: 99;
  width: 100%;

    max-width: 750px;
    max-height: 520px;
*/;
}

/* text */
.rotation-text-container,
.rotation-text-inner
{
  position: absolute;
  left: 0;
  right: 0;
  z-index: 9999999;
}

.rotation-text-container
{
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  width: 100%;
  max-width: 711px;
  height: 100%;
  text-align: left;
  margin: auto;
  /*background: rgba(208,34,34, 0.2);*/;
}

.rotation-text-inner
{
  width: 100%;
  height: 100%;
}

.rotation-text-item
{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

.text-center
{
  text-align: center;
}

.rotation-text-item span
{
  position: relative;
  display: inline-block;
  font-size: 22px;
  line-height: 1.1em;
  font-weight: bold;
  text-align: center;
}

.rotation-text-item span.rotation-text-sub
{
  font-size: 18px;
  font-weight: 300;
}

.rotation-text-item.active
{
  visibility: visible;
}

/* THREE.JS related - for now any three.js related styles can just be added here */
.canvas-wrapper
{
  position: relative;
}

.canvas-wrapper .canvas-inner
{
  position: relative;
  text-align: center;
}

.canvas-wrapper .canvas-inner:after
{
  content: "";
  position: absolute;
  top: calc(100% - 10px);
  left: 0;
  width: 100%;
  height: 20px;
  background: #ffffff;
  z-index: 9999999;
}

.canvas-wrapper .canvas-inner canvas
{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  /*
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  */
  max-width: 100vw;
  max-height: 100vh;
  z-index: 9999999;
}

@media (max-width: 430px)
{
  .canvas-wrapper .canvas-inner canvas
  {
    max-width: 100%;
  }
}

.rotation-svgs
{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  width: 737.6px;
  max-width: 737.6px;
  /*background: rgba(0,0,0, 0.3);*/
  z-index: 99999999999;
  visibility: hidden;
}

@media (max-width: 835px)
{
  .rotation-svgs
  {
    width: 95%;
  }
}

@media (max-width: 430px)
{
  .rotation-svgs
  {
    width: 90%;
  }
}

.rotation-svgs .rotation-svgs-inner
{
  position: relative;
  left: 17px;
  top: 5px;
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  -ms-transition: all 0.2s ease-out;
  -o-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}

@media (max-width: 835px)
{
  .rotation-svgs .rotation-svgs-inner
  {
    left: 13px;
    top: 18px;
  }
}

@media (max-width: 430px)
{
  .rotation-svgs .rotation-svgs-inner
  {
    left: 7px;
    top: 5px;
  }
}

.rotation-svgs .rotation-svg-item
{
  position: relative;
}

.rotation-svgs.rotation-copy
{
  visibility: hidden;
}

.rotation-svgs.active
{
  visibility: visible;
}

#rotation_x5F_speak
{
  transform: translateX(2%);
}

#rotation_x5F_speak,
#rotation_x5F_battery,
#rotation_x5F_microphones,
#rotation_x5F_bluetooth,
#rotation_x5F_volume
{
  transform: translateX(2%);
}

#rotation_x5F_speak
{
  transform: translateX(3%);
}

.rotation-line-item
{
  position: absolute;
  width: 100%;
}

.rotation-line-item-inner
{
  position: relative;
}

.rotation-line-item img
{
  transform: scale(0.2);
  transform-origin: top left;
  height: auto !important;
}

.rotation-text-item.rotation-mute
{
  left: 70%;
}

.rotation-text-item.rotation-mute .rotation-line-item
{
  top: 100%;
}

.rotation-text-item.rotation-waterproof
{
  top: 50%;
  left: 93%;
}

.rotation-text-item.rotation-waterproof .rotation-line-item
{
  top: 44%;
  left: -22%;
}

.rotation-text-item.rotation-lanyard
{
  left: 76%;
  top: 80%;
}

.rotation-text-item.rotation-lanyard .rotation-line-item
{
  top: 68%;
  left: -10%;
}

.rotation-text-item.rotation-battery
{
  left: 37%;
  top: 108%;
}

.rotation-text-item.rotation-battery .rotation-line-item
{
  top: -113%;
  left: 15%;
  height: 100%;
  width: 8px;
}

.rotation-text-item.rotation-microphones
{
  left: 9%;
  top: 82.5%;
}

.rotation-text-item.rotation-microphones .rotation-line-item
{
  top: 57%;
  left: 21%;
}

.rotation-text-item.rotation-bluetooth
{
  left: 3%;
  top: 45%;
}

.rotation-text-item.rotation-bluetooth .rotation-line-item
{
  top: 44%;
  left: 16%;
  width: 310px;
}

.rotation-text-item.rotation-volume
{
  left: 9%;
  top: 1%;
}

.rotation-text-item.rotation-volume .rotation-line-item
{
  top: 120%;
  left: 9%;
}

.rotation-text-item.rotation-speak
{
  left: 43%;
  top: -18%;
}

.rotation-text-item.rotation-speak .rotation-line-item
{
  top: 142%;
  left: 11%;
  height: 100%;
  width: 8px;
}

.desktop-only
{
  display: block;
}

.desktop-only.button
{
  display: inline-block;
}

.mobile-only
{
  display: none;
}

@media (max-width: 1320px)
{
  .container,
  .container-smaller
  {
    width: 100%;
  }
}

@media (max-width: 1200px)
{
  .nav-main > ul > li:not(:last-child)
  {
    margin-right: 14px;
  }

  .nav-main > ul > li > a
  {
    font-size: 17px;
  }

  .container-small
  {
    width: 100%;
  }

  .list-accessories
  {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

@media (max-width: 1005px)
{
  .announcement-bar
  {
    height: 40px;
    line-height: 40px;
  }

  .header
  {
    top: 40px;
    padding-top: 0;
  }

  .header .container
  {
    height: 70px;
  }

  .header-logo
  {
    transform: translate(-50%, 0px);
    z-index: 1;
  }

  .nav-main
  {
    display: none;
    background-color: #001228;
    position: fixed;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    z-index: -1;
  }

  .nav-main:before
  {
    content: "";
    position: absolute;
    top: -200px;
    left: 0;
    width: 100%;
    height: calc(100% + 200px);
    background: #001228;
    z-index: 90;
    top: -50px;
    width: 100%;
    height: 100%;
  }

  .nav-main .close-x
  {
    display: none;
  }

  .nav-main ul
  {
    z-index: 95;
  }

  .nav-main ul li:hover .nav-main-sublayer-1
  {
    display: none;
  }

  .nav-main ul li.selected .main-menu-item
  {
    color: #ff0046;
  }

  .nav-main ul li.selected a svg
  {
    transform: translateY(-50%) rotate(0deg);
  }

  .nav-main ul li.selected .nav-main-sublayer-1
  {
    display: block;
  }

  .nav-main > ul
  {
    top: 90px;
    padding: 0;
    height: 100%;
  }

  .nav-main > ul > li
  {
    display: block;
    width: 100%;
  }

  .nav-main > ul > li:not(:last-child)
  {
    margin-right: 0;
  }

  .nav-main > ul > li > a
  {
    display: block;
    padding: 10px 20px;
    font-size: 22px;
    position: relative;
    z-index: 6;
  }

  .header .nav-main .nav-main-sublayer-1,
  .header .nav-main .nav-main-sublayer-1-inner
  {
    position: static;
    height: auto;
    width: 100%;
    box-shadow: none;
  }

  .nav-main-sublayer-1-inner > ul
  {
    margin: 0;
    width: 100%;
    padding-bottom: 10px;
  }

  .nav-main-sublayer-1-inner > ul > li > a
  {
    font-size: 20px;
    font-weight: normal;
    padding: 10px 20px;
    background-color: rgba(255, 255, 255, 0.1);
    width: 100%;
    display: block;
  }

  .nav-main-sublayer-1-inner:before
  {
    top: 0;
    height: 100%;
    width: 100%;
  }

  .nav-main-sublayer-2
  {
    display: none !important;
  }

  .show-mobile-navigation
  {
    display: block;
  }

  .hide-mobile-navigation
  {
    display: none;
  }

  .nav-main > ul > li > a > svg
  {
    display: block;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%) rotate(-90deg);
    height: 20px;
    fill: currentColor;
    width: 24px;
  }
  /*
  .nav-main > ul > li > a {
    &:focus, &:hover, &:active {
      > svg {
        transform: translateY(-50%) rotate(0deg);
      }
    }
  }
*/
  .header-search-toggle
  {
    margin-left: 15px;
  }

  .header-social-links
  {
    display: none;
  }

  .mobile-menu-opened
  {
    overflow: hidden;
  }

  .mobile-menu-opened .header
  {
    height: 100%;
  }

  .mobile-menu-opened .nav-main
  {
    display: block;
  }

  .mobile-menu-opened .show-mobile-navigation
  {
    display: none;
  }

  .mobile-menu-opened .hide-mobile-navigation
  {
    display: block;
  }

  .mobile-menu-opened .header-social-links
  {
    display: block;
    position: fixed;
    top: auto;
    bottom: 40px;
    left: 0;
    width: 100%;
    text-align: center;
    z-index: 1;
  }
  /*
  .header.headroom--top {
    height: calc(100vh - 40px);
    .nav-main {
      height: calc(100vh - 40px);
    }
  }
*/;
}

@media (max-height: 900px)
{
  .location-modal-container
  {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  /*
  .location-modal .section-title {
    font-size: 30px;
    margin-bottom: 40px;
  }
  */
  .location-modal h2
  {
    font-size: 30px;
    margin-bottom: 40px;
  }

  .locations-navigation h3
  {
    font-size: 20px;
  }

  .locations-navigation ul li a
  {
    font-size: 16px;
  }

  .locations-navigation ul li:not(:last-child)
  {
    margin-bottom: 12px;
  }

  .location-modal-footer
  {
    margin-top: 40px;
  }

  .location-modal-footer p
  {
    font-size: 16px;
  }

  .flag
  {
    display: inline-block;
    vertical-align: middle;
    width: 24px;
    height: 22px;
  }

  .flag svg
  {
    display: block;
    height: 20px;
    line-height: 22px;
    width: auto;
    max-width: 100%;
  }
}

@media (max-width: 835px)
{
  .desktop-only
  {
    display: none !important;
  }

  .mobile-only
  {
    display: block;
  }

  .container,
  .container-small,
  .container-smaller
  {
    width: 100%;
  }

  .location-modal-container
  {
    width: 100vw;
    max-height: 100vh;
    height: 100vh;
    left: 0;
    top: 0;
    transform: none;
    padding: 20px 15px;
    padding-bottom: 100px;
  }

  .locations-wrap
  {
    display: grid;
    grid-template-columns: 100%;
    grid-gap: 20px;
    width: 290px;
    margin: auto;
    margin-top: 60px;
  }

  .locations-navigation
  {
    margin-top: 20px;
  }

  .locations-navigation:first-child
  {
    margin-top: 0;
  }

  .shop-modal-container
  {
    width: 100vw;
  }
  /*
  .section-title {
    font-size: 36px;
    padding-left: $container-padding;
    padding-right: 40px;
  }
*/
  h2
  {
    font-size: 36px;
    padding-left: 25px;
    padding-right: 25px;
  }

  p
  {
    font-size: 22px;
  }

  .section-3-colors .image-wrap img
  {
    height: auto;
  }

  .section-3-colors .image-wrap
  {
    height: auto;
  }

  .list-categories
  {
    display: block;
  }

  .list-categories > li > a
  {
    height: 300px;
  }

  .list-categories-image img
  {
    height: 100%;
    width: 100%;
    object-fit: cover;
    transform: none;
  }
  /*
  .section-single-product .section-title {
    //width: 100%;
    width: 70vw;
  }
  */
  .section-single-product h2
  {
    width: 70vw;
  }

  .section-reviews p
  {
    width: 80%;
  }
  /*
  .section-review-text {
    //width: 100%;
    width: 80%;
  }
*/
  .section-reviews-slider .flickity-prev-next-button
  {
    top: 36px;
  }

  .section-app .container-small
  {
    grid-template-columns: 100%;
  }

  .list-articles
  {
    display: block;
  }

  .section-articles .container
  {
    padding-left: 0;
    padding-right: 0;
  }

  .list-article
  {
    height: 325px;
    width: calc(80% - 30px);
    margin-left: 15px;
    margin-right: 15px;
    display: block;
  }

  .list-article-title
  {
    width: 100%;
  }

  .flickity-prev-next-button.previous
  {
    left: 0;
  }

  .flickity-prev-next-button.next
  {
    right: 0;
  }

  .section-accessories .container,
  .section-product-options .container
  {
    padding-left: 0;
    padding-right: 0;
  }

  .list-product-options
  {
    display: block;
    width: 100%;
  }

  .list-product-options .flickity-button-icon
  {
    fill: #ff0046;
  }

  .list-product-options li
  {
    display: block;
    width: calc(70% - 30px);
    padding-left: 25px;
    padding-right: 25px;
  }

  .list-product-options a
  {
    display: block;
    width: 100%;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }

  .list-product-options a img
  {
    width: 100%;
    display: block;
  }

  .top-section
  {
    min-height: 100vh;
    height: auto;
  }

  .section-app-image img
  {
    height: 520px;
  }

  .section-app
  {
    height: auto;
    padding-top: 50px;
    padding-bottom: 50px;
    text-align: center;
  }

  .section-app .button-wrap
  {
    text-align: center;
    margin-top: 100px;
  }

  .section-app .button-wrap .mobile-only
  {
    display: inline-block;
  }

  .section-app-info
  {
    margin-top: 0;
    margin-bottom: 30px;
  }

  .info-row .container-smaller
  {
    grid-gap: 20px;
  }

  .info-row:nth-child(odd) .container-smaller
  {
    grid-template-columns: 100%;
  }

  .info-row:nth-child(even) .container-smaller
  {
    grid-template-columns: 100%;
  }

  .info-row:nth-child(even) .container-smaller .info-row-text
  {
    order: 1;
  }

  .section-steps
  {
    padding-top: 70px;
    padding-bottom: 70px;
  }

  .info-row-text
  {
    text-align: center;
    margin-bottom: 30px;
    max-width: 70%;
    min-width: 290px;
    margin: auto;
  }

  .info-row-text h3
  {
    font-size: 32px;
    margin: 0 0 15px 0;
  }

  .section-accessories .container-small
  {
    padding-left: 0;
    padding-right: 0;
  }

  .list-accessories
  {
    display: block;
    width: 100%;
  }

  .list-accessories .flickity-button-icon
  {
    fill: #ff0046;
  }

  .list-accessories li
  {
    display: block;
    width: calc(70% - 30px);
    margin-left: 15px;
    margin-right: 15px;
  }

  .list-accessories li .image-wrap
  {
    width: 100%;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }

  .list-accessories li .image-wrap img
  {
    display: block;
    width: 100%;
  }

  .section-reviews
  {
    height: auto;
    padding-top: 100px;
    padding-bottom: 100px;
  }

  .section-reviews p
  {
    font-size: 32px;
  }
  /*
  .section-review-text {
    font-size: 32px;
  }
  */
  .top-section-content
  {
    width: 100%;
    max-width: 100%;
  }

  .top-section-content .button-wrap
  {
    text-align: center;
  }

  .footer-bottom
  {
    text-align: center;
    padding: 0;
  }

  .footer-top
  {
    display: grid;
    grid-template-columns: 100%;
    grid-gap: 0;
    text-align: center;
  }

  .footer-logo
  {
    width: 100%;
    height: auto;
    text-align: center;
  }

  .footer-logo
  {
    margin-top: 20px;
    margin-bottom: 40px;
  }

  .footer-logo svg, .footer-logo img
  {
    height: auto;
    display: inline-block;
    vertical-align: top;
    width: 100%;
    max-width: 160px;
  }

  .footer
  {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .footer-social-links
  {
    margin-top: 30px;
  }

  .footer-social-links .icon
  {
    width: 40px;
    height: 40px;
  }

  .footer-social-links .icon svg
  {
    height: 40px;
    line-height: 48px;
  }

  .footer-social-links .icon-youtube
  {
    width: 46px;
    height: 48px;
  }

  .footer-social-links .icon-youtube svg
  {
    width: 46px;
    height: 48px;
  }

  .section-3-colors p
  {
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
  }

  .list-specifications
  {
    grid-template-columns: 100%;
  }

  .section-regular p
  {
    margin-left: auto;
    margin-right: auto;
    width: 70%;
  }

  .info-rows .container-smaller
  {
    padding-left: 0;
    padding-right: 0;
  }
  /*
  .footer-navigation {
    margin-left: -15px;
    margin-right: -15px;
    //&:focus, &:hover, &.active {
    &.active {
      & > h3 > svg {
        transform: translateY(-50%) rotate(0deg);
      }
      & > ul {
        display: block;
      }
    }
    > h3 {
      padding: 10px 20px;
      text-align: left;
      position: relative;
      margin-bottom: 0;
      svg {
        display: block;
        position: absolute;
        right: 20px;
        top: 50%;
        transform: translateY(-50%) rotate(-90deg);
        height: 20px;
        fill: $text-color;
        width: 24px;
      }
    }
    > ul {
      text-align: left;
      background-color: rgba(#fff, .5);
      display: none;
      li {
        padding: 10px 20px;
      }
    }
  }

  .footer-navigation ul li:not(:last-child) {
    margin-bottom: 0;
  }
*/;
}

@media (max-width: 736px)
{
  .top-section-title
  {
    font-size: 40px;
  }

  .top-section-content
  {
    margin-top: 175px;
  }

  .top-section
  {
    align-items: flex-start;
  }

  .text-bottom
  {
    align-items: flex-end;
    padding-bottom: 100px;
  }

  .text-bottom .top-section-content
  {
    margin-top: 0;
  }

  .tech-top-section .section-background img, .tech-top-section .section-background video
  {
    background-color: #000;
    object-fit: contain;
    object-position: 0 80px;
  }
  /*
  .section-regular .section-title {
    width: 100%;
  }
*/
  .section-regular h2
  {
    width: 100%;
  }

  .section-regular
  {
    padding-top: 90px;
    padding-bottom: 90px;
  }

  .section-specifications
  {
    padding-top: 70px;
    padding-bottom: 70px;
  }

  .list-specifications-info h3
  {
    font-size: 26px;
    margin-bottom: 10px;
  }

  .list-regular
  {
    font-size: 20px;
  }

  .list-product-box
  {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 20px;
  }

  .faq-a,
  .faq-q
  {
    width: 100%;
  }
}

@media (max-width: 520px)
{
  /*
  .section-title {
    font-size: 34px;
  }
  */
  h2
  {
    font-size: 34px;
  }

  .section-reviews p
  {
    padding-left: 15px;
    padding-right: 15px;
    font-size: 24px;
  }
  /*
  .section-review-text {
    padding-left: 15px;
    padding-right: 15px;
    font-size: 24px;
  }
  */
  /*
  .section-single-product .section-title {
    width: 100%;
  }
  */
  .section-single-product h2
  {
    width: 100%;
  }

  .flickity-prev-next-button
  {
    height: 50px;
    width: 50px;
  }

  .announcement-bar
  {
    font-size: 13px;
  }
  /*
  .section-reviews .section-title {
    width: 100%;
  }
  .section-share .section-title {
    width: 100%;
  }
*/
  .section-share h2,
  .section-reviews h2
  {
    width: 100%;
  }

  .section-regular .container.image-wrap
  {
    padding-left: 0;
    padding-right: 0;
  }
}

@media (max-width: 430px)
{
  .announcement-bar
  {
    font-size: 12px;
  }
  /*
  .section-single-product .image-wrap img {
    height: auto;
    width: 70%;
  }
  .section-single-product .image-wrap {
    height: auto;
  }
  .section-single-product {
    padding-left: 15px;
    padding-right: 15px;
  }
*/
  /*
  .section-single-product .section-title {
    margin-bottom: 60px;
    padding: 0;
  }
  */
  /*  
  .section-single-product h2 {
    margin-bottom: 60px;
    padding: 0;
  }

  .section-single-product .button {
    //margin-top: 80px !important;
  }
*/
  .section-regular p
  {
    width: 100%;
  }

  .list-regular
  {
    font-size: 16px;
  }

  .list-product-box
  {
    grid-column-gap: 10px;
  }

  .list-product-box > li h3
  {
    font-size: 16px;
  }
}

.light-background .top-section,
.light-background .product-top-section
{
  color: #333;
}

.light-background .nav-main
{
  color: #333;
}

.light-background .nav-main:hover, .light-background .nav-main:focus-within
{
  color: #fff;
}

.light-background .nav-main:hover + .header-search-toggle, .light-background .nav-main:focus-within + .header-search-toggle
{
  color: #fff;
}

.light-background .header-search-toggle
{
  color: #333;
}

.light-background .list-icon-links
{
  color: #333;
}

.light-background .nav-main-toggle
{
  color: #333;
}

.light-background .top-section-title
{
  color: #333;
}

.light-background.mobile-menu-opened .nav-main,
.light-background .header.slideDown.headroom--not-top .nav-main
{
  color: #fff;
}

.light-background.mobile-menu-opened .header-search-toggle,
.light-background .header.slideDown.headroom--not-top .header-search-toggle
{
  color: #fff;
}

.light-background.mobile-menu-opened .list-icon-links,
.light-background .header.slideDown.headroom--not-top .list-icon-links
{
  color: #fff;
}

.light-background.mobile-menu-opened .nav-main-toggle,
.light-background .header.slideDown.headroom--not-top .nav-main-toggle
{
  color: #fff;
}

@media (max-width: 1335px)
{
  .light-background body.mobile-menu-opened .nav-main
  {
    color: #ffffff;
  }

  .light-background body.mobile-menu-opened .header-sticky
  {
    color: #ffffff;
  }

  .light-background body.mobile-menu-opened .header-search-toggle
  {
    color: #ffffff;
  }

  .light-background body.mobile-menu-opened .list-icon-links
  {
    color: #ffffff;
  }

  .light-background body.mobile-menu-opened .nav-main-toggle
  {
    color: #ffffff;
  }

  .light-background body.mobile-menu-opened .top-section-title
  {
    color: #ffffff;
  }
}

.theme-item
{
  color: inherit;
  background-color: inherit;
}

.theme-item a:not(.button)
{
  color: inherit;
  text-decoration: none;
}

.theme-item a:not(.button):hover
{
  text-decoration: underline;
}

.theme-white
{
  background-color: #fff;
  color: #000;
}

.theme-graylight
{
  background-color: #dbe2e9;
  color: #000;
}

.theme-red
{
  background-color: #ff0046;
  color: #fff;
}

.theme-bluedark
{
  background-color: #001228;
  color: #fff;
}

.theme-bluedarkgray
{
  background-color: #1f2b3e;
  color: #fff;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwibGlicy9fZmxpY2tpdHkuc2NzcyIsIl92YXJpYWJsZXMuc2NzcyIsIm1peGlucy5zY3NzIiwiZm9udHMuc2NzcyIsIl9idXR0b24uc2NzcyIsImljb25zLnNjc3MiLCJhbmltYXRpb24uc2NzcyIsImZvcm0uc2NzcyIsIl9sYXlvdXQuc2NzcyIsIl9wcmVsb2FkZXIuc2NzcyIsIl9saW5rLnNjc3MiLCJfaGVhZGVyLnNjc3MiLCJfbW9kYWxzLnNjc3MiLCJfZ2xvYmFsLnNjc3MiLCJyb3RhdGlvbi5zY3NzIiwiX3Jlc3BvbnNpdmVuZXNzLnNjc3MiLCJfY29sb3JzLnNjc3MiLCJfdGhlbWVzLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCBcImxpYnMvZmxpY2tpdHlcIjtcclxuXHJcbkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcclxuQGltcG9ydCBcIm1peGluc1wiO1xyXG5AaW1wb3J0IFwiZm9udHNcIjtcclxuQGltcG9ydCBcImJ1dHRvbi5zY3NzXCI7XHJcbkBpbXBvcnQgXCJpY29uc1wiO1xyXG5AaW1wb3J0IFwiYW5pbWF0aW9uXCI7XHJcbkBpbXBvcnQgXCJmb3JtXCI7XHJcbkBpbXBvcnQgXCJsYXlvdXRcIjtcclxuQGltcG9ydCBcInByZWxvYWRlclwiO1xyXG5AaW1wb3J0IFwibGlua1wiO1xyXG5AaW1wb3J0IFwiaGVhZGVyXCI7XHJcbkBpbXBvcnQgXCJtb2RhbHNcIjtcclxuXHJcbkBpbXBvcnQgXCJnbG9iYWxcIjtcclxuQGltcG9ydCBcInJvdGF0aW9uXCI7XHJcbkBpbXBvcnQgXCJyZXNwb25zaXZlbmVzc1wiO1xyXG5AaW1wb3J0IFwiY29sb3JzXCI7XHJcbkBpbXBvcnQgXCJ0aGVtZXNcIjsiLCIuZmxpY2tpdHktZW5hYmxlZCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4uZmxpY2tpdHktZW5hYmxlZDpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cclxuXHJcbi5mbGlja2l0eS12aWV3cG9ydCB7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4uZmxpY2tpdHktc2xpZGVyIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4vKiBkcmFnZ2FibGUgKi9cclxuXHJcbi5mbGlja2l0eS1lbmFibGVkLmlzLWRyYWdnYWJsZSB7XHJcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG59XHJcblxyXG4uZmxpY2tpdHktZW5hYmxlZC5pcy1kcmFnZ2FibGUgLmZsaWNraXR5LXZpZXdwb3J0IHtcclxuICBjdXJzb3I6IG1vdmU7XHJcbiAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XHJcbiAgY3Vyc29yOiBncmFiO1xyXG59XHJcblxyXG4uZmxpY2tpdHktZW5hYmxlZC5pcy1kcmFnZ2FibGUgLmZsaWNraXR5LXZpZXdwb3J0LmlzLXBvaW50ZXItZG93biB7XHJcbiAgY3Vyc29yOiAtd2Via2l0LWdyYWJiaW5nO1xyXG4gIGN1cnNvcjogZ3JhYmJpbmc7XHJcbn1cclxuXHJcbi8qIC0tLS0gZmxpY2tpdHktYnV0dG9uIC0tLS0gKi9cclxuXHJcbi5mbGlja2l0eS1idXR0b24ge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAvL2JhY2tncm91bmQ6IGhzbGEoMCwgMCUsIDEwMCUsIDAuNzUpO1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBjb2xvcjogI2ZmZjtcclxufVxyXG5cclxuLmZsaWNraXR5LWJ1dHRvbjpob3ZlciB7XHJcbiAgLy9iYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5mbGlja2l0eS1idXR0b246Zm9jdXMge1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbiAgYm94LXNoYWRvdzogMCAwIDAgNXB4ICMxOUY7XHJcbn1cclxuXHJcbi5mbGlja2l0eS1idXR0b246YWN0aXZlIHtcclxuICBvcGFjaXR5OiAwLjY7XHJcbn1cclxuXHJcbi5mbGlja2l0eS1idXR0b246ZGlzYWJsZWQge1xyXG4gIG9wYWNpdHk6IDAuMztcclxuICBjdXJzb3I6IGF1dG87XHJcbiAgLyogcHJldmVudCBkaXNhYmxlZCBidXR0b24gZnJvbSBjYXB0dXJpbmcgcG9pbnRlciB1cCBldmVudC4gIzcxNiAqL1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG4uZmxpY2tpdHktYnV0dG9uLWljb24ge1xyXG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcclxufVxyXG5cclxuLyogLS0tLSBwcmV2aW91cy9uZXh0IGJ1dHRvbnMgLS0tLSAqL1xyXG5cclxuLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ge1xyXG4gIHRvcDogNTAlO1xyXG4gIC8vd2lkdGg6IDQ0cHg7XHJcbiAgLy9oZWlnaHQ6IDQ0cHg7XHJcbiAgLy93aWR0aDogMTMwcHg7XHJcbiAgLy9oZWlnaHQ6IDEzMHB4O1xyXG4gIHdpZHRoOiA5MHB4O1xyXG4gIGhlaWdodDogOTBweDtcclxuICAvL2JvcmRlci1yYWRpdXM6IDUwJTtcclxuICAvKiB2ZXJ0aWNhbGx5IGNlbnRlciAqL1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxufVxyXG5cclxuLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ucHJldmlvdXMgeyBsZWZ0OiA3MHB4OyB9XHJcbi5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uLm5leHQgeyByaWdodDogNzBweDsgfVxyXG4vKiByaWdodCB0byBsZWZ0ICovXHJcbi5mbGlja2l0eS1ydGwgLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ucHJldmlvdXMge1xyXG4gIGxlZnQ6IGF1dG87XHJcbiAgcmlnaHQ6IDcwcHg7XHJcbn1cclxuLmZsaWNraXR5LXJ0bCAuZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbi5uZXh0IHtcclxuICByaWdodDogYXV0bztcclxuICBsZWZ0OiA3MHB4O1xyXG59XHJcblxyXG4uZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbiAuZmxpY2tpdHktYnV0dG9uLWljb24ge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBsZWZ0OiAyMCU7XHJcbiAgdG9wOiAyMCU7XHJcbiAgd2lkdGg6IDYwJTtcclxuICBoZWlnaHQ6IDYwJTtcclxufVxyXG5cclxuLyogLS0tLSBwYWdlIGRvdHMgLS0tLSAqL1xyXG5cclxuLmZsaWNraXR5LXBhZ2UtZG90cyB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGJvdHRvbTogLTI1cHg7XHJcbiAgcGFkZGluZzogMDtcclxuICBtYXJnaW46IDA7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcbn1cclxuXHJcbi5mbGlja2l0eS1ydGwgLmZsaWNraXR5LXBhZ2UtZG90cyB7IGRpcmVjdGlvbjogcnRsOyB9XHJcblxyXG4uZmxpY2tpdHktcGFnZS1kb3RzIC5kb3Qge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aWR0aDogMTBweDtcclxuICBoZWlnaHQ6IDEwcHg7XHJcbiAgbWFyZ2luOiAwIDhweDtcclxuICBiYWNrZ3JvdW5kOiAjMzMzO1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICBvcGFjaXR5OiAwLjI1O1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmZsaWNraXR5LXBhZ2UtZG90cyAuZG90LmlzLXNlbGVjdGVkIHtcclxuICBvcGFjaXR5OiAxO1xyXG59XHJcbiIsIi8vIGNvbG9yXHJcbiR3aGl0ZTogI2ZmZiAhZGVmYXVsdDtcclxuJGJsYWNrOiAjMDAwICFkZWZhdWx0O1xyXG4kYm9keS1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcclxuJHRleHQtY29sb3I6ICMzMzMgIWRlZmF1bHQ7XHJcbiRjb2xvci1wcmltYXJ5OiAjZmYwMDQ2ICFkZWZhdWx0O1xyXG4kY29sb3ItYmx1ZS1kYXJrOiAjMDAxMjI4ICFkZWZhdWx0O1xyXG5cclxuLy8gZm9udCBmYW1pbHlcclxuJGZvbnQtZmFtaWx5OiBcIlJhdGlvbmFsIFRleHRcIiwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90byxcclxuXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsXHJcblwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiICFkZWZhdWx0O1xyXG5cclxuLy8gYW5pbWF0aW9uXHJcbiRhbmltYXRpb24tZHVyYXRpb246IDIwMG1zO1xyXG5cclxuLy8gc2l6ZVxyXG4kY29udGFpbmVyLXBhZGRpbmc6IDE1cHg7XHJcbiRjb250YWluZXItd2lkdGg6IDEyOTBweDtcclxuJGNvbnRhaW5lci1zbWFsbC13aWR0aDogMTEyMHB4O1xyXG4kY29udGFpbmVyLXNtYWxsZXItd2lkdGg6IDEwNzBweDtcclxuJGFubm91bmNlbWVudC1iYXItaGVpZ2h0OiA2MHB4O1xyXG4kYW5ub3VuY2VtZW50LWJhci1oZWlnaHQtbW9iaWxlOiA0MHB4O1xyXG4kaGVhZGVyLWhlaWdodDogMTAwcHg7XHJcbiRoZWFkZXItaGVpZ2h0LW1vYmlsZTogNzBweDtcclxuJGljb24tc2l6ZTogMjJweDtcclxuJGZsYWctd2lkdGg6IDI4cHg7XHJcbiRmbGFnLWhlaWdodDogMjZweDsiLCIvL1RyYW5zaXRpb24gTWl4aW4vL1xyXG5cclxuQG1peGluIHRyYW5zaXRpb24oJGFyZ3MpIHtcclxuICAtd2Via2l0LXRyYW5zaXRpb246ICRhcmdzO1xyXG4gIC1tb3otdHJhbnNpdGlvbjogJGFyZ3M7XHJcbiAgLW1zLXRyYW5zaXRpb246ICRhcmdzO1xyXG4gIC1vLXRyYW5zaXRpb246ICRhcmdzO1xyXG4gIHRyYW5zaXRpb246ICRhcmdzO1xyXG59XHJcblxyXG5AbWl4aW4gdHJhbnNpdGlvbk11bHRpKCR0cmFuc2l0aW9uLXByb3BlcnR5LCAkdHJhbnNpdGlvbi10aW1lLCAkbWV0aG9kKSB7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1wcm9wZXJ0eSAkdHJhbnNpdGlvbi10aW1lICRtZXRob2Q7XHJcbiAgLW1vei10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1wcm9wZXJ0eSAkdHJhbnNpdGlvbi10aW1lICRtZXRob2Q7XHJcbiAgLW1zLXRyYW5zaXRpb246ICR0cmFuc2l0aW9uLXByb3BlcnR5ICR0cmFuc2l0aW9uLXRpbWUgJG1ldGhvZDtcclxuICAtby10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1wcm9wZXJ0eSAkdHJhbnNpdGlvbi10aW1lICRtZXRob2Q7XHJcbiAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tcHJvcGVydHkgJHRyYW5zaXRpb24tdGltZSAkbWV0aG9kO1xyXG59XHJcblxyXG4vL1JvdGF0ZSBNaXhpbi8vXHJcblxyXG5AbWl4aW4gcm90YXRlKCRkZWdyZWVzKSB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XHJcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XHJcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcclxuICAtby10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XHJcbiAgdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpO1xyXG59XHJcblxyXG4vL0JveC1zaGFkb3cgTWl4aW4vL1xyXG5AbWl4aW4gYm94LXNoYWRvdygkYXJncykge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogJGFyZ3M7XHJcbiAgLW1vei1ib3gtc2hhZG93OiAkYXJncztcclxuICBib3gtc2hhZG93OiAkYXJncztcclxufVxyXG5cclxuLy9DYWxjIE1peGluLy9cclxuQG1peGluIGNhbGMoJHByb3BlcnR5LCAkZXhwcmVzc2lvbikge1xyXG4gICN7JHByb3BlcnR5fTogLW1vei1jYWxjKCN7JGV4cHJlc3Npb259KTtcclxuICAjeyRwcm9wZXJ0eX06IC13ZWJraXQtY2FsYygjeyRleHByZXNzaW9ufSk7XHJcbiAgI3skcHJvcGVydHl9OiAtbXMtY2FsYygjeyRleHByZXNzaW9ufSk7XHJcbiAgI3skcHJvcGVydHl9OiAtby1jYWxjKCN7JGV4cHJlc3Npb259KTtcclxuICAjeyRwcm9wZXJ0eX06IGNhbGMoI3skZXhwcmVzc2lvbn0pO1xyXG59XHJcblxyXG4vL2ZsZXgtZGlyZWN0aW9uIE1peGluLy9cclxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCRkaXJlY3Rpb24pIHtcclxuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xyXG4gIC1tb3otZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XHJcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xyXG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xyXG59XHJcblxyXG4vL2ZsZXggb3JkZXIgTWl4aW4vL1xyXG5AbWl4aW4gb3JkZXIoJHZhbCkge1xyXG4gIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6ICR2YWw7XHJcbiAgLW1vei1ib3gtb3JkaW5hbC1ncm91cDogJHZhbDtcclxuICAtbXMtZmxleC1vcmRlcjogJHZhbDtcclxuICAtd2Via2l0LW9yZGVyOiAkdmFsO1xyXG4gIG9yZGVyOiAkdmFsO1xyXG59XHJcblxyXG4vL0FuaW1hdGlvbiBNaXhpbi8vXHJcblxyXG5AbWl4aW4ga2V5ZnJhbWUoJGFuaW1hdGlvbi1uYW1lKSB7XHJcbiAgQC13ZWJraXQta2V5ZnJhbWVzICRhbmltYXRpb24tbmFtZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcblxyXG4gIEAtbW96LWtleWZyYW1lcyAkYW5pbWF0aW9uLW5hbWUge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG5cclxuICBALW8ta2V5ZnJhbWVzICRhbmltYXRpb24tbmFtZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcblxyXG4gIEBrZXlmcmFtZXMgJGFuaW1hdGlvbi1uYW1lIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFuaW1hdGlvbigkc3RyKSB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb246ICN7JHN0cn07XHJcbiAgLW1vei1hbmltYXRpb246ICN7JHN0cn07XHJcbiAgLW8tYW5pbWF0aW9uOiAjeyRzdHJ9O1xyXG4gIGFuaW1hdGlvbjogI3skc3RyfTtcclxufVxyXG5cclxuLy8gQ29udGV4dHVhbCBiYWNrZ3JvdW5kc1xyXG5cclxuQG1peGluIGJnLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcclxuICB9XHJcbiAgYSN7JHBhcmVudH0sXHJcbiAgYnV0dG9uI3skcGFyZW50fSB7XHJcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYGJnLXZhcmlhbnRgIG1peGluXCIsIFwidjQuNC4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcclxufVxyXG5cclxuQG1peGluIGJnLWdyYWRpZW50LXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3JcclxuICAgICAgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgbWl4KCRib2R5LWJnLCAkY29sb3IsIDE1JSksICRjb2xvcikgcmVwZWF0LXggIWltcG9ydGFudDtcclxuICB9XHJcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFxyXG4gICAgXCJUaGUgYGJnLWdyYWRpZW50LXZhcmlhbnRgIG1peGluXCIsXHJcbiAgICBcInY0LjUuMFwiLFxyXG4gICAgXCJ2NVwiLFxyXG4gICAgJGlnbm9yZS13YXJuaW5nXHJcbiAgKTtcclxufVxyXG5cclxuLy9SZXNwb25zaXZlIGJyZWFrcG9pbnRcclxuJGJyZWFrcG9pbnRzOiAoXHJcbiAgICAoJ2lwaG9uZScsIDQzMHB4KSxcclxuICAgICgnbW9iaWxlLXBvcnRyYWl0JywgNTIwcHgpLFxyXG4gICAgKCdtb2JpbGUtbGFuZHNjYXBlJywgNzM2cHgpLFxyXG4gICAgKCd0YWJsZXQnLCA4MzVweCksXHJcbiAgICAoJ2xhcHRvcC1saWtlLXJlYWwtc21hbGwnLCAxMDA1cHgpLFxyXG4gICAgKCdsYXB0b3Atc21hbGxlcicsIDEyMDBweCksXHJcbiAgICAoJ2xhcHRvcC1tZW51LWNvbGxpZGUtbGVmdCcsIDEzMzVweCksXHJcbiAgICAoJ2xhcHRvcC1zbGlkZXItYXJyb3dzJywgMTQxOHB4KSxcclxuICAgICgnbGFwdG9wLXNtYWxsJywgI3skY29udGFpbmVyLXdpZHRoICsgJGNvbnRhaW5lci1wYWRkaW5nICogMn0pXHJcbik7XHJcblxyXG4kYnJlYWtwb2ludHNIZWlnaHQ6IChcclxuICAgICgneHMnLCA0ODBweCksXHJcbiAgICAoJ3MnLCA2MjRweCksXHJcbiAgICAoJ3NtJywgNzY4cHgpLFxyXG4gICAgKCdtJywgOTAwcHgpLFxyXG4gICAgKCdtZCcsIDEwMjRweCksXHJcbiAgICAoJ2wnLCAxMTk1cHgpLFxyXG4gICAgKCdsZycsIDEzNjZweCksXHJcbik7XHJcblxyXG5cclxuJGJyZWFrcG9pbnRzTWl4OiAoXHJcbiAgJ3NtYWxsJyA6ICggbWF4LXdpZHRoOiAgMjBlbSApLFxyXG4gICdsYXB0b3BIZWlnaHRNZCcgOiBcIiggbWluLXdpZHRoOiA1NTBweCApIGFuZCAobWF4LWhlaWdodDogOTAwcHgpXCIsXHJcbiAgJ2hlaWdodCcgOiBcIiggbWluLXdpZHRoOiA3NWVtICkgYW5kIChtaW4taGVpZ2h0OiA2Mi41ZW0pXCIgIFxyXG4pO1xyXG5cclxuQG1peGluIG1lZGlhX21peCgkbmFtZSkge1xyXG4gIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHNNaXgsICRuYW1lKSB7XHJcbiAgICAkdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzTWl4LCAkbmFtZSk7XHJcbiAgICAkcXVlcnk6IGlmKHR5cGUtb2YoJHZhbHVlKSA9PSBcInN0cmluZ1wiLCAkdmFsdWUsIGluc3BlY3QoJHZhbHVlKSk7XHJcbiAgICBAbWVkaWFfbWl4ICN7JHF1ZXJ5fSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICBAd2FybiBcIlVuZm9ydHVuYXRlbHksIG5vIHZhbHVlIGNvdWxkIGJlIHJldHJpZXZlZCBmcm9tIGAjeyRicmVha3BvaW50fWAuIFwiXHJcbiAgICAgICAgKyBcIlBsZWFzZSBtYWtlIHN1cmUgaXQgaXMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYCBtYXAuXCI7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcmVzcG9uZC1mcm9tKCRtZWRpYSkge1xyXG4gICAgIEBlYWNoICRicmVha3BvaW50IGluICRicmVha3BvaW50cyB7XHJcbiAgICAgICAgICBAaWYgJG1lZGlhID09IG50aCgkYnJlYWtwb2ludCwgMSkge1xyXG4gICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogI3tudGgoJGJyZWFrcG9pbnQsIDIpfSkgIHsgQGNvbnRlbnQ7IH1cclxuICAgICAgICAgIH1cclxuICAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiByZXNwb25kLXRvKCRtZWRpYSkge1xyXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgICAgJGJyZWFrcG9pbnQ6IG50aCgkYnJlYWtwb2ludHMsICRpKTtcclxuICAgICAgICAkbmFtZTogbnRoKCRicmVha3BvaW50LCAxKTtcclxuICAgICAgICAkdmFsdWU6IG50aCgkYnJlYWtwb2ludCwgMik7XHJcbiBcclxuICAgICAgICBAaWYgJG1lZGlhID09ICRuYW1lIHtcclxuICAgICAgICAgICAgQGlmICRpID09IDEge1xyXG4gICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICN7JHZhbHVlfSkgIHsgQGNvbnRlbnQ7IH1cclxuICAgICAgICAgICAgfSBAZWxzZSBpZiAkaSA9PSBsZW5ndGgoJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogI3skdmFsdWV9KSAgeyBAY29udGVudDsgfVxyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICRuZXh0X2JyZWFrcG9pbnQ6IG50aCgkYnJlYWtwb2ludHMsICRpICsgMSk7XHJcbiAgICAgICAgICAgICAgICAkbmV4dF9uYW1lOiBudGgoJG5leHRfYnJlYWtwb2ludCwgMSk7XHJcbiAgICAgICAgICAgICAgICAkbmV4dF92YWx1ZTogbnRoKCRuZXh0X2JyZWFrcG9pbnQsIDIpO1xyXG4gXHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogI3skdmFsdWV9KSBhbmQgKG1heC13aWR0aDogI3skbmV4dF92YWx1ZSAtIDFweH0pIHsgQGNvbnRlbnQ7IH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgfVxyXG59XHJcblxyXG5AbWl4aW4gcmVzcG9uZC11bnRpbCgkbWVkaWEpIHtcclxuICAgICBAZWFjaCAkYnJlYWtwb2ludCBpbiAkYnJlYWtwb2ludHMge1xyXG4gICAgICAgICAgQGlmICRtZWRpYSA9PSBudGgoJGJyZWFrcG9pbnQsIDEpIHtcclxuICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICN7bnRoKCRicmVha3BvaW50LCAyKX0pICB7IEBjb250ZW50OyB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgfVxyXG59XHJcblxyXG5AbWl4aW4gcmVzcG9uZC11bnRpbC1oZWlnaHQoJG1lZGlhKSB7XHJcbiAgICAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gJGJyZWFrcG9pbnRzSGVpZ2h0IHtcclxuICAgICAgICAgIEBpZiAkbWVkaWEgPT0gbnRoKCRicmVha3BvaW50LCAxKSB7XHJcbiAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LWhlaWdodDogI3tudGgoJGJyZWFrcG9pbnQsIDIpfSkgIHsgQGNvbnRlbnQ7IH1cclxuICAgICAgICAgIH1cclxuICAgICB9XHJcbn1cclxuXHJcbi8qIFVzYWdlXHJcbi5teS1oZWFkZXIge1xyXG4gICAgLy8gd2lkdGhcclxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdW50aWwoc20pIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiByZWQ7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogb3JhbmdlO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgcmVzcG9uZC1mcm9tKG0pIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBncmVlbjtcclxuICAgIH1cclxuXHJcbiAgICAvL2hlaWdodFxyXG4gICAgQGluY2x1ZGUgcmVzcG9uZC11bnRpbC1oZWlnaHQobSkge1xyXG4gICAgICBiYWNrZ3JvdW5kOiBwaW5rO1xyXG4gICAgfVxyXG59XHJcbiovIiwiQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdSYXRpb25hbCBUZXh0JztcclxuICBzcmM6IHVybCgnLi4vZm9udHMvcmF0aW9uYWx0ZXh0LUxpZ2h0LmVvdCcpO1xyXG4gIHNyYzogbG9jYWwoJ1JhdGlvbmFsIFRleHQnKSxcclxuICB1cmwoJy4uL2ZvbnRzL3JhdGlvbmFsdGV4dC1MaWdodC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcclxuICB1cmwoJy4uL2ZvbnRzL3JhdGlvbmFsdGV4dC1MaWdodC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXHJcbiAgdXJsKCcuLi9mb250cy9yYXRpb25hbHRleHQtTGlnaHQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxyXG4gIHVybCgnLi4vZm9udHMvcmF0aW9uYWx0ZXh0LUxpZ2h0LnN2ZycpIGZvcm1hdCgnc3ZnJyk7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiAnUmF0aW9uYWwgVGV4dCc7XHJcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL3JhdGlvbmFsdGV4dC1TZW1pQm9sZC5lb3QnKTtcclxuICBzcmM6IGxvY2FsKCdSYXRpb25hbCBUZXh0JyksXHJcbiAgdXJsKCcuLi9mb250cy9yYXRpb25hbHRleHQtU2VtaUJvbGQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXHJcbiAgdXJsKCcuLi9mb250cy9yYXRpb25hbHRleHQtU2VtaUJvbGQud29mZicpIGZvcm1hdCgnd29mZicpLFxyXG4gIHVybCgnLi4vZm9udHMvcmF0aW9uYWx0ZXh0LVNlbWlCb2xkLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcclxuICB1cmwoJy4uL2ZvbnRzL3JhdGlvbmFsdGV4dC1TZW1pQm9sZC5zdmcnKSBmb3JtYXQoJ3N2ZycpO1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG4iLCIuYnV0dG9uIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICBjb2xvcjogI2ZmZjtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgb3V0bGluZTogMDtcclxuICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3ItcHJpbWFyeTtcclxuICBiYWNrZ3JvdW5kOiAkY29sb3ItcHJpbWFyeTtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIGZvbnQtc2l6ZTogMjBweDtcclxuICBoZWlnaHQ6IDUycHg7XHJcbiAgbGluZS1oZWlnaHQ6IDUycHg7XHJcbiAgcGFkZGluZzogMCA2OHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICRhbmltYXRpb24tZHVyYXRpb24gZWFzZSwgdHJhbnNmb3JtICRhbmltYXRpb24tZHVyYXRpb24gZWFzZTtcclxuICB3aWxsLWNoYW5nZTogYmFja2dyb3VuZC1jb2xvciwgdHJhbnNmb3JtO1xyXG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgLy90cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XHJcblxyXG4gICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLXByaW1hcnksIDUlKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XHJcbiAgfVxyXG4gICY6YWN0aXZlIHtcclxuICAgIC8vYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcbiAgICAvL3RyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgfVxyXG59XHJcblxyXG4uYnV0dG9uLXdyYXBwZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgQGluY2x1ZGUgcmVzcG9uZC11bnRpbChpcGhvbmUpIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuXHJcbiAgLmJ1dHRvbi13cmFwIHtcclxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdW50aWwoaXBob25lKSB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgICYuYnV0dG9uLXJlc2VsbGVyIHtcclxuICAgICAgLmJ1dHRvbiB7XHJcbiAgICAgICAgJjpub3QoLmJ1dHRvbi1oZWFkZXIpIHtcclxuICAgICAgICAgIG1pbi13aWR0aDogMzMwcHg7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC11bnRpbChpcGhvbmUpIHtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiB1bnNldDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogOTAlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICY6bnRoLWNoaWxkKG4rMSkge1xyXG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmJ1dHRvbi1jbG9zZSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcclxuICBoZWlnaHQ6IDMwcHg7XHJcbiAgd2lkdGg6IDMwcHg7XHJcbiAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcbiAgfVxyXG4gICY6YWN0aXZlIHtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gIH1cclxuICBzdmcge1xyXG4gICAgZmlsbDogY3VycmVudENvbG9yO1xyXG4gICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgd2lkdGg6IDMwcHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcbn1cclxuXHJcblxyXG4uYnV0dG9uIHtcclxuICBwb2ludGVyLWV2ZW50czogYXV0bztcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBiYWNrZ3JvdW5kOiBkYXJrZW4oJGNvbG9yLXByaW1hcnksIDEwJSk7XHJcbn1cclxuXHJcbi5idXR0b246OmJlZm9yZSxcclxuLmJ1dHRvbjo6YWZ0ZXIge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi5idXR0b24taW52ZXJ0IHtcclxuICBiYWNrZ3JvdW5kOiBkYXJrZW4oJGNvbG9yLXByaW1hcnksIDEwJSk7XHJcbiAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yLXByaW1hcnk7XHJcbiAgY29sb3I6ICRibGFjaztcclxuICAvL3BhZGRpbmc6IDAgNjhweDtcclxuICBAaW5jbHVkZSB0cmFuc2l0aW9uTXVsdGkoYWxsLCAwLjRzLCBlYXNlLW91dCk7XHJcblxyXG4gICY6aG92ZXIge1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICB9XHJcbn1cclxuXHJcbi5idXR0b24tLWh5cGVyaW9uIHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uYnV0dG9uLS1oeXBlcmlvbiBzcGFuIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5idXR0b24tLWh5cGVyaW9uID4gc3BhbiB7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLmJ1dHRvbi0taHlwZXJpb24gPiBzcGFuID4gc3BhbiB7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAvL21peC1ibGVuZC1tb2RlOiBkaWZmZXJlbmNlO1xyXG59XHJcblxyXG4uYnV0dG9uLS1oeXBlcmlvbjpob3ZlciA+IHNwYW4gPiBzcGFuIHtcclxuICAvL2FuaW1hdGlvbjogTW92ZVVwSW5pdGlhbCAwLjE1cyBmb3J3YXJkcywgTW92ZVVwRW5kIDAuMTVzIGZvcndhcmRzIDAuMTVzO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIE1vdmVVcEluaXRpYWwge1xyXG4gIHRvIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtMTA1JSwwKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgTW92ZVVwRW5kIHtcclxuICBmcm9tIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwxMDAlLDApO1xyXG4gIH1cclxuICB0byB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcclxuICB9XHJcbn1cclxuXHJcbi5idXR0b24tLWh5cGVyaW9uOjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIGJhY2tncm91bmQ6ICRjb2xvci1wcmltYXJ5O1xyXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzIGN1YmljLWJlemllcigwLjcsIDAsIDAuMiwgMSk7XHJcbiAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSA1MCU7XHJcbn1cclxuXHJcbi5idXR0b24tLWh5cGVyaW9uOmhvdmVyOjpiZWZvcmUge1xyXG4gIHRyYW5zZm9ybTogc2NhbGUzZCgwLDEsMSk7XHJcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCUgNTAlO1xyXG59XHJcblxyXG5cclxuLmJ1dHRvbi0taHlwZXJpb24ge1xyXG4gICYuYnV0dG9uLWludmVydCB7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuICAgIH1cclxuICB9XHJcbn0iLCIuaWNvbiB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgd2lkdGg6ICRpY29uLXNpemU7XHJcbiAgICBoZWlnaHQ6ICRpY29uLXNpemU7XHJcbiAgICBzdmcge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcclxuICAgICAgICBoZWlnaHQ6ICRpY29uLXNpemU7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRpY29uLXNpemUgKyA0cHg7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG59XHJcblxyXG4uaWNvbi15b3V0dWJlIHtcclxuICAgIHdpZHRoOiAzMnB4O1xyXG4gICAgaGVpZ2h0OiAkaWNvbi1zaXplICsgNHB4O1xyXG4gICAgc3ZnIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmaWxsOiBjdXJyZW50Q29sb3I7XHJcbiAgICAgICAgaGVpZ2h0OiAkaWNvbi1zaXplICsgNHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkaWNvbi1zaXplICsgNHB4O1xyXG4gICAgICAgIHdpZHRoOiAzNnB4O1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIH1cclxufVxyXG5cclxuLmZsYWcge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIHdpZHRoOiAkZmxhZy13aWR0aDtcclxuICAgIGhlaWdodDogJGZsYWctaGVpZ2h0O1xyXG4gICAgc3ZnIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBoZWlnaHQ6ICRmbGFnLWhlaWdodCAtIDJweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGZsYWctaGVpZ2h0O1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIH1cclxufVxyXG5cclxuLmNsb3NlLXgge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAvL2xlZnQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbiAgICB3aWR0aDogMjVweDtcclxuICAgIGhlaWdodDogMjVweDtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgb3V0bGluZTogMDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMjVzIGVhc2UtaW4tb3V0O1xyXG5cclxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdW50aWwobGFwdG9wLWxpa2UtcmVhbC1zbWFsbCkge1xyXG4gICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICBtYXJnaW46IDEwcHg7XHJcbiAgICAgICAgcGFkZGluZzogMjVweDtcclxuICAgIH1cclxufVxyXG4uY2xvc2UteDpob3ZlciB7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG5cclxuICAgICY6YWZ0ZXIsXHJcbiAgICAmOmJlZm9yZVxyXG4gICAge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcbiAgICB9XHJcbn1cclxuLmNsb3NlLXg6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIHRvcDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIHdpZHRoOiAyNXB4O1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsIDEpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xyXG5cclxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdW50aWwobGFwdG9wLWxpa2UtcmVhbC1zbWFsbCkge1xyXG4gICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgfVxyXG59XHJcbi5jbG9zZS14OmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIHRvcDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIHdpZHRoOiAyNXB4O1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsIDEpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcclxuXHJcbiAgICBAaW5jbHVkZSByZXNwb25kLXVudGlsKGxhcHRvcC1saWtlLXJlYWwtc21hbGwpIHtcclxuICAgICAgICB3aWR0aDogMjBweDtcclxuICAgIH1cclxufSIsIkBpbmNsdWRlIGtleWZyYW1lKGdyb3dJbikge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5hbmltYXRlZC0tZ3Jvdy1pbiB7XG4gIEBpbmNsdWRlIGFuaW1hdGlvbihcbiAgICBcImdyb3dJbiAyMDBtcyB0cmFuc2Zvcm0gY3ViaWMtYmV6aWVyKC4xOCwxLjI1LC40LDEpLCBvcGFjaXR5IGN1YmljLWJlemllcigwLDEsLjQsMSlcIlxuICApO1xufVxuIiwiIiwiKiB7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5odG1sIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWluLWhlaWdodDogMTAwJTtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1hcmdpbjogMDtcclxufVxyXG5cclxuYm9keSB7XHJcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICBsaW5lLWhlaWdodDogMS41ZW07XHJcbiAgY29sb3I6ICR0ZXh0LWNvbG9yO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWNvbG9yO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1hcmdpbjogMDtcclxuICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbn1cclxuXHJcbmEge1xyXG4gICY6Zm9jdXMge1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbmgxLFxyXG5oMixcclxuaDMsXHJcbmg0LFxyXG5oNSxcclxuaDYge1xyXG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgbGluZS1oZWlnaHQ6IDEuMWVtO1xyXG4gIG1hcmdpbi10b3A6IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcblxyXG5oMSB7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgLy9mb250LXNpemU6IDQwcHg7XHJcbiAgZm9udC1zaXplOiA2MHB4O1xyXG5cclxuICBAaW5jbHVkZSByZXNwb25kLXVudGlsKHRhYmxldCkge1xyXG4gICAgZm9udC1zaXplOiA0MHB4O1xyXG4gICAgcGFkZGluZzogMCAxMHB4O1xyXG4gIH1cclxufVxyXG5cclxuaDIge1xyXG4gIGZvbnQtc2l6ZTogNDJweDtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1hcmdpbjogMCAwIDMwcHggMDtcclxufVxyXG5cclxuLy8uaG9tZXBhZ2UtdGl0bGUge1xyXG4vKlxyXG4udG9wLXNlY3Rpb24tdGl0bGUge1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIC8vZm9udC1zaXplOiA0MHB4O1xyXG4gIGZvbnQtc2l6ZTogNjBweDtcclxuXHJcbiAgQGluY2x1ZGUgcmVzcG9uZC11bnRpbCh0YWJsZXQpIHtcclxuICAgIHBhZGRpbmc6IDAgNTBweDtcclxuICB9XHJcbn1cclxuKi9cclxuXHJcbnAge1xyXG4gIGZvbnQtc2l6ZTogMjJweDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1hcmdpbjogMDtcclxuICBsaW5lLWhlaWdodDogMS4zO1xyXG5cclxuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICB9XHJcbn1cclxuXHJcbmltZyB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogYXV0bztcclxuICBtYXJnaW4tbGVmdDogYXV0bztcclxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbi5ncmlkLWNvbCB7XHJcbiAgZGlzcGxheTogZ3JpZDtcclxufVxyXG5cclxuLmdyaWQtY29sLTEge1xyXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0bztcclxufVxyXG5cclxuLmdyaWQtY29sLTIge1xyXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvO1xyXG59XHJcblxyXG4uZ3JpZC1jb2wtMyB7XHJcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG8gYXV0bztcclxufVxyXG5cclxuLmdyaWQtY29sLTQge1xyXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvIGF1dG8gYXV0bztcclxufVxyXG5cclxuLmdyaWQtMS1jb2x1bW5zIHtcclxuICBkaXNwbGF5OiBncmlkO1xyXG4gIC8vZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcclxuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG87XHJcbn1cclxuLmdyaWQtMi1jb2x1bW5zIHtcclxuICBkaXNwbGF5OiBncmlkO1xyXG4gIC8vZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcclxuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0bztcclxufVxyXG4uZ3JpZC0zLWNvbHVtbnMge1xyXG4gIGRpc3BsYXk6IGdyaWQ7XHJcbiAgLy9ncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyO1xyXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvIGF1dG87XHJcbn1cclxuLmdyaWQtNC1jb2x1bW5zIHtcclxuICBkaXNwbGF5OiBncmlkO1xyXG4gIC8vZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcclxuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0byBhdXRvIGF1dG87XHJcbn1cclxuXHJcbi5ncmlkLW5vLWdhcCB7XHJcbiAgZ3JpZC1nYXA6IDA7XHJcbn1cclxuXHJcbi5ncmlkLWNvbC1zZWN0aW9uIHtcclxuXHJcbiAgcCB7XHJcbiAgICBAaW5jbHVkZSByZXNwb25kLXVudGlsKHRhYmxldCkge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcbiAgLmNvbnRhaW5lci1zbWFsbGVyIHtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgfVxyXG5cclxuICAuZ3JpZC1jb2wtMiB7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDUwJSA1MCU7XHJcbiAgfVxyXG5cclxuICAuZ3JpZC1jb2wge1xyXG4gICAgLy9nYXA6IDBweCAxMzBweDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdW50aWwodGFibGV0KSB7XHJcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwJTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5ncmlkLWNvbC1pdGVtIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDcwcHg7XHJcblxyXG4gICAgQGluY2x1ZGUgcmVzcG9uZC11bnRpbCh0YWJsZXQpIHtcclxuICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDcwcHg7XHJcblxyXG4gICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5jb250ZW50LXdyYXBwZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWNvbG9yO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcclxufVxyXG5cclxuLnNjcm9sbC1jb250YWluZXJ7XHJcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4uZmxleC1iYXNpcy1hdXRvIHtcclxuICAtd2Via2l0LWZsZXgtYmFzaXM6IGF1dG87XHJcbiAgLW1vei1mbGV4LWJhc2lzOiBhdXRvO1xyXG4gIC1tcy1mbGV4LWJhc2lzOiBhdXRvO1xyXG4gIGZsZXgtYmFzaXM6IGF1dG87XHJcbn1cclxuXHJcbi5oaWRlIHtcclxuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5jb250YWluZXIge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1heC13aWR0aDogJGNvbnRhaW5lci13aWR0aCArICRjb250YWluZXItcGFkZGluZyAqIDI7XHJcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gIHBhZGRpbmctbGVmdDogJGNvbnRhaW5lci1wYWRkaW5nO1xyXG4gIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXItcGFkZGluZztcclxufVxyXG4uY29udGFpbmVyLXNtYWxsIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXgtd2lkdGg6ICRjb250YWluZXItc21hbGwtd2lkdGggKyAkY29udGFpbmVyLXBhZGRpbmcgKiAyO1xyXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gIG1hcmdpbi1yaWdodDogYXV0bztcclxuICBwYWRkaW5nLWxlZnQ6ICRjb250YWluZXItcGFkZGluZztcclxuICBwYWRkaW5nLXJpZ2h0OiAkY29udGFpbmVyLXBhZGRpbmc7XHJcbn1cclxuLmNvbnRhaW5lci1zbWFsbGVyIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXgtd2lkdGg6ICRjb250YWluZXItc21hbGxlci13aWR0aCArICRjb250YWluZXItcGFkZGluZyAqIDI7XHJcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gIHBhZGRpbmctbGVmdDogJGNvbnRhaW5lci1wYWRkaW5nO1xyXG4gIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXItcGFkZGluZztcclxufVxyXG5cclxuLmNsZWFyZml4OmFmdGVyIHtcclxuICBjb250ZW50OiBcIlwiO1xyXG4gIGRpc3BsYXk6IHRhYmxlO1xyXG4gIGNsZWFyOiBib3RoO1xyXG59XHJcblxyXG4uZmxvYXQtbGVmdCB7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbn1cclxuLmZsb2F0LXJpZ2h0IHtcclxuICBmbG9hdDogcmlnaHQ7XHJcbn1cclxuXHJcbi50ZXh0LWxlZnQge1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbn1cclxuLnRleHQtcmlnaHQge1xyXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xyXG59XHJcbi50ZXh0LWNlbnRlciB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4ucmVsYXRpdmUge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG4uaW5saW5lLWJsb2NrIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcclxufVxyXG5cclxuLnBhZGRpbmctdG9wIHtcclxuICBwYWRkaW5nLXRvcDogMTIwcHg7XHJcbn1cclxuLm5vLXBhZGRpbmctdG9wIHtcclxuICBwYWRkaW5nLXRvcDogMHB4O1xyXG59XHJcblxyXG4ucGFkZGluZy1ib3R0b20ge1xyXG4gIHBhZGRpbmctYm90dG9tOiAxMjBweDtcclxufVxyXG4ubm8tcGFkZGluZy1ib3R0b20ge1xyXG4gIHBhZGRpbmctYm90dG9tOiAwcHg7XHJcbn1cclxuXHJcbi5uby1wYWRkaW5nLXNpZGVzIHtcclxuICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcclxuICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5uby1tYXJnaW4tYm90dG9tIHtcclxuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbjo6LW1vei1zZWxlY3Rpb24ge1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIGJhY2tncm91bmQ6ICNmZjAwNDk7XHJcbn1cclxuOjpzZWxlY3Rpb24ge1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIGJhY2tncm91bmQ6ICNmZjAwNDk7XHJcbn1cclxuXHJcbnNlY3Rpb24ge1xyXG4gICYubm8tcGFkZGluZy10b3Age1xyXG4gICAgcGFkZGluZy10b3A6IDA7XHJcbiAgfVxyXG4gICYubm8tcGFkZGluZy10b3AtbW9iaWxlIHtcclxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdW50aWwodGFibGV0KSB7XHJcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5uby1wYWRkaW5nLWJvdHRvbSB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICB9XHJcbiAgJi5uby1wYWRkaW5nLWJvdHRvbS1tb2JpbGUge1xyXG4gICAgQGluY2x1ZGUgcmVzcG9uZC11bnRpbCh0YWJsZXQpIHtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLnRleHQtYm90dG9tIHtcclxuICAgIC5zZWN0aW9uLWJhY2tncm91bmQge1xyXG4gICAgICBpbWcge1xyXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdW50aWwodGFibGV0KSB7XHJcbiAgICAgICAgICBoZWlnaHQ6IDcwJTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuLypcclxuLnNlY3Rpb24tdGl0bGUge1xyXG4gIGZvbnQtc2l6ZTogNDJweDtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1hcmdpbjogMCAwIDMwcHggMDtcclxufVxyXG4qL1xyXG4uc2VjdGlvbi1iYWNrZ3JvdW5kIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogMDtcclxuICB0b3A6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHotaW5kZXg6IC0xO1xyXG4vKlxyXG4gICY6bm90KC5uby1vdmVybGF5KSB7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgY29udGVudDogJyc7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjMDAwLCAuNCk7XHJcbiAgICB9XHJcbiAgfVxyXG4qL1xyXG4gIGltZywgdmlkZW8ge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xyXG4gIH1cclxuXHJcbiAgJi5vdmVybGF5LWRpbW1lciB7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgY29udGVudDogJyc7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjMDAwLCAuNCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uc2VjdGlvbi1iYWNrZ3JvdW5kLXZpZGVvIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2lkdGg6IDEwMHZ3O1xyXG4gIGhlaWdodDogMTAwdmg7XHJcbiAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgei1pbmRleDogLTE7XHJcbn1cclxuXHJcbi5tb2RhbHMge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB6LWluZGV4OiA5OTk1O1xyXG59XHJcbi5tb2RhbCB7XHJcblxyXG59XHJcblxyXG4ubGluayB7XHJcbiAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLXByaW1hcnksIDUlKTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB9XHJcbiAgJjphY3RpdmUge1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgfVxyXG59XHJcbi8qXHJcbi5saXN0LXJlZ3VsYXIge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgZm9udC1zaXplOiAyMnB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgPiBsaSB7XHJcbiAgICBwYWRkaW5nOiAwIDAgMCAyMHB4O1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgfVxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiAnJztcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgdG9wOiAxMHB4O1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgICBoZWlnaHQ6IDdweDtcclxuICAgICAgd2lkdGg6IDdweDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiovXHJcbi50ZXh0LXNoYWRlIHtcclxuICB0ZXh0LXNoYWRvdzogMHB4IDJweCAxNXB4IHJnYmEoMCwwLDAsMC41KVxyXG59XHJcblxyXG4uZGltbWVyIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC41KTtcclxuICB6LWluZGV4OiA5OTtcclxuICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgb3BhY2l0eTogMDtcclxuICBAaW5jbHVkZSB0cmFuc2l0aW9uTXVsdGkoYWxsLCAwLjJzLCBlYXNlLW91dCk7XHJcbn1cclxuXHJcbi50YWJsZXQtb25seSB7XHJcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG5cclxuICBAaW5jbHVkZSByZXNwb25kLXVudGlsKHRhYmxldCkge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5ib2R5IHtcclxuICAmLm1vYmlsZS1tZW51LW9wZW5lZCB7XHJcblxyXG4gIH1cclxuICAmLnN0YXRlLW5vcm1hbCB7XHJcbiAgICAuaGVhZGVyLXN0aWNreSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG4gICYuc3RhdGUtc3RpY2t5IHtcclxuICAgIC5oZWFkZXIge1xyXG4gICAgICAmOm5vdCguaGVhZGVyLXN0aWNreSkge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgJi5waW5uZWQtY29udGVudCB7XHJcbiAgICAuaGVhZGVyLXN0aWNreSB7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG4gICYubm8tb3ZlcmZsb3cge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB9XHJcbn1cclxuXHJcblxyXG4uZmxpY2tpdHktdmlld3BvcnQge1xyXG4gIHRvdWNoLWFjdGlvbjogcGFuLXghIGltcG9ydGFudDtcclxufSIsIi5wcmVsb2FkZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB6LWluZGV4OiA5MDtcclxufVxyXG5cclxuLypcclxuPGRpdiBjbGFzcz1cImxhLWJhbGwtZmFsbCBsYS0yeFwiPlxyXG4gICAgPGRpdj48L2Rpdj5cclxuICAgIDxkaXY+PC9kaXY+XHJcbiAgICA8ZGl2PjwvZGl2PlxyXG48L2Rpdj5cclxuKi9cclxuXHJcbi8qIVxyXG4gKiBMb2FkIEF3ZXNvbWUgdjEuMS4wIChodHRwOi8vZ2l0aHViLmRhbmllbGNhcmRvc28ubmV0L2xvYWQtYXdlc29tZS8pXHJcbiAqIENvcHlyaWdodCAyMDE1IERhbmllbCBDYXJkb3NvIDxARGFuaWVsQ2FyZG9zbz5cclxuICogTGljZW5zZWQgdW5kZXIgTUlUXHJcbiAqL1xyXG4ubGEtYmFsbC1mYWxsLFxyXG4ubGEtYmFsbC1mYWxsID4gZGl2IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG4ubGEtYmFsbC1mYWxsIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZm9udC1zaXplOiAwO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbn1cclxuLmxhLWJhbGwtZmFsbC5sYS1kYXJrIHtcclxuICAgIGNvbG9yOiAjMzMzO1xyXG59XHJcbi5sYS1iYWxsLWZhbGwgPiBkaXYge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgZmxvYXQ6IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XHJcbiAgICBib3JkZXI6IDAgc29saWQgY3VycmVudENvbG9yO1xyXG59XHJcbi5sYS1iYWxsLWZhbGwge1xyXG4gICAgd2lkdGg6IDU0cHg7XHJcbiAgICBoZWlnaHQ6IDE4cHg7XHJcbn1cclxuLmxhLWJhbGwtZmFsbCA+IGRpdiB7XHJcbiAgICB3aWR0aDogMTBweDtcclxuICAgIGhlaWdodDogMTBweDtcclxuICAgIG1hcmdpbjogNHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogYmFsbC1mYWxsIDAuOHMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XHJcbiAgICAgICAtbW96LWFuaW1hdGlvbjogYmFsbC1mYWxsIDAuOHMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XHJcbiAgICAgICAgIC1vLWFuaW1hdGlvbjogYmFsbC1mYWxsIDAuOHMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbjogYmFsbC1mYWxsIDAuOHMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XHJcbn1cclxuLmxhLWJhbGwtZmFsbCA+IGRpdjpudGgtY2hpbGQoMSkge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IC0yMDBtcztcclxuICAgICAgIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAtMjAwbXM7XHJcbiAgICAgICAgIC1vLWFuaW1hdGlvbi1kZWxheTogLTIwMG1zO1xyXG4gICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IC0yMDBtcztcclxufVxyXG4ubGEtYmFsbC1mYWxsID4gZGl2Om50aC1jaGlsZCgyKSB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLTEwMG1zO1xyXG4gICAgICAgLW1vei1hbmltYXRpb24tZGVsYXk6IC0xMDBtcztcclxuICAgICAgICAgLW8tYW5pbWF0aW9uLWRlbGF5OiAtMTAwbXM7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogLTEwMG1zO1xyXG59XHJcbi5sYS1iYWxsLWZhbGwgPiBkaXY6bnRoLWNoaWxkKDMpIHtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAwbXM7XHJcbiAgICAgICAtbW96LWFuaW1hdGlvbi1kZWxheTogMG1zO1xyXG4gICAgICAgICAtby1hbmltYXRpb24tZGVsYXk6IDBtcztcclxuICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwbXM7XHJcbn1cclxuLmxhLWJhbGwtZmFsbC5sYS1zbSB7XHJcbiAgICB3aWR0aDogMjZweDtcclxuICAgIGhlaWdodDogOHB4O1xyXG59XHJcbi5sYS1iYWxsLWZhbGwubGEtc20gPiBkaXYge1xyXG4gICAgd2lkdGg6IDRweDtcclxuICAgIGhlaWdodDogNHB4O1xyXG4gICAgbWFyZ2luOiAycHg7XHJcbn1cclxuLmxhLWJhbGwtZmFsbC5sYS0yeCB7XHJcbiAgICB3aWR0aDogMTA4cHg7XHJcbiAgICBoZWlnaHQ6IDM2cHg7XHJcbn1cclxuLmxhLWJhbGwtZmFsbC5sYS0yeCA+IGRpdiB7XHJcbiAgICB3aWR0aDogMjBweDtcclxuICAgIGhlaWdodDogMjBweDtcclxuICAgIG1hcmdpbjogOHB4O1xyXG59XHJcbi5sYS1iYWxsLWZhbGwubGEtM3gge1xyXG4gICAgd2lkdGg6IDE2MnB4O1xyXG4gICAgaGVpZ2h0OiA1NHB4O1xyXG59XHJcbi5sYS1iYWxsLWZhbGwubGEtM3ggPiBkaXYge1xyXG4gICAgd2lkdGg6IDMwcHg7XHJcbiAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICBtYXJnaW46IDEycHg7XHJcbn1cclxuLypcclxuICogQW5pbWF0aW9uXHJcbiAqL1xyXG5ALXdlYmtpdC1rZXlmcmFtZXMgYmFsbC1mYWxsIHtcclxuICAgIDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNDUlKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTQ1JSk7XHJcbiAgICB9XHJcbiAgICAxMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IC41O1xyXG4gICAgfVxyXG4gICAgMjAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgfVxyXG4gICAgODAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgfVxyXG4gICAgOTAlIHtcclxuICAgICAgICBvcGFjaXR5OiAuNTtcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTQ1JSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTQ1JSk7XHJcbiAgICB9XHJcbn1cclxuQC1tb3ota2V5ZnJhbWVzIGJhbGwtZmFsbCB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTQ1JSk7XHJcbiAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE0NSUpO1xyXG4gICAgfVxyXG4gICAgMTAlIHtcclxuICAgICAgICBvcGFjaXR5OiAuNTtcclxuICAgIH1cclxuICAgIDIwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgIH1cclxuICAgIDgwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgIH1cclxuICAgIDkwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogLjU7XHJcbiAgICB9XHJcbiAgICAxMDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE0NSUpO1xyXG4gICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE0NSUpO1xyXG4gICAgfVxyXG59XHJcbkAtby1rZXlmcmFtZXMgYmFsbC1mYWxsIHtcclxuICAgIDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTQ1JSk7XHJcbiAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNDUlKTtcclxuICAgIH1cclxuICAgIDEwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogLjU7XHJcbiAgICB9XHJcbiAgICAyMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgIH1cclxuICAgIDgwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgfVxyXG4gICAgOTAlIHtcclxuICAgICAgICBvcGFjaXR5OiAuNTtcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE0NSUpO1xyXG4gICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNDUlKTtcclxuICAgIH1cclxufVxyXG5Aa2V5ZnJhbWVzIGJhbGwtZmFsbCB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTQ1JSk7XHJcbiAgICAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE0NSUpO1xyXG4gICAgICAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNDUlKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTQ1JSk7XHJcbiAgICB9XHJcbiAgICAxMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IC41O1xyXG4gICAgfVxyXG4gICAgMjAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgICAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgfVxyXG4gICAgODAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgICAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgfVxyXG4gICAgOTAlIHtcclxuICAgICAgICBvcGFjaXR5OiAuNTtcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTQ1JSk7XHJcbiAgICAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTQ1JSk7XHJcbiAgICAgICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTQ1JSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTQ1JSk7XHJcbiAgICB9XHJcbn0iLCIiLCJcclxuLy8gQW5ub3VuY2VtZW50IGJhclxyXG4uYW5ub3VuY2VtZW50LWJhciB7XHJcbiAgaGVpZ2h0OiAkYW5ub3VuY2VtZW50LWJhci1oZWlnaHQ7XHJcbiAgbGluZS1oZWlnaHQ6ICRhbm5vdW5jZW1lbnQtYmFyLWhlaWdodDtcclxuICB3aWR0aDogMTAwJTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAxMjI4O1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcblxyXG4gIHAge1xyXG4gICAgbGluZS1oZWlnaHQ6ICRhbm5vdW5jZW1lbnQtYmFyLWhlaWdodDtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuXHJcbiAgICBAaW5jbHVkZSByZXNwb25kLXVudGlsKGxhcHRvcC1saWtlLXJlYWwtc21hbGwpIHtcclxuICAgICAgbGluZS1oZWlnaHQ6ICRhbm5vdW5jZW1lbnQtYmFyLWhlaWdodC1tb2JpbGU7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgcmVzcG9uZC11bnRpbChpcGhvbmUpIHtcclxuICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgfVxyXG5cclxuICAgIGEge1xyXG4gICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uYW5ub3VuY2VtZW50LWJhci1pdGVtIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuLy8gQW5ub3VuY2VtZW50IGJhciBFTkRcclxuXHJcbi8vIEhlYWRlclxyXG4uaGVhZGVyIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogMDtcclxuICB0b3A6IDA7XHJcbiAgcGFkZGluZy10b3A6ICRhbm5vdW5jZW1lbnQtYmFyLWhlaWdodDtcclxuICB3aWR0aDogMTAwJTtcclxuICB6LWluZGV4OiAzO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJGFuaW1hdGlvbi1kdXJhdGlvbiBlYXNlLCB0cmFuc2Zvcm0gJGFuaW1hdGlvbi1kdXJhdGlvbiBlYXNlO1xyXG4gIHdpbGwtY2hhbmdlOiBiYWNrZ3JvdW5kLWNvbG9yLCB0cmFuc2Zvcm07XHJcbiAgei1pbmRleDogOTk5O1xyXG5cclxuICAuY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGhlaWdodDogJGhlYWRlci1oZWlnaHQ7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgfVxyXG59XHJcblxyXG4uaGVhZGVyLXNlYXJjaCB7XHJcbiAgbWFyZ2luLWxlZnQ6IDMwcHg7XHJcbiAgbWFyZ2luLXRvcDogMnB4O1xyXG59XHJcbi5oZWFkZXItc2VhcmNoLXRvZ2dsZSB7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgbWFyZ2luOiAwIDAgMCAyNXB4O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcclxuICB9XHJcbiAgJjphY3RpdmUge1xyXG4gICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcclxuICB9XHJcbn1cclxuXHJcbi5oZWFkZXItbG9nbyB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgLy9tYXJnaW4tbGVmdDogODBweDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogNTAlO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01cHgpO1xyXG4gIC8vbWFyZ2luLXRvcDogLTEwcHg7XHJcbiAgLy96LWluZGV4OiAtMTtcclxuICB6LWluZGV4OiAxO1xyXG4gIEBpbmNsdWRlIHRyYW5zaXRpb25NdWx0aShhbGwsIDAuM3MsIGVhc2Utb3V0KTtcclxuXHJcbiAgYSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGhlaWdodDogMzZweDtcclxuICAgIGltZyB7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb25NdWx0aShhbGwsIDAuMnMsIGVhc2Utb3V0KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICY6aG92ZXIge1xyXG4gICAgYSB7XHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ubGlzdC1pY29uLWxpbmtzIHtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIEBpbmNsdWRlIHRyYW5zaXRpb25NdWx0aShhbGwsIDAuM3MsIGVhc2Utb3V0KTtcclxuXHJcbiAgbGkge1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XHJcbiAgICB9XHJcbiAgICBhIHtcclxuICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgIH1cclxuICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmhlYWRlci1nbG9iZSB7XHJcbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdW50aWwobGFwdG9wLWxpa2UtcmVhbC1zbWFsbCkge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmhlYWRlci1zaG9wLWJ0biB7XHJcbiAgICAgIC5idXR0b24td3JhcCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgfVxyXG4gICAgICBcclxuICAgICAgYSB7XHJcbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUge1xyXG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdW50aWwoaXBob25lKSB7XHJcbiAgICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgICBwYWRkaW5nOiAwcHggMTBweDtcclxuICAgICAgICAgIGhlaWdodDogMjJweDtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYudGFibGV0LW9ubHkge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiBhdXRvO1xyXG4gICAgYm90dG9tOiAxMDBweDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcbn1cclxuXHJcbi5oZWFkZXItc29jaWFsLWxpbmtzIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gIHJpZ2h0OiAyMTVweDtcclxufVxyXG4uaGVhZGVyLWNhcnQtbGlua3Mge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDUwJTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgcmlnaHQ6ICRjb250YWluZXItcGFkZGluZztcclxuXHJcbiAgLmhlYWRlci1zaG9wLWJ0biB7XHJcbiAgICBtYXJnaW4tbGVmdDogMTVweDtcclxuXHJcbiAgICBhIHtcclxuICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICBwYWRkaW5nOiAwIDIwcHg7XHJcbiAgICAgIGhlaWdodDogMzJweDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XHJcblxyXG4gICAgICAmLmJ1dHRvbi0taHlwZXJpb24ge1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4ubmF2LW1haW4tc3VibGF5ZXItMiB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHotaW5kZXg6IDI7XHJcbiAgbGVmdDogY2FsYyg1MHZ3IC0gNzBweCk7XHJcbiAgdG9wOiAwO1xyXG4gIGhlaWdodDogMTAwdmg7XHJcbiAgd2lkdGg6IDM2dnc7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIGgzIHtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgLy9tYXJnaW46IDMwcHggMCAyMHB4IDA7XHJcbiAgICBtYXJnaW46IDMwcHggMCAwIDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG4gIC5pbWFnZS13cmFwIHtcclxuICAgIG1heC13aWR0aDogODYlO1xyXG4gICAgLy9tYXgtaGVpZ2h0OiA3MHZoO1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICBpbWcge1xyXG4gICAgICBtYXgtaGVpZ2h0OiA3MHZoO1xyXG4gICAgfVxyXG4gIH1cclxuICAuYnV0dG9uIHtcclxuICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgfVxyXG59XHJcblxyXG4ubmF2LW1haW4tc3VibGF5ZXItMi1pbm5lciB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG5cclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcclxuICBAaW5jbHVkZSB0cmFuc2l0aW9uTXVsdGkoYWxsLCAwLjRzLCBlYXNlLWluLW91dCk7XHJcbn1cclxuXHJcbi5uYXYtbWFpbi1zdWJsYXllci0yLFxyXG4ubmF2LW1haW4tc3VibGF5ZXItMi1pbm5lclxyXG57XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLm5hdi1tYWluLXN1YmxheWVyLTEge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICBsZWZ0OiAwO1xyXG4gIHRvcDogMDtcclxuICBoZWlnaHQ6IDEwMHZoO1xyXG4gIC8vd2lkdGg6IDEwMHZ3O1xyXG4gIHdpZHRoOiBjYWxjKDUwdncgLSA3MHB4KTtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIGJveC1zaGFkb3c6IDAgMCAyMHB4IDIwcHggcmdiYSgjMDAwLCAuMSk7XHJcbn1cclxuXHJcbi5uYXYtbWFpbi1zdWJsYXllci0xLWlubmVyIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgei1pbmRleDogMTtcclxuICBsZWZ0OiAwcHg7XHJcbiAgdG9wOiAwO1xyXG4gIC8vaGVpZ2h0OiAxMDAlO1xyXG4gIGhlaWdodDogMTAwdmg7XHJcbiAgLy93aWR0aDogMTAwJTtcclxuICB3aWR0aDogY2FsYyg1MHZ3IC0gNzBweCk7XHJcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKCgxMDB2dyAtIDEyOTBweCkgLyAyIC0gMnB4KTtcclxuICAvL3BhZGRpbmc6IDIwMHB4IDEwMHB4IDUwcHggNTBweDtcclxuXHJcbiAgQGluY2x1ZGUgcmVzcG9uZC11bnRpbChsYXB0b3AtbWVudS1jb2xsaWRlLWxlZnQpIHtcclxuICAgIHBhZGRpbmctbGVmdDogMTNweDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIHJlc3BvbmQtdW50aWwobGFwdG9wLWxpa2UtcmVhbC1zbWFsbCkge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwcHg7XHJcbiAgfVxyXG5cclxuICAmOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgei1pbmRleDogNTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB0b3A6IC0yMDBweDtcclxuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDYwMHB4KTtcclxuICAgIHdpZHRoOiBjYWxjKDUwdncgLSA3MHB4KTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ibHVlLWRhcms7XHJcbiAgfVxyXG5cclxuICA+IHVsIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICAvL21hcmdpbjogMjAwcHggYXV0byAwIGF1dG87XHJcbiAgICAvL3dpZHRoOiAkY29udGFpbmVyLXdpZHRoO1xyXG4gICAgbWFyZ2luOiAyMDBweCAwIDAgMDtcclxuICAgIHdpZHRoOiBjYWxjKCg1MHZ3IC0gNzBweCkgLSAoKDEwMHZ3IC0gI3skY29udGFpbmVyLXdpZHRofSkgLyAyKSk7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAxMDtcclxuXHJcbiAgICBAaW5jbHVkZSByZXNwb25kLXVudGlsKGxhcHRvcC1tZW51LWNvbGxpZGUtbGVmdCkge1xyXG4gICAgICBtYXJnaW46IDIwMHB4IDAgMCAwO1xyXG4gICAgfVxyXG5cclxuICAgID4gbGkge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAvL3dpZHRoOiBjYWxjKCg1MHZ3IC0gNzBweCkgLSAoKDEwMHZ3IC0gI3skY29udGFpbmVyLXdpZHRofSkgLyAyKSk7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICAvL2JhY2tncm91bmQtY29sb3I6IHJnYmEoI2ZmZiwgLjEpO1xyXG4gICAgICAgID4gYSB7XHJcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5uYXYtbWFpbi1zdWJsYXllci0yIHtcclxuICAgICAgICAgIC8vZGlzcGxheTogZmxleDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJi5hY3RpdmUgeyBcclxuICAgICAgICAubmF2LW1haW4tc3VibGF5ZXItMi1pbm5lciB7XHJcbiAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAvL21hcmdpbi1ib3R0b206IDU1cHg7XHJcbiAgICAgIH1cclxuICAgICAgPiBhIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgZm9udC1zaXplOiA0M3B4O1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAyN3B4O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyN3B4O1xyXG4gICAgICAgICY6Zm9jdXMsICY6YWN0aXZlIHtcclxuICAgICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcclxuICAgICAgICAgICYgKyAubmF2LW1haW4tc3VibGF5ZXItMiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ubmF2LW1haW4ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBjb2xvcjogI2ZmZjtcclxuICB6LWluZGV4OiA5NTtcclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICAmIH4gLmhlYWRlci1sb2dvIHtcclxuICAgICAgLy96LWluZGV4OiAtMTtcclxuICAgICAgei1pbmRleDogOTk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuY2xvc2UteCB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDA7XHJcbiAgICAvL2xlZnQ6IGNhbGMoKDEwMHZ3IC0gMTI5MHB4KSAvIDIgLSAycHgpO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHotaW5kZXg6IDk5OTk5O1xyXG4gICAgbWFyZ2luOiAyNXB4O1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAgQGluY2x1ZGUgcmVzcG9uZC11bnRpbChsYXB0b3AtbWVudS1jb2xsaWRlLWxlZnQpIHtcclxuICAgICAgbGVmdDogMTJweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gID4gdWwge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgID4gbGkge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICA+IGEge1xyXG4gICAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgICAgIH1cclxuICAgICAgICAubmF2LW1haW4tc3VibGF5ZXItMSB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XHJcbiAgICAgIH1cclxuICAgICAgPiBhIHtcclxuICAgICAgICBjb2xvcjogY3VycmVudENvbG9yO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICBmb250LXNpemU6IDE5cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgPiBzdmcge1xyXG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8qXHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgICAgICAmICsgLm5hdi1tYWluLXN1YmxheWVyLTEge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgKi9cclxuXHJcbi8qIGNhdXNlcyBpc3N1ZXMgb24gbW9iaWxlXHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAmICsgLm5hdi1tYWluLXN1YmxheWVyLTEge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiovXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYuc3ViLWNsb3NlIHtcclxuICAgIHVsIHtcclxuICAgICAgPiBsaSB7XHJcblxyXG4gICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgLm5hdi1tYWluLXN1YmxheWVyLTFcclxuICAgICAgICB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ubmF2LW1haW4tdG9nZ2xlIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIC8vY29sb3I6IGN1cnJlbnRDb2xvcjtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHotaW5kZXg6IDE7XHJcblxyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gIG91dGxpbmU6IDA7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgJi5oaWRlLW1vYmlsZS1uYXZpZ2F0aW9uIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHotaW5kZXg6IDk5OTU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAtOHB4O1xyXG4gIH1cclxufVxyXG5cclxuLmRlc2t0b3AtbWVudS1vcGVuZWQge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4vKlxyXG4gIC5uYXYtbWFpbiB7XHJcbiAgICB1bCB7XHJcbiAgICAgID4gbGkge1xyXG4gICAgICAgIC5uYXYtbWFpbi1zdWJsYXllci0xIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuKi9cclxuICAubmF2LW1haW4tc3VibGF5ZXItMSB7XHJcblxyXG4gIH1cclxuXHJcbiAgLmhlYWRlci1sb2dvIHtcclxuICAgIG9wYWNpdHk6IDAuMTtcclxuICB9XHJcblxyXG4gIC5oZWFkZXIge1xyXG4gICAgLmxpc3QtaWNvbi1saW5rcyB7XHJcbiAgICAgIG9wYWNpdHk6IDAuMTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5kaW1tZXIge1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBTdGlja3kgaGVhZGVyXHJcbi5oZWFkZXItc3RpY2t5IHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgdG9wOiAwO1xyXG4gIHBhZGRpbmctdG9wOiAwO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ibHVlLWRhcms7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDUlKTtcclxuICB6LWluZGV4OiA5OTkwO1xyXG4gIEBpbmNsdWRlIHRyYW5zaXRpb25NdWx0aShhbGwsIDAuMnMsIGVhc2Utb3V0KTtcclxuXHJcbiAgQGluY2x1ZGUgcmVzcG9uZC11bnRpbChsYXB0b3AtbGlrZS1yZWFsLXNtYWxsKSB7XHJcbiAgICB0b3A6IDAgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5uYXYtbWFpbi1zdWJsYXllci0xLFxyXG4gIC5uYXYtbWFpbi1zdWJsYXllci0xLWlubmVyLFxyXG4gIC5uYXYtbWFpbi1zdWJsYXllci0xLWlubmVyOmJlZm9yZSxcclxuICAubmF2LW1haW4tc3VibGF5ZXItMiB7XHJcbiAgICBoZWlnaHQ6IDEwMHZoO1xyXG4gIH1cclxuXHJcbiAgLm5hdi1tYWluLXN1YmxheWVyLTEge1xyXG4gICAgdG9wOiAtNjBweDtcclxuICB9XHJcblxyXG4gIC5uYXYtbWFpbi1zdWJsYXllci0xLWlubmVyIHtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBoZWlnaHQ6IDIwMHZoO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5zbGlkZURvd24ge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcclxuICB9XHJcbn1cclxuLy8gU3RpY2t5IGhlYWRlciBFTkRcclxuXHJcbmJvZHkge1xyXG4gICYubW9iaWxlLW1lbnUtb3BlbmVkIHtcclxuICAgIC5saXN0LWljb24tbGlua3Mge1xyXG4gICAgICAmLnRhYmxldC1vbmx5IHtcclxuICAgICAgICAuaGVhZGVyLWdsb2JlIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIFRPRE86IFJFTU9WRSBUSElTIChGT1IgREVCVUcpXHJcbi5uYXYtbWFpbiB7XHJcbiAgLm5hdi1tYWluLXN1YmxheWVyLTEge1xyXG4gICAgLy9kaXNwbGF5OiBibG9jaztcclxuICB9XHJcbiAgLm5hdi1tYWluLXN1YmxheWVyLTEtaW5uZXIge1xyXG4gICAgPiB1bCB7XHJcbiAgICAgID4gbGkge1xyXG4gICAgICAgICY6bnRoLWNoaWxkKDEpIHtcclxuICAgICAgICAgIC5uYXYtbWFpbi1zdWJsYXllci0yIHtcclxuICAgICAgICAgICAgLy9kaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4vLyBUT0RPOiBSRU1PVkUgVEhJUyAoRk9SIERFQlVHKVxyXG5cclxuLy8gSGVhZGVyIEVORFxyXG4vKlxyXG5ib2R5IHtcclxuICAmLnRlc3Qge1xyXG4gICAgLmhlYWRlciB7XHJcbiAgICAgICY6bm90KC5oZWFkZXItc3RpY2t5KSB7XHJcbiAgICAgICAgLm5hdi1tYWluIHtcclxuXHJcbiAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgIC5uYXYtbWFpbi1zdWJsYXllci0xIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgICAgICAgICAgLm5hdi1tYWluLXN1YmxheWVyLTEtaW5uZXIge1xyXG5cclxuICAgICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgLm5hdi1tYWluLXN1YmxheWVyLTIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiovXHJcbi8qXHJcblxyXG5ib2R5IHtcclxuICAmLnRlc3Qge1xyXG4gICAgLmhlYWRlciB7XHJcbiAgICAgICY6bm90KC5oZWFkZXItc3RpY2t5KSB7XHJcbiAgICAgICAgLm5hdi1tYWluIHtcclxuXHJcbiAgICAgICAgICAuY2xvc2UteCB7XHJcbiAgICAgICAgICAgIC8vbGVmdDogY2FsYygoMTAwdncgLSAxMjkwcHgpIC8gMik7XHJcbiAgICAgICAgICAgIC8vbWFyZ2luLWxlZnQ6IDA7XHJcblxyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdW50aWwobGFwdG9wLW1lbnUtY29sbGlkZS1sZWZ0KSB7XHJcbiAgICAgICAgICAgICAgICAvL2xlZnQ6IDEycHg7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgLm5hdi1tYWluLXN1YmxheWVyLTEge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJlZCAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLm5hdi1tYWluLXN1YmxheWVyLTEtaW5uZXIge1xyXG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAvL2JhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC8vZm9yIGVhc2llciBkZWJ1Z1xyXG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDk5OTtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjI7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgLm5hdi1tYWluLXN1YmxheWVyLTIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubmF2LW1haW4tc3VibGF5ZXItMi1pbm5lciB7XHJcbiAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4qLyIsIi5tb2RhbHMge1xyXG4gIC5jbG9zZS14IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgbWFyZ2luOiAyNXB4O1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuXHJcbiAgICBAaW5jbHVkZSByZXNwb25kLXVudGlsKGxhcHRvcC1saWtlLXJlYWwtc21hbGwpIHtcclxuICAgICAgbWFyZ2luOiAxMHB4O1xyXG4gICAgICBwYWRkaW5nOiAyNXB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gTG9jYXRpb25zXHJcbi5sb2NhdGlvbi1tb2RhbCB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIGxlZnQ6IDA7XHJcbiAgdG9wOiAwO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICB3aWR0aDogMTAwJTtcclxuICBjb2xvcjogI2ZmZjtcclxuLypcclxuICAuc2VjdGlvbi10aXRsZSB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBmb250LXNpemU6IDQzcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xyXG4gIH1cclxuKi9cclxuICBoMiB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBmb250LXNpemU6IDQzcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbiAgfVxyXG5cclxuICBwIHtcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7ICBcclxuICB9XHJcblxyXG4gIC8qXHJcbiAgLmJ1dHRvbi1jbG9zZSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogMjBweDtcclxuICAgIHRvcDogMjBweDtcclxuICB9XHJcbiAgKi9cclxufVxyXG4vLy5sb2NhdGlvbi1tb2RhbC1jbG9zZS1sYXllciB7XHJcbi5tb2RhbC1jbG9zZS1sYXllciB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGxlZnQ6IDA7XHJcbiAgdG9wOiAwO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICB3aWR0aDogMTAwJTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCMwMDAsIDAuNCk7XHJcbn1cclxuLmxvY2F0aW9uLW1vZGFsLWNvbnRhaW5lciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJsdWUtZGFyaztcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWF4LXdpZHRoOiAkY29udGFpbmVyLXNtYWxsLXdpZHRoO1xyXG4gIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAxMDBweCk7XHJcbiAgbGVmdDogNTAlO1xyXG4gIHRvcDogNTAlO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiA3MHB4IDEwMHB4O1xyXG4gIG92ZXJmbG93OiBhdXRvO1xyXG4gIGJvcmRlci1yYWRpdXM6IDNweDtcclxufVxyXG4ubG9jYXRpb25zLXdyYXAge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgbWFyZ2luLXRvcDogNjBweDtcclxufVxyXG4ubG9jYXRpb25zLW5hdmlnYXRpb24ge1xyXG4gIGgzIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbjogMCAwIDIwcHggMDtcclxuICAgIGZvbnQtc2l6ZTogMjlweDtcclxuICB9XHJcbiAgdWwge1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGxpIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uTXVsdGkoYWxsLCAwLjJzLCBlYXNlLW91dCk7XHJcblxyXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIxcHg7XHJcbiAgICAgIH1cclxuICAgICAgYSB7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjFweDtcclxuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLmZsYWcge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgfVxyXG59XHJcbi5sb2NhdGlvbi1tb2RhbC1mb290ZXIge1xyXG4gIG1hcmdpbi10b3A6IDgwcHg7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHAge1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMXB4O1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICB9XHJcblxyXG4gIGEge1xyXG4gICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuLy8gTG9jYXRpb25zIEVORFxyXG5cclxuLy8gU2hvcHMgTGlzdFxyXG4ubGlzdC1zaG9wcyB7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZGlzcGxheTogZ3JpZDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcclxuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XHJcbiAgLy9wYWRkaW5nOiAwIDIwcHg7XHJcblxyXG4gIEBpbmNsdWRlIHJlc3BvbmQtdW50aWwoaXBob25lKSB7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMCU7XHJcbiAgfVxyXG5cclxuICBsaSB7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBtYXgtaGVpZ2h0OiAxMDBweDtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb25NdWx0aShhbGwsIDAuMnMsIGVhc2UtaW4tb3V0KTtcclxuXHJcbiAgICBAaW5jbHVkZSByZXNwb25kLXVudGlsKGlwaG9uZSkge1xyXG4gICAgICBtYXgtaGVpZ2h0OiBub25lO1xyXG4gICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgIH1cclxuICAgIGEge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIHBhZGRpbmc6IDIwcHg7XHJcblxyXG4gICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICAvL2JhY2tncm91bmQtY29sb3I6IHJnYmEoI2ZmZiwgMC4xKTtcclxuICAgICAgfVxyXG4gICAgICBpbWcge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXgtd2lkdGg6IDI3MHB4O1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7XHJcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbk11bHRpKGFsbCwgMC4zcywgZWFzZS1pbi1vdXQpO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXVudGlsKGlwaG9uZSkge1xyXG4gICAgICAgICAgbWF4LXdpZHRoOiAyMDBweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZDogZGFya2VuKCRjb2xvci1wcmltYXJ5LCA1JSk7XHJcbiAgICAgIC8vcGFkZGluZzogMTBweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuLnNob3AtbW9kYWwge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICBsZWZ0OiAwO1xyXG4gIHRvcDogMDtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgY29sb3I6ICNmZmY7XHJcblxyXG4gIC5jbG9zZS14IHtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAmOmFmdGVyLFxyXG4gICAgICAmOmJlZm9yZVxyXG4gICAgICB7XHJcbiAgICAgICAgICBib3JkZXItY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbi8qXHJcbiAgLnNlY3Rpb24tdGl0bGUge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZm9udC1zaXplOiA0M3B4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XHJcbiAgfVxyXG4qL1xyXG4gIGgyIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogNDNweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgfVxyXG5cclxuICAubGlzdC1zaG9wcyB7XHJcbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xyXG4gIH1cclxuXHJcbiAgLmJ1dHRvbi1jbG9zZSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogMjBweDtcclxuICAgIHRvcDogMjBweDtcclxuICAgICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcclxuICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmFjdGl2ZSB7XHJcbiAgICAubGlzdC1zaG9wcyB7XHJcbiAgICAgIGxpIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogOTk7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi5zaG9wLW1vZGFsLWNvbnRhaW5lciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgdG9wOiA1MCU7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1heC13aWR0aDogJGNvbnRhaW5lci1zbWFsbC13aWR0aDtcclxuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTAwcHgpO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIC8vanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgb3ZlcmZsb3cteTogYXV0bztcclxuICBtYXJnaW46IGF1dG87XHJcbiAgcGFkZGluZzogNDBweDtcclxuICBib3JkZXItcmFkaXVzOiAzcHg7XHJcblxyXG4gIEBpbmNsdWRlIHJlc3BvbmQtdW50aWwoaXBob25lKSB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICBwYWRkaW5nLXRvcDogMTAwcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XHJcbiAgICB0b3A6IDA7XHJcbiAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgcGFkZGluZy1yaWdodDogMDtcclxuICB9XHJcbn1cclxuLy8gU2hvcHMgTGlzdCBFTkRcclxuXHJcbi8vIFZpZGVvXHJcbi52aWRlby1tb2RhbCB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIGxlZnQ6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgdG9wOiAwO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICB3aWR0aDogMTAwJTtcclxuICBjb2xvcjogI2ZmZjtcclxuICBtYXJnaW46IGF1dG87XHJcblxyXG4gICYuYWN0aXZlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxufVxyXG4udmlkZW8tbW9kYWwtY29udGFpbmVyIHtcclxuICAvL2JhY2tncm91bmQ6IHJnYmEoMCw3LDE1LDAuMik7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1heC13aWR0aDogJGNvbnRhaW5lci1zbWFsbC13aWR0aDtcclxuICB0b3A6IDUwJTtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICBtYXJnaW46IDA7XHJcbiAgLy9wYWRkaW5nOiA3MHB4IDEwMHB4O1xyXG4gIG1hcmdpbjogYXV0bztcclxuICBvdmVyZmxvdzogYXV0bztcclxuXHJcbiAgQGluY2x1ZGUgcmVzcG9uZC11bnRpbCh0YWJsZXQpIHtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4udmlkZW8tZnJhbWUge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIHotaW5kZXg6IDk1O1xyXG59XHJcblxyXG4udmlkZW8td3JhcHBlcjE2OSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XHJcbiAgcGFkZGluZy10b3A6IDA7XHJcbiAgaGVpZ2h0OiAwO1xyXG4gIHotaW5kZXg6IDQ7XHJcbn1cclxuXHJcbi52aWRlby1tb2RhbC13cmFwcGVyIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gIEBpbmNsdWRlIHJlc3BvbmQtdW50aWwodGFibGV0KSB7XHJcbiAgICBoZWlnaHQ6IDM1MHB4O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgcmVzcG9uZC11bnRpbChpcGhvbmUpIHtcclxuICAgIGhlaWdodDogMTgwcHg7XHJcbiAgfVxyXG59XHJcbi8vIFZpZGVvIEVORFxyXG5cclxuLm1vZGFsLWl0ZW0ge1xyXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICBvcGFjaXR5OiAwO1xyXG4gIHotaW5kZXg6IDQ7XHJcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbk11bHRpKGFsbCwgMC4ycywgZWFzZS1vdXQpO1xyXG5cclxuICAmLmFjdGl2ZSB7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbn0iLCIvLyBGb290ZXJcclxuLmZvb3RlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RiZTJlOTtcclxuICBjb2xvcjogJHRleHQtY29sb3I7XHJcbiAgcGFkZGluZy10b3A6IDg1cHg7XHJcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7XHJcbn1cclxuLmZvb3Rlci10b3Age1xyXG4gIGRpc3BsYXk6IGdyaWQ7XHJcbiAgLy9ncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDI1JSAxNyUgMTclIDE3JSAyNCU7XHJcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyNSUgNTElIDI0JTtcclxufVxyXG4uZm9vdGVyLWxvZ28ge1xyXG4gIGNvbG9yOiAjMTExMzFmO1xyXG4gIHdpZHRoOiAxMDBweDtcclxuICBtYXJnaW4tdG9wOiAtMTBweDtcclxuICBzdmcge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAvL3dpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiA0MHB4O1xyXG4gIH1cclxufVxyXG4uZm9vdGVyLW5hdmlnYXRpb24ge1xyXG4gIEBpbmNsdWRlIHJlc3BvbmQtdW50aWwodGFibGV0KSB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBtYXJnaW4tbGVmdDogLTE1cHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4O1xyXG4gIH1cclxuICBoMyB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBtYXJnaW46IDAgMCAxNXB4IDA7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuXHJcbiAgICBzdmcge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdWwge1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMzMuMzMzMzMlIDMzLjMzMzMzJSAzMy4zMzMzMyU7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuXHJcbiAgICBsaSB7XHJcbiAgICAgIG1hcmdpbjogMCAwIDE1cHggMDtcclxuXHJcbiAgICAgIHNwYW4ge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgfVxyXG5cclxuICAgICAgc3ZnIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXVudGlsKHRhYmxldCkge1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICB1bCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC11bnRpbCh0YWJsZXQpIHtcclxuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XHJcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC11bnRpbCh0YWJsZXQpIHtcclxuICAgICAgICAgICAgLy9wYWRkaW5nOiAxMHB4IDIwcHg7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC11bnRpbCh0YWJsZXQpIHtcclxuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmLmFjdGl2ZSB7XHJcblxyXG4gICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXVudGlsKHRhYmxldCkge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDBkZWcpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXVudGlsKHRhYmxldCkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgYSB7XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4vKlxyXG4gIHVsIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBsaSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4qL1xyXG4gIGEge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcblxyXG4gICAgQGluY2x1ZGUgcmVzcG9uZC11bnRpbCh0YWJsZXQpIHtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICBjb2xvcjogY3VycmVudENvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgICYuZm9vdGVyLW1haW4ge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG5cclxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC11bnRpbCh0YWJsZXQpIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC11bnRpbCh0YWJsZXQpIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgtOTBkZWcpO1xyXG4gICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICBmaWxsOiAjMzMzO1xyXG4gICAgICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgcmVzcG9uZC11bnRpbCh0YWJsZXQpIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcclxuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG5cclxuICAgICYuaGFzLWxpbmsge1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgICBzdmcge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcbn1cclxuXHJcbi5mb290ZXItdG9wLFxyXG4uZm9vdGVyLW5hdmlnYXRpb24gPiB1bCB7XHJcbiAgQGluY2x1ZGUgcmVzcG9uZC11bnRpbCh0YWJsZXQpIHtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMCU7XHJcbiAgICBncmlkLWdhcDogMDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcbn1cclxuXHJcbi5mb290ZXItc29jaWFsLWxpbmtzIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgY29sb3I6ICR0ZXh0LWNvbG9yO1xyXG4gIGxpIHtcclxuICAgIGEge1xyXG4gICAgICBjb2xvcjogY3VycmVudENvbG9yO1xyXG4gICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgIH1cclxuICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuLmZvb3Rlci1ib3R0b20ge1xyXG4gIGZvbnQtc2l6ZTogMThweDtcclxuICBtYXJnaW4tdG9wOiA2NXB4O1xyXG4gIHBhZGRpbmctbGVmdDogMTAwcHg7XHJcbn1cclxuLy8gRm9vdGVyIEVORFxyXG5cclxuLy8gSG9tZXBhZ2UgdG9wIHNlY3Rpb25cclxuLmhvbWVwYWdlLXRvcC1zZWN0aW9uIHtcclxuICAvL2JhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9hc3NldHMvaW1nL21pbG8taG9tYWdlcGFnZS1zZWN0aW9uLXRvcC0tYmFja2dyb3VuZC5qcGcpO1xyXG59XHJcbi50b3Atc2VjdGlvbiB7XHJcbiAgaGVpZ2h0OiAxMDB2aDtcclxuICAvL2hlaWdodDogODEwcHg7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICBjb2xvcjogI2ZmZjtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgZm9udC1zaXplOiAzOHB4O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG4vLy5ob21lcGFnZS10b3Atc2VjdGlvbi1jb250ZW50IHtcclxuLnRvcC1zZWN0aW9uLWNvbnRlbnQge1xyXG4gIG1heC13aWR0aDogNTUwcHg7XHJcbiAgLy9tYXJnaW4tbGVmdDogNzBweDtcclxuICBtYXJnaW4tdG9wOiAtMTM1cHg7XHJcblxyXG4gIEBpbmNsdWRlIHJlc3BvbmQtdW50aWwodGFibGV0KSB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG5cclxuICBoMSB7XHJcbiAgICBAaW5jbHVkZSByZXNwb25kLXVudGlsKGlwaG9uZSkge1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcCB7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgZm9udC1zaXplOiAyMnB4O1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbjogMCAwIDIwcHggMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XHJcbiAgICAvL3dpZHRoOiA4NSU7XHJcbiAgfVxyXG4gIC5idXR0b24td3JhcHBlciB7XHJcbiAgICAuYnV0dG9uLXdyYXAge1xyXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4vLyBIb21lcGFnZSB0b3Agc2VjdGlvbiBFTkRcclxuXHJcbi8vIFNlY3Rpb24gMyBjb2xvcnNcclxuLnNlY3Rpb24tMy1jb2xvcnMge1xyXG4gIHBhZGRpbmctdG9wOiA5MHB4O1xyXG4gIHBhZGRpbmctYm90dG9tOiAxMjBweDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgLmltYWdlLXdyYXAge1xyXG4gICAgaGVpZ2h0OiA0NDBweDtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjZweDtcclxuICAgIGltZyB7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoMyB7XHJcbiAgICBmb250LXNpemU6IDIycHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgfVxyXG5cclxuICBwIHtcclxuICAgIHdpZHRoOiA1NTBweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgfVxyXG5cclxuICBhIHtcclxuICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgfVxyXG5cclxuICAuYnV0dG9uLXdyYXAge1xyXG4gICAgbWFyZ2luLXRvcDogMzBweDtcclxuICB9XHJcbiAgLmJ1dHRvbiB7XHJcbiAgICAvL21hcmdpbi10b3A6IDQwcHg7XHJcbiAgfVxyXG59XHJcbi8vIFNlY3Rpb24gMyBjb2xvcnMgRU5EXHJcblxyXG4vLyBTZWN0aW9uIENhdGVnb3JpZXNcclxuLnNlY3Rpb24tY2F0ZWdvcmllcyB7XHJcbiAgcGFkZGluZy10b3A6IDI1cHg7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcbi5saXN0LWNhdGVnb3JpZXMge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbiAgPiBsaSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgPiBhIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwgMC41KTtcclxuICAgICAgICB6LWluZGV4OiA5NTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb25NdWx0aShhbGwsIDAuMnMsIGVhc2Utb3V0KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmxpc3QtY2F0ZWdvcmllcy10aXRsZSB7XHJcbiAgICAgICAgICAvL2NvbG9yOiAkY29sb3ItcHJpbWFyeTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmxpc3QtY2F0ZWdvcmllcy1pbWFnZSB7XHJcbiAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi5saXN0LWNhdGVnb3JpZXMtaW1hZ2Uge1xyXG4gIGltZyB7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkYW5pbWF0aW9uLWR1cmF0aW9uIGVhc2U7XHJcbiAgfVxyXG59XHJcbi5saXN0LWNhdGVnb3JpZXMtdGl0bGUge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBjb2xvcjogI2ZmZjtcclxuICBmb250LXNpemU6IDI4cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDEuMjtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogNTAlO1xyXG4gIHRvcDogNTAlO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gIHotaW5kZXg6IDk4O1xyXG59XHJcbi8vIFNlY3Rpb24gQ2F0ZWdvcmllcyBFTkRcclxuXHJcbi8vIFNlY3Rpb24gU2luZ2xlIFByb2R1Y3RcclxuLnNlY3Rpb24tc2luZ2xlLXByb2R1Y3Qge1xyXG4gIHBhZGRpbmctdG9wOiAxMjBweDtcclxuICBwYWRkaW5nLWJvdHRvbTogMTI3cHg7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICBAaW5jbHVkZSByZXNwb25kLXVudGlsKHRhYmxldCkge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xyXG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcclxuICB9XHJcblxyXG4gIHVsIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgcGFkZGluZy10b3A6IDIwcHg7XHJcblxyXG4gICAgQGluY2x1ZGUgcmVzcG9uZC11bnRpbCh0YWJsZXQpIHtcclxuICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICBtYXJnaW46IDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgbGkge1xyXG4gICAgICAgbGlzdC1zdHlsZS10eXBlOiBjaXJjbGU7XHJcbiAgICAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xyXG4gICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcclxuXHJcbiAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAvKlxyXG4gICAgLnNlY3Rpb24tdGl0bGUge1xyXG4gICAgICB3aWR0aDogNzIwcHg7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDE0MHB4O1xyXG5cclxuICAgICAgQGluY2x1ZGUgbWVkaWFfbWl4KGxhcHRvcEhlaWdodE1kKSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICovXHJcbiAgaDIge1xyXG4gICAgd2lkdGg6IDcyMHB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAvL21hcmdpbi1ib3R0b206IDE0MHB4O1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhX21peChsYXB0b3BIZWlnaHRNZCkge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdW50aWwodGFibGV0KSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5pbWFnZS13cmFwIHtcclxuICAgIGhlaWdodDogNDY1cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA4NXB4O1xyXG5cclxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdW50aWwodGFibGV0KSB7XHJcbiAgICAgIGhlaWdodDogYXV0bztcclxuICAgIH1cclxuXHJcbiAgICBpbWcge1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIHdpZHRoOiBhdXRvO1xyXG5cclxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC11bnRpbCh0YWJsZXQpIHtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgd2lkdGg6IDcwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuY2FudmFzLXdyYXBwZXIge1xyXG4gICAgICBtYXJnaW4tdG9wOiAxMTBweDtcclxuLypcclxuICAgICAgQGluY2x1ZGUgbWVkaWFfbWl4KGxhcHRvcEhlaWdodE1kKSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xyXG4gICAgICAgIHRvcDogNDBweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XHJcbiAgICAgIH1cclxuKi9cclxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC11bnRpbCh0YWJsZXQpIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMDBweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmNhbnZhcy1pbm5lciB7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuICB9XHJcbiAgLmJ1dHRvbi13cmFwIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICB9XHJcbiAgLmJ1dHRvbiB7XHJcbiAgICAvL21hcmdpbi10b3A6IDQwcHg7XHJcbiAgICAvL3Zpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIC8vb3BhY2l0eTogMDtcclxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb25NdWx0aShhbGwsIDFzLCBlYXNlLW91dCk7XHJcbiAgfVxyXG5cclxuICAmLjNkcm90YXRpb24ge1xyXG4gICAgLypcclxuICAgIC5zZWN0aW9uLXRpdGxlIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogODBweDtcclxuICAgIH1cclxuICAgICovXHJcbiAgICBoMiB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XHJcbiAgICB9XHJcbiAgICAuYnV0dG9uIHtcclxuICAgICAgbWFyZ2luLXRvcDogMTQwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLnNjcm9sbC1kb25lIHtcclxuICAgIC5yb3RhdGlvbi1zdmdzLWlubmVyIHtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxuICAgIC8qXHJcbiAgICAuYnV0dG9uIHtcclxuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuXHJcbiAgKi9cclxuICAgIFxyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhICggbWluLXdpZHRoOiA1NTBweCApIGFuZCAobWF4LWhlaWdodDogOTAwcHgpIHtcclxuICAuc2VjdGlvbi1zaW5nbGUtcHJvZHVjdCAuaW1hZ2Utd3JhcC5jYW52YXMtd3JhcHBlciB7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XHJcbiAgICB0b3A6IDBweDtcclxuICAgIG1hcmdpbi10b3A6IDBweDtcclxuICB9XHJcbn1cclxuLy8gU2VjdGlvbiBTaW5nbGUgUHJvZHVjdCBFTkRcclxuXHJcbi8vIFNlY3Rpb24gQXBwXHJcbi5zZWN0aW9uLWFwcCB7XHJcbiAgLy9UT0RPOiBzd2l0Y2ggYmFjayB0byB2aCB3aGVuIHBhZ2UgaXMgZG9uZVxyXG4gIGhlaWdodDogMTAyNXB4O1xyXG4gIC8vaGVpZ2h0OiAxMDB2aDtcclxuICBwYWRkaW5nLXRvcDogMDtcclxuICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAvL2JhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9hc3NldHMvaW1nL21pbG8tYXBwLWJhY2tncm91bmQuanBnKTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAuY29udGFpbmVyLXNtYWxsIHtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDQwJSAzOCU7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgfVxyXG5cclxuICAuYnV0dG9uLXdyYXAge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICB9XHJcbn1cclxuLnNlY3Rpb24tYXBwLWluZm8ge1xyXG4gIG1hcmdpbi10b3A6IDcwcHg7XHJcbn1cclxuLnNlY3Rpb24tYXBwLWltYWdlIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBpbWcge1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbiAgfVxyXG59XHJcbi8vIFNlY3Rpb24gQXBwIEVORFxyXG5cclxuLy8gU2VjdGlvbiBBcnRpY2xlc1xyXG4uc2VjdGlvbi1hcnRpY2xlcyB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHBhZGRpbmctdG9wOiAxMjVweDtcclxuICBwYWRkaW5nLWJvdHRvbTogMTIwcHg7XHJcbn1cclxuLmxpc3QtYXJ0aWNsZXMge1xyXG4gIGRpc3BsYXk6IGdyaWQ7XHJcbiAgLy9ncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyO1xyXG4gIC8vZ3JpZC1nYXA6IDIwcHg7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1hcmdpbjogMDtcclxufVxyXG4ubGlzdC1hcnRpY2xlIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1hcmdpbjogMDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgaGVpZ2h0OiA0MTZweDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAmOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwgMC41KTtcclxuICAgIHotaW5kZXg6IDk1O1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb25NdWx0aShhbGwsIDAuMnMsIGVhc2Utb3V0KTtcclxuICB9XHJcblxyXG4gICY6aG92ZXIge1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG4gICAgaW1nIHtcclxuICAgICAgdHJhbnNmb3JtOiAgc2NhbGUoMS4xKTtcclxuICAgIH1cclxuICB9XHJcbiAgLmJ1dHRvbiB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IDU1cHg7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICB6LWluZGV4OiA5ODtcclxuICB9XHJcbn1cclxuLmxpc3QtYXJ0aWNsZS1pbWFnZSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICB6LWluZGV4OiA5MDtcclxuXHJcbiAgaW1nIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHRyYW5zZm9ybTogIHNjYWxlKDEpO1xyXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRhbmltYXRpb24tZHVyYXRpb24gZWFzZTtcclxuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XHJcbiAgfVxyXG59XHJcbi5saXN0LWFydGljbGUtdGl0bGUge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBjb2xvcjogI2ZmZjtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1hcmdpbjogMDtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB3aWR0aDogMTAwJTtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gIC8vYm90dG9tOiAxNzBweDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgZm9udC1zaXplOiAzMHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIHBhZGRpbmctbGVmdDogMjBweDtcclxuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG4gIHotaW5kZXg6IDk2O1xyXG4gIGEge1xyXG4gICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi5saXN0LWFydGljbGVzIHtcclxuICAmLmZsaWNraXR5LWVuYWJsZWQge1xyXG4gICAgQGluY2x1ZGUgcmVzcG9uZC1mcm9tKHRhYmxldCkge1xyXG4gICAgICAubGlzdC1hcnRpY2xlIHtcclxuICAgICAgICAvL2hlaWdodDogMzI1cHg7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMgLSAxNXB4KTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5mbGlja2l0eS12aWV3cG9ydCB7XHJcbiAgICAgICAgLy9sZWZ0OiAtMTVweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ge1xyXG4gICAgICAgIGNvbG9yOiAjMDAwMDAwO1xyXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuXHJcbiAgICAgICAgJjpkaXNhYmxlZCB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5wcmV2aW91cyxcclxuICAgICAgICAmLm5leHRcclxuICAgICAgICB7XHJcbiAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LCAwLjUpO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uTXVsdGkoYWxsLCAwLjJzLCBlYXNlLW91dCk7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXVudGlsKGxhcHRvcC1zbGlkZXItYXJyb3dzKSB7XHJcbiAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbk11bHRpKGFsbCwgMC4ycywgZWFzZS1vdXQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5wcmV2aW91cyB7XHJcbiAgICAgICAgICBsZWZ0OiAtNzBweDtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXVudGlsKGxhcHRvcC1zbGlkZXItYXJyb3dzKSB7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHRvcDogMTAlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLm5leHQge1xyXG4gICAgICAgICAgcmlnaHQ6IC03MHB4O1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdW50aWwobGFwdG9wLXNsaWRlci1hcnJvd3MpIHtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIHRvcDogMTAlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAmLnNsaWRlLWJ1dHRvbnMtc2hvdyB7XHJcbiAgICAuZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbiB7XHJcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi8vIFNlY3Rpb24gQXJ0aWNsZXMgRU5EXHJcblxyXG4vLyBTZWN0aW9uIFByb2R1Y3RzIE9wdGlvbnNcclxuLnNlY3Rpb24tcHJvZHVjdC1vcHRpb25zIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgcGFkZGluZy10b3A6IDEyMHB4O1xyXG4gIHBhZGRpbmctYm90dG9tOiAxMjBweDtcclxuICBoMyB7XHJcbiAgICBmb250LXNpemU6IDIycHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcblxyXG4gIGEge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cclxuICAgIGgzIHtcclxuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIHRvcDogMjBweDtcclxuICAgICAgLy9sZWZ0OiAtMTlweDtcclxuICAgIH1cclxuICB9XHJcbiAgLmJ1dHRvbi13cmFwIHtcclxuICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgfVxyXG59XHJcbi5saXN0LXByb2R1Y3Qtb3B0aW9ucyB7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBtYXJnaW46IDQ1cHggMCA1MHB4IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBkaXNwbGF5OiBncmlkO1xyXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7XHJcbiAgPiBsaSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uTXVsdGkoYWxsLCAwLjJzLCBlYXNlLW91dCk7XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICB3aWR0aDogNjAlO1xyXG4gICAgICBoZWlnaHQ6IDYwJTtcclxuICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiA1MCUgNTAlO1xyXG4gICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggNTBweCAzMHB4IHJnYmEoMCwwLDAsMC41KTsgXHJcbiAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggNTBweCAzMHB4IHJnYmEoMCwwLDAsMC41KTsgXHJcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb25NdWx0aShhbGwsIDAuNHMsIGVhc2Utb3V0KTtcclxuICAgICAgLy96LWluZGV4OiA5OTk5OTtcclxuICAgIH1cclxuXHJcbiAgICBhIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG1heC13aWR0aDogMzU1cHg7XHJcbiAgICAgIHotaW5kZXg6IDk7XHJcbiAgICAgIGltZyB7XHJcblxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcclxuXHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggNTBweCA0MHB4IHJnYmEoMCwwLDAsMC43KTsgXHJcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCA1MHB4IDQwcHggcmdiYSgwLDAsMCwwLjcpOyBcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgcmVzcG9uZC11bnRpbCh0YWJsZXQpIHtcclxuICAgICYuZmxpY2tpdHktZW5hYmxlZCB7XHJcbiAgICAgIC5mbGlja2l0eS12aWV3cG9ydCB7XHJcbiAgICAgICAgLy9vdmVyZmxvdzogdmlzaWJsZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmxpbmUtcmV2ZWFsLWNvbnRhaW5lciB7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgICAgLmxpbmUtY29udGFpbmVyLXJldmVhbC1pbm5lciB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCUsIDAlKSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAudGV4dC1yZXZlYWwge1xyXG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgdG9wOiAxMDBweDtcclxuICAgICAgICBsZWZ0OiAtNHB4O1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjYpO1xyXG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb25NdWx0aShhbGwsIDAuNHMsIGVhc2Utb3V0KTtcclxuXHJcbiAgICAgICAgLnRleHQtcmV2ZWFsLWl0ZW0ge1xyXG4gICAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgdG9wOiAwcHggIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LCAwLjgpO1xyXG4gICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweFxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmxpbmUtcmV2ZWFsLXdyYXAge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGxpIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uTXVsdGkoYWxsLCAwLjRzLCBlYXNlLW91dCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmlzLXNlbGVjdGVkIHtcclxuICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC50ZXh0LXJldmVhbCB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4vLyBTZWN0aW9uIFByb2R1Y3RzIE9wdGlvbnMgRU5EXHJcblxyXG4vLyBTZWN0aW9uIFJldmlld3NcclxuLnNlY3Rpb24tcmV2aWV3cyB7XHJcbiAgaGVpZ2h0OiAxMDB2aDtcclxuICAvL2hlaWdodDogYXV0bztcclxuICB3aWR0aDogMTAwJTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgLy9wYWRkaW5nLXRvcDogMjEwcHg7XHJcbiAgLy9wYWRkaW5nLWJvdHRvbTogNTBweDtcclxuICAvL3BhZGRpbmctdG9wOiAyNzBweDtcclxuICAvL3BhZGRpbmctYm90dG9tOiAyNzBweDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgLypcclxuICAuc2VjdGlvbi10aXRsZSB7XHJcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgfVxyXG4gICovXHJcbiAgaDIge1xyXG4gICAgbWF4LXdpZHRoOiA1MDBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gIH1cclxufVxyXG4uc2VjdGlvbi1yZXZpZXdzLWJhY2tncm91bmQge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgei1pbmRleDogLTE7XHJcbiAgJjphZnRlciB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjMDAwLCAuNCk7XHJcbiAgfVxyXG4gIGltZywgdmlkZW8ge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xyXG4gIH1cclxufVxyXG5cclxuLnNlY3Rpb24tcmV2aWV3LXdyYXAge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDUwJTtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuXHJcbiAgQGluY2x1ZGUgcmVzcG9uZC11bnRpbCh0YWJsZXQpIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRvcDogMDtcclxuICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi5zZWN0aW9uLXJldmlld3Mtc2xpZGVyIHtcclxuICBtYXJnaW4tdG9wOiA1MHB4O1xyXG4gIC5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uIHtcclxuICAgIHRvcDogNTJweDtcclxuICB9XHJcbn1cclxuLnNlY3Rpb24tcmV2aWV3IHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB3aWR0aDogMTAwJTtcclxuXHJcbiAgcCB7XHJcbiAgICBmb250LXNpemU6IDI4cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgIG1heC13aWR0aDogNzMwcHg7XHJcbiAgfVxyXG59XHJcbi8qXHJcbi5zZWN0aW9uLXJldmlldy10ZXh0IHtcclxuICBmb250LXNpemU6IDI4cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDEuMjtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBtYXJnaW4tbGVmdDogYXV0bztcclxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgd2lkdGg6IDczMHB4O1xyXG59XHJcbiovXHJcbi5zZWN0aW9uLXJldmlldy1hdXRob3Ige1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAvL21hcmdpbi10b3A6IDg1cHg7XHJcbiAgLy9tYXJnaW4tdG9wOiA3MHB4O1xyXG4gIG1hcmdpbi10b3A6IDYwcHg7XHJcbiAgaW1nIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICBtYXgtaGVpZ2h0OiAxMDBweDtcclxuICAgIG1heC13aWR0aDogMjIwcHg7XHJcbiAgfVxyXG4gIGgzIHtcclxuICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbjogMCAwIDVweCAwO1xyXG4gIH1cclxuICBoNCB7XHJcbiAgICBmb250LXNpemU6IDI4cHg7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbjogMDtcclxuICB9XHJcbn1cclxuLy8gU2VjdGlvbiBSZXZpZXdzIEVORFxyXG5cclxuLy8gU2VjdGlvbiBWaWRlb1xyXG4uc2VjdGlvbi12aWRlbyB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIC8vaGVpZ2h0OiA4MDlweDtcclxuXHJcbiAgJi52aWRlby1pbmxpbmUge1xyXG4gICAgLy9oZWlnaHQ6IGluaGVyaXQ7XHJcblxyXG4gICAgLnZpZGVvLXRhcmdldC1jb250YWluZXIge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIGhlaWdodDogYXV0bztcclxuXHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLnZpZGVvLWZ1bGwge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcclxuICB9XHJcblxyXG4gIC5jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgaGVpZ2h0OiBpbmhlcml0O1xyXG4gIH1cclxufVxyXG4vLy5zZWN0aW9uLXZpZGVvLXBsYWNlaG9sZGVyIHtcclxuLnZpZGVvLXBsYWNlaG9sZGVyIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogMDtcclxuICB0b3A6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIGltZyB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgfVxyXG59XHJcbi52aWRlby1wbGF5IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogMDtcclxuICB0b3A6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICRhbmltYXRpb24tZHVyYXRpb24gZWFzZTtcclxuICB3aWxsLWNoYW5nZTogYmFja2dyb3VuZC1jb2xvcjtcclxuICB6LWluZGV4OiA5NjtcclxuICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgIC8vYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjMDAwLCAuMSk7XHJcbiAgfVxyXG4gIHN2ZyB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgLy9sZWZ0OiA1MCU7XHJcbiAgICAvL3RvcDogNTAlO1xyXG4gICAgLy90cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxKTtcclxuICAgIHRyYW5zZm9ybTogIHNjYWxlKDEpO1xyXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRhbmltYXRpb24tZHVyYXRpb24gZWFzZTtcclxuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XHJcbiAgICB3aWR0aDogOTBweDtcclxuXHJcbiAgICBAaW5jbHVkZSByZXNwb25kLXVudGlsKHRhYmxldCkge1xyXG4gICAgICB3aWR0aDogNjBweDtcclxuICAgIH1cclxuICB9XHJcbiAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICBzdmcge1xyXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XHJcbiAgICB9XHJcbiAgfVxyXG4gICY6YWN0aXZlIHtcclxuICAgIHN2ZyB7XHJcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi52aWRlby10YXJnZXQtY29udGFpbmVyIHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIC8vcGFkZGluZy1ib3R0b206IDU2LjI1JTtcclxuXHJcbiAgaW1nIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDk1O1xyXG4gIH1cclxuXHJcbiAgLnZpZGVvLXdyYXBwZXIxNjkge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgei1pbmRleDogOTg7XHJcbiAgfVxyXG59XHJcblxyXG4uc2VjdGlvbi12aWRlbyB7XHJcbi8qXHJcbiAgJi52aWRlby1pbmxpbmUge1xyXG4gICAgLnZpZGVvLXRhcmdldC1jb250YWluZXIge1xyXG4gICAgICAudmlkZW8td3JhcHBlcjE2OSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4qL1xyXG4gICYudmlkZW8tYXV0byB7XHJcbiAgICAudmlkZW8tdGFyZ2V0LWNvbnRhaW5lciB7XHJcbiAgICAgIC52aWRlby13cmFwcGVyMTY5IHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIFNlY3Rpb24gVmlkZW8gRU5EXHJcblxyXG4vLyBTZWN0aW9uIFNoYXJlXHJcbi5zZWN0aW9uLXNoYXJlIHtcclxuICBwYWRkaW5nLXRvcDogMTcwcHg7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBoZWlnaHQ6IDUyNXB4O1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgaDIge1xyXG4gICAgd2lkdGg6IDUxMHB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gIH1cclxuICAvKlxyXG4gIC5zZWN0aW9uLXRpdGxlIHtcclxuICAgIHdpZHRoOiA1MTBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICB9XHJcbiAgKi9cclxuICAuc2VjdGlvbi1iYWNrZ3JvdW5kIHtcclxuICAgIGhlaWdodDogMTEwJTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogLTQlO1xyXG4gIH1cclxufVxyXG4ubGlzdC1zaGFyZS1pY29ucyB7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1hcmdpbjogMDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgbGkge1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xyXG4gICAgfVxyXG4gICAgYSB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgIHdpZHRoOiA3MHB4O1xyXG4gICAgICBoZWlnaHQ6IDcwcHg7XHJcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb25NdWx0aShhbGwsIDAuMnMsIGVhc2Utb3V0KTtcclxuXHJcbiAgICAgIHN2ZyB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcclxuICAgICAgICBzdHJva2U6ICNmZmZmZmY7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHN2ZywgcGF0aCB7XHJcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbk11bHRpKGFsbCwgMC4ycywgZWFzZS1vdXQpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbiAgICAgICAgIHN2ZywgcGF0aFxyXG4gICAgICAgICB7XHJcbiAgICAgICAgICBzdHJva2U6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgICAgICAgZmlsbDogJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgLy9vcGFjaXR5OiAxO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi8vIFNlY3Rpb24gU2hhcmUgRU5EXHJcblxyXG4vLyBTZWN0aW9uIFN0ZXBzXHJcbi5zZWN0aW9uLXN0ZXBzIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAxMjI4O1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIHBhZGRpbmctdG9wOiAxMjVweDtcclxuICBwYWRkaW5nLWJvdHRvbTogMTI1cHg7XHJcbiAgLypcclxuICAuc2VjdGlvbi10aXRsZSB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gIH1cclxuICAqL1xyXG4gIGgyIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgfVxyXG4gIC5idXR0b24td3JhcHBlciB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgLmJ1dHRvbi13cmFwIHtcclxuICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNjBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuXHJcbi8vIFNlY3Rpb24gQWNlc3Nvcmllc1xyXG4uc2VjdGlvbi1wcmVzZW50YXRpb24ge1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gIGNvbG9yOiAjMDAwO1xyXG4gIHBhZGRpbmctdG9wOiAxMjVweDtcclxuICBwYWRkaW5nLWJvdHRvbTogMTI1cHg7XHJcbi8qXHJcbiAgLnNlY3Rpb24tdGl0bGUge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIH1cclxuKi9cclxuICBoMiB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG5cclxuICAuYnV0dG9uLXdyYXAge1xyXG4gICAgbWFyZ2luLXRvcDogNjBweDtcclxuICB9XHJcblxyXG4gIC5pbmZvLXJvdy1jb2wge1xyXG4gICAgLmJ1dHRvbi13cmFwIHtcclxuICAgICAgbWFyZ2luLXRvcDogMHB4O1xyXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cclxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC11bnRpbCh0YWJsZXQpIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuLmluZm8tcm93cyB7XHJcblxyXG59XHJcbi5pbmZvLXJvdyB7XHJcbiAgLmNvbnRhaW5lci1zbWFsbGVyIHtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblxyXG4gICAgQGluY2x1ZGUgcmVzcG9uZC11bnRpbCh0YWJsZXQpIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgfVxyXG4gICYuaW5mby1yb3ctY2VudGVyZWQge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIH1cclxuICAmLmluZm8tY29udGVudC1sZWZ0LXJpZ2h0IHtcclxuICAgICAgLmNvbnRhaW5lci1zbWFsbGVyIHtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDUwJSA1MCU7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdW50aWwodGFibGV0KSB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmluZm8tcm93LWNvbCB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEyMHB4O1xyXG5cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgJi5pbmZvLXJvdy1wcm9kdWN0IHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMzAwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcblxyXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaW5mby1yb3ctdGV4dCB7XHJcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdW50aWwodGFibGV0KSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgaDMge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDM1cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMHB4IDAgMjBweCAwO1xyXG5cclxuICAgICAgICAgICAgJi5saXN0LXByaWNlLWl0ZW0ge1xyXG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLmJ1dHRvbiB7XHJcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC11bnRpbCh0YWJsZXQpIHtcclxuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XHJcbiAgICAgICAgICAuaW5mby1yb3ctdGV4dCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNjBweDtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdW50aWwodGFibGV0KSB7XHJcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXVudGlsKHRhYmxldCkge1xyXG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgLmluZm8tcm93LWNvbCB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcblxyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAuYnV0dG9uIHtcclxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXVudGlsKHRhYmxldCkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdW50aWwodGFibGV0KSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmluZm8tY29udGVudC1pbWFnZS1sZWZ0IHtcclxuICAgICAgLmluZm8tcm93LWNvbCB7XHJcbiAgICAgICAgb3JkZXI6IDE7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdW50aWwodGFibGV0KSB7XHJcbiAgICAgICAgICBvcmRlcjogMjtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICBvcmRlcjogMjtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXVudGlsKHRhYmxldCkge1xyXG4gICAgICAgICAgICBvcmRlcjogMTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmluZm8tY29udGVudC1pbWFnZS1yaWdodCB7XHJcbiAgICAgIC5pbmZvLXJvdy1jb2wge1xyXG4gICAgICAgIG9yZGVyOiAyO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXVudGlsKHRhYmxldCkge1xyXG4gICAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgb3JkZXI6IDE7XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC11bnRpbCh0YWJsZXQpIHtcclxuICAgICAgICAgICAgb3JkZXI6IDI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5uby1tYXgtaGVpZ2h0IHtcclxuICAgICAgLmluZm8tcm93LWNvbCB7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICYuaW5mby1yb3ctcHJvZHVjdCB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICYuaW5mby1jb250ZW50LXN0ZXAge1xyXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogNjVweDtcclxuICAgIH1cclxuICAgICY6bnRoLWNoaWxkKG9kZCkge1xyXG4gICAgICAuY29udGFpbmVyLXNtYWxsZXIge1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMzAlIDYzNXB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXVudGlsKGxhcHRvcC1saWtlLXJlYWwtc21hbGwpIHtcclxuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMzAlIDcwJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdW50aWwodGFibGV0KSB7XHJcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMCU7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLmluZm8tcm93LXRleHQge1xyXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdW50aWwobGFwdG9wLWxpa2UtcmVhbC1zbWFsbCkge1xyXG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdW50aWwodGFibGV0KSB7XHJcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpudGgtY2hpbGQoZXZlbikge1xyXG4gICAgICAuY29udGFpbmVyLXNtYWxsZXIge1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNjM1cHggMzAlO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXVudGlsKGxhcHRvcC1saWtlLXJlYWwtc21hbGwpIHtcclxuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNzAlIDMwJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdW50aWwodGFibGV0KSB7XHJcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaW5mby1yb3ctdGV4dCB7XHJcbiAgICAgICAgICBvcmRlcjogMjtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXVudGlsKGxhcHRvcC1saWtlLXJlYWwtc21hbGwpIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC11bnRpbCh0YWJsZXQpIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuaW5mby1yb3ctdmlkZW8ge1xyXG4gICAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuaW5mby1yb3ctdGV4dCB7XHJcbiAgICBAaW5jbHVkZSByZXNwb25kLXVudGlsKHRhYmxldCkge1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuXHJcbiAgICAgICYucmVsbGF4IHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi5pbmZvLXJvdy10ZXh0IHtcclxuICBoMyB7XHJcbiAgICBmb250LXNpemU6IDI4cHg7XHJcbiAgICBtYXJnaW46IDU3cHggMCAxMnB4IDA7XHJcbiAgfVxyXG5cclxuICBpbWcge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAtMzBweDtcclxuXHJcbiAgICAmLnN0ZXAtaWNvbiB7XHJcbiAgICAgIG1heC13aWR0aDogNzBweDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSByZXNwb25kLXVudGlsKHRhYmxldCkge1xyXG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4uaW5mby1yb3ctdmlkZW8ge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBoZWlnaHQ6IDM2MHB4O1xyXG5cclxuICBAaW5jbHVkZSByZXNwb25kLXVudGlsKHRhYmxldCkge1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gIH1cclxuICAudmlkZW8tcGxhY2Vob2xkZXIge1xyXG4gICAgQGluY2x1ZGUgcmVzcG9uZC11bnRpbCh0YWJsZXQpIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBoZWlnaHQ6IGF1dG87XHJcblxyXG4gICAgICAudmlkZW8td3JhcHBlcjE2OSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi8vIFNlY3Rpb24gU3RlcHMgRU5EXHJcblxyXG4vLyBTZWN0aW9uIEFjY2Vzc29yaWVzXHJcbi5zZWN0aW9uLWFjY2Vzc29yaWVzIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgcGFkZGluZy10b3A6IDEyNXB4O1xyXG4gIHBhZGRpbmctYm90dG9tOiAxMjVweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gIC5idXR0b24td3JhcCB7XHJcbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xyXG4gIH1cclxufVxyXG4ubGlzdC1hY2Nlc3NvcmllcyB7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBkaXNwbGF5OiBncmlkO1xyXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMzEwcHggMzEwcHggMzEwcHg7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gID4gbGkge1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIFxyXG4gICAgLmltYWdlLXdyYXAge1xyXG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uTXVsdGkoYWxsLCAwLjJzLCBlYXNlLW91dCk7XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIC5pbWFnZS13cmFwIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgaDMge1xyXG4gICAgbWFyZ2luOiA2MHB4IDAgMCAwO1xyXG4gICAgZm9udC1zaXplOiAyOHB4O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgcmVzcG9uZC11bnRpbCh0YWJsZXQpIHtcclxuICAgICYuZmxpY2tpdHktZW5hYmxlZCB7XHJcbiAgICAgIGxpIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgICAgICBcclxuICAgICAgICAuaW1hZ2Utd3JhcCB7XHJcbiAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uTXVsdGkoYWxsLCAwLjRzLCBlYXNlLW91dCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmlzLXNlbGVjdGVkIHtcclxuICAgICAgICAgIC5pbWFnZS13cmFwIHtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuLy8gU2VjdGlvbiBBY2Nlc3NvcmllcyBFTkRcclxuXHJcblxyXG4vLyBUZWNoIFBhZ2UgVG9wIFNlY3Rpb25cclxuLnRlY2gtdG9wLXNlY3Rpb24ge1xyXG4gIC8vYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcclxuICAvL2JhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9hc3NldHMvaW1nL3RhY2gtcGFnZS10b3AtYmFja2dyb3VuZC5qcGcpO1xyXG59XHJcbi8vIFRlY2ggUGFnZSBUb3AgU2VjdGlvbiBFTkRcclxuXHJcbi8vIFNlY3Rpb24gUmVndWxhclxyXG4uc2VjdGlvbi1yZWd1bGFyIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgcGFkZGluZzogMTIwcHggMTVweDtcclxuICAvKlxyXG4gIC5zZWN0aW9uLXRpdGxlIHtcclxuICAgIHdpZHRoOiA1NTBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gIH1cclxuICAqL1xyXG4gIGgyIHtcclxuICAgIHdpZHRoOiA1NTBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gIH1cclxuICBoMyB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBtYXJnaW46IDAgMCAxMHB4IDA7XHJcbiAgfVxyXG5cclxuICBhLFxyXG4gIGgzXHJcbiAge1xyXG4gICAgZm9udC1zaXplOiAyNHB4O1xyXG5cclxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdW50aWwodGFibGV0KSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGEge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIH1cclxuXHJcbiAgLmltYWdlLXdyYXAge1xyXG4gICAgJi5jb250YWluZXIsXHJcbiAgICAmLmNvbnRhaW5lci1zbWFsbCxcclxuICAgICYuY29udGFpbmVyLXNtYWxsZXIge1xyXG4gICAgICBtYXJnaW4tdG9wOiAxMDBweDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHAge1xyXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuICAgIH1cclxuICB9XHJcbiAgLmJ1dHRvbi13cmFwIHtcclxuICAgIG1hcmdpbi10b3A6IDYwcHg7XHJcbiAgfVxyXG5cclxuICAmLmdyaWQtY29sLXNlY3Rpb24ge1xyXG4gICAgaDIge1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgfVxyXG5cclxuICAgIHAge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuLy8gU2VjdGlvbiBSZWd1bGFyIEVORFxyXG5cclxuLy8gU2VjdGlvbiBTcGVjaWZpY2F0aW9uc1xyXG4uc2VjdGlvbi1zcGVjaWZpY2F0aW9ucyB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFmMmIzZTtcclxuICBjb2xvcjogI2ZmZjtcclxuICBwYWRkaW5nOiAxMjBweCAwO1xyXG4gIC8qXHJcbiAgLnNlY3Rpb24tdGl0bGUge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNzBweDtcclxuICB9XHJcbiAgKi9cclxuICBoMiB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gIH1cclxufVxyXG5cclxuLmxpc3Qtc3BlY2lmaWNhdGlvbnMge1xyXG4gIGRpc3BsYXk6IGdyaWQ7XHJcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBjYWxjKDUwJSAtIDQwcHggLyAyKSBjYWxjKDUwJSAtIDQwcHggLyAyKTtcclxuICBncmlkLWdhcDogNDBweDtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIG1hcmdpbi10b3A6IDcwcHg7XHJcbiAgPiBsaSB7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA3MHB4IGNhbGMoMTAwJSAtIDcwcHggLSAyMHB4KTtcclxuICAgIGdyaWQtZ2FwOiAyMHB4O1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbjogMDtcclxuICB9XHJcbn1cclxuLmxpc3Qtc3BlY2lmaWNhdGlvbnMtaWNvbiB7XHJcbiAgaW1nIHtcclxuICAgIG1heC13aWR0aDogNTVweDtcclxuICAgIG1heC1oZWlnaHQ6IDU1cHg7XHJcbiAgfVxyXG59XHJcbi5saXN0LXNwZWNpZmljYXRpb25zLWluZm8ge1xyXG4gIGgzIHtcclxuICAgIGZvbnQtc2l6ZTogMzJweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgbWFyZ2luOiAwIDAgNXB4IDA7XHJcbiAgfVxyXG5cclxuICB1bCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgZm9udC1zaXplOiAyMnB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcclxuICAgID4gbGkge1xyXG4gICAgICBwYWRkaW5nOiAwIDAgMCAyMHB4O1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICAgIH1cclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHRvcDogMTBweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgICAgIGhlaWdodDogN3B4O1xyXG4gICAgICAgIHdpZHRoOiA3cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuLy8gU2VjdGlvbiBTcGVjaWZpY2F0aW9ucyBFTkRcclxuXHJcbi8vIFNlY3Rpb24gQ29tcGFyaXNvbiBUYWJsZVxyXG4uc2VjdGlvbi1jb21wYXJpc29uLXRhYmxlIHtcclxuICBwYWRkaW5nLWJvdHRvbTogNTBweDtcclxuICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgcGFkZGluZy1yaWdodDogMDtcclxuICAvKlxyXG4gIC5zZWN0aW9uLXRpdGxlIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuICAqL1xyXG4gIGgyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxufVxyXG4uY29tcGFyaXNvbi10YWJsZSB7XHJcbiAgbWFyZ2luLXRvcDogMTAwcHg7XHJcbiAgdGFibGUge1xyXG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcclxuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHRoZWFkIHtcclxuICAgICAgdHIge1xyXG4gICAgICAgIHRoIHtcclxuICAgICAgICAgIHBhZGRpbmc6IDEwcHggNXB4O1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdW50aWwobW9iaWxlLWxhbmRzY2FwZSkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC11bnRpbChpcGhvbmUpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiA4cHg7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgJjpudGgtY2hpbGQoMSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMjUlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJjpudGgtY2hpbGQoMiksXHJcbiAgICAgICAgICAmOm50aC1jaGlsZCgzKSxcclxuICAgICAgICAgICY6bnRoLWNoaWxkKDQpLFxyXG4gICAgICAgICAgJjpudGgtY2hpbGQoNSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTguNzUlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJjpudGgtY2hpbGQoMikge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgICAgICAgIC8vYm9yZGVyLXRvcDogNHB4IHNvbGlkICRjb2xvci1wcmltYXJ5O1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkICRjb2xvci1wcmltYXJ5O1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDRweCBzb2xpZCAkY29sb3ItcHJpbWFyeTtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICRjb2xvci1wcmltYXJ5O1xyXG4gICAgICAgICAgICAgIGhlaWdodDogNXB4O1xyXG4gICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweCAxMHB4IDAgMDtcclxuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgbGVmdDogLTRweDtcclxuICAgICAgICAgICAgICB0b3A6IC05cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRib2R5IHtcclxuICAgICAgdHIge1xyXG4gICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjVmNztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xyXG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAkY29sb3ItcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNXB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAkY29sb3ItcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogNHB4IHNvbGlkICRjb2xvci1wcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDEwcHggMTBweDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IC00cHg7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IC05cHg7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgICAgICAgaGVpZ2h0OiAxMjBweDtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXVudGlsKHRhYmxldCkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDIycHg7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC11bnRpbChtb2JpbGUtbGFuZHNjYXBlKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA4MHB4O1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdW50aWwoaXBob25lKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGQge1xyXG4gICAgICAgICAgY29sb3I6ICM4MjgzODU7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICBmb250LXNpemU6IDIycHg7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgIGhlaWdodDogMTIwcHg7XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC11bnRpbCh0YWJsZXQpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdW50aWwobW9iaWxlLWxhbmRzY2FwZSkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogODBweDtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXVudGlsKGlwaG9uZSkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEyMHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXVudGlsKHRhYmxldCkge1xyXG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC11bnRpbChtb2JpbGUtbGFuZHNjYXBlKSB7XHJcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICAgIGhlaWdodDogODBweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC11bnRpbChpcGhvbmUpIHtcclxuICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAkY29sb3ItcHJpbWFyeTtcclxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBzdmcsIGltZyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogNTBweDtcclxuICAgICAgICAgICAgZmlsbDogY3VycmVudENvbG9yO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC11bnRpbChtb2JpbGUtbGFuZHNjYXBlKSB7XHJcbiAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBzdHJvbmcge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDQwcHg7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXVudGlsKG1vYmlsZS1sYW5kc2NhcGUpIHtcclxuICAgICAgICAgICAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdW50aWwoaXBob25lKSB7XHJcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi5jb21wYXJpc29uLXRhYmxlLWNvbHVtbi1pbWFnZSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgLy93aWR0aDogMTAwcHg7XHJcbiAgbWFyZ2luOiAwIGF1dG8gMjBweCBhdXRvO1xyXG4gIGltZyB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGhlaWdodDogMTAwcHg7XHJcblxyXG4gICAgQGluY2x1ZGUgcmVzcG9uZC11bnRpbChtb2JpbGUtcG9ydHJhaXQpIHtcclxuICAgICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgfVxyXG5cclxuICB9XHJcbn1cclxuLy8gU2VjdGlvbiBDb21wYXJpc29uIFRhYmxlIEVORFxyXG5cclxuLy8gU2VjdGlvbiBSb3dzXHJcbi5zZWN0aW9uLXJvd3Mge1xyXG4gIHBhZGRpbmctYm90dG9tOiA3MHB4O1xyXG5cclxuICAuYnV0dG9uLXdyYXBwZXIge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIH1cclxufVxyXG4vLyBTZWN0aW9uIFJvd3MgRU5EXHJcblxyXG4vLyBQcm9kdWN0IFBhZ2UgVG9wIFNlY3Rpb25cclxuLnByb2R1Y3QtdG9wLXNlY3Rpb24ge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9hc3NldHMvaW1nL3Byb2R1Y3QtcGFnZS10b3AtYmFja2dyb3VuZC5qcGcpO1xyXG4gIC8vY29sb3I6ICR0ZXh0LWNvbG9yO1xyXG59XHJcbi8vIFByb2R1Y3QgUGFnZSBUb3AgU2VjdGlvbiBFTkRcclxuXHJcbi8vIFNlY3Rpb24gUHJvZHVjdCBCb3hcclxuLnNlY3Rpb24tcHJvZHVjdC1ib3gge1xyXG4gIC8qXHJcbiAgLnNlY3Rpb24tdGl0bGUge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIH1cclxuICAqL1xyXG4gIGgyIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcbiAgLmltYWdlLXdyYXAge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICB9XHJcbn1cclxuLmxpc3QtcHJvZHVjdC1ib3gge1xyXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgbWFyZ2luOiAwO1xyXG4gID4gbGkge1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb25NdWx0aShhbGwsIDAuMnMsIGVhc2Utb3V0KTtcclxuXHJcbiAgICBoMyB7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIG1hcmdpbjogNXB4IDAgMCAwO1xyXG4gICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4ubGlzdC1wcm9kdWN0LWJveC1pbWFnZSB7XHJcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gIGltZyB7XHJcbiAgICBoZWlnaHQ6IDcwcHg7XHJcbiAgICBtYXgtaGVpZ2h0OiA3MHB4O1xyXG4gIH1cclxufVxyXG4vLyBTZWN0aW9uIFByb2R1Y3QgQm94IEVORFxyXG5cclxuLy8gVGV4dCBsaW5lIHJldmVhbFxyXG4ubGluZS1yZXZlYWwtY29udGFpbmVyIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA2JTtcclxuICBsZWZ0OiAxNiU7XHJcblxyXG4gIEBpbmNsdWRlIHJlc3BvbmQtdW50aWwobGFwdG9wLWxpa2UtcmVhbC1zbWFsbCkge1xyXG4gICAgbGVmdDogOCU7XHJcbiAgfVxyXG5cclxuICBzcGFuIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgdG9wOiAycHg7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDFweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDJweDtcclxuICB9XHJcblxyXG4gIC5saW5lLWNvbnRhaW5lci1yZXZlYWwtaW5uZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIH1cclxuXHJcbiAgLnRleHQtcmV2ZWFsIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRvcDogLTJweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgfVxyXG5cclxuICAubGluZS1yZXZlYWwtd3JhcCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IGNhbGMoMTAwJSAtIDJweCk7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDhweCk7XHJcbiAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIH1cclxuXHJcbiAgLmxpbmUtbWFzayB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHJpZ2h0OiAwcHg7XHJcbiAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIH1cclxuXHJcbiAgLmxpbmUtcmV2ZWFsLWlubmVyIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDEwMCU7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA4cHgpO1xyXG4gICAgICBoZWlnaHQ6IDFweDtcclxuICAgICAgYmFja2dyb3VuZDogIzAwMDAwMDtcclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogY2FsYygxMDAlICsgM3B4KTtcclxuICAgICAgbGVmdDogY2FsYygxMDAlIC0gOXB4KTtcclxuICAgICAgd2lkdGg6IDhweDtcclxuICAgICAgaGVpZ2h0OiAxcHg7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICAgIGJhY2tncm91bmQ6ICMwMDAwMDA7XHJcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC50ZXh0LXJldmVhbC1pdGVtLFxyXG4gIC5saW5lLW1hc2tcclxuICB7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgfVxyXG59XHJcblxyXG4vLyBTZWN0aW9uIENvbnRhY3RcclxuLnNlY3Rpb24tY29udGFjdCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RiZTJlOTtcclxuICBjb2xvcjogJHRleHQtY29sb3I7XHJcbiAgcGFkZGluZzogMTI1cHggMDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgZm9udC1zaXplOiAyMnB4O1xyXG4gIGEge1xyXG4gICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcbiAgICB9XHJcbiAgfVxyXG4vKlxyXG4gIHAgKyAuc2VjdGlvbi10aXRsZSB7XHJcbiAgICBtYXJnaW4tdG9wOiA3MHB4O1xyXG4gIH1cclxuKi9cclxuICBwICsgaDIge1xyXG4gICAgbWFyZ2luLXRvcDogNzBweDtcclxuICB9XHJcbn1cclxuLypcclxuLnNlY3Rpb24tY29udGFjdC10b3Age1xyXG4gIHBhZGRpbmctdG9wOiAxODBweDtcclxufVxyXG4qL1xyXG4vLy5zZWN0aW9uLWNvbnRhY3QtcmVkIHtcclxuLnNlY3Rpb24tcmVkIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcclxuICBjb2xvcjogI2ZmZjtcclxufVxyXG4vLy5zZWN0aW9uLWNvbnRhY3QtZGFyayB7XHJcbi5zZWN0aW9uLWRhcmsge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ibHVlLWRhcms7XHJcbiAgY29sb3I6ICNmZmY7XHJcbn1cclxuLy8uc2VjdGlvbi1jb250YWN0LWxpZ2h0IHtcclxuLnNlY3Rpb24tbGlnaHQge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgY29sb3I6ICR0ZXh0LWNvbG9yO1xyXG59XHJcbi5zZWN0aW9uLWNvbnRhY3QtaW5mbyB7XHJcbiAgbWFyZ2luLXRvcDogNjVweDtcclxuICAmIH4gLnNlY3Rpb24tY29udGFjdC1pbmZvIHtcclxuICAgIG1hcmdpbi10b3A6IDQ1cHg7XHJcbiAgfVxyXG4gIGgzIHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbjogMCAwIDEwcHggMDtcclxuICB9XHJcbn1cclxuLnNlY3Rpb24tY29udGFjdC1zdWJ0aXRsZSB7XHJcbiAgZm9udC1zaXplOiAyNnB4O1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgbWFyZ2luOiA3MHB4IDAgMCAwO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gICYgKyAuc2VjdGlvbi1jb250YWN0LWluZm8ge1xyXG4gICAgbWFyZ2luLXRvcDogNDBweDtcclxuICB9XHJcbn1cclxuLy8gU2VjdGlvbiBDb250YWN0IEVORFxyXG5cclxuLy8gU2VjdGlvbiBGQVFcclxuLnNlY3Rpb24tZmFxIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuLnNjaGVtYS1mYXEtY29kZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RiZTJlYTtcclxuICBib3JkZXItdG9wOiAxcHggc29saWQgJHRleHQtY29sb3I7XHJcbn1cclxuLmZhcS1xIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBwYWRkaW5nOiAwO1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIGZvbnQtc2l6ZTogMjBweDtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIG1heC13aWR0aDogJGNvbnRhaW5lci1zbWFsbGVyLXdpZHRoICsgJGNvbnRhaW5lci1wYWRkaW5nICogMjtcclxuICBtYXJnaW46IDAgYXV0bztcclxuICBhIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAyMnB4O1xyXG4gICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogJysnO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICB0b3A6IDEwcHg7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4uZmFxLWEge1xyXG4gIG1heC1oZWlnaHQ6IDA7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIGZvbnQtc2l6ZTogMjBweDtcclxuICBtYXgtd2lkdGg6ICRjb250YWluZXItc21hbGxlci13aWR0aCArICRjb250YWluZXItcGFkZGluZyAqIDI7XHJcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgNTAwbXMgZWFzZTtcclxuICB3aWxsLWNoYW5nZTogbWF4LWhlaWdodDtcclxuXHJcbiAgc3BhbiB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblxyXG4gICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgICAgICBcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGEge1xyXG4gICAgY29sb3I6ICMwMDAwMDA7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4uZmFxLXF1ZXN0aW9uIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHRleHQtY29sb3I7XHJcbiAgcGFkZGluZzogMTVweCAxNXB4O1xyXG4gICYuYWN0aXZlIHtcclxuICAgIC5mYXEtcSB7XHJcbiAgICAgIGEge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIGNvbnRlbnQ6ICctJztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5mYXEtYSB7XHJcbiAgICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xyXG4gICAgICBvdmVyZmxvdzogYXV0bztcclxuICAgIH1cclxuICB9XHJcbn1cclxuLy8gU2VjdGlvbiBGQVEgRU5EIiwiLyogcmVzZXRzICovXHJcbi5zZWN0aW9uLXNpbmdsZS1wcm9kdWN0IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiAxMDB2dztcclxuICAgIGhlaWdodDogMTAwdmg7XHJcbiAgICBwYWRkaW5nLXRvcDogNzBweDtcclxufVxyXG5cclxuLnNlY3Rpb24tc2luZ2xlLXByb2R1Y3QgLmltYWdlLXdyYXAge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDcxMXB4O1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4vKlxyXG4gICAgbWF4LXdpZHRoOiA3MTFweDtcclxuICAgIG1heC1oZWlnaHQ6IDQwMHB4O1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4qL1xyXG59XHJcblxyXG4uc2VjdGlvbi1zaW5nbGUtcHJvZHVjdCAuaW1hZ2Utd3JhcCBpbWcge1xyXG4vKlxyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB6LWluZGV4OiA5OTtcclxuICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICBtYXgtd2lkdGg6IDc1MHB4O1xyXG4gICAgbWF4LWhlaWdodDogNTIwcHg7XHJcbiovXHJcbn1cclxuXHJcbi8qIHRleHQgKi9cclxuLnJvdGF0aW9uLXRleHQtY29udGFpbmVyLFxyXG4ucm90YXRpb24tdGV4dC1pbm5lclxyXG57XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB6LWluZGV4OiA5OTk5OTk5O1xyXG59XHJcbi5yb3RhdGlvbi10ZXh0LWNvbnRhaW5lciB7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG5cclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LXdpZHRoOiA3MTFweDtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcblxyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgLypiYWNrZ3JvdW5kOiByZ2JhKDIwOCwzNCwzNCwgMC4yKTsqL1xyXG59XHJcblxyXG4ucm90YXRpb24tdGV4dC1pbm5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuLnJvdGF0aW9uLXRleHQtaXRlbSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4udGV4dC1jZW50ZXIge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4ucm90YXRpb24tdGV4dC1pdGVtIHNwYW4ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgZm9udC1zaXplOiAyMnB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMWVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5yb3RhdGlvbi10ZXh0LWl0ZW0gc3Bhbi5yb3RhdGlvbi10ZXh0LXN1YiB7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBmb250LXdlaWdodDogMzAwO1xyXG59XHJcblxyXG4ucm90YXRpb24tdGV4dC1pdGVtLmFjdGl2ZSB7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG59XHJcblxyXG4vKiBUSFJFRS5KUyByZWxhdGVkIC0gZm9yIG5vdyBhbnkgdGhyZWUuanMgcmVsYXRlZCBzdHlsZXMgY2FuIGp1c3QgYmUgYWRkZWQgaGVyZSAqL1xyXG4uY2FudmFzLXdyYXBwZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmNhbnZhcy13cmFwcGVyIC5jYW52YXMtaW5uZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogY2FsYygxMDAlIC0gMTBweCk7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XHJcbiAgICAgIHotaW5kZXg6IDk5OTk5OTk7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4uY2FudmFzLXdyYXBwZXIgLmNhbnZhcy1pbm5lciBjYW52YXMge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuICBcclxuICAvKlxyXG4gIGxlZnQ6IDUwJTtcclxuICB0b3A6IDUwJTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAqL1xyXG4gIG1heC13aWR0aDogMTAwdnc7XHJcbiAgbWF4LWhlaWdodDogMTAwdmg7XHJcbiAgei1pbmRleDogOTk5OTk5OTtcclxuXHJcbiAgQGluY2x1ZGUgcmVzcG9uZC11bnRpbChpcGhvbmUpIHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICB9XHJcbn1cclxuXHJcbmNhbnZhcyB7XHJcblxyXG59XHJcblxyXG4ucm90YXRpb24tc3ZncyB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogNTAlO1xyXG4gIGxlZnQ6IDUwJTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcclxuICB3aWR0aDogNzM3LjZweDtcclxuICBtYXgtd2lkdGg6IDczNy42cHg7XHJcbiAgLypiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLCAwLjMpOyovXHJcbiAgei1pbmRleDogOTk5OTk5OTk5OTk7XHJcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG5cclxuICBAaW5jbHVkZSByZXNwb25kLXVudGlsKHRhYmxldCkge1xyXG4gICAgd2lkdGg6IDk1JTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIHJlc3BvbmQtdW50aWwoaXBob25lKSB7XHJcbiAgICB3aWR0aDogOTAlO1xyXG4gIH1cclxuXHJcbiAgLnJvdGF0aW9uLXN2Z3MtaW5uZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbGVmdDogMTdweDtcclxuICAgIHRvcDogNXB4O1xyXG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbk11bHRpKGFsbCwgMC4ycywgZWFzZS1vdXQpO1xyXG5cclxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdW50aWwodGFibGV0KSB7XHJcbiAgICAgIGxlZnQ6IDEzcHg7XHJcbiAgICAgIHRvcDogMThweDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSByZXNwb25kLXVudGlsKGlwaG9uZSkge1xyXG4gICAgICBsZWZ0OiA3cHg7XHJcbiAgICAgIHRvcDogNXB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnJvdGF0aW9uLXN2Zy1pdGVtIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB9XHJcblxyXG4gICYucm90YXRpb24tY29weSB7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgfVxyXG5cclxuICAmLmFjdGl2ZSB7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gIH1cclxufVxyXG5cclxuI3JvdGF0aW9uX3g1Rl9zcGVhayB7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIlKTtcclxufVxyXG5cclxuI3JvdGF0aW9uX3g1Rl9zcGVhayxcclxuI3JvdGF0aW9uX3g1Rl9iYXR0ZXJ5LFxyXG4jcm90YXRpb25feDVGX21pY3JvcGhvbmVzLFxyXG4jcm90YXRpb25feDVGX2JsdWV0b290aCxcclxuI3JvdGF0aW9uX3g1Rl92b2x1bWVcclxue1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyJSk7XHJcbn1cclxuXHJcbiNyb3RhdGlvbl94NUZfc3BlYWsge1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzJSk7XHJcbn1cclxuXHJcblxyXG4ucm90YXRpb24tbGluZS1pdGVtIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4ucm90YXRpb24tbGluZS1pdGVtLWlubmVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLnJvdGF0aW9uLWxpbmUtaXRlbSBpbWcge1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjIpO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XHJcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcclxufVxyXG5cclxuLnJvdGF0aW9uLXRleHQtaXRlbS5yb3RhdGlvbi1tdXRlIHtcclxuICAgIGxlZnQ6IDcwJTtcclxufVxyXG4ucm90YXRpb24tdGV4dC1pdGVtLnJvdGF0aW9uLW11dGUgLnJvdGF0aW9uLWxpbmUtaXRlbSB7XHJcbiAgICB0b3A6IDEwMCU7XHJcbn1cclxuXHJcbi5yb3RhdGlvbi10ZXh0LWl0ZW0ucm90YXRpb24td2F0ZXJwcm9vZiB7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIGxlZnQ6IDkzJTtcclxufVxyXG4ucm90YXRpb24tdGV4dC1pdGVtLnJvdGF0aW9uLXdhdGVycHJvb2YgLnJvdGF0aW9uLWxpbmUtaXRlbSB7XHJcbiAgICB0b3A6IDQ0JTtcclxuICAgIGxlZnQ6IC0yMiU7XHJcbn1cclxuXHJcbi5yb3RhdGlvbi10ZXh0LWl0ZW0ucm90YXRpb24tbGFueWFyZCB7XHJcbiAgICBsZWZ0OiA3NiU7XHJcbiAgICB0b3A6IDgwJTtcclxufVxyXG4ucm90YXRpb24tdGV4dC1pdGVtLnJvdGF0aW9uLWxhbnlhcmQgLnJvdGF0aW9uLWxpbmUtaXRlbSB7XHJcbiAgICB0b3A6IDY4JTtcclxuICAgIGxlZnQ6IC0xMCU7XHJcbn1cclxuXHJcbi5yb3RhdGlvbi10ZXh0LWl0ZW0ucm90YXRpb24tYmF0dGVyeSB7XHJcbiAgICBsZWZ0OiAzNyU7XHJcbiAgICB0b3A6IDEwOCU7XHJcbn1cclxuLnJvdGF0aW9uLXRleHQtaXRlbS5yb3RhdGlvbi1iYXR0ZXJ5IC5yb3RhdGlvbi1saW5lLWl0ZW0ge1xyXG4gICAgdG9wOiAtMTEzJTtcclxuICAgIGxlZnQ6IDE1JTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHdpZHRoOiA4cHg7XHJcbn1cclxuXHJcbi5yb3RhdGlvbi10ZXh0LWl0ZW0ucm90YXRpb24tbWljcm9waG9uZXMge1xyXG4gICAgbGVmdDogOSU7XHJcbiAgICB0b3A6IDgyLjUlO1xyXG59XHJcbi5yb3RhdGlvbi10ZXh0LWl0ZW0ucm90YXRpb24tbWljcm9waG9uZXMgLnJvdGF0aW9uLWxpbmUtaXRlbSB7XHJcbiAgICB0b3A6IDU3JTtcclxuICAgIGxlZnQ6IDIxJTtcclxufVxyXG5cclxuLnJvdGF0aW9uLXRleHQtaXRlbS5yb3RhdGlvbi1ibHVldG9vdGgge1xyXG4gICAgbGVmdDogMyU7XHJcbiAgICB0b3A6IDQ1JTtcclxufVxyXG4ucm90YXRpb24tdGV4dC1pdGVtLnJvdGF0aW9uLWJsdWV0b290aCAucm90YXRpb24tbGluZS1pdGVtIHtcclxuICAgIHRvcDogNDQlO1xyXG4gICAgbGVmdDogMTYlO1xyXG4gICAgd2lkdGg6IDMxMHB4O1xyXG59XHJcblxyXG4ucm90YXRpb24tdGV4dC1pdGVtLnJvdGF0aW9uLXZvbHVtZSB7XHJcbiAgICBsZWZ0OiA5JTtcclxuICAgIHRvcDogMSU7XHJcbn1cclxuLnJvdGF0aW9uLXRleHQtaXRlbS5yb3RhdGlvbi12b2x1bWUgLnJvdGF0aW9uLWxpbmUtaXRlbSB7XHJcbiAgICB0b3A6IDEyMCU7XHJcbiAgICBsZWZ0OiA5JTtcclxufVxyXG5cclxuLnJvdGF0aW9uLXRleHQtaXRlbS5yb3RhdGlvbi1zcGVhayB7XHJcbiAgICBsZWZ0OiA0MyU7XHJcbiAgICB0b3A6IC0xOCU7XHJcbn1cclxuLnJvdGF0aW9uLXRleHQtaXRlbS5yb3RhdGlvbi1zcGVhayAucm90YXRpb24tbGluZS1pdGVtIHtcclxuICAgIHRvcDogMTQyJTtcclxuICAgIGxlZnQ6IDExJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHdpZHRoOiA4cHg7XHJcbn1cclxuXHJcbi5yb3RhdGlvbi10ZXh0LWl0ZW0ucm90YXRpb24tbXV0ZSAucm90YXRpb24tbGluZS1pdGVtIHtcclxuICAgXHJcbn0iLCIuZGVza3RvcC1vbmx5IHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICAmLmJ1dHRvbiB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgfVxyXG59XHJcbi5tb2JpbGUtb25seSB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuQGluY2x1ZGUgcmVzcG9uZC11bnRpbChsYXB0b3Atc21hbGwpIHtcclxuICAuY29udGFpbmVyLFxyXG4gIC5jb250YWluZXItc21hbGxlciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcbiAgLmhlYWRlci1jYXJ0LWxpbmtzIHtcclxuICAgIC8vcmlnaHQ6ICRjb250YWluZXItcGFkZGluZztcclxuICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIHJlc3BvbmQtdW50aWwobGFwdG9wLXNtYWxsZXIpIHtcclxuICAubmF2LW1haW4gPiB1bCA+IGxpOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxNHB4O1xyXG4gIH1cclxuICAubmF2LW1haW4gPiB1bCA+IGxpID4gYSB7XHJcbiAgICBmb250LXNpemU6IDE3cHg7XHJcbiAgfVxyXG4gIC5jb250YWluZXItc21hbGwge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG4gIC5saXN0LWFjY2Vzc29yaWVzIHtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7XHJcbiAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSByZXNwb25kLXVudGlsKGxhcHRvcC1saWtlLXJlYWwtc21hbGwpIHtcclxuICAuYW5ub3VuY2VtZW50LWJhciB7XHJcbiAgICBoZWlnaHQ6ICRhbm5vdW5jZW1lbnQtYmFyLWhlaWdodC1tb2JpbGU7XHJcbiAgICBsaW5lLWhlaWdodDogJGFubm91bmNlbWVudC1iYXItaGVpZ2h0LW1vYmlsZTtcclxuICAgIC8vZm9udC1zaXplOiAxMnB4O1xyXG4gIH1cclxuICAubmF2LW1haW4tdG9nZ2xlIHtcclxuICAgIC8vZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG4gIC5oZWFkZXIge1xyXG4gICAgdG9wOiAkYW5ub3VuY2VtZW50LWJhci1oZWlnaHQtbW9iaWxlO1xyXG4gICAgcGFkZGluZy10b3A6IDA7XHJcbiAgfVxyXG4gIC5oZWFkZXIgLmNvbnRhaW5lciB7XHJcbiAgICBoZWlnaHQ6ICRoZWFkZXItaGVpZ2h0LW1vYmlsZTtcclxuICB9XHJcbiAgLmhlYWRlci1sb2dvIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDBweCk7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gIH1cclxuXHJcbiAgLm5hdi1tYWluIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAvL2Rpc3BsYXk6IGJsb2NrO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJsdWUtZGFyaztcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHotaW5kZXg6IC0xO1xyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IC0yMDBweDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogY2FsYygxMDAlICsgMjAwcHgpO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmx1ZS1kYXJrO1xyXG4gICAgICB6LWluZGV4OiA5MDtcclxuXHJcbiAgICAgIHRvcDogLTUwcHg7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgLmNsb3NlLXgge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIHVsIHtcclxuICAgICAgei1pbmRleDogOTU7XHJcbiAgICAgIC8vb3ZlcmZsb3cteTogYXV0bztcclxuXHJcbiAgICAgIGxpIHtcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAubmF2LW1haW4tc3VibGF5ZXItMSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc2VsZWN0ZWQge1xyXG4gICAgICAgICAgLm1haW4tbWVudS1pdGVtIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgwZGVnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5uYXYtbWFpbi1zdWJsYXllci0xIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5uYXYtbWFpbiA+IHVsIHtcclxuICAgIHRvcDogOTBweDtcclxuICAgIC8vcGFkZGluZzogMCAwIDIwMHB4IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgLy9tYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gOTBweCAtIDgwcHgpO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgLy9vdmVyZmxvdzogYXV0bztcclxuICB9XHJcbiAgLm5hdi1tYWluID4gdWwgPiBsaSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuICAubmF2LW1haW4gPiB1bCA+IGxpOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gIH1cclxuICAubmF2LW1haW4gPiB1bCA+IGxpID4gYSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmc6IDEwcHggMjBweDtcclxuICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDY7XHJcbiAgfVxyXG5cclxuICAuaGVhZGVyIC5uYXYtbWFpbiAubmF2LW1haW4tc3VibGF5ZXItMSxcclxuICAuaGVhZGVyIC5uYXYtbWFpbiAubmF2LW1haW4tc3VibGF5ZXItMS1pbm5lciB7XHJcbiAgICAvL2Rpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IHN0YXRpYztcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYm94LXNoYWRvdzogbm9uZTtcclxuICB9XHJcblxyXG4gIC5uYXYtbWFpbi1zdWJsYXllci0xLWlubmVyID4gdWwge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuICB9XHJcbiAgLm5hdi1tYWluLXN1YmxheWVyLTEtaW5uZXIgPiB1bCA+IGxpID4gYSB7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjZmZmLCAuMSk7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxuXHJcbiAgLm5hdi1tYWluLXN1YmxheWVyLTEtaW5uZXIge1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubmF2LW1haW4tc3VibGF5ZXItMiB7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAuc2hvdy1tb2JpbGUtbmF2aWdhdGlvbiB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcbiAgLmhpZGUtbW9iaWxlLW5hdmlnYXRpb24ge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gIC5uYXYtbWFpbiA+IHVsID4gbGkgPiBhID4gc3ZnIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDIwcHg7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoLTkwZGVnKTtcclxuICAgIGhlaWdodDogMjBweDtcclxuICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcclxuICAgIHdpZHRoOiAyNHB4O1xyXG4gIH1cclxuLypcclxuICAubmF2LW1haW4gPiB1bCA+IGxpID4gYSB7XHJcbiAgICAmOmZvY3VzLCAmOmhvdmVyLCAmOmFjdGl2ZSB7XHJcbiAgICAgID4gc3ZnIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDBkZWcpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4qL1xyXG4gIC5oZWFkZXItc2VhcmNoLXRvZ2dsZSB7XHJcbiAgICBtYXJnaW4tbGVmdDogMTVweDtcclxuICB9XHJcblxyXG4gIC5oZWFkZXItc29jaWFsLWxpbmtzIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG5cclxuICAubW9iaWxlLW1lbnUtb3BlbmVkIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAuaGVhZGVyIHtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgfVxyXG4gICAgLm5hdi1tYWluIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgICAuc2hvdy1tb2JpbGUtbmF2aWdhdGlvbiB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAuaGlkZS1tb2JpbGUtbmF2aWdhdGlvbiB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gICAgLmhlYWRlci1zb2NpYWwtbGlua3Mge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICB0b3A6IGF1dG87XHJcbiAgICAgIGJvdHRvbTogNDBweDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgei1pbmRleDogMTtcclxuICAgIH1cclxuICB9XHJcbi8qXHJcbiAgLmhlYWRlci5oZWFkcm9vbS0tdG9wIHtcclxuICAgIGhlaWdodDogY2FsYygxMDB2aCAtICN7JGFubm91bmNlbWVudC1iYXItaGVpZ2h0LW1vYmlsZX0pO1xyXG4gICAgLm5hdi1tYWluIHtcclxuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gI3skYW5ub3VuY2VtZW50LWJhci1oZWlnaHQtbW9iaWxlfSk7XHJcbiAgICB9XHJcbiAgfVxyXG4qL1xyXG59XHJcblxyXG4vL0BtZWRpYSAobWF4LWhlaWdodDogOTAwcHgpIHtcclxuQGluY2x1ZGUgcmVzcG9uZC11bnRpbC1oZWlnaHQobSkge1xyXG4gIC5sb2NhdGlvbi1tb2RhbC1jb250YWluZXIge1xyXG4gICAgcGFkZGluZy10b3A6IDUwcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcclxuICB9XHJcbiAgLypcclxuICAubG9jYXRpb24tbW9kYWwgLnNlY3Rpb24tdGl0bGUge1xyXG4gICAgZm9udC1zaXplOiAzMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICB9XHJcbiAgKi9cclxuICAubG9jYXRpb24tbW9kYWwgaDIge1xyXG4gICAgZm9udC1zaXplOiAzMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICB9XHJcbiAgLmxvY2F0aW9ucy1uYXZpZ2F0aW9uIGgzIHtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICB9XHJcbiAgLmxvY2F0aW9ucy1uYXZpZ2F0aW9uIHVsIGxpIGEge1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gIH1cclxuICAubG9jYXRpb25zLW5hdmlnYXRpb24gdWwgbGk6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xyXG4gIH1cclxuICAubG9jYXRpb24tbW9kYWwtZm9vdGVyIHtcclxuICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcbiAgfVxyXG4gIC5sb2NhdGlvbi1tb2RhbC1mb290ZXIgcCB7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgfVxyXG5cclxuICAuZmxhZyB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgd2lkdGg6ICRmbGFnLXdpZHRoIC0gNHB4O1xyXG4gICAgaGVpZ2h0OiAkZmxhZy1oZWlnaHQgLSA0cHg7XHJcbiAgICBzdmcge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgaGVpZ2h0OiAkZmxhZy1oZWlnaHQgLSA2cHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAkZmxhZy1oZWlnaHQgLSA0cHg7XHJcbiAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vL0BpbmNsdWRlIHJlc3BvbmQtdW50aWwodGFibGV0KSB7XHJcbkBpbmNsdWRlIHJlc3BvbmQtdW50aWwodGFibGV0KSB7XHJcbiAgLmRlc2t0b3Atb25seSB7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIC5tb2JpbGUtb25seSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcblxyXG4gIC5jb250YWluZXIsXHJcbiAgLmNvbnRhaW5lci1zbWFsbCxcclxuICAuY29udGFpbmVyLXNtYWxsZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG5cclxuXHJcbiAgLmxvY2F0aW9uLW1vZGFsLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwdnc7XHJcbiAgICBtYXgtaGVpZ2h0OiAxMDB2aDtcclxuICAgIGhlaWdodDogMTAwdmg7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgcGFkZGluZzogMjBweCAxNXB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xyXG4gIH1cclxuICAubG9jYXRpb25zLXdyYXAge1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwJTtcclxuICAgIGdyaWQtZ2FwOiAyMHB4O1xyXG4gICAgd2lkdGg6IDI5MHB4O1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgbWFyZ2luLXRvcDogNjBweDtcclxuICB9XHJcblxyXG4gIC5sb2NhdGlvbnMtbmF2aWdhdGlvbiB7XHJcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG5cclxuICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnNob3AtbW9kYWwtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDB2dztcclxuICB9XHJcbi8qXHJcbiAgLnNlY3Rpb24tdGl0bGUge1xyXG4gICAgZm9udC1zaXplOiAzNnB4O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyLXBhZGRpbmc7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xyXG4gIH1cclxuKi9cclxuXHJcbiAgaDIge1xyXG4gICAgZm9udC1zaXplOiAzNnB4O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xyXG4gICAgcGFkZGluZy1yaWdodDogMjVweDtcclxuICB9XHJcblxyXG4gIHAge1xyXG4gICAgZm9udC1zaXplOiAyMnB4O1xyXG4gIH1cclxuXHJcbiAgLnNlY3Rpb24tMy1jb2xvcnMgLmltYWdlLXdyYXAgaW1nIHtcclxuICAgIGhlaWdodDogYXV0bztcclxuICB9XHJcbiAgLnNlY3Rpb24tMy1jb2xvcnMgLmltYWdlLXdyYXAge1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gIH1cclxuICAubGlzdC1jYXRlZ29yaWVzIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxuXHJcbiAgLmxpc3QtY2F0ZWdvcmllcyA+IGxpID4gYSB7XHJcbiAgICBoZWlnaHQ6IDMwMHB4O1xyXG4gIH1cclxuICAubGlzdC1jYXRlZ29yaWVzLWltYWdlIGltZyB7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgdHJhbnNmb3JtOiBub25lO1xyXG4gIH1cclxuICAvKlxyXG4gIC5zZWN0aW9uLXNpbmdsZS1wcm9kdWN0IC5zZWN0aW9uLXRpdGxlIHtcclxuICAgIC8vd2lkdGg6IDEwMCU7XHJcbiAgICB3aWR0aDogNzB2dztcclxuICB9XHJcbiAgKi9cclxuICAuc2VjdGlvbi1zaW5nbGUtcHJvZHVjdCBoMiB7XHJcbiAgICAvL3dpZHRoOiAxMDAlO1xyXG4gICAgd2lkdGg6IDcwdnc7XHJcbiAgfVxyXG5cclxuICAuc2VjdGlvbi1yZXZpZXdzIHtcclxuICAgIHAge1xyXG4gICAgICB3aWR0aDogODAlO1xyXG4gICAgfVxyXG4gIH1cclxuLypcclxuICAuc2VjdGlvbi1yZXZpZXctdGV4dCB7XHJcbiAgICAvL3dpZHRoOiAxMDAlO1xyXG4gICAgd2lkdGg6IDgwJTtcclxuICB9XHJcbiovXHJcbiAgLnNlY3Rpb24tcmV2aWV3cy1zbGlkZXIgLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ge1xyXG4gICAgdG9wOiAzNnB4O1xyXG4gIH1cclxuXHJcbiAgLnNlY3Rpb24tYXBwIC5jb250YWluZXItc21hbGwge1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDAlO1xyXG4gIH1cclxuXHJcbiAgLmxpc3QtYXJ0aWNsZXMge1xyXG4gICAgLy9ncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcbiAgLnNlY3Rpb24tYXJ0aWNsZXMge1xyXG4gICAgLmNvbnRhaW5lciB7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgIH1cclxuICB9XHJcbiAgLmxpc3QtYXJ0aWNsZSB7XHJcbiAgICBoZWlnaHQ6IDMyNXB4O1xyXG4gICAgLy93aWR0aDogMTAwJTtcclxuICAgIHdpZHRoOiBjYWxjKDgwJSAtIDMwcHgpO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcbiAgLmxpc3QtYXJ0aWNsZS10aXRsZSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcbiAgLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ucHJldmlvdXMge1xyXG4gICAgbGVmdDogMDtcclxuICB9XHJcbiAgLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ubmV4dCB7XHJcbiAgICByaWdodDogMDtcclxuICB9XHJcblxyXG4gIC5zZWN0aW9uLWFjY2Vzc29yaWVzLFxyXG4gIC5zZWN0aW9uLXByb2R1Y3Qtb3B0aW9ucyB7XHJcbiAgICAuY29udGFpbmVyIHtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgfVxyXG4gIH1cclxuICAubGlzdC1wcm9kdWN0LW9wdGlvbnMge1xyXG4gICAgLy9ncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgLmZsaWNraXR5LWJ1dHRvbi1pY29uIHtcclxuICAgICAgZmlsbDogJGNvbG9yLXByaW1hcnk7XHJcbiAgICB9XHJcbiAgICBsaSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAvL3dpZHRoOiAxMDAlO1xyXG4gICAgICB3aWR0aDogY2FsYyg3MCUgLSAzMHB4KTtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xyXG4gICAgfVxyXG4gICAgYSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAvL3dpZHRoOiA4MCU7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgIC8vdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDcuOCUpO1xyXG4gICAgICBpbWcge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLy5ob21lcGFnZS10b3Atc2VjdGlvbiB7XHJcbiAgLnRvcC1zZWN0aW9uIHtcclxuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gIH1cclxuXHJcbiAgLnNlY3Rpb24tYXBwLWltYWdlIGltZyB7XHJcbiAgICBoZWlnaHQ6IDUyMHB4O1xyXG4gIH1cclxuXHJcbiAgLnNlY3Rpb24tYXBwIHtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDUwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAuYnV0dG9uLXdyYXAge1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIG1hcmdpbi10b3A6IDEwMHB4O1xyXG4gICAgICAubW9iaWxlLW9ubHkge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnNlY3Rpb24tYXBwLWluZm8ge1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgfVxyXG5cclxuICAuaW5mby1yb3cgLmNvbnRhaW5lci1zbWFsbGVyIHtcclxuICAgIGdyaWQtZ2FwOiAyMHB4O1xyXG4gIH1cclxuICAuaW5mby1yb3c6bnRoLWNoaWxkKG9kZCkgLmNvbnRhaW5lci1zbWFsbGVyIHtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwJTtcclxuICB9XHJcbiAgLmluZm8tcm93Om50aC1jaGlsZChldmVuKSAuY29udGFpbmVyLXNtYWxsZXIge1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDAlO1xyXG4gIH1cclxuICAuaW5mby1yb3c6bnRoLWNoaWxkKGV2ZW4pIC5jb250YWluZXItc21hbGxlciAuaW5mby1yb3ctdGV4dCB7XHJcbiAgICBvcmRlcjogMTtcclxuICB9XHJcblxyXG4gIC5zZWN0aW9uLXN0ZXBzIHtcclxuICAgIHBhZGRpbmctdG9wOiA3MHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDcwcHg7XHJcbiAgfVxyXG4gIC5pbmZvLXJvdy10ZXh0IHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICBtYXgtd2lkdGg6IDcwJTtcclxuICAgIG1pbi13aWR0aDogMjkwcHg7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgfVxyXG4gIC5pbmZvLXJvdy10ZXh0IGgzIHtcclxuICAgIGZvbnQtc2l6ZTogMzJweDtcclxuICAgIG1hcmdpbjogMCAwIDE1cHggMDtcclxuICB9XHJcblxyXG4gIC5zZWN0aW9uLWFjY2Vzc29yaWVzIHtcclxuICAgIC5jb250YWluZXItc21hbGwge1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5saXN0LWFjY2Vzc29yaWVzIHtcclxuICAgIC8vZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDAlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIC5mbGlja2l0eS1idXR0b24taWNvbiB7XHJcbiAgICAgIGZpbGw6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgfVxyXG4gICAgbGkge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgLy93aWR0aDogMTAwJTtcclxuICAgICAgd2lkdGg6IGNhbGMoNzAlIC0gMzBweCk7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcbiAgICAgIC5pbWFnZS13cmFwIHtcclxuICAgICAgICAvL3dpZHRoOiA4MCU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnNlY3Rpb24tdmlkZW8ge1xyXG4gICAgLy9oZWlnaHQ6IDQwMHB4O1xyXG4gIH1cclxuXHJcbiAgLnNlY3Rpb24tcmV2aWV3cyB7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBwYWRkaW5nLXRvcDogMTAwcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XHJcblxyXG4gICAgcCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMzJweDtcclxuICAgIH1cclxuICB9XHJcbiAgLypcclxuICAuc2VjdGlvbi1yZXZpZXctdGV4dCB7XHJcbiAgICBmb250LXNpemU6IDMycHg7XHJcbiAgfVxyXG4gICovXHJcblxyXG4gIC8vLmhvbWVwYWdlLXRvcC1zZWN0aW9uLWNvbnRlbnQge1xyXG4gIC50b3Atc2VjdGlvbi1jb250ZW50IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgLmJ1dHRvbi13cmFwIHtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgLy9tYXJnaW4tdG9wOiAtMTM1cHg7XHJcbiAgfVxyXG5cclxuICAuZm9vdGVyLWJvdHRvbSB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gIH1cclxuICAuZm9vdGVyLXRvcCB7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDAlO1xyXG4gICAgLy9ncmlkLWdhcDogMzBweDtcclxuICAgIGdyaWQtZ2FwOiAwO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIH1cclxuICAuZm9vdGVyLWxvZ28ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG4gIC5mb290ZXItbG9nbyB7XHJcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuXHJcbiAgICBzdmcsIGltZyB7XHJcbiAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgbWF4LXdpZHRoOiAxNjBweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5mb290ZXIge1xyXG4gICAgcGFkZGluZy10b3A6IDQwcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcclxuICB9XHJcblxyXG4gIC5mb290ZXItc29jaWFsLWxpbmtzIHtcclxuICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICAuaWNvbiB7XHJcbiAgICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgIHN2ZyB7XHJcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0OHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuaWNvbi15b3V0dWJlIHtcclxuICAgICAgd2lkdGg6IDQ2cHg7XHJcbiAgICAgIGhlaWdodDogNDhweDtcclxuICAgICAgc3ZnIHtcclxuICAgICAgICB3aWR0aDogNDZweDtcclxuICAgICAgICBoZWlnaHQ6IDQ4cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5zZWN0aW9uLTMtY29sb3JzIHAge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG4gIH1cclxuXHJcbiAgLmxpc3Qtc3BlY2lmaWNhdGlvbnMge1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDAlO1xyXG4gIH1cclxuXHJcbiAgLnNlY3Rpb24tcmVndWxhciB7XHJcbiAgICBwIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgd2lkdGg6IDcwJTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5pbmZvLXJvd3Mge1xyXG4gICAgLmNvbnRhaW5lci1zbWFsbGVyIHtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgfVxyXG4gIH1cclxuLypcclxuICAuZm9vdGVyLW5hdmlnYXRpb24ge1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcclxuICAgIC8vJjpmb2N1cywgJjpob3ZlciwgJi5hY3RpdmUge1xyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAmID4gaDMgPiBzdmcge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoMGRlZyk7XHJcbiAgICAgIH1cclxuICAgICAgJiA+IHVsIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgPiBoMyB7XHJcbiAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcclxuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICBzdmcge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICByaWdodDogMjBweDtcclxuICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKC05MGRlZyk7XHJcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgIGZpbGw6ICR0ZXh0LWNvbG9yO1xyXG4gICAgICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICA+IHVsIHtcclxuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjZmZmLCAuNSk7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIGxpIHtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5mb290ZXItbmF2aWdhdGlvbiB1bCBsaTpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgfVxyXG4qL1xyXG5cclxuXHJcbn1cclxuXHJcbkBpbmNsdWRlIHJlc3BvbmQtdW50aWwobW9iaWxlLWxhbmRzY2FwZSkge1xyXG4gIC8vLmhvbWVwYWdlLXRpdGxlIHtcclxuICAudG9wLXNlY3Rpb24tdGl0bGUge1xyXG4gICAgZm9udC1zaXplOiA0MHB4O1xyXG4gIH1cclxuICAvLy5ob21lcGFnZS10b3Atc2VjdGlvbi1jb250ZW50IHtcclxuICAudG9wLXNlY3Rpb24tY29udGVudCB7XHJcbiAgICBtYXJnaW4tdG9wOiAxNzVweDtcclxuICB9XHJcbiAgLy8uaG9tZXBhZ2UtdG9wLXNlY3Rpb24ge1xyXG4gIC50b3Atc2VjdGlvbiB7XHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICB9XHJcbiAgLnRleHQtYm90dG9tIHtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcclxuICAgIC50b3Atc2VjdGlvbi1jb250ZW50IHtcclxuICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC50ZWNoLXRvcC1zZWN0aW9uIHtcclxuICAgIC5zZWN0aW9uLWJhY2tncm91bmQgaW1nLCAuc2VjdGlvbi1iYWNrZ3JvdW5kIHZpZGVvIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcclxuICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcclxuICAgICAgb2JqZWN0LXBvc2l0aW9uOiAwIDgwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG4vKlxyXG4gIC5zZWN0aW9uLXJlZ3VsYXIgLnNlY3Rpb24tdGl0bGUge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG4qL1xyXG5cclxuICAuc2VjdGlvbi1yZWd1bGFyIGgyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuXHJcbiAgLnNlY3Rpb24tcmVndWxhciB7XHJcbiAgICBwYWRkaW5nLXRvcDogOTBweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiA5MHB4O1xyXG4gIH1cclxuXHJcbiAgLnNlY3Rpb24tc3BlY2lmaWNhdGlvbnMge1xyXG4gICAgcGFkZGluZy10b3A6IDcwcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNzBweDtcclxuICB9XHJcblxyXG4gIC5saXN0LXNwZWNpZmljYXRpb25zLWluZm8gaDMge1xyXG4gICAgZm9udC1zaXplOiAyNnB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICB9XHJcbiAgLmxpc3QtcmVndWxhciB7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgfVxyXG5cclxuICAubGlzdC1wcm9kdWN0LWJveCB7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xyXG4gICAgZ3JpZC1nYXA6IDIwcHg7XHJcbiAgfVxyXG5cclxuICAuZmFxLWEsXHJcbiAgLmZhcS1xIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUgcmVzcG9uZC11bnRpbChtb2JpbGUtcG9ydHJhaXQpIHtcclxuICAvLy5ob21lcGFnZS10aXRsZSB7XHJcbiAgLy8gIGZvbnQtc2l6ZTogNDBweDtcclxuICAvL31cclxuICAvKlxyXG4gIC5zZWN0aW9uLXRpdGxlIHtcclxuICAgIGZvbnQtc2l6ZTogMzRweDtcclxuICB9XHJcbiAgKi9cclxuICBoMiB7XHJcbiAgICBmb250LXNpemU6IDM0cHg7XHJcbiAgfVxyXG4gIC5zZWN0aW9uLXJldmlld3Mge1xyXG4gICAgcCB7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcclxuICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcclxuICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgfVxyXG4gIH1cclxuICAvKlxyXG4gIC5zZWN0aW9uLXJldmlldy10ZXh0IHtcclxuICAgIHBhZGRpbmctbGVmdDogMTVweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XHJcbiAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgfVxyXG4gICovXHJcbiAgLy8uaG9tZXBhZ2UtdG9wLXNlY3Rpb24tY29udGVudCB7XHJcbiAgLy8gIG1hcmdpbi10b3A6IDE3NXB4O1xyXG4gIC8vfVxyXG4gIC8vLmhvbWVwYWdlLXRvcC1zZWN0aW9uIHtcclxuICAvLyAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgLy99XHJcbiAgLypcclxuICAuc2VjdGlvbi1zaW5nbGUtcHJvZHVjdCAuc2VjdGlvbi10aXRsZSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcbiAgKi9cclxuICAuc2VjdGlvbi1zaW5nbGUtcHJvZHVjdCBoMiB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG4gIC5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uIHtcclxuICAgIGhlaWdodDogNTBweDtcclxuICAgIHdpZHRoOiA1MHB4O1xyXG4gIH1cclxuICAuYW5ub3VuY2VtZW50LWJhciB7XHJcbiAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgfVxyXG4vKlxyXG4gIC5zZWN0aW9uLXJldmlld3MgLnNlY3Rpb24tdGl0bGUge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG4gIC5zZWN0aW9uLXNoYXJlIC5zZWN0aW9uLXRpdGxlIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuKi9cclxuICAuc2VjdGlvbi1zaGFyZSxcclxuICAuc2VjdGlvbi1yZXZpZXdzXHJcbiAge1xyXG4gICAgaDIge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5zZWN0aW9uLXJlZ3VsYXIgLmNvbnRhaW5lci5pbWFnZS13cmFwIHtcclxuICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSByZXNwb25kLXVudGlsKGlwaG9uZSkge1xyXG4gIC5hbm5vdW5jZW1lbnQtYmFyIHtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICB9XHJcbi8qXHJcbiAgLnNlY3Rpb24tc2luZ2xlLXByb2R1Y3QgLmltYWdlLXdyYXAgaW1nIHtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHdpZHRoOiA3MCU7XHJcbiAgfVxyXG4gIC5zZWN0aW9uLXNpbmdsZS1wcm9kdWN0IC5pbWFnZS13cmFwIHtcclxuICAgIGhlaWdodDogYXV0bztcclxuICB9XHJcbiAgLnNlY3Rpb24tc2luZ2xlLXByb2R1Y3Qge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xyXG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcclxuICB9XHJcbiovXHJcbiAgLypcclxuICAuc2VjdGlvbi1zaW5nbGUtcHJvZHVjdCAuc2VjdGlvbi10aXRsZSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xyXG4gICAgcGFkZGluZzogMDtcclxuICB9XHJcbiAgKi9cclxuLyogIFxyXG4gIC5zZWN0aW9uLXNpbmdsZS1wcm9kdWN0IGgyIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gIH1cclxuXHJcbiAgLnNlY3Rpb24tc2luZ2xlLXByb2R1Y3QgLmJ1dHRvbiB7XHJcbiAgICAvL21hcmdpbi10b3A6IDgwcHggIWltcG9ydGFudDtcclxuICB9XHJcbiovXHJcbiAgLnNlY3Rpb24tcmVndWxhciB7XHJcbiAgICBwIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubGlzdC1yZWd1bGFyIHtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICB9XHJcblxyXG4gIC5saXN0LXByb2R1Y3QtYm94IHtcclxuICAgIGdyaWQtY29sdW1uLWdhcDogMTBweDtcclxuICB9XHJcbiAgLmxpc3QtcHJvZHVjdC1ib3ggPiBsaSBoMyB7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgfVxyXG59IiwiLmxpZ2h0LWJhY2tncm91bmQge1xyXG4gIC50b3Atc2VjdGlvbixcclxuICAucHJvZHVjdC10b3Atc2VjdGlvbiB7XHJcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XHJcbiAgfVxyXG4gIC5uYXYtbWFpbiB7XHJcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XHJcblxyXG4gICAgJjpob3ZlciwgJjpmb2N1cy13aXRoaW4ge1xyXG4gICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgJiArIC5oZWFkZXItc2VhcmNoLXRvZ2dsZSB7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLmhlYWRlci1zZWFyY2gtdG9nZ2xlIHtcclxuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcclxuICB9XHJcbiAgLmxpc3QtaWNvbi1saW5rcyB7XHJcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XHJcbiAgfVxyXG4gIC5uYXYtbWFpbi10b2dnbGUge1xyXG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xyXG4gIH1cclxuICAudG9wLXNlY3Rpb24tdGl0bGUge1xyXG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xyXG4gIH1cclxuICAmLm1vYmlsZS1tZW51LW9wZW5lZCxcclxuICAuaGVhZGVyLnNsaWRlRG93bi5oZWFkcm9vbS0tbm90LXRvcCB7XHJcbiAgICAubmF2LW1haW4ge1xyXG4gICAgICBjb2xvcjogI2ZmZjtcclxuICAgIH1cclxuICAgIC5oZWFkZXItc2VhcmNoLXRvZ2dsZSB7XHJcbiAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgfVxyXG4gICAgLmxpc3QtaWNvbi1saW5rcyB7XHJcbiAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgfVxyXG4gICAgLm5hdi1tYWluLXRvZ2dsZSB7XHJcbiAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICBib2R5IHtcclxuICAgICYubW9iaWxlLW1lbnUtb3BlbmVkIHtcclxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC11bnRpbChsYXB0b3AtbWVudS1jb2xsaWRlLWxlZnQpIHtcclxuICAgICAgICBcclxuICAgICAgICAubmF2LW1haW4ge1xyXG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaGVhZGVyLXN0aWNreSB7XHJcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5oZWFkZXItc2VhcmNoLXRvZ2dsZSB7XHJcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmxpc3QtaWNvbi1saW5rcyB7XHJcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm5hdi1tYWluLXRvZ2dsZSB7XHJcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRvcC1zZWN0aW9uLXRpdGxlIHtcclxuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG5cclxuXHJcbn0iLCIudGhlbWUtaXRlbSB7XHJcbiAgY29sb3I6IGluaGVyaXQ7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcclxuXHJcbiAgYSB7XHJcblxyXG4gICAgJjpub3QoLmJ1dHRvbikge1xyXG4gICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgfVxyXG59XHJcblxyXG4udGhlbWUtd2hpdGUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICBjb2xvcjogJGJsYWNrO1xyXG59XHJcblxyXG4udGhlbWUtZ3JheWxpZ2h0IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGJlMmU5O1xyXG4gIGNvbG9yOiAkYmxhY2s7XHJcbn1cclxuXHJcbi50aGVtZS1yZWQge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xyXG4gIGNvbG9yOiAkd2hpdGU7XHJcbn1cclxuXHJcbi50aGVtZS1ibHVlZGFyayB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJsdWUtZGFyaztcclxuICBjb2xvcjogJHdoaXRlO1xyXG59XHJcblxyXG4udGhlbWUtYmx1ZWRhcmtncmF5IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWYyYjNlO1xyXG4gIGNvbG9yOiAkd2hpdGU7XHJcbn0iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFDQUEsQUFBQSxpQkFBaUIsQ0FBQztFQUNoQixRQUFRLEVBQUUsUUFBUSxHQUNuQjs7QUFFRCxBQUFBLGlCQUFpQixBQUFBLE1BQU0sQ0FBQztFQUFFLE9BQU8sRUFBRSxJQUFJLEdBQUk7O0FBRTNDLEFBQUEsa0JBQWtCLENBQUM7RUFDakIsUUFBUSxFQUFFLE1BQU07RUFDaEIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsTUFBTSxFQUFFLElBQUksR0FDYjs7QUFFRCxBQUFBLGdCQUFnQixDQUFDO0VBQ2YsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSSxHQUNiOztBQUVELGVBQWU7QUFFZixBQUFBLGlCQUFpQixBQUFBLGFBQWEsQ0FBQztFQUM3QiwyQkFBMkIsRUFBRSxXQUFXO0VBQ3hDLG1CQUFtQixFQUFFLElBQUk7RUFDdEIsZ0JBQWdCLEVBQUUsSUFBSTtFQUNyQixlQUFlLEVBQUUsSUFBSTtFQUNqQixXQUFXLEVBQUUsSUFBSSxHQUMxQjs7QUFFRCxBQUFBLGlCQUFpQixBQUFBLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQztFQUNoRCxNQUFNLEVBQUUsSUFBSTtFQUNaLE1BQU0sRUFBRSxZQUFZO0VBQ3BCLE1BQU0sRUFBRSxJQUFJLEdBQ2I7O0FBRUQsQUFBQSxpQkFBaUIsQUFBQSxhQUFhLENBQUMsa0JBQWtCLEFBQUEsZ0JBQWdCLENBQUM7RUFDaEUsTUFBTSxFQUFFLGdCQUFnQjtFQUN4QixNQUFNLEVBQUUsUUFBUSxHQUNqQjs7QUFFRCwrQkFBK0I7QUFFL0IsQUFBQSxnQkFBZ0IsQ0FBQztFQUNmLFFBQVEsRUFBRSxRQUFRO0VBRWxCLFVBQVUsRUFBRSxXQUFXO0VBQ3ZCLE1BQU0sRUFBRSxJQUFJO0VBQ1osS0FBSyxFQUFFLElBQUksR0FDWjs7QUFFRCxBQUFBLGdCQUFnQixBQUFBLE1BQU0sQ0FBQztFQUVyQixVQUFVLEVBQUUsV0FBVztFQUN2QixNQUFNLEVBQUUsT0FBTyxHQUNoQjs7QUFFRCxBQUFBLGdCQUFnQixBQUFBLE1BQU0sQ0FBQztFQUNyQixPQUFPLEVBQUUsSUFBSTtFQUNiLFVBQVUsRUFBRSxjQUFjLEdBQzNCOztBQUVELEFBQUEsZ0JBQWdCLEFBQUEsT0FBTyxDQUFDO0VBQ3RCLE9BQU8sRUFBRSxHQUFHLEdBQ2I7O0FBRUQsQUFBQSxnQkFBZ0IsQUFBQSxTQUFTLENBQUM7RUFDeEIsT0FBTyxFQUFFLEdBQUc7RUFDWixNQUFNLEVBQUUsSUFBSTtFQUNaLG1FQUFtRTtFQUNuRSxjQUFjLEVBQUUsSUFBSSxHQUNyQjs7QUFFRCxBQUFBLHFCQUFxQixDQUFDO0VBQ3BCLElBQUksRUFBRSxZQUFZLEdBQ25COztBQUVELHFDQUFxQztBQUVyQyxBQUFBLDBCQUEwQixDQUFDO0VBQ3pCLEdBQUcsRUFBRSxHQUFHO0VBS1IsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUVaLHVCQUF1QjtFQUN2QixTQUFTLEVBQUUsZ0JBQWdCLEdBQzVCOztBQUVELEFBQUEsMEJBQTBCLEFBQUEsU0FBUyxDQUFDO0VBQUUsSUFBSSxFQUFFLElBQUksR0FBSTs7QUFDcEQsQUFBQSwwQkFBMEIsQUFBQSxLQUFLLENBQUM7RUFBRSxLQUFLLEVBQUUsSUFBSSxHQUFJOztBQUNqRCxtQkFBbUI7QUFDbkIsQUFBQSxhQUFhLENBQUMsMEJBQTBCLEFBQUEsU0FBUyxDQUFDO0VBQ2hELElBQUksRUFBRSxJQUFJO0VBQ1YsS0FBSyxFQUFFLElBQUksR0FDWjs7QUFDRCxBQUFBLGFBQWEsQ0FBQywwQkFBMEIsQUFBQSxLQUFLLENBQUM7RUFDNUMsS0FBSyxFQUFFLElBQUk7RUFDWCxJQUFJLEVBQUUsSUFBSSxHQUNYOztBQUVELEFBQUEsMEJBQTBCLENBQUMscUJBQXFCLENBQUM7RUFDL0MsUUFBUSxFQUFFLFFBQVE7RUFDbEIsSUFBSSxFQUFFLEdBQUc7RUFDVCxHQUFHLEVBQUUsR0FBRztFQUNSLEtBQUssRUFBRSxHQUFHO0VBQ1YsTUFBTSxFQUFFLEdBQUcsR0FDWjs7QUFFRCx5QkFBeUI7QUFFekIsQUFBQSxtQkFBbUIsQ0FBQztFQUNsQixRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxLQUFLO0VBQ2IsT0FBTyxFQUFFLENBQUM7RUFDVixNQUFNLEVBQUUsQ0FBQztFQUNULFVBQVUsRUFBRSxJQUFJO0VBQ2hCLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLFdBQVcsRUFBRSxDQUFDLEdBQ2Y7O0FBRUQsQUFBQSxhQUFhLENBQUMsbUJBQW1CLENBQUM7RUFBRSxTQUFTLEVBQUUsR0FBRyxHQUFJOztBQUV0RCxBQUFBLG1CQUFtQixDQUFDLElBQUksQ0FBQztFQUN2QixPQUFPLEVBQUUsWUFBWTtFQUNyQixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osTUFBTSxFQUFFLEtBQUs7RUFDYixVQUFVLEVBQUUsSUFBSTtFQUNoQixhQUFhLEVBQUUsR0FBRztFQUNsQixPQUFPLEVBQUUsSUFBSTtFQUNiLE1BQU0sRUFBRSxPQUFPLEdBQ2hCOztBQUVELEFBQUEsbUJBQW1CLENBQUMsSUFBSSxBQUFBLFlBQVksQ0FBQztFQUNuQyxPQUFPLEVBQUUsQ0FBQyxHQUNYOztBRW9FRDs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBa0JFO0FDaE9GLFVBQVU7RUFDUixXQUFXLEVBQUUsZUFBZTtFQUM1QixHQUFHLEVBQUUsc0NBQXNDO0VBQzNDLEdBQUcsRUFBRSxzQkFBc0IsRUFDM0Isd0NBQXdDLENBQUMsZUFBZSxFQUN4RCx1Q0FBdUMsQ0FBQyxjQUFjLEVBQ3RELHNDQUFzQyxDQUFDLGtCQUFrQixFQUN6RCxzQ0FBc0MsQ0FBQyxhQUFhO0VBQ3BELFdBQVcsRUFBRSxNQUFNO0VBQ25CLFVBQVUsRUFBRSxNQUFNOztBQUdwQixVQUFVO0VBQ1IsV0FBVyxFQUFFLGVBQWU7RUFDNUIsR0FBRyxFQUFFLHlDQUF5QztFQUM5QyxHQUFHLEVBQUUsc0JBQXNCLEVBQzNCLDJDQUEyQyxDQUFDLGVBQWUsRUFDM0QsMENBQTBDLENBQUMsY0FBYyxFQUN6RCx5Q0FBeUMsQ0FBQyxrQkFBa0IsRUFDNUQseUNBQXlDLENBQUMsYUFBYTtFQUN2RCxXQUFXLEVBQUUsSUFBSTtFQUNqQixVQUFVLEVBQUUsTUFBTTs7QUNyQnBCLEFBQUEsT0FBTyxDQUFDO0VBQ04sT0FBTyxFQUFFLFlBQVk7RUFDckIsY0FBYyxFQUFFLEdBQUc7RUFDbkIsS0FBSyxFQUFFLElBQUk7RUFDWCxlQUFlLEVBQUUsSUFBSTtFQUNyQixPQUFPLEVBQUUsQ0FBQztFQUNWLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDSERILE9BQU87RUdFckIsVUFBVSxFSEZJLE9BQU87RUdHckIsV0FBVyxFQUFFLElBQUk7RUFDakIsY0FBYyxFQUFFLFNBQVM7RUFDekIsU0FBUyxFQUFFLElBQUk7RUFDZixNQUFNLEVBQUUsSUFBSTtFQUNaLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLE9BQU8sRUFBRSxNQUFNO0VBQ2YsYUFBYSxFQUFFLEdBQUc7RUFDbEIsVUFBVSxFQUFFLGdCQUFnQixDSERULEtBQUssQ0dDeUIsSUFBSSxFQUFFLFNBQVMsQ0hEN0MsS0FBSyxDR0M2RCxJQUFJO0VBQ3pGLFdBQVcsRUFBRSwyQkFBMkI7RUFDeEMsU0FBUyxFQUFFLFFBQVEsR0FXcEI7RUE1QkQsQUFvQkUsT0FwQkssQUFvQkosTUFBTSxFQXBCVCxPQUFPLEFBb0JLLE1BQU0sQ0FBQztJQUVmLFNBQVMsRUFBRSxXQUFXLEdBQ3ZCOztBQU9ILEFBQUEsZUFBZSxDQUFDO0VBQ2QsUUFBUSxFQUFFLFFBQVEsR0FrQ25CO0VGZ0ljLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJRW5LdkMsQUFBQSxlQUFlLENBQUM7TUFJWixLQUFLLEVBQUUsSUFBSSxHQStCZDtFRmdJYyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7SUVuS3ZDLEFBT0UsZUFQYSxDQU9iLFlBQVksQ0FBQztNQUVULEtBQUssRUFBRSxJQUFJLEdBeUJkO0VBbENILEFBY1EsZUFkTyxDQU9iLFlBQVksQUFLVCxnQkFBZ0IsQ0FDZixPQUFPLEFBQ0osSUFBSyxDQUFBLGNBQWMsRUFBRTtJQUNwQixTQUFTLEVBQUUsS0FBSztJQUNoQixVQUFVLEVBQUUsTUFBTSxHQU9uQjtJRjRJTSxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7TUVuS3ZDLEFBY1EsZUFkTyxDQU9iLFlBQVksQUFLVCxnQkFBZ0IsQ0FDZixPQUFPLEFBQ0osSUFBSyxDQUFBLGNBQWMsRUFBRTtRQUtsQixTQUFTLEVBQUUsS0FBSztRQUNoQixLQUFLLEVBQUUsSUFBSTtRQUNYLFNBQVMsRUFBRSxHQUFHLEdBRWpCO0VBdkJULEFBMkJJLGVBM0JXLENBT2IsWUFBWSxBQW9CVCxVQUFXLENBQUEsR0FBRyxFQUFFO0lBQ2YsVUFBVSxFQUFFLElBQUksR0FDakI7RUE3QkwsQUErQkksZUEvQlcsQ0FPYixZQUFZLEFBd0JULFlBQVksQ0FBQztJQUNaLFVBQVUsRUFBRSxJQUFJLEdBQ2pCOztBQUlMLEFBQUEsYUFBYSxDQUFDO0VBQ1osT0FBTyxFQUFFLEtBQUs7RUFDZCxLQUFLLEVBQUUsWUFBWTtFQUNuQixNQUFNLEVBQUUsSUFBSTtFQUNaLEtBQUssRUFBRSxJQUFJLEdBYVo7RUFqQkQsQUFLRSxhQUxXLEFBS1YsTUFBTSxFQUxULGFBQWEsQUFLRCxNQUFNLENBQUM7SUFDZixLQUFLLEVIcEVPLE9BQU8sR0dxRXBCO0VBUEgsQUFRRSxhQVJXLEFBUVYsT0FBTyxDQUFDO0lBQ1AsS0FBSyxFQUFFLElBQUksR0FDWjtFQVZILEFBV0UsYUFYVyxDQVdYLEdBQUcsQ0FBQztJQUNGLElBQUksRUFBRSxZQUFZO0lBQ2xCLE1BQU0sRUFBRSxJQUFJO0lBQ1osS0FBSyxFQUFFLElBQUk7SUFDWCxPQUFPLEVBQUUsS0FBSyxHQUNmOztBQUlILEFBQUEsT0FBTyxDQUFDO0VBQ04sY0FBYyxFQUFFLElBQUk7RUFDcEIsTUFBTSxFQUFFLE9BQU87RUFDZixRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsWUFBWTtFQUNyQixVQUFVLEVBQUUsT0FBMkIsR0FDeEM7O0FBRUQsQUFBQSxPQUFPLEFBQUEsUUFBUTtBQUNmLE9BQU8sQUFBQSxPQUFPLENBQUM7RUFDYixRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsQ0FBQztFQUNOLElBQUksRUFBRSxDQUFDO0VBQ1AsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSSxHQUNiOztBQUVELEFBQUEsY0FBYyxDQUFDO0VBQ2IsVUFBVSxFQUFFLE9BQTJCO0VBQ3ZDLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDSHJHSCxPQUFPO0VHc0dyQixLQUFLLEVIekdDLElBQUk7RUNTVixrQkFBa0IsRUVrR08sR0FBRyxDQUFFLElBQUksQ0FBRSxRQUFRO0VGakc1QyxlQUFlLEVFaUdVLEdBQUcsQ0FBRSxJQUFJLENBQUUsUUFBUTtFRmhHNUMsY0FBYyxFRWdHVyxHQUFHLENBQUUsSUFBSSxDQUFFLFFBQVE7RUYvRjVDLGFBQWEsRUUrRlksR0FBRyxDQUFFLElBQUksQ0FBRSxRQUFRO0VGOUY1QyxVQUFVLEVFOEZlLEdBQUcsQ0FBRSxJQUFJLENBQUUsUUFBUSxHQUs3QztFQVZELEFBT0UsY0FQWSxBQU9YLE1BQU0sQ0FBQztJQUNOLEtBQUssRUgvR0QsSUFBSSxHR2dIVDs7QUFHSCxBQUFBLGlCQUFpQixDQUFDO0VBQ2hCLFFBQVEsRUFBRSxNQUFNLEdBQ2pCOztBQUVELEFBQUEsaUJBQWlCLENBQUMsSUFBSSxDQUFDO0VBQ3JCLE9BQU8sRUFBRSxLQUFLO0VBQ2QsUUFBUSxFQUFFLFFBQVEsR0FDbkI7O0FBRUQsQUFBQSxpQkFBaUIsR0FBRyxJQUFJLENBQUM7RUFDdkIsUUFBUSxFQUFFLE1BQU0sR0FDakI7O0FBRUQsQUFBQSxpQkFBaUIsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDO0VBQzlCLFFBQVEsRUFBRSxNQUFNLEdBRWpCOztBQU1ELFVBQVUsQ0FBVixhQUFVO0VBQ1IsRUFBRTtJQUNBLFNBQVMsRUFBRSx3QkFBc0I7O0FBSXJDLFVBQVUsQ0FBVixTQUFVO0VBQ1IsSUFBSTtJQUNGLFNBQVMsRUFBRSx1QkFBcUI7RUFFbEMsRUFBRTtJQUNBLFNBQVMsRUFBRSxvQkFBa0I7O0FBSWpDLEFBQUEsaUJBQWlCLEFBQUEsUUFBUSxDQUFDO0VBQ3hCLE9BQU8sRUFBRSxFQUFFO0VBQ1gsVUFBVSxFSHRKSSxPQUFPO0VHdUpyQixVQUFVLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyw0QkFBNEI7RUFDdkQsZ0JBQWdCLEVBQUUsUUFBUSxHQUMzQjs7QUFFRCxBQUFBLGlCQUFpQixBQUFBLE1BQU0sQUFBQSxRQUFRLENBQUM7RUFDOUIsU0FBUyxFQUFFLGdCQUFjO0VBQ3pCLGdCQUFnQixFQUFFLE1BQU0sR0FDekI7O0FBR0QsQUFFSSxpQkFGYSxBQUNkLGNBQWMsQUFDWixPQUFPLENBQUM7RUFDUCxVQUFVLEVIeEtSLElBQUksR0d5S1A7O0FDMUtMLEFBQUEsS0FBSyxDQUFDO0VBQ0YsT0FBTyxFQUFFLFlBQVk7RUFDckIsY0FBYyxFQUFFLE1BQU07RUFDdEIsS0FBSyxFSnNCRyxJQUFJO0VJckJaLE1BQU0sRUpxQkUsSUFBSSxHSVpmO0VBYkQsQUFLSSxLQUxDLENBS0QsR0FBRyxDQUFDO0lBQ0EsT0FBTyxFQUFFLEtBQUs7SUFDZCxJQUFJLEVBQUUsWUFBWTtJQUNsQixNQUFNLEVKaUJGLElBQUk7SUloQlIsV0FBVyxFQUFFLElBQWdCO0lBQzdCLEtBQUssRUFBRSxJQUFJO0lBQ1gsU0FBUyxFQUFFLElBQUksR0FDbEI7O0FBR0wsQUFBQSxhQUFhLENBQUM7RUFDVixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFnQixHQVMzQjtFQVhELEFBR0ksYUFIUyxDQUdULEdBQUcsQ0FBQztJQUNBLE9BQU8sRUFBRSxLQUFLO0lBQ2QsSUFBSSxFQUFFLFlBQVk7SUFDbEIsTUFBTSxFQUFFLElBQWdCO0lBQ3hCLFdBQVcsRUFBRSxJQUFnQjtJQUM3QixLQUFLLEVBQUUsSUFBSTtJQUNYLFNBQVMsRUFBRSxJQUFJLEdBQ2xCOztBQUdMLEFBQUEsS0FBSyxDQUFDO0VBQ0YsT0FBTyxFQUFFLFlBQVk7RUFDckIsY0FBYyxFQUFFLE1BQU07RUFDdEIsS0FBSyxFSkxJLElBQUk7RUlNYixNQUFNLEVKTEksSUFBSSxHSWFqQjtFQVpELEFBS0ksS0FMQyxDQUtELEdBQUcsQ0FBQztJQUNBLE9BQU8sRUFBRSxLQUFLO0lBQ2QsTUFBTSxFQUFFLElBQWtCO0lBQzFCLFdBQVcsRUpUTCxJQUFJO0lJVVYsS0FBSyxFQUFFLElBQUk7SUFDWCxTQUFTLEVBQUUsSUFBSSxHQUNsQjs7QUFHTCxBQUFBLFFBQVEsQ0FBQztFQUNMLE9BQU8sRUFBRSxLQUFLO0VBQ2QsUUFBUSxFQUFFLEtBQUs7RUFFZixHQUFHLEVBQUUsQ0FBQztFQUNOLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFDWixVQUFVLEVBQUUsV0FBVztFQUN2QixNQUFNLEVBQUUsQ0FBQztFQUNULE9BQU8sRUFBRSxDQUFDO0VBQ1YsTUFBTSxFQUFFLE9BQU87RUFDZixVQUFVLEVBQUUsMEJBQTBCLEdBUXpDO0VIb0ljLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtJR3ZKeEMsQUFBQSxRQUFRLENBQUM7TUFjRCxLQUFLLEVBQUUsSUFBSTtNQUNYLE1BQU0sRUFBRSxJQUFJO01BQ1osTUFBTSxFQUFFLElBQUk7TUFDWixPQUFPLEVBQUUsSUFBSSxHQUVwQjs7QUFDRCxBQUFBLFFBQVEsQUFBQSxNQUFNLENBQUM7RUFDWCxTQUFTLEVBQUUsY0FBYyxHQU81QjtFQVJELEFBR0ksUUFISSxBQUFBLE1BQU0sQUFHVCxNQUFNLEVBSFgsUUFBUSxBQUFBLE1BQU0sQUFJVCxPQUFPLENBQ1I7SUFDSSxZQUFZLEVKL0RKLE9BQU8sR0lnRWxCOztBQUVMLEFBQUEsUUFBUSxBQUFBLE9BQU8sQ0FBQztFQUNaLE9BQU8sRUFBRSxFQUFFO0VBQ1gsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLEtBQUs7RUFDZCxNQUFNLEVBQUUsSUFBSTtFQUNaLElBQUksRUFBRSxDQUFDO0VBQ1AsS0FBSyxFQUFFLENBQUM7RUFDUixHQUFHLEVBQUUsQ0FBQztFQUNOLE1BQU0sRUFBRSxDQUFDO0VBQ1QsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsQ0FBQztFQUNULFVBQVUsRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQW9CO0VBQzFDLFNBQVMsRUFBRSxhQUFhO0VBQ3hCLGdCQUFnQixFQUFFLE1BQU0sR0FLM0I7RUh3R2MsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0lHMUh4QyxBQUFBLFFBQVEsQUFBQSxPQUFPLENBQUM7TUFnQlIsS0FBSyxFQUFFLElBQUksR0FFbEI7O0FBQ0QsQUFBQSxRQUFRLEFBQUEsTUFBTSxDQUFDO0VBQ1gsT0FBTyxFQUFFLEVBQUU7RUFDWCxRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsS0FBSztFQUNkLE1BQU0sRUFBRSxJQUFJO0VBQ1osSUFBSSxFQUFFLENBQUM7RUFDUCxLQUFLLEVBQUUsQ0FBQztFQUNSLEdBQUcsRUFBRSxDQUFDO0VBQ04sTUFBTSxFQUFFLENBQUM7RUFDVCxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxDQUFDO0VBQ1QsVUFBVSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBb0I7RUFDMUMsU0FBUyxFQUFFLGNBQWM7RUFDekIsZ0JBQWdCLEVBQUUsTUFBTSxHQUszQjtFSHFGYyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07SUd2R3hDLEFBQUEsUUFBUSxBQUFBLE1BQU0sQ0FBQztNQWdCUCxLQUFLLEVBQUUsSUFBSSxHQUVsQjs7QUg1Q0Msa0JBQWtCLENBQWxCLGVBQWtCO0VJL0RsQixFQUFFO0lBQ0EsU0FBUyxFQUFFLFVBQVU7SUFDckIsT0FBTyxFQUFFLENBQUM7RUFFWixJQUFJO0lBQ0YsU0FBUyxFQUFFLFFBQVE7SUFDbkIsT0FBTyxFQUFFLENBQUM7O0FKNkRaLGVBQWUsQ0FBZixlQUFlO0VJbkVmLEVBQUU7SUFDQSxTQUFTLEVBQUUsVUFBVTtJQUNyQixPQUFPLEVBQUUsQ0FBQztFQUVaLElBQUk7SUFDRixTQUFTLEVBQUUsUUFBUTtJQUNuQixPQUFPLEVBQUUsQ0FBQzs7QUppRVosYUFBYSxDQUFiLGVBQWE7RUl2RWIsRUFBRTtJQUNBLFNBQVMsRUFBRSxVQUFVO0lBQ3JCLE9BQU8sRUFBRSxDQUFDO0VBRVosSUFBSTtJQUNGLFNBQVMsRUFBRSxRQUFRO0lBQ25CLE9BQU8sRUFBRSxDQUFDOztBSnFFWixVQUFVLENBQVYsZUFBVTtFSTNFVixFQUFFO0lBQ0EsU0FBUyxFQUFFLFVBQVU7SUFDckIsT0FBTyxFQUFFLENBQUM7RUFFWixJQUFJO0lBQ0YsU0FBUyxFQUFFLFFBQVE7SUFDbkIsT0FBTyxFQUFFLENBQUM7O0FBSWQsQUFBQSxrQkFBa0IsQ0FBQztFSnVFakIsaUJBQWlCLEVBQUMsa0ZBQUM7RUFDbkIsY0FBYyxFQUFDLGtGQUFDO0VBQ2hCLFlBQVksRUFBQyxrRkFBQztFQUNkLFNBQVMsRUFBQyxrRkFBQyxHSXRFWjs7QUVmRCxBQUFBLENBQUMsQ0FBQztFQUNBLFVBQVUsRUFBRSxVQUFVLEdBQ3ZCOztBQUNELEFBQUEsSUFBSSxDQUFDO0VBQ0gsUUFBUSxFQUFFLFFBQVE7RUFDbEIsVUFBVSxFQUFFLElBQUk7RUFDaEIsT0FBTyxFQUFFLENBQUM7RUFDVixNQUFNLEVBQUUsQ0FBQyxHQUNWOztBQUVELEFBQUEsSUFBSSxDQUFDO0VBQ0gsV0FBVyxFUEZDLGVBQWUsRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFDcEYsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFDMUUsaUJBQWlCLEVBQUUsa0JBQWtCO0VPQ25DLFNBQVMsRUFBRSxJQUFJO0VBQ2YsV0FBVyxFQUFFLEdBQUc7RUFDaEIsV0FBVyxFQUFFLEtBQUs7RUFDbEIsS0FBSyxFUFhNLElBQUk7RU9ZZixnQkFBZ0IsRVBiTCxJQUFJO0VPY2YsTUFBTSxFQUFFLElBQUk7RUFDWixPQUFPLEVBQUUsQ0FBQztFQUNWLE1BQU0sRUFBRSxDQUFDO0VBQ1QsVUFBVSxFQUFFLE1BQU0sR0FDbkI7O0FBRUQsQUFDRSxDQURELEFBQ0UsTUFBTSxDQUFDO0VBQ04sT0FBTyxFQUFFLElBQUksR0FDZDs7QUFHSCxBQUFBLEVBQUU7QUFDRixFQUFFO0FBQ0YsRUFBRTtBQUNGLEVBQUU7QUFDRixFQUFFO0FBQ0YsRUFBRSxDQUFDO0VBQ0QsV0FBVyxFUDFCQyxlQUFlLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQ3BGLGdCQUFnQixFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQzFFLGlCQUFpQixFQUFFLGtCQUFrQjtFT3lCbkMsV0FBVyxFQUFFLElBQUk7RUFDakIsV0FBVyxFQUFFLEtBQUs7RUFDbEIsVUFBVSxFQUFFLENBQUM7RUFDYixPQUFPLEVBQUUsQ0FBQztFQUNWLGFBQWEsRUFBRSxJQUFJLEdBQ3BCOztBQUVELEFBQUEsRUFBRSxDQUFDO0VBQ0QsV0FBVyxFQUFFLElBQUk7RUFFakIsU0FBUyxFQUFFLElBQUksR0FNaEI7RU42SWMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0lNdEp2QyxBQUFBLEVBQUUsQ0FBQztNQU1DLFNBQVMsRUFBRSxJQUFJO01BQ2YsT0FBTyxFQUFFLE1BQU0sR0FFbEI7O0FBRUQsQUFBQSxFQUFFLENBQUM7RUFDRCxTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLE9BQU8sRUFBRSxDQUFDO0VBQ1YsTUFBTSxFQUFFLFVBQVUsR0FDbkI7O0FBR0Q7Ozs7Ozs7Ozs7RUFVRTtBQUVGLEFBQUEsQ0FBQyxDQUFDO0VBQ0EsU0FBUyxFQUFFLElBQUk7RUFDZixPQUFPLEVBQUUsQ0FBQztFQUNWLE1BQU0sRUFBRSxDQUFDO0VBQ1QsV0FBVyxFQUFFLEdBQUcsR0FLakI7RUFURCxBQU1FLENBTkQsQUFNRSxJQUFLLENBQUEsV0FBVyxFQUFFO0lBQ2pCLGFBQWEsRUFBRSxJQUFJLEdBQ3BCOztBQUdILEFBQUEsR0FBRyxDQUFDO0VBQ0YsT0FBTyxFQUFFLEtBQUs7RUFDZCxTQUFTLEVBQUUsSUFBSTtFQUNmLE1BQU0sRUFBRSxJQUFJO0VBQ1osV0FBVyxFQUFFLElBQUk7RUFDakIsWUFBWSxFQUFFLElBQUksR0FDbkI7O0FBRUQsQUFBQSxTQUFTLENBQUM7RUFDUixPQUFPLEVBQUUsSUFBSSxHQUNkOztBQUVELEFBQUEsV0FBVyxDQUFDO0VBQ1YscUJBQXFCLEVBQUUsSUFBSSxHQUM1Qjs7QUFFRCxBQUFBLFdBQVcsQ0FBQztFQUNWLHFCQUFxQixFQUFFLFNBQVMsR0FDakM7O0FBRUQsQUFBQSxXQUFXLENBQUM7RUFDVixxQkFBcUIsRUFBRSxjQUFjLEdBQ3RDOztBQUVELEFBQUEsV0FBVyxDQUFDO0VBQ1YscUJBQXFCLEVBQUUsbUJBQW1CLEdBQzNDOztBQUVELEFBQUEsZUFBZSxDQUFDO0VBQ2QsT0FBTyxFQUFFLElBQUk7RUFFYixxQkFBcUIsRUFBRSxJQUFJLEdBQzVCOztBQUNELEFBQUEsZUFBZSxDQUFDO0VBQ2QsT0FBTyxFQUFFLElBQUk7RUFFYixxQkFBcUIsRUFBRSxTQUFTLEdBQ2pDOztBQUNELEFBQUEsZUFBZSxDQUFDO0VBQ2QsT0FBTyxFQUFFLElBQUk7RUFFYixxQkFBcUIsRUFBRSxjQUFjLEdBQ3RDOztBQUNELEFBQUEsZUFBZSxDQUFDO0VBQ2QsT0FBTyxFQUFFLElBQUk7RUFFYixxQkFBcUIsRUFBRSxtQkFBbUIsR0FDM0M7O0FBRUQsQUFBQSxZQUFZLENBQUM7RUFDWCxRQUFRLEVBQUUsQ0FBQyxHQUNaOztBTnlEYyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RU12RHZDLEFBRUUsaUJBRmUsQ0FFZixDQUFDLENBQUM7SUFFRSxLQUFLLEVBQUUsSUFBSSxHQUVkOztBQU5ILEFBT0UsaUJBUGUsQ0FPZixrQkFBa0IsQ0FBQztFQUNqQixVQUFVLEVBQUUsSUFBSSxHQUNqQjs7QUFUSCxBQVdFLGlCQVhlLENBV2YsV0FBVyxDQUFDO0VBQ1YscUJBQXFCLEVBQUUsT0FBTyxHQUMvQjs7QUFiSCxBQWVFLGlCQWZlLENBZWYsU0FBUyxDQUFDO0VBRVIsZUFBZSxFQUFFLE1BQU0sR0FLeEI7RU5pQ1ksTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0lNdkR2QyxBQWVFLGlCQWZlLENBZWYsU0FBUyxDQUFDO01BS04scUJBQXFCLEVBQUUsSUFBSSxHQUU5Qjs7QUF0QkgsQUF3QkUsaUJBeEJlLENBd0JmLGNBQWMsQ0FBQztFQUNiLGFBQWEsRUFBRSxJQUFJLEdBVXBCO0VOb0JZLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJTXZEdkMsQUF3QkUsaUJBeEJlLENBd0JmLGNBQWMsQ0FBQztNQUlYLGFBQWEsRUFBRSxDQUFDO01BQ2hCLGNBQWMsRUFBRSxJQUFJLEdBTXZCO01BbkNILEFBK0JNLGlCQS9CVyxDQXdCZixjQUFjLEFBT1QsV0FBVyxDQUFDO1FBQ1gsY0FBYyxFQUFFLEdBQUcsR0FDcEI7O0FBS1AsQUFBQSxnQkFBZ0IsQ0FBQztFQUNmLGdCQUFnQixFUDlLTCxJQUFJO0VPK0tmLEtBQUssRUFBRSxJQUFJO0VBQ1gsVUFBVSxFQUFFLE1BQU0sR0FDbkI7O0FBRUQsQUFBQSxpQkFBaUIsQ0FBQTtFQUNmLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLE1BQU0sRUFBRSxJQUFJLEdBQ2I7O0FBRUQsQUFBQSxnQkFBZ0IsQ0FBQztFQUNmLGtCQUFrQixFQUFFLElBQUk7RUFDeEIsZUFBZSxFQUFFLElBQUk7RUFDckIsY0FBYyxFQUFFLElBQUk7RUFDcEIsVUFBVSxFQUFFLElBQUksR0FDakI7O0FBRUQsQUFBQSxLQUFLLENBQUM7RUFDSixPQUFPLEVBQUUsZUFBZSxHQUN6Qjs7QUFFRCxBQUFBLFVBQVUsQ0FBQztFQUNULEtBQUssRUFBRSxJQUFJO0VBQ1gsU0FBUyxFQUFFLE1BQXlDO0VBQ3BELFdBQVcsRUFBRSxJQUFJO0VBQ2pCLFlBQVksRUFBRSxJQUFJO0VBQ2xCLFlBQVksRVAzTE0sSUFBSTtFTzRMdEIsYUFBYSxFUDVMSyxJQUFJLEdPNkx2Qjs7QUFDRCxBQUFBLGdCQUFnQixDQUFDO0VBQ2YsS0FBSyxFQUFFLElBQUk7RUFDWCxTQUFTLEVBQUUsTUFBK0M7RUFDMUQsV0FBVyxFQUFFLElBQUk7RUFDakIsWUFBWSxFQUFFLElBQUk7RUFDbEIsWUFBWSxFUG5NTSxJQUFJO0VPb010QixhQUFhLEVQcE1LLElBQUksR09xTXZCOztBQUNELEFBQUEsa0JBQWtCLENBQUM7RUFDakIsS0FBSyxFQUFFLElBQUk7RUFDWCxTQUFTLEVBQUUsTUFBaUQ7RUFDNUQsV0FBVyxFQUFFLElBQUk7RUFDakIsWUFBWSxFQUFFLElBQUk7RUFDbEIsWUFBWSxFUDNNTSxJQUFJO0VPNE10QixhQUFhLEVQNU1LLElBQUksR082TXZCOztBQUVELEFBQUEsU0FBUyxBQUFBLE1BQU0sQ0FBQztFQUNkLE9BQU8sRUFBRSxFQUFFO0VBQ1gsT0FBTyxFQUFFLEtBQUs7RUFDZCxLQUFLLEVBQUUsSUFBSSxHQUNaOztBQUVELEFBQUEsV0FBVyxDQUFDO0VBQ1YsS0FBSyxFQUFFLElBQUksR0FDWjs7QUFDRCxBQUFBLFlBQVksQ0FBQztFQUNYLEtBQUssRUFBRSxLQUFLLEdBQ2I7O0FBRUQsQUFBQSxVQUFVLENBQUM7RUFDVCxVQUFVLEVBQUUsSUFBSSxHQUNqQjs7QUFDRCxBQUFBLFdBQVcsQ0FBQztFQUNWLFVBQVUsRUFBRSxLQUFLLEdBQ2xCOztBQUNELEFBQUEsWUFBWSxDQUFDO0VBQ1gsVUFBVSxFQUFFLE1BQU0sR0FDbkI7O0FBRUQsQUFBQSxTQUFTLENBQUM7RUFDUixRQUFRLEVBQUUsUUFBUSxHQUNuQjs7QUFDRCxBQUFBLGFBQWEsQ0FBQztFQUNaLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLGNBQWMsRUFBRSxHQUFHLEdBQ3BCOztBQUVELEFBQUEsWUFBWSxDQUFDO0VBQ1gsV0FBVyxFQUFFLEtBQUssR0FDbkI7O0FBQ0QsQUFBQSxlQUFlLENBQUM7RUFDZCxXQUFXLEVBQUUsR0FBRyxHQUNqQjs7QUFFRCxBQUFBLGVBQWUsQ0FBQztFQUNkLGNBQWMsRUFBRSxLQUFLLEdBQ3RCOztBQUNELEFBQUEsa0JBQWtCLENBQUM7RUFDakIsY0FBYyxFQUFFLEdBQUcsR0FDcEI7O0FBRUQsQUFBQSxpQkFBaUIsQ0FBQztFQUNoQixZQUFZLEVBQUUsWUFBWTtFQUMxQixhQUFhLEVBQUUsWUFBWSxHQUM1Qjs7QUFFRCxBQUFBLGlCQUFpQixDQUFDO0VBQ2hCLGFBQWEsRUFBRSxZQUFZLEdBQzVCOztBQUVELEFBQUEsZ0JBQWdCLENBQUM7RUFDZixLQUFLLEVBQUUsSUFBSTtFQUNYLFVBQVUsRUFBRSxPQUFPLEdBQ3BCOztBQUNELEFBQUEsV0FBVyxDQUFDO0VBQ1YsS0FBSyxFQUFFLElBQUk7RUFDWCxVQUFVLEVBQUUsT0FBTyxHQUNwQjs7QUFFRCxBQUNFLE9BREssQUFDSixlQUFlLENBQUM7RUFDZixXQUFXLEVBQUUsQ0FBQyxHQUNmOztBTmpHWSxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RU04RnZDLEFBSUUsT0FKSyxBQUlKLHNCQUFzQixDQUFDO0lBRXBCLFdBQVcsRUFBRSxDQUFDLEdBRWpCOztBQVJILEFBVUUsT0FWSyxBQVVKLGtCQUFrQixDQUFDO0VBQ2xCLGNBQWMsRUFBRSxDQUFDLEdBQ2xCOztBTjFHWSxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RU04RnZDLEFBYUUsT0FiSyxBQWFKLHlCQUF5QixDQUFDO0lBRXZCLGNBQWMsRUFBRSxDQUFDLEdBRXBCOztBTi9HWSxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RU04RnZDLEFBcUJNLE9BckJDLEFBbUJKLFlBQVksQ0FDWCxtQkFBbUIsQ0FDakIsR0FBRyxDQUFDO0lBRUEsTUFBTSxFQUFFLEdBQUcsR0FFZDs7QUFJUDs7Ozs7OztFQU9FO0FBQ0YsQUFBQSxtQkFBbUIsQ0FBQztFQUNsQixPQUFPLEVBQUUsS0FBSztFQUNkLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLElBQUksRUFBRSxDQUFDO0VBQ1AsR0FBRyxFQUFFLENBQUM7RUFDTixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osT0FBTyxFQUFFLEVBQUU7RUFDYjs7Ozs7Ozs7Ozs7OztFQWFFLEVBd0JEO0VBN0NELEFBc0JFLG1CQXRCaUIsQ0FzQmpCLEdBQUcsRUF0QkwsbUJBQW1CLENBc0JaLEtBQUssQ0FBQztJQUNULE9BQU8sRUFBRSxLQUFLO0lBQ2QsUUFBUSxFQUFFLFFBQVE7SUFDbEIsSUFBSSxFQUFFLENBQUM7SUFDUCxHQUFHLEVBQUUsQ0FBQztJQUNOLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLElBQUk7SUFDWixVQUFVLEVBQUUsS0FBSztJQUNqQixlQUFlLEVBQUUsTUFBTSxHQUN4QjtFQS9CSCxBQWtDSSxtQkFsQ2UsQUFpQ2hCLGVBQWUsQUFDYixNQUFNLENBQUM7SUFDTixPQUFPLEVBQUUsRUFBRTtJQUNYLE9BQU8sRUFBRSxLQUFLO0lBQ2QsUUFBUSxFQUFFLFFBQVE7SUFDbEIsR0FBRyxFQUFFLENBQUM7SUFDTixJQUFJLEVBQUUsQ0FBQztJQUNQLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLElBQUk7SUFDWixnQkFBZ0IsRUFBTyxrQkFBSSxHQUM1Qjs7QUFJTCxBQUFBLHlCQUF5QixDQUFDO0VBQ3hCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxDQUFDO0VBQ04sSUFBSSxFQUFFLENBQUM7RUFDUCxLQUFLLEVBQUUsS0FBSztFQUNaLE1BQU0sRUFBRSxLQUFLO0VBQ2IsVUFBVSxFQUFFLEtBQUs7RUFDakIsZUFBZSxFQUFFLE1BQU07RUFDdkIsT0FBTyxFQUFFLEVBQUUsR0FDWjs7QUFFRCxBQUFBLE9BQU8sQ0FBQztFQUNOLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FBS0QsQUFBQSxLQUFLLENBQUM7RUFDSixLQUFLLEVQbFlTLE9BQU87RU9tWXJCLGVBQWUsRUFBRSxTQUFTO0VBQzFCLE1BQU0sRUFBRSxPQUFPLEdBU2hCO0VBWkQsQUFJRSxLQUpHLEFBSUYsTUFBTSxFQUpULEtBQUssQUFJTyxNQUFNLENBQUM7SUFDZixLQUFLLEVBQUUsT0FBMEI7SUFDakMsZUFBZSxFQUFFLElBQUksR0FDdEI7RUFQSCxBQVFFLEtBUkcsQUFRRixPQUFPLENBQUM7SUFDUCxLQUFLLEVBQUUsSUFBSTtJQUNYLGVBQWUsRUFBRSxJQUFJLEdBQ3RCOztBQUVIOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBNEJFO0FBQ0YsQUFBQSxXQUFXLENBQUM7RUFDVixXQUFXLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsa0JBQWUsR0FDMUM7O0FBRUQsQUFBQSxPQUFPLENBQUM7RUFDTixRQUFRLEVBQUUsS0FBSztFQUNmLEdBQUcsRUFBRSxDQUFDO0VBQ04sSUFBSSxFQUFFLENBQUM7RUFDUCxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osVUFBVSxFQUFFLGtCQUFlO0VBQzNCLE9BQU8sRUFBRSxFQUFFO0VBQ1gsVUFBVSxFQUFFLE1BQU07RUFDbEIsT0FBTyxFQUFFLENBQUM7RU5sYlYsa0JBQWtCLEVNbWJPLEdBQUcsQ0FBRSxJQUFJLENBQUUsUUFBUTtFTmxiNUMsZUFBZSxFTWtiVSxHQUFHLENBQUUsSUFBSSxDQUFFLFFBQVE7RU5qYjVDLGNBQWMsRU1pYlcsR0FBRyxDQUFFLElBQUksQ0FBRSxRQUFRO0VOaGI1QyxhQUFhLEVNZ2JZLEdBQUcsQ0FBRSxJQUFJLENBQUUsUUFBUTtFTi9hNUMsVUFBVSxFTSthZSxHQUFHLENBQUUsSUFBSSxDQUFFLFFBQVEsR0FDN0M7O0FBRUQsQUFBQSxZQUFZLENBQUM7RUFDWCxPQUFPLEVBQUUsZUFBZSxHQUt6QjtFTnRRYyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7SU1nUXZDLEFBQUEsWUFBWSxDQUFDO01BSVQsT0FBTyxFQUFFLHVCQUF1QixHQUVuQzs7QUFFRCxBQUtJLElBTEEsQUFJRCxhQUFhLENBQ1osY0FBYyxDQUFDO0VBQ2IsT0FBTyxFQUFFLElBQUksR0FDZDs7QUFQTCxBQVdNLElBWEYsQUFTRCxhQUFhLENBQ1osT0FBTyxBQUNKLElBQUssQ0FBQSxjQUFjLEVBQUU7RUFDcEIsT0FBTyxFQUFFLElBQUksR0FDZDs7QUFiUCxBQWlCSSxJQWpCQSxBQWdCRCxlQUFlLENBQ2QsY0FBYyxDQUFDO0VBQ2IsT0FBTyxFQUFFLENBQUMsR0FDWDs7QUFuQkwsQUFxQkUsSUFyQkUsQUFxQkQsWUFBWSxDQUFDO0VBQ1osUUFBUSxFQUFFLE1BQU0sR0FDakI7O0FBSUgsQUFBQSxrQkFBa0IsQ0FBQztFQUNqQixZQUFZLEVBQUUsS0FBSyxDQUFBLFVBQVcsR0FDL0I7O0FDdGVELEFBQUEsVUFBVSxDQUFDO0VBQ1AsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLEdBQUc7RUFDUixJQUFJLEVBQUUsQ0FBQztFQUNQLEtBQUssRUFBRSxDQUFDO0VBQ1IsT0FBTyxFQUFFLElBQUk7RUFDYixlQUFlLEVBQUUsTUFBTTtFQUN2QixPQUFPLEVBQUUsRUFBRSxHQUNkOztBQUVEOzs7Ozs7RUFNRTtBQUVGOzs7O0dBSUc7QUFDSCxBQUFBLGFBQWE7QUFDYixhQUFhLEdBQUcsR0FBRyxDQUFDO0VBQ2hCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLGtCQUFrQixFQUFFLFVBQVU7RUFDM0IsZUFBZSxFQUFFLFVBQVU7RUFDdEIsVUFBVSxFQUFFLFVBQVUsR0FDakM7O0FBQ0QsQUFBQSxhQUFhLENBQUM7RUFDVixPQUFPLEVBQUUsS0FBSztFQUNkLFNBQVMsRUFBRSxDQUFDO0VBQ1osS0FBSyxFQUFFLElBQUksR0FDZDs7QUFDRCxBQUFBLGFBQWEsQUFBQSxRQUFRLENBQUM7RUFDbEIsS0FBSyxFQUFFLElBQUksR0FDZDs7QUFDRCxBQUFBLGFBQWEsR0FBRyxHQUFHLENBQUM7RUFDaEIsT0FBTyxFQUFFLFlBQVk7RUFDckIsS0FBSyxFQUFFLElBQUk7RUFDWCxnQkFBZ0IsRUFBRSxZQUFZO0VBQzlCLE1BQU0sRUFBRSxvQkFBb0IsR0FDL0I7O0FBQ0QsQUFBQSxhQUFhLENBQUM7RUFDVixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJLEdBQ2Y7O0FBQ0QsQUFBQSxhQUFhLEdBQUcsR0FBRyxDQUFDO0VBQ2hCLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFDWixNQUFNLEVBQUUsR0FBRztFQUNYLGFBQWEsRUFBRSxJQUFJO0VBQ25CLE9BQU8sRUFBRSxDQUFDO0VBQ1YsaUJBQWlCLEVBQUUsbUNBQW1DO0VBQ25ELGNBQWMsRUFBRSxtQ0FBbUM7RUFDakQsWUFBWSxFQUFFLG1DQUFtQztFQUM5QyxTQUFTLEVBQUUsbUNBQW1DLEdBQ3pEOztBQUNELEFBQUEsYUFBYSxHQUFHLEdBQUcsQUFBQSxVQUFXLENBQUEsQ0FBQyxFQUFFO0VBQzdCLHVCQUF1QixFQUFFLE1BQU07RUFDNUIsb0JBQW9CLEVBQUUsTUFBTTtFQUMxQixrQkFBa0IsRUFBRSxNQUFNO0VBQ3ZCLGVBQWUsRUFBRSxNQUFNLEdBQ2xDOztBQUNELEFBQUEsYUFBYSxHQUFHLEdBQUcsQUFBQSxVQUFXLENBQUEsQ0FBQyxFQUFFO0VBQzdCLHVCQUF1QixFQUFFLE1BQU07RUFDNUIsb0JBQW9CLEVBQUUsTUFBTTtFQUMxQixrQkFBa0IsRUFBRSxNQUFNO0VBQ3ZCLGVBQWUsRUFBRSxNQUFNLEdBQ2xDOztBQUNELEFBQUEsYUFBYSxHQUFHLEdBQUcsQUFBQSxVQUFXLENBQUEsQ0FBQyxFQUFFO0VBQzdCLHVCQUF1QixFQUFFLEdBQUc7RUFDekIsb0JBQW9CLEVBQUUsR0FBRztFQUN2QixrQkFBa0IsRUFBRSxHQUFHO0VBQ3BCLGVBQWUsRUFBRSxHQUFHLEdBQy9COztBQUNELEFBQUEsYUFBYSxBQUFBLE1BQU0sQ0FBQztFQUNoQixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxHQUFHLEdBQ2Q7O0FBQ0QsQUFBQSxhQUFhLEFBQUEsTUFBTSxHQUFHLEdBQUcsQ0FBQztFQUN0QixLQUFLLEVBQUUsR0FBRztFQUNWLE1BQU0sRUFBRSxHQUFHO0VBQ1gsTUFBTSxFQUFFLEdBQUcsR0FDZDs7QUFDRCxBQUFBLGFBQWEsQUFBQSxNQUFNLENBQUM7RUFDaEIsS0FBSyxFQUFFLEtBQUs7RUFDWixNQUFNLEVBQUUsSUFBSSxHQUNmOztBQUNELEFBQUEsYUFBYSxBQUFBLE1BQU0sR0FBRyxHQUFHLENBQUM7RUFDdEIsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLE1BQU0sRUFBRSxHQUFHLEdBQ2Q7O0FBQ0QsQUFBQSxhQUFhLEFBQUEsTUFBTSxDQUFDO0VBQ2hCLEtBQUssRUFBRSxLQUFLO0VBQ1osTUFBTSxFQUFFLElBQUksR0FDZjs7QUFDRCxBQUFBLGFBQWEsQUFBQSxNQUFNLEdBQUcsR0FBRyxDQUFDO0VBQ3RCLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFDWixNQUFNLEVBQUUsSUFBSSxHQUNmOztBQUNEOztHQUVHO0FBQ0gsa0JBQWtCLENBQWxCLFNBQWtCO0VBQ2QsRUFBRTtJQUNFLE9BQU8sRUFBRSxDQUFDO0lBQ1YsaUJBQWlCLEVBQUUsaUJBQWlCO0lBQzVCLFNBQVMsRUFBRSxpQkFBaUI7RUFFeEMsR0FBRztJQUNDLE9BQU8sRUFBRSxFQUFFO0VBRWYsR0FBRztJQUNDLE9BQU8sRUFBRSxDQUFDO0lBQ1YsaUJBQWlCLEVBQUUsYUFBYTtJQUN4QixTQUFTLEVBQUUsYUFBYTtFQUVwQyxHQUFHO0lBQ0MsT0FBTyxFQUFFLENBQUM7SUFDVixpQkFBaUIsRUFBRSxhQUFhO0lBQ3hCLFNBQVMsRUFBRSxhQUFhO0VBRXBDLEdBQUc7SUFDQyxPQUFPLEVBQUUsRUFBRTtFQUVmLElBQUk7SUFDQSxPQUFPLEVBQUUsQ0FBQztJQUNWLGlCQUFpQixFQUFFLGdCQUFnQjtJQUMzQixTQUFTLEVBQUUsZ0JBQWdCOztBQUczQyxlQUFlLENBQWYsU0FBZTtFQUNYLEVBQUU7SUFDRSxPQUFPLEVBQUUsQ0FBQztJQUNWLGNBQWMsRUFBRSxpQkFBaUI7SUFDNUIsU0FBUyxFQUFFLGlCQUFpQjtFQUVyQyxHQUFHO0lBQ0MsT0FBTyxFQUFFLEVBQUU7RUFFZixHQUFHO0lBQ0MsT0FBTyxFQUFFLENBQUM7SUFDVixjQUFjLEVBQUUsYUFBYTtJQUN4QixTQUFTLEVBQUUsYUFBYTtFQUVqQyxHQUFHO0lBQ0MsT0FBTyxFQUFFLENBQUM7SUFDVixjQUFjLEVBQUUsYUFBYTtJQUN4QixTQUFTLEVBQUUsYUFBYTtFQUVqQyxHQUFHO0lBQ0MsT0FBTyxFQUFFLEVBQUU7RUFFZixJQUFJO0lBQ0EsT0FBTyxFQUFFLENBQUM7SUFDVixjQUFjLEVBQUUsZ0JBQWdCO0lBQzNCLFNBQVMsRUFBRSxnQkFBZ0I7O0FBR3hDLGFBQWEsQ0FBYixTQUFhO0VBQ1QsRUFBRTtJQUNFLE9BQU8sRUFBRSxDQUFDO0lBQ1YsWUFBWSxFQUFFLGlCQUFpQjtJQUM1QixTQUFTLEVBQUUsaUJBQWlCO0VBRW5DLEdBQUc7SUFDQyxPQUFPLEVBQUUsRUFBRTtFQUVmLEdBQUc7SUFDQyxPQUFPLEVBQUUsQ0FBQztJQUNWLFlBQVksRUFBRSxhQUFhO0lBQ3hCLFNBQVMsRUFBRSxhQUFhO0VBRS9CLEdBQUc7SUFDQyxPQUFPLEVBQUUsQ0FBQztJQUNWLFlBQVksRUFBRSxhQUFhO0lBQ3hCLFNBQVMsRUFBRSxhQUFhO0VBRS9CLEdBQUc7SUFDQyxPQUFPLEVBQUUsRUFBRTtFQUVmLElBQUk7SUFDQSxPQUFPLEVBQUUsQ0FBQztJQUNWLFlBQVksRUFBRSxnQkFBZ0I7SUFDM0IsU0FBUyxFQUFFLGdCQUFnQjs7QUFHdEMsVUFBVSxDQUFWLFNBQVU7RUFDTixFQUFFO0lBQ0UsT0FBTyxFQUFFLENBQUM7SUFDVixpQkFBaUIsRUFBRSxpQkFBaUI7SUFDakMsY0FBYyxFQUFFLGlCQUFpQjtJQUMvQixZQUFZLEVBQUUsaUJBQWlCO0lBQzVCLFNBQVMsRUFBRSxpQkFBaUI7RUFFeEMsR0FBRztJQUNDLE9BQU8sRUFBRSxFQUFFO0VBRWYsR0FBRztJQUNDLE9BQU8sRUFBRSxDQUFDO0lBQ1YsaUJBQWlCLEVBQUUsYUFBYTtJQUM3QixjQUFjLEVBQUUsYUFBYTtJQUMzQixZQUFZLEVBQUUsYUFBYTtJQUN4QixTQUFTLEVBQUUsYUFBYTtFQUVwQyxHQUFHO0lBQ0MsT0FBTyxFQUFFLENBQUM7SUFDVixpQkFBaUIsRUFBRSxhQUFhO0lBQzdCLGNBQWMsRUFBRSxhQUFhO0lBQzNCLFlBQVksRUFBRSxhQUFhO0lBQ3hCLFNBQVMsRUFBRSxhQUFhO0VBRXBDLEdBQUc7SUFDQyxPQUFPLEVBQUUsRUFBRTtFQUVmLElBQUk7SUFDQSxPQUFPLEVBQUUsQ0FBQztJQUNWLGlCQUFpQixFQUFFLGdCQUFnQjtJQUNoQyxjQUFjLEVBQUUsZ0JBQWdCO0lBQzlCLFlBQVksRUFBRSxnQkFBZ0I7SUFDM0IsU0FBUyxFQUFFLGdCQUFnQjs7QUU5TjNDLEFBQUEsaUJBQWlCLENBQUM7RUFDaEIsTUFBTSxFVmtCa0IsSUFBSTtFVWpCNUIsV0FBVyxFVmlCYSxJQUFJO0VVaEI1QixLQUFLLEVBQUUsSUFBSTtFQUNYLGdCQUFnQixFQUFFLE9BQU87RUFDekIsS0FBSyxFQUFFLElBQUk7RUFDWCxXQUFXLEVBQUUsTUFBTSxHQXFCcEI7RUEzQkQsQUFRRSxpQkFSZSxDQVFmLENBQUMsQ0FBQztJQUNBLFdBQVcsRVZVVyxJQUFJO0lVVDFCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLEtBQUssRUFBRSxJQUFJO0lBQ1gsU0FBUyxFQUFFLElBQUksR0FjaEI7SVRxS1ksTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO01TL0x4QyxBQVFFLGlCQVJlLENBUWYsQ0FBQyxDQUFDO1FBT0UsV0FBVyxFVktnQixJQUFJLEdVTWxDO0lUcUtZLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNUy9MdkMsQUFRRSxpQkFSZSxDQVFmLENBQUMsQ0FBQztRQVdFLFNBQVMsRUFBRSxJQUFJLEdBT2xCO0lBMUJILEFBc0JJLGlCQXRCYSxDQVFmLENBQUMsQ0FjQyxDQUFDLENBQUM7TUFDQSxLQUFLLEVBQUUsSUFBSTtNQUNYLGVBQWUsRUFBRSxTQUFTLEdBQzNCOztBQUlMLEFBQUEsc0JBQXNCLENBQUM7RUFDckIsVUFBVSxFQUFFLE1BQU07RUFDbEIsS0FBSyxFQUFFLElBQUksR0FDWjs7QUFJRCxBQUFBLE9BQU8sQ0FBQztFQUNOLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLElBQUksRUFBRSxDQUFDO0VBQ1AsR0FBRyxFQUFFLENBQUM7RUFDTixXQUFXLEVWckJhLElBQUk7RVVzQjVCLEtBQUssRUFBRSxJQUFJO0VBQ1gsT0FBTyxFQUFFLENBQUM7RUFDVixnQkFBZ0IsRUFBRSxXQUFXO0VBQzdCLFVBQVUsRUFBRSxnQkFBZ0IsQ1ZoQ1QsS0FBSyxDVWdDeUIsSUFBSSxFQUFFLFNBQVMsQ1ZoQzdDLEtBQUssQ1VnQzZELElBQUk7RUFDekYsV0FBVyxFQUFFLDJCQUEyQjtFQUN4QyxPQUFPLEVBQUUsR0FBRyxHQVNiO0VBbkJELEFBWUUsT0FaSyxDQVlMLFVBQVUsQ0FBQztJQUNULE9BQU8sRUFBRSxJQUFJO0lBQ2IsY0FBYyxFQUFFLEdBQUc7SUFDbkIsV0FBVyxFQUFFLE1BQU07SUFDbkIsTUFBTSxFVi9CTSxLQUFLO0lVZ0NqQixRQUFRLEVBQUUsUUFBUSxHQUNuQjs7QUFHSCxBQUFBLGNBQWMsQ0FBQztFQUNiLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLFVBQVUsRUFBRSxHQUFHLEdBQ2hCOztBQUNELEFBQUEscUJBQXFCLENBQUM7RUFDcEIsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsVUFBVTtFQUNsQixRQUFRLEVBQUUsUUFBUSxHQU9uQjtFQVZELEFBSUUscUJBSm1CLEFBSWxCLE1BQU0sRUFKVCxxQkFBcUIsQUFJVCxNQUFNLENBQUM7SUFDZixLQUFLLEVWL0RPLE9BQU8sR1VnRXBCO0VBTkgsQUFPRSxxQkFQbUIsQUFPbEIsT0FBTyxDQUFDO0lBQ1AsS0FBSyxFQUFFLFlBQVksR0FDcEI7O0FBR0gsQUFBQSxZQUFZLENBQUM7RUFDWCxPQUFPLEVBQUUsWUFBWTtFQUNyQixjQUFjLEVBQUUsR0FBRztFQUVuQixRQUFRLEVBQUUsUUFBUTtFQUNsQixJQUFJLEVBQUUsR0FBRztFQUNULFNBQVMsRUFBRSxxQkFBcUI7RUFHaEMsT0FBTyxFQUFFLENBQUM7RVR6RVYsa0JBQWtCLEVTMEVPLEdBQUcsQ0FBRSxJQUFJLENBQUUsUUFBUTtFVHpFNUMsZUFBZSxFU3lFVSxHQUFHLENBQUUsSUFBSSxDQUFFLFFBQVE7RVR4RTVDLGNBQWMsRVN3RVcsR0FBRyxDQUFFLElBQUksQ0FBRSxRQUFRO0VUdkU1QyxhQUFhLEVTdUVZLEdBQUcsQ0FBRSxJQUFJLENBQUUsUUFBUTtFVHRFNUMsVUFBVSxFU3NFZSxHQUFHLENBQUUsSUFBSSxDQUFFLFFBQVEsR0FtQjdDO0VBN0JELEFBWUUsWUFaVSxDQVlWLENBQUMsQ0FBQztJQUNBLE9BQU8sRUFBRSxLQUFLO0lBQ2QsTUFBTSxFQUFFLElBQUksR0FNYjtJQXBCSCxBQWVJLFlBZlEsQ0FZVixDQUFDLENBR0MsR0FBRyxDQUFDO01BQ0YsTUFBTSxFQUFFLElBQUk7TUFDWixLQUFLLEVBQUUsSUFBSTtNVGpGZixrQkFBa0IsRVNrRlcsR0FBRyxDQUFFLElBQUksQ0FBRSxRQUFRO01UakZoRCxlQUFlLEVTaUZjLEdBQUcsQ0FBRSxJQUFJLENBQUUsUUFBUTtNVGhGaEQsY0FBYyxFU2dGZSxHQUFHLENBQUUsSUFBSSxDQUFFLFFBQVE7TVQvRWhELGFBQWEsRVMrRWdCLEdBQUcsQ0FBRSxJQUFJLENBQUUsUUFBUTtNVDlFaEQsVUFBVSxFUzhFbUIsR0FBRyxDQUFFLElBQUksQ0FBRSxRQUFRLEdBQzdDO0VBbkJMLEFBd0JNLFlBeEJNLEFBc0JULE1BQU0sQ0FDTCxDQUFDLENBQ0MsR0FBRyxDQUFDO0lBQ0YsU0FBUyxFQUFFLFVBQVUsR0FDdEI7O0FBS1AsQUFBQSxnQkFBZ0IsQ0FBQztFQUNmLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLE9BQU8sRUFBRSxLQUFLO0VBQ2QsT0FBTyxFQUFFLENBQUM7RUFDVixNQUFNLEVBQUUsQ0FBQztFQUNULEtBQUssRUFBRSxJQUFJO0VUcEdYLGtCQUFrQixFU3FHTyxHQUFHLENBQUUsSUFBSSxDQUFFLFFBQVE7RVRwRzVDLGVBQWUsRVNvR1UsR0FBRyxDQUFFLElBQUksQ0FBRSxRQUFRO0VUbkc1QyxjQUFjLEVTbUdXLEdBQUcsQ0FBRSxJQUFJLENBQUUsUUFBUTtFVGxHNUMsYUFBYSxFU2tHWSxHQUFHLENBQUUsSUFBSSxDQUFFLFFBQVE7RVRqRzVDLFVBQVUsRVNpR2UsR0FBRyxDQUFFLElBQUksQ0FBRSxRQUFRLEdBeUQ3QztFQS9ERCxBQVFFLGdCQVJjLENBUWQsRUFBRSxDQUFDO0lBQ0QsVUFBVSxFQUFFLElBQUk7SUFDaEIsT0FBTyxFQUFFLFlBQVk7SUFDckIsY0FBYyxFQUFFLE1BQU07SUFDdEIsT0FBTyxFQUFFLENBQUM7SUFDVixNQUFNLEVBQUUsQ0FBQyxHQXdDVjtJQXJESCxBQWNJLGdCQWRZLENBUWQsRUFBRSxBQU1DLElBQUssQ0FBQSxXQUFXLEVBQUU7TUFDakIsWUFBWSxFQUFFLEdBQUcsR0FDbEI7SUFoQkwsQUFpQkksZ0JBakJZLENBUWQsRUFBRSxDQVNBLENBQUMsQ0FBQztNQUNBLEtBQUssRUFBRSxZQUFZO01BQ25CLGVBQWUsRUFBRSxJQUFJLEdBT3RCO01BMUJMLEFBb0JNLGdCQXBCVSxDQVFkLEVBQUUsQ0FTQSxDQUFDLEFBR0UsTUFBTSxFQXBCYixnQkFBZ0IsQ0FRZCxFQUFFLENBU0EsQ0FBQyxBQUdXLE1BQU0sQ0FBQztRQUNmLEtBQUssRVYxSEcsT0FBTyxHVTJIaEI7TUF0QlAsQUF1Qk0sZ0JBdkJVLENBUWQsRUFBRSxDQVNBLENBQUMsQUFNRSxPQUFPLENBQUM7UUFDUCxLQUFLLEVBQUUsWUFBWSxHQUNwQjtJVDhEUSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07TVN2RnhDLEFBNEJJLGdCQTVCWSxDQVFkLEVBQUUsQUFvQkMsYUFBYSxDQUFDO1FBRVgsT0FBTyxFQUFFLElBQUksR0FFaEI7SUFoQ0wsQUFtQ00sZ0JBbkNVLENBUWQsRUFBRSxBQTBCQyxnQkFBZ0IsQ0FDZixZQUFZLENBQUM7TUFDWCxVQUFVLEVBQUUsQ0FBQyxHQUNkO0lBckNQLEFBd0NRLGdCQXhDUSxDQVFkLEVBQUUsQUEwQkMsZ0JBQWdCLENBS2YsQ0FBQyxBQUNFLE1BQU0sRUF4Q2YsZ0JBQWdCLENBUWQsRUFBRSxBQTBCQyxnQkFBZ0IsQ0FLZixDQUFDLEFBQ1csTUFBTSxFQXhDeEIsZ0JBQWdCLENBUWQsRUFBRSxBQTBCQyxnQkFBZ0IsQ0FLZixDQUFDLEFBQ29CLE9BQU8sQ0FBQztNQUN6QixLQUFLLEVWbEpQLElBQUksR1VtSkg7SVQ2Q00sTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO01TdkZ2QyxBQXVDTSxnQkF2Q1UsQ0FRZCxFQUFFLEFBMEJDLGdCQUFnQixDQUtmLENBQUMsQ0FBQztRQU1FLFNBQVMsRUFBRSxJQUFJO1FBQ2YsT0FBTyxFQUFFLFFBQVE7UUFDakIsTUFBTSxFQUFFLElBQUk7UUFDWixXQUFXLEVBQUUsSUFBSSxHQUVwQjtFQWxEUCxBQXVERSxnQkF2RGMsQUF1RGIsWUFBWSxDQUFDO0lBQ1osUUFBUSxFQUFFLEtBQUs7SUFDZixHQUFHLEVBQUUsSUFBSTtJQUNULE1BQU0sRUFBRSxLQUFLO0lBQ2IsS0FBSyxFQUFFLENBQUM7SUFDUixJQUFJLEVBQUUsQ0FBQztJQUNQLFVBQVUsRUFBRSxNQUFNLEdBQ25COztBQUdILEFBQUEsb0JBQW9CLENBQUM7RUFDbkIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLEdBQUc7RUFDUixTQUFTLEVBQUUsZ0JBQWdCO0VBQzNCLEtBQUssRUFBRSxLQUFLLEdBQ2I7O0FBQ0QsQUFBQSxrQkFBa0IsQ0FBQztFQUNqQixRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsR0FBRztFQUNSLFNBQVMsRUFBRSxnQkFBZ0I7RUFDM0IsS0FBSyxFVnBLYSxJQUFJLEdVb0x2QjtFQXBCRCxBQU1FLGtCQU5nQixDQU1oQixnQkFBZ0IsQ0FBQztJQUNmLFdBQVcsRUFBRSxJQUFJLEdBWWxCO0lBbkJILEFBU0ksa0JBVGMsQ0FNaEIsZ0JBQWdCLENBR2QsQ0FBQyxDQUFDO01BQ0EsU0FBUyxFQUFFLElBQUk7TUFDZixPQUFPLEVBQUUsTUFBTTtNQUNmLE1BQU0sRUFBRSxJQUFJO01BQ1osV0FBVyxFQUFFLElBQUksR0FLbEI7TUFsQkwsQUFlTSxrQkFmWSxDQU1oQixnQkFBZ0IsQ0FHZCxDQUFDLEFBTUUsaUJBQWlCLENBQUM7UUFDakIsS0FBSyxFVmhNTCxJQUFJLEdVaU1MOztBQU1QLEFBQUEsb0JBQW9CLENBQUM7RUFDbkIsUUFBUSxFQUFFLEtBQUs7RUFDZixPQUFPLEVBQUUsQ0FBQztFQUNWLElBQUksRUFBRSxpQkFBaUI7RUFDdkIsR0FBRyxFQUFFLENBQUM7RUFDTixNQUFNLEVBQUUsS0FBSztFQUNiLEtBQUssRUFBRSxJQUFJO0VBQ1gsT0FBTyxFQUFFLElBQUk7RUFDYixjQUFjLEVBQUUsTUFBTTtFQUN0QixVQUFVLEVBQUUsTUFBTTtFQUNsQixXQUFXLEVBQUUsTUFBTTtFQUNuQixlQUFlLEVBQUUsTUFBTTtFQUN2QixRQUFRLEVBQUUsTUFBTTtFQUNoQixVQUFVLEVBQUUsTUFBTSxHQXFCbkI7RUFsQ0QsQUFjRSxvQkFka0IsQ0FjbEIsRUFBRSxDQUFDO0lBQ0QsU0FBUyxFQUFFLElBQUk7SUFDZixXQUFXLEVBQUUsSUFBSTtJQUVqQixNQUFNLEVBQUUsVUFBVTtJQUNsQixPQUFPLEVBQUUsQ0FBQztJQUNWLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7RUFyQkgsQUFzQkUsb0JBdEJrQixDQXNCbEIsV0FBVyxDQUFDO0lBQ1YsU0FBUyxFQUFFLEdBQUc7SUFFZCxXQUFXLEVBQUUsSUFBSTtJQUNqQixZQUFZLEVBQUUsSUFBSSxHQUluQjtJQTlCSCxBQTJCSSxvQkEzQmdCLENBc0JsQixXQUFXLENBS1QsR0FBRyxDQUFDO01BQ0YsVUFBVSxFQUFFLElBQUksR0FDakI7RUE3QkwsQUErQkUsb0JBL0JrQixDQStCbEIsT0FBTyxDQUFDO0lBQ04sVUFBVSxFQUFFLElBQUksR0FDakI7O0FBR0gsQUFBQSwwQkFBMEIsQ0FBQztFQUN6QixRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsQ0FBQztFQUNOLElBQUksRUFBRSxDQUFDO0VBQ1AsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLGdCQUFnQixFQUFFLElBQUk7RUFFdEIsT0FBTyxFQUFFLElBQUk7RUFDYixjQUFjLEVBQUUsTUFBTTtFQUN0QixVQUFVLEVBQUUsTUFBTTtFQUNsQixXQUFXLEVBQUUsTUFBTTtFQUNuQixlQUFlLEVBQUUsTUFBTTtFQUN2QixTQUFTLEVBQUUsaUJBQWlCO0VUOU81QixrQkFBa0IsRVMrT08sR0FBRyxDQUFFLElBQUksQ0FBRSxXQUFXO0VUOU8vQyxlQUFlLEVTOE9VLEdBQUcsQ0FBRSxJQUFJLENBQUUsV0FBVztFVDdPL0MsY0FBYyxFUzZPVyxHQUFHLENBQUUsSUFBSSxDQUFFLFdBQVc7RVQ1Ty9DLGFBQWEsRVM0T1ksR0FBRyxDQUFFLElBQUksQ0FBRSxXQUFXO0VUM08vQyxVQUFVLEVTMk9lLEdBQUcsQ0FBRSxJQUFJLENBQUUsV0FBVyxHQUNoRDs7QUFFRCxBQUFBLG9CQUFvQjtBQUNwQiwwQkFBMEIsQ0FDMUI7RUFDRSxPQUFPLEVBQUUsSUFBSSxHQUNkOztBQUVELEFBQUEsb0JBQW9CLENBQUM7RUFDbkIsUUFBUSxFQUFFLEtBQUs7RUFDZixJQUFJLEVBQUUsQ0FBQztFQUNQLEdBQUcsRUFBRSxDQUFDO0VBQ04sTUFBTSxFQUFFLEtBQUs7RUFFYixLQUFLLEVBQUUsaUJBQWlCO0VBQ3hCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTSxrQkFBSSxHQUNwQzs7QUFFRCxBQUFBLDBCQUEwQixDQUFDO0VBQ3pCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxDQUFDO0VBQ1YsSUFBSSxFQUFFLEdBQUc7RUFDVCxHQUFHLEVBQUUsQ0FBQztFQUVOLE1BQU0sRUFBRSxLQUFLO0VBRWIsS0FBSyxFQUFFLGlCQUFpQjtFQUN4QixZQUFZLEVBQUUsZ0NBQWdDLEdBaUYvQztFVHZLYyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07SVM2RXhDLEFBQUEsMEJBQTBCLENBQUM7TUFhdkIsWUFBWSxFQUFFLElBQUksR0E2RXJCO0VUdktjLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtJUzZFeEMsQUFBQSwwQkFBMEIsQ0FBQztNQWlCdkIsWUFBWSxFQUFFLEdBQUcsR0F5RXBCO0VBMUZELEFBb0JFLDBCQXBCd0IsQUFvQnZCLE9BQU8sQ0FBQztJQUNQLE9BQU8sRUFBRSxFQUFFO0lBQ1gsT0FBTyxFQUFFLEtBQUs7SUFDZCxRQUFRLEVBQUUsUUFBUTtJQUNsQixPQUFPLEVBQUUsQ0FBQztJQUNWLElBQUksRUFBRSxDQUFDO0lBQ1AsR0FBRyxFQUFFLE1BQU07SUFDWCxNQUFNLEVBQUUsbUJBQW1CO0lBQzNCLEtBQUssRUFBRSxpQkFBaUI7SUFDeEIsZ0JBQWdCLEVWclNGLE9BQU8sR1VzU3RCO0VBOUJILEFBZ0NFLDBCQWhDd0IsR0FnQ3RCLEVBQUUsQ0FBQztJQUNILE9BQU8sRUFBRSxLQUFLO0lBQ2QsVUFBVSxFQUFFLElBQUk7SUFDaEIsT0FBTyxFQUFFLENBQUM7SUFHVixNQUFNLEVBQUUsV0FBVztJQUNuQixLQUFLLEVBQUUsNENBQXlEO0lBQ2hFLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLE9BQU8sRUFBRSxFQUFFLEdBZ0RaO0lUdEtZLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtNUzZFeEMsQUFnQ0UsMEJBaEN3QixHQWdDdEIsRUFBRSxDQUFDO1FBWUQsTUFBTSxFQUFFLFdBQVcsR0E2Q3RCO0lBekZILEFBK0NJLDBCQS9Dc0IsR0FnQ3RCLEVBQUUsR0FlQSxFQUFFLENBQUM7TUFDSCxPQUFPLEVBQUUsS0FBSztNQUNkLFVBQVUsRUFBRSxJQUFJO01BQ2hCLE9BQU8sRUFBRSxDQUFDO01BQ1YsTUFBTSxFQUFFLENBQUM7TUFFVCxLQUFLLEVBQUUsSUFBSSxHQW1DWjtNQXhGTCxBQXdEUSwwQkF4RGtCLEdBZ0N0QixFQUFFLEdBZUEsRUFBRSxBQU9ELE1BQU0sR0FFSCxDQUFDLENBQUM7UUFDRixLQUFLLEVWbFVDLE9BQU8sR1VtVWQ7TUExRFQsQUFnRVEsMEJBaEVrQixHQWdDdEIsRUFBRSxHQWVBLEVBQUUsQUFnQkQsT0FBTyxDQUNOLDBCQUEwQixDQUFDO1FBQ3pCLFVBQVUsRUFBRSxPQUFPO1FBQ25CLFNBQVMsRUFBRSxjQUFjLEdBQzFCO01BbkVULEFBd0VNLDBCQXhFb0IsR0FnQ3RCLEVBQUUsR0FlQSxFQUFFLEdBeUJBLENBQUMsQ0FBQztRQUNGLE9BQU8sRUFBRSxZQUFZO1FBQ3JCLGNBQWMsRUFBRSxHQUFHO1FBQ25CLEtBQUssRUFBRSxJQUFJO1FBQ1gsZUFBZSxFQUFFLElBQUk7UUFDckIsV0FBVyxFQUFFLElBQUk7UUFDakIsU0FBUyxFQUFFLElBQUk7UUFDZixXQUFXLEVBQUUsSUFBSTtRQUNqQixjQUFjLEVBQUUsSUFBSSxHQU9yQjtRQXZGUCxBQWlGUSwwQkFqRmtCLEdBZ0N0QixFQUFFLEdBZUEsRUFBRSxHQXlCQSxDQUFDLEFBU0EsTUFBTSxFQWpGZiwwQkFBMEIsR0FnQ3RCLEVBQUUsR0FlQSxFQUFFLEdBeUJBLENBQUMsQUFTUyxPQUFPLENBQUM7VUFDaEIsS0FBSyxFVjNWQyxPQUFPLEdVK1ZkO1VBdEZULEFBbUZVLDBCQW5GZ0IsR0FnQ3RCLEVBQUUsR0FlQSxFQUFFLEdBeUJBLENBQUMsQUFTQSxNQUFNLEdBRUQsb0JBQW9CLEVBbkZsQywwQkFBMEIsR0FnQ3RCLEVBQUUsR0FlQSxFQUFFLEdBeUJBLENBQUMsQUFTUyxPQUFPLEdBRVgsb0JBQW9CLENBQUM7WUFDdkIsT0FBTyxFQUFFLElBQUksR0FDZDs7QUFPWCxBQUFBLFNBQVMsQ0FBQztFQUNSLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRUFBRSxJQUFJO0VBQ1gsT0FBTyxFQUFFLEVBQUUsR0E4Rlo7RUFqR0QsQUFNSSxTQU5LLEFBS04sTUFBTSxHQUNELFlBQVksQ0FBQztJQUVmLE9BQU8sRUFBRSxFQUFFLEdBQ1o7RUFUTCxBQVlFLFNBWk8sQ0FZUCxRQUFRLENBQUM7SUFDUCxRQUFRLEVBQUUsS0FBSztJQUNmLEdBQUcsRUFBRSxDQUFDO0lBRU4sSUFBSSxFQUFFLENBQUM7SUFDUCxPQUFPLEVBQUUsS0FBSztJQUNkLE1BQU0sRUFBRSxJQUFJO0lBQ1osT0FBTyxFQUFFLElBQUk7SUFDYixPQUFPLEVBQUUsSUFBSSxHQUtkO0lUbE1ZLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtNU3lLeEMsQUFZRSxTQVpPLENBWVAsUUFBUSxDQUFDO1FBV0wsSUFBSSxFQUFFLElBQUksR0FFYjtFQXpCSCxBQTJCRSxTQTNCTyxHQTJCTCxFQUFFLENBQUM7SUFDSCxRQUFRLEVBQUUsUUFBUTtJQUNsQixPQUFPLEVBQUUsS0FBSztJQUNkLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLE9BQU8sRUFBRSxDQUFDO0lBQ1YsTUFBTSxFQUFFLENBQUMsR0FtRFY7SUFuRkgsQUFpQ0ksU0FqQ0ssR0EyQkwsRUFBRSxHQU1BLEVBQUUsQ0FBQztNQUNILE9BQU8sRUFBRSxZQUFZO01BQ3JCLGNBQWMsRUFBRSxHQUFHO01BQ25CLFVBQVUsRUFBRSxJQUFJO01BQ2hCLE9BQU8sRUFBRSxDQUFDO01BQ1YsTUFBTSxFQUFFLENBQUM7TUFDVCxNQUFNLEVBQUUsT0FBTyxHQTJDaEI7TUFsRkwsQUF5Q1EsU0F6Q0MsR0EyQkwsRUFBRSxHQU1BLEVBQUUsQUFPRCxNQUFNLEdBQ0gsQ0FBQyxDQUFDO1FBQ0YsS0FBSyxFVi9ZQyxPQUFPLEdVZ1pkO01BM0NULEFBNENRLFNBNUNDLEdBMkJMLEVBQUUsR0FNQSxFQUFFLEFBT0QsTUFBTSxDQUlMLG9CQUFvQixDQUFDO1FBQ25CLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7TUE5Q1QsQUFnRE0sU0FoREcsR0EyQkwsRUFBRSxHQU1BLEVBQUUsQUFlRCxJQUFLLENBQUEsV0FBVyxFQUFFO1FBQ2pCLFlBQVksRUFBRSxJQUFJLEdBQ25CO01BbERQLEFBbURNLFNBbkRHLEdBMkJMLEVBQUUsR0FNQSxFQUFFLEdBa0JBLENBQUMsQ0FBQztRQUNGLEtBQUssRUFBRSxZQUFZO1FBQ25CLGVBQWUsRUFBRSxJQUFJO1FBQ3JCLFNBQVMsRUFBRSxJQUFJO1FBQ2YsV0FBVyxFQUFFLElBQUk7UUFDakIsUUFBUSxFQUFFLFFBQVE7UUFDbEIsT0FBTyxFQUFFLENBQUM7UUFPVjs7Ozs7OztVQU9FO1FBRVY7Ozs7Ozs7RUFPRSxFQUNLO1FBakZQLEFBMERRLFNBMURDLEdBMkJMLEVBQUUsR0FNQSxFQUFFLEdBa0JBLENBQUMsR0FPQyxHQUFHLENBQUM7VUFDSixPQUFPLEVBQUUsSUFBSSxHQUNkO1FBNURULEFBNkRRLFNBN0RDLEdBMkJMLEVBQUUsR0FNQSxFQUFFLEdBa0JBLENBQUMsQUFVQSxNQUFNLENBQUM7VUFDTixLQUFLLEVWbmFDLE9BQU8sR1VvYWQ7RUEvRFQsQUF5RlEsU0F6RkMsQUFxRk4sVUFBVSxDQUNULEVBQUUsR0FDRSxFQUFFLEFBRUQsTUFBTTtFQXpGZixTQUFTLEFBcUZOLFVBQVUsQ0FDVCxFQUFFLEdBQ0UsRUFBRSxDQUdGLG9CQUFvQixDQUNwQjtJQUNFLE9BQU8sRUFBRSxlQUFlLEdBQ3pCOztBQU1ULEFBQUEsZ0JBQWdCLENBQUM7RUFDZixPQUFPLEVBQUUsSUFBSTtFQUNiLEtBQUssRUFBRSxJQUFJO0VBRVgsZUFBZSxFQUFFLElBQUk7RUFDckIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLENBQUM7RUFFVixVQUFVLEVBQUUsV0FBVztFQUN2QixPQUFPLEVBQUUsQ0FBQztFQUNWLE1BQU0sRUFBRSxDQUFDO0VBQ1QsTUFBTSxFQUFFLE9BQU8sR0FRaEI7RUFuQkQsQUFhRSxnQkFiYyxBQWFiLHVCQUF1QixDQUFDO0lBQ3ZCLFFBQVEsRUFBRSxLQUFLO0lBQ2YsT0FBTyxFQUFFLElBQUk7SUFDYixHQUFHLEVBQUUsQ0FBQztJQUNOLElBQUksRUFBRSxJQUFJLEdBQ1g7O0FBR0gsQUFBQSxvQkFBb0IsQ0FBQztFQUNuQixRQUFRLEVBQUUsTUFBTTtFQUVsQjs7Ozs7Ozs7OztFQVVFLEVBbUJEO0VBaENELEFBa0JFLG9CQWxCa0IsQ0FrQmxCLFlBQVksQ0FBQztJQUNYLE9BQU8sRUFBRSxHQUFHLEdBQ2I7RUFwQkgsQUF1Qkksb0JBdkJnQixDQXNCbEIsT0FBTyxDQUNMLGdCQUFnQixDQUFDO0lBQ2YsT0FBTyxFQUFFLEdBQUcsR0FDYjtFQXpCTCxBQTRCRSxvQkE1QmtCLENBNEJsQixPQUFPLENBQUM7SUFDTixVQUFVLEVBQUUsT0FBTztJQUNuQixPQUFPLEVBQUUsQ0FBQyxHQUNYOztBQUlILEFBQUEsY0FBYyxDQUFDO0VBQ2IsUUFBUSxFQUFFLEtBQUs7RUFDZixHQUFHLEVBQUUsQ0FBQztFQUNOLFdBQVcsRUFBRSxDQUFDO0VBQ2QsZ0JBQWdCLEVWbmdCQSxPQUFPO0VVb2dCdkIsU0FBUyxFQUFFLGlCQUFpQjtFQUM1QixPQUFPLEVBQUUsSUFBSTtFVGhnQmIsa0JBQWtCLEVTaWdCTyxHQUFHLENBQUUsSUFBSSxDQUFFLFFBQVE7RVRoZ0I1QyxlQUFlLEVTZ2dCVSxHQUFHLENBQUUsSUFBSSxDQUFFLFFBQVE7RVQvZjVDLGNBQWMsRVMrZlcsR0FBRyxDQUFFLElBQUksQ0FBRSxRQUFRO0VUOWY1QyxhQUFhLEVTOGZZLEdBQUcsQ0FBRSxJQUFJLENBQUUsUUFBUTtFVDdmNUMsVUFBVSxFUzZmZSxHQUFHLENBQUUsSUFBSSxDQUFFLFFBQVEsR0EyQjdDO0VUdFdjLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtJU29VeEMsQUFBQSxjQUFjLENBQUM7TUFVWCxHQUFHLEVBQUUsWUFBWSxHQXdCcEI7RUFsQ0QsQUFhRSxjQWJZLENBYVosb0JBQW9CO0VBYnRCLGNBQWMsQ0FjWiwwQkFBMEI7RUFkNUIsY0FBYyxDQWVaLDBCQUEwQixBQUFBLE9BQU87RUFmbkMsY0FBYyxDQWdCWixvQkFBb0IsQ0FBQztJQUNuQixNQUFNLEVBQUUsS0FBSyxHQUNkO0VBbEJILEFBb0JFLGNBcEJZLENBb0JaLG9CQUFvQixDQUFDO0lBQ25CLEdBQUcsRUFBRSxLQUFLLEdBQ1g7RUF0QkgsQUF5QkksY0F6QlUsQ0F3QlosMEJBQTBCLEFBQ3ZCLE9BQU8sQ0FBQztJQUNQLEdBQUcsRUFBRSxDQUFDO0lBQ04sTUFBTSxFQUFFLEtBQUssR0FDZDtFQTVCTCxBQStCRSxjQS9CWSxBQStCWCxVQUFVLENBQUM7SUFDVixTQUFTLEVBQUUsY0FBYyxHQUMxQjs7QUFJSCxBQUlRLElBSkosQUFDRCxtQkFBbUIsQ0FDbEIsZ0JBQWdCLEFBQ2IsWUFBWSxDQUNYLGFBQWEsQ0FBQztFQUNaLE9BQU8sRUFBRSxZQUFZLEdBQ3RCOztBQTBCVDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBOEJFO0FBQ0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQTRERTtBQ3JxQkYsQUFDRSxPQURLLENBQ0wsUUFBUSxDQUFDO0VBQ1AsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLENBQUM7RUFDUixNQUFNLEVBQUUsSUFBSTtFQUNaLE9BQU8sRUFBRSxJQUFJLEdBTWQ7RVZzTFksTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0lVak14QyxBQUNFLE9BREssQ0FDTCxRQUFRLENBQUM7TUFPTCxNQUFNLEVBQUUsSUFBSTtNQUNaLE9BQU8sRUFBRSxJQUFJLEdBRWhCOztBQUlILEFBQUEsZUFBZSxDQUFDO0VBQ2QsUUFBUSxFQUFFLEtBQUs7RUFDZixJQUFJLEVBQUUsQ0FBQztFQUNQLEdBQUcsRUFBRSxDQUFDO0VBQ04sTUFBTSxFQUFFLElBQUk7RUFDWixLQUFLLEVBQUUsSUFBSTtFQUNYLEtBQUssRUFBRSxJQUFJO0VBQ2I7Ozs7OztFQU1FO0VBV0E7Ozs7OztJQU1FLEVBQ0g7RUEvQkQsQUFjRSxlQWRhLENBY2IsRUFBRSxDQUFDO0lBQ0QsVUFBVSxFQUFFLE1BQU07SUFDbEIsU0FBUyxFQUFFLElBQUk7SUFDZixhQUFhLEVBQUUsR0FBRyxHQUNuQjtFQWxCSCxBQW9CRSxlQXBCYSxDQW9CYixDQUFDLENBQUM7SUFDQSxVQUFVLEVBQUUsSUFBSSxHQUNqQjs7QUFXSCxBQUFBLGtCQUFrQixDQUFDO0VBQ2pCLE9BQU8sRUFBRSxLQUFLO0VBQ2QsUUFBUSxFQUFFLFFBQVE7RUFDbEIsSUFBSSxFQUFFLENBQUM7RUFDUCxHQUFHLEVBQUUsQ0FBQztFQUNOLE1BQU0sRUFBRSxJQUFJO0VBQ1osS0FBSyxFQUFFLElBQUk7RUFDWCxnQkFBZ0IsRUFBTyxrQkFBSSxHQUM1Qjs7QUFDRCxBQUFBLHlCQUF5QixDQUFDO0VBQ3hCLGdCQUFnQixFWHBEQSxPQUFPO0VXcUR2QixRQUFRLEVBQUUsS0FBSztFQUNmLEtBQUssRUFBRSxJQUFJO0VBQ1gsU0FBUyxFWDFDYSxNQUFNO0VXMkM1QixVQUFVLEVBQUUsbUJBQW1CO0VBQy9CLElBQUksRUFBRSxHQUFHO0VBQ1QsR0FBRyxFQUFFLEdBQUc7RUFDUixTQUFTLEVBQUUscUJBQXFCO0VBQ2hDLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLFVBQVU7RUFDbkIsUUFBUSxFQUFFLElBQUk7RUFDZCxhQUFhLEVBQUUsR0FBRyxHQUNuQjs7QUFDRCxBQUFBLGVBQWUsQ0FBQztFQUNkLE9BQU8sRUFBRSxJQUFJO0VBQ2IsZUFBZSxFQUFFLFlBQVk7RUFDN0IsVUFBVSxFQUFFLElBQUksR0FDakI7O0FBQ0QsQUFDRSxxQkFEbUIsQ0FDbkIsRUFBRSxDQUFDO0VBQ0QsT0FBTyxFQUFFLEtBQUs7RUFDZCxPQUFPLEVBQUUsQ0FBQztFQUNWLE1BQU0sRUFBRSxVQUFVO0VBQ2xCLFNBQVMsRUFBRSxJQUFJLEdBQ2hCOztBQU5ILEFBT0UscUJBUG1CLENBT25CLEVBQUUsQ0FBQztFQUNELFVBQVUsRUFBRSxJQUFJO0VBQ2hCLE9BQU8sRUFBRSxDQUFDO0VBQ1YsTUFBTSxFQUFFLENBQUM7RUFDVCxPQUFPLEVBQUUsS0FBSyxHQTRCZjtFQXZDSCxBQVlJLHFCQVppQixDQU9uQixFQUFFLENBS0EsRUFBRSxDQUFDO0lBQ0QsUUFBUSxFQUFFLFFBQVE7SUFDbEIsVUFBVSxFQUFFLElBQUk7SUFDaEIsT0FBTyxFQUFFLENBQUM7SUFDVixNQUFNLEVBQUUsQ0FBQztJQUNULE9BQU8sRUFBRSxLQUFLO0lWbEZsQixrQkFBa0IsRVVtRlcsR0FBRyxDQUFFLElBQUksQ0FBRSxRQUFRO0lWbEZoRCxlQUFlLEVVa0ZjLEdBQUcsQ0FBRSxJQUFJLENBQUUsUUFBUTtJVmpGaEQsY0FBYyxFVWlGZSxHQUFHLENBQUUsSUFBSSxDQUFFLFFBQVE7SVZoRmhELGFBQWEsRVVnRmdCLEdBQUcsQ0FBRSxJQUFJLENBQUUsUUFBUTtJVi9FaEQsVUFBVSxFVStFbUIsR0FBRyxDQUFFLElBQUksQ0FBRSxRQUFRLEdBb0I3QztJQXRDTCxBQW9CTSxxQkFwQmUsQ0FPbkIsRUFBRSxDQUtBLEVBQUUsQUFRQyxJQUFLLENBQUEsV0FBVyxFQUFFO01BQ2pCLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO0lBdEJQLEFBdUJNLHFCQXZCZSxDQU9uQixFQUFFLENBS0EsRUFBRSxDQVdBLENBQUMsQ0FBQztNQUNBLEtBQUssRUFBRSxJQUFJO01BQ1gsZUFBZSxFQUFFLElBQUk7TUFDckIsU0FBUyxFQUFFLElBQUksR0FPaEI7TUFqQ1AsQUEyQlEscUJBM0JhLENBT25CLEVBQUUsQ0FLQSxFQUFFLENBV0EsQ0FBQyxBQUlFLE1BQU0sRUEzQmYscUJBQXFCLENBT25CLEVBQUUsQ0FLQSxFQUFFLENBV0EsQ0FBQyxBQUlXLE1BQU0sQ0FBQztRQUNmLEtBQUssRVhuR0MsT0FBTyxHV29HZDtNQTdCVCxBQThCUSxxQkE5QmEsQ0FPbkIsRUFBRSxDQUtBLEVBQUUsQ0FXQSxDQUFDLEFBT0UsT0FBTyxDQUFDO1FBQ1AsS0FBSyxFQUFFLElBQUksR0FDWjtJQWhDVCxBQW1DTSxxQkFuQ2UsQ0FPbkIsRUFBRSxDQUtBLEVBQUUsQUF1QkMsTUFBTSxDQUFDO01BQ04sU0FBUyxFQUFFLGdCQUFnQixHQUM1Qjs7QUFyQ1AsQUF3Q0UscUJBeENtQixDQXdDbkIsS0FBSyxDQUFDO0VBQ0osWUFBWSxFQUFFLEdBQUcsR0FDbEI7O0FBRUgsQUFBQSxzQkFBc0IsQ0FBQztFQUNyQixVQUFVLEVBQUUsSUFBSTtFQUNoQixVQUFVLEVBQUUsTUFBTSxHQWdCbkI7RUFsQkQsQUFHRSxzQkFIb0IsQ0FHcEIsQ0FBQyxDQUFDO0lBQ0EsU0FBUyxFQUFFLElBQUk7SUFDZixhQUFhLEVBQUUsR0FBRztJQUNsQixVQUFVLEVBQUUsQ0FBQyxHQUNkO0VBUEgsQUFTRSxzQkFUb0IsQ0FTcEIsQ0FBQyxDQUFDO0lBQ0EsS0FBSyxFWDdITyxPQUFPO0lXOEhuQixlQUFlLEVBQUUsU0FBUztJQUMxQixNQUFNLEVBQUUsT0FBTyxHQUtoQjtJQWpCSCxBQWNJLHNCQWRrQixDQVNwQixDQUFDLEFBS0UsTUFBTSxDQUFDO01BQ04sZUFBZSxFQUFFLElBQUksR0FDdEI7O0FBTUwsQUFBQSxXQUFXLENBQUM7RUFDVixVQUFVLEVBQUUsSUFBSTtFQUNoQixPQUFPLEVBQUUsS0FBSztFQUNkLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLENBQUM7RUFDVixVQUFVLEVBQUUsTUFBTTtFQUNsQixLQUFLLEVBQUUsSUFBSTtFQUNYLE9BQU8sRUFBRSxJQUFJO0VBQ2IsZUFBZSxFQUFFLFlBQVk7RUFDN0IscUJBQXFCLEVBQUUsT0FBTyxHQXVEL0I7RVZiYyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7SVVuRHZDLEFBQUEsV0FBVyxDQUFDO01BYVIscUJBQXFCLEVBQUUsSUFBSSxHQW1EOUI7RUFoRUQsQUFnQkUsV0FoQlMsQ0FnQlQsRUFBRSxDQUFDO0lBQ0QsVUFBVSxFQUFFLElBQUk7SUFDaEIsT0FBTyxFQUFFLEtBQUs7SUFDZCxNQUFNLEVBQUUsQ0FBQztJQUNULE9BQU8sRUFBRSxDQUFDO0lBQ1YsT0FBTyxFQUFFLElBQUk7SUFDYixXQUFXLEVBQUUsTUFBTTtJQUNuQixVQUFVLEVBQUUsS0FBSztJQUNqQixNQUFNLEVBQUUsSUFBSTtJVjNKZCxrQkFBa0IsRVU0SlMsR0FBRyxDQUFFLElBQUksQ0FBRSxXQUFXO0lWM0pqRCxlQUFlLEVVMkpZLEdBQUcsQ0FBRSxJQUFJLENBQUUsV0FBVztJVjFKakQsY0FBYyxFVTBKYSxHQUFHLENBQUUsSUFBSSxDQUFFLFdBQVc7SVZ6SmpELGFBQWEsRVV5SmMsR0FBRyxDQUFFLElBQUksQ0FBRSxXQUFXO0lWeEpqRCxVQUFVLEVVd0ppQixHQUFHLENBQUUsSUFBSSxDQUFFLFdBQVcsR0FzQ2hEO0lWWlksTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO01VbkR2QyxBQWdCRSxXQWhCUyxDQWdCVCxFQUFFLENBQUM7UUFZQyxVQUFVLEVBQUUsSUFBSTtRQUNoQixNQUFNLEVBQUUsSUFBSSxHQWtDZjtJQS9ESCxBQWdDSSxXQWhDTyxDQWdCVCxFQUFFLEFBZ0JDLElBQUssQ0FBQSxXQUFXLEVBQUU7TUFDakIsYUFBYSxFQUFFLElBQUksR0FDcEI7SUFsQ0wsQUFtQ0ksV0FuQ08sQ0FnQlQsRUFBRSxDQW1CQSxDQUFDLENBQUM7TUFDQSxPQUFPLEVBQUUsWUFBWTtNQUNyQixjQUFjLEVBQUUsR0FBRztNQUNuQixlQUFlLEVBQUUsSUFBSTtNQUNyQixLQUFLLEVBQUUsSUFBSTtNQUNYLE9BQU8sRUFBRSxJQUFJLEdBaUJkO01BekRMLEFBNkNNLFdBN0NLLENBZ0JULEVBQUUsQ0FtQkEsQ0FBQyxDQVVDLEdBQUcsQ0FBQztRQUNGLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLE9BQU8sRUFBRSxLQUFLO1FBQ2QsS0FBSyxFQUFFLElBQUk7UUFDWCxTQUFTLEVBQUUsS0FBSztRQUNoQixTQUFTLEVBQUUsaUJBQWlCO1FWckxsQyxrQkFBa0IsRVVzTGEsR0FBRyxDQUFFLElBQUksQ0FBRSxXQUFXO1FWckxyRCxlQUFlLEVVcUxnQixHQUFHLENBQUUsSUFBSSxDQUFFLFdBQVc7UVZwTHJELGNBQWMsRVVvTGlCLEdBQUcsQ0FBRSxJQUFJLENBQUUsV0FBVztRVm5MckQsYUFBYSxFVW1Ma0IsR0FBRyxDQUFFLElBQUksQ0FBRSxXQUFXO1FWbExyRCxVQUFVLEVVa0xxQixHQUFHLENBQUUsSUFBSSxDQUFFLFdBQVcsR0FLaEQ7UVZMUSxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7VVVuRHZDLEFBNkNNLFdBN0NLLENBZ0JULEVBQUUsQ0FtQkEsQ0FBQyxDQVVDLEdBQUcsQ0FBQztZQVNBLFNBQVMsRUFBRSxLQUFLLEdBRW5CO0lBeERQLEFBMkRJLFdBM0RPLENBZ0JULEVBQUUsQUEyQ0MsTUFBTSxDQUFDO01BQ04sVUFBVSxFQUFFLE9BQTBCLEdBRXZDOztBQUdMLEFBQUEsV0FBVyxDQUFDO0VBQ1YsUUFBUSxFQUFFLEtBQUs7RUFDZixJQUFJLEVBQUUsQ0FBQztFQUNQLEdBQUcsRUFBRSxDQUFDO0VBQ04sTUFBTSxFQUFFLElBQUk7RUFDWixLQUFLLEVBQUUsSUFBSTtFQUNYLEtBQUssRUFBRSxJQUFJO0VBV2I7Ozs7OztFQU1FLEVBc0NEO0VBN0RELEFBVU0sV0FWSyxDQVFULFFBQVEsQUFDTCxNQUFNLEFBQ0osTUFBTSxFQVZiLFdBQVcsQ0FRVCxRQUFRLEFBQ0wsTUFBTSxBQUVKLE9BQU8sQ0FDUjtJQUNJLFlBQVksRUFBRSxPQUFPLEdBQ3hCO0VBZFAsQUF3QkUsV0F4QlMsQ0F3QlQsRUFBRSxDQUFDO0lBQ0QsVUFBVSxFQUFFLE1BQU07SUFDbEIsU0FBUyxFQUFFLElBQUk7SUFDZixhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQTVCSCxBQThCRSxXQTlCUyxDQThCVCxXQUFXLENBQUM7SUFDVixVQUFVLEVBQUUsSUFBSSxHQUNqQjtFQWhDSCxBQWtDRSxXQWxDUyxDQWtDVCxhQUFhLENBQUM7SUFDWixRQUFRLEVBQUUsUUFBUTtJQUNsQixLQUFLLEVBQUUsSUFBSTtJQUNYLEdBQUcsRUFBRSxJQUFJLEdBSVY7SUF6Q0gsQUFzQ0ksV0F0Q08sQ0FrQ1QsYUFBYSxBQUlWLE1BQU0sRUF0Q1gsV0FBVyxDQWtDVCxhQUFhLEFBSUQsTUFBTSxFQXRDcEIsV0FBVyxDQWtDVCxhQUFhLEFBSVEsT0FBTyxDQUFDO01BQ3pCLEtBQUssRUFBRSxJQUFJLEdBQ1o7RUF4Q0wsQUE2Q00sV0E3Q0ssQUEyQ1IsT0FBTyxDQUNOLFdBQVcsQ0FDVCxFQUFFLENBQUM7SUFDRCxRQUFRLEVBQUUsUUFBUTtJQUNsQixPQUFPLEVBQUUsRUFBRSxHQVdaO0lBMURQLEFBaURVLFdBakRDLEFBMkNSLE9BQU8sQ0FDTixXQUFXLENBQ1QsRUFBRSxDQUdBLENBQUMsQ0FDQyxHQUFHLENBQUM7TUFDRixTQUFTLEVBQUUsZUFBZSxHQUMzQjs7QUFXWCxBQUFBLHFCQUFxQixDQUFDO0VBQ3BCLGdCQUFnQixFWHpRRixPQUFPO0VXMFFyQixRQUFRLEVBQUUsS0FBSztFQUNmLEtBQUssRUFBRSxDQUFDO0VBQ1IsSUFBSSxFQUFFLENBQUM7RUFDUCxHQUFHLEVBQUUsR0FBRztFQUNSLFNBQVMsRUFBRSxnQkFBZ0I7RUFDM0IsS0FBSyxFQUFFLElBQUk7RUFDWCxTQUFTLEVYbFFhLE1BQU07RVdtUTVCLFVBQVUsRUFBRSxtQkFBbUI7RUFDL0IsT0FBTyxFQUFFLElBQUk7RUFDYixjQUFjLEVBQUUsTUFBTTtFQUN0QixXQUFXLEVBQUUsTUFBTTtFQUVuQixVQUFVLEVBQUUsSUFBSTtFQUNoQixNQUFNLEVBQUUsSUFBSTtFQUNaLE9BQU8sRUFBRSxJQUFJO0VBQ2IsYUFBYSxFQUFFLEdBQUcsR0FhbkI7RVYxR2MsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0lVNEV2QyxBQUFBLHFCQUFxQixDQUFDO01Bb0JsQixlQUFlLEVBQUUsVUFBVTtNQUMzQixXQUFXLEVBQUUsS0FBSztNQUNsQixjQUFjLEVBQUUsS0FBSztNQUNyQixHQUFHLEVBQUUsQ0FBQztNQUNOLFNBQVMsRUFBRSxJQUFJO01BQ2YsTUFBTSxFQUFFLElBQUk7TUFDWixVQUFVLEVBQUUsSUFBSTtNQUNoQixZQUFZLEVBQUUsQ0FBQztNQUNmLGFBQWEsRUFBRSxDQUFDLEdBRW5COztBQUlELEFBQUEsWUFBWSxDQUFDO0VBQ1gsUUFBUSxFQUFFLEtBQUs7RUFDZixJQUFJLEVBQUUsQ0FBQztFQUNQLEtBQUssRUFBRSxDQUFDO0VBQ1IsR0FBRyxFQUFFLENBQUM7RUFDTixNQUFNLEVBQUUsSUFBSTtFQUNaLEtBQUssRUFBRSxJQUFJO0VBQ1gsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSSxHQUtiO0VBYkQsQUFVRSxZQVZVLEFBVVQsT0FBTyxDQUFDO0lBQ1AsT0FBTyxFQUFFLEtBQUssR0FDZjs7QUFFSCxBQUFBLHNCQUFzQixDQUFDO0VBRXJCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRUFBRSxJQUFJO0VBQ1gsU0FBUyxFWDlTYSxNQUFNO0VXK1M1QixHQUFHLEVBQUUsR0FBRztFQUNSLElBQUksRUFBRSxDQUFDO0VBQ1AsS0FBSyxFQUFFLENBQUM7RUFDUixTQUFTLEVBQUUsZ0JBQWdCO0VBQzNCLE1BQU0sRUFBRSxDQUFDO0VBRVQsTUFBTSxFQUFFLElBQUk7RUFDWixRQUFRLEVBQUUsSUFBSSxHQUtmO0VWN0ljLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJVTRIdkMsQUFBQSxzQkFBc0IsQ0FBQztNQWVuQixPQUFPLEVBQUUsQ0FBQyxHQUViOztBQUVELEFBQUEsWUFBWSxDQUFDO0VBQ1gsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLENBQUM7RUFDTixLQUFLLEVBQUUsQ0FBQztFQUNSLE1BQU0sRUFBRSxDQUFDO0VBQ1QsSUFBSSxFQUFFLENBQUM7RUFDUCxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osZ0JBQWdCLEVBQUUsV0FBVztFQUM3QixPQUFPLEVBQUUsRUFBRSxHQUNaOztBQUVELEFBQUEsaUJBQWlCLENBQUM7RUFDaEIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsY0FBYyxFQUFFLE1BQU07RUFDdEIsV0FBVyxFQUFFLENBQUM7RUFDZCxNQUFNLEVBQUUsQ0FBQztFQUNULE9BQU8sRUFBRSxDQUFDLEdBQ1g7O0FBRUQsQUFBQSxvQkFBb0IsQ0FBQztFQUNuQixRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osUUFBUSxFQUFFLE1BQU0sR0FTakI7RVZoTGMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0lVbUt2QyxBQUFBLG9CQUFvQixDQUFDO01BT2pCLE1BQU0sRUFBRSxLQUFLLEdBTWhCO0VWaExjLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJVW1LdkMsQUFBQSxvQkFBb0IsQ0FBQztNQVdqQixNQUFNLEVBQUUsS0FBSyxHQUVoQjs7QUFHRCxBQUFBLFdBQVcsQ0FBQztFQUNWLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLE9BQU8sRUFBRSxDQUFDO0VBQ1YsT0FBTyxFQUFFLENBQUM7RVY1V1Ysa0JBQWtCLEVVNldPLEdBQUcsQ0FBRSxJQUFJLENBQUUsUUFBUTtFVjVXNUMsZUFBZSxFVTRXVSxHQUFHLENBQUUsSUFBSSxDQUFFLFFBQVE7RVYzVzVDLGNBQWMsRVUyV1csR0FBRyxDQUFFLElBQUksQ0FBRSxRQUFRO0VWMVc1QyxhQUFhLEVVMFdZLEdBQUcsQ0FBRSxJQUFJLENBQUUsUUFBUTtFVnpXNUMsVUFBVSxFVXlXZSxHQUFHLENBQUUsSUFBSSxDQUFFLFFBQVEsR0FNN0M7RUFWRCxBQU1FLFdBTlMsQUFNUixPQUFPLENBQUM7SUFDUCxVQUFVLEVBQUUsT0FBTztJQUNuQixPQUFPLEVBQUUsQ0FBQyxHQUNYOztBQzVYSCxBQUFBLE9BQU8sQ0FBQztFQUNOLGdCQUFnQixFQUFFLE9BQU87RUFDekIsS0FBSyxFWkNNLElBQUk7RVlBZixXQUFXLEVBQUUsSUFBSTtFQUNqQixjQUFjLEVBQUUsSUFBSSxHQUNyQjs7QUFDRCxBQUFBLFdBQVcsQ0FBQztFQUNWLE9BQU8sRUFBRSxJQUFJO0VBRWIscUJBQXFCLEVBQUUsV0FBVyxHQUNuQzs7QUFDRCxBQUFBLFlBQVksQ0FBQztFQUNYLEtBQUssRUFBRSxPQUFPO0VBQ2QsS0FBSyxFQUFFLEtBQUs7RUFDWixVQUFVLEVBQUUsS0FBSyxHQU1sQjtFQVRELEFBSUUsWUFKVSxDQUlWLEdBQUcsQ0FBQztJQUNGLE9BQU8sRUFBRSxLQUFLO0lBRWQsTUFBTSxFQUFFLElBQUksR0FDYjs7QUFFSCxBQUFBLGtCQUFrQixDQUFDO0VBaUhuQjs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFpQkUsRUE4REQ7RVhyQmMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0lXM0t2QyxBQUFBLGtCQUFrQixDQUFDO01BRWYsTUFBTSxFQUFFLE9BQU87TUFDZixXQUFXLEVBQUUsS0FBSztNQUNsQixZQUFZLEVBQUUsS0FBSyxHQTRMdEI7RUFoTUQsQUFNRSxrQkFOZ0IsQ0FNaEIsRUFBRSxDQUFDO0lBQ0QsT0FBTyxFQUFFLEtBQUs7SUFDZCxPQUFPLEVBQUUsQ0FBQztJQUNWLE1BQU0sRUFBRSxVQUFVO0lBQ2xCLFNBQVMsRUFBRSxJQUFJO0lBQ2YsV0FBVyxFQUFFLElBQUksR0FLbEI7SUFoQkgsQUFhSSxrQkFiYyxDQU1oQixFQUFFLENBT0EsR0FBRyxDQUFDO01BQ0YsT0FBTyxFQUFFLElBQUksR0FDZDtFQWZMLEFBa0JFLGtCQWxCZ0IsQ0FrQmhCLEVBQUUsQ0FBQztJQUNELE9BQU8sRUFBRSxJQUFJO0lBQ2IscUJBQXFCLEVBQUUsNkJBQTZCO0lBQ3BELE9BQU8sRUFBRSxDQUFDO0lBQ1YsTUFBTSxFQUFFLENBQUM7SUFDVCxVQUFVLEVBQUUsSUFBSSxHQXVGakI7SUE5R0gsQUF5Qkksa0JBekJjLENBa0JoQixFQUFFLENBT0EsRUFBRSxDQUFDO01BQ0QsTUFBTSxFQUFFLFVBQVUsR0FtRm5CO01BN0dMLEFBNEJNLGtCQTVCWSxDQWtCaEIsRUFBRSxDQU9BLEVBQUUsQ0FHQSxJQUFJLENBQUM7UUFDSCxPQUFPLEVBQUUsS0FBSztRQUNkLE9BQU8sRUFBRSxDQUFDO1FBQ1YsTUFBTSxFQUFFLENBQUM7UUFDVCxTQUFTLEVBQUUsSUFBSTtRQUNmLFdBQVcsRUFBRSxJQUFJLEdBQ2xCO01BbENQLEFBb0NNLGtCQXBDWSxDQWtCaEIsRUFBRSxDQU9BLEVBQUUsQ0FXQSxHQUFHLENBQUM7UUFDRixPQUFPLEVBQUUsSUFBSSxHQUtkO1FYaUlRLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztVVzNLdkMsQUFvQ00sa0JBcENZLENBa0JoQixFQUFFLENBT0EsRUFBRSxDQVdBLEdBQUcsQ0FBQztZQUlBLE9BQU8sRUFBRSxLQUFLLEdBRWpCO01BMUNQLEFBNENNLGtCQTVDWSxDQWtCaEIsRUFBRSxDQU9BLEVBQUUsQ0FtQkEsRUFBRSxDQUFDO1FBQ0QsT0FBTyxFQUFFLEtBQUs7UUFDZCxVQUFVLEVBQUUsSUFBSTtRQUNoQixPQUFPLEVBQUUsQ0FBQztRQUNWLE1BQU0sRUFBRSxDQUFDLEdBd0NWO1FYbUZRLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztVVzNLdkMsQUE0Q00sa0JBNUNZLENBa0JoQixFQUFFLENBT0EsRUFBRSxDQW1CQSxFQUFFLENBQUM7WUFPQyxVQUFVLEVBQUUsSUFBSTtZQUNoQixnQkFBZ0IsRUFBRSx3QkFBd0I7WUFDMUMsT0FBTyxFQUFFLElBQUksR0FtQ2hCO1FBeEZQLEFBd0RRLGtCQXhEVSxDQWtCaEIsRUFBRSxDQU9BLEVBQUUsQ0FtQkEsRUFBRSxDQVlBLENBQUMsQ0FBQztVQUNBLE1BQU0sRUFBRSxPQUFPLEdBS2hCO1VBOURULEFBMkRVLGtCQTNEUSxDQWtCaEIsRUFBRSxDQU9BLEVBQUUsQ0FtQkEsRUFBRSxDQVlBLENBQUMsQUFHRSxNQUFNLEVBM0RqQixrQkFBa0IsQ0FrQmhCLEVBQUUsQ0FPQSxFQUFFLENBbUJBLEVBQUUsQ0FZQSxDQUFDLEFBR1csTUFBTSxDQUFDO1lBQ2YsS0FBSyxFWjdFRCxPQUFPLEdZOEVaO1FBN0RYLEFBZ0VRLGtCQWhFVSxDQWtCaEIsRUFBRSxDQU9BLEVBQUUsQ0FtQkEsRUFBRSxDQW9CQSxFQUFFLENBQUM7VUFDRCxPQUFPLEVBQUUsS0FBSztVQUNkLFVBQVUsRUFBRSxJQUFJO1VBQ2hCLE9BQU8sRUFBRSxDQUFDO1VBQ1YsTUFBTSxFQUFFLENBQUM7VUFDVCxTQUFTLEVBQUUsSUFBSSxHQWtCaEI7VUF2RlQsQUEyRVUsa0JBM0VRLENBa0JoQixFQUFFLENBT0EsRUFBRSxDQW1CQSxFQUFFLENBb0JBLEVBQUUsQ0FXQSxJQUFJLENBQUM7WUFDSCxXQUFXLEVBQUUsTUFBTTtZQUNuQixTQUFTLEVBQUUsSUFBSSxHQUNoQjtVQTlFWCxBQWdGVSxrQkFoRlEsQ0FrQmhCLEVBQUUsQ0FPQSxFQUFFLENBbUJBLEVBQUUsQ0FvQkEsRUFBRSxBQWdCQyxJQUFLLENBQUEsV0FBVyxFQUFFO1lBQ2pCLGFBQWEsRUFBRSxJQUFJLEdBS3BCO1lYcUZJLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztjVzNLdkMsQUFnRlUsa0JBaEZRLENBa0JoQixFQUFFLENBT0EsRUFBRSxDQW1CQSxFQUFFLENBb0JBLEVBQUUsQUFnQkMsSUFBSyxDQUFBLFdBQVcsRUFBRTtnQkFJZixhQUFhLEVBQUUsQ0FBQyxHQUVuQjtNWHFGSSxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7UVczS3ZDLEFBNEZRLGtCQTVGVSxDQWtCaEIsRUFBRSxDQU9BLEVBQUUsQUFpRUMsT0FBTyxDQUVOLEdBQUcsQ0FBQztVQUVBLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxZQUFZLEdBRTNDO01YMkVNLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztRVzNLdkMsQUFpR1Esa0JBakdVLENBa0JoQixFQUFFLENBT0EsRUFBRSxBQWlFQyxPQUFPLENBT04sRUFBRSxDQUFDO1VBRUMsT0FBTyxFQUFFLEtBQUssR0FPakI7RUExR1QsQUFtSUUsa0JBbklnQixDQW1JaEIsQ0FBQyxDQUFDO0lBQ0EsT0FBTyxFQUFFLFlBQVk7SUFDckIsY0FBYyxFQUFFLEdBQUc7SUFDbkIsZUFBZSxFQUFFLElBQUk7SUFDckIsS0FBSyxFQUFFLFlBQVk7SUFDbkIsTUFBTSxFQUFFLE9BQU8sR0F1RGhCO0lYcEJZLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNVzNLdkMsQUFtSUUsa0JBbklnQixDQW1JaEIsQ0FBQyxDQUFDO1FBUUUsTUFBTSxFQUFFLE9BQU8sR0FvRGxCO1FBL0xILEFBNklNLGtCQTdJWSxDQW1JaEIsQ0FBQyxBQVVJLE1BQU0sRUE3SWIsa0JBQWtCLENBbUloQixDQUFDLEFBVWEsTUFBTSxDQUFDO1VBQ2YsS0FBSyxFWi9KRyxPQUFPLEdZZ0toQjtJQS9JUCxBQWtKSSxrQkFsSmMsQ0FtSWhCLENBQUMsQUFlRSxPQUFPLENBQUM7TUFDUCxLQUFLLEVBQUUsWUFBWSxHQUNwQjtJQXBKTCxBQXNKSSxrQkF0SmMsQ0FtSWhCLENBQUMsQUFtQkUsWUFBWSxDQUFDO01BQ1osYUFBYSxFQUFFLElBQUksR0FLcEI7TVhlVSxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7UVczS3ZDLEFBc0pJLGtCQXRKYyxDQW1JaEIsQ0FBQyxBQW1CRSxZQUFZLENBQUM7VUFJVixhQUFhLEVBQUUsQ0FBQyxHQUVuQjtJWGVVLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNVzNLdkMsQUE4Skksa0JBOUpjLENBbUloQixDQUFDLENBMkJDLEdBQUcsQ0FBQztRQUVBLE9BQU8sRUFBRSxLQUFLO1FBQ2QsUUFBUSxFQUFFLFFBQVE7UUFDbEIsS0FBSyxFQUFFLElBQUk7UUFDWCxHQUFHLEVBQUUsR0FBRztRQUNSLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxjQUFjO1FBQzFDLE1BQU0sRUFBRSxJQUFJO1FBQ1osSUFBSSxFQUFFLElBQUk7UUFDVixLQUFLLEVBQUUsSUFBSSxHQUVkO0lYRVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO01XM0t2QyxBQW1JRSxrQkFuSWdCLENBbUloQixDQUFDLENBQUM7UUF5Q0UsT0FBTyxFQUFFLEtBQUs7UUFDZCxPQUFPLEVBQUUsU0FBUztRQUNsQixVQUFVLEVBQUUsSUFBSTtRQUNoQixRQUFRLEVBQUUsUUFBUTtRQUNsQixhQUFhLEVBQUUsQ0FBQyxHQWVuQjtJQS9MSCxBQW1MSSxrQkFuTGMsQ0FtSWhCLENBQUMsQUFnREUsU0FBUyxDQUFDO01BQ1QsTUFBTSxFQUFFLE9BQU8sR0FTaEI7TUE3TEwsQUFzTE0sa0JBdExZLENBbUloQixDQUFDLEFBZ0RFLFNBQVMsQ0FHUixHQUFHLENBQUM7UUFDRixPQUFPLEVBQUUsSUFBSSxHQUNkO01BeExQLEFBMExNLGtCQTFMWSxDQW1JaEIsQ0FBQyxBQWdERSxTQUFTLEFBT1AsTUFBTSxFQTFMYixrQkFBa0IsQ0FtSWhCLENBQUMsQUFnREUsU0FBUyxBQU9FLE1BQU0sQ0FBQztRQUNmLEtBQUssRVo1TUcsT0FBTyxHWTZNaEI7O0FYakJRLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFV3VCdkMsQUFBQSxXQUFXO0VBQ1gsa0JBQWtCLEdBQUcsRUFBRSxDQUFDO0lBRXBCLE9BQU8sRUFBRSxJQUFJO0lBQ2IscUJBQXFCLEVBQUUsSUFBSTtJQUMzQixRQUFRLEVBQUUsQ0FBQztJQUNYLFVBQVUsRUFBRSxNQUFNLEdBRXJCOztBQUVELEFBQUEsb0JBQW9CLENBQUM7RUFDbkIsVUFBVSxFQUFFLE1BQU07RUFDbEIsS0FBSyxFWmhPTSxJQUFJLEdZNE9oQjtFQWRELEFBSUksb0JBSmdCLENBR2xCLEVBQUUsQ0FDQSxDQUFDLENBQUM7SUFDQSxLQUFLLEVBQUUsWUFBWSxHQU9wQjtJQVpMLEFBTU0sb0JBTmMsQ0FHbEIsRUFBRSxDQUNBLENBQUMsQUFFRSxNQUFNLEVBTmIsb0JBQW9CLENBR2xCLEVBQUUsQ0FDQSxDQUFDLEFBRVcsTUFBTSxDQUFDO01BQ2YsS0FBSyxFWnBPRyxPQUFPLEdZcU9oQjtJQVJQLEFBU00sb0JBVGMsQ0FHbEIsRUFBRSxDQUNBLENBQUMsQUFLRSxPQUFPLENBQUM7TUFDUCxLQUFLLEVBQUUsWUFBWSxHQUNwQjs7QUFJUCxBQUFBLGNBQWMsQ0FBQztFQUNiLFNBQVMsRUFBRSxJQUFJO0VBQ2YsVUFBVSxFQUFFLElBQUk7RUFDaEIsWUFBWSxFQUFFLEtBQUssR0FDcEI7O0FBT0QsQUFBQSxZQUFZLENBQUM7RUFDWCxNQUFNLEVBQUUsS0FBSztFQUViLEtBQUssRUFBRSxJQUFJO0VBQ1gsZUFBZSxFQUFFLEtBQUs7RUFDdEIsbUJBQW1CLEVBQUUsTUFBTTtFQUMzQixpQkFBaUIsRUFBRSxTQUFTO0VBQzVCLEtBQUssRUFBRSxJQUFJO0VBQ1gsT0FBTyxFQUFFLElBQUk7RUFDYixXQUFXLEVBQUUsTUFBTTtFQUNuQixTQUFTLEVBQUUsSUFBSTtFQUNmLFFBQVEsRUFBRSxRQUFRLEdBQ25COztBQUVELEFBQUEsb0JBQW9CLENBQUM7RUFDbkIsU0FBUyxFQUFFLEtBQUs7RUFFaEIsVUFBVSxFQUFFLE1BQU0sR0E0Qm5CO0VYeEdjLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJV3lFdkMsQUFBQSxvQkFBb0IsQ0FBQztNQU1qQixVQUFVLEVBQUUsTUFBTSxHQXlCckI7RVh4R2MsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0lXeUV2QyxBQVNFLG9CQVRrQixDQVNsQixFQUFFLENBQUM7TUFFQyxPQUFPLEVBQUUsQ0FBQyxHQUViO0VBYkgsQUFlRSxvQkFma0IsQ0FlbEIsQ0FBQyxDQUFDO0lBQ0EsV0FBVyxFQUFFLE1BQU07SUFDbkIsU0FBUyxFQUFFLElBQUk7SUFDZixPQUFPLEVBQUUsQ0FBQztJQUNWLE1BQU0sRUFBRSxVQUFVO0lBQ2xCLFdBQVcsRUFBRSxHQUFHLEdBRWpCO0VBdEJILEFBeUJNLG9CQXpCYyxDQXVCbEIsZUFBZSxDQUNiLFlBQVksQUFDVCxZQUFZLENBQUM7SUFDWixVQUFVLEVBQUUsSUFBSSxHQUNqQjs7QUFRUCxBQUFBLGlCQUFpQixDQUFDO0VBQ2hCLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLGNBQWMsRUFBRSxLQUFLO0VBQ3JCLFVBQVUsRUFBRSxNQUFNLEdBcUNuQjtFQXhDRCxBQUlFLGlCQUplLENBSWYsV0FBVyxDQUFDO0lBQ1YsTUFBTSxFQUFFLEtBQUs7SUFDYixLQUFLLEVBQUUsSUFBSTtJQUNYLGFBQWEsRUFBRSxJQUFJLEdBS3BCO0lBWkgsQUFRSSxpQkFSYSxDQUlmLFdBQVcsQ0FJVCxHQUFHLENBQUM7TUFDRixNQUFNLEVBQUUsSUFBSTtNQUNaLEtBQUssRUFBRSxJQUFJLEdBQ1o7RUFYTCxBQWNFLGlCQWRlLENBY2YsRUFBRSxDQUFDO0lBQ0QsU0FBUyxFQUFFLElBQUk7SUFDZixXQUFXLEVBQUUsSUFBSTtJQUNqQixNQUFNLEVBQUUsQ0FBQztJQUNULE9BQU8sRUFBRSxDQUFDO0lBQ1YsT0FBTyxFQUFFLEtBQUs7SUFDZCxVQUFVLEVBQUUsSUFBSSxHQUNqQjtFQXJCSCxBQXVCRSxpQkF2QmUsQ0F1QmYsQ0FBQyxDQUFDO0lBQ0EsS0FBSyxFQUFFLEtBQUs7SUFDWixPQUFPLEVBQUUsS0FBSztJQUNkLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFlBQVksRUFBRSxJQUFJLEdBQ25CO0VBNUJILEFBOEJFLGlCQTlCZSxDQThCZixDQUFDLENBQUM7SUFDQSxVQUFVLEVBQUUsQ0FBQyxHQUNkO0VBaENILEFBa0NFLGlCQWxDZSxDQWtDZixZQUFZLENBQUM7SUFDWCxVQUFVLEVBQUUsSUFBSSxHQUNqQjs7QUFRSCxBQUFBLG1CQUFtQixDQUFDO0VBQ2xCLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLFVBQVUsRUFBRSxNQUFNLEdBQ25COztBQUNELEFBQUEsZ0JBQWdCLENBQUM7RUFDZixRQUFRLEVBQUUsUUFBUTtFQUNsQixVQUFVLEVBQUUsSUFBSTtFQUNoQixPQUFPLEVBQUUsQ0FBQztFQUNWLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLElBQUk7RUFDYixLQUFLLEVBQUUsSUFBSTtFQUNYLFdBQVcsRUFBRSxNQUFNO0VBQ25CLGVBQWUsRUFBRSxNQUFNLEdBd0N4QjtFQWhERCxBQVVFLGdCQVZjLEdBVVosRUFBRSxDQUFDO0lBQ0gsT0FBTyxFQUFFLEtBQUs7SUFDZCxVQUFVLEVBQUUsSUFBSTtJQUNoQixPQUFPLEVBQUUsQ0FBQztJQUNWLE1BQU0sRUFBRSxDQUFDLEdBaUNWO0lBL0NILEFBZUksZ0JBZlksR0FVWixFQUFFLEdBS0EsQ0FBQyxDQUFDO01BQ0YsUUFBUSxFQUFFLFFBQVE7TUFDbEIsT0FBTyxFQUFFLEtBQUs7TUFDZCxRQUFRLEVBQUUsTUFBTSxHQTRCakI7TUE5Q0wsQUFvQk0sZ0JBcEJVLEdBVVosRUFBRSxHQUtBLENBQUMsQUFLQSxPQUFPLENBQUM7UUFDUCxPQUFPLEVBQUUsRUFBRTtRQUNYLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLEdBQUcsRUFBRSxDQUFDO1FBQ04sSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUsSUFBSTtRQUNYLE1BQU0sRUFBRSxJQUFJO1FBQ1osVUFBVSxFQUFFLGtCQUFnQjtRQUM1QixPQUFPLEVBQUUsRUFBRTtRQUNYLE9BQU8sRUFBRSxDQUFDO1FYL1doQixrQkFBa0IsRVdnWGEsR0FBRyxDQUFFLElBQUksQ0FBRSxRQUFRO1FYL1dsRCxlQUFlLEVXK1dnQixHQUFHLENBQUUsSUFBSSxDQUFFLFFBQVE7UVg5V2xELGNBQWMsRVc4V2lCLEdBQUcsQ0FBRSxJQUFJLENBQUUsUUFBUTtRWDdXbEQsYUFBYSxFVzZXa0IsR0FBRyxDQUFFLElBQUksQ0FBRSxRQUFRO1FYNVdsRCxVQUFVLEVXNFdxQixHQUFHLENBQUUsSUFBSSxDQUFFLFFBQVEsR0FDN0M7TUEvQlAsQUFrQ1EsZ0JBbENRLEdBVVosRUFBRSxHQUtBLENBQUMsQUFrQkEsTUFBTSxBQUNKLE9BQU8sRUFsQ2hCLGdCQUFnQixHQVVaLEVBQUUsR0FLQSxDQUFDLEFBa0JTLE1BQU0sQUFDYixPQUFPLENBQUM7UUFDUCxPQUFPLEVBQUUsQ0FBQyxHQUNYO01BcENULEFBeUNVLGdCQXpDTSxHQVVaLEVBQUUsR0FLQSxDQUFDLEFBa0JBLE1BQU0sQ0FPTCxzQkFBc0IsQ0FDcEIsR0FBRyxFQXpDYixnQkFBZ0IsR0FVWixFQUFFLEdBS0EsQ0FBQyxBQWtCUyxNQUFNLENBT2Qsc0JBQXNCLENBQ3BCLEdBQUcsQ0FBQztRQUNGLFNBQVMsRUFBRSxVQUFVLEdBQ3RCOztBQU1YLEFBQ0Usc0JBRG9CLENBQ3BCLEdBQUcsQ0FBQztFQUNGLFNBQVMsRUFBRSxRQUFRO0VBQ25CLFdBQVcsRUFBRSxTQUFTO0VBQ3RCLFVBQVUsRUFBRSxTQUFTLENacFlKLEtBQUssQ1lvWW9CLElBQUksR0FDL0M7O0FBRUgsQUFBQSxzQkFBc0IsQ0FBQztFQUNyQixRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsSUFBSTtFQUNYLFNBQVMsRUFBRSxJQUFJO0VBQ2YsV0FBVyxFQUFFLEdBQUc7RUFDaEIsV0FBVyxFQUFFLElBQUk7RUFDakIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsSUFBSSxFQUFFLEdBQUc7RUFDVCxHQUFHLEVBQUUsR0FBRztFQUNSLFNBQVMsRUFBRSxxQkFBcUI7RUFDaEMsT0FBTyxFQUFFLEVBQUUsR0FDWjs7QUFJRCxBQUFBLHVCQUF1QixDQUFDO0VBQ3RCLFdBQVcsRUFBRSxLQUFLO0VBQ2xCLGNBQWMsRUFBRSxLQUFLO0VBQ3JCLFVBQVUsRUFBRSxNQUFNO0VBK0JsQjs7Ozs7Ozs7Ozs7SUFXRSxFQW1HSDtFWG5YYyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7SVdtT3ZDLEFBQUEsdUJBQXVCLENBQUM7TUFNcEIsWUFBWSxFQUFFLElBQUk7TUFDbEIsYUFBYSxFQUFFLElBQUksR0F5SXRCO0VBaEpELEFBVUUsdUJBVnFCLENBVXJCLEVBQUUsQ0FBQztJQUNELE9BQU8sRUFBRSxZQUFZO0lBQ3JCLFNBQVMsRUFBRSxJQUFJO0lBQ2YsVUFBVSxFQUFFLElBQUk7SUFDaEIsTUFBTSxFQUFFLENBQUM7SUFDVCxPQUFPLEVBQUUsQ0FBQztJQUNWLFdBQVcsRUFBRSxJQUFJLEdBaUJsQjtJWHBRWSxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7TVdtT3ZDLEFBVUUsdUJBVnFCLENBVXJCLEVBQUUsQ0FBQztRQVNDLFNBQVMsRUFBRSxJQUFJO1FBQ2YsTUFBTSxFQUFFLElBQUksR0FhZjtJQWpDSCxBQXVCSSx1QkF2Qm1CLENBVXJCLEVBQUUsQ0FhQSxFQUFFLENBQUM7TUFDQSxlQUFlLEVBQUUsTUFBTTtNQUN2QixtQkFBbUIsRUFBRSxPQUFPO01BQzVCLGNBQWMsRUFBRSxJQUFJO01BQ3BCLFlBQVksRUFBRSxHQUFHLEdBS25CO01BaENMLEFBNkJPLHVCQTdCZ0IsQ0FVckIsRUFBRSxDQWFBLEVBQUUsQUFNRSxXQUFXLENBQUM7UUFDWixjQUFjLEVBQUUsQ0FBQyxHQUNqQjtFQS9CUixBQThDRSx1QkE5Q3FCLENBOENyQixFQUFFLENBQUM7SUFDRCxLQUFLLEVBQUUsS0FBSztJQUNaLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFlBQVksRUFBRSxJQUFJLEdBV25CO0lYMVVDLE1BQU0sQ0FBQSxJQUFJO01XOFFkLEFBOENFLHVCQTlDcUIsQ0E4Q3JCLEVBQUUsQ0FBQztRQU9DLGFBQWEsRUFBRSxJQUFJLEdBT3RCO0lYL1JZLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNV21PdkMsQUE4Q0UsdUJBOUNxQixDQThDckIsRUFBRSxDQUFDO1FBV0MsYUFBYSxFQUFFLElBQUk7UUFDbkIsT0FBTyxFQUFFLENBQUMsR0FFYjtFQTVESCxBQTZERSx1QkE3RHFCLENBNkRyQixXQUFXLENBQUM7SUFDVixNQUFNLEVBQUUsS0FBSztJQUNiLGFBQWEsRUFBRSxJQUFJLEdBc0NwQjtJWHhVWSxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7TVdtT3ZDLEFBNkRFLHVCQTdEcUIsQ0E2RHJCLFdBQVcsQ0FBQztRQUtSLE1BQU0sRUFBRSxJQUFJLEdBbUNmO0lBckdILEFBcUVJLHVCQXJFbUIsQ0E2RHJCLFdBQVcsQ0FRVCxHQUFHLENBQUM7TUFDRixNQUFNLEVBQUUsSUFBSTtNQUNaLEtBQUssRUFBRSxJQUFJLEdBTVo7TVhoVFUsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO1FXbU92QyxBQXFFSSx1QkFyRW1CLENBNkRyQixXQUFXLENBUVQsR0FBRyxDQUFDO1VBS0EsTUFBTSxFQUFFLElBQUk7VUFDWixLQUFLLEVBQUUsR0FBRyxHQUViO0lBN0VMLEFBK0VJLHVCQS9FbUIsQ0E2RHJCLFdBQVcsQUFrQlIsZUFBZSxDQUFDO01BQ2YsVUFBVSxFQUFFLEtBQUs7TUFDdkI7Ozs7OztFQU1FLEVBYUc7TVh2VVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO1FXbU92QyxBQStFSSx1QkEvRW1CLENBNkRyQixXQUFXLEFBa0JSLGVBQWUsQ0FBQztVQVViLFVBQVUsRUFBRSxLQUFLLEdBV3BCO01BcEdMLEFBNkZRLHVCQTdGZSxDQTZEckIsV0FBVyxBQWtCUixlQUFlLENBYWQsYUFBYSxDQUNYLEdBQUcsQ0FBQztRQUNGLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLEtBQUssRUFBRSxJQUFJO1FBQ1gsTUFBTSxFQUFFLElBQUksR0FDYjtFQWpHVCxBQXNHRSx1QkF0R3FCLENBc0dyQixZQUFZLENBQUM7SUFDWCxRQUFRLEVBQUUsUUFBUTtJQUNsQixNQUFNLEVBQUUsQ0FBQztJQUNULElBQUksRUFBRSxDQUFDO0lBQ1AsS0FBSyxFQUFFLENBQUM7SUFDUixLQUFLLEVBQUUsSUFBSTtJQUNYLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO0VBN0dILEFBOEdFLHVCQTlHcUIsQ0E4R3JCLE9BQU8sQ0FBQztJWHZnQlIsa0JBQWtCLEVXMmdCUyxHQUFHLENBQUUsRUFBRSxDQUFFLFFBQVE7SVgxZ0I1QyxlQUFlLEVXMGdCWSxHQUFHLENBQUUsRUFBRSxDQUFFLFFBQVE7SVh6Z0I1QyxjQUFjLEVXeWdCYSxHQUFHLENBQUUsRUFBRSxDQUFFLFFBQVE7SVh4Z0I1QyxhQUFhLEVXd2dCYyxHQUFHLENBQUUsRUFBRSxDQUFFLFFBQVE7SVh2Z0I1QyxVQUFVLEVXdWdCaUIsR0FBRyxDQUFFLEVBQUUsQ0FBRSxRQUFRLEdBQzNDO0VBRUEsQUFBRCxrQ0FBWSxDQUFDO0lBQ1g7Ozs7TUFJRSxFQU9IO0lBWkEsQUFNQyxrQ0FOVSxDQU1WLEVBQUUsQ0FBQztNQUNELGFBQWEsRUFBRSxJQUFJLEdBQ3BCO0lBUkYsQUFTQyxrQ0FUVSxDQVNWLE9BQU8sQ0FBQztNQUNOLFVBQVUsRUFBRSxLQUFLLEdBQ2xCO0VBaElMLEFBbUlFLHVCQW5JcUIsQUFtSXBCLFlBQVksQ0FBQztJQUlaOzs7Ozs7SUFNQSxFQUVEO0lBL0lILEFBb0lJLHVCQXBJbUIsQUFtSXBCLFlBQVksQ0FDWCxvQkFBb0IsQ0FBQztNQUNuQixPQUFPLEVBQUUsQ0FBQyxHQUNYOztBQVlMLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSyxPQUFPLFVBQVUsRUFBRSxLQUFLO0VBQzlDLEFBQUEsdUJBQXVCLENBQUMsV0FBVyxBQUFBLGVBQWUsQ0FBQztJQUNqRCxTQUFTLEVBQUUsVUFBVTtJQUNyQixHQUFHLEVBQUUsR0FBRztJQUNSLFVBQVUsRUFBRSxHQUFHLEdBQ2hCOztBQUtILEFBQUEsWUFBWSxDQUFDO0VBRVgsTUFBTSxFQUFFLE1BQU07RUFFZCxXQUFXLEVBQUUsQ0FBQztFQUNkLGNBQWMsRUFBRSxDQUFDO0VBRWpCLGlCQUFpQixFQUFFLFNBQVM7RUFDNUIsZUFBZSxFQUFFLEtBQUs7RUFDdEIsT0FBTyxFQUFFLElBQUk7RUFDYixXQUFXLEVBQUUsTUFBTTtFQUNuQixRQUFRLEVBQUUsUUFBUSxHQVVuQjtFQXJCRCxBQVlFLFlBWlUsQ0FZVixnQkFBZ0IsQ0FBQztJQUNmLE9BQU8sRUFBRSxJQUFJO0lBQ2IscUJBQXFCLEVBQUUsT0FBTztJQUM5QixlQUFlLEVBQUUsYUFBYSxHQUMvQjtFQWhCSCxBQWtCRSxZQWxCVSxDQWtCVixZQUFZLENBQUM7SUFDWCxVQUFVLEVBQUUsSUFBSSxHQUNqQjs7QUFFSCxBQUFBLGlCQUFpQixDQUFDO0VBQ2hCLFVBQVUsRUFBRSxJQUFJLEdBQ2pCOztBQUNELEFBQUEsa0JBQWtCLENBQUM7RUFDakIsT0FBTyxFQUFFLEtBQUssR0FJZjtFQUxELEFBRUUsa0JBRmdCLENBRWhCLEdBQUcsQ0FBQztJQUNGLEtBQUssRUFBRSxJQUFJLEdBQ1o7O0FBS0gsQUFBQSxpQkFBaUIsQ0FBQztFQUNoQixVQUFVLEVBQUUsTUFBTTtFQUNsQixXQUFXLEVBQUUsS0FBSztFQUNsQixjQUFjLEVBQUUsS0FBSyxHQUN0Qjs7QUFDRCxBQUFBLGNBQWMsQ0FBQztFQUNiLE9BQU8sRUFBRSxJQUFJO0VBR2IsVUFBVSxFQUFFLElBQUk7RUFDaEIsT0FBTyxFQUFFLENBQUM7RUFDVixNQUFNLEVBQUUsQ0FBQyxHQUNWOztBQUNELEFBQUEsYUFBYSxDQUFDO0VBQ1osUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLEtBQUs7RUFDZCxVQUFVLEVBQUUsSUFBSTtFQUNoQixPQUFPLEVBQUUsQ0FBQztFQUNWLE1BQU0sRUFBRSxDQUFDO0VBQ1QsUUFBUSxFQUFFLFFBQVE7RUFDbEIsTUFBTSxFQUFFLEtBQUs7RUFDYixRQUFRLEVBQUUsTUFBTSxHQThCakI7RUF0Q0QsQUFVRSxhQVZXLEFBVVYsT0FBTyxDQUFDO0lBQ1AsT0FBTyxFQUFFLEVBQUU7SUFDWCxRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVBQUUsQ0FBQztJQUNOLElBQUksRUFBRSxDQUFDO0lBQ1AsS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBQUUsSUFBSTtJQUNaLFVBQVUsRUFBRSxrQkFBZ0I7SUFDNUIsT0FBTyxFQUFFLEVBQUU7SUFDWCxPQUFPLEVBQUUsQ0FBQztJWHZuQlosa0JBQWtCLEVXd25CUyxHQUFHLENBQUUsSUFBSSxDQUFFLFFBQVE7SVh2bkI5QyxlQUFlLEVXdW5CWSxHQUFHLENBQUUsSUFBSSxDQUFFLFFBQVE7SVh0bkI5QyxjQUFjLEVXc25CYSxHQUFHLENBQUUsSUFBSSxDQUFFLFFBQVE7SVhybkI5QyxhQUFhLEVXcW5CYyxHQUFHLENBQUUsSUFBSSxDQUFFLFFBQVE7SVhwbkI5QyxVQUFVLEVXb25CaUIsR0FBRyxDQUFFLElBQUksQ0FBRSxRQUFRLEdBQzdDO0VBckJILEFBd0JJLGFBeEJTLEFBdUJWLE1BQU0sQUFDSixPQUFPLENBQUM7SUFDUCxPQUFPLEVBQUUsQ0FBQyxHQUNYO0VBMUJMLEFBMkJJLGFBM0JTLEFBdUJWLE1BQU0sQ0FJTCxHQUFHLENBQUM7SUFDRixTQUFTLEVBQUcsVUFBVSxHQUN2QjtFQTdCTCxBQStCRSxhQS9CVyxDQStCWCxPQUFPLENBQUM7SUFDTixRQUFRLEVBQUUsUUFBUTtJQUNsQixNQUFNLEVBQUUsSUFBSTtJQUNaLElBQUksRUFBRSxHQUFHO0lBQ1QsU0FBUyxFQUFFLGdCQUFnQjtJQUMzQixPQUFPLEVBQUUsRUFBRSxHQUNaOztBQUVILEFBQUEsbUJBQW1CLENBQUM7RUFDbEIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLENBQUM7RUFDTixJQUFJLEVBQUUsQ0FBQztFQUNQLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFDWixPQUFPLEVBQUUsRUFBRSxHQWVaO0VBckJELEFBUUUsbUJBUmlCLENBUWpCLEdBQUcsQ0FBQztJQUNGLE9BQU8sRUFBRSxLQUFLO0lBQ2QsVUFBVSxFQUFFLEtBQUs7SUFDakIsZUFBZSxFQUFFLE1BQU07SUFDdkIsUUFBUSxFQUFFLFFBQVE7SUFDbEIsSUFBSSxFQUFFLENBQUM7SUFDUCxHQUFHLEVBQUUsQ0FBQztJQUNOLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLElBQUk7SUFDWixTQUFTLEVBQUcsUUFBUTtJQUNwQixVQUFVLEVBQUUsU0FBUyxDWjFwQkosS0FBSyxDWTBwQm9CLElBQUk7SUFDOUMsV0FBVyxFQUFFLFNBQVMsR0FDdkI7O0FBRUgsQUFBQSxtQkFBbUIsQ0FBQztFQUNsQixRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsSUFBSTtFQUNYLE9BQU8sRUFBRSxDQUFDO0VBQ1YsTUFBTSxFQUFFLENBQUM7RUFDVCxPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxJQUFJO0VBQ1gsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLEdBQUc7RUFDUixTQUFTLEVBQUUsZ0JBQWdCO0VBRTNCLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLFNBQVMsRUFBRSxJQUFJO0VBQ2YsV0FBVyxFQUFFLElBQUk7RUFDakIsWUFBWSxFQUFFLElBQUk7RUFDbEIsYUFBYSxFQUFFLElBQUk7RUFDbkIsT0FBTyxFQUFFLEVBQUUsR0FLWjtFQXJCRCxBQWlCRSxtQkFqQmlCLENBaUJqQixDQUFDLENBQUM7SUFDQSxLQUFLLEVBQUUsWUFBWTtJQUNuQixlQUFlLEVBQUUsSUFBSSxHQUN0Qjs7QVg3aEJZLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFV2dpQnZDLEFBR00sY0FIUSxBQUNYLGlCQUFpQixDQUVkLGFBQWEsQ0FBQztJQUVaLEtBQUssRUFBRSxxQkFBcUI7SUFDNUIsV0FBVyxFQUFFLElBQUk7SUFDakIsWUFBWSxFQUFFLElBQUk7SUFDbEIsT0FBTyxFQUFFLEtBQUssR0FDZjtFQVRQLEFBZU0sY0FmUSxBQUNYLGlCQUFpQixDQWNkLDBCQUEwQixDQUFDO0lBQ3pCLEtBQUssRUFBRSxPQUFPO0lBQ2QsVUFBVSxFQUFFLE1BQU0sR0EyQ25CO0lBNURQLEFBbUJRLGNBbkJNLEFBQ1gsaUJBQWlCLENBY2QsMEJBQTBCLEFBSXZCLFNBQVMsQ0FBQztNQUNULE9BQU8sRUFBRSxJQUFJLEdBQ2Q7SUFyQlQsQUF1QlEsY0F2Qk0sQUFDWCxpQkFBaUIsQ0FjZCwwQkFBMEIsQUFRdkIsU0FBUyxFQXZCbEIsY0FBYyxBQUNYLGlCQUFpQixDQWNkLDBCQUEwQixBQVN2QixLQUFLLENBQ047TVhqdEJOLGtCQUFrQixFV2l1QmUsR0FBRyxDQUFFLElBQUksQ0FBRSxRQUFRO01YaHVCcEQsZUFBZSxFV2d1QmtCLEdBQUcsQ0FBRSxJQUFJLENBQUUsUUFBUTtNWC90QnBELGNBQWMsRVcrdEJtQixHQUFHLENBQUUsSUFBSSxDQUFFLFFBQVE7TVg5dEJwRCxhQUFhLEVXOHRCb0IsR0FBRyxDQUFFLElBQUksQ0FBRSxRQUFRO01YN3RCcEQsVUFBVSxFVzZ0QnVCLEdBQUcsQ0FBRSxJQUFJLENBQUUsUUFBUSxHQUM3QztNQTFDVCxBQTBCVSxjQTFCSSxBQUNYLGlCQUFpQixDQWNkLDBCQUEwQixBQVF2QixTQUFTLEFBR1AsT0FBTyxFQTFCbEIsY0FBYyxBQUNYLGlCQUFpQixDQWNkLDBCQUEwQixBQVN2QixLQUFLLEFBRUgsT0FBTyxDQUFDO1FBQ1AsT0FBTyxFQUFFLEVBQUU7UUFDWCxRQUFRLEVBQUUsUUFBUTtRQUNsQixHQUFHLEVBQUUsQ0FBQztRQUNOLElBQUksRUFBRSxDQUFDO1FBQ1AsS0FBSyxFQUFFLElBQUk7UUFDWCxNQUFNLEVBQUUsSUFBSTtRQUNaLFVBQVUsRUFBRSx3QkFBc0I7UUFDbEMsT0FBTyxFQUFFLENBQUM7UVgxdEJwQixrQkFBa0IsRVcydEJpQixHQUFHLENBQUUsSUFBSSxDQUFFLFFBQVE7UVgxdEJ0RCxlQUFlLEVXMHRCb0IsR0FBRyxDQUFFLElBQUksQ0FBRSxRQUFRO1FYenRCdEQsY0FBYyxFV3l0QnFCLEdBQUcsQ0FBRSxJQUFJLENBQUUsUUFBUTtRWHh0QnRELGFBQWEsRVd3dEJzQixHQUFHLENBQUUsSUFBSSxDQUFFLFFBQVE7UVh2dEJ0RCxVQUFVLEVXdXRCeUIsR0FBRyxDQUFFLElBQUksQ0FBRSxRQUFRLEdBSzdDO01YMWlCSSxNQUFNLEVBOUJFLFNBQVMsRUFBRSxLQUFLLE9BOEJoQixTQUFTLEVBQUUsTUFBTTtRV2tnQnhDLEFBMEJVLGNBMUJJLEFBQ1gsaUJBQWlCLENBY2QsMEJBQTBCLEFBUXZCLFNBQVMsQUFHUCxPQUFPLEVBMUJsQixjQUFjLEFBQ1gsaUJBQWlCLENBY2QsMEJBQTBCLEFBU3ZCLEtBQUssQUFFSCxPQUFPLENBQUM7VUFZTCxPQUFPLEVBQUUsQ0FBQyxHQUViOztBWHhrQkksTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0lXZ2lCdkMsQUE0Q1EsY0E1Q00sQUFDWCxpQkFBaUIsQ0FjZCwwQkFBMEIsQUE2QnZCLFNBQVMsQ0FBQztNQUNULElBQUksRUFBRSxLQUFLLEdBTVo7SVhyakJNLE1BQU0sRUE5QkUsU0FBUyxFQUFFLEtBQUssT0E4QmhCLFNBQVMsRUFBRSxNQUFNO01Xa2dCeEMsQUE0Q1EsY0E1Q00sQUFDWCxpQkFBaUIsQ0FjZCwwQkFBMEIsQUE2QnZCLFNBQVMsQ0FBQztRQUlQLElBQUksRUFBRSxDQUFDO1FBQ1AsR0FBRyxFQUFFLEdBQUcsR0FFWDs7QVhubEJNLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJV2dpQnZDLEFBb0RRLGNBcERNLEFBQ1gsaUJBQWlCLENBY2QsMEJBQTBCLEFBcUN2QixLQUFLLENBQUM7TUFDTCxLQUFLLEVBQUUsS0FBSyxHQU1iO0lYN2pCTSxNQUFNLEVBOUJFLFNBQVMsRUFBRSxLQUFLLE9BOEJoQixTQUFTLEVBQUUsTUFBTTtNV2tnQnhDLEFBb0RRLGNBcERNLEFBQ1gsaUJBQWlCLENBY2QsMEJBQTBCLEFBcUN2QixLQUFLLENBQUM7UUFJSCxLQUFLLEVBQUUsQ0FBQztRQUNSLEdBQUcsRUFBRSxHQUFHLEdBRVg7O0FBM0RULEFBZ0VJLGNBaEVVLEFBK0RYLG1CQUFtQixDQUNsQiwwQkFBMEIsQ0FBQztFQUN6QixVQUFVLEVBQUUsT0FBTyxHQUNwQjs7QUFNTCxBQUFBLHdCQUF3QixDQUFDO0VBQ3ZCLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLFdBQVcsRUFBRSxLQUFLO0VBQ2xCLGNBQWMsRUFBRSxLQUFLLEdBdUJ0QjtFQTFCRCxBQUlFLHdCQUpzQixDQUl0QixFQUFFLENBQUM7SUFDRCxTQUFTLEVBQUUsSUFBSTtJQUNmLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLE1BQU0sRUFBRSxDQUFDO0lBQ1QsT0FBTyxFQUFFLENBQUM7SUFDVixPQUFPLEVBQUUsS0FBSyxHQUNmO0VBVkgsQUFZRSx3QkFac0IsQ0FZdEIsQ0FBQyxDQUFDO0lBQ0EsZUFBZSxFQUFFLElBQUksR0FTdEI7SUF0QkgsQUFlSSx3QkFmb0IsQ0FZdEIsQ0FBQyxDQUdDLEVBQUUsQ0FBQztNQUNELFdBQVcsRUFBRSxNQUFNO01BQ25CLEtBQUssRVp4eEJFLElBQUk7TVl5eEJYLFFBQVEsRUFBRSxRQUFRO01BQ2xCLEdBQUcsRUFBRSxJQUFJLEdBRVY7RUFyQkwsQUF1QkUsd0JBdkJzQixDQXVCdEIsWUFBWSxDQUFDO0lBQ1gsVUFBVSxFQUFFLElBQUksR0FDakI7O0FBRUgsQUFBQSxxQkFBcUIsQ0FBQztFQUNwQixVQUFVLEVBQUUsSUFBSTtFQUNoQixNQUFNLEVBQUUsYUFBYTtFQUNyQixPQUFPLEVBQUUsQ0FBQztFQUNWLE9BQU8sRUFBRSxJQUFJO0VBQ2IscUJBQXFCLEVBQUUsV0FBVyxHQXVIbkM7RUE1SEQsQUFNRSxxQkFObUIsR0FNakIsRUFBRSxDQUFDO0lBQ0gsUUFBUSxFQUFFLFFBQVE7SUFDbEIsVUFBVSxFQUFFLElBQUk7SUFDaEIsT0FBTyxFQUFFLEtBQUs7SUFDZCxNQUFNLEVBQUUsQ0FBQztJQUNULE9BQU8sRUFBRSxNQUFNO0lBQ2YsVUFBVSxFQUFFLE1BQU07SVh2eUJwQixrQkFBa0IsRVd3eUJTLEdBQUcsQ0FBRSxJQUFJLENBQUUsUUFBUTtJWHZ5QjlDLGVBQWUsRVd1eUJZLEdBQUcsQ0FBRSxJQUFJLENBQUUsUUFBUTtJWHR5QjlDLGNBQWMsRVdzeUJhLEdBQUcsQ0FBRSxJQUFJLENBQUUsUUFBUTtJWHJ5QjlDLGFBQWEsRVdxeUJjLEdBQUcsQ0FBRSxJQUFJLENBQUUsUUFBUTtJWHB5QjlDLFVBQVUsRVdveUJpQixHQUFHLENBQUUsSUFBSSxDQUFFLFFBQVEsR0EyQzdDO0lBeERILEFBZUkscUJBZmlCLEdBTWpCLEVBQUUsQUFTRCxPQUFPLENBQUM7TUFDUCxPQUFPLEVBQUUsRUFBRTtNQUNYLFFBQVEsRUFBRSxRQUFRO01BQ2xCLEdBQUcsRUFBRSxHQUFHO01BQ1IsSUFBSSxFQUFFLENBQUM7TUFDUCxLQUFLLEVBQUUsQ0FBQztNQUNSLFNBQVMsRUFBRSxnQkFBZ0I7TUFDM0IsS0FBSyxFQUFFLEdBQUc7TUFDVixNQUFNLEVBQUUsR0FBRztNQUNYLE1BQU0sRUFBRSxJQUFJO01BQ1osVUFBVSxFQUFFLFdBQVc7TUFDdkIsTUFBTSxFQUFFLENBQUM7TUFDVCxPQUFPLEVBQUUsSUFBSTtNQUNiLGFBQWEsRUFBRSxPQUFPO01BQ3RCLGtCQUFrQixFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBZTtNQUNyRCxVQUFVLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFlO01YenpCakQsa0JBQWtCLEVXMHpCVyxHQUFHLENBQUUsSUFBSSxDQUFFLFFBQVE7TVh6ekJoRCxlQUFlLEVXeXpCYyxHQUFHLENBQUUsSUFBSSxDQUFFLFFBQVE7TVh4ekJoRCxjQUFjLEVXd3pCZSxHQUFHLENBQUUsSUFBSSxDQUFFLFFBQVE7TVh2ekJoRCxhQUFhLEVXdXpCZ0IsR0FBRyxDQUFFLElBQUksQ0FBRSxRQUFRO01YdHpCaEQsVUFBVSxFV3N6Qm1CLEdBQUcsQ0FBRSxJQUFJLENBQUUsUUFBUSxHQUU3QztJQWpDTCxBQW1DSSxxQkFuQ2lCLEdBTWpCLEVBQUUsQ0E2QkYsQ0FBQyxDQUFDO01BQ0EsUUFBUSxFQUFFLFFBQVE7TUFDbEIsT0FBTyxFQUFFLFlBQVk7TUFDckIsY0FBYyxFQUFFLEdBQUc7TUFDbkIsZUFBZSxFQUFFLElBQUk7TUFDckIsS0FBSyxFQUFFLElBQUk7TUFDWCxTQUFTLEVBQUUsS0FBSztNQUNoQixPQUFPLEVBQUUsQ0FBQyxHQUlYO0lBOUNMLEFBZ0RJLHFCQWhEaUIsR0FNakIsRUFBRSxBQTBDRCxNQUFNLENBQUM7TUFDTixTQUFTLEVBQUUsVUFBVSxHQU10QjtNQXZETCxBQW1ETSxxQkFuRGUsR0FNakIsRUFBRSxBQTBDRCxNQUFNLEFBR0osT0FBTyxDQUFDO1FBQ1Asa0JBQWtCLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFlO1FBQ3JELFVBQVUsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWUsR0FDOUM7RVgzcEJRLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJV3FtQnZDLEFBZ0VNLHFCQWhFZSxBQTJEaEIsaUJBQWlCLENBS2hCLHNCQUFzQixDQUFDO01BQ3JCLEdBQUcsRUFBRSxDQUFDO01BQ04sSUFBSSxFQUFFLENBQUM7TUFDUCxLQUFLLEVBQUUsQ0FBQztNQUNSLFVBQVUsRUFBRSxNQUFNO01BQ2xCLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7SUF0RVAsQUF1RU0scUJBdkVlLEFBMkRoQixpQkFBaUIsQ0FZaEIsNEJBQTRCLENBQUM7TUFDM0IsU0FBUyxFQUFFLGlCQUFpQixDQUFDLFVBQVUsR0FDeEM7SUF6RVAsQUEyRU0scUJBM0VlLEFBMkRoQixpQkFBaUIsQ0FnQmhCLFlBQVksQ0FBQztNQUNYLFFBQVEsRUFBRSxrQkFBa0I7TUFDNUIsR0FBRyxFQUFFLEtBQUs7TUFDVixJQUFJLEVBQUUsSUFBSTtNQUNWLE9BQU8sRUFBRSxDQUFDO01BQ1YsU0FBUyxFQUFFLFVBQVU7TVgzMkIzQixrQkFBa0IsRVc0MkJhLEdBQUcsQ0FBRSxJQUFJLENBQUUsUUFBUTtNWDMyQmxELGVBQWUsRVcyMkJnQixHQUFHLENBQUUsSUFBSSxDQUFFLFFBQVE7TVgxMkJsRCxjQUFjLEVXMDJCaUIsR0FBRyxDQUFFLElBQUksQ0FBRSxRQUFRO01YejJCbEQsYUFBYSxFV3kyQmtCLEdBQUcsQ0FBRSxJQUFJLENBQUUsUUFBUTtNWHgyQmxELFVBQVUsRVd3MkJxQixHQUFHLENBQUUsSUFBSSxDQUFFLFFBQVEsR0FXN0M7TUE1RlAsQUFtRlEscUJBbkZhLEFBMkRoQixpQkFBaUIsQ0FnQmhCLFlBQVksQ0FRVixpQkFBaUIsQ0FBQztRQUNoQixPQUFPLEVBQUUsWUFBWTtRQUNyQixVQUFVLEVBQUUsa0JBQWtCO1FBQzlCLEdBQUcsRUFBRSxjQUFjO1FBRW5CLFVBQVUsRUFBRSx3QkFBc0I7UUFDbEMsT0FBTyxFQUFFLElBQUk7UUFDYixhQUFhLEVBQUUsR0FDakIsR0FBQztJQTNGVCxBQThGTSxxQkE5RmUsQUEyRGhCLGlCQUFpQixDQW1DaEIsaUJBQWlCLENBQUM7TUFDaEIsT0FBTyxFQUFFLElBQUksR0FDZDtJQWhHUCxBQWtHTSxxQkFsR2UsQUEyRGhCLGlCQUFpQixDQXVDaEIsRUFBRSxDQUFDO01BQ0QsV0FBVyxFQUFFLElBQUk7TUFDakIsY0FBYyxFQUFFLElBQUksR0FvQnJCO01BeEhQLEFBdUdVLHFCQXZHVyxBQTJEaEIsaUJBQWlCLENBdUNoQixFQUFFLENBSUEsQ0FBQyxDQUNDLEdBQUcsQ0FBQztRWGw0Qlosa0JBQWtCLEVXbTRCaUIsR0FBRyxDQUFFLElBQUksQ0FBRSxRQUFRO1FYbDRCdEQsZUFBZSxFV2s0Qm9CLEdBQUcsQ0FBRSxJQUFJLENBQUUsUUFBUTtRWGo0QnRELGNBQWMsRVdpNEJxQixHQUFHLENBQUUsSUFBSSxDQUFFLFFBQVE7UVhoNEJ0RCxhQUFhLEVXZzRCc0IsR0FBRyxDQUFFLElBQUksQ0FBRSxRQUFRO1FYLzNCdEQsVUFBVSxFVyszQnlCLEdBQUcsQ0FBRSxJQUFJLENBQUUsUUFBUSxHQUM3QztNQXpHWCxBQThHWSxxQkE5R1MsQUEyRGhCLGlCQUFpQixDQXVDaEIsRUFBRSxBQVVDLFlBQVksQ0FDWCxDQUFDLENBQ0MsR0FBRyxDQUFDO1FBQ0YsU0FBUyxFQUFFLFVBQVUsR0FDdEI7TUFoSGIsQUFtSFUscUJBbkhXLEFBMkRoQixpQkFBaUIsQ0F1Q2hCLEVBQUUsQUFVQyxZQUFZLENBT1gsWUFBWSxDQUFDO1FBQ1gsU0FBUyxFQUFFLFFBQVE7UUFDbkIsT0FBTyxFQUFFLENBQUMsR0FDWDs7QUFVWCxBQUFBLGdCQUFnQixDQUFDO0VBQ2YsTUFBTSxFQUFFLEtBQUs7RUFFYixLQUFLLEVBQUUsSUFBSTtFQUNYLFFBQVEsRUFBRSxRQUFRO0VBS2xCLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLEtBQUssRUFBRSxJQUFJO0VBQ1g7Ozs7OztJQU1FLEVBTUg7RUF2QkQsQUFrQkUsZ0JBbEJjLENBa0JkLEVBQUUsQ0FBQztJQUNELFNBQVMsRUFBRSxLQUFLO0lBQ2hCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFlBQVksRUFBRSxJQUFJLEdBQ25COztBQUVILEFBQUEsMkJBQTJCLENBQUM7RUFDMUIsT0FBTyxFQUFFLEtBQUs7RUFDZCxRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsQ0FBQztFQUNOLElBQUksRUFBRSxDQUFDO0VBQ1AsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLE9BQU8sRUFBRSxFQUFFLEdBcUJaO0VBNUJELEFBUUUsMkJBUnlCLEFBUXhCLE1BQU0sQ0FBQztJQUNOLE9BQU8sRUFBRSxFQUFFO0lBQ1gsT0FBTyxFQUFFLEtBQUs7SUFDZCxRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVBQUUsQ0FBQztJQUNOLElBQUksRUFBRSxDQUFDO0lBQ1AsS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBQUUsSUFBSTtJQUNaLGdCQUFnQixFQUFPLGtCQUFJLEdBQzVCO0VBakJILEFBa0JFLDJCQWxCeUIsQ0FrQnpCLEdBQUcsRUFsQkwsMkJBQTJCLENBa0JwQixLQUFLLENBQUM7SUFDVCxPQUFPLEVBQUUsS0FBSztJQUNkLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEdBQUcsRUFBRSxDQUFDO0lBQ04sSUFBSSxFQUFFLENBQUM7SUFDUCxLQUFLLEVBQUUsSUFBSTtJQUNYLE1BQU0sRUFBRSxJQUFJO0lBQ1osVUFBVSxFQUFFLEtBQUs7SUFDakIsZUFBZSxFQUFFLE1BQU0sR0FDeEI7O0FBR0gsQUFBQSxvQkFBb0IsQ0FBQztFQUNuQixRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsR0FBRztFQUNSLElBQUksRUFBRSxDQUFDO0VBQ1AsS0FBSyxFQUFFLENBQUM7RUFDUixTQUFTLEVBQUUsZ0JBQWdCLEdBTzVCO0VYdnlCYyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7SVcyeEJ2QyxBQUFBLG9CQUFvQixDQUFDO01BUWpCLFFBQVEsRUFBRSxRQUFRO01BQ2xCLEdBQUcsRUFBRSxDQUFDO01BQ04sU0FBUyxFQUFFLElBQUksR0FFbEI7O0FBRUQsQUFBQSx1QkFBdUIsQ0FBQztFQUN0QixVQUFVLEVBQUUsSUFBSSxHQUlqQjtFQUxELEFBRUUsdUJBRnFCLENBRXJCLDBCQUEwQixDQUFDO0lBQ3pCLEdBQUcsRUFBRSxJQUFJLEdBQ1Y7O0FBRUgsQUFBQSxlQUFlLENBQUM7RUFDZCxPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxJQUFJLEdBVVo7RUFaRCxBQUlFLGVBSmEsQ0FJYixDQUFDLENBQUM7SUFDQSxTQUFTLEVBQUUsSUFBSTtJQUNmLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLE9BQU8sRUFBRSxLQUFLO0lBQ2QsV0FBVyxFQUFFLElBQUk7SUFDakIsWUFBWSxFQUFFLElBQUk7SUFDbEIsU0FBUyxFQUFFLEtBQUssR0FDakI7O0FBRUg7Ozs7Ozs7OztFQVNFO0FBQ0YsQUFBQSxzQkFBc0IsQ0FBQztFQUNyQixVQUFVLEVBQUUsTUFBTTtFQUdsQixVQUFVLEVBQUUsSUFBSSxHQW1CakI7RUF2QkQsQUFLRSxzQkFMb0IsQ0FLcEIsR0FBRyxDQUFDO0lBQ0YsT0FBTyxFQUFFLFlBQVk7SUFDckIsY0FBYyxFQUFFLEdBQUc7SUFDbkIsVUFBVSxFQUFFLEtBQUs7SUFDakIsU0FBUyxFQUFFLEtBQUssR0FDakI7RUFWSCxBQVdFLHNCQVhvQixDQVdwQixFQUFFLENBQUM7SUFDRCxTQUFTLEVBQUUsSUFBSTtJQUNmLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLE9BQU8sRUFBRSxDQUFDO0lBQ1YsTUFBTSxFQUFFLFNBQVMsR0FDbEI7RUFoQkgsQUFpQkUsc0JBakJvQixDQWlCcEIsRUFBRSxDQUFDO0lBQ0QsU0FBUyxFQUFFLElBQUk7SUFDZixXQUFXLEVBQUUsTUFBTTtJQUNuQixPQUFPLEVBQUUsQ0FBQztJQUNWLE1BQU0sRUFBRSxDQUFDLEdBQ1Y7O0FBS0gsQUFBQSxjQUFjLENBQUM7RUFDYixRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxJQUFJLEdBd0JaO0VBM0JELEFBU0ksY0FUVSxBQU1YLGFBQWEsQ0FHWix1QkFBdUIsQ0FBQztJQUN0QixRQUFRLEVBQUUsUUFBUTtJQUNsQixNQUFNLEVBQUUsSUFBSSxHQUtiO0lBaEJMLEFBYU0sY0FiUSxBQU1YLGFBQWEsQ0FHWix1QkFBdUIsQ0FJckIsR0FBRyxDQUFDO01BQ0YsTUFBTSxFQUFFLElBQUksR0FDYjtFQWZQLEFBbUJFLGNBbkJZLEFBbUJYLFdBQVcsQ0FBQztJQUNYLGNBQWMsRUFBRSxNQUFNLEdBQ3ZCO0VBckJILEFBdUJFLGNBdkJZLENBdUJaLFVBQVUsQ0FBQztJQUNULFFBQVEsRUFBRSxRQUFRO0lBQ2xCLE1BQU0sRUFBRSxPQUFPLEdBQ2hCOztBQUdILEFBQUEsa0JBQWtCLENBQUM7RUFDakIsT0FBTyxFQUFFLEtBQUs7RUFDZCxRQUFRLEVBQUUsUUFBUTtFQUNsQixJQUFJLEVBQUUsQ0FBQztFQUNQLEdBQUcsRUFBRSxDQUFDO0VBQ04sS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSSxHQVdiO0VBakJELEFBT0Usa0JBUGdCLENBT2hCLEdBQUcsQ0FBQztJQUNGLE9BQU8sRUFBRSxLQUFLO0lBQ2QsUUFBUSxFQUFFLFFBQVE7SUFDbEIsSUFBSSxFQUFFLENBQUM7SUFDUCxHQUFHLEVBQUUsQ0FBQztJQUNOLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLElBQUk7SUFDWixVQUFVLEVBQUUsS0FBSztJQUNqQixlQUFlLEVBQUUsTUFBTSxHQUN4Qjs7QUFFSCxBQUFBLFdBQVcsQ0FBQztFQUNWLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLElBQUksRUFBRSxDQUFDO0VBQ1AsR0FBRyxFQUFFLENBQUM7RUFDTixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osT0FBTyxFQUFFLElBQUk7RUFDYixXQUFXLEVBQUUsTUFBTTtFQUNuQixlQUFlLEVBQUUsTUFBTTtFQUN2QixnQkFBZ0IsRUFBRSxXQUFXO0VBQzdCLFVBQVUsRUFBRSxnQkFBZ0IsQ1o3a0NULEtBQUssQ1k2a0N5QixJQUFJO0VBQ3JELFdBQVcsRUFBRSxnQkFBZ0I7RUFDN0IsT0FBTyxFQUFFLEVBQUUsR0E2Qlo7RUF6Q0QsQUFnQkUsV0FoQlMsQ0FnQlQsR0FBRyxDQUFDO0lBQ0YsT0FBTyxFQUFFLFlBQVk7SUFDckIsY0FBYyxFQUFFLEdBQUc7SUFJbkIsU0FBUyxFQUFHLFFBQVE7SUFDcEIsVUFBVSxFQUFFLFNBQVMsQ1oxbENKLEtBQUssQ1kwbENvQixJQUFJO0lBQzlDLFdBQVcsRUFBRSxTQUFTO0lBQ3RCLEtBQUssRUFBRSxJQUFJLEdBS1o7SVg5NkJZLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNV2c1QnZDLEFBZ0JFLFdBaEJTLENBZ0JULEdBQUcsQ0FBQztRQVlBLEtBQUssRUFBRSxJQUFJLEdBRWQ7RUE5QkgsQUFnQ0ksV0FoQ08sQUErQlIsTUFBTSxDQUNMLEdBQUcsRUFoQ1AsV0FBVyxBQStCQyxNQUFNLENBQ2QsR0FBRyxDQUFDO0lBQ0YsU0FBUyxFQUFFLFVBQVUsR0FDdEI7RUFsQ0wsQUFxQ0ksV0FyQ08sQUFvQ1IsT0FBTyxDQUNOLEdBQUcsQ0FBQztJQUNGLFNBQVMsRUFBRSxRQUFRLEdBQ3BCOztBQUdMLEFBQUEsdUJBQXVCLENBQUM7RUFDdEIsUUFBUSxFQUFFLE1BQU0sR0FZakI7RUFiRCxBQUlFLHVCQUpxQixDQUlyQixHQUFHLENBQUM7SUFDRixRQUFRLEVBQUUsUUFBUTtJQUNsQixPQUFPLEVBQUUsRUFBRSxHQUNaO0VBUEgsQUFTRSx1QkFUcUIsQ0FTckIsaUJBQWlCLENBQUM7SUFDaEIsUUFBUSxFQUFFLFFBQVE7SUFDbEIsT0FBTyxFQUFFLEVBQUUsR0FDWjs7QUFHSCxBQUFBLGNBQWMsQ0FBQztFQUNmOzs7Ozs7OztFQVFFLEVBUUQ7RUFqQkQsQUFZTSxjQVpRLEFBVVgsV0FBVyxDQUNWLHVCQUF1QixDQUNyQixpQkFBaUIsQ0FBQztJQUNoQixRQUFRLEVBQUUsUUFBUSxHQUNuQjs7QUFRUCxBQUFBLGNBQWMsQ0FBQztFQUNiLFdBQVcsRUFBRSxLQUFLO0VBQ2xCLEtBQUssRUFBRSxJQUFJO0VBQ1gsVUFBVSxFQUFFLE1BQU07RUFDbEIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsTUFBTSxFQUFFLEtBQUs7RUFDYixRQUFRLEVBQUUsTUFBTTtFQU9oQjs7Ozs7OztJQU9FLEVBTUg7RUExQkQsQUFPRSxjQVBZLENBT1osRUFBRSxDQUFDO0lBQ0QsS0FBSyxFQUFFLEtBQUs7SUFDWixXQUFXLEVBQUUsSUFBSTtJQUNqQixZQUFZLEVBQUUsSUFBSTtJQUNsQixhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQVpILEFBcUJFLGNBckJZLENBcUJaLG1CQUFtQixDQUFDO0lBQ2xCLE1BQU0sRUFBRSxJQUFJO0lBQ1osUUFBUSxFQUFFLFFBQVE7SUFDbEIsR0FBRyxFQUFFLEdBQUcsR0FDVDs7QUFFSCxBQUFBLGlCQUFpQixDQUFDO0VBQ2hCLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLE9BQU8sRUFBRSxLQUFLO0VBQ2QsT0FBTyxFQUFFLENBQUM7RUFDVixNQUFNLEVBQUUsQ0FBQztFQUNULFVBQVUsRUFBRSxNQUFNLEdBNENuQjtFQWpERCxBQU1FLGlCQU5lLENBTWYsRUFBRSxDQUFDO0lBQ0QsVUFBVSxFQUFFLElBQUk7SUFDaEIsT0FBTyxFQUFFLFlBQVk7SUFDckIsY0FBYyxFQUFFLEdBQUc7SUFDbkIsT0FBTyxFQUFFLENBQUM7SUFDVixNQUFNLEVBQUUsQ0FBQyxHQXFDVjtJQWhESCxBQVlJLGlCQVphLENBTWYsRUFBRSxBQU1DLElBQUssQ0FBQSxXQUFXLEVBQUU7TUFDakIsWUFBWSxFQUFFLElBQUksR0FDbkI7SUFkTCxBQWVJLGlCQWZhLENBTWYsRUFBRSxDQVNBLENBQUMsQ0FBQztNQUNBLE9BQU8sRUFBRSxJQUFJO01BQ2IsZUFBZSxFQUFFLElBQUk7TUFDckIsS0FBSyxFQUFFLElBQUk7TUFDWCxLQUFLLEVBQUUsSUFBSTtNQUNYLE1BQU0sRUFBRSxJQUFJO01YcHNDaEIsa0JBQWtCLEVXcXNDVyxHQUFHLENBQUUsSUFBSSxDQUFFLFFBQVE7TVhwc0NoRCxlQUFlLEVXb3NDYyxHQUFHLENBQUUsSUFBSSxDQUFFLFFBQVE7TVhuc0NoRCxjQUFjLEVXbXNDZSxHQUFHLENBQUUsSUFBSSxDQUFFLFFBQVE7TVhsc0NoRCxhQUFhLEVXa3NDZ0IsR0FBRyxDQUFFLElBQUksQ0FBRSxRQUFRO01YanNDaEQsVUFBVSxFV2lzQ21CLEdBQUcsQ0FBRSxJQUFJLENBQUUsUUFBUSxHQTBCN0M7TUEvQ0wsQUF1Qk0saUJBdkJXLENBTWYsRUFBRSxDQVNBLENBQUMsQ0FRQyxHQUFHLENBQUM7UUFDRixPQUFPLEVBQUUsS0FBSztRQUNkLEtBQUssRUFBRSxJQUFJO1FBQ1gsTUFBTSxFQUFFLElBQUk7UUFDWixJQUFJLEVBQUUsWUFBWTtRQUNsQixNQUFNLEVBQUUsT0FBTyxHQUNoQjtNQTdCUCxBQStCTSxpQkEvQlcsQ0FNZixFQUFFLENBU0EsQ0FBQyxDQWdCQyxHQUFHLEVBL0JULGlCQUFpQixDQU1mLEVBQUUsQ0FTQSxDQUFDLENBZ0JNLElBQUksQ0FBQztRWC9zQ2Qsa0JBQWtCLEVXZ3RDYSxHQUFHLENBQUUsSUFBSSxDQUFFLFFBQVE7UVgvc0NsRCxlQUFlLEVXK3NDZ0IsR0FBRyxDQUFFLElBQUksQ0FBRSxRQUFRO1FYOXNDbEQsY0FBYyxFVzhzQ2lCLEdBQUcsQ0FBRSxJQUFJLENBQUUsUUFBUTtRWDdzQ2xELGFBQWEsRVc2c0NrQixHQUFHLENBQUUsSUFBSSxDQUFFLFFBQVE7UVg1c0NsRCxVQUFVLEVXNHNDcUIsR0FBRyxDQUFFLElBQUksQ0FBRSxRQUFRLEdBQzdDO01BakNQLEFBbUNNLGlCQW5DVyxDQU1mLEVBQUUsQ0FTQSxDQUFDLEFBb0JFLE1BQU0sRUFuQ2IsaUJBQWlCLENBTWYsRUFBRSxDQVNBLENBQUMsQUFvQlcsTUFBTSxDQUFDO1FBQ2YsU0FBUyxFQUFFLFVBQVUsR0FPdEI7UUEzQ1AsQUFxQ1MsaUJBckNRLENBTWYsRUFBRSxDQVNBLENBQUMsQUFvQkUsTUFBTSxDQUVKLEdBQUcsRUFyQ1osaUJBQWlCLENBTWYsRUFBRSxDQVNBLENBQUMsQUFvQkUsTUFBTSxDQUVDLElBQUksRUFyQ2xCLGlCQUFpQixDQU1mLEVBQUUsQ0FTQSxDQUFDLEFBb0JXLE1BQU0sQ0FFYixHQUFHLEVBckNaLGlCQUFpQixDQU1mLEVBQUUsQ0FTQSxDQUFDLEFBb0JXLE1BQU0sQ0FFUixJQUFJLENBQ1Q7VUFDQyxNQUFNLEVaN3RDQSxPQUFPO1VZOHRDYixJQUFJLEVaOXRDRSxPQUFPO1VZK3RDYixLQUFLLEVaL3RDQyxPQUFPLEdZZ3VDYjs7QUFXVixBQUFBLGNBQWMsQ0FBQztFQUNiLGdCQUFnQixFQUFFLE9BQU87RUFDekIsS0FBSyxFQUFFLElBQUk7RUFDWCxXQUFXLEVBQUUsS0FBSztFQUNsQixjQUFjLEVBQUUsS0FBSztFQUNyQjs7Ozs7SUFLRSxFQWVIO0VBekJELEFBV0UsY0FYWSxDQVdaLEVBQUUsQ0FBQztJQUNELFVBQVUsRUFBRSxNQUFNO0lBQ2xCLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO0VBZEgsQUFlRSxjQWZZLENBZVosZUFBZSxDQUFDO0lBQ2QsVUFBVSxFQUFFLE1BQU0sR0FPbkI7SUF2QkgsQUFtQk0sY0FuQlEsQ0FlWixlQUFlLENBR2IsWUFBWSxBQUNULFlBQVksQ0FBQztNQUNaLFVBQVUsRUFBRSxJQUFJLEdBQ2pCOztBQU9QLEFBQUEscUJBQXFCLENBQUM7RUFDcEIsVUFBVSxFQUFFLFdBQVc7RUFDdkIsS0FBSyxFQUFFLElBQUk7RUFDWCxXQUFXLEVBQUUsS0FBSztFQUNsQixjQUFjLEVBQUUsS0FBSztFQUN2Qjs7OztFQUlFLEVBbUJEO0VBNUJELEFBVUUscUJBVm1CLENBVW5CLEVBQUUsQ0FBQztJQUNELFVBQVUsRUFBRSxNQUFNLEdBQ25CO0VBWkgsQUFjRSxxQkFkbUIsQ0FjbkIsWUFBWSxDQUFDO0lBQ1gsVUFBVSxFQUFFLElBQUksR0FDakI7RUFoQkgsQUFtQkkscUJBbkJpQixDQWtCbkIsYUFBYSxDQUNYLFlBQVksQ0FBQztJQUNYLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLElBQUksR0FLakI7SVhybUNVLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNVzJrQ3ZDLEFBbUJJLHFCQW5CaUIsQ0FrQm5CLGFBQWEsQ0FDWCxZQUFZLENBQUM7UUFLVCxVQUFVLEVBQUUsTUFBTSxHQUVyQjs7QUFNTCxBQUNFLFNBRE8sQ0FDUCxrQkFBa0IsQ0FBQztFQUNqQixPQUFPLEVBQUUsSUFBSTtFQUNiLGVBQWUsRUFBRSxhQUFhLEdBSy9CO0VYbm5DWSxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7SVcybUN2QyxBQUNFLFNBRE8sQ0FDUCxrQkFBa0IsQ0FBQztNQUtmLE9BQU8sRUFBRSxLQUFLLEdBRWpCOztBQVJILEFBU0UsU0FUTyxBQVNOLGtCQUFrQixDQUFDO0VBQ2xCLFVBQVUsRUFBRSxNQUFNLEdBQ25COztBQVhILEFBYU0sU0FiRyxBQVlOLHdCQUF3QixDQUNyQixrQkFBa0IsQ0FBQztFQUNqQixxQkFBcUIsRUFBRSxPQUFPLEdBSy9CO0VYOW5DUSxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7SVcybUN2QyxBQWFNLFNBYkcsQUFZTix3QkFBd0IsQ0FDckIsa0JBQWtCLENBQUM7TUFJZixPQUFPLEVBQUUsSUFBSSxHQUVoQjs7QUFuQlAsQUFxQk0sU0FyQkcsQUFZTix3QkFBd0IsQ0FTckIsYUFBYSxDQUFDO0VBQ1osY0FBYyxFQUFFLEtBQUssR0E0RHRCO0VBbEZQLEFBeUJVLFNBekJELEFBWU4sd0JBQXdCLENBU3JCLGFBQWEsQ0FHWCxHQUFHLEFBQ0EsaUJBQWlCLENBQUM7SUFDakIsU0FBUyxFQUFFLEtBQUs7SUFDaEIsVUFBVSxFQUFFLEtBQUs7SUFDakIsVUFBVSxFQUFFLElBQUksR0FLakI7SUFqQ1gsQUE4QlksU0E5QkgsQUFZTix3QkFBd0IsQ0FTckIsYUFBYSxDQUdYLEdBQUcsQUFDQSxpQkFBaUIsQUFLZixZQUFZLENBQUM7TUFDWixVQUFVLEVBQUUsQ0FBQyxHQUNkO0VBaENiLEFBb0NRLFNBcENDLEFBWU4sd0JBQXdCLENBU3JCLGFBQWEsQ0FlWCxjQUFjLENBQUM7SUFDYixhQUFhLEVBQUUsSUFBSSxHQTZCcEI7SVg3cUNNLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNVzJtQ3ZDLEFBb0NRLFNBcENDLEFBWU4sd0JBQXdCLENBU3JCLGFBQWEsQ0FlWCxjQUFjLENBQUM7UUFJWCxhQUFhLEVBQUUsQ0FBQyxHQTBCbkI7SUFsRVQsQUEyQ1UsU0EzQ0QsQUFZTix3QkFBd0IsQ0FTckIsYUFBYSxDQWVYLGNBQWMsQ0FPWixFQUFFLENBQUM7TUFDRCxTQUFTLEVBQUUsSUFBSTtNQUNmLE1BQU0sRUFBRSxZQUFZLEdBVXJCO01BdkRYLEFBK0NZLFNBL0NILEFBWU4sd0JBQXdCLENBU3JCLGFBQWEsQ0FlWCxjQUFjLENBT1osRUFBRSxBQUlDLGdCQUFnQixDQUFDO1FBQ2hCLFNBQVMsRUFBRSxJQUFJO1FBQ2YsV0FBVyxFQUFFLElBQUk7UUFDakIsTUFBTSxFQUFFLENBQUM7UUFDVCxPQUFPLEVBQUUsQ0FBQztRQUNWLE9BQU8sRUFBRSxLQUFLO1FBQ2QsVUFBVSxFQUFFLElBQUksR0FDakI7SUF0RGIsQUEwRFksU0ExREgsQUFZTix3QkFBd0IsQ0FTckIsYUFBYSxDQWVYLGNBQWMsQ0FxQlosT0FBTyxBQUNKLFdBQVcsQ0FBQztNQUNYLFVBQVUsRUFBRSxJQUFJLEdBQ2pCO0lYdnFDRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7TVcybUN2QyxBQXlEVSxTQXpERCxBQVlOLHdCQUF3QixDQVNyQixhQUFhLENBZVgsY0FBYyxDQXFCWixPQUFPLENBQUM7UUFNSixhQUFhLEVBQUUsSUFBSSxHQUV0QjtFQWpFWCxBQXFFVSxTQXJFRCxBQVlOLHdCQUF3QixDQVNyQixhQUFhLEFBK0NWLFVBQVcsQ0FBQSxJQUFJLEVBQ2QsY0FBYyxDQUFDO0lBQ2IsYUFBYSxFQUFFLENBQUM7SUFDaEIsWUFBWSxFQUFFLElBQUksR0FLbkI7SVh2ckNJLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNVzJtQ3ZDLEFBcUVVLFNBckVELEFBWU4sd0JBQXdCLENBU3JCLGFBQWEsQUErQ1YsVUFBVyxDQUFBLElBQUksRUFDZCxjQUFjLENBQUM7UUFLWCxZQUFZLEVBQUUsQ0FBQyxHQUVsQjtFWHZyQ0ksTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0lXMm1DdkMsQUFxQk0sU0FyQkcsQUFZTix3QkFBd0IsQ0FTckIsYUFBYSxDQUFDO01BMkRWLGNBQWMsRUFBRSxJQUFJLEdBRXZCOztBQWxGUCxBQXFGTSxTQXJGRyxBQVlOLHdCQUF3QixBQXdFdEIsV0FBVyxDQUNWLGFBQWEsQ0FBQztFQUNaLGNBQWMsRUFBRSxDQUFDLEdBa0JsQjtFWG50Q1EsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0lXMm1DdkMsQUEwRlksU0ExRkgsQUFZTix3QkFBd0IsQUF3RXRCLFdBQVcsQ0FDVixhQUFhLEFBR1YsV0FBVyxDQUNWLE9BQU8sQUFDSixXQUFXLENBQUM7TUFFVCxhQUFhLEVBQUUsR0FBRyxHQUVyQjtFWHpzQ0UsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0lXMm1DdkMsQUFrR1EsU0FsR0MsQUFZTix3QkFBd0IsQUF3RXRCLFdBQVcsQ0FDVixhQUFhLEFBYVYsSUFBSyxDQUFBLFdBQVcsRUFBRTtNQUVmLGNBQWMsRUFBRSxJQUFJLEdBRXZCOztBQXRHVCxBQTRHTSxTQTVHRyxBQVlOLHdCQUF3QixBQStGdEIsd0JBQXdCLENBQ3ZCLGFBQWEsQ0FBQztFQUNaLEtBQUssRUFBRSxDQUFDLEdBYVQ7RVhydUNRLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJVzJtQ3ZDLEFBNEdNLFNBNUdHLEFBWU4sd0JBQXdCLEFBK0Z0Qix3QkFBd0IsQ0FDdkIsYUFBYSxDQUFDO01BSVYsS0FBSyxFQUFFLENBQUMsR0FVWDtFQTFIUCxBQW1IUSxTQW5IQyxBQVlOLHdCQUF3QixBQStGdEIsd0JBQXdCLENBQ3ZCLGFBQWEsQUFPVixZQUFZLENBQUM7SUFDWixLQUFLLEVBQUUsQ0FBQyxHQUtUO0lYcHVDTSxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7TVcybUN2QyxBQW1IUSxTQW5IQyxBQVlOLHdCQUF3QixBQStGdEIsd0JBQXdCLENBQ3ZCLGFBQWEsQUFPVixZQUFZLENBQUM7UUFJVixLQUFLLEVBQUUsQ0FBQyxHQUVYOztBQXpIVCxBQThITSxTQTlIRyxBQVlOLHdCQUF3QixBQWlIdEIseUJBQXlCLENBQ3hCLGFBQWEsQ0FBQztFQUNaLEtBQUssRUFBRSxDQUFDLEdBYVQ7RVh2dkNRLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJVzJtQ3ZDLEFBOEhNLFNBOUhHLEFBWU4sd0JBQXdCLEFBaUh0Qix5QkFBeUIsQ0FDeEIsYUFBYSxDQUFDO01BSVYsS0FBSyxFQUFFLENBQUMsR0FVWDtFQTVJUCxBQXFJUSxTQXJJQyxBQVlOLHdCQUF3QixBQWlIdEIseUJBQXlCLENBQ3hCLGFBQWEsQUFPVixZQUFZLENBQUM7SUFDWixLQUFLLEVBQUUsQ0FBQyxHQUtUO0lYdHZDTSxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7TVcybUN2QyxBQXFJUSxTQXJJQyxBQVlOLHdCQUF3QixBQWlIdEIseUJBQXlCLENBQ3hCLGFBQWEsQUFPVixZQUFZLENBQUM7UUFJVixLQUFLLEVBQUUsQ0FBQyxHQUVYOztBQTNJVCxBQWtKVSxTQWxKRCxBQVlOLHdCQUF3QixBQW1JdEIsY0FBYyxDQUNiLGFBQWEsQ0FDWCxHQUFHLEFBQ0EsaUJBQWlCLENBQUM7RUFDakIsVUFBVSxFQUFFLElBQUksR0FDakI7O0FBcEpYLEFBMEpJLFNBMUpLLEFBeUpOLGtCQUFrQixBQUNoQixJQUFLLENBQUEsV0FBVyxFQUFFO0VBQ2pCLGFBQWEsRUFBRSxJQUFJLEdBQ3BCOztBQTVKTCxBQThKTSxTQTlKRyxBQXlKTixrQkFBa0IsQUFJaEIsVUFBVyxDQUFBLEdBQUcsRUFDYixrQkFBa0IsQ0FBQztFQUNqQixxQkFBcUIsRUFBRSxTQUFTLEdBVWpDO0VYcHhDUSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07SVcybUN4QyxBQThKTSxTQTlKRyxBQXlKTixrQkFBa0IsQUFJaEIsVUFBVyxDQUFBLEdBQUcsRUFDYixrQkFBa0IsQ0FBQztNQUlmLHFCQUFxQixFQUFFLE9BQU8sR0FPakM7RVhweENRLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJVzJtQ3ZDLEFBOEpNLFNBOUpHLEFBeUpOLGtCQUFrQixBQUloQixVQUFXLENBQUEsR0FBRyxFQUNiLGtCQUFrQixDQUFDO01BUWYscUJBQXFCLEVBQUUsSUFBSTtNQUMzQixPQUFPLEVBQUUsS0FBSyxHQUVqQjs7QVhweENRLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtFVzJtQ3hDLEFBMEtNLFNBMUtHLEFBeUpOLGtCQUFrQixBQUloQixVQUFXLENBQUEsR0FBRyxFQWFiLGNBQWMsQ0FBQztJQUVYLGFBQWEsRUFBRSxJQUFJLEdBTXRCOztBWDd4Q1EsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0VXMm1DdkMsQUEwS00sU0ExS0csQUF5Sk4sa0JBQWtCLEFBSWhCLFVBQVcsQ0FBQSxHQUFHLEVBYWIsY0FBYyxDQUFDO0lBTVgsYUFBYSxFQUFFLENBQUMsR0FFbkI7O0FBbExQLEFBcUxNLFNBckxHLEFBeUpOLGtCQUFrQixBQTJCaEIsVUFBVyxDQUFBLElBQUksRUFDZCxrQkFBa0IsQ0FBQztFQUNqQixxQkFBcUIsRUFBRSxTQUFTLEdBdUJqQztFWHh6Q1EsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0lXMm1DeEMsQUFxTE0sU0FyTEcsQUF5Sk4sa0JBQWtCLEFBMkJoQixVQUFXLENBQUEsSUFBSSxFQUNkLGtCQUFrQixDQUFDO01BSWYscUJBQXFCLEVBQUUsT0FBTyxHQW9CakM7RVh4ekNRLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJVzJtQ3ZDLEFBcUxNLFNBckxHLEFBeUpOLGtCQUFrQixBQTJCaEIsVUFBVyxDQUFBLElBQUksRUFDZCxrQkFBa0IsQ0FBQztNQVFmLHFCQUFxQixFQUFFLElBQUksR0FnQjlCO0VBN01QLEFBZ01RLFNBaE1DLEFBeUpOLGtCQUFrQixBQTJCaEIsVUFBVyxDQUFBLElBQUksRUFDZCxrQkFBa0IsQ0FXaEIsY0FBYyxDQUFDO0lBQ2IsS0FBSyxFQUFFLENBQUMsR0FRVDtJWHB6Q00sTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO01XMm1DeEMsQUFnTVEsU0FoTUMsQUF5Sk4sa0JBQWtCLEFBMkJoQixVQUFXLENBQUEsSUFBSSxFQUNkLGtCQUFrQixDQVdoQixjQUFjLENBQUM7UUFJWCxZQUFZLEVBQUUsSUFBSSxHQUtyQjtJWHB6Q00sTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO01XMm1DdkMsQUFnTVEsU0FoTUMsQUF5Sk4sa0JBQWtCLEFBMkJoQixVQUFXLENBQUEsSUFBSSxFQUNkLGtCQUFrQixDQVdoQixjQUFjLENBQUM7UUFPWCxZQUFZLEVBQUUsQ0FBQyxHQUVsQjtFQXpNVCxBQTBNUSxTQTFNQyxBQXlKTixrQkFBa0IsQUEyQmhCLFVBQVcsQ0FBQSxJQUFJLEVBQ2Qsa0JBQWtCLENBcUJoQixlQUFlLENBQUM7SUFDZCxLQUFLLEVBQUUsQ0FBQyxHQUNUOztBWHZ6Q00sTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0VXMm1DdkMsQUFpTkUsU0FqTk8sQ0FpTlAsY0FBYyxDQUFDO0lBRVgsY0FBYyxFQUFFLElBQUksR0FNdkI7SUF6TkgsQUFxTk0sU0FyTkcsQ0FpTlAsY0FBYyxBQUlULE9BQU8sQ0FBQztNQUNQLFNBQVMsRUFBRSxvQkFBa0IsQ0FBQyxVQUFVLEdBQ3pDOztBQUlQLEFBQ0UsY0FEWSxDQUNaLEVBQUUsQ0FBQztFQUNELFNBQVMsRUFBRSxJQUFJO0VBQ2YsTUFBTSxFQUFFLGFBQWEsR0FDdEI7O0FBSkgsQUFNRSxjQU5ZLENBTVosR0FBRyxDQUFDO0VBQ0YsV0FBVyxFQUFFLENBQUM7RUFDZCxZQUFZLEVBQUUsQ0FBQztFQUNmLGFBQWEsRUFBRSxLQUFLLEdBV3JCO0VBcEJILEFBV0ksY0FYVSxDQU1aLEdBQUcsQUFLQSxVQUFVLENBQUM7SUFDVixTQUFTLEVBQUUsSUFBSSxHQUNoQjtFWG4xQ1UsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0lXczBDdkMsQUFNRSxjQU5ZLENBTVosR0FBRyxDQUFDO01BVUEsV0FBVyxFQUFFLElBQUk7TUFDakIsWUFBWSxFQUFFLElBQUk7TUFDbEIsYUFBYSxFQUFFLElBQUksR0FFdEI7O0FBRUgsQUFBQSxlQUFlLENBQUM7RUFDZCxPQUFPLEVBQUUsS0FBSztFQUNkLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE1BQU0sRUFBRSxLQUFLLEdBZWQ7RVg5MkNjLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJVzQxQ3ZDLEFBQUEsZUFBZSxDQUFDO01BTVosTUFBTSxFQUFFLElBQUksR0FZZjtFWDkyQ2MsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0lXNDFDdkMsQUFRRSxlQVJhLENBUWIsa0JBQWtCLENBQUM7TUFFZixRQUFRLEVBQUUsUUFBUTtNQUNsQixNQUFNLEVBQUUsSUFBSSxHQU1mO01BakJILEFBYU0sZUFiUyxDQVFiLGtCQUFrQixDQUtkLGlCQUFpQixDQUFDO1FBQ2hCLFFBQVEsRUFBRSxRQUFRLEdBQ25COztBQU9QLEFBQUEsb0JBQW9CLENBQUM7RUFDbkIsVUFBVSxFQUFFLE1BQU07RUFDbEIsV0FBVyxFQUFFLEtBQUs7RUFDbEIsY0FBYyxFQUFFLEtBQUs7RUFDckIsZ0JBQWdCLEVBQUUsSUFBSSxHQUl2QjtFQVJELEFBS0Usb0JBTGtCLENBS2xCLFlBQVksQ0FBQztJQUNYLFVBQVUsRUFBRSxJQUFJLEdBQ2pCOztBQUVILEFBQUEsaUJBQWlCLENBQUM7RUFDaEIsVUFBVSxFQUFFLElBQUk7RUFDaEIsTUFBTSxFQUFFLENBQUM7RUFDVCxPQUFPLEVBQUUsQ0FBQztFQUNWLE9BQU8sRUFBRSxJQUFJO0VBQ2IscUJBQXFCLEVBQUUsaUJBQWlCO0VBQ3hDLGVBQWUsRUFBRSxhQUFhO0VBQzlCLEtBQUssRUFBRSxJQUFJLEdBNENaO0VBbkRELEFBUUUsaUJBUmUsR0FRYixFQUFFLENBQUM7SUFDSCxVQUFVLEVBQUUsSUFBSTtJQUNoQixNQUFNLEVBQUUsQ0FBQztJQUNULE9BQU8sRUFBRSxDQUFDO0lBQ1YsT0FBTyxFQUFFLEtBQUssR0FXZjtJQXZCSCxBQWNJLGlCQWRhLEdBUWIsRUFBRSxDQU1GLFdBQVcsQ0FBQztNWC9qRGQsa0JBQWtCLEVXZ2tEVyxHQUFHLENBQUUsSUFBSSxDQUFFLFFBQVE7TVgvakRoRCxlQUFlLEVXK2pEYyxHQUFHLENBQUUsSUFBSSxDQUFFLFFBQVE7TVg5akRoRCxjQUFjLEVXOGpEZSxHQUFHLENBQUUsSUFBSSxDQUFFLFFBQVE7TVg3akRoRCxhQUFhLEVXNmpEZ0IsR0FBRyxDQUFFLElBQUksQ0FBRSxRQUFRO01YNWpEaEQsVUFBVSxFVzRqRG1CLEdBQUcsQ0FBRSxJQUFJLENBQUUsUUFBUSxHQUM3QztJQWhCTCxBQW1CTSxpQkFuQlcsR0FRYixFQUFFLEFBVUQsTUFBTSxDQUNMLFdBQVcsQ0FBQztNQUNWLFNBQVMsRUFBRSxVQUFVLEdBQ3RCO0VBckJQLEFBd0JFLGlCQXhCZSxDQXdCZixFQUFFLENBQUM7SUFDRCxNQUFNLEVBQUUsVUFBVTtJQUNsQixTQUFTLEVBQUUsSUFBSSxHQUNoQjtFWHQ1Q1ksTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0lXMjNDdkMsQUErQk0saUJBL0JXLEFBOEJaLGlCQUFpQixDQUNoQixFQUFFLENBQUM7TUFDRCxXQUFXLEVBQUUsSUFBSTtNQUNqQixjQUFjLEVBQUUsSUFBSSxHQWVyQjtNQWhEUCxBQW9DVSxpQkFwQ08sQUE4QlosaUJBQWlCLENBQ2hCLEVBQUUsQ0FJQSxXQUFXLENBQ1QsR0FBRyxDQUFDO1FYcmxEWixrQkFBa0IsRVdzbERpQixHQUFHLENBQUUsSUFBSSxDQUFFLFFBQVE7UVhybER0RCxlQUFlLEVXcWxEb0IsR0FBRyxDQUFFLElBQUksQ0FBRSxRQUFRO1FYcGxEdEQsY0FBYyxFV29sRHFCLEdBQUcsQ0FBRSxJQUFJLENBQUUsUUFBUTtRWG5sRHRELGFBQWEsRVdtbERzQixHQUFHLENBQUUsSUFBSSxDQUFFLFFBQVE7UVhsbER0RCxVQUFVLEVXa2xEeUIsR0FBRyxDQUFFLElBQUksQ0FBRSxRQUFRLEdBQzdDO01BdENYLEFBMkNZLGlCQTNDSyxBQThCWixpQkFBaUIsQ0FDaEIsRUFBRSxBQVVDLFlBQVksQ0FDWCxXQUFXLENBQ1QsR0FBRyxDQUFDO1FBQ0YsU0FBUyxFQUFFLFVBQVUsR0FDdEI7O0FBa0JiLEFBQUEsZ0JBQWdCLENBQUM7RUFDZixVQUFVLEVBQUUsTUFBTTtFQUNsQixPQUFPLEVBQUUsVUFBVTtFQUNuQjs7Ozs7O0lBTUUsRUFxREg7RUE5REQsQUFVRSxnQkFWYyxDQVVkLEVBQUUsQ0FBQztJQUNELEtBQUssRUFBRSxLQUFLO0lBQ1osV0FBVyxFQUFFLElBQUk7SUFDakIsWUFBWSxFQUFFLElBQUksR0FDbkI7RUFkSCxBQWVFLGdCQWZjLENBZWQsRUFBRSxDQUFDO0lBQ0QsV0FBVyxFQUFFLElBQUk7SUFDakIsT0FBTyxFQUFFLENBQUM7SUFDVixNQUFNLEVBQUUsVUFBVSxHQUNuQjtFQW5CSCxBQXFCRSxnQkFyQmMsQ0FxQmQsQ0FBQztFQXJCSCxnQkFBZ0IsQ0FzQmQsRUFBRSxDQUNGO0lBQ0UsU0FBUyxFQUFFLElBQUksR0FLaEI7SVh2OUNZLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNVzA3Q3ZDLEFBcUJFLGdCQXJCYyxDQXFCZCxDQUFDO01BckJILGdCQUFnQixDQXNCZCxFQUFFLENBQ0Y7UUFJSSxTQUFTLEVBQUUsSUFBSSxHQUVsQjtFQTdCSCxBQStCRSxnQkEvQmMsQ0ErQmQsQ0FBQyxDQUFDO0lBQ0EsT0FBTyxFQUFFLFlBQVksR0FDdEI7RUFqQ0gsQUFvQ0ksZ0JBcENZLENBbUNkLFdBQVcsQUFDUixVQUFVLEVBcENmLGdCQUFnQixDQW1DZCxXQUFXLEFBRVIsZ0JBQWdCLEVBckNyQixnQkFBZ0IsQ0FtQ2QsV0FBVyxBQUdSLGtCQUFrQixDQUFDO0lBQ2xCLFVBQVUsRUFBRSxLQUFLO0lBQ2pCLGFBQWEsRUFBRSxLQUFLLEdBQ3JCO0VBekNMLEFBNENJLGdCQTVDWSxDQTJDZCxDQUFDLEFBQ0UsSUFBSyxDQUFBLFdBQVcsRUFBRTtJQUNqQixhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQTlDTCxBQWdERSxnQkFoRGMsQ0FnRGQsWUFBWSxDQUFDO0lBQ1gsVUFBVSxFQUFFLElBQUksR0FDakI7RUFsREgsQUFxREksZ0JBckRZLEFBb0RiLGlCQUFpQixDQUNoQixFQUFFLENBQUM7SUFDRCxZQUFZLEVBQUUsQ0FBQztJQUNmLFdBQVcsRUFBRSxDQUFDLEdBQ2Y7RUF4REwsQUEwREksZ0JBMURZLEFBb0RiLGlCQUFpQixDQU1oQixDQUFDLENBQUM7SUFDQSxLQUFLLEVBQUUsSUFBSSxHQUNaOztBQU1MLEFBQUEsdUJBQXVCLENBQUM7RUFDdEIsZ0JBQWdCLEVBQUUsT0FBTztFQUN6QixLQUFLLEVBQUUsSUFBSTtFQUNYLE9BQU8sRUFBRSxPQUFPO0VBQ2hCOzs7OztJQUtFLEVBS0g7RUFkRCxBQVVFLHVCQVZxQixDQVVyQixFQUFFLENBQUM7SUFDRCxVQUFVLEVBQUUsTUFBTTtJQUNsQixhQUFhLEVBQUUsSUFBSSxHQUNwQjs7QUFHSCxBQUFBLG9CQUFvQixDQUFDO0VBQ25CLE9BQU8sRUFBRSxJQUFJO0VBQ2IscUJBQXFCLEVBQUUsb0JBQW9CLENBQUMsb0JBQW9CO0VBQ2hFLFFBQVEsRUFBRSxJQUFJO0VBQ2QsVUFBVSxFQUFFLElBQUk7RUFDaEIsT0FBTyxFQUFFLENBQUM7RUFDVixNQUFNLEVBQUUsQ0FBQztFQUNULFVBQVUsRUFBRSxJQUFJLEdBUWpCO0VBZkQsQUFRRSxvQkFSa0IsR0FRaEIsRUFBRSxDQUFDO0lBQ0gsT0FBTyxFQUFFLElBQUk7SUFDYixxQkFBcUIsRUFBRSxJQUFJLENBQUMsd0JBQXdCO0lBQ3BELFFBQVEsRUFBRSxJQUFJO0lBQ2QsT0FBTyxFQUFFLENBQUM7SUFDVixNQUFNLEVBQUUsQ0FBQyxHQUNWOztBQUVILEFBQ0UseUJBRHVCLENBQ3ZCLEdBQUcsQ0FBQztFQUNGLFNBQVMsRUFBRSxJQUFJO0VBQ2YsVUFBVSxFQUFFLElBQUksR0FDakI7O0FBRUgsQUFDRSx5QkFEdUIsQ0FDdkIsRUFBRSxDQUFDO0VBQ0QsU0FBUyxFQUFFLElBQUk7RUFDZixXQUFXLEVBQUUsSUFBSTtFQUNqQixNQUFNLEVBQUUsU0FBUyxHQUNsQjs7QUFMSCxBQU9FLHlCQVB1QixDQU92QixFQUFFLENBQUM7RUFDRCxPQUFPLEVBQUUsS0FBSztFQUNkLE9BQU8sRUFBRSxDQUFDO0VBQ1YsTUFBTSxFQUFFLENBQUM7RUFDVCxVQUFVLEVBQUUsSUFBSTtFQUNoQixTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRUFBRSxHQUFHLEdBb0JqQjtFQWpDSCxBQWNJLHlCQWRxQixDQU92QixFQUFFLEdBT0UsRUFBRSxDQUFDO0lBQ0gsT0FBTyxFQUFFLFVBQVU7SUFDbkIsTUFBTSxFQUFFLENBQUM7SUFDVCxRQUFRLEVBQUUsUUFBUSxHQWVuQjtJQWhDTCxBQWtCTSx5QkFsQm1CLENBT3ZCLEVBQUUsR0FPRSxFQUFFLEFBSUQsSUFBSyxDQUFBLFdBQVcsRUFBRTtNQUNqQixhQUFhLEVBQUUsR0FBRyxHQUNuQjtJQXBCUCxBQXFCTSx5QkFyQm1CLENBT3ZCLEVBQUUsR0FPRSxFQUFFLEFBT0QsT0FBTyxDQUFDO01BQ1AsT0FBTyxFQUFFLEVBQUU7TUFDWCxPQUFPLEVBQUUsS0FBSztNQUNkLFFBQVEsRUFBRSxRQUFRO01BQ2xCLElBQUksRUFBRSxDQUFDO01BQ1AsR0FBRyxFQUFFLElBQUk7TUFDVCxhQUFhLEVBQUUsSUFBSTtNQUNuQixNQUFNLEVBQUUsR0FBRztNQUNYLEtBQUssRUFBRSxHQUFHO01BQ1YsZ0JBQWdCLEVaNXZEUixPQUFPLEdZNnZEaEI7O0FBT1AsQUFBQSx5QkFBeUIsQ0FBQztFQUN4QixjQUFjLEVBQUUsSUFBSTtFQUNwQixZQUFZLEVBQUUsQ0FBQztFQUNmLGFBQWEsRUFBRSxDQUFDO0VBQ2hCOzs7O0lBSUUsRUFJSDtFQVpELEFBU0UseUJBVHVCLENBU3ZCLEVBQUUsQ0FBQztJQUNELEtBQUssRUFBRSxJQUFJLEdBQ1o7O0FBRUgsQUFBQSxpQkFBaUIsQ0FBQztFQUNoQixVQUFVLEVBQUUsS0FBSyxHQXlLbEI7RUExS0QsQUFFRSxpQkFGZSxDQUVmLEtBQUssQ0FBQztJQUNKLFlBQVksRUFBRSxLQUFLO0lBQ25CLGVBQWUsRUFBRSxRQUFRO0lBQ3pCLEtBQUssRUFBRSxJQUFJLEdBb0taO0lBektILEFBUVEsaUJBUlMsQ0FFZixLQUFLLENBSUgsS0FBSyxDQUNILEVBQUUsQ0FDQSxFQUFFLENBQUM7TUFDRCxPQUFPLEVBQUUsUUFBUSxHQXVDbEI7TVhyb0RNLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztRV3FsRHZDLEFBUVEsaUJBUlMsQ0FFZixLQUFLLENBSUgsS0FBSyxDQUNILEVBQUUsQ0FDQSxFQUFFLENBQUM7VUFJQyxTQUFTLEVBQUUsSUFBSSxHQW9DbEI7TVhyb0RNLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztRV3FsRHZDLEFBUVEsaUJBUlMsQ0FFZixLQUFLLENBSUgsS0FBSyxDQUNILEVBQUUsQ0FDQSxFQUFFLENBQUM7VUFRQyxTQUFTLEVBQUUsR0FBRyxHQWdDakI7TUFoRFQsQUFtQlUsaUJBbkJPLENBRWYsS0FBSyxDQUlILEtBQUssQ0FDSCxFQUFFLENBQ0EsRUFBRSxBQVdDLFVBQVcsQ0FBQSxDQUFDLEVBQUU7UUFDYixLQUFLLEVBQUUsR0FBRyxHQUNYO01BckJYLEFBc0JVLGlCQXRCTyxDQUVmLEtBQUssQ0FJSCxLQUFLLENBQ0gsRUFBRSxDQUNBLEVBQUUsQUFjQyxVQUFXLENBQUEsQ0FBQyxHQXRCdkIsaUJBQWlCLENBRWYsS0FBSyxDQUlILEtBQUssQ0FDSCxFQUFFLENBQ0EsRUFBRSxBQWVDLFVBQVcsQ0FBQSxDQUFDLEdBdkJ2QixpQkFBaUIsQ0FFZixLQUFLLENBSUgsS0FBSyxDQUNILEVBQUUsQ0FDQSxFQUFFLEFBZ0JDLFVBQVcsQ0FBQSxDQUFDLEdBeEJ2QixpQkFBaUIsQ0FFZixLQUFLLENBSUgsS0FBSyxDQUNILEVBQUUsQ0FDQSxFQUFFLEFBaUJDLFVBQVcsQ0FBQSxDQUFDLEVBQUU7UUFDYixLQUFLLEVBQUUsTUFBTSxHQUNkO01BM0JYLEFBNEJVLGlCQTVCTyxDQUVmLEtBQUssQ0FJSCxLQUFLLENBQ0gsRUFBRSxDQUNBLEVBQUUsQUFvQkMsVUFBVyxDQUFBLENBQUMsRUFBRTtRQUNiLEtBQUssRVo5eURELE9BQU87UVlnekRYLFdBQVcsRUFBRSxHQUFHLENBQUMsS0FBSyxDWmh6RGxCLE9BQU87UVlpekRYLFlBQVksRUFBRSxHQUFHLENBQUMsS0FBSyxDWmp6RG5CLE9BQU87UVlrekRYLFFBQVEsRUFBRSxRQUFRLEdBY25CO1FBL0NYLEFBa0NZLGlCQWxDSyxDQUVmLEtBQUssQ0FJSCxLQUFLLENBQ0gsRUFBRSxDQUNBLEVBQUUsQUFvQkMsVUFBVyxDQUFBLENBQUMsQ0FNVixPQUFPLENBQUM7VUFDUCxPQUFPLEVBQUUsRUFBRTtVQUNYLE9BQU8sRUFBRSxLQUFLO1VBQ2QsS0FBSyxFQUFFLElBQUk7VUFDWCxVQUFVLEVBQUUsR0FBRyxDQUFDLEtBQUssQ1p2ekRuQixPQUFPO1VZd3pEVCxNQUFNLEVBQUUsR0FBRztVQUNYLFdBQVcsRUFBRSxHQUFHLENBQUMsS0FBSyxDWnp6RHBCLE9BQU87VVkwekRULFlBQVksRUFBRSxHQUFHLENBQUMsS0FBSyxDWjF6RHJCLE9BQU87VVkyekRULGFBQWEsRUFBRSxhQUFhO1VBQzVCLFFBQVEsRUFBRSxRQUFRO1VBQ2xCLElBQUksRUFBRSxJQUFJO1VBQ1YsR0FBRyxFQUFFLElBQUksR0FDVjtJQTlDYixBQXFEUSxpQkFyRFMsQ0FFZixLQUFLLENBaURILEtBQUssQ0FDSCxFQUFFLEFBQ0MsVUFBVyxDQUFBLEdBQUcsRUFBRTtNQUNmLGdCQUFnQixFQUFFLE9BQU8sR0FDMUI7SUF2RFQsQUEwRFksaUJBMURLLENBRWYsS0FBSyxDQWlESCxLQUFLLENBQ0gsRUFBRSxBQUlDLFdBQVcsQ0FDVixFQUFFLEFBQ0MsVUFBVyxDQUFBLENBQUMsRUFBRTtNQUNiLFFBQVEsRUFBRSxRQUFRLEdBY25CO01BekViLEFBNERjLGlCQTVERyxDQUVmLEtBQUssQ0FpREgsS0FBSyxDQUNILEVBQUUsQUFJQyxXQUFXLENBQ1YsRUFBRSxBQUNDLFVBQVcsQ0FBQSxDQUFDLENBRVYsTUFBTSxDQUFDO1FBQ04sT0FBTyxFQUFFLEVBQUU7UUFDWCxPQUFPLEVBQUUsS0FBSztRQUNkLEtBQUssRUFBRSxJQUFJO1FBQ1gsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENaajFEeEIsT0FBTztRWWsxRFAsTUFBTSxFQUFFLEdBQUc7UUFDWCxXQUFXLEVBQUUsR0FBRyxDQUFDLEtBQUssQ1puMUR0QixPQUFPO1FZbzFEUCxZQUFZLEVBQUUsR0FBRyxDQUFDLEtBQUssQ1pwMUR2QixPQUFPO1FZcTFEUCxhQUFhLEVBQUUsYUFBYTtRQUM1QixRQUFRLEVBQUUsUUFBUTtRQUNsQixJQUFJLEVBQUUsSUFBSTtRQUNWLE1BQU0sRUFBRSxJQUFJLEdBQ2I7SUF4RWYsQUE0RVEsaUJBNUVTLENBRWYsS0FBSyxDQWlESCxLQUFLLENBQ0gsRUFBRSxDQXdCQSxFQUFFLENBQUM7TUFDRCxTQUFTLEVBQUUsSUFBSTtNQUNmLFdBQVcsRUFBRSxNQUFNO01BQ25CLFVBQVUsRUFBRSxJQUFJO01BQ2hCLE9BQU8sRUFBRSxNQUFNO01BQ2YsTUFBTSxFQUFFLEtBQUssR0FjZDtNWHByRE0sTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO1FXcWxEdkMsQUE0RVEsaUJBNUVTLENBRWYsS0FBSyxDQWlESCxLQUFLLENBQ0gsRUFBRSxDQXdCQSxFQUFFLENBQUM7VUFRQyxTQUFTLEVBQUUsSUFBSSxHQVdsQjtNWHByRE0sTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO1FXcWxEdkMsQUE0RVEsaUJBNUVTLENBRWYsS0FBSyxDQWlESCxLQUFLLENBQ0gsRUFBRSxDQXdCQSxFQUFFLENBQUM7VUFZQyxTQUFTLEVBQUUsSUFBSTtVQUNmLE1BQU0sRUFBRSxJQUFJLEdBTWY7TVhwckRNLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztRV3FsRHZDLEFBNEVRLGlCQTVFUyxDQUVmLEtBQUssQ0FpREgsS0FBSyxDQUNILEVBQUUsQ0F3QkEsRUFBRSxDQUFDO1VBaUJDLFNBQVMsRUFBRSxJQUFJLEdBRWxCO0lBL0ZULEFBZ0dRLGlCQWhHUyxDQUVmLEtBQUssQ0FpREgsS0FBSyxDQUNILEVBQUUsQ0E0Q0EsRUFBRSxDQUFDO01BQ0QsS0FBSyxFQUFFLE9BQU87TUFDZCxVQUFVLEVBQUUsTUFBTTtNQUNsQixTQUFTLEVBQUUsSUFBSTtNQUNmLFdBQVcsRUFBRSxJQUFJO01BQ2pCLE1BQU0sRUFBRSxLQUFLLEdBaUVkO01YM3ZETSxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7UVdxbER2QyxBQWdHUSxpQkFoR1MsQ0FFZixLQUFLLENBaURILEtBQUssQ0FDSCxFQUFFLENBNENBLEVBQUUsQ0FBQztVQVFDLFNBQVMsRUFBRSxJQUFJLEdBOERsQjtNWDN2RE0sTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO1FXcWxEdkMsQUFnR1EsaUJBaEdTLENBRWYsS0FBSyxDQWlESCxLQUFLLENBQ0gsRUFBRSxDQTRDQSxFQUFFLENBQUM7VUFZQyxTQUFTLEVBQUUsSUFBSTtVQUNmLE1BQU0sRUFBRSxJQUFJLEdBeURmO01YM3ZETSxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7UVdxbER2QyxBQWdHUSxpQkFoR1MsQ0FFZixLQUFLLENBaURILEtBQUssQ0FDSCxFQUFFLENBNENBLEVBQUUsQ0FBQztVQWlCQyxTQUFTLEVBQUUsSUFBSSxHQXFEbEI7TUF0S1QsQUFvSFUsaUJBcEhPLENBRWYsS0FBSyxDQWlESCxLQUFLLENBQ0gsRUFBRSxDQTRDQSxFQUFFLEFBb0JDLFlBQVksQ0FBQztRQUNaLFNBQVMsRUFBRSxJQUFJO1FBQ2YsV0FBVyxFQUFFLE1BQU07UUFDbkIsVUFBVSxFQUFFLElBQUk7UUFDaEIsT0FBTyxFQUFFLE1BQU07UUFDZixNQUFNLEVBQUUsS0FBSztRQUNiLEtBQUssRVo1NERKLElBQUksR1kwNUROO1FYN3RESSxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7VVdxbER2QyxBQW9IVSxpQkFwSE8sQ0FFZixLQUFLLENBaURILEtBQUssQ0FDSCxFQUFFLENBNENBLEVBQUUsQUFvQkMsWUFBWSxDQUFDO1lBU1YsU0FBUyxFQUFFLElBQUksR0FXbEI7UVg3dERJLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztVV3FsRHZDLEFBb0hVLGlCQXBITyxDQUVmLEtBQUssQ0FpREgsS0FBSyxDQUNILEVBQUUsQ0E0Q0EsRUFBRSxBQW9CQyxZQUFZLENBQUM7WUFhVixTQUFTLEVBQUUsSUFBSTtZQUNmLE1BQU0sRUFBRSxJQUFJLEdBTWY7UVg3dERJLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztVV3FsRHZDLEFBb0hVLGlCQXBITyxDQUVmLEtBQUssQ0FpREgsS0FBSyxDQUNILEVBQUUsQ0E0Q0EsRUFBRSxBQW9CQyxZQUFZLENBQUM7WUFrQlYsU0FBUyxFQUFFLElBQUksR0FFbEI7TUF4SVgsQUEwSVUsaUJBMUlPLENBRWYsS0FBSyxDQWlESCxLQUFLLENBQ0gsRUFBRSxDQTRDQSxFQUFFLEFBMENDLFVBQVcsQ0FBQSxDQUFDLEVBQUU7UUFDYixLQUFLLEVaNTVERCxPQUFPO1FZNjVEWCxXQUFXLEVBQUUsR0FBRyxDQUFDLEtBQUssQ1o3NURsQixPQUFPO1FZODVEWCxZQUFZLEVBQUUsR0FBRyxDQUFDLEtBQUssQ1o5NURuQixPQUFPLEdZKzVEWjtNQTlJWCxBQStJVSxpQkEvSU8sQ0FFZixLQUFLLENBaURILEtBQUssQ0FDSCxFQUFFLENBNENBLEVBQUUsQ0ErQ0EsR0FBRyxFQS9JYixpQkFBaUIsQ0FFZixLQUFLLENBaURILEtBQUssQ0FDSCxFQUFFLENBNENBLEVBQUUsQ0ErQ0ssR0FBRyxDQUFDO1FBQ1AsT0FBTyxFQUFFLFlBQVk7UUFDckIsY0FBYyxFQUFFLE1BQU07UUFDdEIsTUFBTSxFQUFFLElBQUk7UUFDWixLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSxZQUFZLEdBTW5CO1FYL3VESSxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7VVdxbER2QyxBQStJVSxpQkEvSU8sQ0FFZixLQUFLLENBaURILEtBQUssQ0FDSCxFQUFFLENBNENBLEVBQUUsQ0ErQ0EsR0FBRyxFQS9JYixpQkFBaUIsQ0FFZixLQUFLLENBaURILEtBQUssQ0FDSCxFQUFFLENBNENBLEVBQUUsQ0ErQ0ssR0FBRyxDQUFDO1lBUUwsTUFBTSxFQUFFLElBQUk7WUFDWixLQUFLLEVBQUUsSUFBSSxHQUVkO01BMUpYLEFBMkpVLGlCQTNKTyxDQUVmLEtBQUssQ0FpREgsS0FBSyxDQUNILEVBQUUsQ0E0Q0EsRUFBRSxDQTJEQSxNQUFNLENBQUM7UUFDTCxTQUFTLEVBQUUsSUFBSSxHQVNoQjtRWDF2REksTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO1VXcWxEdkMsQUEySlUsaUJBM0pPLENBRWYsS0FBSyxDQWlESCxLQUFLLENBQ0gsRUFBRSxDQTRDQSxFQUFFLENBMkRBLE1BQU0sQ0FBQztZQUlILFNBQVMsRUFBRSxJQUFJLEdBTWxCO1FYMXZESSxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7VVdxbER2QyxBQTJKVSxpQkEzSk8sQ0FFZixLQUFLLENBaURILEtBQUssQ0FDSCxFQUFFLENBNENBLEVBQUUsQ0EyREEsTUFBTSxDQUFDO1lBUUgsU0FBUyxFQUFFLElBQUksR0FFbEI7O0FBTVgsQUFBQSw4QkFBOEIsQ0FBQztFQUM3QixPQUFPLEVBQUUsS0FBSztFQUVkLE1BQU0sRUFBRSxnQkFBZ0IsR0FVekI7RUFiRCxBQUlFLDhCQUo0QixDQUk1QixHQUFHLENBQUM7SUFDRixPQUFPLEVBQUUsS0FBSztJQUNkLE1BQU0sRUFBRSxLQUFLLEdBTWQ7SVg1d0RZLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNV2d3RHZDLEFBSUUsOEJBSjRCLENBSTVCLEdBQUcsQ0FBQztRQUtBLE1BQU0sRUFBRSxJQUFJLEdBR2Y7O0FBS0gsQUFBQSxhQUFhLENBQUM7RUFDWixjQUFjLEVBQUUsSUFBSSxHQUtyQjtFQU5ELEFBR0UsYUFIVyxDQUdYLGVBQWUsQ0FBQztJQUNkLFVBQVUsRUFBRSxNQUFNLEdBQ25COztBQUtILEFBQUEsb0JBQW9CLENBQUM7RUFDbkIsZ0JBQWdCLEVBQUUscURBQXFELEdBRXhFOztBQUlELEFBQUEsb0JBQW9CLENBQUM7RUFDbkI7Ozs7SUFJRSxFQU9IO0VBWkQsQUFNRSxvQkFOa0IsQ0FNbEIsRUFBRSxDQUFDO0lBQ0QsVUFBVSxFQUFFLE1BQU0sR0FDbkI7RUFSSCxBQVNFLG9CQVRrQixDQVNsQixXQUFXLENBQUM7SUFDVixhQUFhLEVBQUUsSUFBSSxHQUNwQjs7QUFFSCxBQUFBLGlCQUFpQixDQUFDO0VBQ2hCLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLE1BQU07RUFDbkIsZUFBZSxFQUFFLFlBQVk7RUFDN0IsT0FBTyxFQUFFLENBQUM7RUFDVixNQUFNLEVBQUUsQ0FBQyxHQW1CVjtFQXpCRCxBQU9FLGlCQVBlLEdBT2IsRUFBRSxDQUFDO0lBQ0gsVUFBVSxFQUFFLElBQUk7SUFDaEIsT0FBTyxFQUFFLEtBQUs7SUFDZCxPQUFPLEVBQUUsQ0FBQztJQUNWLE1BQU0sRUFBRSxDQUFDO0lYaC9EWCxrQkFBa0IsRVdpL0RTLEdBQUcsQ0FBRSxJQUFJLENBQUUsUUFBUTtJWGgvRDlDLGVBQWUsRVdnL0RZLEdBQUcsQ0FBRSxJQUFJLENBQUUsUUFBUTtJWC8rRDlDLGNBQWMsRVcrK0RhLEdBQUcsQ0FBRSxJQUFJLENBQUUsUUFBUTtJWDkrRDlDLGFBQWEsRVc4K0RjLEdBQUcsQ0FBRSxJQUFJLENBQUUsUUFBUTtJWDcrRDlDLFVBQVUsRVc2K0RpQixHQUFHLENBQUUsSUFBSSxDQUFFLFFBQVEsR0FZN0M7SUF4QkgsQUFjSSxpQkFkYSxHQU9iLEVBQUUsQ0FPRixFQUFFLENBQUM7TUFDRCxPQUFPLEVBQUUsQ0FBQztNQUNWLE1BQU0sRUFBRSxTQUFTO01BQ2pCLFNBQVMsRUFBRSxJQUFJO01BQ2YsVUFBVSxFQUFFLE1BQU0sR0FDbkI7SUFuQkwsQUFxQkksaUJBckJhLEdBT2IsRUFBRSxBQWNELE1BQU0sQ0FBQztNQUNOLFNBQVMsRUFBRSxVQUFVLEdBQ3RCOztBQUdMLEFBQUEsdUJBQXVCLENBQUM7RUFDdEIsV0FBVyxFQUFFLElBQUk7RUFDakIsWUFBWSxFQUFFLElBQUksR0FLbkI7RUFQRCxBQUdFLHVCQUhxQixDQUdyQixHQUFHLENBQUM7SUFDRixNQUFNLEVBQUUsSUFBSTtJQUNaLFVBQVUsRUFBRSxJQUFJLEdBQ2pCOztBQUtILEFBQUEsc0JBQXNCLENBQUM7RUFDckIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLEVBQUU7RUFDUCxJQUFJLEVBQUUsR0FBRyxHQTBFVjtFWGo2RGMsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0lXbzFEeEMsQUFBQSxzQkFBc0IsQ0FBQztNQU1uQixJQUFJLEVBQUUsRUFBRSxHQXVFWDtFQTdFRCxBQVNFLHNCQVRvQixDQVNwQixJQUFJLENBQUM7SUFDSCxRQUFRLEVBQUUsUUFBUTtJQUNsQixLQUFLLEVBQUUsSUFBSTtJQUNYLE1BQU0sRUFBRSxJQUFJO0lBQ1osR0FBRyxFQUFFLEdBQUc7SUFDUixZQUFZLEVBQUUsR0FBRztJQUNqQixhQUFhLEVBQUUsR0FBRyxHQUNuQjtFQWhCSCxBQWtCRSxzQkFsQm9CLENBa0JwQiw0QkFBNEIsQ0FBQztJQUMzQixRQUFRLEVBQUUsUUFBUSxHQUNuQjtFQXBCSCxBQXNCRSxzQkF0Qm9CLENBc0JwQixZQUFZLENBQUM7SUFDWCxRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVBQUUsSUFBSTtJQUNULFFBQVEsRUFBRSxNQUFNLEdBQ2pCO0VBMUJILEFBNEJFLHNCQTVCb0IsQ0E0QnBCLGlCQUFpQixDQUFDO0lBQ2hCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEdBQUcsRUFBRSxnQkFBZ0I7SUFDckIsSUFBSSxFQUFFLENBQUM7SUFDUCxLQUFLLEVBQUUsZ0JBQWdCO0lBQ3ZCLE1BQU0sRUFBRSxJQUFJO0lBQ1osUUFBUSxFQUFFLE1BQU0sR0FDakI7RUFuQ0gsQUFxQ0Usc0JBckNvQixDQXFDcEIsVUFBVSxDQUFDO0lBQ1QsUUFBUSxFQUFFLFFBQVE7SUFDbEIsS0FBSyxFQUFFLElBQUk7SUFDWCxLQUFLLEVBQUUsR0FBRztJQUNWLE1BQU0sRUFBRSxJQUFJO0lBQ1osS0FBSyxFQUFFLEtBQUs7SUFDWixRQUFRLEVBQUUsTUFBTSxHQUNqQjtFQTVDSCxBQThDRSxzQkE5Q29CLENBOENwQixrQkFBa0IsQ0FBQztJQUNqQixRQUFRLEVBQUUsUUFBUTtJQUNsQixLQUFLLEVBQUUsSUFBSSxHQXNCWjtJQXRFSCxBQWtESSxzQkFsRGtCLENBOENwQixrQkFBa0IsQUFJZixPQUFPLENBQUM7TUFDUCxPQUFPLEVBQUUsRUFBRTtNQUNYLFFBQVEsRUFBRSxRQUFRO01BQ2xCLEdBQUcsRUFBRSxJQUFJO01BQ1QsSUFBSSxFQUFFLENBQUM7TUFDUCxLQUFLLEVBQUUsZ0JBQWdCO01BQ3ZCLE1BQU0sRUFBRSxHQUFHO01BQ1gsVUFBVSxFQUFFLE9BQU8sR0FDcEI7SUExREwsQUEyREksc0JBM0RrQixDQThDcEIsa0JBQWtCLEFBYWYsTUFBTSxDQUFDO01BQ04sT0FBTyxFQUFFLEVBQUU7TUFDWCxRQUFRLEVBQUUsUUFBUTtNQUNsQixHQUFHLEVBQUUsZ0JBQWdCO01BQ3JCLElBQUksRUFBRSxnQkFBZ0I7TUFDdEIsS0FBSyxFQUFFLEdBQUc7TUFDVixNQUFNLEVBQUUsR0FBRztNQUNYLGFBQWEsRUFBRSxJQUFJO01BQ25CLFVBQVUsRUFBRSxPQUFPO01BQ25CLFNBQVMsRUFBRSxhQUFhLEdBQ3pCO0VBckVMLEFBd0VFLHNCQXhFb0IsQ0F3RXBCLGlCQUFpQjtFQXhFbkIsc0JBQXNCLENBeUVwQixVQUFVLENBQ1Y7SUFDRSxVQUFVLEVBQUUsTUFBTSxHQUNuQjs7QUFJSCxBQUFBLGdCQUFnQixDQUFDO0VBQ2YsZ0JBQWdCLEVBQUUsT0FBTztFQUN6QixLQUFLLEVabm1FTSxJQUFJO0VZb21FZixPQUFPLEVBQUUsT0FBTztFQUNoQixVQUFVLEVBQUUsTUFBTTtFQUNsQixTQUFTLEVBQUUsSUFBSTtFQVFqQjs7OztFQUlFLEVBSUQ7RUFyQkQsQUFNRSxnQkFOYyxDQU1kLENBQUMsQ0FBQztJQUNBLEtBQUssRUFBRSxZQUFZO0lBQ25CLGVBQWUsRUFBRSxJQUFJLEdBSXRCO0lBWkgsQUFTSSxnQkFUWSxDQU1kLENBQUMsQUFHRSxNQUFNLEVBVFgsZ0JBQWdCLENBTWQsQ0FBQyxBQUdXLE1BQU0sQ0FBQztNQUNmLEtBQUssRVoxbUVLLE9BQU8sR1kybUVsQjtFQVhMLEFBa0JFLGdCQWxCYyxDQWtCZCxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ0wsVUFBVSxFQUFFLElBQUksR0FDakI7O0FBRUg7Ozs7RUFJRTtBQUVGLEFBQUEsWUFBWSxDQUFDO0VBQ1gsZ0JBQWdCLEVaN25FRixPQUFPO0VZOG5FckIsS0FBSyxFQUFFLElBQUksR0FDWjs7QUFFRCxBQUFBLGFBQWEsQ0FBQztFQUNaLGdCQUFnQixFWmpvRUEsT0FBTztFWWtvRXZCLEtBQUssRUFBRSxJQUFJLEdBQ1o7O0FBRUQsQUFBQSxjQUFjLENBQUM7RUFDYixnQkFBZ0IsRUFBRSxJQUFJO0VBQ3RCLEtBQUssRVp6b0VNLElBQUksR1kwb0VoQjs7QUFDRCxBQUFBLHFCQUFxQixDQUFDO0VBQ3BCLFVBQVUsRUFBRSxJQUFJLEdBVWpCO0VBWEQsQUFFRSxxQkFGbUIsR0FFZixxQkFBcUIsQ0FBQztJQUN4QixVQUFVLEVBQUUsSUFBSSxHQUNqQjtFQUpILEFBS0UscUJBTG1CLENBS25CLEVBQUUsQ0FBQztJQUNELFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFNBQVMsRUFBRSxJQUFJO0lBQ2YsT0FBTyxFQUFFLENBQUM7SUFDVixNQUFNLEVBQUUsVUFBVSxHQUNuQjs7QUFFSCxBQUFBLHlCQUF5QixDQUFDO0VBQ3hCLFNBQVMsRUFBRSxJQUFJO0VBQ2YsT0FBTyxFQUFFLENBQUM7RUFDVixNQUFNLEVBQUUsVUFBVTtFQUNsQixPQUFPLEVBQUUsS0FBSyxHQUlmO0VBUkQsQUFLRSx5QkFMdUIsR0FLbkIscUJBQXFCLENBQUM7SUFDeEIsVUFBVSxFQUFFLElBQUksR0FDakI7O0FBS0gsQUFBQSxZQUFZLENBQUM7RUFDWCxVQUFVLEVBQUUsTUFBTSxHQUNuQjs7QUFDRCxBQUFBLGdCQUFnQixDQUFDO0VBQ2YsZ0JBQWdCLEVBQUUsT0FBTztFQUN6QixVQUFVLEVBQUUsR0FBRyxDQUFDLEtBQUssQ1p4cUVWLElBQUksR1l5cUVoQjs7QUFDRCxBQUFBLE1BQU0sQ0FBQztFQUNMLE9BQU8sRUFBRSxLQUFLO0VBQ2QsT0FBTyxFQUFFLENBQUM7RUFDVixXQUFXLEVBQUUsSUFBSTtFQUNqQixTQUFTLEVBQUUsSUFBSTtFQUNmLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLFNBQVMsRUFBRSxNQUFpRDtFQUM1RCxNQUFNLEVBQUUsTUFBTSxHQXNCZjtFQTdCRCxBQVFFLE1BUkksQ0FRSixDQUFDLENBQUM7SUFDQSxPQUFPLEVBQUUsS0FBSztJQUNkLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEtBQUssRVpyckVJLElBQUk7SVlzckViLGVBQWUsRUFBRSxJQUFJO0lBQ3JCLFlBQVksRUFBRSxJQUFJO0lBQ2xCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLGNBQWMsRUFBRSxJQUFJLEdBYXJCO0lBNUJILEFBZ0JJLE1BaEJFLENBUUosQ0FBQyxBQVFFLE9BQU8sQ0FBQztNQUNQLE9BQU8sRUFBRSxHQUFHO01BQ1osT0FBTyxFQUFFLEtBQUs7TUFDZCxXQUFXLEVBQUUsSUFBSTtNQUNqQixTQUFTLEVBQUUsSUFBSTtNQUNmLFFBQVEsRUFBRSxRQUFRO01BQ2xCLElBQUksRUFBRSxDQUFDO01BQ1AsR0FBRyxFQUFFLElBQUksR0FDVjtJQXhCTCxBQXlCSSxNQXpCRSxDQVFKLENBQUMsQUFpQkUsTUFBTSxFQXpCWCxNQUFNLENBUUosQ0FBQyxBQWlCVyxNQUFNLENBQUM7TUFDZixLQUFLLEVabnNFSyxPQUFPLEdZb3NFbEI7O0FBR0wsQUFBQSxNQUFNLENBQUM7RUFDTCxVQUFVLEVBQUUsQ0FBQztFQUNiLFFBQVEsRUFBRSxNQUFNO0VBQ2hCLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLFNBQVMsRUFBRSxJQUFJO0VBQ2YsU0FBUyxFQUFFLE1BQWlEO0VBQzVELFdBQVcsRUFBRSxJQUFJO0VBQ2pCLFlBQVksRUFBRSxJQUFJO0VBQ2xCLFVBQVUsRUFBRSxxQkFBcUI7RUFDakMsV0FBVyxFQUFFLFVBQVUsR0FtQnhCO0VBNUJELEFBV0UsTUFYSSxDQVdKLElBQUksQ0FBQztJQUNILE9BQU8sRUFBRSxLQUFLO0lBQ2QsYUFBYSxFQUFFLElBQUksR0FLcEI7SUFsQkgsQUFlSSxNQWZFLENBV0osSUFBSSxBQUlELFdBQVcsQ0FBQztNQUNYLGFBQWEsRUFBRSxDQUFDLEdBQ2pCO0VBakJMLEFBb0JFLE1BcEJJLENBb0JKLENBQUMsQ0FBQztJQUNBLEtBQUssRUFBRSxPQUFPO0lBQ2QsZUFBZSxFQUFFLFNBQVMsR0FLM0I7SUEzQkgsQUF3QkksTUF4QkUsQ0FvQkosQ0FBQyxBQUlFLE1BQU0sQ0FBQztNQUNOLEtBQUssRVpodUVLLE9BQU8sR1lpdUVsQjs7QUFHTCxBQUFBLGFBQWEsQ0FBQztFQUNaLE9BQU8sRUFBRSxLQUFLO0VBQ2QsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENadnVFYixJQUFJO0VZd3VFZixPQUFPLEVBQUUsU0FBUyxHQWNuQjtFQWpCRCxBQU9RLGFBUEssQUFJVixPQUFPLENBQ04sTUFBTSxDQUNKLENBQUMsQUFDRSxPQUFPLENBQUM7SUFDUCxPQUFPLEVBQUUsR0FBRyxHQUNiO0VBVFQsQUFZSSxhQVpTLEFBSVYsT0FBTyxDQVFOLE1BQU0sQ0FBQztJQUNMLFVBQVUsRUFBRSxLQUFLO0lBQ2pCLFFBQVEsRUFBRSxJQUFJLEdBQ2Y7O0FDeHZFTCxZQUFZO0FBQ1osQUFBQSx1QkFBdUIsQ0FBQztFQUNwQixRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsS0FBSztFQUNaLE1BQU0sRUFBRSxLQUFLO0VBQ2IsV0FBVyxFQUFFLElBQUksR0FDcEI7O0FBRUQsQUFBQSx1QkFBdUIsQ0FBQyxXQUFXLENBQUM7RUFDbEMsUUFBUSxFQUFFLFFBQVE7RUFDbEIsYUFBYSxFQUFFLENBQUM7RUFDZCxLQUFLLEVBQUUsSUFBSTtFQUNYLFNBQVMsRUFBRSxLQUFLO0VBQ2hCLE1BQU0sRUFBRSxJQUFJO0VBQ1osTUFBTSxFQUFFLElBQUk7RUFDaEI7Ozs7RUFJRSxFQUNEOztBQUVELEFBQUEsdUJBQXVCLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQztFQUN4Qzs7Ozs7OztFQU9FLEVBQ0Q7O0FBRUQsVUFBVTtBQUNWLEFBQUEsd0JBQXdCO0FBQ3hCLG9CQUFvQixDQUNwQjtFQUNJLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLElBQUksRUFBRSxDQUFDO0VBQ1AsS0FBSyxFQUFFLENBQUM7RUFDUixPQUFPLEVBQUUsT0FBTyxHQUNuQjs7QUFDRCxBQUFBLHdCQUF3QixDQUFDO0VBQ3ZCLEdBQUcsRUFBRSxDQUFDO0VBQ04sSUFBSSxFQUFFLENBQUM7RUFDUCxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBRVYsS0FBSyxFQUFFLElBQUk7RUFDWCxTQUFTLEVBQUUsS0FBSztFQUNoQixNQUFNLEVBQUUsSUFBSTtFQUNaLFVBQVUsRUFBRSxJQUFJO0VBRWhCLE1BQU0sRUFBRSxJQUFJO0VBQ1oscUNBQXFDLEVBQ3hDOztBQUVELEFBQUEsb0JBQW9CLENBQUM7RUFDakIsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSSxHQUNmOztBQUVELEFBQUEsbUJBQW1CLENBQUM7RUFDbEIsUUFBUSxFQUFFLFFBQVE7RUFDaEIsR0FBRyxFQUFFLENBQUM7RUFDTixJQUFJLEVBQUUsQ0FBQztFQUNQLEtBQUssRUFBRSxJQUFJLEdBQ2Q7O0FBRUQsQUFBQSxZQUFZLENBQUM7RUFDVCxVQUFVLEVBQUUsTUFBTSxHQUNyQjs7QUFFRCxBQUFBLG1CQUFtQixDQUFDLElBQUksQ0FBQztFQUNyQixRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsWUFBWTtFQUNyQixTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRUFBRSxLQUFLO0VBQ2xCLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLFVBQVUsRUFBRSxNQUFNLEdBQ3JCOztBQUVELEFBQUEsbUJBQW1CLENBQUMsSUFBSSxBQUFBLGtCQUFrQixDQUFDO0VBQ3ZDLFNBQVMsRUFBRSxJQUFJO0VBQ2YsV0FBVyxFQUFFLEdBQUcsR0FDbkI7O0FBRUQsQUFBQSxtQkFBbUIsQUFBQSxPQUFPLENBQUM7RUFDdkIsVUFBVSxFQUFFLE9BQU8sR0FDdEI7O0FBRUQsbUZBQW1GO0FBQ25GLEFBQUEsZUFBZSxDQUFDO0VBQ2QsUUFBUSxFQUFFLFFBQVEsR0FDbkI7O0FBRUQsQUFBQSxlQUFlLENBQUMsYUFBYSxDQUFDO0VBQzFCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLFVBQVUsRUFBRSxNQUFNLEdBWXJCO0VBZEQsQUFJSSxlQUpXLENBQUMsYUFBYSxBQUl4QixNQUFNLENBQUM7SUFDTixPQUFPLEVBQUUsRUFBRTtJQUNYLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEdBQUcsRUFBRSxpQkFBaUI7SUFDdEIsSUFBSSxFQUFFLENBQUM7SUFDUCxLQUFLLEVBQUUsSUFBSTtJQUNYLE1BQU0sRUFBRSxJQUFJO0lBQ1osVUFBVSxFQUFFLE9BQU87SUFDbkIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBSUwsQUFBQSxlQUFlLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQztFQUNuQyxRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsQ0FBQztFQUNOLElBQUksRUFBRSxDQUFDO0VBQ1AsS0FBSyxFQUFFLENBQUM7RUFFUjs7OztJQUlFO0VBQ0YsU0FBUyxFQUFFLEtBQUs7RUFDaEIsVUFBVSxFQUFFLEtBQUs7RUFDakIsT0FBTyxFQUFFLE9BQU8sR0FLakI7RVo4RGMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0lZaEZ2QyxBQUFBLGVBQWUsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO01BZ0JqQyxTQUFTLEVBQUUsSUFBSSxHQUVsQjs7QUFNRCxBQUFBLGNBQWMsQ0FBQztFQUNiLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxHQUFHO0VBQ1IsSUFBSSxFQUFFLEdBQUc7RUFDVCxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsZ0JBQWdCO0VBQzVDLEtBQUssRUFBRSxPQUFPO0VBQ2QsU0FBUyxFQUFFLE9BQU87RUFDbEIsaUNBQWlDO0VBQ2pDLE9BQU8sRUFBRSxXQUFXO0VBQ3BCLFVBQVUsRUFBRSxNQUFNLEdBc0NuQjtFWlNjLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJWXhEdkMsQUFBQSxjQUFjLENBQUM7TUFZWCxLQUFLLEVBQUUsR0FBRyxHQW1DYjtFWlNjLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJWXhEdkMsQUFBQSxjQUFjLENBQUM7TUFnQlgsS0FBSyxFQUFFLEdBQUcsR0ErQmI7RUEvQ0QsQUFtQkUsY0FuQlksQ0FtQlosb0JBQW9CLENBQUM7SUFDbkIsUUFBUSxFQUFFLFFBQVE7SUFDbEIsSUFBSSxFQUFFLElBQUk7SUFDVixHQUFHLEVBQUUsR0FBRztJWnBKVixrQkFBa0IsRVlxSlMsR0FBRyxDQUFFLElBQUksQ0FBRSxRQUFRO0lacEo5QyxlQUFlLEVZb0pZLEdBQUcsQ0FBRSxJQUFJLENBQUUsUUFBUTtJWm5KOUMsY0FBYyxFWW1KYSxHQUFHLENBQUUsSUFBSSxDQUFFLFFBQVE7SVpsSjlDLGFBQWEsRVlrSmMsR0FBRyxDQUFFLElBQUksQ0FBRSxRQUFRO0laako5QyxVQUFVLEVZaUppQixHQUFHLENBQUUsSUFBSSxDQUFFLFFBQVEsR0FXN0M7SVpzQlksTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO01ZeER2QyxBQW1CRSxjQW5CWSxDQW1CWixvQkFBb0IsQ0FBQztRQU9qQixJQUFJLEVBQUUsSUFBSTtRQUNWLEdBQUcsRUFBRSxJQUFJLEdBT1o7SVpzQlksTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO01ZeER2QyxBQW1CRSxjQW5CWSxDQW1CWixvQkFBb0IsQ0FBQztRQVlqQixJQUFJLEVBQUUsR0FBRztRQUNULEdBQUcsRUFBRSxHQUFHLEdBRVg7RUFsQ0gsQUFvQ0UsY0FwQ1ksQ0FvQ1osa0JBQWtCLENBQUM7SUFDakIsUUFBUSxFQUFFLFFBQVEsR0FDbkI7RUF0Q0gsQUF3Q0UsY0F4Q1ksQUF3Q1gsY0FBYyxDQUFDO0lBQ2QsVUFBVSxFQUFFLE1BQU0sR0FDbkI7RUExQ0gsQUE0Q0UsY0E1Q1ksQUE0Q1gsT0FBTyxDQUFDO0lBQ1AsVUFBVSxFQUFFLE9BQU8sR0FDcEI7O0FBR0gsQUFBQSxtQkFBbUIsQ0FBQztFQUNsQixTQUFTLEVBQUUsY0FBYyxHQUMxQjs7QUFFRCxBQUFBLG1CQUFtQjtBQUNuQixxQkFBcUI7QUFDckIseUJBQXlCO0FBQ3pCLHVCQUF1QjtBQUN2QixvQkFBb0IsQ0FDcEI7RUFDRSxTQUFTLEVBQUUsY0FBYyxHQUMxQjs7QUFFRCxBQUFBLG1CQUFtQixDQUFDO0VBQ2xCLFNBQVMsRUFBRSxjQUFjLEdBQzFCOztBQUdELEFBQUEsbUJBQW1CLENBQUM7RUFDaEIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLElBQUksR0FDZDs7QUFFRCxBQUFBLHlCQUF5QixDQUFDO0VBQ3RCLFFBQVEsRUFBRSxRQUFRLEdBQ3JCOztBQUVELEFBQUEsbUJBQW1CLENBQUMsR0FBRyxDQUFDO0VBQ3BCLFNBQVMsRUFBRSxVQUFVO0VBQ3JCLGdCQUFnQixFQUFFLFFBQVE7RUFDMUIsTUFBTSxFQUFFLGVBQWUsR0FDMUI7O0FBRUQsQUFBQSxtQkFBbUIsQUFBQSxjQUFjLENBQUM7RUFDOUIsSUFBSSxFQUFFLEdBQUcsR0FDWjs7QUFDRCxBQUFBLG1CQUFtQixBQUFBLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQztFQUNsRCxHQUFHLEVBQUUsSUFBSSxHQUNaOztBQUVELEFBQUEsbUJBQW1CLEFBQUEsb0JBQW9CLENBQUM7RUFDcEMsR0FBRyxFQUFFLEdBQUc7RUFDUixJQUFJLEVBQUUsR0FBRyxHQUNaOztBQUNELEFBQUEsbUJBQW1CLEFBQUEsb0JBQW9CLENBQUMsbUJBQW1CLENBQUM7RUFDeEQsR0FBRyxFQUFFLEdBQUc7RUFDUixJQUFJLEVBQUUsSUFBSSxHQUNiOztBQUVELEFBQUEsbUJBQW1CLEFBQUEsaUJBQWlCLENBQUM7RUFDakMsSUFBSSxFQUFFLEdBQUc7RUFDVCxHQUFHLEVBQUUsR0FBRyxHQUNYOztBQUNELEFBQUEsbUJBQW1CLEFBQUEsaUJBQWlCLENBQUMsbUJBQW1CLENBQUM7RUFDckQsR0FBRyxFQUFFLEdBQUc7RUFDUixJQUFJLEVBQUUsSUFBSSxHQUNiOztBQUVELEFBQUEsbUJBQW1CLEFBQUEsaUJBQWlCLENBQUM7RUFDakMsSUFBSSxFQUFFLEdBQUc7RUFDVCxHQUFHLEVBQUUsSUFBSSxHQUNaOztBQUNELEFBQUEsbUJBQW1CLEFBQUEsaUJBQWlCLENBQUMsbUJBQW1CLENBQUM7RUFDckQsR0FBRyxFQUFFLEtBQUs7RUFDVixJQUFJLEVBQUUsR0FBRztFQUNULE1BQU0sRUFBRSxJQUFJO0VBQ1osS0FBSyxFQUFFLEdBQUcsR0FDYjs7QUFFRCxBQUFBLG1CQUFtQixBQUFBLHFCQUFxQixDQUFDO0VBQ3JDLElBQUksRUFBRSxFQUFFO0VBQ1IsR0FBRyxFQUFFLEtBQUssR0FDYjs7QUFDRCxBQUFBLG1CQUFtQixBQUFBLHFCQUFxQixDQUFDLG1CQUFtQixDQUFDO0VBQ3pELEdBQUcsRUFBRSxHQUFHO0VBQ1IsSUFBSSxFQUFFLEdBQUcsR0FDWjs7QUFFRCxBQUFBLG1CQUFtQixBQUFBLG1CQUFtQixDQUFDO0VBQ25DLElBQUksRUFBRSxFQUFFO0VBQ1IsR0FBRyxFQUFFLEdBQUcsR0FDWDs7QUFDRCxBQUFBLG1CQUFtQixBQUFBLG1CQUFtQixDQUFDLG1CQUFtQixDQUFDO0VBQ3ZELEdBQUcsRUFBRSxHQUFHO0VBQ1IsSUFBSSxFQUFFLEdBQUc7RUFDVCxLQUFLLEVBQUUsS0FBSyxHQUNmOztBQUVELEFBQUEsbUJBQW1CLEFBQUEsZ0JBQWdCLENBQUM7RUFDaEMsSUFBSSxFQUFFLEVBQUU7RUFDUixHQUFHLEVBQUUsRUFBRSxHQUNWOztBQUNELEFBQUEsbUJBQW1CLEFBQUEsZ0JBQWdCLENBQUMsbUJBQW1CLENBQUM7RUFDcEQsR0FBRyxFQUFFLElBQUk7RUFDVCxJQUFJLEVBQUUsRUFBRSxHQUNYOztBQUVELEFBQUEsbUJBQW1CLEFBQUEsZUFBZSxDQUFDO0VBQy9CLElBQUksRUFBRSxHQUFHO0VBQ1QsR0FBRyxFQUFFLElBQUksR0FDWjs7QUFDRCxBQUFBLG1CQUFtQixBQUFBLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQztFQUNuRCxHQUFHLEVBQUUsSUFBSTtFQUNULElBQUksRUFBRSxHQUFHO0VBQ1QsTUFBTSxFQUFFLElBQUk7RUFDWixLQUFLLEVBQUUsR0FBRyxHQUNiOztBQ3BTRCxBQUFBLGFBQWEsQ0FBQztFQUNaLE9BQU8sRUFBRSxLQUFLLEdBSWY7RUFMRCxBQUVFLGFBRlcsQUFFVixPQUFPLENBQUM7SUFDUCxPQUFPLEVBQUUsWUFBWSxHQUN0Qjs7QUFFSCxBQUFBLFlBQVksQ0FBQztFQUNYLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FieUxjLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtFYXRMdEMsQUFBQSxVQUFVO0VBQ1Ysa0JBQWtCLENBQUM7SUFDakIsS0FBSyxFQUFFLElBQUksR0FDWjs7QWJtTFksTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0VhNUt0QyxBQUFBLFNBQVMsR0FBRyxFQUFFLEdBQUcsRUFBRSxBQUFBLElBQUssQ0FBQSxXQUFXLEVBQUU7SUFDbkMsWUFBWSxFQUFFLElBQUksR0FDbkI7RUFDRCxBQUFBLFNBQVMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN0QixTQUFTLEVBQUUsSUFBSSxHQUNoQjtFQUNELEFBQUEsZ0JBQWdCLENBQUM7SUFDZixLQUFLLEVBQUUsSUFBSSxHQUNaO0VBQ0QsQUFBQSxpQkFBaUIsQ0FBQztJQUNoQixxQkFBcUIsRUFBRSxXQUFXLEdBQ25DOztBYmlLWSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07RWE3SnRDLEFBQUEsaUJBQWlCLENBQUM7SUFDaEIsTUFBTSxFZGZ1QixJQUFJO0ljZ0JqQyxXQUFXLEVkaEJrQixJQUFJLEdja0JsQztFQUlELEFBQUEsT0FBTyxDQUFDO0lBQ04sR0FBRyxFZHZCMEIsSUFBSTtJY3dCakMsV0FBVyxFQUFFLENBQUMsR0FDZjtFQUNELEFBQUEsT0FBTyxDQUFDLFVBQVUsQ0FBQztJQUNqQixNQUFNLEVkekJhLElBQUksR2MwQnhCO0VBQ0QsQUFBQSxZQUFZLENBQUM7SUFDWCxTQUFTLEVBQUUsb0JBQW9CO0lBQy9CLE9BQU8sRUFBRSxDQUFDLEdBQ1g7RUFFRCxBQUFBLFNBQVMsQ0FBQztJQUNSLE9BQU8sRUFBRSxJQUFJO0lBRWIsZ0JBQWdCLEVkckRGLE9BQU87SWNzRHJCLFFBQVEsRUFBRSxLQUFLO0lBQ2YsSUFBSSxFQUFFLENBQUM7SUFDUCxHQUFHLEVBQUUsQ0FBQztJQUNOLE1BQU0sRUFBRSxJQUFJO0lBQ1osS0FBSyxFQUFFLElBQUk7SUFDWCxPQUFPLEVBQUUsRUFBRSxHQWdEWjtJQXpERCxBQVdFLFNBWE8sQUFXTixPQUFPLENBQUM7TUFDUCxPQUFPLEVBQUUsRUFBRTtNQUNYLFFBQVEsRUFBRSxRQUFRO01BQ2xCLEdBQUcsRUFBRSxNQUFNO01BQ1gsSUFBSSxFQUFFLENBQUM7TUFDUCxLQUFLLEVBQUUsSUFBSTtNQUNYLE1BQU0sRUFBRSxrQkFBa0I7TUFDMUIsVUFBVSxFZHBFRSxPQUFPO01jcUVuQixPQUFPLEVBQUUsRUFBRTtNQUVYLEdBQUcsRUFBRSxLQUFLO01BQ1YsS0FBSyxFQUFFLElBQUk7TUFDWCxNQUFNLEVBQUUsSUFBSSxHQUNiO0lBeEJILEFBMEJFLFNBMUJPLENBMEJQLFFBQVEsQ0FBQztNQUNQLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7SUE1QkgsQUE4QkUsU0E5Qk8sQ0E4QlAsRUFBRSxDQUFDO01BQ0QsT0FBTyxFQUFFLEVBQUUsR0F5Qlo7TUF4REgsQUFxQ1EsU0FyQ0MsQ0E4QlAsRUFBRSxDQUlBLEVBQUUsQUFFQyxNQUFNLENBQ0wsb0JBQW9CLENBQUM7UUFDbkIsT0FBTyxFQUFFLElBQUksR0FDZDtNQXZDVCxBQTBDUSxTQTFDQyxDQThCUCxFQUFFLENBSUEsRUFBRSxBQU9DLFNBQVMsQ0FDUixlQUFlLENBQUM7UUFDZCxLQUFLLEVkOUZELE9BQU8sR2MrRlo7TUE1Q1QsQUE4Q1UsU0E5Q0QsQ0E4QlAsRUFBRSxDQUlBLEVBQUUsQUFPQyxTQUFTLENBSVIsQ0FBQyxDQUNDLEdBQUcsQ0FBQztRQUNGLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxZQUFZLEdBQ3pDO01BaERYLEFBbURRLFNBbkRDLENBOEJQLEVBQUUsQ0FJQSxFQUFFLEFBT0MsU0FBUyxDQVVSLG9CQUFvQixDQUFDO1FBQ25CLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7RUFLVCxBQUFBLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDYixHQUFHLEVBQUUsSUFBSTtJQUVULE9BQU8sRUFBRSxDQUFDO0lBRVYsTUFBTSxFQUFFLElBQUksR0FFYjtFQUNELEFBQUEsU0FBUyxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDbEIsT0FBTyxFQUFFLEtBQUs7SUFDZCxLQUFLLEVBQUUsSUFBSSxHQUNaO0VBQ0QsQUFBQSxTQUFTLEdBQUcsRUFBRSxHQUFHLEVBQUUsQUFBQSxJQUFLLENBQUEsV0FBVyxFQUFFO0lBQ25DLFlBQVksRUFBRSxDQUFDLEdBQ2hCO0VBQ0QsQUFBQSxTQUFTLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdEIsT0FBTyxFQUFFLEtBQUs7SUFDZCxPQUFPLEVBQUUsU0FBUztJQUNsQixTQUFTLEVBQUUsSUFBSTtJQUNmLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLE9BQU8sRUFBRSxDQUFDLEdBQ1g7RUFFRCxBQUFBLE9BQU8sQ0FBQyxTQUFTLENBQUMsb0JBQW9CO0VBQ3RDLE9BQU8sQ0FBQyxTQUFTLENBQUMsMEJBQTBCLENBQUM7SUFFM0MsUUFBUSxFQUFFLE1BQU07SUFDaEIsTUFBTSxFQUFFLElBQUk7SUFDWixLQUFLLEVBQUUsSUFBSTtJQUNYLFVBQVUsRUFBRSxJQUFJLEdBQ2pCO0VBRUQsQUFBQSwwQkFBMEIsR0FBRyxFQUFFLENBQUM7SUFDOUIsTUFBTSxFQUFFLENBQUM7SUFDVCxLQUFLLEVBQUUsSUFBSTtJQUNYLGNBQWMsRUFBRSxJQUFJLEdBQ3JCO0VBQ0QsQUFBQSwwQkFBMEIsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN2QyxTQUFTLEVBQUUsSUFBSTtJQUNmLFdBQVcsRUFBRSxNQUFNO0lBQ25CLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLGdCQUFnQixFQUFPLHdCQUFJO0lBQzNCLEtBQUssRUFBRSxJQUFJO0lBQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtFQUVELEFBQ0UsMEJBRHdCLEFBQ3ZCLE9BQU8sQ0FBQztJQUNMLEdBQUcsRUFBRSxDQUFDO0lBQ04sTUFBTSxFQUFFLElBQUk7SUFDWixLQUFLLEVBQUUsSUFBSSxHQUNkO0VBR0gsQUFBQSxvQkFBb0IsQ0FBQztJQUNuQixPQUFPLEVBQUUsZUFBZSxHQUN6QjtFQUVELEFBQUEsdUJBQXVCLENBQUM7SUFDdEIsT0FBTyxFQUFFLEtBQUssR0FDZjtFQUNELEFBQUEsdUJBQXVCLENBQUM7SUFDdEIsT0FBTyxFQUFFLElBQUksR0FDZDtFQUVELEFBQUEsU0FBUyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQztJQUM1QixPQUFPLEVBQUUsS0FBSztJQUNkLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEtBQUssRUFBRSxJQUFJO0lBQ1gsR0FBRyxFQUFFLEdBQUc7SUFDUixTQUFTLEVBQUUsZ0JBQWdCLENBQUMsY0FBYztJQUMxQyxNQUFNLEVBQUUsSUFBSTtJQUNaLElBQUksRUFBRSxZQUFZO0lBQ2xCLEtBQUssRUFBRSxJQUFJLEdBQ1o7RUFDSDs7Ozs7Ozs7RUFRRTtFQUNBLEFBQUEscUJBQXFCLENBQUM7SUFDcEIsV0FBVyxFQUFFLElBQUksR0FDbEI7RUFFRCxBQUFBLG9CQUFvQixDQUFDO0lBQ25CLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7RUFFRCxBQUFBLG1CQUFtQixDQUFDO0lBQ2xCLFFBQVEsRUFBRSxNQUFNLEdBdUJqQjtJQXhCRCxBQUVFLG1CQUZpQixDQUVqQixPQUFPLENBQUM7TUFDTixNQUFNLEVBQUUsSUFBSSxHQUNiO0lBSkgsQUFLRSxtQkFMaUIsQ0FLakIsU0FBUyxDQUFDO01BQ1IsT0FBTyxFQUFFLEtBQUssR0FDZjtJQVBILEFBUUUsbUJBUmlCLENBUWpCLHVCQUF1QixDQUFDO01BQ3RCLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7SUFWSCxBQVdFLG1CQVhpQixDQVdqQix1QkFBdUIsQ0FBQztNQUN0QixPQUFPLEVBQUUsS0FBSyxHQUNmO0lBYkgsQUFjRSxtQkFkaUIsQ0FjakIsb0JBQW9CLENBQUM7TUFDbkIsT0FBTyxFQUFFLEtBQUs7TUFDZCxRQUFRLEVBQUUsS0FBSztNQUNmLEdBQUcsRUFBRSxJQUFJO01BQ1QsTUFBTSxFQUFFLElBQUk7TUFDWixJQUFJLEVBQUUsQ0FBQztNQUNQLEtBQUssRUFBRSxJQUFJO01BQ1gsVUFBVSxFQUFFLE1BQU07TUFDbEIsT0FBTyxFQUFFLENBQUMsR0FDWDtFQUVMOzs7Ozs7O0VBT0U7O0FickNhLE1BQU0sRUFBRSxVQUFVLEVBQUUsS0FBSztFYTBDdEMsQUFBQSx5QkFBeUIsQ0FBQztJQUN4QixXQUFXLEVBQUUsSUFBSTtJQUNqQixjQUFjLEVBQUUsSUFBSSxHQUNyQjtFQUNEOzs7OztJQUtFO0VBQ0YsQUFBQSxlQUFlLENBQUMsRUFBRSxDQUFDO0lBQ2pCLFNBQVMsRUFBRSxJQUFJO0lBQ2YsYUFBYSxFQUFFLElBQUksR0FDcEI7RUFDRCxBQUFBLHFCQUFxQixDQUFDLEVBQUUsQ0FBQztJQUN2QixTQUFTLEVBQUUsSUFBSSxHQUNoQjtFQUNELEFBQUEscUJBQXFCLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDNUIsU0FBUyxFQUFFLElBQUksR0FDaEI7RUFDRCxBQUFBLHFCQUFxQixDQUFDLEVBQUUsQ0FBQyxFQUFFLEFBQUEsSUFBSyxDQUFBLFdBQVcsRUFBRTtJQUMzQyxhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQUNELEFBQUEsc0JBQXNCLENBQUM7SUFDckIsVUFBVSxFQUFFLElBQUksR0FDakI7RUFDRCxBQUFBLHNCQUFzQixDQUFDLENBQUMsQ0FBQztJQUN2QixTQUFTLEVBQUUsSUFBSSxHQUNoQjtFQUVELEFBQUEsS0FBSyxDQUFDO0lBQ0osT0FBTyxFQUFFLFlBQVk7SUFDckIsY0FBYyxFQUFFLE1BQU07SUFDdEIsS0FBSyxFQUFFLElBQWlCO0lBQ3hCLE1BQU0sRUFBRSxJQUFrQixHQVEzQjtJQVpELEFBS0UsS0FMRyxDQUtILEdBQUcsQ0FBQztNQUNGLE9BQU8sRUFBRSxLQUFLO01BQ2QsTUFBTSxFQUFFLElBQWtCO01BQzFCLFdBQVcsRUFBRSxJQUFrQjtNQUMvQixLQUFLLEVBQUUsSUFBSTtNQUNYLFNBQVMsRUFBRSxJQUFJLEdBQ2hCOztBYjNGVSxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RWFpR3JDLEFBQUEsYUFBYSxDQUFDO0lBQ1osT0FBTyxFQUFFLGVBQWUsR0FDekI7RUFDRCxBQUFBLFlBQVksQ0FBQztJQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7RUFFRCxBQUFBLFVBQVU7RUFDVixnQkFBZ0I7RUFDaEIsa0JBQWtCLENBQUM7SUFDakIsS0FBSyxFQUFFLElBQUksR0FDWjtFQUdELEFBQUEseUJBQXlCLENBQUM7SUFDeEIsS0FBSyxFQUFFLEtBQUs7SUFDWixVQUFVLEVBQUUsS0FBSztJQUNqQixNQUFNLEVBQUUsS0FBSztJQUNiLElBQUksRUFBRSxDQUFDO0lBQ1AsR0FBRyxFQUFFLENBQUM7SUFDTixTQUFTLEVBQUUsSUFBSTtJQUNmLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLGNBQWMsRUFBRSxLQUFLLEdBQ3RCO0VBQ0QsQUFBQSxlQUFlLENBQUM7SUFDZCxPQUFPLEVBQUUsSUFBSTtJQUNiLHFCQUFxQixFQUFFLElBQUk7SUFDM0IsUUFBUSxFQUFFLElBQUk7SUFDZCxLQUFLLEVBQUUsS0FBSztJQUNaLE1BQU0sRUFBRSxJQUFJO0lBQ1osVUFBVSxFQUFFLElBQUksR0FDakI7RUFFRCxBQUFBLHFCQUFxQixDQUFDO0lBQ3BCLFVBQVUsRUFBRSxJQUFJLEdBS2pCO0lBTkQsQUFHRSxxQkFIbUIsQUFHbEIsWUFBWSxDQUFDO01BQ1osVUFBVSxFQUFFLENBQUMsR0FDZDtFQUdILEFBQUEscUJBQXFCLENBQUM7SUFDcEIsS0FBSyxFQUFFLEtBQUssR0FDYjtFQUNIOzs7Ozs7RUFNRTtFQUVBLEFBQUEsRUFBRSxDQUFDO0lBQ0QsU0FBUyxFQUFFLElBQUk7SUFDZixZQUFZLEVBQUUsSUFBSTtJQUNsQixhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQUVELEFBQUEsQ0FBQyxDQUFDO0lBQ0EsU0FBUyxFQUFFLElBQUksR0FDaEI7RUFFRCxBQUFBLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUM7SUFDaEMsTUFBTSxFQUFFLElBQUksR0FDYjtFQUNELEFBQUEsaUJBQWlCLENBQUMsV0FBVyxDQUFDO0lBQzVCLE1BQU0sRUFBRSxJQUFJLEdBQ2I7RUFDRCxBQUFBLGdCQUFnQixDQUFDO0lBQ2YsT0FBTyxFQUFFLEtBQUssR0FDZjtFQUVELEFBQUEsZ0JBQWdCLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN4QixNQUFNLEVBQUUsS0FBSyxHQUNkO0VBQ0QsQUFBQSxzQkFBc0IsQ0FBQyxHQUFHLENBQUM7SUFDekIsTUFBTSxFQUFFLElBQUk7SUFDWixLQUFLLEVBQUUsSUFBSTtJQUNYLFVBQVUsRUFBRSxLQUFLO0lBQ2pCLFNBQVMsRUFBRSxJQUFJLEdBQ2hCO0VBQ0Q7Ozs7O0lBS0U7RUFDRixBQUFBLHVCQUF1QixDQUFDLEVBQUUsQ0FBQztJQUV6QixLQUFLLEVBQUUsSUFBSSxHQUNaO0VBRUQsQUFDRSxnQkFEYyxDQUNkLENBQUMsQ0FBQztJQUNBLEtBQUssRUFBRSxHQUFHLEdBQ1g7RUFFTDs7Ozs7RUFLRTtFQUNBLEFBQUEsdUJBQXVCLENBQUMsMEJBQTBCLENBQUM7SUFDakQsR0FBRyxFQUFFLElBQUksR0FDVjtFQUVELEFBQUEsWUFBWSxDQUFDLGdCQUFnQixDQUFDO0lBQzVCLHFCQUFxQixFQUFFLElBQUksR0FDNUI7RUFFRCxBQUFBLGNBQWMsQ0FBQztJQUViLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7RUFDRCxBQUNFLGlCQURlLENBQ2YsVUFBVSxDQUFDO0lBQ1QsWUFBWSxFQUFFLENBQUM7SUFDZixhQUFhLEVBQUUsQ0FBQyxHQUNqQjtFQUVILEFBQUEsYUFBYSxDQUFDO0lBQ1osTUFBTSxFQUFFLEtBQUs7SUFFYixLQUFLLEVBQUUsZ0JBQWdCO0lBQ3ZCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFlBQVksRUFBRSxJQUFJO0lBQ2xCLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7RUFDRCxBQUFBLG1CQUFtQixDQUFDO0lBQ2xCLEtBQUssRUFBRSxJQUFJLEdBQ1o7RUFDRCxBQUFBLDBCQUEwQixBQUFBLFNBQVMsQ0FBQztJQUNsQyxJQUFJLEVBQUUsQ0FBQyxHQUNSO0VBQ0QsQUFBQSwwQkFBMEIsQUFBQSxLQUFLLENBQUM7SUFDOUIsS0FBSyxFQUFFLENBQUMsR0FDVDtFQUVELEFBRUUsb0JBRmtCLENBRWxCLFVBQVU7RUFEWix3QkFBd0IsQ0FDdEIsVUFBVSxDQUFDO0lBQ1QsWUFBWSxFQUFFLENBQUM7SUFDZixhQUFhLEVBQUUsQ0FBQyxHQUNqQjtFQUVILEFBQUEscUJBQXFCLENBQUM7SUFFcEIsT0FBTyxFQUFFLEtBQUs7SUFDZCxLQUFLLEVBQUUsSUFBSSxHQXdCWjtJQTNCRCxBQUlFLHFCQUptQixDQUluQixxQkFBcUIsQ0FBQztNQUNwQixJQUFJLEVkcGJNLE9BQU8sR2NxYmxCO0lBTkgsQUFPRSxxQkFQbUIsQ0FPbkIsRUFBRSxDQUFDO01BQ0QsT0FBTyxFQUFFLEtBQUs7TUFFZCxLQUFLLEVBQUUsZ0JBQWdCO01BQ3ZCLFlBQVksRUFBRSxJQUFJO01BQ2xCLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO0lBYkgsQUFjRSxxQkFkbUIsQ0FjbkIsQ0FBQyxDQUFDO01BQ0EsT0FBTyxFQUFFLEtBQUs7TUFFZCxLQUFLLEVBQUUsSUFBSTtNQUNYLFVBQVUsRUFBRSxNQUFNO01BQ2xCLFdBQVcsRUFBRSxJQUFJO01BQ2pCLFlBQVksRUFBRSxJQUFJLEdBTW5CO01BMUJILEFBc0JJLHFCQXRCaUIsQ0FjbkIsQ0FBQyxDQVFDLEdBQUcsQ0FBQztRQUNGLEtBQUssRUFBRSxJQUFJO1FBQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtFQUtMLEFBQUEsWUFBWSxDQUFDO0lBQ1gsVUFBVSxFQUFFLEtBQUs7SUFDakIsTUFBTSxFQUFFLElBQUksR0FDYjtFQUVELEFBQUEsa0JBQWtCLENBQUMsR0FBRyxDQUFDO0lBQ3JCLE1BQU0sRUFBRSxLQUFLLEdBQ2Q7RUFFRCxBQUFBLFlBQVksQ0FBQztJQUNYLE1BQU0sRUFBRSxJQUFJO0lBQ1osV0FBVyxFQUFFLElBQUk7SUFDakIsY0FBYyxFQUFFLElBQUk7SUFDcEIsVUFBVSxFQUFFLE1BQU0sR0FRbkI7SUFaRCxBQUtFLFlBTFUsQ0FLVixZQUFZLENBQUM7TUFDWCxVQUFVLEVBQUUsTUFBTTtNQUNsQixVQUFVLEVBQUUsS0FBSyxHQUlsQjtNQVhILEFBUUksWUFSUSxDQUtWLFlBQVksQ0FHVixZQUFZLENBQUM7UUFDWCxPQUFPLEVBQUUsWUFBWSxHQUN0QjtFQUlMLEFBQUEsaUJBQWlCLENBQUM7SUFDaEIsVUFBVSxFQUFFLENBQUM7SUFDYixhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQUVELEFBQUEsU0FBUyxDQUFDLGtCQUFrQixDQUFDO0lBQzNCLFFBQVEsRUFBRSxJQUFJLEdBQ2Y7RUFDRCxBQUFBLFNBQVMsQUFBQSxVQUFXLENBQUEsR0FBRyxFQUFFLGtCQUFrQixDQUFDO0lBQzFDLHFCQUFxQixFQUFFLElBQUksR0FDNUI7RUFDRCxBQUFBLFNBQVMsQUFBQSxVQUFXLENBQUEsSUFBSSxFQUFFLGtCQUFrQixDQUFDO0lBQzNDLHFCQUFxQixFQUFFLElBQUksR0FDNUI7RUFDRCxBQUFBLFNBQVMsQUFBQSxVQUFXLENBQUEsSUFBSSxFQUFFLGtCQUFrQixDQUFDLGNBQWMsQ0FBQztJQUMxRCxLQUFLLEVBQUUsQ0FBQyxHQUNUO0VBRUQsQUFBQSxjQUFjLENBQUM7SUFDYixXQUFXLEVBQUUsSUFBSTtJQUNqQixjQUFjLEVBQUUsSUFBSSxHQUNyQjtFQUNELEFBQUEsY0FBYyxDQUFDO0lBQ2IsVUFBVSxFQUFFLE1BQU07SUFDbEIsYUFBYSxFQUFFLElBQUk7SUFDbkIsU0FBUyxFQUFFLEdBQUc7SUFDZCxTQUFTLEVBQUUsS0FBSztJQUNoQixNQUFNLEVBQUUsSUFBSSxHQUNiO0VBQ0QsQUFBQSxjQUFjLENBQUMsRUFBRSxDQUFDO0lBQ2hCLFNBQVMsRUFBRSxJQUFJO0lBQ2YsTUFBTSxFQUFFLFVBQVUsR0FDbkI7RUFFRCxBQUNFLG9CQURrQixDQUNsQixnQkFBZ0IsQ0FBQztJQUNmLFlBQVksRUFBRSxDQUFDO0lBQ2YsYUFBYSxFQUFFLENBQUMsR0FDakI7RUFFSCxBQUFBLGlCQUFpQixDQUFDO0lBRWhCLE9BQU8sRUFBRSxLQUFLO0lBQ2QsS0FBSyxFQUFFLElBQUksR0FzQlo7SUF6QkQsQUFJRSxpQkFKZSxDQUlmLHFCQUFxQixDQUFDO01BQ3BCLElBQUksRWRqaEJNLE9BQU8sR2NraEJsQjtJQU5ILEFBT0UsaUJBUGUsQ0FPZixFQUFFLENBQUM7TUFDRCxPQUFPLEVBQUUsS0FBSztNQUVkLEtBQUssRUFBRSxnQkFBZ0I7TUFDdkIsV0FBVyxFQUFFLElBQUk7TUFDakIsWUFBWSxFQUFFLElBQUksR0FZbkI7TUF4QkgsQUFhSSxpQkFiYSxDQU9mLEVBQUUsQ0FNQSxXQUFXLENBQUM7UUFFVixLQUFLLEVBQUUsSUFBSTtRQUNYLE9BQU8sRUFBRSxLQUFLO1FBQ2QsV0FBVyxFQUFFLElBQUk7UUFDakIsWUFBWSxFQUFFLElBQUksR0FLbkI7UUF2QkwsQUFtQk0saUJBbkJXLENBT2YsRUFBRSxDQU1BLFdBQVcsQ0FNVCxHQUFHLENBQUM7VUFDRixPQUFPLEVBQUUsS0FBSztVQUNkLEtBQUssRUFBRSxJQUFJLEdBQ1o7RUFTUCxBQUFBLGdCQUFnQixDQUFDO0lBQ2YsTUFBTSxFQUFFLElBQUk7SUFDWixXQUFXLEVBQUUsS0FBSztJQUNsQixjQUFjLEVBQUUsS0FBSyxHQUt0QjtJQVJELEFBS0UsZ0JBTGMsQ0FLZCxDQUFDLENBQUM7TUFDQSxTQUFTLEVBQUUsSUFBSSxHQUNoQjtFQUVIOzs7O0lBSUU7RUFHRixBQUFBLG9CQUFvQixDQUFDO0lBQ25CLEtBQUssRUFBRSxJQUFJO0lBQ1gsU0FBUyxFQUFFLElBQUksR0FLaEI7SUFQRCxBQUdFLG9CQUhrQixDQUdsQixZQUFZLENBQUM7TUFDWCxVQUFVLEVBQUUsTUFBTSxHQUNuQjtFQUlILEFBQUEsY0FBYyxDQUFDO0lBQ2IsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLENBQUMsR0FDWDtFQUNELEFBQUEsV0FBVyxDQUFDO0lBQ1YsT0FBTyxFQUFFLElBQUk7SUFDYixxQkFBcUIsRUFBRSxJQUFJO0lBRTNCLFFBQVEsRUFBRSxDQUFDO0lBQ1gsVUFBVSxFQUFFLE1BQU0sR0FDbkI7RUFDRCxBQUFBLFlBQVksQ0FBQztJQUNYLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLElBQUk7SUFDWixVQUFVLEVBQUUsTUFBTSxHQUNuQjtFQUNELEFBQUEsWUFBWSxDQUFDO0lBQ1gsVUFBVSxFQUFFLElBQUk7SUFDaEIsYUFBYSxFQUFFLElBQUksR0FTcEI7SUFYRCxBQUlFLFlBSlUsQ0FJVixHQUFHLEVBSkwsWUFBWSxDQUlMLEdBQUcsQ0FBQztNQUNQLE1BQU0sRUFBRSxJQUFJO01BQ1osT0FBTyxFQUFFLFlBQVk7TUFDckIsY0FBYyxFQUFFLEdBQUc7TUFDbkIsS0FBSyxFQUFFLElBQUk7TUFDWCxTQUFTLEVBQUUsS0FBSyxHQUNqQjtFQUdILEFBQUEsT0FBTyxDQUFDO0lBQ04sV0FBVyxFQUFFLElBQUk7SUFDakIsY0FBYyxFQUFFLElBQUksR0FDckI7RUFFRCxBQUFBLG9CQUFvQixDQUFDO0lBQ25CLFVBQVUsRUFBRSxJQUFJLEdBaUJqQjtJQWxCRCxBQUVFLG9CQUZrQixDQUVsQixLQUFLLENBQUM7TUFDSixLQUFLLEVBQUUsSUFBSTtNQUNYLE1BQU0sRUFBRSxJQUFJLEdBS2I7TUFUSCxBQUtJLG9CQUxnQixDQUVsQixLQUFLLENBR0gsR0FBRyxDQUFDO1FBQ0YsTUFBTSxFQUFFLElBQUk7UUFDWixXQUFXLEVBQUUsSUFBSSxHQUNsQjtJQVJMLEFBVUUsb0JBVmtCLENBVWxCLGFBQWEsQ0FBQztNQUNaLEtBQUssRUFBRSxJQUFJO01BQ1gsTUFBTSxFQUFFLElBQUksR0FLYjtNQWpCSCxBQWFJLG9CQWJnQixDQVVsQixhQUFhLENBR1gsR0FBRyxDQUFDO1FBQ0YsS0FBSyxFQUFFLElBQUk7UUFDWCxNQUFNLEVBQUUsSUFBSSxHQUNiO0VBSUwsQUFBQSxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7SUFDbEIsS0FBSyxFQUFFLElBQUk7SUFDWCxZQUFZLEVBQUUsSUFBSTtJQUNsQixhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQUVELEFBQUEsb0JBQW9CLENBQUM7SUFDbkIscUJBQXFCLEVBQUUsSUFBSSxHQUM1QjtFQUVELEFBQ0UsZ0JBRGMsQ0FDZCxDQUFDLENBQUM7SUFDQSxXQUFXLEVBQUUsSUFBSTtJQUNqQixZQUFZLEVBQUUsSUFBSTtJQUNsQixLQUFLLEVBQUUsR0FBRyxHQUNYO0VBR0gsQUFDRSxVQURRLENBQ1Isa0JBQWtCLENBQUM7SUFDakIsWUFBWSxFQUFFLENBQUM7SUFDZixhQUFhLEVBQUUsQ0FBQyxHQUNqQjtFQUVMOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUEwQ0U7O0FiaGdCYSxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RWF1Z0JyQyxBQUFBLGtCQUFrQixDQUFDO0lBQ2pCLFNBQVMsRUFBRSxJQUFJLEdBQ2hCO0VBRUQsQUFBQSxvQkFBb0IsQ0FBQztJQUNuQixVQUFVLEVBQUUsS0FBSyxHQUNsQjtFQUVELEFBQUEsWUFBWSxDQUFDO0lBQ1gsV0FBVyxFQUFFLFVBQVUsR0FDeEI7RUFDRCxBQUFBLFlBQVksQ0FBQztJQUNYLFdBQVcsRUFBRSxRQUFRO0lBQ3JCLGNBQWMsRUFBRSxLQUFLLEdBSXRCO0lBTkQsQUFHRSxZQUhVLENBR1Ysb0JBQW9CLENBQUM7TUFDbkIsVUFBVSxFQUFFLENBQUMsR0FDZDtFQUdILEFBQ0UsaUJBRGUsQ0FDZixtQkFBbUIsQ0FBQyxHQUFHLEVBRHpCLGlCQUFpQixDQUNVLG1CQUFtQixDQUFDLEtBQUssQ0FBQztJQUNqRCxnQkFBZ0IsRUFBRSxJQUFJO0lBQ3RCLFVBQVUsRUFBRSxPQUFPO0lBQ25CLGVBQWUsRUFBRSxNQUFNLEdBQ3hCO0VBRUw7Ozs7RUFJRTtFQUVBLEFBQUEsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO0lBQ2xCLEtBQUssRUFBRSxJQUFJLEdBQ1o7RUFFRCxBQUFBLGdCQUFnQixDQUFDO0lBQ2YsV0FBVyxFQUFFLElBQUk7SUFDakIsY0FBYyxFQUFFLElBQUksR0FDckI7RUFFRCxBQUFBLHVCQUF1QixDQUFDO0lBQ3RCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLGNBQWMsRUFBRSxJQUFJLEdBQ3JCO0VBRUQsQUFBQSx5QkFBeUIsQ0FBQyxFQUFFLENBQUM7SUFDM0IsU0FBUyxFQUFFLElBQUk7SUFDZixhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQUNELEFBQUEsYUFBYSxDQUFDO0lBQ1osU0FBUyxFQUFFLElBQUksR0FDaEI7RUFFRCxBQUFBLGlCQUFpQixDQUFDO0lBQ2hCLE9BQU8sRUFBRSxJQUFJO0lBQ2IscUJBQXFCLEVBQUUsT0FBTztJQUM5QixRQUFRLEVBQUUsSUFBSSxHQUNmO0VBRUQsQUFBQSxNQUFNO0VBQ04sTUFBTSxDQUFDO0lBQ0wsS0FBSyxFQUFFLElBQUksR0FDWjs7QWJ0a0JZLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFYTZrQnJDOzs7O0lBSUU7RUFDRixBQUFBLEVBQUUsQ0FBQztJQUNELFNBQVMsRUFBRSxJQUFJLEdBQ2hCO0VBQ0QsQUFDRSxnQkFEYyxDQUNkLENBQUMsQ0FBQztJQUNBLFlBQVksRUFBRSxJQUFJO0lBQ2xCLGFBQWEsRUFBRSxJQUFJO0lBQ25CLFNBQVMsRUFBRSxJQUFJLEdBQ2hCO0VBRUg7Ozs7OztJQU1FO0VBT0Y7Ozs7SUFJRTtFQUNGLEFBQUEsdUJBQXVCLENBQUMsRUFBRSxDQUFDO0lBQ3pCLEtBQUssRUFBRSxJQUFJLEdBQ1o7RUFFRCxBQUFBLDBCQUEwQixDQUFDO0lBQ3pCLE1BQU0sRUFBRSxJQUFJO0lBQ1osS0FBSyxFQUFFLElBQUksR0FDWjtFQUNELEFBQUEsaUJBQWlCLENBQUM7SUFDaEIsU0FBUyxFQUFFLElBQUksR0FDaEI7RUFDSDs7Ozs7OztFQU9FO0VBQ0EsQUFHRSxjQUhZLENBR1osRUFBRTtFQUZKLGdCQUFnQixDQUVkLEVBQUUsQ0FBQztJQUNELEtBQUssRUFBRSxJQUFJLEdBQ1o7RUFHSCxBQUFBLGdCQUFnQixDQUFDLFVBQVUsQUFBQSxXQUFXLENBQUM7SUFDckMsWUFBWSxFQUFFLENBQUM7SUFDZixhQUFhLEVBQUUsQ0FBQyxHQUNqQjs7QWI1b0JZLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFYWdwQnJDLEFBQUEsaUJBQWlCLENBQUM7SUFDaEIsU0FBUyxFQUFFLElBQUksR0FDaEI7RUFDSDs7Ozs7Ozs7Ozs7O0VBWUU7RUFDQTs7Ozs7SUFLRTtFQUNKOzs7Ozs7Ozs7RUFTRTtFQUNBLEFBQ0UsZ0JBRGMsQ0FDZCxDQUFDLENBQUM7SUFDQSxLQUFLLEVBQUUsSUFBSSxHQUNaO0VBR0gsQUFBQSxhQUFhLENBQUM7SUFDWixTQUFTLEVBQUUsSUFBSSxHQUNoQjtFQUVELEFBQUEsaUJBQWlCLENBQUM7SUFDaEIsZUFBZSxFQUFFLElBQUksR0FDdEI7RUFDRCxBQUFBLGlCQUFpQixHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDeEIsU0FBUyxFQUFFLElBQUksR0FDaEI7O0FDaDRCSCxBQUNFLGlCQURlLENBQ2YsWUFBWTtBQURkLGlCQUFpQixDQUVmLG9CQUFvQixDQUFDO0VBQ25CLEtBQUssRWZDSSxJQUFJLEdlQWQ7O0FBSkgsQUFLRSxpQkFMZSxDQUtmLFNBQVMsQ0FBQztFQUNSLEtBQUssRWZGSSxJQUFJLEdlVWQ7RUFkSCxBQVFJLGlCQVJhLENBS2YsU0FBUyxBQUdOLE1BQU0sRUFSWCxpQkFBaUIsQ0FLZixTQUFTLEFBR0csYUFBYSxDQUFDO0lBQ3RCLEtBQUssRUFBRSxJQUFJLEdBSVo7SUFiTCxBQVVNLGlCQVZXLENBS2YsU0FBUyxBQUdOLE1BQU0sR0FFRCxxQkFBcUIsRUFWL0IsaUJBQWlCLENBS2YsU0FBUyxBQUdHLGFBQWEsR0FFakIscUJBQXFCLENBQUM7TUFDeEIsS0FBSyxFQUFFLElBQUksR0FDWjs7QUFaUCxBQWVFLGlCQWZlLENBZWYscUJBQXFCLENBQUM7RUFDcEIsS0FBSyxFZlpJLElBQUksR2VhZDs7QUFqQkgsQUFrQkUsaUJBbEJlLENBa0JmLGdCQUFnQixDQUFDO0VBQ2YsS0FBSyxFZmZJLElBQUksR2VnQmQ7O0FBcEJILEFBcUJFLGlCQXJCZSxDQXFCZixnQkFBZ0IsQ0FBQztFQUNmLEtBQUssRWZsQkksSUFBSSxHZW1CZDs7QUF2QkgsQUF3QkUsaUJBeEJlLENBd0JmLGtCQUFrQixDQUFDO0VBQ2pCLEtBQUssRWZyQkksSUFBSSxHZXNCZDs7QUExQkgsQUE2QkksaUJBN0JhLEFBMkJkLG1CQUFtQixDQUVsQixTQUFTO0FBN0JiLGlCQUFpQixDQTRCZixPQUFPLEFBQUEsVUFBVSxBQUFBLGtCQUFrQixDQUNqQyxTQUFTLENBQUM7RUFDUixLQUFLLEVBQUUsSUFBSSxHQUNaOztBQS9CTCxBQWdDSSxpQkFoQ2EsQUEyQmQsbUJBQW1CLENBS2xCLHFCQUFxQjtBQWhDekIsaUJBQWlCLENBNEJmLE9BQU8sQUFBQSxVQUFVLEFBQUEsa0JBQWtCLENBSWpDLHFCQUFxQixDQUFDO0VBQ3BCLEtBQUssRUFBRSxJQUFJLEdBQ1o7O0FBbENMLEFBbUNJLGlCQW5DYSxBQTJCZCxtQkFBbUIsQ0FRbEIsZ0JBQWdCO0FBbkNwQixpQkFBaUIsQ0E0QmYsT0FBTyxBQUFBLFVBQVUsQUFBQSxrQkFBa0IsQ0FPakMsZ0JBQWdCLENBQUM7RUFDZixLQUFLLEVBQUUsSUFBSSxHQUNaOztBQXJDTCxBQXNDSSxpQkF0Q2EsQUEyQmQsbUJBQW1CLENBV2xCLGdCQUFnQjtBQXRDcEIsaUJBQWlCLENBNEJmLE9BQU8sQUFBQSxVQUFVLEFBQUEsa0JBQWtCLENBVWpDLGdCQUFnQixDQUFDO0VBQ2YsS0FBSyxFQUFFLElBQUksR0FDWjs7QWR5SlUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0Vjak14QyxBQStDUSxpQkEvQ1MsQ0EyQ2YsSUFBSSxBQUNELG1CQUFtQixDQUdoQixTQUFTLENBQUM7SUFDUixLQUFLLEVBQUUsT0FBTyxHQUNmO0VBakRULEFBbURRLGlCQW5EUyxDQTJDZixJQUFJLEFBQ0QsbUJBQW1CLENBT2hCLGNBQWMsQ0FBQztJQUNiLEtBQUssRUFBRSxPQUFPLEdBQ2Y7RUFyRFQsQUF1RFEsaUJBdkRTLENBMkNmLElBQUksQUFDRCxtQkFBbUIsQ0FXaEIscUJBQXFCLENBQUM7SUFDcEIsS0FBSyxFQUFFLE9BQU8sR0FDZjtFQXpEVCxBQTBEUSxpQkExRFMsQ0EyQ2YsSUFBSSxBQUNELG1CQUFtQixDQWNoQixnQkFBZ0IsQ0FBQztJQUNmLEtBQUssRUFBRSxPQUFPLEdBQ2Y7RUE1RFQsQUE2RFEsaUJBN0RTLENBMkNmLElBQUksQUFDRCxtQkFBbUIsQ0FpQmhCLGdCQUFnQixDQUFDO0lBQ2YsS0FBSyxFQUFFLE9BQU8sR0FDZjtFQS9EVCxBQWdFUSxpQkFoRVMsQ0EyQ2YsSUFBSSxBQUNELG1CQUFtQixDQW9CaEIsa0JBQWtCLENBQUM7SUFDakIsS0FBSyxFQUFFLE9BQU8sR0FDZjs7QUNsRVQsQUFBQSxXQUFXLENBQUM7RUFDVixLQUFLLEVBQUUsT0FBTztFQUNkLGdCQUFnQixFQUFFLE9BQU8sR0FjMUI7RUFoQkQsQUFNSSxXQU5PLENBSVQsQ0FBQyxBQUVFLElBQUssQ0FBQSxPQUFPLEVBQUU7SUFDYixLQUFLLEVBQUUsT0FBTztJQUNkLGVBQWUsRUFBRSxJQUFJLEdBS3RCO0lBYkwsQUFVTSxXQVZLLENBSVQsQ0FBQyxBQUVFLElBQUssQ0FBQSxPQUFPLENBSVYsTUFBTSxDQUFDO01BQ04sZUFBZSxFQUFFLFNBQVMsR0FDM0I7O0FBTVAsQUFBQSxZQUFZLENBQUM7RUFDWCxnQkFBZ0IsRWhCbEJWLElBQUk7RWdCbUJWLEtBQUssRWhCbEJDLElBQUksR2dCbUJYOztBQUVELEFBQUEsZ0JBQWdCLENBQUM7RUFDZixnQkFBZ0IsRUFBRSxPQUFPO0VBQ3pCLEtBQUssRWhCdkJDLElBQUksR2dCd0JYOztBQUVELEFBQUEsVUFBVSxDQUFDO0VBQ1QsZ0JBQWdCLEVoQnhCRixPQUFPO0VnQnlCckIsS0FBSyxFaEI3QkMsSUFBSSxHZ0I4Qlg7O0FBRUQsQUFBQSxlQUFlLENBQUM7RUFDZCxnQkFBZ0IsRWhCNUJBLE9BQU87RWdCNkJ2QixLQUFLLEVoQmxDQyxJQUFJLEdnQm1DWDs7QUFFRCxBQUFBLG1CQUFtQixDQUFDO0VBQ2xCLGdCQUFnQixFQUFFLE9BQU87RUFDekIsS0FBSyxFaEJ2Q0MsSUFBSSxHZ0J3Q1gifQ== */
