/* ==========================================================================
   Get global options
   ========================================================================== */
/* ==========================================================================
   Vars
   ========================================================================== */
/* ==========================================================================
   Queries
   ========================================================================== */
/* ==========================================================================
   Includes
   ========================================================================== */
body {
  font-size: 18px; }

p:last-child {
  margin-bottom: 0; }

/* ==========================================================================
   All headings
   ========================================================================== */
h1:last-child,
h2:last-child,
h3:last-child,
h4:last-child,
h5:last-child,
h6:last-child {
  margin-bottom: 0; }

.footer-widgets-container.grid-container {
  padding: 70px 40px; }
  @media (max-width: 600px) {
    .footer-widgets-container.grid-container {
      padding: 40px; } }

/* ==========================================================================
   Global styles
   ========================================================================== */
body .gform_wrapper.gravity-theme .gfield_label {
  margin-bottom: 0; }

body .gform_wrapper.gravity-theme .ginput_container label {
  letter-spacing: 0;
  font-size: 14px;
  line-height: 1; }

body .gform_wrapper.gravity-theme input:not([type='submit']),
body .gform_wrapper.gravity-theme select {
  min-height: 47px; }

body .gform_wrapper.gravity-theme input:not([type='submit']),
body .gform_wrapper.gravity-theme textarea,
body .gform_wrapper.gravity-theme select {
  background-color: white;
  color: var(--contrast); }

body .gform_wrapper.gravity-theme .gform_description {
  margin-bottom: 20px;
  display: block;
  font-size: 18px;
  line-height: 1.4; }
  body .gform_wrapper.gravity-theme .gform_description p {
    margin-bottom: 5px;
    line-height: 1.4; }
    body .gform_wrapper.gravity-theme .gform_description p:last-child {
      margin-bottom: 0; }

body .gform_wrapper.gravity-theme .gchoice {
  line-height: 1; }

body .gform_wrapper.gravity-theme .gfield_description,
body .gform_wrapper.gravity-theme .gfield-consent-description {
  line-height: 1.4; }

body .gform_wrapper.gravity-theme .gfield.gsection {
  padding-top: 20px;
  border-bottom: 1px solid rgba(var(--accent), 0.1); }
  body .gform_wrapper.gravity-theme .gfield.gsection:first-child {
    padding-top: 0; }
  body .gform_wrapper.gravity-theme .gfield.gsection .gsection_description {
    padding-top: 0; }
  body .gform_wrapper.gravity-theme .gfield.gsection h3 {
    margin-bottom: 0; }

body .gform_wrapper.gravity-theme .gform_footer {
  padding-bottom: 0; }
  body .gform_wrapper.gravity-theme .gform_footer input.gform_button {
    margin-bottom: 0;
    cursor: pointer; }

.site-header {
  border-bottom: 4px solid var(--accent); }

.site-logo {
  position: relative;
  z-index: 999; }

@media (min-width: 960px) {
  .has-sticky-branding.main-navigation.is_stuck {
    padding: 15px 0; } }

.prefooter iframe {
  margin-bottom: -9px; }

.secondary-navigation.has-top-bar {
  padding-left: 20px !important;
  padding-right: 10px !important; }

body.single-properties {
  background-color: white;
  /*
       Entry header
       ========================================================================== */
  /*
       Floorplans
       ========================================================================== */
  /*
       Amenities
       ========================================================================== */ }
  @media (min-width: 600px) {
    body.single-properties h2:not(.is-style-red-line) {
      width: auto;
      display: inline-block;
      clear: both; }
      body.single-properties h2:not(.is-style-red-line):after {
        content: '';
        width: 100%;
        border-bottom: 3px solid var(--accent);
        display: block;
        margin: 20px 0 15px; } }
  body.single-properties h4.city {
    margin-bottom: 0; }
  body.single-properties .site-content {
    display: block; }
  body.single-properties .grid-container {
    padding-left: 40px;
    padding-right: 40px; }
  body.single-properties .wrap-single-properties-entry-header {
    margin: 0 calc(50% - 50vw);
    max-width: 100vw;
    width: 100vw;
    padding: 40px 40px;
    background-color: var(--contrast-2);
    position: relative; }
    body.single-properties .wrap-single-properties-entry-header:before {
      content: '';
      position: absolute;
      left: 50%;
      top: 0;
      bottom: 0;
      right: 0;
      background-image: url("../../images/logo-light.svg");
      z-index: 5;
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center left; }
    @media (max-width: 600px) {
      body.single-properties .wrap-single-properties-entry-header {
        padding: 40px; } }
    body.single-properties .wrap-single-properties-entry-header .single-properties-entry-header {
      position: relative;
      z-index: 10;
      margin: 0 auto;
      width: 100%;
      max-width: 1200px;
      display: grid;
      grid-template-columns: 1fr 200px;
      align-items: center;
      gap: 100px; }
      @media (max-width: 600px) {
        body.single-properties .wrap-single-properties-entry-header .single-properties-entry-header {
          grid-template-columns: 1fr; } }
      @media (max-width: 600px) {
        body.single-properties .wrap-single-properties-entry-header .single-properties-entry-header .logo-wrap {
          display: none; } }
      body.single-properties .wrap-single-properties-entry-header .single-properties-entry-header .logo-wrap .logo {
        height: 0;
        padding-top: 60%;
        background-size: contain;
        background-position: center center;
        background-repeat: no-repeat; }
      body.single-properties .wrap-single-properties-entry-header .single-properties-entry-header h1 {
        color: white;
        line-height: 1; }
  body.single-properties .wrap-floorplans {
    margin: 0 calc(50% - 50vw);
    max-width: 100vw;
    width: 100vw;
    padding: 7% 40px;
    background-color: var(--base-2); }
    body.single-properties .wrap-floorplans .floorplans-wrap {
      margin: 0 auto;
      width: 100%;
      max-width: 1200px; }
      body.single-properties .wrap-floorplans .floorplans-wrap summary > h3 {
        background-color: white;
        padding: 20px 30px;
        font-weight: 500;
        font-size: 20px; }
        body.single-properties .wrap-floorplans .floorplans-wrap summary > h3:after {
          color: var(--accent); }
      body.single-properties .wrap-floorplans .floorplans-wrap .floorplan-images-wrap {
        background-color: white; }
        @media (min-width: 960px) {
          body.single-properties .wrap-floorplans .floorplans-wrap .floorplan-images-wrap {
            min-width: 400px; } }
      body.single-properties .wrap-floorplans .floorplans-wrap p.info span {
        font-size: 16px !important; }
      body.single-properties .wrap-floorplans .floorplans-wrap h3.floorplan-title {
        text-transform: uppercase;
        font-weight: bold;
        font-size: 18px; }
      @media (min-width: 960px) {
        body.single-properties .wrap-floorplans .floorplans-wrap .floorplan-in-archive .floorplan-inner .floorplan-images-wrap .floorplan-slide {
          height: 400px; } }
  body.single-properties .wrap-amenities {
    margin: 0 calc(50% - 50vw);
    max-width: 100vw;
    width: 100vw;
    background-color: var(--accent);
    padding: 7% 40px; }
    body.single-properties .wrap-amenities .amenities-wrap {
      max-width: 1200px;
      margin: 0 auto; }
      body.single-properties .wrap-amenities .amenities-wrap h2 {
        color: white;
        text-align: center;
        display: block; }
        body.single-properties .wrap-amenities .amenities-wrap h2:after {
          display: none; }
        @media (max-width: 600px) {
          body.single-properties .wrap-amenities .amenities-wrap h2 {
            text-align: left; } }
      body.single-properties .wrap-amenities .amenities-wrap ul.amenities {
        padding-top: 30px; }
        body.single-properties .wrap-amenities .amenities-wrap ul.amenities li {
          border-bottom: 2px solid rgba(255, 255, 255, 0.2);
          color: white;
          text-transform: uppercase;
          font-weight: bold; }

div.top-bar .inside-top-bar {
  justify-content: flex-end; }
  @media (max-width: 600px) {
    div.top-bar .inside-top-bar {
      justify-content: center; } }
  div.top-bar .inside-top-bar .widget:first-child {
    margin-left: 0 !important; }

div.top-bar p {
  margin-bottom: 0; }
  div.top-bar p span {
    margin-left: 10px;
    padding-left: 10px;
    display: inline-block;
    border-left: 1px solid rgba(255, 255, 255, 0.3); }
    div.top-bar p span:first-child {
      margin-left: 0;
      padding-left: 0;
      border: none; }

div.top-bar a {
  text-decoration: none; }
  div.top-bar a:hover {
    text-decoration: none; }

.widget h2,
.widget h3 {
  font-size: 18px;
  font-weight: bold;
  text-transform: uppercase;
  margin-bottom: 1.5em; }

.widget a {
  text-decoration: none; }

div[data-type='core/buttons'] .block-list-appender__toggle {
  opacity: 1 !important;
  transform: none !important; }

/* ==========================================================================
   Generic
   ========================================================================== */
.btn, .wp-block-buttons .wp-block-button .wp-block-button__link, .gb-button-wrapper .gb-button, .gform_footer input[type='submit'] {
  border-radius: 3px;
  font-weight: bold;
  cursor: pointer;
  padding: 15px 20px !important;
  text-decoration: none !important;
  font-size: 13px !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border-width: 2px !important;
  display: inline-block !important;
  position: static; }
  @media (max-width: 600px) {
    .btn, .wp-block-buttons .wp-block-button .wp-block-button__link, .gb-button-wrapper .gb-button, .gform_footer input[type='submit'] {
      display: block;
      width: 100%; } }

/* ==========================================================================
   Core buttons
   ========================================================================== */
/* ==========================================================================
   GeneratePress buttons
   ========================================================================== */
/* ==========================================================================
   Gravity forms buttons
   ========================================================================== */
.gform_footer input[type='submit']:last-child {
  margin-bottom: 0;
  margin-right: 0; }

.wp-block-gallery {
  margin-bottom: 1.5em; }
  .wp-block-gallery:last-child {
    margin-bottom: 0; }

.is-style-kicker, body.single-properties h4.city {
  font-size: 15px;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 5px; }

.wp-block-social-links li.wp-social-link,
.widget ul.wp-block-social-links li.wp-social-link {
  margin-bottom: 0; }
  .wp-block-social-links li.wp-social-link a,
  .widget ul.wp-block-social-links li.wp-social-link a {
    display: block; }

/* ==========================================================================
   Padding on the frontend
   ========================================================================== */
@media (min-width: 600px) and (max-width: 960px) {
  :where(.entry-content > .gb-container) {
    padding-left: 40px;
    padding-right: 40px; } }

@media (max-width: 600px) {
  :where(.entry-content > .gb-container) {
    padding-left: 25px;
    padding-right: 25px; } }

/* ==========================================================================
   Padding in the editor AND on the frontend
   ========================================================================== */
:where(.entry-content > .gb-container),
:where(.gb-is-root-block > .gb-container),
:where(
.is-root-container > .block-library-block__reusable-block-container > .gb-container) {
  padding-top: 90px;
  padding-bottom: 90px; }
  @media (min-width: 600px) and (max-width: 960px) {
    :where(.entry-content > .gb-container),
    :where(.gb-is-root-block > .gb-container),
    :where(
    .is-root-container > .block-library-block__reusable-block-container > .gb-container) {
      padding-top: 60px;
      padding-bottom: 60px; } }
  @media (max-width: 600px) {
    :where(.entry-content > .gb-container),
    :where(.gb-is-root-block > .gb-container),
    :where(
    .is-root-container > .block-library-block__reusable-block-container > .gb-container) {
      padding-top: 25px;
      padding-bottom: 25px; } }

/* ==========================================================================
   Dotted line on containers
   ========================================================================== */
.gb-inside-container .block-editor-inner-blocks,
.block-editor-block-list__block.gb-container > .gb-container {
  outline: 1px dashed rgba(128, 128, 128, 0.4); }

.na-attractions-shortcode-wrap {
  display: flex;
  flex-flow: row wrap; }
  .na-attractions-shortcode-wrap > * {
    width: 100%; }
  .na-attractions-shortcode-wrap .na-attractions {
    order: 0; }
  .na-attractions-shortcode-wrap .na-attractions-map {
    order: 1; }

.fancy-filters {
  display: flex; }
  .fancy-filters button {
    width: 100%; }
  @media (max-width: 600px) {
    .fancy-filters {
      flex-flow: row wrap; } }

body .wpgmp_map_parent,
body .wpgmp_filter_wrappers {
  float: none; }
  body .wpgmp_map_parent div.wpgmp_listing_header,
  body .wpgmp_map_parent div.categories_filter,
  body .wpgmp_map_parent div.wpgmp_categories,
  body .wpgmp_map_parent div.wpgmp_before_listing,
  body .wpgmp_filter_wrappers div.wpgmp_listing_header,
  body .wpgmp_filter_wrappers div.categories_filter,
  body .wpgmp_filter_wrappers div.wpgmp_categories,
  body .wpgmp_filter_wrappers div.wpgmp_before_listing {
    float: none; }
  body .wpgmp_map_parent div.categories_filter select,
  body .wpgmp_filter_wrappers div.categories_filter select {
    float: none; }

body .wpgmp_filter_wrappers {
  background-color: var(--base-2); }
  body .wpgmp_filter_wrappers .wpgmp_before_listing {
    color: var(--contrast); }

body .location_listing1 {
  float: none !important; }
  body .location_listing1 div.wpgmp_listing_container {
    float: none !important; }
  body .location_listing1 div.wpgmp_listing_header,
  body .location_listing1 div.categories_filter,
  body .location_listing1 div.wpgmp_categories,
  body .location_listing1 div.wpgmp_before_listing {
    float: none !important; }
  body .location_listing1 .fc-featured-hoverinner {
    display: none !important; }
  body .location_listing1 .wpgmp_listing_container {
    margin-left: -10px;
    margin-right: -10px;
    width: calc(100% + 20px); }

.loop-container.loop-layout-property_grid .entry {
  padding: 25px;
  box-shadow: 0 10px 30px 0 rgba(0, 0, 0, 0.12);
  position: relative;
  z-index: 50;
  background-color: white; }
  .loop-container.loop-layout-property_grid .entry .overlay {
    position: absolute;
    inset: 0;
    z-index: 20; }
  .loop-container.loop-layout-property_grid .entry .post-edit-link {
    position: relative;
    z-index: 25; }
  .loop-container.loop-layout-property_grid .entry .property-content {
    text-align: center;
    padding-top: 25px; }
    .loop-container.loop-layout-property_grid .entry .property-content p:last-child {
      margin-bottom: 0; }
  .loop-container.loop-layout-property_grid .entry .featured-image-wrap {
    background-color: var(--contrast);
    height: 0;
    padding-top: 55%;
    width: 100%;
    position: relative;
    transition: 0.3s all ease; }
  .loop-container.loop-layout-property_grid .entry .logo_white,
  .loop-container.loop-layout-property_grid .entry .logo_color {
    position: absolute;
    inset: 15% 5%;
    z-index: 15;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    transition: 0.3s all ease; }
  .loop-container.loop-layout-property_grid .entry .logo_white {
    opacity: 1; }
  .loop-container.loop-layout-property_grid .entry .logo_color {
    opacity: 0; }
  .loop-container.loop-layout-property_grid .entry .featured-image {
    position: absolute;
    inset: 0;
    background-position: center center;
    background-size: cover;
    filter: saturate(0);
    transition: 0.3s all ease;
    margin: 0;
    padding: 0;
    z-index: 5;
    background-repeat: no-repeat;
    opacity: 0.7; }
  .loop-container.loop-layout-property_grid .entry .btn, .loop-container.loop-layout-property_grid .entry .wp-block-buttons .wp-block-button .wp-block-button__link, .wp-block-buttons .wp-block-button .loop-container.loop-layout-property_grid .entry .wp-block-button__link, .loop-container.loop-layout-property_grid .entry .gb-button-wrapper .gb-button, .gb-button-wrapper .loop-container.loop-layout-property_grid .entry .gb-button, .loop-container.loop-layout-property_grid .entry .gform_footer input[type='submit'], .gform_footer .loop-container.loop-layout-property_grid .entry input[type='submit'] {
    background-color: transparent;
    color: var(--accent);
    position: relative;
    z-index: 25; }
    .loop-container.loop-layout-property_grid .entry .btn:hover, .loop-container.loop-layout-property_grid .entry .wp-block-buttons .wp-block-button .wp-block-button__link:hover, .wp-block-buttons .wp-block-button .loop-container.loop-layout-property_grid .entry .wp-block-button__link:hover, .loop-container.loop-layout-property_grid .entry .gb-button-wrapper .gb-button:hover, .gb-button-wrapper .loop-container.loop-layout-property_grid .entry .gb-button:hover, .loop-container.loop-layout-property_grid .entry .gform_footer input:hover[type='submit'], .gform_footer .loop-container.loop-layout-property_grid .entry input:hover[type='submit'] {
      background-color: var(--accent);
      color: white; }

.loop-container.loop-layout-property_grid .entry:hover .featured-image-wrap {
  background-color: var(--base-2); }

.loop-container.loop-layout-property_grid .entry:hover .featured-image {
  filter: saturate;
  opacity: 0.2; }

.loop-container.loop-layout-property_grid .entry:hover .logo_color {
  opacity: 1; }

.loop-container.loop-layout-property_grid .entry:hover .logo_white {
  opacity: 0; }

.loop-container.loop-layout-property_slider {
  padding-top: 50px; }
  .loop-container.loop-layout-property_slider .entry {
    position: relative; }
    .loop-container.loop-layout-property_slider .entry .logo {
      width: 100%;
      height: 0;
      padding-top: 45%;
      background-size: contain;
      background-position: center center;
      background-repeat: no-repeat;
      transition: 0.3s all ease; }
    .loop-container.loop-layout-property_slider .entry .overlay {
      position: absolute;
      inset: 0;
      cursor: pointer;
      display: block;
      z-index: 10; }
  .loop-container.loop-layout-property_slider .entry:hover .logo {
    opacity: 0.7; }

@media (min-width: 1500px) {
  .loop-container.loop-layout-testimonial_grid .entry {
    width: calc(100% / 4 - 1px) !important; } }

.loop-container.loop-layout-testimonial_grid .entry h3.title {
  margin-bottom: 0;
  font-size: 22px;
  padding-top: 5px; }

.loop-container.loop-layout-testimonial_grid .entry .testimonial-content {
  background-color: var(--accent);
  color: white; }
  .loop-container.loop-layout-testimonial_grid .entry .testimonial-content:after {
    border-color: var(--accent) transparent transparent transparent;
    left: 30px; }
  .loop-container.loop-layout-testimonial_grid .entry .testimonial-content p,
  .loop-container.loop-layout-testimonial_grid .entry .testimonial-content a {
    color: white; }
  .loop-container.loop-layout-testimonial_grid .entry .testimonial-content p:last-child {
    margin-bottom: 0; }

body .loop-container.loop-layout-testimonial_slider .entry {
  padding: 0;
  text-align: center; }
  body .loop-container.loop-layout-testimonial_slider .entry:before {
    display: none; }
  body .loop-container.loop-layout-testimonial_slider .entry .testimonial-content {
    margin-bottom: 30px; }
    body .loop-container.loop-layout-testimonial_slider .entry .testimonial-content p {
      color: var(--contrast); }
      @media (min-width: 960px) {
        body .loop-container.loop-layout-testimonial_slider .entry .testimonial-content p {
          font-size: 30px; } }

body .loop-container.loop-layout-testimonial_slider .slick-dots {
  top: 0;
  bottom: auto;
  transform: translateY(-150%); }
  body .loop-container.loop-layout-testimonial_slider .slick-dots li button:before {
    font-size: 10px;
    color: var(--accent); }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtc3R5bGUuY3NzIiwic291cmNlcyI6WyJ0aGVtZS1zdHlsZS5zY3NzIiwiX2dsb2JhbC5zY3NzIiwiaW5pdGlhbC9fdHlwb2dyYXBoeS5zY3NzIiwidGVtcGxhdGUvX2NvcHlyaWdodC1iYXIuc2NzcyIsInRlbXBsYXRlL19mb290ZXItd2lkZ2V0cy5zY3NzIiwidGVtcGxhdGUvX2dmb3Jtcy5zY3NzIiwidGVtcGxhdGUvX2hlYWRlci5zY3NzIiwidGVtcGxhdGUvX3ByZWZvb3Rlci5zY3NzIiwidGVtcGxhdGUvX3NlY29uZGFyeS1uYXZpZ2F0aW9uLnNjc3MiLCJ0ZW1wbGF0ZS9fc2luZ2xlLXByb3BlcnRpZXMuc2NzcyIsInRlbXBsYXRlL190b3AtYmFyLnNjc3MiLCJ0ZW1wbGF0ZS9fd2lkZ2V0cy5zY3NzIiwiZ3V0ZW5iZXJnL19jb3JlLWJ1dHRvbnNfYXBwZW5kZXItZml4LnNjc3MiLCJndXRlbmJlcmcvX2NvcmUtYnV0dG9ucy5zY3NzIiwiZ3V0ZW5iZXJnL19jb3JlLWdhbGxlcnkuc2NzcyIsImd1dGVuYmVyZy9fY29yZS1wYXJhZ3JhcGhfa2lja2VyLnNjc3MiLCJndXRlbmJlcmcvX2NvcmUtc29jaWFsLWljb25zLnNjc3MiLCJndXRlbmJlcmcvX2diLWNvbnRhaW5lcl9kZWZhdWx0cy5zY3NzIiwibGF5b3V0L19hdHRyYWN0aW9ucy5zY3NzIiwibGF5b3V0L19tYXAtYnV0dG9ucy5zY3NzIiwibGF5b3V0L19tYXAuc2NzcyIsImxheW91dC9fcHJvcGVydHktZ3JpZC5zY3NzIiwibGF5b3V0L19wcm9wZXJ0eS1zbGlkZXIuc2NzcyIsImxheW91dC9fdGVzdGltb25pYWwtZ3JpZC5zY3NzIiwibGF5b3V0L190ZXN0aW1vbmlhbC1zbGlkZXIuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgR2V0IGdsb2JhbCBvcHRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSW5jbHVkZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vKiBFYXJseS1sb2FkIGRlZmF1bHRzXG5AaW1wb3J0IFwiaW5pdGlhbC9fdHlwb2dyYXBoeS5zY3NzXCI7XG5cbi8vKiBUaGUgbm9ybWFsIHRoZW1lIGZpbGVzXG5AaW1wb3J0IFwidGVtcGxhdGUvX2NvcHlyaWdodC1iYXIuc2Nzc1wiO1xuQGltcG9ydCBcInRlbXBsYXRlL19mb290ZXItd2lkZ2V0cy5zY3NzXCI7XG5AaW1wb3J0IFwidGVtcGxhdGUvX2dmb3Jtcy5zY3NzXCI7XG5AaW1wb3J0IFwidGVtcGxhdGUvX2hlYWRlci5zY3NzXCI7XG5AaW1wb3J0IFwidGVtcGxhdGUvX3ByZWZvb3Rlci5zY3NzXCI7XG5AaW1wb3J0IFwidGVtcGxhdGUvX3NlY29uZGFyeS1uYXZpZ2F0aW9uLnNjc3NcIjtcbkBpbXBvcnQgXCJ0ZW1wbGF0ZS9fc2luZ2xlLXByb3BlcnRpZXMuc2Nzc1wiO1xuQGltcG9ydCBcInRlbXBsYXRlL190b3AtYmFyLnNjc3NcIjtcbkBpbXBvcnQgXCJ0ZW1wbGF0ZS9fd2lkZ2V0cy5zY3NzXCI7XG5cbi8vKiBHdXRlbmJlcmdcbkBpbXBvcnQgXCJndXRlbmJlcmcvX2NvcmUtYnV0dG9uc19hcHBlbmRlci1maXguc2Nzc1wiO1xuQGltcG9ydCBcImd1dGVuYmVyZy9fY29yZS1idXR0b25zLnNjc3NcIjtcbkBpbXBvcnQgXCJndXRlbmJlcmcvX2NvcmUtZ2FsbGVyeS5zY3NzXCI7XG5AaW1wb3J0IFwiZ3V0ZW5iZXJnL19jb3JlLXBhcmFncmFwaF9raWNrZXIuc2Nzc1wiO1xuQGltcG9ydCBcImd1dGVuYmVyZy9fY29yZS1zb2NpYWwtaWNvbnMuc2Nzc1wiO1xuQGltcG9ydCBcImd1dGVuYmVyZy9fZ2ItY29udGFpbmVyX2RlZmF1bHRzLnNjc3NcIjtcblxuLy8qIFJlbWFpbmluZyBkZWZhdWx0c1xuXG5cbi8vKiBMYXlvdXRzXG5AaW1wb3J0IFwibGF5b3V0L19hdHRyYWN0aW9ucy5zY3NzXCI7XG5AaW1wb3J0IFwibGF5b3V0L19tYXAtYnV0dG9ucy5zY3NzXCI7XG5AaW1wb3J0IFwibGF5b3V0L19tYXAuc2Nzc1wiO1xuQGltcG9ydCBcImxheW91dC9fcHJvcGVydHktZ3JpZC5zY3NzXCI7XG5AaW1wb3J0IFwibGF5b3V0L19wcm9wZXJ0eS1zbGlkZXIuc2Nzc1wiO1xuQGltcG9ydCBcImxheW91dC9fdGVzdGltb25pYWwtZ3JpZC5zY3NzXCI7XG5AaW1wb3J0IFwibGF5b3V0L190ZXN0aW1vbmlhbC1zbGlkZXIuc2Nzc1wiO1xuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFZhcnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiRib3hzaGFkb3c6IDAgMTBweCAzMHB4IDAgcmdiYShibGFjaywgMC4xMik7XG4kbWFyZ2luYm90dG9tOiAyMHB4O1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUXVlcmllc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuJHRoaW46IDYwMHB4O1xuJG1lZGl1bTogOTYwcHg7XG4kd2lkZTogMTIwMHB4O1xuXG5AbWl4aW4gbW9iaWxlIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogI3skdGhpbn0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gdGFibGV0IHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogI3skdGhpbn0pIGFuZCAobWF4LXdpZHRoOiAjeyRtZWRpdW19KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuQG1peGluIG5vdGRlc2t0b3Age1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAjeyRtZWRpdW19KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuQG1peGluIG5vdG1vYmlsZSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICN7JHRoaW59KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuQG1peGluIGRlc2t0b3Age1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAjeyRtZWRpdW19KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuQG1peGluIGRlc2t0b3Atd2lkZSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICN7JHdpZGV9KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cbiIsImJvZHkge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbn1cblxucDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQWxsIGhlYWRpbmdzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxufVxuIiwiLy8gLmNvcHlyaWdodC1iYXIge1xuLy8gICAgIGRpc3BsYXk6IGZsZXg7XG4vLyAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbi8vICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbi8vICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4vLyAgICAgc3BhbiB7XG4vLyAgICAgICAgIG1hcmdpbjogMTBweCAxMHB4O1xuLy8gICAgICAgICBsaW5lLWhlaWdodDogMTtcbi8vICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4vLyAgICAgICAgIHdpZHRoOiBhdXRvO1xuLy8gICAgIH1cblxuLy8gICAgIGltZyB7XG4vLyAgICAgICAgIGhlaWdodDogMjBweDtcbi8vICAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbi8vICAgICB9XG4vLyB9XG5cbi8vIC5pbnNpZGUtc2l0ZS1pbmZvIHtcbi8vICAgICBwYWRkaW5nOiAxMHB4IDQwcHggIWltcG9ydGFudDtcbi8vIH1cbiIsIi5mb290ZXItd2lkZ2V0cy1jb250YWluZXIuZ3JpZC1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDcwcHggNDBweDtcblxuICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgIHBhZGRpbmc6IDQwcHg7XG4gICAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEdsb2JhbCBzdHlsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmJvZHkgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSB7XG4gICAgLmdmaWVsZF9sYWJlbCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLmdpbnB1dF9jb250YWluZXIge1xuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAvLyBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dDpub3QoW3R5cGU9J3N1Ym1pdCddKSxcbiAgICBzZWxlY3Qge1xuICAgICAgICBtaW4taGVpZ2h0OiA0N3B4O1xuICAgIH1cblxuICAgIGlucHV0Om5vdChbdHlwZT0nc3VibWl0J10pLFxuICAgIHRleHRhcmVhLFxuICAgIHNlbGVjdCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29udHJhc3QpO1xuICAgIH1cblxuICAgIC5nZm9ybV9kZXNjcmlwdGlvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZ2Nob2ljZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cblxuICAgIC5nZmllbGRfZGVzY3JpcHRpb24sXG4gICAgLmdmaWVsZC1jb25zZW50LWRlc2NyaXB0aW9uIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICB9XG5cbiAgICAuZ2ZpZWxkLmdzZWN0aW9uIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKHZhcigtLWFjY2VudCksIDAuMSk7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5nc2VjdGlvbl9kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZ2Zvcm1fZm9vdGVyIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAgICAgaW5wdXQuZ2Zvcm1fYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuc2l0ZS1oZWFkZXIge1xuXHRib3JkZXItYm90dG9tOiA0cHggc29saWQgdmFyKC0tYWNjZW50KTtcbn1cblxuLnNpdGUtbG9nbyB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogOTk5O1xufVxuXG4uaGFzLXN0aWNreS1icmFuZGluZy5tYWluLW5hdmlnYXRpb24uaXNfc3R1Y2sge1xuXHRAaW5jbHVkZSBkZXNrdG9wIHtcblx0XHRwYWRkaW5nOiAxNXB4IDA7XG5cdH1cbn1cbiIsIi5wcmVmb290ZXIge1xuICAgIGlmcmFtZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC05cHg7XG4gICAgfVxufVxuIiwiLnNlY29uZGFyeS1uYXZpZ2F0aW9uLmhhcy10b3AtYmFyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4ICFpbXBvcnRhbnQ7XG59XG4iLCJib2R5LnNpbmdsZS1wcm9wZXJ0aWVzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblxuICAgIGgyOm5vdCguaXMtc3R5bGUtcmVkLWxpbmUpIHtcbiAgICAgICAgQGluY2x1ZGUgbm90bW9iaWxlIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCB2YXIoLS1hY2NlbnQpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMjBweCAwIDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoNC5jaXR5IHtcbiAgICAgICAgQGV4dGVuZCAuaXMtc3R5bGUta2lja2VyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5zaXRlLWNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuZ3JpZC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gICAgfVxuXG4gICAgLypcbiAgICAgICBFbnRyeSBoZWFkZXJcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLndyYXAtc2luZ2xlLXByb3BlcnRpZXMtZW50cnktaGVhZGVyIHtcbiAgICAgICAgbWFyZ2luOiAwIGNhbGMoNTAlIC0gNTB2dyk7XG4gICAgICAgIG1heC13aWR0aDogMTAwdnc7XG4gICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgcGFkZGluZzogNDBweCA0MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb250cmFzdC0yKTtcblxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6IHJlZDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vaW1hZ2VzL2xvZ28tbGlnaHQuc3ZnJyk7XG4gICAgICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDQwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuc2luZ2xlLXByb3BlcnRpZXMtZW50cnktaGVhZGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTIwMHB4O1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDIwMHB4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGdhcDogMTAwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50aXRsZS13cmFwIHtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmxvZ28td3JhcCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmxvZ28ge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA2MCU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGgxIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKlxuICAgICAgIEZsb29ycGxhbnNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLndyYXAtZmxvb3JwbGFucyB7XG4gICAgICAgIG1hcmdpbjogMCBjYWxjKDUwJSAtIDUwdncpO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgIHBhZGRpbmc6IDclIDQwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhc2UtMik7XG5cbiAgICAgICAgLmZsb29ycGxhbnMtd3JhcCB7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7XG5cbiAgICAgICAgICAgIHN1bW1hcnkgPiBoMyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCAzMHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1hY2NlbnQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZsb29ycGxhbi1pbWFnZXMtd3JhcCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiA0MDBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAuaW5mbyBzcGFuIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaDMuZmxvb3JwbGFuLXRpdGxlIHtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZsb29ycGxhbi1pbi1hcmNoaXZlXG4gICAgICAgICAgICAgICAgLmZsb29ycGxhbi1pbm5lclxuICAgICAgICAgICAgICAgIC5mbG9vcnBsYW4taW1hZ2VzLXdyYXBcbiAgICAgICAgICAgICAgICAuZmxvb3JwbGFuLXNsaWRlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0MDBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKlxuICAgICAgIEFtZW5pdGllc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAud3JhcC1hbWVuaXRpZXMge1xuICAgICAgICBtYXJnaW46IDAgY2FsYyg1MCUgLSA1MHZ3KTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDB2dztcbiAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xuICAgICAgICBwYWRkaW5nOiA3JSA0MHB4O1xuXG4gICAgICAgIC5hbWVuaXRpZXMtd3JhcCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB1bC5hbWVuaXRpZXMge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHJnYmEod2hpdGUsIDAuMik7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiZGl2LnRvcC1iYXIge1xuICAgIC5pbnNpZGUtdG9wLWJhciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLndpZGdldCB7XG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAvLyBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICAvLyBmb250LXNpemU6IDE2cHg7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSh3aGl0ZSwgMC4zKTtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIud2lkZ2V0IHtcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNWVtO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxufVxuIiwiZGl2W2RhdGEtdHlwZT0nY29yZS9idXR0b25zJ10ge1xuICAgIC5ibG9jay1saXN0LWFwcGVuZGVyX190b2dnbGUge1xuICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBHZW5lcmljXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYnRuIHtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmc6IDE1cHggMjBweCAhaW1wb3J0YW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMTNweCAhaW1wb3J0YW50O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJvcmRlci13aWR0aDogMnB4ICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IHN0YXRpYztcblxuICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb3JlIGJ1dHRvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi53cC1ibG9jay1idXR0b25zIHtcbiAgICAud3AtYmxvY2stYnV0dG9uIHtcbiAgICAgICAgLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5idG47XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBHZW5lcmF0ZVByZXNzIGJ1dHRvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5nYi1idXR0b24td3JhcHBlciB7XG4gICAgLmdiLWJ1dHRvbiB7XG4gICAgICAgIEBleHRlbmQgLmJ0bjtcbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBHcmF2aXR5IGZvcm1zIGJ1dHRvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5nZm9ybV9mb290ZXIgaW5wdXRbdHlwZT0nc3VibWl0J10ge1xuICAgIEBleHRlbmQgLmJ0bjtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG59XG4iLCIud3AtYmxvY2stZ2FsbGVyeSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cbiIsIi5pcy1zdHlsZS1raWNrZXIge1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG4iLCIud3AtYmxvY2stc29jaWFsLWxpbmtzLFxuLndpZGdldCB1bC53cC1ibG9jay1zb2NpYWwtbGlua3Mge1xuICAgIGxpLndwLXNvY2lhbC1saW5rIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFBhZGRpbmcgb24gdGhlIGZyb250ZW5kXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG46d2hlcmUoLmVudHJ5LWNvbnRlbnQgPiAuZ2ItY29udGFpbmVyKSB7XG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQYWRkaW5nIGluIHRoZSBlZGl0b3IgQU5EIG9uIHRoZSBmcm9udGVuZFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuOndoZXJlKC5lbnRyeS1jb250ZW50ID4gLmdiLWNvbnRhaW5lciksXG46d2hlcmUoLmdiLWlzLXJvb3QtYmxvY2sgPiAuZ2ItY29udGFpbmVyKSxcbjp3aGVyZShcbiAgICAgICAgLmlzLXJvb3QtY29udGFpbmVyXG4gICAgICAgICAgICA+IC5ibG9jay1saWJyYXJ5LWJsb2NrX19yZXVzYWJsZS1ibG9jay1jb250YWluZXJcbiAgICAgICAgICAgID4gLmdiLWNvbnRhaW5lclxuICAgICkge1xuICAgIHBhZGRpbmctdG9wOiA5MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA5MHB4O1xuXG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDYwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBEb3R0ZWQgbGluZSBvbiBjb250YWluZXJzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uZ2ItaW5zaWRlLWNvbnRhaW5lciAuYmxvY2stZWRpdG9yLWlubmVyLWJsb2Nrcyxcbi5ibG9jay1lZGl0b3ItYmxvY2stbGlzdF9fYmxvY2suZ2ItY29udGFpbmVyID4gLmdiLWNvbnRhaW5lciB7XG4gICAgb3V0bGluZTogMXB4IGRhc2hlZCByZ2JhKGdyYXksIDAuNCk7XG59XG4iLCIubmEtYXR0cmFjdGlvbnMtc2hvcnRjb2RlLXdyYXAge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWZsb3c6IHJvdyB3cmFwO1xuXG5cdD4gKiB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblxuXHQubmEtYXR0cmFjdGlvbnMge1xuXHRcdG9yZGVyOiAwO1xuXHR9XG5cblx0Lm5hLWF0dHJhY3Rpb25zLW1hcCB7XG5cdFx0b3JkZXI6IDE7XG5cdH1cbn1cbiIsIi5mYW5jeS1maWx0ZXJzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICB9XG59XG4iLCJib2R5IC53cGdtcF9tYXBfcGFyZW50LFxuYm9keSAud3BnbXBfZmlsdGVyX3dyYXBwZXJzIHtcbiAgICBmbG9hdDogbm9uZTtcblxuICAgIGRpdi53cGdtcF9saXN0aW5nX2hlYWRlcixcbiAgICBkaXYuY2F0ZWdvcmllc19maWx0ZXIsXG4gICAgZGl2LndwZ21wX2NhdGVnb3JpZXMsXG4gICAgZGl2LndwZ21wX2JlZm9yZV9saXN0aW5nIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgfVxuXG4gICAgZGl2LmNhdGVnb3JpZXNfZmlsdGVyIHNlbGVjdCB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgIH1cbn1cblxuYm9keSB7XG4gICAgLndwZ21wX2ZpbHRlcl93cmFwcGVycyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhc2UtMik7XG5cbiAgICAgICAgLndwZ21wX2JlZm9yZV9saXN0aW5nIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb250cmFzdCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubG9jYXRpb25fbGlzdGluZzEge1xuICAgICAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgICAgIGRpdi53cGdtcF9saXN0aW5nX2NvbnRhaW5lciB7XG4gICAgICAgICAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgZGl2LndwZ21wX2xpc3RpbmdfaGVhZGVyLFxuICAgICAgICBkaXYuY2F0ZWdvcmllc19maWx0ZXIsXG4gICAgICAgIGRpdi53cGdtcF9jYXRlZ29yaWVzLFxuICAgICAgICBkaXYud3BnbXBfYmVmb3JlX2xpc3Rpbmcge1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mYy1mZWF0dXJlZC1ob3ZlcmlubmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC53cGdtcF9saXN0aW5nX2NvbnRhaW5lciB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xMHB4O1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDIwcHgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmxvb3AtY29udGFpbmVyLmxvb3AtbGF5b3V0LXByb3BlcnR5X2dyaWQge1xuICAgIC5lbnRyeSB7XG4gICAgICAgIHBhZGRpbmc6IDI1cHg7XG4gICAgICAgIGJveC1zaGFkb3c6ICRib3hzaGFkb3c7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogNTA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXG4gICAgICAgIC5vdmVybGF5IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGluc2V0OiAwO1xuICAgICAgICAgICAgei1pbmRleDogMjA7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zdC1lZGl0LWxpbmsge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMjU7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvcGVydHktY29udGVudCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMjVweDtcblxuICAgICAgICAgICAgcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZlYXR1cmVkLWltYWdlLXdyYXAge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29udHJhc3QpO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDU1JTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4zcyBhbGwgZWFzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5sb2dvX3doaXRlLFxuICAgICAgICAubG9nb19jb2xvciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBpbnNldDogMTUlIDUlO1xuICAgICAgICAgICAgei1pbmRleDogMTU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDAuM3MgYWxsIGVhc2U7XG4gICAgICAgIH1cblxuICAgICAgICAubG9nb193aGl0ZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxvZ29fY29sb3Ige1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mZWF0dXJlZC1pbWFnZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBpbnNldDogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgZmlsdGVyOiBzYXR1cmF0ZSgwKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDAuM3MgYWxsIGVhc2U7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgei1pbmRleDogNTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgIH1cblxuICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWFjY2VudCk7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAyNTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWNjZW50KTtcbiAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZW50cnk6aG92ZXIge1xuICAgICAgICAuZmVhdHVyZWQtaW1hZ2Utd3JhcCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYXNlLTIpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZlYXR1cmVkLWltYWdlIHtcbiAgICAgICAgICAgIGZpbHRlcjogc2F0dXJhdGU7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjI7XG4gICAgICAgIH1cblxuICAgICAgICAubG9nb19jb2xvciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxvZ29fd2hpdGUge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5sb29wLWNvbnRhaW5lci5sb29wLWxheW91dC1wcm9wZXJ0eV9zbGlkZXIge1xuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgIC5lbnRyeSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAubG9nbyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA0NSU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDAuM3MgYWxsIGVhc2U7XG4gICAgICAgIH1cblxuICAgICAgICAub3ZlcmxheSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBpbnNldDogMDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZW50cnk6aG92ZXIge1xuICAgICAgICAubG9nbyB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIubG9vcC1jb250YWluZXIubG9vcC1sYXlvdXQtdGVzdGltb25pYWxfZ3JpZCB7XG4gICAgLmVudHJ5IHtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDE1MDBweCkge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDQgLSAxcHgpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBoMy50aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC50ZXN0aW1vbmlhbC1jb250ZW50IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFjY2VudCk7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAvLyBib3JkZXItcmFkaXVzOiAxMHB4O1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWFjY2VudCkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgbGVmdDogMzBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcCxcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiYm9keSAubG9vcC1jb250YWluZXIubG9vcC1sYXlvdXQtdGVzdGltb25pYWxfc2xpZGVyIHtcbiAgICAuZW50cnkge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC50ZXN0aW1vbmlhbC1jb250ZW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb250cmFzdCk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zbGljay1kb3RzIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTUwJSk7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWFjY2VudCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztnRkFFZ0Y7QUNGaEY7O2dGQUVnRjtBQUtoRjs7Z0ZBRWdGO0FESGhGOztnRkFFZ0Y7QUVSaEYsQUFBQSxJQUFJLENBQUM7RUFDRCxTQUFTLEVBQUUsSUFBSSxHQUNsQjs7QUFFRCxBQUFBLENBQUMsQUFBQSxXQUFXLENBQUM7RUFDVCxhQUFhLEVBQUUsQ0FBQyxHQUNuQjs7QUFFRDs7Z0ZBRWdGO0FBRWhGLEFBTUksRUFORixBQU1HLFdBQVc7QUFMaEIsRUFBRSxBQUtHLFdBQVc7QUFKaEIsRUFBRSxBQUlHLFdBQVc7QUFIaEIsRUFBRSxBQUdHLFdBQVc7QUFGaEIsRUFBRSxBQUVHLFdBQVc7QUFEaEIsRUFBRSxBQUNHLFdBQVcsQ0FBQztFQUNULGFBQWEsRUFBRSxDQUFDLEdBQ25COztBRXBCTCxBQUFBLHlCQUF5QixBQUFBLGVBQWUsQ0FBQztFQUNyQyxPQUFPLEVBQUUsU0FBUyxHQUtyQjtFSFVHLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJR2hCNUIsQUFBQSx5QkFBeUIsQUFBQSxlQUFlLENBQUM7TUFJakMsT0FBTyxFQUFFLElBQUksR0FFcEI7O0FDTkQ7O2dGQUVnRjtBQUVoRixBQUNJLElBREEsQ0FBQyxjQUFjLEFBQUEsY0FBYyxDQUM3QixhQUFhLENBQUM7RUFDVixhQUFhLEVBQUUsQ0FBQyxHQUNuQjs7QUFITCxBQU1RLElBTkosQ0FBQyxjQUFjLEFBQUEsY0FBYyxDQUs3QixpQkFBaUIsQ0FDYixLQUFLLENBQUM7RUFFRixjQUFjLEVBQUUsQ0FBQztFQUNqQixTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRUFBRSxDQUFDLEdBQ2pCOztBQVhULEFBY0ksSUFkQSxDQUFDLGNBQWMsQUFBQSxjQUFjLENBYzdCLEtBQUssQUFBQSxJQUFLLEVBQUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiO0FBZGYsSUFBSSxDQUFDLGNBQWMsQUFBQSxjQUFjLENBZTdCLE1BQU0sQ0FBQztFQUNILFVBQVUsRUFBRSxJQUFJLEdBQ25COztBQWpCTCxBQW1CSSxJQW5CQSxDQUFDLGNBQWMsQUFBQSxjQUFjLENBbUI3QixLQUFLLEFBQUEsSUFBSyxFQUxBLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYjtBQWRmLElBQUksQ0FBQyxjQUFjLEFBQUEsY0FBYyxDQW9CN0IsUUFBUTtBQXBCWixJQUFJLENBQUMsY0FBYyxBQUFBLGNBQWMsQ0FxQjdCLE1BQU0sQ0FBQztFQUNILGdCQUFnQixFQUFFLEtBQUs7RUFDdkIsS0FBSyxFQUFFLGVBQWUsR0FDekI7O0FBeEJMLEFBMEJJLElBMUJBLENBQUMsY0FBYyxBQUFBLGNBQWMsQ0EwQjdCLGtCQUFrQixDQUFDO0VBQ2YsYUFBYSxFQUFFLElBQUk7RUFDbkIsT0FBTyxFQUFFLEtBQUs7RUFDZCxTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRUFBRSxHQUFHLEdBVW5CO0VBeENMLEFBZ0NRLElBaENKLENBQUMsY0FBYyxBQUFBLGNBQWMsQ0EwQjdCLGtCQUFrQixDQU1kLENBQUMsQ0FBQztJQUNFLGFBQWEsRUFBRSxHQUFHO0lBQ2xCLFdBQVcsRUFBRSxHQUFHLEdBS25CO0lBdkNULEFBb0NZLElBcENSLENBQUMsY0FBYyxBQUFBLGNBQWMsQ0EwQjdCLGtCQUFrQixDQU1kLENBQUMsQUFJSSxXQUFXLENBQUM7TUFDVCxhQUFhLEVBQUUsQ0FBQyxHQUNuQjs7QUF0Q2IsQUEwQ0ksSUExQ0EsQ0FBQyxjQUFjLEFBQUEsY0FBYyxDQTBDN0IsUUFBUSxDQUFDO0VBQ0wsV0FBVyxFQUFFLENBQUMsR0FDakI7O0FBNUNMLEFBOENJLElBOUNBLENBQUMsY0FBYyxBQUFBLGNBQWMsQ0E4QzdCLG1CQUFtQjtBQTlDdkIsSUFBSSxDQUFDLGNBQWMsQUFBQSxjQUFjLENBK0M3QiwyQkFBMkIsQ0FBQztFQUN4QixXQUFXLEVBQUUsR0FBRyxHQUNuQjs7QUFqREwsQUFtREksSUFuREEsQ0FBQyxjQUFjLEFBQUEsY0FBYyxDQW1EN0IsT0FBTyxBQUFBLFNBQVMsQ0FBQztFQUNiLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLHdCQUF3QixHQWFwRDtFQWxFTCxBQXVEUSxJQXZESixDQUFDLGNBQWMsQUFBQSxjQUFjLENBbUQ3QixPQUFPLEFBQUEsU0FBUyxBQUlYLFlBQVksQ0FBQztJQUNWLFdBQVcsRUFBRSxDQUFDLEdBQ2pCO0VBekRULEFBMkRRLElBM0RKLENBQUMsY0FBYyxBQUFBLGNBQWMsQ0FtRDdCLE9BQU8sQUFBQSxTQUFTLENBUVoscUJBQXFCLENBQUM7SUFDbEIsV0FBVyxFQUFFLENBQUMsR0FDakI7RUE3RFQsQUErRFEsSUEvREosQ0FBQyxjQUFjLEFBQUEsY0FBYyxDQW1EN0IsT0FBTyxBQUFBLFNBQVMsQ0FZWixFQUFFLENBQUM7SUFDQyxhQUFhLEVBQUUsQ0FBQyxHQUNuQjs7QUFqRVQsQUFvRUksSUFwRUEsQ0FBQyxjQUFjLEFBQUEsY0FBYyxDQW9FN0IsYUFBYSxDQUFDO0VBQ1YsY0FBYyxFQUFFLENBQUMsR0FNcEI7RUEzRUwsQUF1RVEsSUF2RUosQ0FBQyxjQUFjLEFBQUEsY0FBYyxDQW9FN0IsYUFBYSxDQUdULEtBQUssQUFBQSxhQUFhLENBQUM7SUFDZixhQUFhLEVBQUUsQ0FBQztJQUNoQixNQUFNLEVBQUUsT0FBTyxHQUNsQjs7QUM5RVQsQUFBQSxZQUFZLENBQUM7RUFDWixhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxhQUFhLEdBQ3RDOztBQUVELEFBQUEsVUFBVSxDQUFDO0VBQ1YsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLEdBQUcsR0FDWjs7QUxpQ0csTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0VLL0I1QixBQUFBLG9CQUFvQixBQUFBLGdCQUFnQixBQUFBLFNBQVMsQ0FBQztJQUU1QyxPQUFPLEVBQUUsTUFBTSxHQUVoQjs7QUNiRCxBQUNJLFVBRE0sQ0FDTixNQUFNLENBQUM7RUFDSCxhQUFhLEVBQUUsSUFBSSxHQUN0Qjs7QUNITCxBQUFBLHFCQUFxQixBQUFBLFlBQVksQ0FBQztFQUM5QixZQUFZLEVBQUUsZUFBZTtFQUM3QixhQUFhLEVBQUUsZUFBZSxHQUNqQzs7QUNIRCxBQUFBLElBQUksQUFBQSxrQkFBa0IsQ0FBQztFQUNuQixnQkFBZ0IsRUFBRSxLQUFLO0VBZ0N2Qjs7b0ZBRWdGO0VBb0VoRjs7b0ZBRWdGO0VBc0RoRjs7b0ZBRWdGLEVBc0NuRjtFUnJLRyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7SVFsQzVCLEFBR0ksSUFIQSxBQUFBLGtCQUFrQixDQUdsQixFQUFFLEFBQUEsSUFBSyxDQUFBLGtCQUFrQixFQUFFO01BRW5CLEtBQUssRUFBRSxJQUFJO01BQ1gsT0FBTyxFQUFFLFlBQVk7TUFDckIsS0FBSyxFQUFFLElBQUksR0FVbEI7TUFqQkwsQUFTWSxJQVRSLEFBQUEsa0JBQWtCLENBR2xCLEVBQUUsQUFBQSxJQUFLLENBQUEsa0JBQWtCLENBTWhCLE1BQU0sQ0FBQztRQUNKLE9BQU8sRUFBRSxFQUFFO1FBQ1gsS0FBSyxFQUFFLElBQUk7UUFDWCxhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxhQUFhO1FBQ3RDLE9BQU8sRUFBRSxLQUFLO1FBQ2QsTUFBTSxFQUFFLFdBQVcsR0FDdEI7RUFmYixBQW1CSSxJQW5CQSxBQUFBLGtCQUFrQixDQW1CbEIsRUFBRSxBQUFBLEtBQUssQ0FBQztJQUVKLGFBQWEsRUFBRSxDQUFDLEdBQ25CO0VBdEJMLEFBd0JJLElBeEJBLEFBQUEsa0JBQWtCLENBd0JsQixhQUFhLENBQUM7SUFDVixPQUFPLEVBQUUsS0FBSyxHQUNqQjtFQTFCTCxBQTRCSSxJQTVCQSxBQUFBLGtCQUFrQixDQTRCbEIsZUFBZSxDQUFDO0lBQ1osWUFBWSxFQUFFLElBQUk7SUFDbEIsYUFBYSxFQUFFLElBQUksR0FDdEI7RUEvQkwsQUFxQ0ksSUFyQ0EsQUFBQSxrQkFBa0IsQ0FxQ2xCLG9DQUFvQyxDQUFDO0lBQ2pDLE1BQU0sRUFBRSxDQUFDLENBQUMsZ0JBQWdCO0lBQzFCLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLEtBQUssRUFBRSxLQUFLO0lBQ1osT0FBTyxFQUFFLFNBQVM7SUFDbEIsZ0JBQWdCLEVBQUUsaUJBQWlCO0lBRW5DLFFBQVEsRUFBRSxRQUFRLEdBeURyQjtJQXJHTCxBQThDUSxJQTlDSixBQUFBLGtCQUFrQixDQXFDbEIsb0NBQW9DLEFBUy9CLE9BQU8sQ0FBQztNQUNMLE9BQU8sRUFBRSxFQUFFO01BQ1gsUUFBUSxFQUFFLFFBQVE7TUFDbEIsSUFBSSxFQUFFLEdBQUc7TUFDVCxHQUFHLEVBQUUsQ0FBQztNQUNOLE1BQU0sRUFBRSxDQUFDO01BQ1QsS0FBSyxFQUFFLENBQUM7TUFFUixnQkFBZ0IsRUFBRSxrQ0FBa0M7TUFDcEQsT0FBTyxFQUFFLENBQUM7TUFDVixlQUFlLEVBQUUsT0FBTztNQUN4QixpQkFBaUIsRUFBRSxTQUFTO01BQzVCLG1CQUFtQixFQUFFLFdBQVcsR0FDbkM7SVIzQ0wsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO01RaEI1QixBQXFDSSxJQXJDQSxBQUFBLGtCQUFrQixDQXFDbEIsb0NBQW9DLENBQUM7UUF5QjdCLE9BQU8sRUFBRSxJQUFJLEdBdUNwQjtJQXJHTCxBQWlFUSxJQWpFSixBQUFBLGtCQUFrQixDQXFDbEIsb0NBQW9DLENBNEJoQywrQkFBK0IsQ0FBQztNQUM1QixRQUFRLEVBQUUsUUFBUTtNQUNsQixPQUFPLEVBQUUsRUFBRTtNQUNYLE1BQU0sRUFBRSxNQUFNO01BQ2QsS0FBSyxFQUFFLElBQUk7TUFDWCxTQUFTLEVBQUUsTUFBTTtNQUNqQixPQUFPLEVBQUUsSUFBSTtNQUNiLHFCQUFxQixFQUFFLFNBQVM7TUFDaEMsV0FBVyxFQUFFLE1BQU07TUFDbkIsR0FBRyxFQUFFLEtBQUssR0EwQmI7TVJwRkwsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO1FRaEI1QixBQWlFUSxJQWpFSixBQUFBLGtCQUFrQixDQXFDbEIsb0NBQW9DLENBNEJoQywrQkFBK0IsQ0FBQztVQVl4QixxQkFBcUIsRUFBRSxHQUFHLEdBdUJqQztNUnBGTCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7UVFoQjVCLEFBbUZZLElBbkZSLEFBQUEsa0JBQWtCLENBcUNsQixvQ0FBb0MsQ0E0QmhDLCtCQUErQixDQWtCM0IsVUFBVSxDQUFDO1VBRUgsT0FBTyxFQUFFLElBQUksR0FTcEI7TUE5RmIsQUF1RmdCLElBdkZaLEFBQUEsa0JBQWtCLENBcUNsQixvQ0FBb0MsQ0E0QmhDLCtCQUErQixDQWtCM0IsVUFBVSxDQUlOLEtBQUssQ0FBQztRQUNGLE1BQU0sRUFBRSxDQUFDO1FBQ1QsV0FBVyxFQUFFLEdBQUc7UUFDaEIsZUFBZSxFQUFFLE9BQU87UUFDeEIsbUJBQW1CLEVBQUUsYUFBYTtRQUNsQyxpQkFBaUIsRUFBRSxTQUFTLEdBQy9CO01BN0ZqQixBQWdHWSxJQWhHUixBQUFBLGtCQUFrQixDQXFDbEIsb0NBQW9DLENBNEJoQywrQkFBK0IsQ0ErQjNCLEVBQUUsQ0FBQztRQUNDLEtBQUssRUFBRSxLQUFLO1FBQ1osV0FBVyxFQUFFLENBQUMsR0FDakI7RUFuR2IsQUEyR0ksSUEzR0EsQUFBQSxrQkFBa0IsQ0EyR2xCLGdCQUFnQixDQUFDO0lBQ2IsTUFBTSxFQUFFLENBQUMsQ0FBQyxnQkFBZ0I7SUFDMUIsU0FBUyxFQUFFLEtBQUs7SUFDaEIsS0FBSyxFQUFFLEtBQUs7SUFDWixPQUFPLEVBQUUsT0FBTztJQUNoQixnQkFBZ0IsRUFBRSxhQUFhLEdBNkNsQztJQTdKTCxBQWtIUSxJQWxISixBQUFBLGtCQUFrQixDQTJHbEIsZ0JBQWdCLENBT1osZ0JBQWdCLENBQUM7TUFDYixNQUFNLEVBQUUsTUFBTTtNQUNkLEtBQUssRUFBRSxJQUFJO01BQ1gsU0FBUyxFQUFFLE1BQU0sR0F1Q3BCO01BNUpULEFBdUhZLElBdkhSLEFBQUEsa0JBQWtCLENBMkdsQixnQkFBZ0IsQ0FPWixnQkFBZ0IsQ0FLWixPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ1QsZ0JBQWdCLEVBQUUsS0FBSztRQUN2QixPQUFPLEVBQUUsU0FBUztRQUNsQixXQUFXLEVBQUUsR0FBRztRQUNoQixTQUFTLEVBQUUsSUFBSSxHQUtsQjtRQWhJYixBQTZIZ0IsSUE3SFosQUFBQSxrQkFBa0IsQ0EyR2xCLGdCQUFnQixDQU9aLGdCQUFnQixDQUtaLE9BQU8sR0FBRyxFQUFFLEFBTVAsTUFBTSxDQUFDO1VBQ0osS0FBSyxFQUFFLGFBQWEsR0FDdkI7TUEvSGpCLEFBa0lZLElBbElSLEFBQUEsa0JBQWtCLENBMkdsQixnQkFBZ0IsQ0FPWixnQkFBZ0IsQ0FnQlosc0JBQXNCLENBQUM7UUFDbkIsZ0JBQWdCLEVBQUUsS0FBSyxHQUsxQjtRUmhHVCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7VVF4QzVCLEFBa0lZLElBbElSLEFBQUEsa0JBQWtCLENBMkdsQixnQkFBZ0IsQ0FPWixnQkFBZ0IsQ0FnQlosc0JBQXNCLENBQUM7WUFJZixTQUFTLEVBQUUsS0FBSyxHQUV2QjtNQXhJYixBQTBJWSxJQTFJUixBQUFBLGtCQUFrQixDQTJHbEIsZ0JBQWdCLENBT1osZ0JBQWdCLENBd0JaLENBQUMsQUFBQSxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ1IsU0FBUyxFQUFFLGVBQWUsR0FDN0I7TUE1SWIsQUE4SVksSUE5SVIsQUFBQSxrQkFBa0IsQ0EyR2xCLGdCQUFnQixDQU9aLGdCQUFnQixDQTRCWixFQUFFLEFBQUEsZ0JBQWdCLENBQUM7UUFDZixjQUFjLEVBQUUsU0FBUztRQUN6QixXQUFXLEVBQUUsSUFBSTtRQUNqQixTQUFTLEVBQUUsSUFBSSxHQUNsQjtNUjFHVCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7UVF4QzVCLEFBb0pZLElBcEpSLEFBQUEsa0JBQWtCLENBMkdsQixnQkFBZ0IsQ0FPWixnQkFBZ0IsQ0FrQ1oscUJBQXFCLENBQ2pCLGdCQUFnQixDQUNoQixzQkFBc0IsQ0FDdEIsZ0JBQWdCLENBQUM7VUFFYixNQUFNLEVBQUUsS0FBSyxHQUVwQjtFQTNKYixBQW1LSSxJQW5LQSxBQUFBLGtCQUFrQixDQW1LbEIsZUFBZSxDQUFDO0lBQ1osTUFBTSxFQUFFLENBQUMsQ0FBQyxnQkFBZ0I7SUFDMUIsU0FBUyxFQUFFLEtBQUs7SUFDaEIsS0FBSyxFQUFFLEtBQUs7SUFDWixnQkFBZ0IsRUFBRSxhQUFhO0lBQy9CLE9BQU8sRUFBRSxPQUFPLEdBOEJuQjtJQXRNTCxBQTBLUSxJQTFLSixBQUFBLGtCQUFrQixDQW1LbEIsZUFBZSxDQU9YLGVBQWUsQ0FBQztNQUNaLFNBQVMsRUFBRSxNQUFNO01BQ2pCLE1BQU0sRUFBRSxNQUFNLEdBeUJqQjtNQXJNVCxBQThLWSxJQTlLUixBQUFBLGtCQUFrQixDQW1LbEIsZUFBZSxDQU9YLGVBQWUsQ0FJWCxFQUFFLENBQUM7UUFDQyxLQUFLLEVBQUUsS0FBSztRQUNaLFVBQVUsRUFBRSxNQUFNO1FBQ2xCLE9BQU8sRUFBRSxLQUFLLEdBU2pCO1FBMUxiLEFBbUxnQixJQW5MWixBQUFBLGtCQUFrQixDQW1LbEIsZUFBZSxDQU9YLGVBQWUsQ0FJWCxFQUFFLEFBS0csTUFBTSxDQUFDO1VBQ0osT0FBTyxFQUFFLElBQUksR0FDaEI7UVJyS2IsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO1VRaEI1QixBQThLWSxJQTlLUixBQUFBLGtCQUFrQixDQW1LbEIsZUFBZSxDQU9YLGVBQWUsQ0FJWCxFQUFFLENBQUM7WUFVSyxVQUFVLEVBQUUsSUFBSSxHQUV2QjtNQTFMYixBQTRMWSxJQTVMUixBQUFBLGtCQUFrQixDQW1LbEIsZUFBZSxDQU9YLGVBQWUsQ0FrQlgsRUFBRSxBQUFBLFVBQVUsQ0FBQztRQUNULFdBQVcsRUFBRSxJQUFJLEdBT3BCO1FBcE1iLEFBOExnQixJQTlMWixBQUFBLGtCQUFrQixDQW1LbEIsZUFBZSxDQU9YLGVBQWUsQ0FrQlgsRUFBRSxBQUFBLFVBQVUsQ0FFUixFQUFFLENBQUM7VUFDQyxhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBTSx3QkFBSztVQUNuQyxLQUFLLEVBQUUsS0FBSztVQUNaLGNBQWMsRUFBRSxTQUFTO1VBQ3pCLFdBQVcsRUFBRSxJQUFJLEdBQ3BCOztBQ25NakIsQUFDSSxHQURELEFBQUEsUUFBUSxDQUNQLGVBQWUsQ0FBQztFQUNaLGVBQWUsRUFBRSxRQUFRLEdBVzVCO0VUR0QsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0lTaEI1QixBQUNJLEdBREQsQUFBQSxRQUFRLENBQ1AsZUFBZSxDQUFDO01BSVIsZUFBZSxFQUFFLE1BQU0sR0FROUI7RUFiTCxBQVNZLEdBVFQsQUFBQSxRQUFRLENBQ1AsZUFBZSxDQU9YLE9BQU8sQUFDRixZQUFZLENBQUM7SUFDVixXQUFXLEVBQUUsWUFBWSxHQUM1Qjs7QUFYYixBQWNJLEdBZEQsQUFBQSxRQUFRLENBY1AsQ0FBQyxDQUFDO0VBQ0UsYUFBYSxFQUFFLENBQUMsR0FnQm5CO0VBL0JMLEFBbUJRLEdBbkJMLEFBQUEsUUFBUSxDQWNQLENBQUMsQ0FLRyxJQUFJLENBQUM7SUFDRCxXQUFXLEVBQUUsSUFBSTtJQUNqQixZQUFZLEVBQUUsSUFBSTtJQUNsQixPQUFPLEVBQUUsWUFBWTtJQUNyQixXQUFXLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBTSx3QkFBSyxHQU9wQztJQTlCVCxBQXlCWSxHQXpCVCxBQUFBLFFBQVEsQ0FjUCxDQUFDLENBS0csSUFBSSxBQU1DLFlBQVksQ0FBQztNQUNWLFdBQVcsRUFBRSxDQUFDO01BQ2QsWUFBWSxFQUFFLENBQUM7TUFDZixNQUFNLEVBQUUsSUFBSSxHQUNmOztBQTdCYixBQWlDSSxHQWpDRCxBQUFBLFFBQVEsQ0FpQ1AsQ0FBQyxDQUFDO0VBQ0UsZUFBZSxFQUFFLElBQUksR0FLeEI7RUF2Q0wsQUFvQ1EsR0FwQ0wsQUFBQSxRQUFRLENBaUNQLENBQUMsQUFHSSxNQUFNLENBQUM7SUFDSixlQUFlLEVBQUUsSUFBSSxHQUN4Qjs7QUN0Q1QsQUFDSSxPQURHLENBQ0gsRUFBRTtBQUROLE9BQU8sQ0FFSCxFQUFFLENBQUM7RUFDQyxTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLGNBQWMsRUFBRSxTQUFTO0VBQ3pCLGFBQWEsRUFBRSxLQUFLLEdBQ3ZCOztBQVBMLEFBU0ksT0FURyxDQVNILENBQUMsQ0FBQztFQUNFLGVBQWUsRUFBRSxJQUFJLEdBQ3hCOztBQ1hMLEFBQ0ksR0FERCxDQUFBLEFBQUEsU0FBQyxDQUFVLGNBQWMsQUFBeEIsRUFDQSw0QkFBNEIsQ0FBQztFQUN6QixPQUFPLEVBQUUsWUFBWTtFQUNyQixTQUFTLEVBQUUsZUFBZSxHQUM3Qjs7QUNKTDs7Z0ZBRWdGO0FBRWhGLEFBQUEsSUFBSSxFQXVCSixpQkFBaUIsQ0FDYixnQkFBZ0IsQ0FDWixzQkFBc0IsRUFVOUIsa0JBQWtCLENBQ2QsVUFBVSxFQVNkLGFBQWEsQ0FBQyxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLEVBN0NmO0VBQ0QsYUFBYSxFQUFFLEdBQUc7RUFDbEIsV0FBVyxFQUFFLElBQUk7RUFDakIsTUFBTSxFQUFFLE9BQU87RUFDZixPQUFPLEVBQUUsb0JBQW9CO0VBQzdCLGVBQWUsRUFBRSxlQUFlO0VBQ2hDLFNBQVMsRUFBRSxlQUFlO0VBQzFCLGNBQWMsRUFBRSxLQUFLO0VBQ3JCLGNBQWMsRUFBRSxTQUFTO0VBQ3pCLFlBQVksRUFBRSxjQUFjO0VBQzVCLE9BQU8sRUFBRSx1QkFBdUI7RUFDaEMsUUFBUSxFQUFFLE1BQU0sR0FNbkI7RVpMRyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7SVlaNUIsQUFBQSxJQUFJLEVBdUJKLGlCQUFpQixDQUNiLGdCQUFnQixDQUNaLHNCQUFzQixFQVU5QixrQkFBa0IsQ0FDZCxVQUFVLEVBU2QsYUFBYSxDQUFDLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsRUE3Q2Y7TUFjRyxPQUFPLEVBQUUsS0FBSztNQUNkLEtBQUssRUFBRSxJQUFJLEdBRWxCOztBQUVEOztnRkFFZ0Y7QUFVaEY7O2dGQUVnRjtBQVFoRjs7Z0ZBRWdGO0FBRWhGLEFBR0ksYUFIUyxDQUFDLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsQ0FHZixXQUFXLENBQUM7RUFDVCxhQUFhLEVBQUUsQ0FBQztFQUNoQixZQUFZLEVBQUUsQ0FBQyxHQUNsQjs7QUN2REwsQUFBQSxpQkFBaUIsQ0FBQztFQUNkLGFBQWEsRUFBRSxLQUFLLEdBS3ZCO0VBTkQsQUFHSSxpQkFIYSxBQUdaLFdBQVcsQ0FBQztJQUNULGFBQWEsRUFBRSxDQUFDLEdBQ25COztBQ0xMLEFBQUEsZ0JBQWdCLEVOQWhCLElBQUksQUFBQSxrQkFBa0IsQ0FtQmxCLEVBQUUsQUFBQSxLQUFLLENNbkJNO0VBQ2IsU0FBUyxFQUFFLElBQUk7RUFDZixXQUFXLEVBQUUsSUFBSTtFQUNqQixjQUFjLEVBQUUsU0FBUztFQUN6QixjQUFjLEVBQUUsS0FBSztFQUNyQixhQUFhLEVBQUUsR0FBRyxHQUNyQjs7QUNORCxBQUVJLHNCQUZrQixDQUVsQixFQUFFLEFBQUEsZUFBZTtBQURyQixPQUFPLENBQUMsRUFBRSxBQUFBLHNCQUFzQixDQUM1QixFQUFFLEFBQUEsZUFBZSxDQUFDO0VBQ2QsYUFBYSxFQUFFLENBQUMsR0FLbkI7RUFSTCxBQUtRLHNCQUxjLENBRWxCLEVBQUUsQUFBQSxlQUFlLENBR2IsQ0FBQztFQUpULE9BQU8sQ0FBQyxFQUFFLEFBQUEsc0JBQXNCLENBQzVCLEVBQUUsQUFBQSxlQUFlLENBR2IsQ0FBQyxDQUFDO0lBQ0UsT0FBTyxFQUFFLEtBQUssR0FDakI7O0FDUFQ7O2dGQUVnRjtBaEJvQjVFLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSyxPQUFPLFNBQVMsRUFBRSxLQUFLO0VnQmxCbkQsQUFBQSxNQUFPLENBQUEsY0FBYyxHQUFHLGFBQWEsRUFBRTtJQUUvQixZQUFZLEVBQUUsSUFBSTtJQUNsQixhQUFhLEVBQUUsSUFBSSxHQU8xQjs7QWhCRUcsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0VnQlo1QixBQUFBLE1BQU8sQ0FBQSxjQUFjLEdBQUcsYUFBYSxFQUFFO0lBTy9CLFlBQVksRUFBRSxJQUFJO0lBQ2xCLGFBQWEsRUFBRSxJQUFJLEdBRTFCOztBQUVEOztnRkFFZ0Y7QUFFaEYsQUFBQSxNQUFPLENBaEJBLGNBQWMsR0FBRyxhQUFhO0FBaUJyQyxNQUFPLENBQUEsaUJBQWlCLEdBQUcsYUFBYTtBQUN4QyxNQUFPO0FBQ0Msa0JBQWtCLEdBQ1osOENBQThDLEdBQzlDLGFBQWEsRUFDckI7RUFDRixXQUFXLEVBQUUsSUFBSTtFQUNqQixjQUFjLEVBQUUsSUFBSSxHQVd2QjtFaEJqQkcsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLLE9BQU8sU0FBUyxFQUFFLEtBQUs7SWdCRm5ELEFBQUEsTUFBTyxDQWhCQSxjQUFjLEdBQUcsYUFBYTtJQWlCckMsTUFBTyxDQUFBLGlCQUFpQixHQUFHLGFBQWE7SUFDeEMsTUFBTztJQUNDLGtCQUFrQixHQUNaLDhDQUE4QyxHQUM5QyxhQUFhLEVBQ3JCO01BS0UsV0FBVyxFQUFFLElBQUk7TUFDakIsY0FBYyxFQUFFLElBQUksR0FPM0I7RWhCdkJHLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJZ0JJNUIsQUFBQSxNQUFPLENBaEJBLGNBQWMsR0FBRyxhQUFhO0lBaUJyQyxNQUFPLENBQUEsaUJBQWlCLEdBQUcsYUFBYTtJQUN4QyxNQUFPO0lBQ0Msa0JBQWtCLEdBQ1osOENBQThDLEdBQzlDLGFBQWEsRUFDckI7TUFVRSxXQUFXLEVBQUUsSUFBSTtNQUNqQixjQUFjLEVBQUUsSUFBSSxHQUUzQjs7QUFFRDs7Z0ZBRWdGO0FBRWhGLEFBQUEsb0JBQW9CLENBQUMsMEJBQTBCO0FBQy9DLCtCQUErQixBQUFBLGFBQWEsR0FBRyxhQUFhLENBQUM7RUFDekQsT0FBTyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQU0sd0JBQUksR0FDaEM7O0FDaERELEFBQUEsOEJBQThCLENBQUM7RUFDOUIsT0FBTyxFQUFFLElBQUk7RUFDYixTQUFTLEVBQUUsUUFBUSxHQWFuQjtFQWZELEFBSUMsOEJBSjZCLEdBSTNCLENBQUMsQ0FBQztJQUNILEtBQUssRUFBRSxJQUFJLEdBQ1g7RUFORixBQVFDLDhCQVI2QixDQVE3QixlQUFlLENBQUM7SUFDZixLQUFLLEVBQUUsQ0FBQyxHQUNSO0VBVkYsQUFZQyw4QkFaNkIsQ0FZN0IsbUJBQW1CLENBQUM7SUFDbkIsS0FBSyxFQUFFLENBQUMsR0FDUjs7QUNkRixBQUFBLGNBQWMsQ0FBQztFQUNYLE9BQU8sRUFBRSxJQUFJLEdBU2hCO0VBVkQsQUFHSSxjQUhVLENBR1YsTUFBTSxDQUFDO0lBQ0gsS0FBSyxFQUFFLElBQUksR0FDZDtFbEJXRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7SWtCaEI1QixBQUFBLGNBQWMsQ0FBQztNQVFQLFNBQVMsRUFBRSxRQUFRLEdBRTFCOztBQ1ZELEFBQUEsSUFBSSxDQUFDLGlCQUFpQjtBQUN0QixJQUFJLENBQUMsc0JBQXNCLENBQUM7RUFDeEIsS0FBSyxFQUFFLElBQUksR0FZZDtFQWRELEFBSUksSUFKQSxDQUFDLGlCQUFpQixDQUlsQixHQUFHLEFBQUEscUJBQXFCO0VBSjVCLElBQUksQ0FBQyxpQkFBaUIsQ0FLbEIsR0FBRyxBQUFBLGtCQUFrQjtFQUx6QixJQUFJLENBQUMsaUJBQWlCLENBTWxCLEdBQUcsQUFBQSxpQkFBaUI7RUFOeEIsSUFBSSxDQUFDLGlCQUFpQixDQU9sQixHQUFHLEFBQUEscUJBQXFCO0VBTjVCLElBQUksQ0FBQyxzQkFBc0IsQ0FHdkIsR0FBRyxBQUFBLHFCQUFxQjtFQUg1QixJQUFJLENBQUMsc0JBQXNCLENBSXZCLEdBQUcsQUFBQSxrQkFBa0I7RUFKekIsSUFBSSxDQUFDLHNCQUFzQixDQUt2QixHQUFHLEFBQUEsaUJBQWlCO0VBTHhCLElBQUksQ0FBQyxzQkFBc0IsQ0FNdkIsR0FBRyxBQUFBLHFCQUFxQixDQUFDO0lBQ3JCLEtBQUssRUFBRSxJQUFJLEdBQ2Q7RUFUTCxBQVdJLElBWEEsQ0FBQyxpQkFBaUIsQ0FXbEIsR0FBRyxBQUFBLGtCQUFrQixDQUFDLE1BQU07RUFWaEMsSUFBSSxDQUFDLHNCQUFzQixDQVV2QixHQUFHLEFBQUEsa0JBQWtCLENBQUMsTUFBTSxDQUFDO0lBQ3pCLEtBQUssRUFBRSxJQUFJLEdBQ2Q7O0FBR0wsQUFDSSxJQURBLENBQ0Esc0JBQXNCLENBQUM7RUFDbkIsZ0JBQWdCLEVBQUUsYUFBYSxHQUtsQztFQVBMLEFBSVEsSUFKSixDQUNBLHNCQUFzQixDQUdsQixxQkFBcUIsQ0FBQztJQUNsQixLQUFLLEVBQUUsZUFBZSxHQUN6Qjs7QUFOVCxBQVNJLElBVEEsQ0FTQSxrQkFBa0IsQ0FBQztFQUNmLEtBQUssRUFBRSxlQUFlLEdBc0J6QjtFQWhDTCxBQVlRLElBWkosQ0FTQSxrQkFBa0IsQ0FHZCxHQUFHLEFBQUEsd0JBQXdCLENBQUM7SUFDeEIsS0FBSyxFQUFFLGVBQWUsR0FDekI7RUFkVCxBQWdCUSxJQWhCSixDQVNBLGtCQUFrQixDQU9kLEdBQUcsQUFBQSxxQkFBcUI7RUFoQmhDLElBQUksQ0FTQSxrQkFBa0IsQ0FRZCxHQUFHLEFBQUEsa0JBQWtCO0VBakI3QixJQUFJLENBU0Esa0JBQWtCLENBU2QsR0FBRyxBQUFBLGlCQUFpQjtFQWxCNUIsSUFBSSxDQVNBLGtCQUFrQixDQVVkLEdBQUcsQUFBQSxxQkFBcUIsQ0FBQztJQUNyQixLQUFLLEVBQUUsZUFBZSxHQUN6QjtFQXJCVCxBQXVCUSxJQXZCSixDQVNBLGtCQUFrQixDQWNkLHVCQUF1QixDQUFDO0lBQ3BCLE9BQU8sRUFBRSxlQUFlLEdBQzNCO0VBekJULEFBMkJRLElBM0JKLENBU0Esa0JBQWtCLENBa0JkLHdCQUF3QixDQUFDO0lBQ3JCLFdBQVcsRUFBRSxLQUFLO0lBQ2xCLFlBQVksRUFBRSxLQUFLO0lBQ25CLEtBQUssRUFBRSxpQkFBaUIsR0FDM0I7O0FDL0NULEFBQ0ksZUFEVyxBQUFBLDBCQUEwQixDQUNyQyxNQUFNLENBQUM7RUFDSCxPQUFPLEVBQUUsSUFBSTtFQUNiLFVBQVUsRXBCQ04sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFNLG1CQUFLO0VvQkE1QixRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsRUFBRTtFQUNYLGdCQUFnQixFQUFFLEtBQUssR0EyRTFCO0VBakZMLEFBUVEsZUFSTyxBQUFBLDBCQUEwQixDQUNyQyxNQUFNLENBT0YsUUFBUSxDQUFDO0lBQ0wsUUFBUSxFQUFFLFFBQVE7SUFDbEIsS0FBSyxFQUFFLENBQUM7SUFDUixPQUFPLEVBQUUsRUFBRSxHQUNkO0VBWlQsQUFjUSxlQWRPLEFBQUEsMEJBQTBCLENBQ3JDLE1BQU0sQ0FhRixlQUFlLENBQUM7SUFDWixRQUFRLEVBQUUsUUFBUTtJQUNsQixPQUFPLEVBQUUsRUFBRSxHQUNkO0VBakJULEFBbUJRLGVBbkJPLEFBQUEsMEJBQTBCLENBQ3JDLE1BQU0sQ0FrQkYsaUJBQWlCLENBQUM7SUFDZCxVQUFVLEVBQUUsTUFBTTtJQUNsQixXQUFXLEVBQUUsSUFBSSxHQUtwQjtJQTFCVCxBQXVCWSxlQXZCRyxBQUFBLDBCQUEwQixDQUNyQyxNQUFNLENBa0JGLGlCQUFpQixDQUliLENBQUMsQUFBQSxXQUFXLENBQUM7TUFDVCxhQUFhLEVBQUUsQ0FBQyxHQUNuQjtFQXpCYixBQTRCUSxlQTVCTyxBQUFBLDBCQUEwQixDQUNyQyxNQUFNLENBMkJGLG9CQUFvQixDQUFDO0lBQ2pCLGdCQUFnQixFQUFFLGVBQWU7SUFDakMsTUFBTSxFQUFFLENBQUM7SUFDVCxXQUFXLEVBQUUsR0FBRztJQUNoQixLQUFLLEVBQUUsSUFBSTtJQUNYLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLFVBQVUsRUFBRSxhQUFhLEdBQzVCO0VBbkNULEFBcUNRLGVBckNPLEFBQUEsMEJBQTBCLENBQ3JDLE1BQU0sQ0FvQ0YsV0FBVztFQXJDbkIsZUFBZSxBQUFBLDBCQUEwQixDQUNyQyxNQUFNLENBcUNGLFdBQVcsQ0FBQztJQUNSLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEtBQUssRUFBRSxNQUFNO0lBQ2IsT0FBTyxFQUFFLEVBQUU7SUFDWCxlQUFlLEVBQUUsT0FBTztJQUN4QixtQkFBbUIsRUFBRSxhQUFhO0lBQ2xDLGlCQUFpQixFQUFFLFNBQVM7SUFDNUIsVUFBVSxFQUFFLGFBQWEsR0FDNUI7RUE5Q1QsQUFnRFEsZUFoRE8sQUFBQSwwQkFBMEIsQ0FDckMsTUFBTSxDQStDRixXQUFXLENBQUM7SUFDUixPQUFPLEVBQUUsQ0FBQyxHQUNiO0VBbERULEFBb0RRLGVBcERPLEFBQUEsMEJBQTBCLENBQ3JDLE1BQU0sQ0FtREYsV0FBVyxDQUFDO0lBQ1IsT0FBTyxFQUFFLENBQUMsR0FDYjtFQXREVCxBQXdEUSxlQXhETyxBQUFBLDBCQUEwQixDQUNyQyxNQUFNLENBdURGLGVBQWUsQ0FBQztJQUNaLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEtBQUssRUFBRSxDQUFDO0lBQ1IsbUJBQW1CLEVBQUUsYUFBYTtJQUNsQyxlQUFlLEVBQUUsS0FBSztJQUN0QixNQUFNLEVBQUUsV0FBVztJQUNuQixVQUFVLEVBQUUsYUFBYTtJQUN6QixNQUFNLEVBQUUsQ0FBQztJQUNULE9BQU8sRUFBRSxDQUFDO0lBQ1YsT0FBTyxFQUFFLENBQUM7SUFDVixpQkFBaUIsRUFBRSxTQUFTO0lBQzVCLE9BQU8sRUFBRSxHQUFHLEdBQ2Y7RUFwRVQsQUFzRVEsZUF0RU8sQUFBQSwwQkFBMEIsQ0FDckMsTUFBTSxDQXFFRixJQUFJLEVBdEVaLGVBQWUsQUFBQSwwQkFBMEIsQ0FDckMsTUFBTSxDUjBCVixpQkFBaUIsQ0FDYixnQkFBZ0IsQ0FDWixzQkFBc0IsRUFGOUIsaUJBQWlCLENBQ2IsZ0JBQWdCLENRNUJwQixlQUFlLEFBQUEsMEJBQTBCLENBQ3JDLE1BQU0sQ1I0QkYsc0JBQXNCLEVRN0I5QixlQUFlLEFBQUEsMEJBQTBCLENBQ3JDLE1BQU0sQ1JzQ1Ysa0JBQWtCLENBQ2QsVUFBVSxFQURkLGtCQUFrQixDUXZDbEIsZUFBZSxBQUFBLDBCQUEwQixDQUNyQyxNQUFNLENSdUNOLFVBQVUsRVF4Q2QsZUFBZSxBQUFBLDBCQUEwQixDQUNyQyxNQUFNLENSZ0RWLGFBQWEsQ0FBQyxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLEdBQXBCLGFBQWEsQ1FqRGIsZUFBZSxBQUFBLDBCQUEwQixDQUNyQyxNQUFNLENSZ0RJLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsRVFxQlA7SUFDRCxnQkFBZ0IsRUFBRSxXQUFXO0lBQzdCLEtBQUssRUFBRSxhQUFhO0lBQ3BCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLE9BQU8sRUFBRSxFQUFFLEdBTWQ7SUFoRlQsQUE0RVksZUE1RUcsQUFBQSwwQkFBMEIsQ0FDckMsTUFBTSxDQXFFRixJQUFJLEFBTUMsTUFBTSxFQTVFbkIsZUFBZSxBQUFBLDBCQUEwQixDQUNyQyxNQUFNLENSMEJWLGlCQUFpQixDQUNiLGdCQUFnQixDQUNaLHNCQUFzQixBUStDakIsTUFBTSxFUmpEbkIsaUJBQWlCLENBQ2IsZ0JBQWdCLENRNUJwQixlQUFlLEFBQUEsMEJBQTBCLENBQ3JDLE1BQU0sQ1I0QkYsc0JBQXNCLEFRK0NqQixNQUFNLEVBNUVuQixlQUFlLEFBQUEsMEJBQTBCLENBQ3JDLE1BQU0sQ1JzQ1Ysa0JBQWtCLENBQ2QsVUFBVSxBUW9DRCxNQUFNLEVSckNuQixrQkFBa0IsQ1F2Q2xCLGVBQWUsQUFBQSwwQkFBMEIsQ0FDckMsTUFBTSxDUnVDTixVQUFVLEFRb0NELE1BQU0sRUE1RW5CLGVBQWUsQUFBQSwwQkFBMEIsQ0FDckMsTUFBTSxDUmdEVixhQUFhLENBQUMsS0FBSyxBUTJCTixNQUFNLENSM0JBLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixHQUFwQixhQUFhLENRakRiLGVBQWUsQUFBQSwwQkFBMEIsQ0FDckMsTUFBTSxDUmdESSxLQUFLLEFRMkJOLE1BQU0sQ1IzQkEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLEVRMkJBO01BQ0osZ0JBQWdCLEVBQUUsYUFBYTtNQUMvQixLQUFLLEVBQUUsS0FBSyxHQUNmOztBQS9FYixBQW9GUSxlQXBGTyxBQUFBLDBCQUEwQixDQW1GckMsTUFBTSxBQUFBLE1BQU0sQ0FDUixvQkFBb0IsQ0FBQztFQUNqQixnQkFBZ0IsRUFBRSxhQUFhLEdBQ2xDOztBQXRGVCxBQXdGUSxlQXhGTyxBQUFBLDBCQUEwQixDQW1GckMsTUFBTSxBQUFBLE1BQU0sQ0FLUixlQUFlLENBQUM7RUFDWixNQUFNLEVBQUUsUUFBUTtFQUNoQixPQUFPLEVBQUUsR0FBRyxHQUNmOztBQTNGVCxBQTZGUSxlQTdGTyxBQUFBLDBCQUEwQixDQW1GckMsTUFBTSxBQUFBLE1BQU0sQ0FVUixXQUFXLENBQUM7RUFDUixPQUFPLEVBQUUsQ0FBQyxHQUNiOztBQS9GVCxBQWlHUSxlQWpHTyxBQUFBLDBCQUEwQixDQW1GckMsTUFBTSxBQUFBLE1BQU0sQ0FjUixXQUFXLENBQUM7RUFDUixPQUFPLEVBQUUsQ0FBQyxHQUNiOztBQ25HVCxBQUFBLGVBQWUsQUFBQSw0QkFBNEIsQ0FBQztFQUN4QyxXQUFXLEVBQUUsSUFBSSxHQTRCcEI7RUE3QkQsQUFFSSxlQUZXLEFBQUEsNEJBQTRCLENBRXZDLE1BQU0sQ0FBQztJQUNILFFBQVEsRUFBRSxRQUFRLEdBbUJyQjtJQXRCTCxBQUtRLGVBTE8sQUFBQSw0QkFBNEIsQ0FFdkMsTUFBTSxDQUdGLEtBQUssQ0FBQztNQUNGLEtBQUssRUFBRSxJQUFJO01BQ1gsTUFBTSxFQUFFLENBQUM7TUFDVCxXQUFXLEVBQUUsR0FBRztNQUNoQixlQUFlLEVBQUUsT0FBTztNQUN4QixtQkFBbUIsRUFBRSxhQUFhO01BQ2xDLGlCQUFpQixFQUFFLFNBQVM7TUFDNUIsVUFBVSxFQUFFLGFBQWEsR0FDNUI7SUFiVCxBQWVRLGVBZk8sQUFBQSw0QkFBNEIsQ0FFdkMsTUFBTSxDQWFGLFFBQVEsQ0FBQztNQUNMLFFBQVEsRUFBRSxRQUFRO01BQ2xCLEtBQUssRUFBRSxDQUFDO01BQ1IsTUFBTSxFQUFFLE9BQU87TUFDZixPQUFPLEVBQUUsS0FBSztNQUNkLE9BQU8sRUFBRSxFQUFFLEdBQ2Q7RUFyQlQsQUF5QlEsZUF6Qk8sQUFBQSw0QkFBNEIsQ0F3QnZDLE1BQU0sQUFBQSxNQUFNLENBQ1IsS0FBSyxDQUFDO0lBQ0YsT0FBTyxFQUFFLEdBQUcsR0FDZjs7QUN6QkQsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0VBRmpDLEFBQ0ksZUFEVyxBQUFBLDZCQUE2QixDQUN4QyxNQUFNLENBQUM7SUFFQyxLQUFLLEVBQUUsb0JBQW9CLENBQUMsVUFBVSxHQTRCN0M7O0FBL0JMLEFBTVEsZUFOTyxBQUFBLDZCQUE2QixDQUN4QyxNQUFNLENBS0YsRUFBRSxBQUFBLE1BQU0sQ0FBQztFQUNMLGFBQWEsRUFBRSxDQUFDO0VBQ2hCLFNBQVMsRUFBRSxJQUFJO0VBQ2YsV0FBVyxFQUFFLEdBQUcsR0FDbkI7O0FBVlQsQUFZUSxlQVpPLEFBQUEsNkJBQTZCLENBQ3hDLE1BQU0sQ0FXRixvQkFBb0IsQ0FBQztFQUNqQixnQkFBZ0IsRUFBRSxhQUFhO0VBQy9CLEtBQUssRUFBRSxLQUFLLEdBZ0JmO0VBOUJULEFBaUJZLGVBakJHLEFBQUEsNkJBQTZCLENBQ3hDLE1BQU0sQ0FXRixvQkFBb0IsQUFLZixNQUFNLENBQUM7SUFDSixZQUFZLEVBQUUsYUFBYSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsV0FBVztJQUMvRCxJQUFJLEVBQUUsSUFBSSxHQUNiO0VBcEJiLEFBc0JZLGVBdEJHLEFBQUEsNkJBQTZCLENBQ3hDLE1BQU0sQ0FXRixvQkFBb0IsQ0FVaEIsQ0FBQztFQXRCYixlQUFlLEFBQUEsNkJBQTZCLENBQ3hDLE1BQU0sQ0FXRixvQkFBb0IsQ0FXaEIsQ0FBQyxDQUFDO0lBQ0UsS0FBSyxFQUFFLEtBQUssR0FDZjtFQXpCYixBQTJCWSxlQTNCRyxBQUFBLDZCQUE2QixDQUN4QyxNQUFNLENBV0Ysb0JBQW9CLENBZWhCLENBQUMsQUFBQSxXQUFXLENBQUM7SUFDVCxhQUFhLEVBQUUsQ0FBQyxHQUNuQjs7QUM3QmIsQUFDSSxJQURBLENBQUMsZUFBZSxBQUFBLCtCQUErQixDQUMvQyxNQUFNLENBQUM7RUFDSCxPQUFPLEVBQUUsQ0FBQztFQUNWLFVBQVUsRUFBRSxNQUFNLEdBaUJyQjtFQXBCTCxBQUtRLElBTEosQ0FBQyxlQUFlLEFBQUEsK0JBQStCLENBQy9DLE1BQU0sQUFJRCxPQUFPLENBQUM7SUFDTCxPQUFPLEVBQUUsSUFBSSxHQUNoQjtFQVBULEFBU1EsSUFUSixDQUFDLGVBQWUsQUFBQSwrQkFBK0IsQ0FDL0MsTUFBTSxDQVFGLG9CQUFvQixDQUFDO0lBQ2pCLGFBQWEsRUFBRSxJQUFJLEdBU3RCO0lBbkJULEFBWVksSUFaUixDQUFDLGVBQWUsQUFBQSwrQkFBK0IsQ0FDL0MsTUFBTSxDQVFGLG9CQUFvQixDQUdoQixDQUFDLENBQUM7TUFDRSxLQUFLLEVBQUUsZUFBZSxHQUt6QjtNdkJzQlQsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO1F1QnhDNUIsQUFZWSxJQVpSLENBQUMsZUFBZSxBQUFBLCtCQUErQixDQUMvQyxNQUFNLENBUUYsb0JBQW9CLENBR2hCLENBQUMsQ0FBQztVQUlNLFNBQVMsRUFBRSxJQUFJLEdBRXRCOztBQWxCYixBQXNCSSxJQXRCQSxDQUFDLGVBQWUsQUFBQSwrQkFBK0IsQ0FzQi9DLFdBQVcsQ0FBQztFQUNSLEdBQUcsRUFBRSxDQUFDO0VBQ04sTUFBTSxFQUFFLElBQUk7RUFDWixTQUFTLEVBQUUsaUJBQWlCLEdBVS9CO0VBbkNMLEFBNkJnQixJQTdCWixDQUFDLGVBQWUsQUFBQSwrQkFBK0IsQ0FzQi9DLFdBQVcsQ0FLUCxFQUFFLENBQ0UsTUFBTSxBQUNELE9BQU8sQ0FBQztJQUNMLFNBQVMsRUFBRSxJQUFJO0lBQ2YsS0FBSyxFQUFFLGFBQWEsR0FDdkIifQ== */
