@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700&family=Spartan:wght@400;600;700&display=swap&family=PT+Sans:wght@400;700&display=swap");
* {
  font-family: 'Nunito' !important;
  outline: none;
}

.gcweb-topnav {
  background: #2e2e2e;
}

.gcweb-topnav li,
.gcweb-topnav li a,
.gcweb-topnav li a:hover {
  color: #ffffff;
}

.gcweb-topnav .active:focus {
  color: #ffffff;
}

.gcweb-header__navigation-link:visited,
.gcweb-header__navigation-link {
  color: #ffffff !important;
}

.gcweb-status--green {
  color: #346248 !important;
}

.gcweb-status--blue {
  color: #354973 !important;
}

.gcweb-header__navigation-link:focus, .gcweb-header__navigation-link:active:visited:focus, .gcweb-area-public .gcweb-header__navigation-link:focus:visited {
  background-color: #ffdd00;
  color: #171b1f !important;
}

/* ==========================================================================
   GENERIC / #BOX-SIZING
   ========================================================================== */
/**
 * Set the global `box-sizing` state to `border-box`.
 *
 * https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice
 * http://paulirish.com/2012/box-sizing-border-box-ftw
 */
html {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

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

@font-face {
  font-family: 'Frutiger W01';
  font-display: swap;
  font-style: normal;
  font-weight: 400;
  src: url("https://assets.nhs.uk/fonts/FrutigerLTW01-55Roman.eot?#iefix");
  src: url("https://assets.nhs.uk/fonts/FrutigerLTW01-55Roman.eot?#iefix") format("eot"), url("https://assets.nhs.uk/fonts/FrutigerLTW01-55Roman.woff2") format("woff2"), url("https://assets.nhs.uk/fonts/FrutigerLTW01-55Roman.woff") format("woff"), url("https://assets.nhs.uk/fonts/FrutigerLTW01-55Roman.ttf") format("truetype"), url("https://assets.nhs.uk/fonts/FrutigerLTW01-55Roman.svg#7def0e34-f28d-434f-b2ec-472bde847115") format("svg");
}

@font-face {
  font-family: 'Frutiger W01';
  font-display: swap;
  font-style: normal;
  font-weight: 600;
  src: url("https://assets.nhs.uk/fonts/FrutigerLTW01-65Bold.eot?#iefix");
  src: url("https://assets.nhs.uk/fonts/FrutigerLTW01-65Bold.eot?#iefix") format("eot"), url("https://assets.nhs.uk/fonts/FrutigerLTW01-65Bold.woff2") format("woff2"), url("https://assets.nhs.uk/fonts/FrutigerLTW01-65Bold.woff") format("woff"), url("https://assets.nhs.uk/fonts/FrutigerLTW01-65Bold.ttf") format("truetype"), url("https://assets.nhs.uk/fonts/FrutigerLTW01-65Bold.svg#eae74276-dd78-47e4-9b27-dac81c3411ca") format("svg");
}

/* ==========================================================================
   GENERIC / #IE
   ========================================================================== */
/**
 * Add the correct display for HTML5 elements in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
  display: block;
}

/* ==========================================================================
   ELEMENTS / #FORMS
   ========================================================================== */
/**
 * Make sure our form elements don’t use any UA-specific font styles: we want
 * them to use ours. This may need reverting as more design information becomes
 * available, and we start putting together more complete forms.
 */
button,
input,
select,
textarea {
  font-family: inherit;
}

/* ==========================================================================
   ELEMENTS / #LINKS
   ========================================================================== */
/**
 * Our basic `<a>` elements only need very minimal styling.
 * It uses the @mixin gcweb-link-style-default within tools/links.
 * Anything more opinionated (e.g. buttons, calls-to-action, etc.) will need a
 * class defining in the Components layer.
 *
 * 1. Outputs full link URL for print.
 * 2. Point unit used for print.
 */
a {
  color: #354973;
  text-decoration: none;
  text-decoration: none;
}

a:visited {
  color: #354973;
}

a:hover {
  color: #7C2855;
  text-decoration: underline;
}

a:focus {
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #171b1f;
  color: #171b1f;
  outline: 4px solid transparent;
  text-decoration: none;
}

a:focus:hover {
  text-decoration: none;
}

a:focus:visited {
  color: #354973;
}

a:focus .gcweb-icon {
  fill: #171b1f;
}

a:active {
  color: #354973;
}

@media print {
  a:after {
    color: #171b1f;
    content: " (Link: " attr(href) ")";
    /* [1] */
    font-size: 14pt;
    /* [2] */
  }
}

.ie8 a:focus {
  outline: 1px dotted #171b1f;
}

/* ==========================================================================
   ELEMENTS / #PAGE
   ========================================================================== */
/**
 * High-level, page-level styling.
 *
 * 1. The reason for this is to prevent "centering jumps" when navigating back
 *    and forth between pages with enough content to have a vertical scroll bar
 *    and pages that do not.
 * 2. Fonts on OSX will look more consistent with other systems that do not
 *    render text using sub-pixel anti-aliasing.
 * 3. Override the user agent style margin of 8px.
 * 4. Ensure the page always fills at least the entire height of the viewport.
 */
html {
  background-color: #d5d5d5;
  font-family: "Nunito", Arial, Sans-serif;
  overflow-y: scroll;
  /* [1] */
}

body {
  -moz-osx-font-smoothing: grayscale;
  /* [2] */
  -webkit-font-smoothing: antialiased;
  /* [2] */
  background-color: #eaeaea;
  color: #171b1f;
  font-size: 16px;
  line-height: 1.5;
  margin: 0;
  /* [3] */
  min-height: 100%;
  /* [4] */
}

/* ==========================================================================
   ELEMENTS / #TABLES
   ========================================================================== */
/**
 * 1. Force `<table>`s to be full-width by default.
 * 2. Captions are used to improve accessibility,
 *    but we do not need them visually displayed.
 */
table {
  margin-bottom: 40px;
  border-spacing: 0;
  vertical-align: top;
  width: 100%;
  /* [1] */
}

@media (min-width: 40.0625em) {
  table {
    margin-bottom: 48px;
  }
}

@media print {
  table {
    page-break-inside: avoid;
  }
}

thead th {
  border-bottom: 2px solid #d5d5d5;
}

th,
td {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  padding-bottom: 8px;
  padding-right: 16px;
  padding-top: 8px;
  border-bottom: 1px solid #d5d5d5;
  text-align: left;
  vertical-align: top;
}

@media (min-width: 40.0625em) {
  th,
  td {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.47368;
  }
}

@media print {
  th,
  td {
    font-size: 14pt;
    line-height: 1.15;
  }
}

@media (min-width: 40.0625em) {
  th,
  td {
    padding-bottom: 16px;
  }
}

@media (min-width: 40.0625em) {
  th,
  td {
    padding-right: 24px;
  }
}

@media (min-width: 40.0625em) {
  th,
  td {
    padding-top: 16px;
  }
}

th:last-child,
td:last-child {
  padding-right: 0;
}

th {
  font-weight: 700;
}

caption {
  -webkit-clip-path: inset(50%);
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  margin: 0;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
  /* [2] */
}

.gcweb-form-group {
  margin-bottom: 16px;
}

@media (min-width: 40.0625em) {
  .gcweb-form-group {
    margin-bottom: 24px;
  }
}

.gcweb-form-group .gcweb-form-group:last-of-type {
  margin-bottom: 0;
}

.gcweb-form-group--wrapper {
  margin-bottom: 24px;
}

@media (min-width: 40.0625em) {
  .gcweb-form-group--wrapper {
    margin-bottom: 32px;
  }
}

.gcweb-form-group--error {
  border-left: 4px solid #b22222;
  padding-left: 16px;
}

.gcweb-form-group--error .gcweb-form-group {
  border: 0;
  padding: 0;
}

/* ==========================================================================
   OBJECTS / #GRID
   ========================================================================== */
.gcweb-grid-row {
  margin-left: -16px;
  margin-right: -16px;
}

.gcweb-grid-row:after {
  clear: both;
  content: '';
  display: block;
}

.gcweb-grid-column-one-quarter {
  box-sizing: border-box;
  padding: 0 16px;
}

@media (min-width: 48.0625em) {
  .gcweb-grid-column-one-quarter {
    float: left;
    width: 25%;
  }
}

.gcweb-grid-column-one-third {
  box-sizing: border-box;
  padding: 0 16px;
}

@media (min-width: 48.0625em) {
  .gcweb-grid-column-one-third {
    float: left;
    width: 33.3333%;
  }
}

.gcweb-grid-column-one-half {
  box-sizing: border-box;
  padding: 0 16px;
}

@media (min-width: 48.0625em) {
  .gcweb-grid-column-one-half {
    float: left;
    width: 50%;
  }
}

.gcweb-grid-column-two-thirds {
  box-sizing: border-box;
  padding: 0 16px;
}

@media (min-width: 48.0625em) {
  .gcweb-grid-column-two-thirds {
    float: left;
    width: 66.6666%;
  }
}

.gcweb-grid-column-three-quarters {
  box-sizing: border-box;
  padding: 0 16px;
}

@media (min-width: 48.0625em) {
  .gcweb-grid-column-three-quarters {
    float: left;
    width: 75%;
  }
}

.gcweb-grid-column-full {
  box-sizing: border-box;
  padding: 0 16px;
}

@media (min-width: 48.0625em) {
  .gcweb-grid-column-full {
    float: left;
    width: 100%;
  }
}

/* ==========================================================================
   OBJECTS / #MAIN-WRAPPER
   ========================================================================== */
/**
 * Page wrapper for the grid system
 *
 * Usage:
 * <div class="gcweb-width-container">
 *   <div class="gcweb-main-wrapper">
 *    <!-- Wrapper for the main content of your page which applies padding
 *         to the top / bottom -->
 *   </div>
 * </div>
 *
 * Original code taken from GDS (Government Digital Service)
 * https://github.com/alphagov/govuk-frontend
 *
 * 1. In IE11 the `main` element can be used, but is not recognized  –
 *    meaning it's not defined in IE's default style sheet,
 *    so it uses CSS initial value, which is inline.
 */
.gcweb-main-wrapper {
  padding-top: 40px;
  padding-bottom: 40px;
  display: block;
  /* [1] */
}

@media (min-width: 40.0625em) {
  .gcweb-main-wrapper {
    padding-top: 48px;
  }
}

@media (min-width: 40.0625em) {
  .gcweb-main-wrapper {
    padding-bottom: 48px;
  }
}

.gcweb-main-wrapper > *:first-child {
  margin-top: 0;
}

.gcweb-main-wrapper > *:last-child {
  margin-bottom: 0;
}

.gcweb-main-wrapper--l {
  padding-top: 48px;
}

@media (min-width: 40.0625em) {
  .gcweb-main-wrapper--l {
    padding-top: 56px;
  }
}

.gcweb-main-wrapper--s {
  padding-bottom: 24px;
  padding-top: 24px;
}

@media (min-width: 40.0625em) {
  .gcweb-main-wrapper--s {
    padding-bottom: 32px;
  }
}

@media (min-width: 40.0625em) {
  .gcweb-main-wrapper--s {
    padding-top: 32px;
  }
}

/* ==========================================================================
   OBJECTS / #WIDTH-CONTAINER
   ========================================================================== */
/**
 * Page width for the grid system
 *
 * Original code taken from GDS (Government Digital Service)
 * https://github.com/alphagov/govuk-frontend
 *
 * 1. On mobile, add half width gutters
 * 2. Limit the width of the container to the page width
 * 3. From desktop, add full width gutters
 * 4. As soon as the viewport is greater than the width of the page plus the
 *    gutters, just centre the content instead of adding gutters.
 * 5. Full width container, spanning the entire width of the viewport
 */
.gcweb-width-container {
  margin: 0 16px;
  /* [1] */
  max-width: 960px;
  /* [2] */
  /* [4] */
}

@media (min-width: 48.0625em) {
  .gcweb-width-container {
    margin: 0 32px;
    /* [3] */
  }
}

@media (min-width: 1024px) {
  .gcweb-width-container {
    margin: 0 auto;
  }
}

.gcweb-width-container-fluid {
  margin: 0 16px;
  max-width: 100%;
  /* [5] */
}

@media (min-width: 48.0625em) {
  .gcweb-width-container-fluid {
    margin: 0 32px;
    /* [3] */
  }
}

/* ==========================================================================
   STYLES / #ICONS
   ========================================================================== */
/**
 * We use SVGs for our icons, with no PNG fallback.
 *
 * For IE8 support, alternate styling is applied to the components using icons.
 */
.gcweb-icon {
  height: 34px;
  width: 34px;
}

.gcweb-icon__search {
  fill: #354973;
}

.gcweb-icon__chevron-left {
  fill: #354973;
}

.gcweb-icon__chevron-right {
  fill: #354973;
}

.gcweb-icon__close {
  fill: #354973;
}

.gcweb-icon__cross {
  fill: #b22222;
}

.gcweb-icon__tick {
  stroke: #346248;
}

.gcweb-icon__arrow-right {
  fill: #354973;
}

.gcweb-icon__arrow-left {
  fill: #354973;
}

.gcweb-icon__arrow-right-circle {
  fill: #346248;
}

.gcweb-icon__chevron-down {
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
  fill: #354973;
}

.gcweb-icon__chevron-down path {
  fill: #ffffff;
}

.gcweb-icon__chevron-up {
  fill: #354973;
}

.gcweb-icon__chevron-up path {
  fill: #ffffff;
}

.gcweb-icon__emdash path {
  fill: #c0c0c0;
}

.gcweb-icon__plus {
  fill: #354973;
}

.gcweb-icon__minus {
  fill: #354973;
}

.gcweb-icon--size-25 {
  height: 42.5px;
  width: 42.5px;
}

.gcweb-icon--size-50 {
  height: 51px;
  width: 51px;
}

.gcweb-icon--size-75 {
  height: 59.5px;
  width: 59.5px;
}

.gcweb-icon--size-100 {
  height: 68px;
  width: 68px;
}

/* ==========================================================================
   STYLES / #LISTS
   ========================================================================== */
/**
 * 1. 'Random number' used to align ul and ol left with content.
 * 2. 'Random number' used to give sufficient spacing between text and icon.
 * 3. 'Random number' used to align icon and text.
 */
.gcweb-list, ul, ol {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  margin-bottom: 16px;
  list-style-type: none;
  margin-top: 0;
  padding-left: 0;
}

@media (min-width: 40.0625em) {
  .gcweb-list, ul, ol {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.47368;
  }
}

@media print {
  .gcweb-list, ul, ol {
    font-size: 14pt;
    line-height: 1.15;
  }
}

@media (min-width: 40.0625em) {
  .gcweb-list, ul, ol {
    margin-bottom: 24px;
  }
}

.gcweb-list > li, ul > li, ol > li {
  margin-bottom: 8px;
}

@media (min-width: 40.0625em) {
  .gcweb-list > li, ul > li, ol > li {
    margin-bottom: 8px;
  }
}

.gcweb-list > li:last-child, ul > li:last-child, ol > li:last-child {
  margin-bottom: 0;
}

.gcweb-list--bullet, ul {
  list-style-type: disc;
  padding-left: 20px;
  /* [1] */
}

.gcweb-list--number, ol {
  list-style-type: decimal;
  padding-left: 20px;
  /* [1] */
}

.gcweb-list--tick,
.gcweb-list--cross {
  list-style: none;
  margin-top: 0;
  padding-left: 40px;
  /* [2] */
  position: relative;
}

.gcweb-list--tick svg,
.gcweb-list--cross svg {
  left: -4px;
  /* [3] */
  margin-top: -5px;
  /* [3] */
  position: absolute;
}

/* ==========================================================================
   STYLES / #SECTION-BREAK
   ========================================================================== */
/**
 * 1. Extended the section-break--l code for usage of a semantic <hr> with
 * no class name.
 *
 * Original code taken from GDS (Government Digital Service)
 * https://github.com/alphagov/govuk-frontend
 */
.gcweb-section-break, hr {
  border: 0;
  margin: 0;
}

.gcweb-section-break--xl {
  margin-top: 48px;
  margin-bottom: 48px;
}

@media (min-width: 40.0625em) {
  .gcweb-section-break--xl {
    margin-top: 56px;
  }
}

@media (min-width: 40.0625em) {
  .gcweb-section-break--xl {
    margin-bottom: 56px;
  }
}

.gcweb-section-break--l, hr {
  margin-top: 32px;
  margin-bottom: 32px;
}

@media (min-width: 40.0625em) {
  .gcweb-section-break--l, hr {
    margin-top: 40px;
  }
}

@media (min-width: 40.0625em) {
  .gcweb-section-break--l, hr {
    margin-bottom: 40px;
  }
}

.gcweb-section-break--m {
  margin-top: 16px;
  margin-bottom: 16px;
}

@media (min-width: 40.0625em) {
  .gcweb-section-break--m {
    margin-top: 24px;
  }
}

@media (min-width: 40.0625em) {
  .gcweb-section-break--m {
    margin-bottom: 24px;
  }
}

.gcweb-section-break--visible, hr {
  border-bottom: 1px solid #d5d5d5;
}

hr {
  /* [1] */
}

/* ==========================================================================
   STYLES / #TYPOGRAPHY
   ========================================================================== */
/* Headings */
.gcweb-heading-xxl {
  font-size: 48px;
  font-size: 3rem;
  line-height: 1.16667;
  font-family: 'Spartan !important';
  display: block;
  font-weight: 700;
  margin-top: 0;
  line-height: 4.75rem !important;
  margin-bottom: 24px;
}

@media (min-width: 40.0625em) {
  .gcweb-heading-xxl {
    font-size: 64px;
    font-size: 4rem;
    line-height: 1.125;
  }
}

@media print {
  .gcweb-heading-xxl {
    font-size: 53pt;
    line-height: 1.1;
  }
}

@media (min-width: 40.0625em) {
  .gcweb-heading-xxl {
    margin-bottom: 32px;
  }
}

h1,
.gcweb-heading-xl {
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1.33333;
  font-family: 'Spartan !important';
  display: block;
  font-weight: 700;
  margin-top: 0;
  line-height: 3rem !important;
  margin-bottom: 24px;
}

@media (min-width: 40.0625em) {
  h1,
  .gcweb-heading-xl {
    font-size: 32px;
    font-size: 2rem;
    line-height: 1.25;
  }
}

@media print {
  h1,
  .gcweb-heading-xl {
    font-size: 24pt;
    line-height: 1.05;
  }
}

@media (min-width: 40.0625em) {
  h1,
  .gcweb-heading-xl {
    margin-bottom: 32px;
  }
}

h2,
.gcweb-heading-l {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.4;
  font-family: 'Spartan !important';
  display: block;
  font-weight: 700;
  margin-top: 0;
  margin-bottom: 16px;
}

@media (min-width: 40.0625em) {
  h2,
  .gcweb-heading-l {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.33333;
  }
}

@media print {
  h2,
  .gcweb-heading-l {
    font-size: 18pt;
    line-height: 1.15;
  }
}

@media (min-width: 40.0625em) {
  h2,
  .gcweb-heading-l {
    margin-bottom: 24px;
  }
}

h3,
.gcweb-heading-m {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  font-family: 'Spartan !important';
  display: block;
  font-weight: 700;
  margin-top: 0;
  margin-bottom: 8px;
}

@media (min-width: 40.0625em) {
  h3,
  .gcweb-heading-m {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.47368;
  }
}

@media print {
  h3,
  .gcweb-heading-m {
    font-size: 14pt;
    line-height: 1.15;
  }
}

@media (min-width: 40.0625em) {
  h3,
  .gcweb-heading-m {
    margin-bottom: 16px;
  }
}

h4,
.gcweb-heading-s {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.71429;
  font-family: 'Spartan !important';
  display: block;
  font-weight: 700;
  margin-top: 0;
  margin-bottom: 8px;
}

@media (min-width: 40.0625em) {
  h4,
  .gcweb-heading-s {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.5;
  }
}

@media print {
  h4,
  .gcweb-heading-s {
    font-size: 14pt;
    line-height: 1.2;
  }
}

@media (min-width: 40.0625em) {
  h4,
  .gcweb-heading-s {
    margin-bottom: 8px;
  }
}

h5,
.gcweb-heading-xs {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.71429;
  font-family: 'Spartan !important';
  display: block;
  font-weight: 700;
  margin-top: 0;
  margin-bottom: 8px;
}

@media (min-width: 40.0625em) {
  h5,
  .gcweb-heading-xs {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.5;
  }
}

@media print {
  h5,
  .gcweb-heading-xs {
    font-size: 14pt;
    line-height: 1.2;
  }
}

@media (min-width: 40.0625em) {
  h5,
  .gcweb-heading-xs {
    margin-bottom: 16px;
  }
}

h6,
.gcweb-heading-xxs {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.71429;
  font-family: 'Spartan !important';
  display: block;
  font-weight: 700;
  margin-top: 0;
  margin-bottom: 8px;
}

@media (min-width: 40.0625em) {
  h6,
  .gcweb-heading-xxs {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.5;
  }
}

@media print {
  h6,
  .gcweb-heading-xxs {
    font-size: 14pt;
    line-height: 1.2;
  }
}

@media (min-width: 40.0625em) {
  h6,
  .gcweb-heading-xxs {
    margin-bottom: 8px;
  }
}

/* Captions to be used inside headings */
.gcweb-caption-xl {
  font-weight: 400;
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1.33333;
  font-family: 'Spartan !important';
  color: #6d6d6d;
  display: block;
  margin-bottom: 4px;
}

@media (min-width: 40.0625em) {
  .gcweb-caption-xl {
    font-size: 32px;
    font-size: 2rem;
    line-height: 1.25;
  }
}

@media print {
  .gcweb-caption-xl {
    font-size: 24pt;
    line-height: 1.05;
  }
}

.gcweb-caption-l {
  font-weight: 400;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.4;
  font-family: 'Spartan !important';
  color: #6d6d6d;
  display: block;
  margin-bottom: 4px;
}

@media (min-width: 40.0625em) {
  .gcweb-caption-l {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.33333;
  }
}

@media print {
  .gcweb-caption-l {
    font-size: 18pt;
    line-height: 1.15;
  }
}

.gcweb-caption-m {
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  font-family: 'Spartan !important';
  color: #6d6d6d;
  display: block;
}

@media (min-width: 40.0625em) {
  .gcweb-caption-m {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.47368;
  }
}

@media print {
  .gcweb-caption-m {
    font-size: 14pt;
    line-height: 1.15;
  }
}

.gcweb-caption--bottom {
  margin-bottom: 0;
  margin-top: 4px;
}

/* Body (paragraphs) */
.gcweb-body-l {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.4;
  font-family: 'Nunito  !important';
  display: block;
  margin-top: 0;
  margin-bottom: 24px;
}

@media (min-width: 40.0625em) {
  .gcweb-body-l {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.33333;
  }
}

@media print {
  .gcweb-body-l {
    font-size: 18pt;
    line-height: 1.15;
  }
}

@media (min-width: 40.0625em) {
  .gcweb-body-l {
    margin-bottom: 32px;
  }
}

p,
.gcweb-body-m, .gcweb-body, address {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  font-family: 'Nunito !important';
  display: block;
  margin-top: 0;
  margin-bottom: 16px;
}

@media (min-width: 40.0625em) {
  p,
  .gcweb-body-m, .gcweb-body, address {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.47368;
  }
}

@media print {
  p,
  .gcweb-body-m, .gcweb-body, address {
    font-size: 14pt;
    line-height: 1.15;
  }
}

@media (min-width: 40.0625em) {
  p,
  .gcweb-body-m, .gcweb-body, address {
    margin-bottom: 24px;
  }
}

p,
.gcweb-body-m, .gcweb-body {
  color: inherit;
}

.gcweb-body-s {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.71429;
  font-family: 'Nunito  !important';
  display: block;
  margin-top: 0;
  margin-bottom: 16px;
}

@media (min-width: 40.0625em) {
  .gcweb-body-s {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.5;
  }
}

@media print {
  .gcweb-body-s {
    font-size: 14pt;
    line-height: 1.2;
  }
}

@media (min-width: 40.0625em) {
  .gcweb-body-s {
    margin-bottom: 24px;
  }
}

address {
  font-style: normal;
}

/**
 * Lede text
 *
 * 1. Apply lede text styling to p and ul within the lede element
 * 2. Reduces the spacing between the page heading and the lede text
 */
.gcweb-lede-text {
  font-weight: 400;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.4;
  margin-bottom: 40px;
  /* [1] */
}

@media (min-width: 40.0625em) {
  .gcweb-lede-text {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.33333;
  }
}

@media print {
  .gcweb-lede-text {
    font-size: 18pt;
    line-height: 1.15;
  }
}

@media (min-width: 40.0625em) {
  .gcweb-lede-text {
    margin-bottom: 48px;
  }
}

.gcweb-lede-text p,
.gcweb-lede-text ul {
  font-weight: 400;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.4;
}

@media (min-width: 40.0625em) {
  .gcweb-lede-text p,
  .gcweb-lede-text ul {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.33333;
  }
}

@media print {
  .gcweb-lede-text p,
  .gcweb-lede-text ul {
    font-size: 18pt;
    line-height: 1.15;
  }
}

.gcweb-lede-text--small {
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  margin-bottom: 24px;
}

@media (min-width: 40.0625em) {
  .gcweb-lede-text--small {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.47368;
  }
}

@media print {
  .gcweb-lede-text--small {
    font-size: 14pt;
    line-height: 1.15;
  }
}

@media (min-width: 40.0625em) {
  .gcweb-lede-text--small {
    margin-bottom: 32px;
  }
}

/* [2] */
h1 + .gcweb-lede-text,
h1 + .gcweb-lede-text--small {
  margin-top: -8px;
}

/**
 * Contextual adjustments
 *
 * Add top padding to headings that appear directly after paragraphs.
 *
 * 1. Removes the padding-top because of the lede-text's increased margin-bottom
 *
 * Original code taken from GDS (Government Digital Service)
 * https://github.com/alphagov/gcweb-frontend
 */
.gcweb-body-l + h2,
.gcweb-body-l + .gcweb-heading-l {
  padding-top: 4px;
}

@media (min-width: 40.0625em) {
  .gcweb-body-l + h2,
  .gcweb-body-l + .gcweb-heading-l {
    padding-top: 8px;
  }
}

p + h2, .gcweb-body-m + h2, .gcweb-body + h2, address + h2,
p + .gcweb-heading-l,
.gcweb-body-m + .gcweb-heading-l,
.gcweb-body + .gcweb-heading-l,
address + .gcweb-heading-l,
.gcweb-body-s + h2,
.gcweb-body-s + .gcweb-heading-l,
.gcweb-list + h2,
ul + h2,
ol + h2,
.gcweb-list + .gcweb-heading-l,
ul + .gcweb-heading-l,
ol + .gcweb-heading-l {
  padding-top: 16px;
}

@media (min-width: 40.0625em) {
  p + h2, .gcweb-body-m + h2, .gcweb-body + h2, address + h2,
  p + .gcweb-heading-l,
  .gcweb-body-m + .gcweb-heading-l,
  .gcweb-body + .gcweb-heading-l,
  address + .gcweb-heading-l,
  .gcweb-body-s + h2,
  .gcweb-body-s + .gcweb-heading-l,
  .gcweb-list + h2,
  ul + h2,
  ol + h2,
  .gcweb-list + .gcweb-heading-l,
  ul + .gcweb-heading-l,
  ol + .gcweb-heading-l {
    padding-top: 24px;
  }
}

p + h3, .gcweb-body-m + h3, .gcweb-body + h3, address + h3,
p + .gcweb-heading-m,
.gcweb-body-m + .gcweb-heading-m,
.gcweb-body + .gcweb-heading-m,
address + .gcweb-heading-m,
.gcweb-body-s + h3,
.gcweb-body-s + .gcweb-heading-m,
.gcweb-list + h3,
ul + h3,
ol + h3,
.gcweb-list + .gcweb-heading-m,
ul + .gcweb-heading-m,
ol + .gcweb-heading-m,
p + h4,
.gcweb-body-m + h4,
.gcweb-body + h4,
address + h4,
p + .gcweb-heading-s,
.gcweb-body-m + .gcweb-heading-s,
.gcweb-body + .gcweb-heading-s,
address + .gcweb-heading-s,
.gcweb-body-s + h4,
.gcweb-body-s + .gcweb-heading-s,
.gcweb-list + h4,
ul + h4,
ol + h4,
.gcweb-list + .gcweb-heading-s,
ul + .gcweb-heading-s,
ol + .gcweb-heading-s {
  padding-top: 4px;
}

@media (min-width: 40.0625em) {
  p + h3, .gcweb-body-m + h3, .gcweb-body + h3, address + h3,
  p + .gcweb-heading-m,
  .gcweb-body-m + .gcweb-heading-m,
  .gcweb-body + .gcweb-heading-m,
  address + .gcweb-heading-m,
  .gcweb-body-s + h3,
  .gcweb-body-s + .gcweb-heading-m,
  .gcweb-list + h3,
  ul + h3,
  ol + h3,
  .gcweb-list + .gcweb-heading-m,
  ul + .gcweb-heading-m,
  ol + .gcweb-heading-m,
  p + h4,
  .gcweb-body-m + h4,
  .gcweb-body + h4,
  address + h4,
  p + .gcweb-heading-s,
  .gcweb-body-m + .gcweb-heading-s,
  .gcweb-body + .gcweb-heading-s,
  address + .gcweb-heading-s,
  .gcweb-body-s + h4,
  .gcweb-body-s + .gcweb-heading-s,
  .gcweb-list + h4,
  ul + h4,
  ol + h4,
  .gcweb-list + .gcweb-heading-s,
  ul + .gcweb-heading-s,
  ol + .gcweb-heading-s {
    padding-top: 8px;
  }
}

/* [1] */
.gcweb-lede-text + h2,
.gcweb-lede-text + .gcweb-heading-l {
  padding-top: 0;
}

/* Font weight for <strong> and <b> */
strong,
b {
  font-weight: 700;
}

p.gcweb-body a {
  color: #354973;
}

p > a {
  text-decoration: underline;
}

.gcweb-back:hover {
  text-decoration: none;
}

/* ==========================================================================
   UTILITIES / #CLEARFIX
   ========================================================================== */
/**
 * Automatically clear an elements
 * child elements
 *
 * Usage: class="gcweb-u-clear"
 * See tools/mixins
 */
.gcweb-u-clear:after {
  clear: both;
  content: '';
  display: block;
}

/* ==========================================================================
   UTILITIES / #GRID
   ========================================================================== */
/**
 * Force grid widths on all screen sizes
 * By default all grid elements will go to 100% width
 * on screen sizes below tablet, these utilities can force
 * custom widths on all screen sizes
 *
 * Usage: class="gcweb-u-one-half"
 */
.gcweb-u-one-half {
  float: left;
  width: 50% !important;
}

.gcweb-u-one-third {
  float: left;
  width: 33.33333% !important;
}

.gcweb-u-two-thirds {
  float: left;
  width: 66.66667% !important;
}

.gcweb-u-one-quarter {
  float: left;
  width: 25% !important;
}

.gcweb-u-three-quarters {
  float: left;
  width: 75% !important;
}

/**
 * Force grid widths on screen sizes on tablet
 * and above
 *
 * By default all grid elements will go to 100% width
 * on every screen size, these utilities can force
 * custom widths on screen sizes on tablet
 * and above
 *
 * Usage: class="gcweb-u-one-half-tablet"
 */
.gcweb-u-one-half-tablet {
  width: 100% !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-one-half-tablet {
    float: left;
    width: 50% !important;
  }
}

.gcweb-u-one-third-tablet {
  width: 100% !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-one-third-tablet {
    float: left;
    width: 33.33333% !important;
  }
}

.gcweb-u-two-thirds-tablet {
  width: 100% !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-two-thirds-tablet {
    float: left;
    width: 66.66667% !important;
  }
}

.gcweb-u-one-quarter-tablet {
  width: 100% !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-one-quarter-tablet {
    float: left;
    width: 25% !important;
  }
}

.gcweb-u-three-quarters-tablet {
  width: 100% !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-three-quarters-tablet {
    float: left;
    width: 75% !important;
  }
}

/* ==========================================================================
   UTILITIES / #LINK-NOWRAP
   ========================================================================== */
/**
 * Prevent long anchor links from line breaking
 * on smaller screens
 *
 * Usage: class="gcweb-u-nowrap"
 */
@media (max-width: 40.0525em) {
  .gcweb-u-nowrap {
    white-space: nowrap;
  }
}

/* ==========================================================================
   UTILITIES / #READING-WIDTH
   ========================================================================== */
/**
 * Reading width mixin, add a maximum width
 * to large pieces of content
 *
 * Usage: class="gcweb-u-reading-width"
 * See tools/mixins
 */
.gcweb-u-reading-width {
  max-width: 44em;
}

.gcweb-u-margin-0 {
  margin: 0 !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-0 {
    margin: 0 !important;
  }
}

.gcweb-u-margin-top-0 {
  margin-top: 0 !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-top-0 {
    margin-top: 0 !important;
  }
}

.gcweb-u-margin-right-0 {
  margin-right: 0 !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-right-0 {
    margin-right: 0 !important;
  }
}

.gcweb-u-margin-bottom-0 {
  margin-bottom: 0 !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-bottom-0 {
    margin-bottom: 0 !important;
  }
}

.gcweb-u-margin-left-0 {
  margin-left: 0 !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-left-0 {
    margin-left: 0 !important;
  }
}

.gcweb-u-margin-1 {
  margin: 4px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-1 {
    margin: 4px !important;
  }
}

.gcweb-u-margin-top-1 {
  margin-top: 4px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-top-1 {
    margin-top: 4px !important;
  }
}

.gcweb-u-margin-right-1 {
  margin-right: 4px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-right-1 {
    margin-right: 4px !important;
  }
}

.gcweb-u-margin-bottom-1 {
  margin-bottom: 4px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-bottom-1 {
    margin-bottom: 4px !important;
  }
}

.gcweb-u-margin-left-1 {
  margin-left: 4px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-left-1 {
    margin-left: 4px !important;
  }
}

.gcweb-u-margin-2 {
  margin: 8px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-2 {
    margin: 8px !important;
  }
}

.gcweb-u-margin-top-2 {
  margin-top: 8px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-top-2 {
    margin-top: 8px !important;
  }
}

.gcweb-u-margin-right-2 {
  margin-right: 8px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-right-2 {
    margin-right: 8px !important;
  }
}

.gcweb-u-margin-bottom-2 {
  margin-bottom: 8px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-bottom-2 {
    margin-bottom: 8px !important;
  }
}

.gcweb-u-margin-left-2 {
  margin-left: 8px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-left-2 {
    margin-left: 8px !important;
  }
}

.gcweb-u-margin-3 {
  margin: 8px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-3 {
    margin: 16px !important;
  }
}

.gcweb-u-margin-top-3 {
  margin-top: 8px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-top-3 {
    margin-top: 16px !important;
  }
}

.gcweb-u-margin-right-3 {
  margin-right: 8px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-right-3 {
    margin-right: 16px !important;
  }
}

.gcweb-u-margin-bottom-3 {
  margin-bottom: 8px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-bottom-3 {
    margin-bottom: 16px !important;
  }
}

.gcweb-u-margin-left-3 {
  margin-left: 8px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-left-3 {
    margin-left: 16px !important;
  }
}

.gcweb-u-margin-4 {
  margin: 16px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-4 {
    margin: 24px !important;
  }
}

.gcweb-u-margin-top-4 {
  margin-top: 16px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-top-4 {
    margin-top: 24px !important;
  }
}

.gcweb-u-margin-right-4 {
  margin-right: 16px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-right-4 {
    margin-right: 24px !important;
  }
}

.gcweb-u-margin-bottom-4 {
  margin-bottom: 16px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-bottom-4 {
    margin-bottom: 24px !important;
  }
}

.gcweb-u-margin-left-4 {
  margin-left: 16px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-left-4 {
    margin-left: 24px !important;
  }
}

.gcweb-u-margin-5 {
  margin: 24px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-5 {
    margin: 32px !important;
  }
}

.gcweb-u-margin-top-5 {
  margin-top: 24px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-top-5 {
    margin-top: 32px !important;
  }
}

.gcweb-u-margin-right-5 {
  margin-right: 24px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-right-5 {
    margin-right: 32px !important;
  }
}

.gcweb-u-margin-bottom-5 {
  margin-bottom: 24px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-bottom-5 {
    margin-bottom: 32px !important;
  }
}

.gcweb-u-margin-left-5 {
  margin-left: 24px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-left-5 {
    margin-left: 32px !important;
  }
}

.gcweb-u-margin-6 {
  margin: 32px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-6 {
    margin: 40px !important;
  }
}

.gcweb-u-margin-top-6 {
  margin-top: 32px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-top-6 {
    margin-top: 40px !important;
  }
}

.gcweb-u-margin-right-6 {
  margin-right: 32px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-right-6 {
    margin-right: 40px !important;
  }
}

.gcweb-u-margin-bottom-6 {
  margin-bottom: 32px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-bottom-6 {
    margin-bottom: 40px !important;
  }
}

.gcweb-u-margin-left-6 {
  margin-left: 32px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-left-6 {
    margin-left: 40px !important;
  }
}

.gcweb-u-margin-7 {
  margin: 40px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-7 {
    margin: 48px !important;
  }
}

.gcweb-u-margin-top-7 {
  margin-top: 40px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-top-7 {
    margin-top: 48px !important;
  }
}

.gcweb-u-margin-right-7 {
  margin-right: 40px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-right-7 {
    margin-right: 48px !important;
  }
}

.gcweb-u-margin-bottom-7 {
  margin-bottom: 40px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-bottom-7 {
    margin-bottom: 48px !important;
  }
}

.gcweb-u-margin-left-7 {
  margin-left: 40px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-left-7 {
    margin-left: 48px !important;
  }
}

.gcweb-u-margin-8 {
  margin: 48px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-8 {
    margin: 56px !important;
  }
}

.gcweb-u-margin-top-8 {
  margin-top: 48px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-top-8 {
    margin-top: 56px !important;
  }
}

.gcweb-u-margin-right-8 {
  margin-right: 48px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-right-8 {
    margin-right: 56px !important;
  }
}

.gcweb-u-margin-bottom-8 {
  margin-bottom: 48px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-bottom-8 {
    margin-bottom: 56px !important;
  }
}

.gcweb-u-margin-left-8 {
  margin-left: 48px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-left-8 {
    margin-left: 56px !important;
  }
}

.gcweb-u-margin-9 {
  margin: 56px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-9 {
    margin: 64px !important;
  }
}

.gcweb-u-margin-top-9 {
  margin-top: 56px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-top-9 {
    margin-top: 64px !important;
  }
}

.gcweb-u-margin-right-9 {
  margin-right: 56px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-right-9 {
    margin-right: 64px !important;
  }
}

.gcweb-u-margin-bottom-9 {
  margin-bottom: 56px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-bottom-9 {
    margin-bottom: 64px !important;
  }
}

.gcweb-u-margin-left-9 {
  margin-left: 56px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-margin-left-9 {
    margin-left: 64px !important;
  }
}

.gcweb-u-padding-0 {
  padding: 0 !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-0 {
    padding: 0 !important;
  }
}

.gcweb-u-padding-top-0 {
  padding-top: 0 !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-top-0 {
    padding-top: 0 !important;
  }
}

.gcweb-u-padding-right-0 {
  padding-right: 0 !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-right-0 {
    padding-right: 0 !important;
  }
}

.gcweb-u-padding-bottom-0 {
  padding-bottom: 0 !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-bottom-0 {
    padding-bottom: 0 !important;
  }
}

.gcweb-u-padding-left-0 {
  padding-left: 0 !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-left-0 {
    padding-left: 0 !important;
  }
}

.gcweb-u-padding-1 {
  padding: 4px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-1 {
    padding: 4px !important;
  }
}

.gcweb-u-padding-top-1 {
  padding-top: 4px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-top-1 {
    padding-top: 4px !important;
  }
}

.gcweb-u-padding-right-1 {
  padding-right: 4px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-right-1 {
    padding-right: 4px !important;
  }
}

.gcweb-u-padding-bottom-1 {
  padding-bottom: 4px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-bottom-1 {
    padding-bottom: 4px !important;
  }
}

.gcweb-u-padding-left-1 {
  padding-left: 4px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-left-1 {
    padding-left: 4px !important;
  }
}

.gcweb-u-padding-2 {
  padding: 8px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-2 {
    padding: 8px !important;
  }
}

.gcweb-u-padding-top-2 {
  padding-top: 8px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-top-2 {
    padding-top: 8px !important;
  }
}

.gcweb-u-padding-right-2 {
  padding-right: 8px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-right-2 {
    padding-right: 8px !important;
  }
}

.gcweb-u-padding-bottom-2 {
  padding-bottom: 8px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-bottom-2 {
    padding-bottom: 8px !important;
  }
}

.gcweb-u-padding-left-2 {
  padding-left: 8px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-left-2 {
    padding-left: 8px !important;
  }
}

.gcweb-u-padding-3 {
  padding: 8px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-3 {
    padding: 16px !important;
  }
}

.gcweb-u-padding-top-3 {
  padding-top: 8px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-top-3 {
    padding-top: 16px !important;
  }
}

.gcweb-u-padding-right-3 {
  padding-right: 8px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-right-3 {
    padding-right: 16px !important;
  }
}

.gcweb-u-padding-bottom-3 {
  padding-bottom: 8px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-bottom-3 {
    padding-bottom: 16px !important;
  }
}

.gcweb-u-padding-left-3 {
  padding-left: 8px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-left-3 {
    padding-left: 16px !important;
  }
}

.gcweb-u-padding-4 {
  padding: 16px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-4 {
    padding: 24px !important;
  }
}

.gcweb-u-padding-top-4 {
  padding-top: 16px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-top-4 {
    padding-top: 24px !important;
  }
}

.gcweb-u-padding-right-4 {
  padding-right: 16px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-right-4 {
    padding-right: 24px !important;
  }
}

.gcweb-u-padding-bottom-4 {
  padding-bottom: 16px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-bottom-4 {
    padding-bottom: 24px !important;
  }
}

.gcweb-u-padding-left-4 {
  padding-left: 16px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-left-4 {
    padding-left: 24px !important;
  }
}

.gcweb-u-padding-5 {
  padding: 24px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-5 {
    padding: 32px !important;
  }
}

.gcweb-u-padding-top-5 {
  padding-top: 24px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-top-5 {
    padding-top: 32px !important;
  }
}

.gcweb-u-padding-right-5 {
  padding-right: 24px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-right-5 {
    padding-right: 32px !important;
  }
}

.gcweb-u-padding-bottom-5 {
  padding-bottom: 24px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-bottom-5 {
    padding-bottom: 32px !important;
  }
}

.gcweb-u-padding-left-5 {
  padding-left: 24px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-left-5 {
    padding-left: 32px !important;
  }
}

.gcweb-u-padding-6 {
  padding: 32px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-6 {
    padding: 40px !important;
  }
}

.gcweb-u-padding-top-6 {
  padding-top: 32px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-top-6 {
    padding-top: 40px !important;
  }
}

.gcweb-u-padding-right-6 {
  padding-right: 32px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-right-6 {
    padding-right: 40px !important;
  }
}

.gcweb-u-padding-bottom-6 {
  padding-bottom: 32px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-bottom-6 {
    padding-bottom: 40px !important;
  }
}

.gcweb-u-padding-left-6 {
  padding-left: 32px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-left-6 {
    padding-left: 40px !important;
  }
}

.gcweb-u-padding-7 {
  padding: 40px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-7 {
    padding: 48px !important;
  }
}

.gcweb-u-padding-top-7 {
  padding-top: 40px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-top-7 {
    padding-top: 48px !important;
  }
}

.gcweb-u-padding-right-7 {
  padding-right: 40px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-right-7 {
    padding-right: 48px !important;
  }
}

.gcweb-u-padding-bottom-7 {
  padding-bottom: 40px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-bottom-7 {
    padding-bottom: 48px !important;
  }
}

.gcweb-u-padding-left-7 {
  padding-left: 40px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-left-7 {
    padding-left: 48px !important;
  }
}

.gcweb-u-padding-8 {
  padding: 48px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-8 {
    padding: 56px !important;
  }
}

.gcweb-u-padding-top-8 {
  padding-top: 48px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-top-8 {
    padding-top: 56px !important;
  }
}

.gcweb-u-padding-right-8 {
  padding-right: 48px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-right-8 {
    padding-right: 56px !important;
  }
}

.gcweb-u-padding-bottom-8 {
  padding-bottom: 48px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-bottom-8 {
    padding-bottom: 56px !important;
  }
}

.gcweb-u-padding-left-8 {
  padding-left: 48px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-left-8 {
    padding-left: 56px !important;
  }
}

.gcweb-u-padding-9 {
  padding: 56px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-9 {
    padding: 64px !important;
  }
}

.gcweb-u-padding-top-9 {
  padding-top: 56px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-top-9 {
    padding-top: 64px !important;
  }
}

.gcweb-u-padding-right-9 {
  padding-right: 56px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-right-9 {
    padding-right: 64px !important;
  }
}

.gcweb-u-padding-bottom-9 {
  padding-bottom: 56px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-bottom-9 {
    padding-bottom: 64px !important;
  }
}

.gcweb-u-padding-left-9 {
  padding-left: 56px !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-padding-left-9 {
    padding-left: 64px !important;
  }
}

/* ==========================================================================
   UTILITIES / #TYPOGRAPHY
   ========================================================================== */
/**
 * Font size and line height
 *
 * Generate typography override classes for each responsive font map in the
 * typography scale eg .gcweb-u-font-size-48
 *
 * Original code taken from GDS (Government Digital Service)
 * https://github.com/alphagov/govuk-frontend
 */
.gcweb-u-font-size-64 {
  font-size: 48px !important;
  font-size: 3rem !important;
  line-height: 1.16667 !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-font-size-64 {
    font-size: 64px !important;
    font-size: 4rem !important;
    line-height: 1.125 !important;
  }
}

@media print {
  .gcweb-u-font-size-64 {
    font-size: 53pt !important;
    line-height: 1.1 !important;
  }
}

.gcweb-u-font-size-48 {
  font-size: 32px !important;
  font-size: 2rem !important;
  line-height: 1.25 !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-font-size-48 {
    font-size: 48px !important;
    font-size: 3rem !important;
    line-height: 1.16667 !important;
  }
}

@media print {
  .gcweb-u-font-size-48 {
    font-size: 32pt !important;
    line-height: 1.15 !important;
  }
}

.gcweb-u-font-size-32 {
  font-size: 24px !important;
  font-size: 1.5rem !important;
  line-height: 1.33333 !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-font-size-32 {
    font-size: 32px !important;
    font-size: 2rem !important;
    line-height: 1.25 !important;
  }
}

@media print {
  .gcweb-u-font-size-32 {
    font-size: 24pt !important;
    line-height: 1.05 !important;
  }
}

.gcweb-u-font-size-24 {
  font-size: 20px !important;
  font-size: 1.25rem !important;
  line-height: 1.4 !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-font-size-24 {
    font-size: 24px !important;
    font-size: 1.5rem !important;
    line-height: 1.33333 !important;
  }
}

@media print {
  .gcweb-u-font-size-24 {
    font-size: 18pt !important;
    line-height: 1.15 !important;
  }
}

.gcweb-u-font-size-22 {
  font-size: 18px !important;
  font-size: 1.125rem !important;
  line-height: 1.55556 !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-font-size-22 {
    font-size: 22px !important;
    font-size: 1.375rem !important;
    line-height: 1.45455 !important;
  }
}

@media print {
  .gcweb-u-font-size-22 {
    font-size: 18pt !important;
    line-height: 1.15 !important;
  }
}

.gcweb-u-font-size-19 {
  font-size: 16px !important;
  font-size: 1rem !important;
  line-height: 1.5 !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-font-size-19 {
    font-size: 19px !important;
    font-size: 1.1875rem !important;
    line-height: 1.47368 !important;
  }
}

@media print {
  .gcweb-u-font-size-19 {
    font-size: 14pt !important;
    line-height: 1.15 !important;
  }
}

.gcweb-u-font-size-18 {
  font-size: 16px !important;
  font-size: 1rem !important;
  line-height: 1.5 !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-font-size-18 {
    font-size: 18px !important;
    font-size: 1.125rem !important;
    line-height: 1.55556 !important;
  }
}

@media print {
  .gcweb-u-font-size-18 {
    font-size: 14pt !important;
    line-height: 1.15 !important;
  }
}

.gcweb-u-font-size-16 {
  font-size: 14px !important;
  font-size: 0.875rem !important;
  line-height: 1.71429 !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-font-size-16 {
    font-size: 16px !important;
    font-size: 1rem !important;
    line-height: 1.5 !important;
  }
}

@media print {
  .gcweb-u-font-size-16 {
    font-size: 14pt !important;
    line-height: 1.2 !important;
  }
}

.gcweb-u-font-size-14 {
  font-size: 12px !important;
  font-size: 0.75rem !important;
  line-height: 1.66667 !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-font-size-14 {
    font-size: 14px !important;
    font-size: 0.875rem !important;
    line-height: 1.71429 !important;
  }
}

@media print {
  .gcweb-u-font-size-14 {
    font-size: 12pt !important;
    line-height: 1.2 !important;
  }
}

/* Weights
   ========================================================================== */
/**
 * Generate font weight override classes for normal and bold
 * eg .gcweb-u-font-weight-normal
 */
.gcweb-u-font-weight-normal {
  font-weight: 400 !important;
}

.gcweb-u-font-weight-bold {
  font-weight: 700 !important;
}

/* Colours
   ========================================================================== */
/**
 * Secondary text colour $gcweb-secondary-text-color
 * eg <p class="gcweb-u-secondary-text-color">Published on: 15 March 2018</p>
 */
.gcweb-u-secondary-text-color {
  color: #6d6d6d !important;
}

p, a, ul, li, address, abbr {
  font-family: "Nunito" !important;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Spartan" !important;
}

/* ==========================================================================
   UTILITIES / #VISUALLY-HIDDEN
   ========================================================================== */
/**
 * Hide elements visually but keep it in the DOM
 *
 * Usage: class="gcweb-u-visually-hidden"
 * See tools/mixins
 */
.gcweb-u-visually-hidden {
  -webkit-clip-path: inset(50%);
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  margin: 0;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

/* ==========================================================================
   UTILITIES / #WIDTH
   ========================================================================== */
/**
 * Original code taken from GDS (Government Digital Service)
 * https://github.com/alphagov/govuk-frontend
 * Force element widths on all screen sizes
 *
 * Usage: class="gcweb-u-width-full"
 */
.gcweb-u-width-full {
  width: 100% !important;
}

.gcweb-u-width-three-quarters {
  width: 100% !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-width-three-quarters {
    width: 75% !important;
  }
}

.gcweb-u-width-two-thirds {
  width: 100% !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-width-two-thirds {
    width: 66.66% !important;
  }
}

.gcweb-u-width-one-half {
  width: 100% !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-width-one-half {
    width: 50% !important;
  }
}

.gcweb-u-width-one-third {
  width: 100% !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-width-one-third {
    width: 33.33% !important;
  }
}

.gcweb-u-width-one-quarter {
  width: 100% !important;
}

@media (min-width: 40.0625em) {
  .gcweb-u-width-one-quarter {
    width: 25% !important;
  }
}

.cocc-hidden {
  display: none;
}

#cocc-banner {
  background-color: #f8f8f8;
}

#cocc-banner-confirm p,
#cocc-banner-confirm button {
  display: inline-block;
  vertical-align: middle;
}

.cocc-policy-expires-column-width {
  width: 12.5% !important;
}

#cocc-preference-saved {
  padding: 15px;
  margin-bottom: 30px;
  clear: both;
  border: 2px solid #06544A;
}

.flex-nav {
  display: flex;
  justify-content: space-between;
}

.flex-right {
  justify-content: flex-end;
  margin-left: auto;
}

.flex-left {
  justify-content: flex-start;
  margin-right: auto;
}

.gcweb-topnav {
  /* Change the link color to #111 (black) on hover */
}

.gcweb-topnav ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
  line-height: 1.4em;
}

.gcweb-topnav li a {
  display: block;
  text-align: center;
  padding: 8px 10px 8px 10px;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.71429;
  text-decoration: none;
  color: #ffffff;
  font-family: "Nunito" !important;
}

@media (min-width: 40.0625em) {
  .gcweb-topnav li a {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.5;
  }
}

@media print {
  .gcweb-topnav li a {
    font-size: 14pt;
    line-height: 1.2;
  }
}

.gcweb-topnav li {
  float: left;
  margin-bottom: 0px;
  font-size: 16px;
}

.gcweb-topnav li a:focus {
  background: #ffdd00;
  color: #171b1f !important;
}

.gcweb-topnav li a:hover {
  background: rgba(0, 0, 0, 0.4);
  color: #ffffff;
}

.gcweb-topnav li a:hover:focus {
  color: #ffffff !important;
}

.gcweb-topnav li a:hover {
  color: #ffffff;
}

.gcweb-topnav .active {
  color: #ffffff;
  font-weight: 700;
}

.gcweb-topnav .active:focus {
  color: #171b1f;
}

.gcweb-topnav ul.right {
  list-style-type: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
  float: right;
}

@media (max-width: 61.865em) {
  .gcweb-topnav {
    display: none;
  }
}

@media (min-width: 61.875em) {
  .gcweb-topnav {
    display: block;
  }
}

.gcweb-panel, blockquote {
  padding: 15px;
  border-radius: 4px;
  margin: 0;
  margin-bottom: 24px;
  background: #eaeaea;
}

@media (min-width: 40.0625em) {
  .gcweb-panel, blockquote {
    margin-bottom: 32px;
  }
}

.gcweb-panel p:last-child, blockquote p:last-child {
  margin-bottom: 0px;
}

.gcweb-panel .gcweb-panel-title, blockquote .gcweb-panel-title {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  margin-bottom: 8px;
}

@media (min-width: 40.0625em) {
  .gcweb-panel .gcweb-panel-title, blockquote .gcweb-panel-title {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.47368;
  }
}

@media print {
  .gcweb-panel .gcweb-panel-title, blockquote .gcweb-panel-title {
    font-size: 14pt;
    line-height: 1.15;
  }
}

@media (min-width: 40.0625em) {
  .gcweb-panel .gcweb-panel-title, blockquote .gcweb-panel-title {
    margin-bottom: 16px;
  }
}

.gcweb-panel a, .gcweb-panel a:link, .gcweb-panel a:visited, .gcweb-panel a:active, blockquote a, blockquote a:link, blockquote a:visited, blockquote a:active {
  color: #354973;
}

.gcweb-panel--color, .gcweb-panel--orange {
  background: #FEA623 !important;
}

.gcweb-panel--blue {
  background: #00aced !important;
  color: #171b1f;
}

.gcweb-panel--blue a, .gcweb-panel--blue a:link, .gcweb-panel--blue a:visited, .gcweb-panel--blue a:active {
  text-decoration: underline;
  color: #171b1f;
}

.gcweb-panel--purple {
  background: #7C2855 !important;
  color: #ffffff;
}

.gcweb-panel--purple a, .gcweb-panel--purple a:link, .gcweb-panel--purple a:visited, .gcweb-panel--purple a:active {
  text-decoration: underline;
  color: #ffffff;
}

.gcweb-panel--purple p {
  color: #ffffff !important;
}

.gcweb-panel--red {
  border: 5px solid #b22222 !important;
  background-color: #f7e9e9 !important;
  color: #171b1f;
}

.gcweb-panel--red a, .gcweb-panel--red a:link, .gcweb-panel--red a:visited, .gcweb-panel--red a:active {
  text-decoration: underline;
  color: #171b1f;
}

.gcweb-panel--red p {
  color: #171b1f !important;
}

.gcweb-panel--white {
  border: 5px solid #eaeaea !important;
  background-color: #ffffff !important;
  color: #171b1f;
}

.gcweb-panel--white a, .gcweb-panel--white a:link, .gcweb-panel--white a:visited, .gcweb-panel--white a:active {
  text-decoration: none;
}

.gcweb-panel--white a:hover {
  text-decoration: underline;
  color: #171b1f;
}

.gcweb-panel--white p {
  color: #171b1f !important;
}

.gcweb-panel--track {
  border-bottom: 15px solid #eaeaea !important;
  background-color: #ffffff !important;
  color: #171b1f;
  padding: 1rem 0rem 0rem 0rem;
  margin-bottom: 2rem;
}

.gcweb-panel--track a, .gcweb-panel--track a:link, .gcweb-panel--track a:visited, .gcweb-panel--track a:active {
  text-decoration: underline;
  color: #171b1f;
}

.gcweb-panel--track p {
  color: #171b1f !important;
}

.gcweb-button {
  display: inline-block;
  padding: 10px 20px;
  background: #2e2e2e;
  color: #ffffff !important;
  font-size: 18px;
  font-family: "Nunito" !important;
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  border: 0;
  border-radius: 4px;
  transition: all 0.15s linear;
  outline: none;
  text-decoration: none;
  cursor: pointer;
  margin-top: 20px;
  border: 2px solid #2e2e2e;
}

@media (max-width: 40.0525em) {
  .gcweb-button {
    display: block;
    margin-bottom: 15px;
  }
}

.gcweb-button:hover, .gcweb-button:active, .gcweb-button:focus {
  background: #585858;
  border: 2px solid #ffdd00;
  box-shadow: none;
}

.gcweb-button--secondary {
  display: inline-block;
  padding: 10px 20px;
  background: transparent;
  color: #171b1f !important;
  font-size: 18px;
  font-family: "Nunito";
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  border: 0;
  border-radius: 4px;
  transition: all 0.15s linear;
  outline: none;
  text-decoration: none;
  cursor: pointer;
  margin-top: 20px;
  border: 2px solid #2e2e2e;
}

@media (max-width: 40.0525em) {
  .gcweb-button--secondary {
    display: block;
    margin-bottom: 15px;
  }
}

.gcweb-button--secondary:hover, .gcweb-button--secondary:active, .gcweb-button--secondary:focus {
  background: #585858;
  border: 2px solid #ffdd00;
  color: #ffffff !important;
  box-shadow: none;
}

.gcweb-button_orange {
  display: inline-block;
  padding: 10px 20px;
  background: #FEA623;
  color: #171b1f !important;
  font-size: 18px;
  font-family: "Nunito";
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  border: 0;
  border-radius: 4px;
  transition: all 0.15s linear;
  outline: none;
  text-decoration: none;
  cursor: pointer;
  margin-top: 20px;
  border: 2px solid #FEA623;
}

@media (max-width: 40.0525em) {
  .gcweb-button_orange {
    display: block;
    margin-bottom: 15px;
  }
}

.gcweb-button_orange:hover, .gcweb-button_orange:active, .gcweb-button_orange:focus {
  background: #585858;
  border: 2px solid #ffdd00;
  color: #ffffff !important;
  box-shadow: none;
}

.gcweb-button--white {
  display: inline-block;
  padding: 10px 20px;
  background: #ffffff;
  color: #171b1f !important;
  font-size: 18px;
  font-family: "Nunito";
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  border: 0;
  border-radius: 4px;
  transition: all 0.15s linear;
  outline: none;
  text-decoration: none;
  cursor: pointer;
  margin-top: 20px;
  border: 2px solid #ffffff;
}

@media (max-width: 40.0525em) {
  .gcweb-button--white {
    display: block;
    margin-bottom: 15px;
  }
}

.gcweb-button--white:hover, .gcweb-button--white:active, .gcweb-button--white:focus {
  background: #585858;
  border: 2px solid #ffdd00;
  color: #ffffff !important;
  box-shadow: none;
}

.gcweb-hero .gcweb-button--secondary {
  display: inline-block;
  padding: 10px 20px;
  background: transparent;
  color: #ffffff !important;
  font-size: 18px;
  font-family: "Nunito";
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  border: 0;
  border-radius: 4px;
  transition: all 0.15s linear;
  outline: none;
  text-decoration: none;
  cursor: pointer;
  margin-top: 20px;
  border: 2px solid #ffffff;
}

@media (max-width: 40.0525em) {
  .gcweb-hero .gcweb-button--secondary {
    display: block;
    margin-bottom: 15px;
  }
}

.gcweb-hero .gcweb-button--secondary:hover, .gcweb-hero .gcweb-button--secondary:active, .gcweb-hero .gcweb-button--secondary:focus {
  background: #585858;
  border: 2px solid #ffdd00;
  color: #ffffff !important;
  box-shadow: none;
}

/* ==========================================================================
   COMPONENTS / #HEADER
   ========================================================================== */
/**
 * The behaviour with regards to responsiveness is as follow:
 *
 * - Mobile to tablet view
 *   Menu toggle button visible and navigation links hidden, search toggle
     button visible and search form hidden
 *
 * - Tablet to desktop view
 *   Menu toggle button visible and navigation links hidden, search toggle
 *   button hidden and search form visible
 *
 * - Desktop+ view
 *   Menu toggle button hidden and navigation links visible, search toggle
 *   button hidden and search form visible
 *
 * 1. Custom height and width of the logo
 * 2. Custom height and width of form items
 * 3. Custom height and width of svg icons
 * 4. Remove inner border on buttons for Firefox, see
 *    https://github.com/necolas/normalize.css/issues/393
 * 5. Proprietary extension so form field looks the same in Safari
 * 6. Needs !important because typeahead js adds inline styling so need to
 *    override
 * 7. Custom spacing to position the search icon
 * 8. Drop shadow on search suggestions dopdown box, custom spread and blur
 * 9. No current spacing at 12px so using this value
 * 10. Z-index to bring the dropdown to the front
 * 11. Custom margin to move menu toggle past the search toggle button
 * 12. Custom border value between expanded search and expanded menu if both open at the same time
 * 13. Don't display the link address for the logo anchor, see
 *     core/elements/_links.scss
 * 14. IE 10 prefix for flexbox
 * 15. IE 9 alternative for flexbox
 * 16. Use non variable colour to follow NHS England guidelines on logo colour
 * 17. On print stylesheets remove the header link
 * 18. Remove random top margin in Safari
 */
/* ==========================================================================
   COMPONENTS / #HEADER / #AUTOCOMPLETE
   ========================================================================== */
/**
   * 1. IE 10 prefix for flexbox
   * 2. Proprietary extension so form field looks the same in Safari
   * 3. Custom height and width of form items
   * 4. Custom height and width of svg icons
   * 5. Custom spacing to position the search icon
   * 6. Drop shadow on search suggestions dopdown box, custom spread and blur
   * 7. Z-index to bring the dropdown to the front
   * 8. No current spacing at 12px so using this value
*/
.autocomplete-container {
  display: inline-block;
}

@media (max-width: 40.0525em) {
  .autocomplete-container {
    display: inline;
    width: 100%;
  }
}

@media (max-width: 40.0525em) {
  /* duplicate of .gcweb-search__input in _header.scss, for non javascript version */
  .autocomplete__input {
    -ms-flex-positive: 2;
    /* [1] */
    -webkit-appearance: listbox;
    border-bottom: 1px solid #c0c0c0;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 0;
    border-left: 1px solid #c0c0c0;
    border-right: 0;
    border-top: 1px solid #c0c0c0;
    border-top-left-radius: 4px;
    border-top-right-radius: 0;
    flex-grow: 2;
    font-size: inherit;
    height: 52px;
    /* [3] */
    margin: 0;
    outline: none;
    padding: 0 16px;
    width: 100%;
    /* [3] */
  }
  .autocomplete__input:focus {
    border: 4px solid #ffdd00;
    box-shadow: inset 0 0 0 4px #171b1f;
    outline: 4px solid transparent;
    outline-offset: 4px;
  }
}

@media (min-width: 40.0625em) {
  /* duplicate of .gcweb-search__input in _header.scss, for non javascript version */
  .autocomplete__input {
    -webkit-appearance: listbox;
    border: 1px solid #ffffff;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 0;
    border-right: 0;
    border-top-left-radius: 4px;
    border-top-right-radius: 0;
    font-size: 16px;
    height: 40px;
    /* [3] */
    padding: 0 12px;
    /* [9] */
    width: 200px;
    /* [3] */
  }
  .autocomplete__input:focus {
    border: 1px solid #ffdd00;
    box-shadow: inset 0 0 0 4px #ffdd00;
    outline: 4px solid transparent;
    outline-offset: 4px;
  }
  .autocomplete__input::placeholder {
    color: #979797;
    font-size: 16px;
  }
}

@media (min-width: 48.0625em) {
  .autocomplete__input {
    width: 235px;
  }
}

.autocomplete__menu {
  -moz-box-shadow: 0 3px 5px rgba(0, 0, 0, 0.5);
  /* [6] */
  -webkit-box-shadow: 0 3px 5px rgba(0, 0, 0, 0.5);
  /* [6] */
  background-color: #ffffff;
  border-bottom: 1px solid #d5d5d5;
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
  border-left: 1px solid #d5d5d5;
  border-right: 1px solid #d5d5d5;
  box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.5);
  /* [6] */
  list-style: none;
  margin-top: 2px;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 16px;
  position: absolute;
  top: 100%;
  width: 100%;
  z-index: 1;
  /* [7] */
}

@media (max-width: 40.0525em) {
  .autocomplete__menu {
    border: 0;
    box-shadow: none;
    margin: 0;
    padding-left: 0;
    padding-right: 0;
    position: relative;
  }
}

.autocomplete__menu--visible {
  display: block;
}

.autocomplete__menu--hidden {
  display: none;
}

.autocomplete__option {
  border-bottom: 1px solid #eaeaea;
  color: #354973;
  cursor: pointer;
  font-size: 16px;
  padding-bottom: 12px;
  /* [8] */
  text-align: left;
  text-decoration: underline;
}

.autocomplete__option .gcweb-icon__search {
  fill: #c0c0c0;
  float: left;
  height: 22px;
  /* [4] */
  margin: 2px 4px 0 0;
  /* [5] */
  width: 22px;
  /* [4] */
}

.autocomplete__option:hover, .autocomplete__option:active {
  text-decoration: none;
}

.autocomplete__option:focus {
  outline: 1px solid transparent;
  text-decoration: none;
}

.autocomplete__option:focus a {
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #171b1f;
  color: #171b1f;
  outline: 4px solid transparent;
  text-decoration: none;
}

@media (min-width: 40.0625em) {
  .autocomplete__option:last-child {
    border-bottom: 0;
  }
}

.autocomplete__option--no-results {
  border-bottom: 0;
  color: #171b1f;
  font-size: 16px;
  line-height: 24px;
  margin: 0;
  padding: 0;
  text-align: left;
  text-decoration: none;
}

@media (max-width: 40.0525em) {
  .autocomplete__option--no-results {
    padding: 16px 0;
  }
}

.gcweb-header:after {
  clear: both;
  content: '';
  display: block;
}

.gcweb-header__container {
  padding-top: 20px !important;
  padding-bottom: 15px !important;
}

.gcweb-header__container:after {
  clear: both;
  content: '';
  display: block;
}

.gcweb-header__logo {
  float: left;
}

.gcweb-header__logo .gcweb-logo__background {
  fill: #ffffff;
}

@media print {
  .gcweb-header__logo .gcweb-logo__background {
    fill: #354973;
  }
}

.gcweb-header__logo .gcweb-logo__text {
  fill: #354973;
}

@media print {
  .gcweb-header__logo .gcweb-logo__text {
    fill: #ffffff;
  }
}

@media (min-width: 40.0625em) {
  .gcweb-header__logo {
    padding-left: 0;
    margin-top: 10px;
    margin-bottom: 0px;
  }
}

.gcweb-header__logo .gcweb-logo {
  height: 60px;
  width: 220px;
  /* [1] */
  border: 0;
}

@media (max-width: 48.0525em) {
  .gcweb-header__logo {
    max-width: 60%;
  }
}

@media (max-width: 450px) {
  .gcweb-header__logo {
    max-width: 50%;
  }
}

.gcweb-header__link img {
  width: 220px;
}

@media (max-width: 40.0525em) {
  .gcweb-header__link img {
    width: 150px;
  }
}

.gcweb-header__link:hover .gcweb-logo {
  box-shadow: 0 0 0 4px;
}

.gcweb-header__link:focus .gcweb-logo {
  box-shadow: 0 0 0 #ffdd00;
}

.gcweb-header__link:focus:hover .gcweb-logo {
  box-shadow: 0 0 0 4px #ffdd00;
}

@media print {
  .gcweb-header__link:after {
    content: '';
    /* [17] */
  }
}

.gcweb-header__link:hover, .gcweb-header__link:active, .gcweb-header__link:focus {
  background-color: transparent;
}

.gcweb-header__content {
  position: relative;
}

.gcweb-header__content:after {
  clear: both;
  content: '';
  display: block;
}

@media print {
  .gcweb-header__content {
    display: none;
  }
}

.gcweb-header__content.js-show {
  border-bottom: 4px solid #eaeaea;
  /* [12] */
}

@media (min-width: 40.0625em) {
  .gcweb-header__content {
    float: right;
  }
  .gcweb-header__content.js-show {
    border-bottom: 0;
  }
}

.gcweb-header__search {
  position: relative;
  text-align: right;
}

.gcweb-header__search:after {
  clear: both;
  content: '';
  display: block;
}

@media (min-width: 40.0625em) {
  .gcweb-header__search {
    float: left;
    margin-left: 8px;
  }
}

.gcweb-header__search-toggle {
  background-color: transparent;
  border: 1px solid #ffffff;
  border-radius: 4px;
  color: #ffffff;
  cursor: pointer;
  min-height: 40px;
  /* [2] */
  padding: 4px 8px 0;
  position: absolute;
  right: 0;
  top: 0;
}

.gcweb-header__search-toggle::-moz-focus-inner {
  border: 0;
}

.gcweb-header__search-toggle:hover {
  background-color: #222f4b;
  border-color: #eaeaea;
  box-shadow: none;
}

.gcweb-header__search-toggle:focus {
  border: 1px solid #ffdd00 !important;
}

.gcweb-header__search-toggle:active, .gcweb-header__search-toggle.is-active {
  background-color: #1b253a;
  border-color: #eaeaea;
  color: #eaeaea;
}

.gcweb-header__search-toggle .gcweb-icon__search {
  fill: #ffffff;
  height: 21px;
  /* [3] */
  width: 21px;
  /* [3] */
}

.gcweb-header__search-toggle:focus {
  background-color: #ffdd00;
  border: 0;
  box-shadow: 0 4px 0 0 #171b1f;
  color: #171b1f;
  outline: 4px solid transparent;
  /* 1 */
  outline-offset: 4px;
  box-shadow: none;
}

.gcweb-header__search-toggle:focus .gcweb-icon {
  fill: #171b1f;
}

.gcweb-header__search-form {
  height: 100%;
  overflow: visible;
}

@media (max-width: 40.0525em) {
  .gcweb-header__container {
    margin: 0;
  }
  .gcweb-header__logo {
    position: relative;
    z-index: 1;
  }
  .gcweb-header__search-wrap {
    display: none;
  }
  .gcweb-header__search-wrap.js-show {
    clear: both;
    display: -ms-flexbox;
    /* [14] */
    display: flex;
    margin-bottom: -20px;
    margin-left: -16px;
    margin-right: -16px;
    padding-top: 16px;
    text-align: left;
  }
  .gcweb-header__search-form {
    background-color: #ffffff;
    display: -ms-flexbox;
    /* [14] */
    display: flex;
    padding: 16px;
    width: 100%;
  }
  .gcweb-search__input {
    -ms-flex-positive: 2;
    /* [14] */
    -webkit-appearance: listbox;
    background-color: #ffffff !important;
    border-bottom: 1px solid #c0c0c0;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 0;
    border-left: 1px solid #c0c0c0;
    border-right: 0;
    border-top: 1px solid #c0c0c0;
    border-top-left-radius: 4px;
    border-top-right-radius: 0;
    flex-grow: 2;
    font-size: inherit;
    height: 52px;
    /* [2] */
    margin: 0;
    outline: none;
    padding: 0 16px;
    width: 100%;
    /* [2] */
  }
  .gcweb-search__input:focus {
    box-shadow: inset 0 0 0 4px #171b1f;
  }
  .gcweb-search__submit {
    background-color: #346248;
    border: 0;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 4px;
    border-top-left-radius: 0;
    border-top-right-radius: 4px;
    float: right;
    font-size: inherit;
    height: 52px;
    /* [2] */
    line-height: inherit;
    margin: 0;
    outline: none;
    padding: 8px 8px 0;
  }
  .gcweb-search__submit .gcweb-icon__search {
    fill: #ffffff;
    height: 38px;
    /* [3] */
    width: 38px;
    /* [3] */
  }
  .gcweb-search__submit::-moz-focus-inner {
    border: 0;
    /* [4] */
  }
  .gcweb-search__submit:hover {
    background-color: #585858;
    cursor: pointer;
  }
  .gcweb-search__submit:focus {
    background-color: #ffdd00;
    border-bottom: 4px solid #171b1f;
    box-shadow: inset 0 0 0 4px #ffdd00;
    outline: 4px solid transparent;
    outline-offset: 4px;
  }
  .gcweb-search__submit:focus:hover {
    background-color: #ffdd00;
  }
  .gcweb-search__submit:focus:hover .gcweb-icon {
    fill: #171b1f;
  }
  .gcweb-search__submit:focus .gcweb-icon {
    fill: #171b1f;
  }
  .gcweb-search__submit:active {
    background-color: #171717;
  }
  .gcweb-search__submit:active .gcweb-icon {
    fill: #ffffff;
  }
  .gcweb-search__close {
    background-color: transparent;
    border: 0;
    cursor: pointer;
    height: 40px;
    padding: 0;
    width: 40px;
    margin-left: 16px;
    margin-top: 8px;
  }
  .gcweb-search__close .gcweb-icon__close {
    fill: #354973;
    height: 40px;
    width: 40px;
  }
  .gcweb-search__close::-moz-focus-inner {
    border: 0;
  }
  .gcweb-search__close:hover .gcweb-icon__close {
    fill: #8a8a8a;
  }
  .gcweb-search__close:focus {
    background-color: #ffdd00;
    box-shadow: 0 -2px #ffdd00, 0 4px #171b1f;
    color: #171b1f;
    outline: 4px solid transparent;
    text-decoration: none;
  }
  .gcweb-search__close:focus .gcweb-icon__close {
    fill: #171b1f;
  }
}

@media (min-width: 40.0625em) {
  .gcweb-header__search-wrap {
    display: block;
    line-height: 0;
  }
  .gcweb-header__search-toggle {
    display: none;
  }
  .gcweb-search__input {
    -webkit-appearance: listbox;
    background-color: #ffffff !important;
    border: 1px solid #ffffff;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 0;
    border-top-left-radius: 4px;
    border-top-right-radius: 0;
    display: block;
    float: left;
    font-size: 16px;
    height: 40px;
    padding: 0 12px;
    /* [9] */
    width: 200px;
    /* [2] */
  }
  .gcweb-search__input::placeholder {
    color: #979797;
    font-size: 16px;
  }
  .gcweb-search__submit {
    background-color: #eaeaea;
    border: 0;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 4px;
    border-top-left-radius: 0;
    border-top-right-radius: 4px;
    display: block;
    float: right;
    font-size: inherit;
    height: 40px;
    /* [2] */
    line-height: inherit;
    outline: none;
    padding-left: 9px;
    /* [7] */
    padding-top: 2px;
    /* [7] */
    width: 44px;
    /* [2] */
  }
  .gcweb-search__submit .gcweb-icon__search {
    height: 27px;
    /* [3] */
    width: 27px;
    /* [3] */
  }
  .gcweb-search__submit::-moz-focus-inner {
    border: 0;
    /* [4] */
  }
  .gcweb-search__submit:hover {
    background-color: #171b1f;
    cursor: pointer;
  }
  .gcweb-search__submit:hover .gcweb-icon__search {
    fill: #ffffff;
  }
  .gcweb-search__submit:focus {
    background-color: #ffdd00;
    border: 0;
    box-shadow: 0 4px 0 0 #171b1f;
    color: #171b1f;
    outline: 4px solid transparent;
    /* 1 */
    outline-offset: 4px;
    box-shadow: none;
  }
  .gcweb-search__submit:focus .gcweb-icon {
    fill: #171b1f;
  }
  .gcweb-search__submit:active {
    background-color: #171b1f;
    border: 0;
  }
  .gcweb-search__submit:active .gcweb-icon__search {
    fill: #ffffff;
  }
  .gcweb-search__close {
    display: none;
  }
}

.gcweb-search__input--withdropdown {
  border-bottom-left-radius: 0;
}

.gcweb-search__submit--withdropdown {
  border-bottom-right-radius: 0;
}

@media (min-width: 48.0625em) {
  .gcweb-search__input {
    width: 235px;
  }
}

/* Main navigation
   *
   * Appears below the header strip
     ====================================================================== */
.gcweb-header__menu {
  float: right;
}

@media (min-width: 40.0625em) {
  .gcweb-header__menu {
    float: left;
  }
}

.gcweb-header__menu-toggle {
  background-color: transparent;
  border: 1px solid #ffffff;
  border-radius: 4px;
  color: #ffffff;
  cursor: pointer;
  display: block;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  margin-right: 0;
  /* [11] */
  padding: 7px 16px;
  position: relative;
  text-decoration: none;
  z-index: 1;
}

.gcweb-header__menu-toggle::-moz-focus-inner {
  border: 0;
}

.gcweb-header__menu-toggle:hover {
  background-color: #222f4b;
  border-color: #eaeaea;
  box-shadow: none;
}

.gcweb-header__menu-toggle:focus {
  border: 1px solid #ffdd00 !important;
}

.gcweb-header__menu-toggle:active, .gcweb-header__menu-toggle.is-active {
  background-color: #1b253a;
  border-color: #eaeaea;
  color: #eaeaea;
}

@media (max-width: 48.0525em) {
  .gcweb-header__menu-toggle {
    margin-right: 0;
    /* [11] */
  }
}

@media (max-width: 40.0525em) {
  .gcweb-header__menu-toggle {
    right: 48px;
  }
}

@media (min-width: 40.0625em) and (max-width: 61.865em) {
  .gcweb-header__menu-toggle {
    margin-top: 0;
    /* [18] */
  }
}

.gcweb-header__menu-toggle:focus {
  background-color: #ffdd00;
  border: 0;
  box-shadow: 0 4px 0 0 #171b1f;
  color: #171b1f;
  outline: 4px solid transparent;
  /* 1 */
  outline-offset: 4px;
  box-shadow: none;
}

.gcweb-header__menu-toggle:focus .gcweb-icon {
  fill: #171b1f;
}

/* 'only' modifier for when there is only the menu in the header, no search
     ====================================================================== */
@media (max-width: 40.0525em) {
  .gcweb-header__menu--only .gcweb-header__menu-toggle {
    position: relative;
    right: auto;
    top: auto;
  }
}

.gcweb-header__navigation {
  background-color: #ffffff;
  clear: both;
  display: none;
  overflow: hidden;
}

@media print {
  .gcweb-header__navigation {
    display: none;
  }
}

.gcweb-header__navigation.js-show {
  display: block;
}

@media (max-width: 61.865em) {
  .gcweb-header__navigation.js-show {
    border-bottom: 4px solid #eaeaea;
    /* [12] */
    border-top: 4px solid #eaeaea;
    /* [12] */
  }
  .gcweb-header__navigation.js-show .gcweb-width-container {
    margin: 0 16px;
  }
}

@media (max-width: 48.0525em) {
  .gcweb-header__navigation.js-show .gcweb-width-container {
    margin: 0;
  }
}

.gcweb-header__navigation-title {
  font-weight: 700;
  margin-bottom: 0;
  padding: 16px;
  position: relative;
}

.gcweb-header__navigation-close {
  background-color: transparent;
  border: 0;
  cursor: pointer;
  height: 40px;
  padding: 0;
  width: 40px;
  overflow: hidden;
  position: absolute;
  right: 16px;
  top: 8px;
  white-space: nowrap;
}

.gcweb-header__navigation-close .gcweb-icon__close {
  fill: #354973;
  height: 40px;
  width: 40px;
}

.gcweb-header__navigation-close::-moz-focus-inner {
  border: 0;
}

.gcweb-header__navigation-close:hover .gcweb-icon__close {
  fill: #8a8a8a;
}

.gcweb-header__navigation-close:focus {
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #171b1f;
  color: #171b1f;
  outline: 4px solid transparent;
  text-decoration: none;
}

.gcweb-header__navigation-close:focus .gcweb-icon__close {
  fill: #171b1f;
}

.gcweb-header__navigation-list {
  list-style: none;
  margin: 0;
  padding-left: 0;
}

.gcweb-header__navigation-item {
  border-top: 1px solid #eaeaea;
  margin-bottom: 0;
  position: relative;
}

.gcweb-header__navigation-link {
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  border-bottom: 4px solid transparent;
  border-top: 4px solid transparent;
  display: block;
  padding: 8px 12px;
  text-decoration: none;
}

@media (min-width: 40.0625em) {
  .gcweb-header__navigation-link {
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1.55556;
  }
}

@media print {
  .gcweb-header__navigation-link {
    font-size: 14pt;
    line-height: 1.15;
  }
}

.gcweb-header__navigation-link .gcweb-icon__chevron-right {
  fill: #c0c0c0;
  position: absolute;
  right: 4px;
  top: 4px;
  height: 42px;
}

.gcweb-header__navigation-link:hover {
  box-shadow: none;
  text-decoration: none;
}

.gcweb-header__navigation-link:hover .gcweb-icon__chevron-right {
  fill: #ffffff;
}

.gcweb-header__navigation-link:active, .gcweb-header__navigation-link:focus {
  border-bottom: 4px solid #ffdd00;
  box-shadow: none;
  outline: 4px solid transparent;
  outline-offset: 4px;
  text-decoration: none;
}

/**
   * Large desktop styles
  **/
@media (min-width: 61.875em) {
  .gcweb-header__menu-toggle {
    display: none;
  }
  .gcweb-header__navigation-title {
    display: none;
  }
  .gcweb-header__navigation-item--for-mobile {
    display: none;
  }
  .gcweb-header__navigation {
    background-color: #354973;
    display: block;
    margin: 0 auto;
    max-width: 960px;
  }
  .gcweb-header__navigation-list {
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    display: -ms-flexbox;
    /* [14] */
    display: flex;
    justify-content: space-between;
    padding: 0;
    width: 100%;
  }
  .gcweb-header__navigation-list--small {
    justify-content: flex-start;
  }
  .gcweb-header__navigation-item {
    border-top: 0;
    margin: 0;
    text-align: center;
  }
  .gcweb-header__navigation-item .gcweb-icon__chevron-right {
    display: none;
  }
  .gcweb-header__navigation-link {
    color: #ffffff;
    line-height: normal;
    margin-left: 5px;
  }
  .gcweb-header__navigation-link:first-child {
    margin-left: 0px;
  }
}

/**
   * Internet Explorer >= 9 specific styles
   *
   * The header component is the only component that
   * supports earlier version of IE.
   * This is because of the NHS branding, navigation
   * and search prominence across the website.
  **/
.ie8 .gcweb-header__link {
  display: inline-block;
  width: 100%;
}

.ie8 .gcweb-header__logo,
.ie8 .gcweb-header__transactional-service-name {
  background-color: #354973;
  display: block;
  padding: 8px 0 8px 8px;
  width: 100%;
}

.ie8 .gcweb-header__transactional-service-name {
  padding-bottom: 12px;
  padding-top: 0;
}

.ie8 .gcweb-header__search {
  background-color: #354973;
  clear: both;
  padding-bottom: 12px;
}

.ie8 .gcweb-header__menu-toggle,
.ie8 .gcweb-header__search-toggle,
.ie8 .gcweb-search__close,
.ie8 .gcweb-header__navigation-title,
.ie8 .gcweb-header__navigation-link .gcweb-icon__chevron-right {
  display: none;
}

.ie8 .gcweb-header__navigation-list {
  display: table;
}

.ie8 .gcweb-header__navigation-item {
  display: table-cell;
  /* [15] */
}

.ie8 .gcweb-header__navigation-item a:hover {
  color: #354973;
}

.ie8 .gcweb-search__submit {
  height: auto;
  width: auto;
}

.ie8 .gcweb-search__submit .gcweb-u-visually-hidden {
  height: auto;
  position: relative;
  width: auto;
}

.ie8 .gcweb-header__navigation {
  display: block;
}

@media (min-width: 61.875em) {
  .ie9 .gcweb-header__navigation-list {
    display: table;
  }
  .ie9 .gcweb-header__navigation-item {
    display: table-cell;
  }
}

.ie9 .gcweb-header__search-wrap .js-show {
  display: block;
}

/**
   * Transactional Header with service name
  **/
.gcweb-header__transactional-service-name {
  float: left;
  padding-left: 16px;
  padding-top: 3px;
}

@media (max-width: 40.0525em) {
  .gcweb-header__transactional-service-name {
    padding-top: 4px;
  }
}

@media (max-width: 61.865em) {
  .gcweb-header__transactional-service-name--long {
    padding-left: 0;
    padding-top: 8px;
    width: 100%;
  }
}

.gcweb-header__transactional-service-name--link {
  color: #ffffff;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  text-decoration: none;
}

.gcweb-header__transactional-service-name--link:visited {
  color: #eaeaea;
}

.gcweb-header__transactional-service-name--link:focus {
  color: #171b1f;
  outline: 4px solid transparent;
  outline-offset: 4px;
  text-decoration: underline;
}

.gcweb-header__transactional-service-name--link:hover {
  color: #7C2855;
  text-decoration: underline;
}

.gcweb-header__transactional-service-name--link:active {
  color: #1b253a;
}

@media (min-width: 40.0625em) {
  .gcweb-header__transactional-service-name--link {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.47368;
  }
}

@media print {
  .gcweb-header__transactional-service-name--link {
    font-size: 14pt;
    line-height: 1.15;
  }
}

.gcweb-header__transactional-service-name--link:hover {
  color: #ffffff;
}

.gcweb-header__transactional-service-name--link:focus {
  text-decoration: none;
}

.gcweb-header__transactional-service-name--link:focus:hover {
  color: #171b1f;
}

.gcweb-header--white {
  background-color: #ffffff;
}

.gcweb-header--white .gcweb-header__link:hover .gcweb-logo {
  box-shadow: none;
}

.gcweb-header--white .gcweb-header__link:focus .gcweb-logo {
  box-shadow: 4px 0 0 0 #ffdd00, -4px 0 0 0 #ffdd00, -4px 0 0 #ffdd00, 0 0 0 4px #ffdd00, 0 4px 0 4px #171b1f;
}

.gcweb-header--white .gcweb-search__submit {
  background-color: #354973;
}

.gcweb-header--white .gcweb-search__submit .gcweb-icon__search {
  fill: #ffffff;
}

.gcweb-header--white .gcweb-search__submit:hover {
  background-color: #354973;
}

.gcweb-header--white .gcweb-search__submit:focus {
  background-color: #ffdd00;
}

@media (min-width: 40.0625em) {
  .gcweb-header--white .gcweb-search__submit:focus {
    border: 1px solid #171b1f;
  }
}

.gcweb-header--white .gcweb-search__submit:focus .gcweb-icon__search {
  fill: #171b1f;
}

.gcweb-header--white .autocomplete__input,
.gcweb-header--white .gcweb-search__input {
  border: 1px solid #c0c0c0;
  border-right: 0;
}

.gcweb-header--white .autocomplete__input:focus,
.gcweb-header--white .gcweb-search__input:focus {
  border: 1px solid #171b1f;
}

@media (max-width: 40.0525em) {
  .gcweb-header--white .autocomplete__input:focus,
  .gcweb-header--white .gcweb-search__input:focus {
    border: 4px solid #ffdd00;
  }
}

.gcweb-header--white .gcweb-header__search-toggle,
.gcweb-header--white .gcweb-header__menu-toggle {
  border-color: #354973;
  color: #354973;
}

.gcweb-header--white .gcweb-header__search-toggle .gcweb-icon,
.gcweb-header--white .gcweb-header__menu-toggle .gcweb-icon {
  fill: #354973;
}

.gcweb-header--white .gcweb-header__search-toggle.is-active, .gcweb-header--white .gcweb-header__search-toggle:hover,
.gcweb-header--white .gcweb-header__menu-toggle.is-active,
.gcweb-header--white .gcweb-header__menu-toggle:hover {
  background-color: #354973;
  border-color: #354973;
  box-shadow: none;
  color: #ffffff;
}

.gcweb-header--white .gcweb-header__search-toggle.is-active .gcweb-icon, .gcweb-header--white .gcweb-header__search-toggle:hover .gcweb-icon,
.gcweb-header--white .gcweb-header__menu-toggle.is-active .gcweb-icon,
.gcweb-header--white .gcweb-header__menu-toggle:hover .gcweb-icon {
  fill: #ffffff;
}

.gcweb-header--white .gcweb-header__search-toggle:focus,
.gcweb-header--white .gcweb-header__menu-toggle:focus {
  background-color: #ffdd00;
  border: 0;
  box-shadow: 0 4px 0 0 #171b1f;
  color: #171b1f;
  outline: 4px solid transparent;
  /* 1 */
  outline-offset: 4px;
  border: 1px solid #171b1f !important;
  box-shadow: none;
}

.gcweb-header--white .gcweb-header__search-toggle:focus .gcweb-icon,
.gcweb-header--white .gcweb-header__menu-toggle:focus .gcweb-icon {
  fill: #171b1f;
}

@media (max-width: 40.0525em) {
  .gcweb-header--white .gcweb-header__search-form {
    padding-top: 0;
  }
}

.gcweb-header--white .gcweb-organisation-name {
  color: #000;
  /* [16] */
}

.gcweb-header--white .gcweb-organisation-descriptor {
  color: #354973;
}

.gcweb-header--white .gcweb-header__transactional-service-name--link {
  color: #171b1f;
}

.gcweb-header--white .gcweb-header__navigation-list {
  border-top: 0;
}

.gcweb-header--white .gcweb-header__service-name {
  color: #171b1f;
}

.gcweb-header--organisation.gcweb-header--white .gcweb-header__link:hover {
  box-shadow: 0 1px 0 0 #354973;
}

.gcweb-header--organisation.gcweb-header--white .gcweb-header__link:focus {
  box-shadow: 0 4px 0 0 #171b1f;
}

.gcweb-header--organisation.gcweb-header--white .gcweb-header__link:focus .gcweb-logo {
  box-shadow: none;
}

.gcweb-header--white-nav .gcweb-header__navigation {
  background-color: #ffffff;
}

.gcweb-header--white-nav .gcweb-header__navigation .gcweb-header__navigation-list {
  border-top: 1px solid #d5d5d5;
}

.gcweb-header--white-nav .gcweb-header__navigation .gcweb-header__navigation-link {
  color: #354973;
}

.gcweb-header--white-nav .gcweb-header__navigation .gcweb-header__navigation-link:visited {
  color: #354973;
}

.gcweb-header--white-nav .gcweb-header__navigation .gcweb-header__navigation-link:hover, .gcweb-header--white-nav .gcweb-header__navigation .gcweb-header__navigation-link:active, .gcweb-header--white-nav .gcweb-header__navigation .gcweb-header__navigation-link.is-active {
  background-color: transparent;
  text-decoration: none;
}

.gcweb-header--white-nav .gcweb-header__navigation .gcweb-header__navigation-link:focus {
  color: #171b1f;
}

.gcweb-header--white-nav .gcweb-header__navigation .gcweb-header__navigation-link:focus:hover {
  background: #ffdd00;
}

.gcweb-header {
  background: #171b1f;
}

.gcweb-header__navigation {
  clear: both;
  display: none;
  overflow: hidden;
}

@media print {
  .gcweb-header__navigation {
    display: none;
  }
}

.gcweb-header__navigation.js-show {
  display: block;
}

@media (max-width: 61.865em) {
  .gcweb-header__navigation.js-show {
    border-bottom: 4px solid #f0f4f5;
    border-top: 4px solid #f0f4f5;
  }
  .gcweb-header__navigation.js-show .gcweb-width-container {
    margin: 0 16px;
  }
}

@media (max-width: 48.0525em) {
  .gcweb-header__navigation.js-show .gcweb-width-container {
    margin: 0;
  }
}

.gcweb-header__navigation-title {
  font-weight: 600;
  margin-bottom: 0;
  padding: 16px;
  position: relative;
  margin-bottom: 20px;
}

.gcweb-header__navigation-close {
  background-color: transparent;
  border: 0;
  cursor: pointer;
  height: 40px;
  padding: 0;
  width: 40px;
  overflow: hidden;
  position: absolute;
  right: 16px;
  top: 8px;
  white-space: nowrap;
}

.gcweb-header__navigation-close .gcweb-icon__close {
  fill: #b00000;
  height: 40px;
  width: 40px;
}

.gcweb-header__navigation-close::-moz-focus-inner {
  border: 0;
}

.gcweb-header__navigation-close:hover .gcweb-icon__close {
  fill: #3d4e5b;
}

.gcweb-header__navigation-close:focus {
  background-color: #FEA623;
  box-shadow: 0 -2px #FEA623, 0 4px #212b32;
  color: #212b32;
  outline: 4px solid transparent;
  text-decoration: none;
}

.gcweb-header__navigation-close:focus .gcweb-icon__close {
  fill: #212b32;
}

.gcweb-header__navigation-list {
  list-style: none;
  margin: 0;
  padding-left: 0;
}

.gcweb-header__navigation-item {
  margin-bottom: 0;
  position: relative;
}

@media print {
  .gcweb-header__navigation-link {
    font-size: 14pt;
    line-height: 1.2;
  }
}

.gcweb-header__navigation-active {
  box-shadow: none;
  color: #171b1f;
  text-decoration: none;
  font-weight: 700;
}

.gcweb-header__navigation-link:hover .gcweb-icon__chevron-right {
  fill: #171b1f;
}

@media (min-width: 61.875em) {
  .gcweb-header__menu-toggle {
    display: none;
  }
  .gcweb-header__navigation-title {
    display: none;
  }
  .gcweb-header__navigation-item--for-mobile {
    display: none;
  }
  .gcweb-header__navigation {
    background-color: transparent;
    display: block;
    margin: 0 auto;
    max-width: 100% !important;
  }
  .gcweb-header__navigation-list {
    display: -ms-flexbox;
    display: flex;
    justify-content: flex-start;
    padding: 0;
    width: 100%;
    border-top: 0px;
    margin-top: 5px;
  }
  .gcweb-header__navigation-list--small {
    justify-content: flex-end;
  }
  .gcweb-header__navigation-item {
    margin: 0;
    text-align: right;
    border: none;
  }
  .gcweb-header__navigation-item .gcweb-icon__chevron-right {
    display: none;
  }
  .gcweb-header__navigation-link {
    color: #ffffff;
    line-height: normal;
    padding: 8px 12px 8px 12px;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.71429;
  }
}

@media (min-width: 61.875em) and (min-width: 40.0625em) {
  .gcweb-header__navigation-link {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.5;
  }
}

@media print and (min-width: 61.875em) {
  .gcweb-header__navigation-link {
    font-size: 14pt;
    line-height: 1.2;
  }
}

@media (min-width: 61.875em) {
  .gcweb-header__navigation-link:active {
    background-color: transparent;
    color: #ffffff;
  }
}

.gcweb-header__link:focus {
  box-shadow: none;
  border-bottom: 5px solid #ffdd00;
}

.gcweb-signpost {
  flex-grow: 1;
  display: flex;
  margin: 0 0px 15px 0px;
  border: 1px solid #979797;
  border-radius: 4px;
  display: flex;
  flex-direction: row;
  background-color: #ffffff;
}

@media (max-width: 48.0525em) {
  .gcweb-signpost {
    margin-bottom: 25px;
  }
}

.gcweb-signpost__link {
  flex-grow: 1;
  display: flex;
  flex-direction: row;
  border-bottom: none;
  width: 100%;
  transition: box-shadow .2s ease-in;
  color: #171b1f;
  text-decoration: none;
}

.gcweb-signpost__link:focus,
.gcweb-signpost:hover {
  border-color: #ffdd00;
  box-shadow: 0 0 0 4px #ffdd00;
  text-decoration: none;
  border-radius: 4px;
}

.gcweb-signpost__content {
  display: flex;
  padding-left: 16px;
  padding-right: 16px;
  padding-top: 8px;
  padding-bottom: 8px;
  align-items: center;
  flex: 0.98;
  color: #171b1f;
  text-decoration: none;
  font-family: "Nunito" !important;
}

@media (min-width: 40.0625em) {
  .gcweb-signpost__content {
    padding-left: 24px;
  }
}

@media (min-width: 40.0625em) {
  .gcweb-signpost__content {
    padding-right: 24px;
  }
}

@media (min-width: 40.0625em) {
  .gcweb-signpost__content {
    padding-top: 16px;
  }
}

@media (min-width: 40.0625em) {
  .gcweb-signpost__content {
    padding-bottom: 16px;
  }
}

.gcweb-signpost__content.gcweb-signpost__thin {
  padding: 8px;
}

@media (min-width: 40.0625em) {
  .gcweb-signpost__content.gcweb-signpost__thin {
    padding: 16px;
  }
}

.gcweb-signpost__title {
  flex: 1;
  margin: 0;
  padding-right: 16px;
  font-family: "Nunito" !important;
  font-weight: 700;
}

@media (min-width: 40.0625em) {
  .gcweb-signpost__title {
    margin: 0;
  }
}

@media (min-width: 40.0625em) {
  .gcweb-signpost__title {
    padding-right: 24px;
  }
}

.gcweb-signpost__title span {
  font-weight: 400;
}

@media (min-width: 40.0625em) {
  .gcweb-signpost__title {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.71429;
    padding-right: 16px;
  }
}

@media (min-width: 40.0625em) and (min-width: 40.0625em) {
  .gcweb-signpost__title {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.5;
  }
}

@media print and (min-width: 40.0625em) {
  .gcweb-signpost__title {
    font-size: 14pt;
    line-height: 1.2;
  }
}

@media (min-width: 40.0625em) and (min-width: 40.0625em) {
  .gcweb-signpost__title {
    padding-right: 24px;
  }
}

@media (min-width: 61.875em) {
  .gcweb-signpost__title {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.5;
    padding-right: 16px;
  }
}

@media (min-width: 61.875em) and (min-width: 40.0625em) {
  .gcweb-signpost__title {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.47368;
  }
}

@media print and (min-width: 61.875em) {
  .gcweb-signpost__title {
    font-size: 14pt;
    line-height: 1.15;
  }
}

@media (min-width: 61.875em) and (min-width: 40.0625em) {
  .gcweb-signpost__title {
    padding-right: 24px;
  }
}

.gcweb-signpost a:hover,
.gcweb-signpost a:focus {
  text-decoration: none;
}

.gcweb-signpost__icon {
  display: block;
  flex-basis: 10px;
  max-width: 10px;
  transition: transform 0.2s ease-in-out;
  width: 10px;
  height: 1.375rem;
  overflow: hidden;
}

.gcweb-signpost a:hover .gcweb-signpost__icon,
.gcweb-signpost a:focus .gcweb-signpost__icon {
  transform: translateX(10px);
}

.gcweb-signpost__icon__svg {
  display: block;
  width: 100%;
  height: 100%;
}

.gcweb-precontent-strip {
  min-height: 15px;
}

.gcweb-header-tag--left {
  content: "";
  display: block;
  border-left: 10px solid #555555;
  margin-left: 0px;
  padding-left: 20px;
  margin-left: 0px;
  margin-right: 0px;
}

@media (max-width: 48.0525em) {
  .gcweb-header-tag--left {
    border-left: 0px;
    padding: 0px;
    margin: 0;
  }
}

.gcweb-area-licensees .gcweb-header,
.gcweb-area-authorities .gcweb-header {
  background-color: #474A48;
}

.gcweb-area-licensees .gcweb-topnav,
.gcweb-area-authorities .gcweb-topnav {
  background-color: #393b3a;
}

.gcweb-area-licensees .gcweb-topnav .active,
.gcweb-area-authorities .gcweb-topnav .active {
  background: #474A48 !important;
  color: #ffffff;
}

.gcweb-area-licensees .gcweb-topnav .active:focus,
.gcweb-area-authorities .gcweb-topnav .active:focus {
  color: #ffffff;
}

.gcweb-area-licensees .gcweb-alt,
.gcweb-area-authorities .gcweb-alt {
  background: #2e2e2e;
}

.gcweb-area-licensees .gcweb-alt--light,
.gcweb-area-authorities .gcweb-alt--light {
  background: #e1ead7;
}

.gcweb-area-licensees .gcweb-fill-color,
.gcweb-area-authorities .gcweb-fill-color {
  color: #474A48;
}

.gcweb-area-licensees .gcweb-precontent-strip,
.gcweb-area-authorities .gcweb-precontent-strip {
  background-color: #393b3a;
}

.gcweb-area-licensees .gcweb-precontent-strip *,
.gcweb-area-authorities .gcweb-precontent-strip * {
  color: #ffffff;
  border-color: #ffffff;
}

.gcweb-area-licensees .gcweb-precontent-strip * a,
.gcweb-area-authorities .gcweb-precontent-strip * a {
  text-decoration: none;
}

.gcweb-area-licensees .gcweb-header__navigation-active,
.gcweb-area-authorities .gcweb-header__navigation-active {
  color: #ffffff;
  background-color: #393b3a;
}

@media (max-width: 61.865em) {
  .gcweb-area-licensees .gcweb-header__navigation-active,
  .gcweb-area-authorities .gcweb-header__navigation-active {
    color: #ffffff !important;
  }
}

.gcweb-area-licensees .gcweb-header__navigation-link:active:visited,
.gcweb-area-licensees .gcweb-header__navigation-link:focus:visited,
.gcweb-area-authorities .gcweb-header__navigation-link:active:visited,
.gcweb-area-authorities .gcweb-header__navigation-link:focus:visited {
  background-color: #474A48;
}

.gcweb-area-licensees .gcweb-header__navigation-active > .gcweb-icon__chevron-right,
.gcweb-area-authorities .gcweb-header__navigation-active > .gcweb-icon__chevron-right {
  fill: #ffffff !important;
}

.gcweb-area-licensees .gcweb-header__navigation-link:hover,
.gcweb-area-licensees .gcweb-header__navigation-link:active,
.gcweb-area-licensees .gcweb-header__navigation-link:focus,
.gcweb-area-authorities .gcweb-header__navigation-link:hover,
.gcweb-area-authorities .gcweb-header__navigation-link:active,
.gcweb-area-authorities .gcweb-header__navigation-link:focus {
  background-color: #474A48;
  color: #ffffff;
}

.gcweb-area-licensees .gcweb-header__navigation-link:hover .gcweb-icon__chevron-right,
.gcweb-area-licensees .gcweb-header__navigation-link:active .gcweb-icon__chevron-right,
.gcweb-area-licensees .gcweb-header__navigation-link:focus .gcweb-icon__chevron-right,
.gcweb-area-authorities .gcweb-header__navigation-link:hover .gcweb-icon__chevron-right,
.gcweb-area-authorities .gcweb-header__navigation-link:active .gcweb-icon__chevron-right,
.gcweb-area-authorities .gcweb-header__navigation-link:focus .gcweb-icon__chevron-right {
  fill: #171b1f;
}

.gcweb-area-licensees .gcweb-header__navigation-active:hover,
.gcweb-area-licensees .gcweb-header__navigation-active:focus,
.gcweb-area-authorities .gcweb-header__navigation-active:hover,
.gcweb-area-authorities .gcweb-header__navigation-active:focus {
  background-color: #393b3a;
  color: #ffffff !important;
}

.gcweb-area-licensees .gcweb-header__navigation-active:hover .gcweb-icon__chevron-right,
.gcweb-area-licensees .gcweb-header__navigation-active:focus .gcweb-icon__chevron-right,
.gcweb-area-authorities .gcweb-header__navigation-active:hover .gcweb-icon__chevron-right,
.gcweb-area-authorities .gcweb-header__navigation-active:focus .gcweb-icon__chevron-right {
  fill: #171b1f;
}

.gcweb-area-licensees .gcweb-header__navigation-link,
.gcweb-area-authorities .gcweb-header__navigation-link {
  color: #ffffff !important;
  background: #474A48;
}

@media (max-width: 61.865em) {
  .gcweb-area-licensees .gcweb-header__navigation-link,
  .gcweb-area-authorities .gcweb-header__navigation-link {
    color: #ffffff !important;
  }
}

.gcweb-area-licensees .gcweb-header__navigation-link.gcweb-header__navigation-active,
.gcweb-area-authorities .gcweb-header__navigation-link.gcweb-header__navigation-active {
  background: #393b3a;
}

@media (max-width: 61.865em) {
  .gcweb-area-licensees .gcweb-header__navigation-link.gcweb-header__navigation-active,
  .gcweb-area-authorities .gcweb-header__navigation-link.gcweb-header__navigation-active {
    color: #ffffff !important;
  }
}

.gcweb-area-licensees .gcweb-header__navigation-link .gcweb-icon__chevron-right,
.gcweb-area-authorities .gcweb-header__navigation-link .gcweb-icon__chevron-right {
  fill: #c0c0c0;
}

@media (min-width: 61.875em) {
  .gcweb-area-licensees .gcweb-header__navigation-link:visited,
  .gcweb-area-authorities .gcweb-header__navigation-link:visited {
    color: #ffffff;
  }
}

.gcweb-area-licensees .gcweb-header__navigation-link:hover,
.gcweb-area-authorities .gcweb-header__navigation-link:hover {
  background-color: #393b3a;
  color: #ffffff !important;
}

.gcweb-area-licensees .gcweb-header__navigation-link:hover .gcweb-icon__chevron-right,
.gcweb-area-authorities .gcweb-header__navigation-link:hover .gcweb-icon__chevron-right {
  fill: #ffffff;
}

.gcweb-area-licensees .gcweb-header__navigation-link:active, .gcweb-area-licensees .gcweb-header__navigation-link:focus,
.gcweb-area-authorities .gcweb-header__navigation-link:active,
.gcweb-area-authorities .gcweb-header__navigation-link:focus {
  background-color: #ffdd00;
  border-bottom: 4px solid #ffdd00;
  box-shadow: none;
  color: #171b1f !important;
  outline: 4px solid transparent;
  outline-offset: 4px;
  text-decoration: none;
}

.gcweb-area-licensees .gcweb-header__navigation-link:active:hover, .gcweb-area-licensees .gcweb-header__navigation-link:focus:hover,
.gcweb-area-authorities .gcweb-header__navigation-link:active:hover,
.gcweb-area-authorities .gcweb-header__navigation-link:focus:hover {
  background-color: #393b3a;
  color: #171b1f !important;
}

.gcweb-area-licensees .gcweb-header__navigation-link:active:visited,
.gcweb-area-licensees .gcweb-header__navigation-link:focus:visited,
.gcweb-area-authorities .gcweb-header__navigation-link:active:visited,
.gcweb-area-authorities .gcweb-header__navigation-link:focus:visited {
  background-color: #ffdd00;
  color: #171b1f !important;
}

.gcweb-area-licensees .gcweb-hero,
.gcweb-area-authorities .gcweb-hero {
  background-color: #393b3a;
}

.gcweb-area-licensees .gcweb-hero p,
.gcweb-area-licensees .gcweb-hero a,
.gcweb-area-licensees .gcweb-hero p a,
.gcweb-area-licensees .gcweb-hero h1,
.gcweb-area-licensees .gcweb-hero h2,
.gcweb-area-authorities .gcweb-hero p,
.gcweb-area-authorities .gcweb-hero a,
.gcweb-area-authorities .gcweb-hero p a,
.gcweb-area-authorities .gcweb-hero h1,
.gcweb-area-authorities .gcweb-hero h2 {
  color: #ffffff;
}

.gcweb-area-licensees .gcweb-hero .gcweb-header-tag::before,
.gcweb-area-authorities .gcweb-hero .gcweb-header-tag::before {
  border-top-color: #ffffff;
}

.gcweb-area-licensees .gcweb-hero .gcweb-button,
.gcweb-area-authorities .gcweb-hero .gcweb-button {
  color: #171b1f !important;
  background-color: #ffffff;
  border: 2px solid #ffffff;
}

.gcweb-area-licensees .gcweb-hero .gcweb-fill-color,
.gcweb-area-authorities .gcweb-hero .gcweb-fill-color {
  color: #ffffff;
}

.gcweb-area-public .gcweb-header,
.gcweb-area-public-register .gcweb-header {
  background-color: #354973;
}

.gcweb-area-public .gcweb-topnav,
.gcweb-area-public-register .gcweb-topnav {
  background-color: #05668D;
  color: #ffffff;
}

.gcweb-area-public .gcweb-topnav .active,
.gcweb-area-public-register .gcweb-topnav .active {
  background: #354973 !important;
  color: #ffffff;
}

.gcweb-area-public .gcweb-alt,
.gcweb-area-public-register .gcweb-alt {
  background: #2e2e2e;
}

.gcweb-area-public .gcweb-alt--light,
.gcweb-area-public-register .gcweb-alt--light {
  background: #e1ead7;
}

.gcweb-area-public .gcweb-fill-color,
.gcweb-area-public-register .gcweb-fill-color {
  color: #354973;
}

.gcweb-area-public .gcweb-precontent-strip,
.gcweb-area-public-register .gcweb-precontent-strip {
  background-color: #05668D;
}

.gcweb-area-public .gcweb-precontent-strip *,
.gcweb-area-public-register .gcweb-precontent-strip * {
  color: #ffffff;
  border-color: #ffffff;
}

.gcweb-area-public .gcweb-precontent-strip * a,
.gcweb-area-public-register .gcweb-precontent-strip * a {
  text-decoration: none;
}

.gcweb-area-public .gcweb-header__navigation-active,
.gcweb-area-public-register .gcweb-header__navigation-active {
  color: #ffffff;
  background-color: #05668D;
}

@media (max-width: 61.865em) {
  .gcweb-area-public .gcweb-header__navigation-active,
  .gcweb-area-public-register .gcweb-header__navigation-active {
    color: #ffffff !important;
  }
}

.gcweb-area-public .gcweb-header__navigation-link:active:visited,
.gcweb-area-public .gcweb-header__navigation-link:focus:visited,
.gcweb-area-public-register .gcweb-header__navigation-link:active:visited,
.gcweb-area-public-register .gcweb-header__navigation-link:focus:visited {
  background-color: #354973;
}

.gcweb-area-public .gcweb-header__navigation-active > .gcweb-icon__chevron-right,
.gcweb-area-public-register .gcweb-header__navigation-active > .gcweb-icon__chevron-right {
  fill: #ffffff !important;
}

.gcweb-area-public .gcweb-header__navigation-link:hover,
.gcweb-area-public .gcweb-header__navigation-link:active,
.gcweb-area-public .gcweb-header__navigation-link:focus,
.gcweb-area-public-register .gcweb-header__navigation-link:hover,
.gcweb-area-public-register .gcweb-header__navigation-link:active,
.gcweb-area-public-register .gcweb-header__navigation-link:focus {
  background-color: #354973;
  color: #171b1f;
}

.gcweb-area-public .gcweb-header__navigation-link:hover .gcweb-icon__chevron-right,
.gcweb-area-public .gcweb-header__navigation-link:active .gcweb-icon__chevron-right,
.gcweb-area-public .gcweb-header__navigation-link:focus .gcweb-icon__chevron-right,
.gcweb-area-public-register .gcweb-header__navigation-link:hover .gcweb-icon__chevron-right,
.gcweb-area-public-register .gcweb-header__navigation-link:active .gcweb-icon__chevron-right,
.gcweb-area-public-register .gcweb-header__navigation-link:focus .gcweb-icon__chevron-right {
  fill: #171b1f;
}

.gcweb-area-public .gcweb-header__navigation-active:hover,
.gcweb-area-public .gcweb-header__navigation-active:focus,
.gcweb-area-public-register .gcweb-header__navigation-active:hover,
.gcweb-area-public-register .gcweb-header__navigation-active:focus {
  background-color: #05668D;
  color: #171b1f !important;
}

.gcweb-area-public .gcweb-header__navigation-active:hover .gcweb-icon__chevron-right,
.gcweb-area-public .gcweb-header__navigation-active:focus .gcweb-icon__chevron-right,
.gcweb-area-public-register .gcweb-header__navigation-active:hover .gcweb-icon__chevron-right,
.gcweb-area-public-register .gcweb-header__navigation-active:focus .gcweb-icon__chevron-right {
  fill: #171b1f;
}

.gcweb-area-public .gcweb-header__navigation-link,
.gcweb-area-public-register .gcweb-header__navigation-link {
  color: #ffffff !important;
  background: #354973;
}

@media (max-width: 61.865em) {
  .gcweb-area-public .gcweb-header__navigation-link,
  .gcweb-area-public-register .gcweb-header__navigation-link {
    color: #ffffff !important;
  }
}

.gcweb-area-public .gcweb-header__navigation-link.gcweb-header__navigation-active,
.gcweb-area-public-register .gcweb-header__navigation-link.gcweb-header__navigation-active {
  background: #05668D;
}

@media (max-width: 61.865em) {
  .gcweb-area-public .gcweb-header__navigation-link.gcweb-header__navigation-active,
  .gcweb-area-public-register .gcweb-header__navigation-link.gcweb-header__navigation-active {
    color: #ffffff !important;
  }
}

.gcweb-area-public .gcweb-header__navigation-link .gcweb-icon__chevron-right,
.gcweb-area-public-register .gcweb-header__navigation-link .gcweb-icon__chevron-right {
  fill: #c0c0c0;
}

@media (min-width: 61.875em) {
  .gcweb-area-public .gcweb-header__navigation-link:visited,
  .gcweb-area-public-register .gcweb-header__navigation-link:visited {
    color: #ffffff;
  }
}

.gcweb-area-public .gcweb-header__navigation-link:hover,
.gcweb-area-public-register .gcweb-header__navigation-link:hover {
  background-color: #05668D;
  color: #ffffff !important;
}

.gcweb-area-public .gcweb-header__navigation-link:hover .gcweb-icon__chevron-right,
.gcweb-area-public-register .gcweb-header__navigation-link:hover .gcweb-icon__chevron-right {
  fill: #ffffff;
}

.gcweb-area-public .gcweb-header__navigation-link:active, .gcweb-area-public .gcweb-header__navigation-link:focus,
.gcweb-area-public-register .gcweb-header__navigation-link:active,
.gcweb-area-public-register .gcweb-header__navigation-link:focus {
  background-color: #ffdd00;
  border-bottom: 4px solid #ffdd00;
  box-shadow: none;
  color: #171b1f;
  outline: 4px solid transparent;
  outline-offset: 4px;
  text-decoration: none;
}

.gcweb-area-public .gcweb-header__navigation-link:active:hover, .gcweb-area-public .gcweb-header__navigation-link:focus:hover,
.gcweb-area-public-register .gcweb-header__navigation-link:active:hover,
.gcweb-area-public-register .gcweb-header__navigation-link:focus:hover {
  background-color: #05668D;
  color: #171b1f;
}

.gcweb-area-public .gcweb-header__navigation-link:active:visited,
.gcweb-area-public .gcweb-header__navigation-link:focus:visited,
.gcweb-area-public-register .gcweb-header__navigation-link:active:visited,
.gcweb-area-public-register .gcweb-header__navigation-link:focus:visited {
  background-color: #ffdd00;
  color: #171b1f !important;
}

.gcweb-area-public .gcweb-hero,
.gcweb-area-public-register .gcweb-hero {
  background-color: #05668D;
}

.gcweb-area-public .gcweb-hero p,
.gcweb-area-public .gcweb-hero a,
.gcweb-area-public .gcweb-hero p a,
.gcweb-area-public .gcweb-hero h1,
.gcweb-area-public .gcweb-hero h2,
.gcweb-area-public-register .gcweb-hero p,
.gcweb-area-public-register .gcweb-hero a,
.gcweb-area-public-register .gcweb-hero p a,
.gcweb-area-public-register .gcweb-hero h1,
.gcweb-area-public-register .gcweb-hero h2 {
  color: #ffffff;
}

.gcweb-area-public .gcweb-hero .gcweb-header-tag::before,
.gcweb-area-public-register .gcweb-hero .gcweb-header-tag::before {
  border-top-color: #ffffff;
}

.gcweb-area-public .gcweb-hero .gcweb-button,
.gcweb-area-public-register .gcweb-hero .gcweb-button {
  color: #171b1f !important;
  background-color: #ffffff;
  border: 2px solid #ffffff;
}

.gcweb-area-public .gcweb-hero .gcweb-button:hover, .gcweb-area-public .gcweb-hero .gcweb-button:active, .gcweb-area-public .gcweb-hero .gcweb-button:focus,
.gcweb-area-public-register .gcweb-hero .gcweb-button:hover,
.gcweb-area-public-register .gcweb-hero .gcweb-button:active,
.gcweb-area-public-register .gcweb-hero .gcweb-button:focus {
  background: #585858;
  border: 2px solid #ffdd00;
  box-shadow: none;
  color: #ffffff !important;
}

.gcweb-area-public .gcweb-hero .gcweb-fill-color,
.gcweb-area-public-register .gcweb-hero .gcweb-fill-color {
  color: rgba(255, 255, 255, 0.5);
}

.gcweb-area-corporate .gcweb-header,
.gcweb-area-careers .gcweb-header,
.gcweb-area-news .gcweb-header,
.gcweb-area-contact .gcweb-header,
.gcweb-area-services .gcweb-header {
  background-color: #346248;
}

.gcweb-area-corporate .gcweb-topnav,
.gcweb-area-careers .gcweb-topnav,
.gcweb-area-news .gcweb-topnav,
.gcweb-area-contact .gcweb-topnav,
.gcweb-area-services .gcweb-topnav {
  background-color: #417B5A;
}

.gcweb-area-corporate .gcweb-topnav .active,
.gcweb-area-careers .gcweb-topnav .active,
.gcweb-area-news .gcweb-topnav .active,
.gcweb-area-contact .gcweb-topnav .active,
.gcweb-area-services .gcweb-topnav .active {
  background: #346248 !important;
  color: #ffffff;
}

.gcweb-area-corporate .gcweb-topnav .active:focus,
.gcweb-area-careers .gcweb-topnav .active:focus,
.gcweb-area-news .gcweb-topnav .active:focus,
.gcweb-area-contact .gcweb-topnav .active:focus,
.gcweb-area-services .gcweb-topnav .active:focus {
  color: #ffffff;
}

.gcweb-area-corporate .gcweb-alt,
.gcweb-area-careers .gcweb-alt,
.gcweb-area-news .gcweb-alt,
.gcweb-area-contact .gcweb-alt,
.gcweb-area-services .gcweb-alt {
  background: #2e2e2e;
}

.gcweb-area-corporate .gcweb-alt--light,
.gcweb-area-careers .gcweb-alt--light,
.gcweb-area-news .gcweb-alt--light,
.gcweb-area-contact .gcweb-alt--light,
.gcweb-area-services .gcweb-alt--light {
  background: #e1ead7;
}

.gcweb-area-corporate .gcweb-fill-color,
.gcweb-area-careers .gcweb-fill-color,
.gcweb-area-news .gcweb-fill-color,
.gcweb-area-contact .gcweb-fill-color,
.gcweb-area-services .gcweb-fill-color {
  color: #346248;
}

.gcweb-area-corporate .gcweb-precontent-strip,
.gcweb-area-careers .gcweb-precontent-strip,
.gcweb-area-news .gcweb-precontent-strip,
.gcweb-area-contact .gcweb-precontent-strip,
.gcweb-area-services .gcweb-precontent-strip {
  background-color: #417B5A;
}

.gcweb-area-corporate .gcweb-precontent-strip *,
.gcweb-area-careers .gcweb-precontent-strip *,
.gcweb-area-news .gcweb-precontent-strip *,
.gcweb-area-contact .gcweb-precontent-strip *,
.gcweb-area-services .gcweb-precontent-strip * {
  color: #ffffff;
  border-color: #ffffff;
}

.gcweb-area-corporate .gcweb-precontent-strip * a,
.gcweb-area-careers .gcweb-precontent-strip * a,
.gcweb-area-news .gcweb-precontent-strip * a,
.gcweb-area-contact .gcweb-precontent-strip * a,
.gcweb-area-services .gcweb-precontent-strip * a {
  text-decoration: none;
}

.gcweb-area-corporate .gcweb-header__navigation-active,
.gcweb-area-careers .gcweb-header__navigation-active,
.gcweb-area-news .gcweb-header__navigation-active,
.gcweb-area-contact .gcweb-header__navigation-active,
.gcweb-area-services .gcweb-header__navigation-active {
  color: #ffffff;
  background-color: #417B5A;
}

@media (max-width: 61.865em) {
  .gcweb-area-corporate .gcweb-header__navigation-active,
  .gcweb-area-careers .gcweb-header__navigation-active,
  .gcweb-area-news .gcweb-header__navigation-active,
  .gcweb-area-contact .gcweb-header__navigation-active,
  .gcweb-area-services .gcweb-header__navigation-active {
    color: #ffffff !important;
  }
}

.gcweb-area-corporate .gcweb-header__navigation-link:active:visited,
.gcweb-area-corporate .gcweb-header__navigation-link:focus:visited,
.gcweb-area-careers .gcweb-header__navigation-link:active:visited,
.gcweb-area-careers .gcweb-header__navigation-link:focus:visited,
.gcweb-area-news .gcweb-header__navigation-link:active:visited,
.gcweb-area-news .gcweb-header__navigation-link:focus:visited,
.gcweb-area-contact .gcweb-header__navigation-link:active:visited,
.gcweb-area-contact .gcweb-header__navigation-link:focus:visited,
.gcweb-area-services .gcweb-header__navigation-link:active:visited,
.gcweb-area-services .gcweb-header__navigation-link:focus:visited {
  background-color: #346248;
}

.gcweb-area-corporate .gcweb-header__navigation-active > .gcweb-icon__chevron-right,
.gcweb-area-careers .gcweb-header__navigation-active > .gcweb-icon__chevron-right,
.gcweb-area-news .gcweb-header__navigation-active > .gcweb-icon__chevron-right,
.gcweb-area-contact .gcweb-header__navigation-active > .gcweb-icon__chevron-right,
.gcweb-area-services .gcweb-header__navigation-active > .gcweb-icon__chevron-right {
  fill: #ffffff !important;
}

.gcweb-area-corporate .gcweb-header__navigation-link:hover,
.gcweb-area-corporate .gcweb-header__navigation-link:active,
.gcweb-area-corporate .gcweb-header__navigation-link:focus,
.gcweb-area-careers .gcweb-header__navigation-link:hover,
.gcweb-area-careers .gcweb-header__navigation-link:active,
.gcweb-area-careers .gcweb-header__navigation-link:focus,
.gcweb-area-news .gcweb-header__navigation-link:hover,
.gcweb-area-news .gcweb-header__navigation-link:active,
.gcweb-area-news .gcweb-header__navigation-link:focus,
.gcweb-area-contact .gcweb-header__navigation-link:hover,
.gcweb-area-contact .gcweb-header__navigation-link:active,
.gcweb-area-contact .gcweb-header__navigation-link:focus,
.gcweb-area-services .gcweb-header__navigation-link:hover,
.gcweb-area-services .gcweb-header__navigation-link:active,
.gcweb-area-services .gcweb-header__navigation-link:focus {
  background-color: #346248;
  color: #ffffff;
}

.gcweb-area-corporate .gcweb-header__navigation-link:hover .gcweb-icon__chevron-right,
.gcweb-area-corporate .gcweb-header__navigation-link:active .gcweb-icon__chevron-right,
.gcweb-area-corporate .gcweb-header__navigation-link:focus .gcweb-icon__chevron-right,
.gcweb-area-careers .gcweb-header__navigation-link:hover .gcweb-icon__chevron-right,
.gcweb-area-careers .gcweb-header__navigation-link:active .gcweb-icon__chevron-right,
.gcweb-area-careers .gcweb-header__navigation-link:focus .gcweb-icon__chevron-right,
.gcweb-area-news .gcweb-header__navigation-link:hover .gcweb-icon__chevron-right,
.gcweb-area-news .gcweb-header__navigation-link:active .gcweb-icon__chevron-right,
.gcweb-area-news .gcweb-header__navigation-link:focus .gcweb-icon__chevron-right,
.gcweb-area-contact .gcweb-header__navigation-link:hover .gcweb-icon__chevron-right,
.gcweb-area-contact .gcweb-header__navigation-link:active .gcweb-icon__chevron-right,
.gcweb-area-contact .gcweb-header__navigation-link:focus .gcweb-icon__chevron-right,
.gcweb-area-services .gcweb-header__navigation-link:hover .gcweb-icon__chevron-right,
.gcweb-area-services .gcweb-header__navigation-link:active .gcweb-icon__chevron-right,
.gcweb-area-services .gcweb-header__navigation-link:focus .gcweb-icon__chevron-right {
  fill: #171b1f;
}

.gcweb-area-corporate .gcweb-header__navigation-active:hover,
.gcweb-area-corporate .gcweb-header__navigation-active:focus,
.gcweb-area-careers .gcweb-header__navigation-active:hover,
.gcweb-area-careers .gcweb-header__navigation-active:focus,
.gcweb-area-news .gcweb-header__navigation-active:hover,
.gcweb-area-news .gcweb-header__navigation-active:focus,
.gcweb-area-contact .gcweb-header__navigation-active:hover,
.gcweb-area-contact .gcweb-header__navigation-active:focus,
.gcweb-area-services .gcweb-header__navigation-active:hover,
.gcweb-area-services .gcweb-header__navigation-active:focus {
  background-color: #417B5A;
  color: #ffffff !important;
}

.gcweb-area-corporate .gcweb-header__navigation-active:hover .gcweb-icon__chevron-right,
.gcweb-area-corporate .gcweb-header__navigation-active:focus .gcweb-icon__chevron-right,
.gcweb-area-careers .gcweb-header__navigation-active:hover .gcweb-icon__chevron-right,
.gcweb-area-careers .gcweb-header__navigation-active:focus .gcweb-icon__chevron-right,
.gcweb-area-news .gcweb-header__navigation-active:hover .gcweb-icon__chevron-right,
.gcweb-area-news .gcweb-header__navigation-active:focus .gcweb-icon__chevron-right,
.gcweb-area-contact .gcweb-header__navigation-active:hover .gcweb-icon__chevron-right,
.gcweb-area-contact .gcweb-header__navigation-active:focus .gcweb-icon__chevron-right,
.gcweb-area-services .gcweb-header__navigation-active:hover .gcweb-icon__chevron-right,
.gcweb-area-services .gcweb-header__navigation-active:focus .gcweb-icon__chevron-right {
  fill: #171b1f;
}

.gcweb-area-corporate .gcweb-header__navigation-link,
.gcweb-area-careers .gcweb-header__navigation-link,
.gcweb-area-news .gcweb-header__navigation-link,
.gcweb-area-contact .gcweb-header__navigation-link,
.gcweb-area-services .gcweb-header__navigation-link {
  color: #ffffff !important;
  background: #346248;
}

@media (max-width: 61.865em) {
  .gcweb-area-corporate .gcweb-header__navigation-link,
  .gcweb-area-careers .gcweb-header__navigation-link,
  .gcweb-area-news .gcweb-header__navigation-link,
  .gcweb-area-contact .gcweb-header__navigation-link,
  .gcweb-area-services .gcweb-header__navigation-link {
    color: #ffffff !important;
  }
}

.gcweb-area-corporate .gcweb-header__navigation-link.gcweb-header__navigation-active,
.gcweb-area-careers .gcweb-header__navigation-link.gcweb-header__navigation-active,
.gcweb-area-news .gcweb-header__navigation-link.gcweb-header__navigation-active,
.gcweb-area-contact .gcweb-header__navigation-link.gcweb-header__navigation-active,
.gcweb-area-services .gcweb-header__navigation-link.gcweb-header__navigation-active {
  background: #417B5A;
}

@media (max-width: 61.865em) {
  .gcweb-area-corporate .gcweb-header__navigation-link.gcweb-header__navigation-active,
  .gcweb-area-careers .gcweb-header__navigation-link.gcweb-header__navigation-active,
  .gcweb-area-news .gcweb-header__navigation-link.gcweb-header__navigation-active,
  .gcweb-area-contact .gcweb-header__navigation-link.gcweb-header__navigation-active,
  .gcweb-area-services .gcweb-header__navigation-link.gcweb-header__navigation-active {
    color: #ffffff !important;
  }
}

.gcweb-area-corporate .gcweb-header__navigation-link .gcweb-icon__chevron-right,
.gcweb-area-careers .gcweb-header__navigation-link .gcweb-icon__chevron-right,
.gcweb-area-news .gcweb-header__navigation-link .gcweb-icon__chevron-right,
.gcweb-area-contact .gcweb-header__navigation-link .gcweb-icon__chevron-right,
.gcweb-area-services .gcweb-header__navigation-link .gcweb-icon__chevron-right {
  fill: #c0c0c0;
}

@media (min-width: 61.875em) {
  .gcweb-area-corporate .gcweb-header__navigation-link:visited,
  .gcweb-area-careers .gcweb-header__navigation-link:visited,
  .gcweb-area-news .gcweb-header__navigation-link:visited,
  .gcweb-area-contact .gcweb-header__navigation-link:visited,
  .gcweb-area-services .gcweb-header__navigation-link:visited {
    color: #ffffff;
  }
}

.gcweb-area-corporate .gcweb-header__navigation-link:hover,
.gcweb-area-careers .gcweb-header__navigation-link:hover,
.gcweb-area-news .gcweb-header__navigation-link:hover,
.gcweb-area-contact .gcweb-header__navigation-link:hover,
.gcweb-area-services .gcweb-header__navigation-link:hover {
  background-color: #417B5A;
  color: #ffffff !important;
}

.gcweb-area-corporate .gcweb-header__navigation-link:hover .gcweb-icon__chevron-right,
.gcweb-area-careers .gcweb-header__navigation-link:hover .gcweb-icon__chevron-right,
.gcweb-area-news .gcweb-header__navigation-link:hover .gcweb-icon__chevron-right,
.gcweb-area-contact .gcweb-header__navigation-link:hover .gcweb-icon__chevron-right,
.gcweb-area-services .gcweb-header__navigation-link:hover .gcweb-icon__chevron-right {
  fill: #ffffff;
}

.gcweb-area-corporate .gcweb-header__navigation-link:active, .gcweb-area-corporate .gcweb-header__navigation-link:focus,
.gcweb-area-careers .gcweb-header__navigation-link:active,
.gcweb-area-careers .gcweb-header__navigation-link:focus,
.gcweb-area-news .gcweb-header__navigation-link:active,
.gcweb-area-news .gcweb-header__navigation-link:focus,
.gcweb-area-contact .gcweb-header__navigation-link:active,
.gcweb-area-contact .gcweb-header__navigation-link:focus,
.gcweb-area-services .gcweb-header__navigation-link:active,
.gcweb-area-services .gcweb-header__navigation-link:focus {
  background-color: #ffdd00;
  border-bottom: 4px solid #ffdd00;
  box-shadow: none;
  color: #171b1f !important;
  outline: 4px solid transparent;
  outline-offset: 4px;
  text-decoration: none;
}

.gcweb-area-corporate .gcweb-header__navigation-link:active:hover, .gcweb-area-corporate .gcweb-header__navigation-link:focus:hover,
.gcweb-area-careers .gcweb-header__navigation-link:active:hover,
.gcweb-area-careers .gcweb-header__navigation-link:focus:hover,
.gcweb-area-news .gcweb-header__navigation-link:active:hover,
.gcweb-area-news .gcweb-header__navigation-link:focus:hover,
.gcweb-area-contact .gcweb-header__navigation-link:active:hover,
.gcweb-area-contact .gcweb-header__navigation-link:focus:hover,
.gcweb-area-services .gcweb-header__navigation-link:active:hover,
.gcweb-area-services .gcweb-header__navigation-link:focus:hover {
  background-color: #417B5A;
  color: #171b1f !important;
}

.gcweb-area-corporate .gcweb-header__navigation-link:active:visited,
.gcweb-area-corporate .gcweb-header__navigation-link:focus:visited,
.gcweb-area-careers .gcweb-header__navigation-link:active:visited,
.gcweb-area-careers .gcweb-header__navigation-link:focus:visited,
.gcweb-area-news .gcweb-header__navigation-link:active:visited,
.gcweb-area-news .gcweb-header__navigation-link:focus:visited,
.gcweb-area-contact .gcweb-header__navigation-link:active:visited,
.gcweb-area-contact .gcweb-header__navigation-link:focus:visited,
.gcweb-area-services .gcweb-header__navigation-link:active:visited,
.gcweb-area-services .gcweb-header__navigation-link:focus:visited {
  background-color: #ffdd00;
  color: #171b1f !important;
}

.gcweb-area-corporate .gcweb-hero,
.gcweb-area-careers .gcweb-hero,
.gcweb-area-news .gcweb-hero,
.gcweb-area-contact .gcweb-hero,
.gcweb-area-services .gcweb-hero {
  background-color: #417B5A;
}

.gcweb-area-corporate .gcweb-hero p,
.gcweb-area-corporate .gcweb-hero a,
.gcweb-area-corporate .gcweb-hero p a,
.gcweb-area-corporate .gcweb-hero h1,
.gcweb-area-corporate .gcweb-hero h2,
.gcweb-area-careers .gcweb-hero p,
.gcweb-area-careers .gcweb-hero a,
.gcweb-area-careers .gcweb-hero p a,
.gcweb-area-careers .gcweb-hero h1,
.gcweb-area-careers .gcweb-hero h2,
.gcweb-area-news .gcweb-hero p,
.gcweb-area-news .gcweb-hero a,
.gcweb-area-news .gcweb-hero p a,
.gcweb-area-news .gcweb-hero h1,
.gcweb-area-news .gcweb-hero h2,
.gcweb-area-contact .gcweb-hero p,
.gcweb-area-contact .gcweb-hero a,
.gcweb-area-contact .gcweb-hero p a,
.gcweb-area-contact .gcweb-hero h1,
.gcweb-area-contact .gcweb-hero h2,
.gcweb-area-services .gcweb-hero p,
.gcweb-area-services .gcweb-hero a,
.gcweb-area-services .gcweb-hero p a,
.gcweb-area-services .gcweb-hero h1,
.gcweb-area-services .gcweb-hero h2 {
  color: #ffffff;
}

.gcweb-area-corporate .gcweb-hero .gcweb-header-tag::before,
.gcweb-area-careers .gcweb-hero .gcweb-header-tag::before,
.gcweb-area-news .gcweb-hero .gcweb-header-tag::before,
.gcweb-area-contact .gcweb-hero .gcweb-header-tag::before,
.gcweb-area-services .gcweb-hero .gcweb-header-tag::before {
  border-top-color: #ffffff;
}

.gcweb-area-corporate .gcweb-hero .gcweb-button,
.gcweb-area-careers .gcweb-hero .gcweb-button,
.gcweb-area-news .gcweb-hero .gcweb-button,
.gcweb-area-contact .gcweb-hero .gcweb-button,
.gcweb-area-services .gcweb-hero .gcweb-button {
  color: #171b1f !important;
  background-color: #ffffff;
  border: 2px solid #ffffff;
}

.gcweb-area-corporate .gcweb-hero .gcweb-fill-color,
.gcweb-area-careers .gcweb-hero .gcweb-fill-color,
.gcweb-area-news .gcweb-hero .gcweb-fill-color,
.gcweb-area-contact .gcweb-hero .gcweb-fill-color,
.gcweb-area-services .gcweb-hero .gcweb-fill-color {
  color: #ffffff;
}

.gcweb-blue-bg,
.gcweb-bg--blue {
  background: #05668D;
  color: #ffffff;
}

.gcweb-blue-bg.lighter,
.gcweb-bg--blue.lighter {
  background: #2b7d9e;
}

.gcweb-blue-bg.lighter.gcweb-wide-border-top,
.gcweb-bg--blue.lighter.gcweb-wide-border-top {
  border-top: 10px solid #ffffff;
}

.gcweb-blue-bg .govuk-back-link:active,
.gcweb-blue-bg .govuk-back-link:focus,
.gcweb-blue-bg .govuk-back-link:hover,
.gcweb-blue-bg .govuk-back-link:link,
.gcweb-blue-bg .govuk-back-link:visited,
.gcweb-bg--blue .govuk-back-link:active,
.gcweb-bg--blue .govuk-back-link:focus,
.gcweb-bg--blue .govuk-back-link:hover,
.gcweb-bg--blue .govuk-back-link:link,
.gcweb-bg--blue .govuk-back-link:visited {
  color: #ffffff;
  font-weight: 700;
  text-decoration: none;
}

.gcweb-blue-bg .govuk-back-link:active:before,
.gcweb-blue-bg .govuk-back-link:focus:before,
.gcweb-blue-bg .govuk-back-link:hover:before,
.gcweb-blue-bg .govuk-back-link:link:before,
.gcweb-blue-bg .govuk-back-link:visited:before,
.gcweb-bg--blue .govuk-back-link:active:before,
.gcweb-bg--blue .govuk-back-link:focus:before,
.gcweb-bg--blue .govuk-back-link:hover:before,
.gcweb-bg--blue .govuk-back-link:link:before,
.gcweb-bg--blue .govuk-back-link:visited:before {
  border-color: #ffffff;
}

.gcweb-blue-bg .gcweb-nextprev,
.gcweb-bg--blue .gcweb-nextprev {
  margin: 60px 0px 200px 0px;
}

.gcweb-blue-bg .gcweb-nextprev .gcweb-pager-left,
.gcweb-bg--blue .gcweb-nextprev .gcweb-pager-left {
  border-left: 5px solid #ffffff;
  color: #ffffff;
  float: left !important;
  padding: 15px;
  max-width: 50%;
}

.gcweb-blue-bg .gcweb-nextprev .gcweb-pager-right,
.gcweb-bg--blue .gcweb-nextprev .gcweb-pager-right {
  border-right: 5px solid #ffffff;
  color: #ffffff;
  float: right !important;
  text-align: right;
  padding: 15px;
  max-width: 50%;
}

.gcweb-blue-bg p,
.gcweb-blue-bg p a,
.gcweb-blue-bg li,
.gcweb-blue-bg li a,
.gcweb-bg--blue p,
.gcweb-bg--blue p a,
.gcweb-bg--blue li,
.gcweb-bg--blue li a {
  color: #ffffff;
}

.gcweb-blue-bg .gcweb-header-tag--left,
.gcweb-bg--blue .gcweb-header-tag--left {
  border-left-color: rgba(255, 255, 255, 0.4);
}

.gcweb-blue-bg .gcweb-signpost__title,
.gcweb-bg--blue .gcweb-signpost__title {
  color: #171b1f;
}

.gcweb-blue-bg a,
.gcweb-bg--blue a {
  text-decoration: underline;
}

.gcweb-green-bg,
.gcweb-bg--green {
  background: #346248;
  color: #ffffff;
}

.gcweb-green-bg p,
.gcweb-green-bg p a,
.gcweb-bg--green p,
.gcweb-bg--green p a {
  color: #ffffff;
}

.gcweb-green-bg .gcweb-header-tag--left,
.gcweb-bg--green .gcweb-header-tag--left {
  border-left-color: rgba(255, 255, 255, 0.4);
}

.gcweb-green-bg .gcweb-signpost__title,
.gcweb-bg--green .gcweb-signpost__title {
  color: #171b1f;
}

.gcweb-orange-bg,
.gcweb-bg--orange {
  background: #FEA623 !important;
  color: #171b1f;
}

.gcweb-orange-bg p,
.gcweb-orange-bg p a,
.gcweb-bg--orange p,
.gcweb-bg--orange p a {
  color: #171b1f;
}

.gcweb-orange-bg .gcweb-header-tag--left,
.gcweb-bg--orange .gcweb-header-tag--left {
  border-left-color: rgba(255, 255, 255, 0.4);
}

.gcweb-orange-bg .gcweb-signpost__title,
.gcweb-bg--orange .gcweb-signpost__title {
  color: #171b1f;
}

.gcweb-white-bg,
.gcweb-bg--white {
  background: #ffffff !important;
  color: #171b1f;
}

.gcweb-white-bg p,
.gcweb-bg--white p {
  color: #171b1f;
}

.gcweb-grad-blue {
  background: -webkit-gradient(linear, left top, left bottom, from(#d7dbe3), to(#ffffff));
  background: -webkit-linear-gradient(top, #d7dbe3, #ffffff);
  background: linear-gradient(to bottom, #d7dbe3, #ffffff);
}

.gcweb-grad-green {
  background: -webkit-gradient(linear, left top, left bottom, from(#e6ebe6), to(#f6f7f9));
  background: -webkit-linear-gradient(top, #e6ebe6, #f6f7f9);
  background: linear-gradient(to bottom, #e6ebe6, #f6f7f9);
}

.gcweb-shadow {
  -webkit-box-shadow: 4px 4px 16px #cdcdcd;
  box-shadow: 4px 4px 16px #cdcdcd;
}

.gcweb-alt--grey,
.gcweb-bg--grey {
  background: #eaeaea !important;
}

.gcweb-alt--grey .gcweb-header-tag--left,
.gcweb-bg--grey .gcweb-header-tag--left {
  border-left-color: rgba(0, 0, 0, 0.4);
}

.gcweb-alt--light-grey,
.gcweb-bg--light-grey {
  background: #F3F2F1 !important;
}

.gcweb-alt--light-grey .gcweb-header-tag--left,
.gcweb-bg--light-grey .gcweb-header-tag--left {
  border-left-color: rgba(0, 0, 0, 0.4);
}

.gcweb-alt--darker-grey,
.gcweb-bg--darker-grey {
  background: #d5d5d5 !important;
}

.gcweb-alt--darker-grey .gcweb-header-tag--left,
.gcweb-bg--darker-grey .gcweb-header-tag--left {
  border-left-color: rgba(0, 0, 0, 0.4);
}

.gcweb-bg--dark {
  background-color: #484646;
}

.gcweb-bg--dark p,
.gcweb-bg--dark p a,
.gcweb-bg--dark h1,
.gcweb-bg--dark h2,
.gcweb-bg--dark h3,
.gcweb-bg--dark label {
  color: #ffffff;
}

.gcweb-bg--dark .gcweb-header-tag--left {
  border-left-color: rgba(255, 255, 255, 0.4);
}

.gcweb-bg--dark .gcweb-signpost__title {
  color: #171b1f;
}

.gcweb-bg--pale-yellow {
  background-color: #FFDE5A;
}

.gcweb-bg--pale-yellow p,
.gcweb-bg--pale-yellow p a,
.gcweb-bg--pale-yellow h1,
.gcweb-bg--pale-yellow h2,
.gcweb-bg--pale-yellow h3,
.gcweb-bg--pale-yellow label {
  color: #171b1f;
}

.gcweb-dark-pink-bg,
.gcweb-bg--dark-pink {
  background: #734C6F;
  color: #ffffff;
}

.gcweb-dark-pink-bg p,
.gcweb-dark-pink-bg p a,
.gcweb-bg--dark-pink p,
.gcweb-bg--dark-pink p a {
  color: #ffffff;
}

.gcweb-dark-pink-bg .gcweb-header-tag--left,
.gcweb-bg--dark-pink .gcweb-header-tag--left {
  border-left-color: rgba(255, 255, 255, 0.4);
}

.gcweb-dark-pink-bg .gcweb-signpost__title,
.gcweb-bg--dark-pink .gcweb-signpost__title {
  color: #171b1f;
}

.gcweb-full-width-container {
  padding: 40px 0px;
  margin: 0px;
}

.govuk-width-container,
.gcweb-width-container {
  max-width: 1900px;
  padding: 0 7.375rem;
  display: block;
}

@media (min-width: 20em) {
  .govuk-width-container,
  .gcweb-width-container {
    max-width: 1900px;
    padding: 0 2.375rem;
    display: block;
  }
}

@media (max-width: 48.0525em) {
  .govuk-width-container,
  .gcweb-width-container {
    margin: 0 15px auto;
    padding: 0 0.375rem;
  }
}

@media (min-width: 48.0625em) {
  .govuk-width-container,
  .gcweb-width-container {
    margin: 0 auto;
  }
}

.bg-cover {
  background: rgba(0, 0, 0, 0.1) !important;
  display: -ms-flex;
  display: -webkit-flex;
  display: flex;
}

.gcweb-bg-aqua {
  background: #00A499 !important;
}

.lccp-section .gcweb-main,
.gcweb-condition-list .gcweb-main {
  margin-top: 40px;
}

.lccp-section .govuk-accordion__section-button,
.gcweb-condition-list .govuk-accordion__section-button {
  font-size: 19px;
}

.lccp-section .govuk-accordion__controls,
.gcweb-condition-list .govuk-accordion__controls {
  margin-bottom: 10px;
}

.lccp-section .govuk-accordion__section-header,
.gcweb-condition-list .govuk-accordion__section-header {
  padding-bottom: 10px;
  padding-top: 0px;
}

.lccp-section .govuk-accordion__section-heading,
.gcweb-condition-list .govuk-accordion__section-heading {
  padding-bottom: 0px;
  margin-top: 10px;
  padding-top: 0px;
}

.lccp-section .govuk-accordion__section-content,
.gcweb-condition-list .govuk-accordion__section-content {
  padding-left: 20px;
  border-left: 5px solid #d5d5d5;
  margin-bottom: 10px;
}

.lccp-section .gcweb-condition-list li,
.gcweb-condition-list .gcweb-condition-list li {
  padding: 0px 0px 10px 0px;
  font-size: 16px;
}

.lccp-section .gcweb-condition-list li:before,
.gcweb-condition-list .gcweb-condition-list li:before {
  content: "";
  display: inline-block;
  margin-left: -1.5em;
  width: 1.5em;
}

.lccp-section .gcweb-condition-list ol ~ p,
.gcweb-condition-list .gcweb-condition-list ol ~ p {
  padding-left: 45px;
  margin-bottom: 0px !important;
}

.lccp-section .gcweb-condition-list li.active,
.gcweb-condition-list .gcweb-condition-list li.active {
  font-weight: 700;
}

.lccp-section .govuk-summary-list__key,
.gcweb-condition-list .govuk-summary-list__key {
  width: 20%;
}

.lccp-section .gcweb-letters,
.gcweb-condition-list .gcweb-letters {
  list-style-type: lower-alpha;
}

.lccp-section .gcweb-roman,
.gcweb-condition-list .gcweb-roman {
  list-style-type: lower-roman;
}

.lccp-section li > ol.gcweb-letters,
.gcweb-condition-list li > ol.gcweb-letters {
  margin-top: 10px;
}

.lccp-section .govuk-details,
.gcweb-condition-list .govuk-details {
  padding: 10px 10px 5px 10px;
  background: #008559;
  border-radius: 4px;
  color: #ffffff;
  margin-bottom: 20px;
}

.lccp-section .govuk-details__text,
.gcweb-condition-list .govuk-details__text {
  border-left: none;
  padding: 10px;
}

.lccp-section .govuk-details__summary-text,
.gcweb-condition-list .govuk-details__summary-text {
  color: #ffffff;
  font-weight: 700;
  display: block;
  text-decoration: none;
}

.lccp-section .govuk-details > .govuk-details__summary:before,
.gcweb-condition-list .govuk-details > .govuk-details__summary:before {
  color: #ffffff;
}

.lccp-section .govuk-details[open] > .govuk-details__summary:before,
.gcweb-condition-list .govuk-details[open] > .govuk-details__summary:before {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: #ffffff;
  -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  border-width: 12.124px 7px 0 7px;
  border-top-color: inherit;
  color: #ffffff;
}

@media (max-width: 40.0525em) {
  .lccp-section .gcweb-hide-on-mobile,
  .gcweb-condition-list .gcweb-hide-on-mobile {
    display: none;
  }
}

.lccp-section .govuk-details__summary:focus,
.gcweb-condition-list .govuk-details__summary:focus {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #fd0;
  box-shadow: 0 -2px #fd0, 0 4px #0b0c0c;
  text-decoration: none;
}

.lccp-section .govuk-details__summary:focus .govuk-details__summary-text,
.gcweb-condition-list .govuk-details__summary:focus .govuk-details__summary-text {
  color: #0b0c0c;
}

.lccp-section .govuk-details[closed] > .govuk-details__summary:before,
.gcweb-condition-list .govuk-details[closed] > .govuk-details__summary:before {
  color: #ffffff !important;
}

.lccp-section .govuk-details[open] > .govuk-details__summary:before,
.gcweb-condition-list .govuk-details[open] > .govuk-details__summary:before {
  color: #ffffff !important;
}

.lccp-section .gcweb-deeper-line-height,
.gcweb-condition-list .gcweb-deeper-line-height {
  line-height: 1.6em;
}

.doc-icon {
  float: left;
  position: relative;
  color: #171b1f;
}

.doc-content {
  margin-top: 0px;
  margin-left: 80px;
}

.gcweb-file-list {
  margin: 15px 0px;
  padding-bottom: 15px;
  border-bottom: 1px solid #6d6d6d;
}

.gcweb-file-list:last-of-type {
  border-bottom: none;
  padding-bottom: 0px;
  margin-bottom: 0px;
}

@media (max-width: 61.775em) {
  .doc-icon {
    display: none;
  }
  .doc-content {
    margin-top: 0px;
    margin-left: 0px;
    min-height: 0px;
  }
}

.gc-footer {
  background: #171b1f;
}

.gc-footer .govuk-footer__link,
.gc-footer h3,
.gc-footer p, .gc-footer label, .gc-footer a {
  color: #ffffff !important;
  font-size: 16px;
}

.govuk-footer__link:focus, a:focus {
  outline: 3px solid transparent;
  color: #171b1f !important;
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #171b1f;
  text-decoration: none;
}

.gcweb-horizontal-list {
  display: flex;
  align-items: stretch;
  /* Default */
  justify-content: flex-start;
  margin: 0;
  padding: 0;
}

.gcweb-horizontal-list li {
  display: block;
  flex: 0 1 auto;
  /* Default */
  list-style-type: none;
  padding: 10px 20px 0px 0px;
}

@media (max-width: 61.865em) {
  .gcweb-horizontal-list {
    display: block;
  }
}

.gcweb-flex {
  list-style: none;
  padding-left: 0px;
  display: flex;
  margin: 0 -10px;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
}

.gcweb-flex.gcweb-flex-full {
  display: block;
}

@media (max-width: 48.0525em) {
  .gcweb-flex {
    display: block;
  }
}

.gcweb-flex .gcweb-card {
  flex: 1;
  margin: 0 10px 25px 10px;
  border: 1px solid #979797;
  border-radius: 4px;
  display: flex;
  flex-direction: row;
  background-color: #ffffff;
  flex-shrink: 0;
  flex-basis: 23%;
}

@media (max-width: 48.0525em) {
  .gcweb-flex .gcweb-card {
    margin-bottom: 30px;
  }
}

.gcweb-flex .gcweb-card.gcweb-card--primary {
  background-color: #ffedd3;
  color: #171b1f;
}

.gcweb-flex .gcweb-card.gcweb-card--primary-full {
  background-color: #FEA623;
  color: #171b1f;
}

.gcweb-flex .gcweb-card a.text, .gcweb-flex .gcweb-card .gcweb-card--content {
  padding: 20px;
  flex: 1 auto;
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  flex-direction: column;
  -ms-flex-direction: column;
  -ms-flex: 1;
  -webkit-flex: 1;
  font-weight: 400;
  color: #171b1f;
}

.gcweb-flex .gcweb-card a.text:hover, .gcweb-flex .gcweb-card .gcweb-card--content:hover {
  text-decoration: none;
  border-radius: 4px;
  border-color: #ffdd00;
  box-shadow: 0 0 0 4px #ffdd00;
  color: #171b1f;
}

.gcweb-flex .gcweb-card a.text:hover h2, .gcweb-flex .gcweb-card a.text:hover h3, .gcweb-flex .gcweb-card a.text:hover .gcweb-card--content--header, .gcweb-flex .gcweb-card .gcweb-card--content:hover h2, .gcweb-flex .gcweb-card .gcweb-card--content:hover h3, .gcweb-flex .gcweb-card .gcweb-card--content:hover .gcweb-card--content--header {
  text-decoration: underline;
}

.gcweb-flex .gcweb-card a.text .pre-text, .gcweb-flex .gcweb-card .gcweb-card--content .pre-text {
  font-size: 14px;
  margin-bottom: 15px;
}

.gcweb-flex .gcweb-card a > small {
  display: flex;
  font-size: 14px;
}

.gcweb-flex .gcweb-card a > small:hover {
  text-decoration: none;
}

.gcweb-flex .gcweb-card a > small span {
  flex: 1;
}

.gcweb-flex .gcweb-card a > small span:last-child {
  text-align: right;
}

.gcweb-flex .gcweb-card a.text > :last-child {
  margin-top: auto;
  padding-top: 0.75rem;
}

.gcweb-flex .gcweb-card a.text.text-top > :last-child {
  margin-top: 0px;
  padding-top: 0.75rem;
}

.gcweb-flex .gcweb-card a:focus {
  box-shadow: none;
  border-radius: 4px;
}

.gcweb-flex .gcweb-card.featured {
  flex: 2;
}

.gcweb-flex .gcweb-card.featured a.text > .gcweb-body {
  font-size: 26px;
}

.gcweb-card__description {
  flex-grow: 1;
}

.gcweb-br {
  border-radius: 4px;
}

.gcweb-img {
  max-width: 100%;
}

.gcweb-person-image {
  max-width: 100%;
}

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

.gcweb-tag--news {
  color: #b22222;
  font-weight: 700;
  font-size: 14px;
  margin-bottom: 8px;
}

.gcweb-display-flex {
  display: flex;
  justify-content: space-between;
}

.gcweb-display-flex .gcweb-display-flex--left {
  align-items: flex-start;
}

.gcweb-display-flex .gcweb-display-flex--right {
  align-items: flex-end;
}

.gcweb-more-link {
  display: inline-block;
  position: relative;
  margin-top: 0px;
  margin-bottom: 15px;
  padding-right: 14px;
  text-decoration: none;
  color: #171b1f !important;
  font-weight: 700;
}

.gcweb-more-link::after {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent;
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  border-width: 5px 1px 6px 5px;
  border-left-color: inherit;
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}

.gcweb-more-link:hover {
  text-decoration: none !important;
}

.gcweb-guide-list-active {
  font-weight: 700;
}

.nhsuk-responsive-table {
  margin-bottom: 0;
  width: 100%;
}

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

@media (min-width: 20em) {
  .nhsuk-responsive-table thead {
    clip: auto;
    -webkit-clip-path: none;
    clip-path: none;
    display: table-header-group;
    height: auto;
    overflow: auto;
    position: relative;
    width: auto;
  }
}

.nhsuk-responsive-table tbody tr {
  display: block;
  margin-bottom: 1.5em;
}

.nhsuk-responsive-table tbody tr:last-child {
  margin-bottom: 0;
}

@media (max-width: 40.0525em) {
  .nhsuk-responsive-table tbody tr {
    padding: 0 0.5em;
  }
}

@media (min-width: 20em) {
  .nhsuk-responsive-table tbody tr {
    display: table-row;
  }
}

.nhsuk-responsive-table tbody tr th {
  text-align: right;
}

@media (min-width: 20em) {
  .nhsuk-responsive-table tbody tr th {
    text-align: left;
  }
}

.nhsuk-responsive-table tbody tr td {
  display: block;
  display: flex;
  justify-content: space-between;
  min-width: 1px;
  text-align: right;
}

@media (min-width: 20em) {
  .nhsuk-responsive-table tbody tr td {
    display: table-cell;
    text-align: left;
  }
}

@media (max-width: 40.0525em) {
  .nhsuk-responsive-table tbody tr td {
    padding-right: 0;
  }
  .nhsuk-responsive-table tbody tr td:last-child {
    border-bottom: 3px solid #d5d5d5;
  }
}

.nhsuk-responsive-table__heading {
  font-weight: 700;
  padding-right: 1em;
  text-align: left;
  word-break: initial;
}

@media (min-width: 20em) {
  .nhsuk-responsive-table__heading {
    display: none;
  }
}

@media (max-width: 40.0525em) {
  .nhsuk-responsive-table__data--wrap-mobile {
    word-break: break-all;
  }
}

@media (min-width: 40.0625em) {
  .nhsuk-responsive-table__data--wrap-desktop {
    word-break: break-all;
  }
}

@media (min-width: 40.0625em) {
  .nhsuk-reponsive-table__numeric {
    text-align: right;
  }
}

.table-foot {
  border-bottom: 1px solid #bfc1c3;
  display: flex;
  font-size: 19px;
  font-weight: 700;
  justify-content: space-between;
  padding: 0.75em 0 0.75em;
}

.nhsuk-responsive-table-version2 {
  width: 100%;
}

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

@media (min-width: 40.0625em) {
  .nhsuk-responsive-table-version2 thead {
    clip: auto;
    -webkit-clip-path: none;
    clip-path: none;
    display: table-header-group;
    height: auto;
    overflow: auto;
    position: relative;
    width: auto;
  }
}

.nhsuk-responsive-table-version2 tbody tr {
  display: block;
  margin-bottom: 1.5em;
}

.nhsuk-responsive-table-version2 tbody tr:last-child {
  margin-bottom: 0;
}

@media (max-width: 40.0525em) {
  .nhsuk-responsive-table-version2 tbody tr {
    background-color: #ffffff;
    box-shadow: 0 4px 0 0 #d8dde0;
    padding: 0 0.5em;
  }
}

@media (min-width: 20em) {
  .nhsuk-responsive-table-version2 tbody tr {
    display: table-row;
  }
}

.nhsuk-responsive-table-version2 tbody tr th {
  text-align: right;
}

@media (min-width: 40.0625em) {
  .nhsuk-responsive-table-version2 tbody tr th {
    text-align: left;
  }
}

.nhsuk-responsive-table-version2 tbody tr td {
  display: block;
  min-width: 1px;
  text-align: right;
}

@media (min-width: 40.0625em) {
  .nhsuk-responsive-table-version2 tbody tr td {
    display: table-cell;
    text-align: left;
  }
}

@media (max-width: 40.0525em) {
  .nhsuk-responsive-table-version2 tbody tr td {
    padding-right: 0;
  }
  .nhsuk-responsive-table-version2 tbody tr td:last-child {
    border-bottom: none;
  }
}

@media (max-width: 40.0525em) {
  .nhsuk-responsive-table__data {
    display: flex;
    justify-content: space-between;
  }
}

.nhsuk-responsive-table__heading {
  display: block;
  font-weight: 700;
  padding-right: 1em;
  text-align: left;
}

@media (min-width: 40.0625em) {
  .nhsuk-responsive-table__heading {
    display: none;
  }
}

@media (min-width: 40.0625em) {
  .nhsuk-reponsive-table__numeric {
    text-align: right;
  }
}

.table-foot {
  border-bottom: 1px solid #bfc1c3;
  display: flex;
  font-size: 19px;
  font-weight: 700;
  justify-content: space-between;
  padding: 0.5em 0;
}

p img {
  max-width: 100% !important;
}

.gcweb-img-small {
  max-width: 33%;
}

.gc-footer-top a {
  color: #0e61a9 !important;
  font-weight: 700;
}

.design-message {
  padding: 15px 15px 15px 15px;
  background-color: #ffdd00;
  display: block;
  margin-bottom: 30px;
}

.design-message p {
  margin-bottom: 0px;
}

.cards > ul {
  list-style: none;
  padding-left: 0px;
}

.cards > ul li {
  margin-bottom: 0px;
}

.card + .card {
  margin-top: 1.5rem;
}

@supports (display: grid) {
  .cards > ul {
    display: grid;
    grid-template-columns: auto;
    grid-column-gap: 2rem;
    grid-row-gap: 1.5rem;
  }
  @media (min-width: 40.0625em) {
    .cards > ul {
      display: grid;
      grid-template-columns: auto auto;
      grid-column-gap: 1.5rem;
      grid-row-gap: 1.5rem;
    }
    .cards > ul.four-way {
      display: grid;
      grid-template-columns: auto auto auto auto;
      grid-column-gap: 1.5rem;
      grid-row-gap: 1.5rem;
    }
  }
  .card + .card {
    margin-top: 0;
  }
}

.card {
  border: 1px solid #979797;
  border-radius: 4px;
  display: flex;
  flex-direction: column;
  position: relative;
  background-color: #ffffff;
}

.card .text {
  padding: 1.25rem;
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
}

.card p {
  max-width: 60ch;
  color: #171b1f;
}

.card .img img {
  width: 100%;
  object-fit: cover;
}

.card a {
  text-decoration: none;
}

.card a::after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
}

.card a:focus {
  outline: none;
  text-decoration: underline;
  box-shadow: 0 0 0 4px #ffdd00;
  border-radius: 4px;
}

.card:focus-within,
.card:hover {
  box-shadow: 0 0 0 4px #ffdd00;
}

.card:focus-within a:focus {
  text-decoration: none;
}

.card small {
  display: block;
}

.card .text > * + * {
  margin-top: 0.75rem;
}

.card .text > :last-child {
  margin-top: auto;
  padding-top: 0.75rem;
}

.gcweb-stripe-bg {
  background-image: url("/public/images/bluestripebg.png");
  background-repeat: repeat;
}

.gcweb-gradient-bg {
  background: #354973;
  /* fallback for old browsers */
  background: -webkit-linear-gradient(to right, #191654, #354973);
  /* Chrome 10-25, Safari 5.1-6 */
  background: linear-gradient(to right, #191654, #354973);
  /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
}

.gcweb-alternate-blocks img {
  max-width: 100%;
  margin-bottom: 24px;
}

@media (min-width: 40.0625em) {
  .gcweb-alternate-blocks img {
    margin-bottom: 32px;
  }
}

.gcweb-alternate-blocks:nth-child(2n+2) {
  background: #F3F2F1;
}

.gcweb-alternate-blocks:nth-child(2n+2) .gcweb-placement-switch {
  float: right;
}

.gcweb-alternate-blocks:nth-child(2n+2) .gcweb-placement-switch img {
  float: right;
}

@media (min-width: 40.0625em) {
  .gcweb-wow-overrides img {
    max-width: 70%;
  }
  .gcweb-wow-overrides:nth-child(2n+2) {
    background: #F3F2F1;
  }
  .gcweb-wow-overrides:nth-child(2n+2) .gcweb-placement-switch {
    float: right;
  }
  .gcweb-wow-overrides:nth-child(2n+2) .gcweb-placement-switch img {
    float: right;
  }
}

@media (max-width: 40.0525em) {
  .gcweb-mobile-hidden {
    display: none;
  }
}

@media (max-width: 48.0525em) {
  .gcweb-tablet-hidden {
    display: none;
  }
}

sup {
  font-weight: bold;
}

sup a {
  text-decoration: underline;
}

.article-references p,
.article-references ul,
.article-references ul li {
  font-size: 1rem !important;
}

.paper {
  background: #fff;
  box-shadow: 2px 2px 2px white, 2px 2px 1px white, 3px 3px 1px #6d6d6d;
}

.page-block-break-one,
.page-block-break-two {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
}

.page-left-one,
.page-left-two,
.page-right-one,
.page-right-two {
  display: inline-block;
  box-sizing: border-box;
  width: 100%;
  position: relative;
  padding: 1.25rem;
}

@media screen and (min-width: 1200px) {
  .page-left-one,
  .page-left-two,
  .page-right-one,
  .page-right-two {
    padding: 3.125rem 3.375rem 4.375rem 3.75rem;
  }
  .page-right-one,
  .page-right-two {
    padding: 3.125rem 3.375rem 4.375rem 3.375rem;
  }
}

.page-right-one {
  padding: 1.25rem 2.5rem 2.5rem;
}

@media screen and (min-width: 1100px) {
  .page-right-one {
    padding: 4.375rem;
  }
}

.page-left-one {
  background: transparent;
  z-index: 1;
  padding: 1.25rem 2.5rem 2.5rem;
}

.path-frontpage .page-left-one {
  color: #fff;
}

@media screen and (min-width: 1200px) {
  .page-left-one {
    padding: 3.125rem 7.375rem 4.375rem 7.375rem;
    width: 49.5%;
  }
  .hero-image .page-left-one {
    margin-top: 3.75rem;
  }
  .page-node-type-forest .page-left-one {
    padding-bottom: 4.375rem;
  }
}

.page-right-one {
  color: #fff;
  background: #1E2522;
  z-index: 2;
}

.page-right-one a {
  color: #fff;
}

.page-right-one a:hover,
.page-right-one a:focus {
  color: #009848;
}

@media screen and (min-width: 1200px) {
  .page-right-one {
    line-height: 2.25rem;
    -webkit-clip-path: polygon(0 1.25rem, 100% 0, 100% 101%, 0 101%);
    clip-path: polygon(0 1.25rem, 100% 0, 100% 101%, 0 101%);
    width: 30%;
  }
}

.page-node-type-forest .page-right-one {
  padding-bottom: 3.75rem;
}

.page-left-two {
  background: #ffffff;
}

@media screen and (min-width: 1200px) {
  .page-left-two {
    width: 70%;
  }
  .page-block-half .page-left-two {
    width: 50%;
  }
}

.page-right-two {
  background: #ffffff;
}

@media screen and (min-width: 1200px) {
  .page-right-two {
    width: 30%;
  }
  .page-right-two .gcweb-signpost__title {
    font-size: 16px;
  }
  .page-block-half .page-right-two {
    width: 50%;
  }
}

.page-left-one-inner,
.page-left-two-inner,
.page-right-one-inner,
.page-right-two-inner {
  padding: 0;
}

@media screen and (min-width: 1200px) {
  .page-left-one-inner h2:first-child {
    margin: -0.6rem 0 2rem;
  }
  .page-left-one-inner h2 {
    margin: 0 0 2rem;
  }
}

.page-content-one,
.page-content-two,
.page-content-three {
  width: 100%;
}

.page-content-inner {
  padding: 1.125rem 1.125rem 2.25rem 1.125rem;
}

@media screen and (min-width: 768px) {
  .page-content-inner {
    margin: 0 auto;
    padding: 1.125rem 0 2.25rem 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    max-width: 90rem;
    width: 90%;
  }
}

.gcweb-callout-container {
  margin-bottom: 1.5rem;
}

.gcweb-callout-container .callout-icon {
  background-color: #c0c0c0;
  color: #171b1f;
  padding: 2rem;
  max-width: 15.63rem;
}

.gcweb-callout-container .callout {
  background-color: #fff;
  border: 1px solid #979797;
  border-radius: 4px;
  display: flex;
  max-width: 100%;
  overflow: hidden;
}

.gcweb-callout-container .callout.warning .callout-icon {
  background-color: #FEA623;
  color: #ffffff;
}

.gcweb-callout-container .callout.info .callout-icon {
  background-color: #354973;
  color: #ffffff;
}

.gcweb-callout-container .callout.success .callout-icon {
  background-color: #346248;
  color: #ffffff;
}

.gcweb-callout-container .callout.error .callout-icon {
  background-color: #b22222;
  color: #ffffff;
}

.gcweb-callout-container .callout-content {
  padding: 30px;
  position: relative;
  width: 100%;
}

.gcweb-heading-pre {
  text-transform: uppercase;
  font-weight: 700;
  color: #6d6d6d;
  margin-bottom: 0.75rem;
  padding-bottom: 0;
}

.timeline {
  padding: calc(2 * 5px);
  margin: 0 auto;
  margin-bottom: 2rem;
}

.timeline .action_needed {
  border: 5px solid #354973;
  padding: 5px 20px 5px 15px;
  box-shadow: none;
  margin-bottom: 30px;
  display: block;
  background: #fff;
}

.timeline .action_needed h2 {
  margin-top: 10px;
  margin-bottom: 10px;
}

.timeline .action_needed:before {
  display: block;
  width: calc(2 * 10px);
  height: calc(2 * 10px);
  border-radius: 50%;
  background-color: #ffffff;
  border: 4px solid #354973;
  position: absolute;
  z-index: 2;
  left: -37px;
  top: 2px;
}

.timeline h2 {
  margin-top: 0px;
  margin-bottom: 10px;
}

.timeline ol {
  list-style-type: none;
  position: relative;
  padding: 0 0 0 10px;
  margin: 0 0 20px 0;
}

.timeline ol:after {
  content: "";
  position: absolute;
  top: -10px;
  left: -4.5px;
  bottom: 0;
  border-left: 4px solid #b1b4b6;
  height: 102%;
}

.timeline ol > li {
  margin: 4px 0 20px 10px;
  padding-left: 15px;
  position: relative;
  display: block;
  border-bottom: 1px solid #DEE0E2;
}

.timeline ol > li:last-child {
  margin-bottom: 0px;
  border-bottom: 0px;
}

.timeline ol > li .timeline-reference {
  display: table;
  position: relative;
}

.timeline ol > li .timeline-reference:before {
  content: "";
  position: absolute;
  left: -20px;
  width: 20px;
  top: 9px;
  z-index: -1;
}

.timeline ol > li:before {
  content: "";
  display: block;
  width: calc(2 * 10px);
  height: calc(2 * 10px);
  border-radius: 50%;
  background-color: #ffffff;
  border: 4px solid #b1b4b6;
  position: absolute;
  z-index: 2;
  left: -32px;
  top: 2px;
}

.timeline ol ul li a {
  text-decoration: underline;
}

.timeline-details {
  margin: 10px 0;
}

.timeline-details summary {
  font-size: 0.9em;
}

.timeline-details span {
  display: block;
  font-size: 0.8em;
  padding-bottom: 5px;
  padding-left: 10px;
  border-left: 4px solid #005EA5;
}

.time {
  color: #6f777b;
  font-size: 16px;
  margin-bottom: 15px;
}

.gcweb-hero {
  padding-top: 8px;
  padding-bottom: 24px;
}

@media (min-width: 40.0625em) {
  .gcweb-hero {
    padding-top: 16px;
  }
}

@media (min-width: 40.0625em) {
  .gcweb-hero {
    padding-bottom: 32px;
  }
}

.gcweb-hero .gcweb-card h2,
.gcweb-hero .gcweb-card p {
  color: #171b1f !important;
}

.gcweb-hero p {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.55556;
}

@media (min-width: 40.0625em) {
  .gcweb-hero p {
    font-size: 22px;
    font-size: 1.375rem;
    line-height: 1.45455;
  }
}

@media print {
  .gcweb-hero p {
    font-size: 18pt;
    line-height: 1.15;
  }
}

.color-alpha {
  background: #b22222;
}

.color-alpha div {
  color: #ffffff !important;
}

.color-alpha a {
  color: #ffffff;
  text-decoration: underline;
}

.color-alpha .gc-beta-tag {
  background: #ffdd00;
  color: #171b1f;
}

.color-beta {
  background: #dc500c;
}

.color-beta div {
  color: #ffffff !important;
}

.color-beta a {
  color: #ffffff;
  text-decoration: underline;
}

.gcweb-condition-list {
  margin-bottom: 50px;
}

.gcweb-condition-list ol {
  margin-top: 25px;
}

.gcweb-condition-list ol li {
  line-height: 1.6em;
  font-size: 1.1875rem;
  padding: 15px 0px 0px 25px;
}

.callout-content p {
  margin-bottom: 10px !important;
}

@media (min-width: 48.0625em) {
  .sticky {
    position: sticky !important;
    position: -webkit-sticky !important;
    top: 20px;
  }
}

.govuk-inset-text {
  font-family: 'Nunito' !important;
  font-size: 18px;
}

.govuk-breadcrumbs li {
  font-size: 16px;
}

.gcweb-pagination {
  background: #f3f2f1;
  padding: 10px 15px;
  display: block;
  margin-bottom: 15px;
}

.gcweb-pagination:first-of-type {
  margin-top: 60px;
}

.gcweb-pagination.gcweb-pagination--left {
  border-left: 5px solid #1d70b8;
}

.gcweb-pagination.gcweb-pagination--left:focus {
  background: #fd0;
  border-left: 5px solid #0b0c0c;
  border-bottom: 0px;
  box-shadow: none;
}

.gcweb-pagination.gcweb-pagination--right {
  border-right: 5px solid #1d70b8;
  text-align: right;
}

.gcweb-pagination.gcweb-pagination--right:focus {
  background: #fd0;
  border-right: 5px solid #0b0c0c;
  border-bottom: 0px;
  box-shadow: none;
}

.app-related-items {
  border-top: 10px solid #555555;
  padding-top: 15px;
}

.gcweb-covid-wrapper p div {
  padding: -15px 0px 30px 0px;
}

.gcweb-covid-wrapper p i {
  margin-right: 20px;
}

@media (max-width: 48.0525em) {
  .gcweb-hide-on-mobile {
    display: none;
  }
}

.govuk-breadcrumbs {
  margin: 0px;
  padding-top: 15px;
  padding-bottom: 10px;
}

.govuk-breadcrumbs .govuk-breadcrumbs__list-item:before {
  border-color: #ffffff;
}

.yellow-alert {
  border-radius: 4px;
  box-shadow: 0 0 0 4px #ffdd00;
}

.gc-beta-banner {
  background: #d24602;
}

@media (min-width: 48.0625em) {
  .js-enabled .govuk-tabs__panel {
    margin-bottom: 0;
    padding: 30px 0px;
    border: none;
    border-top: 0;
  }
}

mark {
  background-color: inherit;
  color: inherit;
  font-weight: 700;
  border-bottom: 1px dotted #2e2e2e;
}

.gcweb-search-results {
  list-style: none;
  padding: 0px;
  margin: 0px;
  display: block;
}

.gcweb-search-result--item {
  overflow: hidden;
  margin: 0px;
  margin-bottom: 0px;
  border-bottom: 1px solid #b1b4b6;
  list-style: none;
  font-weight: 700;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  padding: 20px 0px;
}

@media (min-width: 40.0625em) {
  .gcweb-search-result--item {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.47368;
  }
}

@media print {
  .gcweb-search-result--item {
    font-size: 14pt;
    line-height: 1.15;
  }
}

.gcweb-search-result--item p {
  padding: 0px;
  margin: 0px;
}

.gcweb-search-result--item a,
.gcweb-search-result--item a:visited,
.gcweb-search-result--item a:active,
.gcweb-search-result--item a:link,
.gcweb-search-result--item a mark {
  color: #354973;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.55556;
  margin-bottom: 10px;
}

@media (min-width: 40.0625em) {
  .gcweb-search-result--item a,
  .gcweb-search-result--item a:visited,
  .gcweb-search-result--item a:active,
  .gcweb-search-result--item a:link,
  .gcweb-search-result--item a mark {
    font-size: 22px;
    font-size: 1.375rem;
    line-height: 1.45455;
  }
}

@media print {
  .gcweb-search-result--item a,
  .gcweb-search-result--item a:visited,
  .gcweb-search-result--item a:active,
  .gcweb-search-result--item a:link,
  .gcweb-search-result--item a mark {
    font-size: 18pt;
    line-height: 1.15;
  }
}

.gcweb-search-result--item .gcweb-search-result--lead {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.71429;
  margin: 10px 0px;
}

@media (min-width: 40.0625em) {
  .gcweb-search-result--item .gcweb-search-result--lead {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.5;
  }
}

@media print {
  .gcweb-search-result--item .gcweb-search-result--lead {
    font-size: 14pt;
    line-height: 1.2;
  }
}

.gcweb-search-result--item .gcweb-search-result--meta {
  padding: 0;
  margin-bottom: 0px;
}

.gcweb-search-result--item .gcweb-search-result--meta .gcweb-search-result--meta--attribute, .gcweb-search-result--item .gcweb-search-result--meta .gcweb-search-result--meta--attribute span, .gcweb-search-result--item .gcweb-search-result--meta .gcweb-search-result--meta--attribute a {
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.66667;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  display: inline-block;
  list-style: none;
  padding-right: 10px;
}

@media (min-width: 40.0625em) {
  .gcweb-search-result--item .gcweb-search-result--meta .gcweb-search-result--meta--attribute, .gcweb-search-result--item .gcweb-search-result--meta .gcweb-search-result--meta--attribute span, .gcweb-search-result--item .gcweb-search-result--meta .gcweb-search-result--meta--attribute a {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.71429;
  }
}

@media print {
  .gcweb-search-result--item .gcweb-search-result--meta .gcweb-search-result--meta--attribute, .gcweb-search-result--item .gcweb-search-result--meta .gcweb-search-result--meta--attribute span, .gcweb-search-result--item .gcweb-search-result--meta .gcweb-search-result--meta--attribute a {
    font-size: 12pt;
    line-height: 1.2;
  }
}

.gcweb-search-result--item time {
  border: none;
  margin: 0;
  padding: 0;
}

.gcweb-search-result--item-priority {
  padding: 15px;
  border: 1px solid #2e2e2e;
  margin-bottom: 25px;
}

.gcweb-search-result--item-priority:last-of-type {
  margin-bottom: 0px !important;
}

.gc-vertical-nav--count {
  padding: 12px 5px 9px 5px;
}

.gc-vertical-nav--count {
  min-width: 39px;
  min-height: 43px;
}

.gc-vertical-nav__link:hover {
  background: #f3f2f1;
}

.gcweb-meta-tag {
  padding: 5px;
  background: #eaeaea;
}

.gcweb-no-style {
  border: inherit !important;
  background: inherit !important;
  font-size: 16px !important;
  padding: inherit !important;
}

.gc-search-result {
  margin-bottom: 15px;
  box-shadow: none !important;
  border-radius: 0;
  padding: 15px 0px 25px 0px;
  border: none;
  border-bottom: 1px solid #171b1f;
}

.gcweb-content-group {
  list-style: none;
  padding: 0px;
  margin: 0px;
  display: block;
}

.gcweb-content-group--item {
  overflow: hidden;
  margin: 0px;
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 1px solid #b1b4b6;
  list-style: none;
  font-weight: 700;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
}

@media (min-width: 40.0625em) {
  .gcweb-content-group--item {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.47368;
  }
}

@media print {
  .gcweb-content-group--item {
    font-size: 14pt;
    line-height: 1.15;
  }
}

.gcweb-content-group--item a {
  text-decoration: underline;
}

.gcweb-content-group--item .gcweb-content-group--title {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  margin: 10px 0px;
}

@media (min-width: 40.0625em) {
  .gcweb-content-group--item .gcweb-content-group--title {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.47368;
  }
}

@media print {
  .gcweb-content-group--item .gcweb-content-group--title {
    font-size: 14pt;
    line-height: 1.15;
  }
}

.gcweb-content-group--item .gcweb-content-group-meta {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.71429;
  padding: 0;
  margin-bottom: 0px;
}

@media (min-width: 40.0625em) {
  .gcweb-content-group--item .gcweb-content-group-meta {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.5;
  }
}

@media print {
  .gcweb-content-group--item .gcweb-content-group-meta {
    font-size: 14pt;
    line-height: 1.2;
  }
}

.gcweb-content-group--item .gcweb-content-group--meta--attribute {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  line-height: 1.25;
  display: inline-block;
  list-style: none;
  padding-right: 20px;
  margin-bottom: 15px;
}

.gcweb-content-group--item time {
  border: none;
  margin: 0;
  padding: 0;
}

.gcweb-content-group--item-bordered {
  padding: 15px;
  border: 1px solid #2e2e2e;
}

.gc-vertical-nav--count {
  padding: 12px 5px 9px 5px;
}

.gc-vertical-nav--count {
  min-width: 45px;
  min-height: 43px;
}

.gc-vertical-nav__link:hover {
  background: #f3f2f1;
}

.gcweb-meta-tag {
  padding: 5px;
  background: #eaeaea;
}

.gcweb-no-style {
  border: inherit !important;
  background: inherit !important;
  font-size: 16px !important;
  padding: inherit !important;
}

.gc-search-result {
  margin-bottom: 15px;
  box-shadow: none !important;
  border-radius: 0;
  padding: 15px 0px 25px 0px;
  border: none;
  border-bottom: 1px solid #171b1f;
}

.grecaptcha-badge {
  visibility: hidden;
}

span.gcweb-heading-l,
span.gcweb-heading-m {
  display: inline-block !important;
  padding-top: 3px;
}

.gc-search .inner-form {
  border: 2px solid #171b1f;
  border-radius: 4px;
}

.gc-search .inner-form .input-field input:hover {
  box-shadow: none;
}

.gc-search .inner-form .input-field input:focus {
  border: 1px solid #ffdd00;
  box-shadow: inset 0 0 0 4px #ffdd00;
  outline: 4px solid transparent;
  outline-offset: 4px;
  border-radius: 4px 0px 0px 4px;
}

.gc-search .inner-form .input-field.third-wrap {
  margin-left: 0px;
}

.gc-search .inner-form .input-field.third-wrap .btn-search {
  border-radius: 0px;
  background: #171b1f;
}

.gc-search .inner-form .input-field.third-wrap .btn-search:hover {
  background-color: #eaeaea;
  cursor: pointer;
  box-shadow: none;
}

.gc-search .inner-form .input-field.third-wrap .btn-search:hover .gcweb-icon__search {
  fill: #171b1f;
}

.gc-search .inner-form .input-field.third-wrap .btn-search .gcweb-icon__search {
  height: 27px;
  width: 27px;
  fill: #ffffff;
  margin-top: 4px;
}

.gcweb-hero .gc-search .inner-form {
  border: none;
  border-radius: 4px;
}

.gcweb-hero .gc-search .inner-form .input-field input:hover {
  box-shadow: none;
}

.gcweb-hero .gc-search .inner-form .input-field input:focus {
  border: 1px solid #ffdd00;
  box-shadow: inset 0 0 0 4px #ffdd00;
  outline: 4px solid transparent;
  outline-offset: 4px;
  border-radius: 4px 0px 0px 4px;
}

.gcweb-hero .gc-search .inner-form .input-field.third-wrap {
  margin-left: 0px;
}

.gcweb-hero .gc-search .inner-form .input-field.third-wrap .btn-search {
  border-radius: 0px 4px 4px 0px;
  background: #eaeaea;
}

.gcweb-hero .gc-search .inner-form .input-field.third-wrap .btn-search:hover {
  background-color: #171b1f;
  cursor: pointer;
  box-shadow: none;
}

.gcweb-hero .gc-search .inner-form .input-field.third-wrap .btn-search:hover .gcweb-icon__search {
  fill: #ffffff;
}

.gcweb-hero .gc-search .inner-form .input-field.third-wrap .btn-search:focus {
  background-color: #ffdd00;
  border: 0;
  box-shadow: 0 4px 0 0 #171b1f;
  color: #171b1f;
  outline: 4px solid transparent;
  outline-offset: 4px;
  box-shadow: none;
}

.gcweb-hero .gc-search .inner-form .input-field.third-wrap .btn-search:focus .gcweb-icon__search {
  fill: #171b1f;
}

.gcweb-hero .gc-search .inner-form .input-field.third-wrap .btn-search .gcweb-icon__search {
  height: 27px;
  width: 27px;
  fill: #354973;
  margin-top: 4px;
}

.govuk-checkboxes--small .govuk-checkboxes__label::after {
  top: 16px;
  left: 7px;
  width: 11px;
  height: 5.5px;
  border-width: 0 0 2px 2px;
}

.gcweb-filter {
  padding: 10px;
}

.gcweb-option-select__container {
  max-height: 240px;
  overflow-y: auto;
  overflow-x: hidden;
}

.gcweb-option-select__container::-webkit-scrollbar {
  -webkit-appearance: none;
  width: 7px;
}

.gcweb-option-select__container::-webkit-scrollbar-thumb {
  border-radius: 4px;
  background-color: rgba(0, 0, 0, 0.5);
  box-shadow: 0 0 1px rgba(255, 255, 255, 0.87);
  -webkit-box-shadow: 0 0 1px rgba(255, 255, 255, 0.87);
}

.gcweb-hero--meta {
  background: #c0c0c0;
  padding: 15px 0px;
  margin-bottom: -32px;
}

@media (max-width: 61.865em) {
  .gcweb-hero--meta span {
    display: block;
  }
}

@media (max-width: 40.0525em) {
  .gcweb-hero--meta div {
    margin-bottom: 10px;
  }
  .gcweb-hero--meta span {
    display: inline-block;
    min-width: 30%;
  }
}

.gcweb-hero--meta a {
  color: #354973 !important;
  text-decoration: underline;
}

.gcweb-data-stat-container {
  margin-bottom: 1.5rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

@media (min-width: 40.0625em) {
  .gcweb-data-stat-container {
    padding: 0;
  }
}

@media (min-width: 40.0625em) {
  .gcweb-data-stat-container {
    margin: 0;
  }
}

.gcweb-data-stat-container .gcweb-data-stat-icon {
  background-color: #c0c0c0;
  color: #171b1f;
  padding: 16px;
  max-width: 15.63rem;
}

@media (min-width: 40.0625em) {
  .gcweb-data-stat-container .gcweb-data-stat-icon {
    padding: 24px;
  }
}

.gcweb-data-stat-container .gcweb-data-stat {
  background-color: #fff;
  list-style: none;
  margin: 0px;
  border: 1px solid #979797;
  border-radius: 4px;
  display: flex;
  max-width: 100%;
  overflow: hidden;
  margin-bottom: 8px;
}

@media (min-width: 40.0625em) {
  .gcweb-data-stat-container .gcweb-data-stat {
    margin-bottom: 16px;
  }
}

.gcweb-data-stat-container .gcweb-data-stat.warning .gcweb-data-stat-icon {
  background-color: #FEA623;
  color: #ffffff;
}

.gcweb-data-stat-container .gcweb-data-stat.info .gcweb-data-stat-icon {
  background-color: #354973;
  color: #ffffff;
}

.gcweb-data-stat-container .gcweb-data-stat.success .gcweb-data-stat-icon {
  background-color: #346248;
  color: #ffffff;
}

.gcweb-data-stat-container .gcweb-data-stat.error .gcweb-data-stat-icon {
  background-color: #b22222;
  color: #ffffff;
}

.gcweb-data-stat-container .gcweb-data-stat-content {
  position: relative;
  width: 70%;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  padding: 16px;
}

@media (min-width: 40.0625em) {
  .gcweb-data-stat-container .gcweb-data-stat-content {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.47368;
  }
}

@media print {
  .gcweb-data-stat-container .gcweb-data-stat-content {
    font-size: 14pt;
    line-height: 1.15;
  }
}

@media (min-width: 40.0625em) {
  .gcweb-data-stat-container .gcweb-data-stat-content {
    padding: 24px;
  }
}

.gcweb-data-stat-container .gcweb-data-stat-content .data-stat-content--title {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  margin-bottom: 0;
  font-weight: 400;
}

@media (min-width: 40.0625em) {
  .gcweb-data-stat-container .gcweb-data-stat-content .data-stat-content--title {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.47368;
  }
}

@media print {
  .gcweb-data-stat-container .gcweb-data-stat-content .data-stat-content--title {
    font-size: 14pt;
    line-height: 1.15;
  }
}

@media (min-width: 40.0625em) {
  .gcweb-data-stat-container .gcweb-data-stat-content .data-stat-content--title {
    margin-bottom: 0;
  }
}

.gcweb-data-stat-container .gcweb-data-stat-content .data-stat-content--meta {
  color: #6d6d6d;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.66667;
  margin-bottom: 0;
}

@media (min-width: 40.0625em) {
  .gcweb-data-stat-container .gcweb-data-stat-content .data-stat-content--meta {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.71429;
  }
}

@media print {
  .gcweb-data-stat-container .gcweb-data-stat-content .data-stat-content--meta {
    font-size: 12pt;
    line-height: 1.2;
  }
}

@media (min-width: 40.0625em) {
  .gcweb-data-stat-container .gcweb-data-stat-content .data-stat-content--meta {
    margin-bottom: 0;
  }
}

.gcweb-data-stat-container .gcweb-data-stat-value {
  padding: 16px;
  position: relative;
  width: 30%;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.4;
  font-weight: 700;
  text-align: end;
}

@media (min-width: 40.0625em) {
  .gcweb-data-stat-container .gcweb-data-stat-value {
    padding: 24px;
  }
}

@media (min-width: 40.0625em) {
  .gcweb-data-stat-container .gcweb-data-stat-value {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.33333;
  }
}

@media print {
  .gcweb-data-stat-container .gcweb-data-stat-value {
    font-size: 18pt;
    line-height: 1.15;
  }
}

.code-block-view--iframe-container {
  background: #ffffff !important;
}

.gcweb-structured--list-number {
  padding-right: 20px;
  float: left;
  font-weight: 700;
}

.gcweb-structured--list-content {
  display: grid;
}

.govuk-accordion.gcweb-structured {
  border-bottom: 3px solid #d5d5d5;
}

.govuk-accordion.gcweb-structured .govuk-accordion__section-header {
  border-top: 3px solid #d5d5d5;
}

.govuk-accordion.gcweb-structured .govuk-accordion__section-heading {
  border-right: 3px solid #d5d5d5;
}

.govuk-accordion.gcweb-structured .govuk-accordion__section-heading,
.govuk-accordion.gcweb-structured .govuk-accordion__section-button {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
}

@media (min-width: 40.0625em) {
  .govuk-accordion.gcweb-structured .govuk-accordion__section-heading,
  .govuk-accordion.gcweb-structured .govuk-accordion__section-button {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.47368;
  }
}

@media print {
  .govuk-accordion.gcweb-structured .govuk-accordion__section-heading,
  .govuk-accordion.gcweb-structured .govuk-accordion__section-button {
    font-size: 14pt;
    line-height: 1.15;
  }
}

.govuk-accordion.gcweb-structured ol.govuk-list li {
  margin-bottom: 8px;
}

@media (min-width: 40.0625em) {
  .govuk-accordion.gcweb-structured ol.govuk-list li {
    margin-bottom: 16px;
  }
}

.govuk-accordion.gcweb-structured .gcweb-structured--number {
  padding-right: 20px;
}

.govuk-accordion.gcweb-structured .gcweb-structured--list-number {
  padding-right: 15px;
  float: left;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.71429;
}

@media (min-width: 40.0625em) {
  .govuk-accordion.gcweb-structured .gcweb-structured--list-number {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.5;
  }
}

@media print {
  .govuk-accordion.gcweb-structured .gcweb-structured--list-number {
    font-size: 14pt;
    line-height: 1.2;
  }
}

.govuk-accordion.gcweb-structured .gcweb-structured--list-content {
  display: grid;
  padding-right: 40px;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.71429;
}

@media (min-width: 40.0625em) {
  .govuk-accordion.gcweb-structured .gcweb-structured--list-content {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.5;
  }
}

@media print {
  .govuk-accordion.gcweb-structured .gcweb-structured--list-content {
    font-size: 14pt;
    line-height: 1.2;
  }
}

.gcweb-structured ol.govuk-list li {
  margin-bottom: 8px;
}

@media (min-width: 40.0625em) {
  .gcweb-structured ol.govuk-list li {
    margin-bottom: 16px;
  }
}

.gcweb-structured .gcweb-structured--number {
  padding-right: 20px;
}

.gcweb-structured .gcweb-structured--list-number {
  padding-right: 20px;
  float: left;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.71429;
  font-weight: 700;
  margin-left: 15px;
}

@media (min-width: 40.0625em) {
  .gcweb-structured .gcweb-structured--list-number {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.5;
  }
}

@media print {
  .gcweb-structured .gcweb-structured--list-number {
    font-size: 14pt;
    line-height: 1.2;
  }
}

.gcweb-structured .gcweb-structured--list-content {
  display: grid;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.71429;
}

@media (min-width: 40.0625em) {
  .gcweb-structured .gcweb-structured--list-content {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.5;
  }
}

@media print {
  .gcweb-structured .gcweb-structured--list-content {
    font-size: 14pt;
    line-height: 1.2;
  }
}

.gcweb-condition-list > ol > li > p {
  margin-bottom: 0px !important;
}

.gcweb-condition .gcweb-structured--list-number,
.gcweb-condition .gcweb-structured--list-content {
  font-family: "Spartan" !important;
}

.gcweb-condition abbr {
  border-bottom: 2px #171b1f dotted;
}

.gcweb-condition abbr a {
  text-decoration: none;
}

.glossary-alphabet {
  display: flex;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  overflow-x: auto;
  overflow-y: hidden;
  list-style-type: none;
  padding: 0;
  background-color: #F3F2F1;
  margin: 0 0 1.5rem;
  height: calc(3rem + 7px);
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
}

.glossary-alphabet li {
  margin: 0 0.5em;
  font-weight: 700;
}

.glossary-alphabet li a:link,
.glossary-alphabet li a:visited {
  text-decoration: none;
  color: #110a1d;
}

@media (min-width: 40.0625em) {
  .govuk-summary-list__actions,
  .govuk-summary-list__key,
  .govuk-summary-list__value {
    padding-top: 25px;
    padding-bottom: 25px;
    border-bottom: 3px solid #d5d5d5;
  }
}

.gc-vertical-nav__section .gc-vertical-nav__section-item--current--child-active .gc-vertical-nav__link {
  font-weight: 400;
}

.gc-vertical-nav__section .gc-vertical-nav__section {
  margin-bottom: 0px;
}

.gc-vertical-nav__section .gc-vertical-nav__section .gc-vertical-nav__section-item {
  border-left: none;
}

.gc-vertical-nav__section .gc-vertical-nav__section .gc-vertical-nav__section-item :before {
  content: "—";
  margin-left: 0px;
  margin-right: 5px;
}

.gc-vertical-nav__section .gc-vertical-nav__section.gc-vertical-nav__section-item--current {
  border-left: none;
  background: #F3F2F1;
}

.gc-vertical-nav__section .gc-vertical-nav__section.gc-vertical-nav__section-item--current .gc-vertical-nav__link {
  font-weight: 700;
}

.gcweb-bordered-list > li {
  border-bottom: 1px solid #d5d5d5;
  padding-top: 8px;
  padding-bottom: 8px;
}

@media (min-width: 40.0625em) {
  .gcweb-bordered-list > li {
    padding-top: 8px;
  }
}

@media (min-width: 40.0625em) {
  .gcweb-bordered-list > li {
    padding-bottom: 16px;
  }
}

.gcweb-bordered-list :last-of-type {
  border-bottom: none;
  padding-bottom: 0;
}

@media (min-width: 40.0625em) {
  .gcweb-bordered-list :last-of-type {
    padding-bottom: 0;
  }
}

.blog-card-group {
  padding-left: 0px;
  display: flex;
  margin: 0 -10px;
  flex-wrap: wrap;
}

.blog-card {
  max-width: 100%;
  flex-direction: row;
  margin: 1rem auto;
  margin-bottom: 1.6%;
  background: #ffffff;
  border-radius: 4px;
  overflow: hidden;
  flex: 1;
  margin: 0 10px 25px 10px;
  border-radius: 4px;
  display: flex;
  flex-shrink: 0;
  flex-basis: 23%;
}

.blog-card .meta {
  position: relative;
  z-index: 0;
  height: 200px;
}

.blog-card .photo {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-size: cover;
  background-position: center;
  transition: transform .2s;
}

.blog-card .details,
.blog-card .details ul {
  margin: auto;
  padding: 0;
  list-style: none;
}

.blog-card .details {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -100%;
  margin: auto;
  transition: left .2s;
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  padding: 10px;
  width: 100%;
  font-size: .9rem;
}

.blog-card .description {
  padding: 1rem;
  background: #ffffff;
  position: relative;
  z-index: 1;
}

.blog-card .description .read-more a {
  display: inline-block;
  position: relative;
}

.blog-card p {
  position: relative;
  margin: 1rem 0 0;
}

.blog-card p:first-of-type {
  margin-top: 1.25rem;
}

.blog-card p:first-of-type:before {
  content: "";
  position: absolute;
  height: 5px;
  background: #ffdd00;
  width: 35px;
  top: -0.75rem;
  border-radius: 3px;
}

@media (min-width: 48.0625em) {
  .blog-card {
    flex-direction: row;
    max-width: 50%;
  }
  .blog-card .meta {
    flex-basis: 40%;
    height: auto;
  }
  .blog-card .description {
    flex-basis: 60%;
  }
  .blog-card .description:before {
    transform: skewX(-3deg);
    content: "";
    background: #fff;
    width: 30px;
    position: absolute;
    left: -10px;
    top: 0;
    bottom: 0;
    z-index: -1;
  }
  .blog-card.alt {
    flex-direction: row-reverse;
  }
  .blog-card.alt .description:before {
    left: inherit;
    right: -10px;
    transform: skew(3deg);
  }
  .blog-card.alt .details {
    padding-left: 25px;
  }
}

@media (max-width: 40.0525em) {
  .blog-card-group {
    margin: 0 0px;
  }
  .blog-card {
    flex-basis: auto;
    margin: 15px auto;
  }
  .blog-card:first-of-type {
    margin-top: 0px;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24uY3NzIiwic291cmNlcyI6WyJhcHBsaWNhdGlvbi5zY3NzIiwiZ2N3ZWIvYWxsLnNjc3MiLCJnY3dlYi9jb3JlL2FsbC5zY3NzIiwiZ2N3ZWIvY29yZS9zZXR0aW5ncy9fYWxsLnNjc3MiLCJnY3dlYi9jb3JlL3NldHRpbmdzL19icmVha3BvaW50cy5zY3NzIiwiZ2N3ZWIvY29yZS9zZXR0aW5ncy9fY29sb3Vycy5zY3NzIiwiZ2N3ZWIvY29yZS9zZXR0aW5ncy9fZ2xvYmFscy5zY3NzIiwiZ2N3ZWIvY29yZS9zZXR0aW5ncy9fc3BhY2luZy5zY3NzIiwiZ2N3ZWIvY29yZS9zZXR0aW5ncy9fdHlwb2dyYXBoeS5zY3NzIiwiZ2N3ZWIvY29yZS90b29scy9fYWxsLnNjc3MiLCJnY3dlYi9jb3JlL3Rvb2xzL19leHBvcnRzLnNjc3MiLCJnY3dlYi9jb3JlL3Rvb2xzL19mdW5jdGlvbnMuc2NzcyIsImdjd2ViL2NvcmUvdG9vbHMvX3NoYXBlLWFycm93LnNjc3MiLCJnY3dlYi9jb3JlL3Rvb2xzL19zcGFjaW5nLnNjc3MiLCJnY3dlYi9jb3JlL3Rvb2xzL19zYXNzLW1xLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1tcS9fbXEuc2NzcyIsImdjd2ViL2NvcmUvdG9vbHMvX3R5cG9ncmFwaHkuc2NzcyIsImdjd2ViL2NvcmUvdG9vbHMvX2xpbmtzLnNjc3MiLCJnY3dlYi9jb3JlL3Rvb2xzL19taXhpbnMuc2NzcyIsImdjd2ViL2NvcmUvdG9vbHMvX2lmZmYuc2NzcyIsImdjd2ViL2NvcmUvdG9vbHMvX2dyaWQuc2NzcyIsImdjd2ViL2NvcmUvdG9vbHMvX2ZvY3VzZWQuc2NzcyIsImdjd2ViL2NvcmUvZ2VuZXJpYy9fYm94LXNpemluZy5zY3NzIiwiZ2N3ZWIvY29yZS9nZW5lcmljL19mb250LWZhY2Uuc2NzcyIsImdjd2ViL2NvcmUvZ2VuZXJpYy9faWUuc2NzcyIsImdjd2ViL2NvcmUvZWxlbWVudHMvX2Zvcm1zLnNjc3MiLCJnY3dlYi9jb3JlL2VsZW1lbnRzL19saW5rcy5zY3NzIiwiZ2N3ZWIvY29yZS9lbGVtZW50cy9fcGFnZS5zY3NzIiwiZ2N3ZWIvY29yZS9lbGVtZW50cy9fdGFibGUuc2NzcyIsImdjd2ViL2NvcmUvb2JqZWN0cy9fZm9ybS1ncm91cC5zY3NzIiwiZ2N3ZWIvY29yZS9vYmplY3RzL19ncmlkLnNjc3MiLCJnY3dlYi9jb3JlL29iamVjdHMvX21haW4td3JhcHBlci5zY3NzIiwiZ2N3ZWIvY29yZS9vYmplY3RzL193aWR0aC1jb250YWluZXIuc2NzcyIsImdjd2ViL2NvcmUvc3R5bGVzL19pY29ucy5zY3NzIiwiZ2N3ZWIvY29yZS9zdHlsZXMvX2xpc3RzLnNjc3MiLCJnY3dlYi9jb3JlL3N0eWxlcy9fc2VjdGlvbi1icmVhay5zY3NzIiwiZ2N3ZWIvY29yZS9zdHlsZXMvX3R5cG9ncmFwaHkuc2NzcyIsImdjd2ViL2NvcmUvdXRpbGl0aWVzL19jbGVhcmZpeC5zY3NzIiwiZ2N3ZWIvY29yZS91dGlsaXRpZXMvX2dyaWQtd2lkdGhzLnNjc3MiLCJnY3dlYi9jb3JlL3V0aWxpdGllcy9fbGluay1ub3dyYXAuc2NzcyIsImdjd2ViL2NvcmUvdXRpbGl0aWVzL19yZWFkaW5nLXdpZHRoLnNjc3MiLCJnY3dlYi9jb3JlL3V0aWxpdGllcy9fc3BhY2luZy5zY3NzIiwiZ2N3ZWIvY29yZS91dGlsaXRpZXMvX3R5cG9ncmFwaHkuc2NzcyIsImdjd2ViL2NvcmUvdXRpbGl0aWVzL192aXN1YWxseS1oaWRkZW4uc2NzcyIsImdjd2ViL2NvcmUvdXRpbGl0aWVzL193aWR0aHMuc2NzcyIsImNvbXBvbmVudHMvYWxsLnNjc3MiLCJnY3dlYi90b3BuYXYuc2NzcyIsImdjd2ViL2luZm9wYW5lbC5zY3NzIiwiZ2N3ZWIvYnV0dG9uLnNjc3MiLCJnY3dlYi9oZWFkZXIuc2NzcyIsImdjd2ViL19zcGFjaW5nLnNjc3MiLCJnY3dlYi9hdXRvY29tcGxldGUuc2NzcyIsImdjd2ViL3NpZ25wb3N0LnNjc3MiLCJnY3dlYi9icmFuZGluZy5zY3NzIiwiZ2N3ZWIvbGF5b3V0LnNjc3MiLCJnY3dlYi9jb3ZlcnMuc2NzcyIsImdjd2ViL2xjY3Auc2NzcyIsImdjd2ViL2F0dGFjaG1lbnRzLnNjc3MiLCJnY3dlYi9mb290ZXIuc2NzcyIsImdjd2ViL2NhcmRzLnNjc3MiLCJnY3dlYi9nZW5lcmFsLnNjc3MiLCJnY3dlYi90YWJsZS5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PU51bml0bzp3Z2h0QDQwMDs1MDA7NjAwOzcwMCZmYW1pbHk9U3BhcnRhbjp3Z2h0QDQwMDs2MDA7NzAwJmRpc3BsYXk9c3dhcCZmYW1pbHk9UFQrU2Fuczp3Z2h0QDQwMDs3MDAmZGlzcGxheT1zd2FwJyk7XHJcblxyXG5cclxuKiB7XHJcbiAgICBmb250LWZhbWlseTogJ051bml0bycgIWltcG9ydGFudDtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbn1cclxuXHJcblxyXG5AaW1wb3J0IFwiZ2N3ZWIvYWxsXCI7XHJcblxyXG5cclxucCBpbWcge1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5nY3dlYi1pbWctc21hbGwge1xyXG4gICAgbWF4LXdpZHRoOiAzMyVcclxufVxyXG5cclxuLy8gQW55dGhpbmcgZWxzZSBpbiBoZXJlIGlzIG92ZXJyaWRlcyB0byB0ZXN0XHJcblxyXG4uZ2MtZm9vdGVyLXRvcCB7XHJcbiAgICBhIHtcclxuICAgICAgICBjb2xvcjogIzBlNjFhOSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5kZXNpZ24tbWVzc2FnZSB7XHJcbiAgICBwIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHhcclxuICAgIH1cclxuXHJcbiAgICBwYWRkaW5nOiAxNXB4IDE1cHggMTVweCAxNXB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2djd2ViLXllbGxvdztcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxufVxyXG5cclxuXHJcblxyXG5cclxuLmNhcmRzPnVsIHtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDBweDtcclxuXHJcbiAgICBsaSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4uY2FyZCsuY2FyZCB7XHJcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07XHJcbn1cclxuXHJcbkBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xyXG4gICAgLmNhcmRzPnVsIHtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0bztcclxuICAgICAgICBncmlkLWNvbHVtbi1nYXA6IDJyZW07XHJcbiAgICAgICAgZ3JpZC1yb3ctZ2FwOiAxLjVyZW07XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCkge1xyXG5cclxuICAgICAgICAuY2FyZHM+dWwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0bztcclxuICAgICAgICAgICAgZ3JpZC1jb2x1bW4tZ2FwOiAxLjVyZW07XHJcbiAgICAgICAgICAgIGdyaWQtcm93LWdhcDogMS41cmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmNhcmRzPnVsLmZvdXItd2F5IHtcclxuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG8gYXV0byBhdXRvO1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbi1nYXA6IDEuNXJlbTtcclxuICAgICAgICAgICAgZ3JpZC1yb3ctZ2FwOiAxLjVyZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAuY2FyZCsuY2FyZCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgIH1cclxufVxyXG5cclxuLmNhcmQge1xyXG4gICAgQGluY2x1ZGUgZ2N3ZWItYm9yZGVyO1xyXG4gICAgQGluY2x1ZGUgZ2N3ZWItYm9yZGVyLXJhZGl1cygpO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfZ2N3ZWItd2hpdGU7XHJcbn1cclxuXHJcbi5jYXJkIC50ZXh0IHtcclxuICAgIHBhZGRpbmc6IDEuMjVyZW07XHJcbiAgICBmbGV4OiAxIDAgYXV0bztcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcblxyXG5cclxuXHJcbi5jYXJkIHAge1xyXG4gICAgbWF4LXdpZHRoOiA2MGNoO1xyXG4gICAgY29sb3I6ICRjb2xvcl9nY3dlYi1ibGFjaztcclxufVxyXG5cclxuXHJcblxyXG4uY2FyZCAuaW1nIGltZyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG59XHJcblxyXG4uY2FyZCBhIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG5cclxuLmNhcmQgYTo6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbn1cclxuXHJcbi5jYXJkIGE6Zm9jdXMge1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDAgNHB4ICRjb2xvcl9nY3dlYi15ZWxsb3c7XHJcbiAgICBAaW5jbHVkZSBnY3dlYi1ib3JkZXItcmFkaXVzKCk7XHJcbn1cclxuXHJcbi5jYXJkOmZvY3VzLXdpdGhpbixcclxuLmNhcmQ6aG92ZXIge1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDAgNHB4ICRjb2xvcl9nY3dlYi15ZWxsb3c7XHJcbn1cclxuXHJcbi5jYXJkOmZvY3VzLXdpdGhpbiBhOmZvY3VzIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG5cclxuLmNhcmQgc21hbGwge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi5jYXJkIC50ZXh0PiorKiB7XHJcbiAgICBtYXJnaW4tdG9wOiAwLjc1cmVtO1xyXG59XHJcblxyXG4uY2FyZCAudGV4dD4gOmxhc3QtY2hpbGQge1xyXG4gICAgbWFyZ2luLXRvcDogYXV0bztcclxuICAgIHBhZGRpbmctdG9wOiAwLjc1cmVtO1xyXG59XHJcblxyXG4uZ2N3ZWItc3RyaXBlLWJnIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL3B1YmxpYy9pbWFnZXMvYmx1ZXN0cmlwZWJnLnBuZycpO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdDtcclxuXHJcbn1cclxuXHJcbi5nY3dlYi1ncmFkaWVudC1iZyB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMzU0OTczO1xyXG4gICAgLyogZmFsbGJhY2sgZm9yIG9sZCBicm93c2VycyAqL1xyXG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICMxOTE2NTQsICMzNTQ5NzMpO1xyXG4gICAgLyogQ2hyb21lIDEwLTI1LCBTYWZhcmkgNS4xLTYgKi9cclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzE5MTY1NCwgIzM1NDk3Myk7XHJcbiAgICAvKiBXM0MsIElFIDEwKy8gRWRnZSwgRmlyZWZveCAxNissIENocm9tZSAyNissIE9wZXJhIDEyKywgU2FmYXJpIDcrICovXHJcblxyXG59XHJcblxyXG4uZ2N3ZWItYWx0ZXJuYXRlLWJsb2NrcyB7XHJcbiAgICBpbWcge1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICBAaW5jbHVkZSBnY3dlYi1yZXNwb25zaXZlLW1hcmdpbig1LCAnYm90dG9tJyk7XHJcbiAgICB9XHJcblxyXG4gICAgJjpudGgtY2hpbGQoMm4rMikge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9nY3dlYi1ncmV5LTY7XHJcblxyXG4gICAgICAgIC5nY3dlYi1wbGFjZW1lbnQtc3dpdGNoIHtcclxuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG5cclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5nY3dlYi13b3ctb3ZlcnJpZGVzIHtcclxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpIHtcclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDcwJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bnRoLWNoaWxkKDJuKzIpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX2djd2ViLWdyZXktNjtcclxuXHJcbiAgICAgICAgICAgIC5nY3dlYi1wbGFjZW1lbnQtc3dpdGNoIHtcclxuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuXHJcbiAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi5nY3dlYi1tb2JpbGUtaGlkZGVuIHtcclxuICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogdGFibGV0KSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLmdjd2ViLXRhYmxldC1oaWRkZW4ge1xyXG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiBkZXNrdG9wKSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuc3VwIHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cclxuICAgIGEge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgfVxyXG59XHJcblxyXG4uYXJ0aWNsZS1yZWZlcmVuY2VzIHtcclxuXHJcbiAgICBwLFxyXG4gICAgdWwsXHJcbiAgICB1bCBsaSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxcmVtICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyAuZ2N3ZWItY2FyZCAge1xyXG4vLyAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuLy8gICAgIGJveC1zaGFkb3c6XHJcbi8vICAgICAgIC8qIFRoZSB0b3AgbGF5ZXIgc2hhZG93ICovXHJcbi8vICAgICAgIDAgLTFweCAxcHggcmdiYSgwLDAsMCwwLjE1KSxcclxuLy8gICAgICAgLyogVGhlIHNlY29uZCBsYXllciAqL1xyXG4vLyAgICAgICAwIC0xMHB4IDAgLTVweCAjZWVlLFxyXG4vLyAgICAgICAvKiBUaGUgc2Vjb25kIGxheWVyIHNoYWRvdyAqL1xyXG4vLyAgICAgICAwIC0xMHB4IDFweCAtNHB4IHJnYmEoMCwwLDAsMC4xNSksXHJcbi8vICAgICAgICAvKiBUaGUgdGhpcmQgbGF5ZXIgKi9cclxuLy8gICAgICAgMCAtMjBweCAwIC0xMHB4ICNlZWUsXHJcbi8vICAgICAgIC8qIFRoZSB0aGlyZCBsYXllciBzaGFkb3cgKi9cclxuLy8gICAgICAgMCAtMjBweCAxcHggLTlweCByZ2JhKDAsMCwwLDAuMTUpO1xyXG5cclxuLy8gICB9XHJcblxyXG4ucGFwZXIge1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIGJveC1zaGFkb3c6IDJweCAycHggMnB4IHdoaXRlLFxyXG4gICAgICAgIDJweCAycHggMXB4IHdoaXRlLFxyXG4gICAgICAgIDNweCAzcHggMXB4ICRjb2xvcl9nY3dlYi1ncmV5LTE7XHJcblxyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuLnBhZ2UtYmxvY2stYnJlYWstb25lLFxyXG4ucGFnZS1ibG9jay1icmVhay10d28ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICB3aWR0aDogMTAwJVxyXG59XHJcblxyXG4ucGFnZS1sZWZ0LW9uZSxcclxuLnBhZ2UtbGVmdC10d28sXHJcbi5wYWdlLXJpZ2h0LW9uZSxcclxuLnBhZ2UtcmlnaHQtdHdvIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmc6IDEuMjVyZW1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxMjAwcHgpIHtcclxuXHJcbiAgICAucGFnZS1sZWZ0LW9uZSxcclxuICAgIC5wYWdlLWxlZnQtdHdvLFxyXG4gICAgLnBhZ2UtcmlnaHQtb25lLFxyXG4gICAgLnBhZ2UtcmlnaHQtdHdvIHtcclxuICAgICAgICBwYWRkaW5nOiAzLjEyNXJlbSAzLjM3NXJlbSA0LjM3NXJlbSAzLjc1cmVtO1xyXG4gICAgfVxyXG5cclxuICAgIC5wYWdlLXJpZ2h0LW9uZSxcclxuICAgIC5wYWdlLXJpZ2h0LXR3byB7XHJcbiAgICAgICAgcGFkZGluZzogMy4xMjVyZW0gMy4zNzVyZW0gNC4zNzVyZW0gMy4zNzVyZW1cclxuICAgIH1cclxufVxyXG5cclxuLnBhZ2UtcmlnaHQtb25lIHtcclxuICAgIHBhZGRpbmc6IDEuMjVyZW0gMi41cmVtIDIuNXJlbVxyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjExMDBweCkge1xyXG4gICAgLnBhZ2UtcmlnaHQtb25lIHtcclxuICAgICAgICBwYWRkaW5nOiA0LjM3NXJlbVxyXG4gICAgfVxyXG59XHJcblxyXG4ucGFnZS1sZWZ0LW9uZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDIuNXJlbSAyLjVyZW1cclxufVxyXG5cclxuLnBhdGgtZnJvbnRwYWdlIC5wYWdlLWxlZnQtb25lIHtcclxuICAgIGNvbG9yOiAjZmZmXHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTIwMHB4KSB7XHJcbiAgICAucGFnZS1sZWZ0LW9uZSB7XHJcbiAgICAgICAgcGFkZGluZzogMy4xMjVyZW0gNy4zNzVyZW0gNC4zNzVyZW0gNy4zNzVyZW07XHJcbiAgICAgICAgd2lkdGg6IDQ5LjUlXHJcbiAgICB9XHJcblxyXG4gICAgLmhlcm8taW1hZ2UgLnBhZ2UtbGVmdC1vbmUge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDMuNzVyZW1cclxuICAgIH1cclxuXHJcbiAgICAucGFnZS1ub2RlLXR5cGUtZm9yZXN0IC5wYWdlLWxlZnQtb25lIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNC4zNzVyZW1cclxuICAgIH1cclxufVxyXG5cclxuLnBhZ2UtcmlnaHQtb25lIHtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgYmFja2dyb3VuZDogIzFFMjUyMjtcclxuICAgIHotaW5kZXg6IDJcclxufVxyXG5cclxuLnBhZ2UtcmlnaHQtb25lIGEge1xyXG4gICAgY29sb3I6ICNmZmZcclxufVxyXG5cclxuLnBhZ2UtcmlnaHQtb25lIGE6aG92ZXIsXHJcbi5wYWdlLXJpZ2h0LW9uZSBhOmZvY3VzIHtcclxuICAgIGNvbG9yOiAjMDA5ODQ4XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTIwMHB4KSB7XHJcbiAgICAucGFnZS1yaWdodC1vbmUge1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyLjI1cmVtO1xyXG4gICAgICAgIC13ZWJraXQtY2xpcC1wYXRoOiBwb2x5Z29uKDAgMS4yNXJlbSwgMTAwJSAwLCAxMDAlIDEwMSUsIDAgMTAxJSk7XHJcbiAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMS4yNXJlbSwgMTAwJSAwLCAxMDAlIDEwMSUsIDAgMTAxJSk7XHJcbiAgICAgICAgd2lkdGg6IDMwJVxyXG4gICAgfVxyXG59XHJcblxyXG4ucGFnZS1ub2RlLXR5cGUtZm9yZXN0IC5wYWdlLXJpZ2h0LW9uZSB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMy43NXJlbVxyXG59XHJcblxyXG4ucGFnZS1sZWZ0LXR3byB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3JfZ2N3ZWItd2hpdGVcclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxMjAwcHgpIHtcclxuICAgIC5wYWdlLWxlZnQtdHdvIHtcclxuICAgICAgICB3aWR0aDogNzAlXHJcbiAgICB9XHJcblxyXG4gICAgLnBhZ2UtYmxvY2staGFsZiB7XHJcbiAgICAgICAgLnBhZ2UtbGVmdC10d28ge1xyXG4gICAgICAgICAgICB3aWR0aDogNTAlXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ucGFnZS1yaWdodC10d28ge1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yX2djd2ViLXdoaXRlO1xyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjEyMDBweCkge1xyXG4gICAgLnBhZ2UtcmlnaHQtdHdvIHtcclxuICAgICAgICB3aWR0aDogMzAlO1xyXG5cclxuICAgICAgICAuZ2N3ZWItc2lnbnBvc3RfX3RpdGxlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgLnBhZ2UtYmxvY2staGFsZiB7XHJcbiAgICAgICAgLnBhZ2UtcmlnaHQtdHdvIHtcclxuICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wYWdlLWxlZnQtb25lLWlubmVyLFxyXG4ucGFnZS1sZWZ0LXR3by1pbm5lcixcclxuLnBhZ2UtcmlnaHQtb25lLWlubmVyLFxyXG4ucGFnZS1yaWdodC10d28taW5uZXIge1xyXG4gICAgcGFkZGluZzogMFxyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjEyMDBweCkge1xyXG4gICAgLnBhZ2UtbGVmdC1vbmUtaW5uZXIgaDI6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIG1hcmdpbjogLTAuNnJlbSAwIDJyZW1cclxuICAgIH1cclxuXHJcbiAgICAucGFnZS1sZWZ0LW9uZS1pbm5lciBoMiB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMnJlbVxyXG4gICAgfVxyXG59XHJcblxyXG4ucGFnZS1jb250ZW50LW9uZSxcclxuLnBhZ2UtY29udGVudC10d28sXHJcbi5wYWdlLWNvbnRlbnQtdGhyZWUge1xyXG4gICAgd2lkdGg6IDEwMCVcclxufVxyXG5cclxuLnBhZ2UtY29udGVudC1pbm5lciB7XHJcbiAgICBwYWRkaW5nOiAxLjEyNXJlbSAxLjEyNXJlbSAyLjI1cmVtIDEuMTI1cmVtXHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NzY4cHgpIHtcclxuICAgIC5wYWdlLWNvbnRlbnQtaW5uZXIge1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIHBhZGRpbmc6IDEuMTI1cmVtIDAgMi4yNXJlbSAwO1xyXG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG1heC13aWR0aDogOTByZW07XHJcbiAgICAgICAgd2lkdGg6IDkwJVxyXG4gICAgfVxyXG59XHJcblxyXG4uZ2N3ZWItY2FsbG91dC1jb250YWluZXIge1xyXG5cclxuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcclxuXHJcbiAgICAuY2FsbG91dC1pY29uIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfZ2N3ZWItZ3JleS0zO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3JfZ2N3ZWItYmxhY2s7XHJcbiAgICAgICAgcGFkZGluZzogMnJlbTtcclxuICAgICAgICBtYXgtd2lkdGg6IDE1LjYzcmVtO1xyXG4gICAgfVxyXG5cclxuICAgIC5jYWxsb3V0IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICAgIEBpbmNsdWRlIGdjd2ViLWJvcmRlcjtcclxuICAgICAgICBAaW5jbHVkZSBnY3dlYi1ib3JkZXItcmFkaXVzKCk7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICAgICAgJi53YXJuaW5nIHtcclxuXHJcbiAgICAgICAgICAgIC5jYWxsb3V0LWljb24ge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2djd2ViLW9yYW5nZTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfZ2N3ZWItd2hpdGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuaW5mbyB7XHJcblxyXG4gICAgICAgICAgICAuY2FsbG91dC1pY29uIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9nY3dlYi1ibHVlO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5zdWNjZXNzIHtcclxuXHJcbiAgICAgICAgICAgIC5jYWxsb3V0LWljb24ge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2djd2ViLWdyZWVuO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5lcnJvciB7XHJcblxyXG4gICAgICAgICAgICAuY2FsbG91dC1pY29uIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9nY3dlYi1yZWQ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX2djd2ViLXdoaXRlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgLmNhbGxvdXQtY29udGVudCB7XHJcbiAgICAgICAgcGFkZGluZzogMzBweDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcblxyXG59XHJcblxyXG5cclxuXHJcbi5nY3dlYi1oZWFkaW5nLXByZSB7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIGNvbG9yOiAkY29sb3JfZ2N3ZWItZ3JleS0xO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcclxuICAgIHBhZGRpbmctYm90dG9tOiAwXHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG4udGltZWxpbmUge1xyXG4gICAgcGFkZGluZzogY2FsYygyICogI3s1cHh9KTtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcclxuXHJcbiAgICAuYWN0aW9uX25lZWRlZCB7XHJcbiAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogI2YzZjJmMTtcclxuICAgICAgICAvLyBwYWRkaW5nOiA1cHggMjBweCA1cHggMTVweDtcclxuICAgICAgICAvLyBib3gtc2hhZG93OiAwIDRweCAwIDAgI2IxYjRiNjtcclxuICAgICAgICAvLyBib3JkZXI6IDFweCBzb2xpZCAjYjFiNGI2O1xyXG5cclxuXHJcbiAgICAgICAgYm9yZGVyOiA1cHggc29saWQgJGNvbG9yX2djd2ViLWJsdWU7XHJcbiAgICAgICAgcGFkZGluZzogNXB4IDIwcHggNXB4IDE1cHg7XHJcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcblxyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuXHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB3aWR0aDogY2FsYygyICogMTBweCk7XHJcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygyICogMTBweCk7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcclxuICAgICAgICAgICAgYm9yZGVyOiA0cHggc29saWQgJGNvbG9yX2djd2ViLWJsdWU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICAgICAgbGVmdDogLTM3cHg7XHJcbiAgICAgICAgICAgIHRvcDogMnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBoMiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgb2wge1xyXG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMTBweDtcclxuICAgICAgICBtYXJnaW46IDAgMCAyMHB4IDA7XHJcblxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogLTEwcHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IC00LjVweDtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkICNiMWI0YjY7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAyJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID5saSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogNHB4IDAgMjBweCAxMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjREVFMEUyO1xyXG5cclxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDBweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnRpbWVsaW5lLXJlZmVyZW5jZSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogLTIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA5cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDIgKiAxMHB4KTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYygyICogMTBweCk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiA0cHggc29saWQgI2IxYjRiNjtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAtMzJweDtcclxuICAgICAgICAgICAgICAgIHRvcDogMnB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHVsIGxpIGEge1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi50aW1lbGluZS1kZXRhaWxzIHtcclxuICAgIG1hcmdpbjogMTBweCAwO1xyXG5cclxuICAgIHN1bW1hcnkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMC45ZW07XHJcbiAgICB9XHJcblxyXG4gICAgc3BhbiB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZm9udC1zaXplOiAwLjhlbTtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkICMwMDVFQTU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi50aW1lIHtcclxuICAgIGNvbG9yOiAjNmY3NzdiO1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxufVxyXG5cclxuXHJcblxyXG5cclxuLmdjd2ViLWhlcm8ge1xyXG5cclxuICAgIEBpbmNsdWRlIGdjd2ViLXJlc3BvbnNpdmUtcGFkZGluZygzLCAndG9wJyk7XHJcbiAgICBAaW5jbHVkZSBnY3dlYi1yZXNwb25zaXZlLXBhZGRpbmcoNSwgJ2JvdHRvbScpO1xyXG5cclxuICAgIC5nY3dlYi1jYXJkIGgyLFxyXG4gICAgLmdjd2ViLWNhcmQgcCB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvcl9nY3dlYi1ibGFjayAhaW1wb3J0YW50XHJcbiAgICB9XHJcblxyXG4gICAgcCB7XHJcbiAgICAgICAgQGluY2x1ZGUgZ2N3ZWItdHlwb2dyYXBoeS1yZXNwb25zaXZlKDIyKTtcclxuICAgIH1cclxufVxyXG5cclxuLmNvbG9yLWFscGhhIHtcclxuXHJcblxyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yX2djd2ViLXJlZDtcclxuXHJcbiAgICBkaXYge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3JfZ2N3ZWItd2hpdGUgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICBhIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yX2djd2ViLXdoaXRlO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgfVxyXG5cclxuICAgIC5nYy1iZXRhLXRhZyB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX2djd2ViLXllbGxvdztcclxuICAgICAgICBjb2xvcjogJGNvbG9yX2djd2ViLWJsYWNrO1xyXG4gICAgfVxyXG59XHJcblxyXG4uY29sb3ItYmV0YSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZGM1MDBjO1xyXG5cclxuICAgIGRpdiB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIGEge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3JfZ2N3ZWItd2hpdGU7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4uZ2N3ZWItY29uZGl0aW9uLWxpc3Qge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuXHJcbiAgICBvbCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcclxuICAgIH1cclxuXHJcbiAgICBvbCBsaSB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNmVtO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xyXG5cclxuICAgICAgICBwYWRkaW5nOiAxNXB4IDBweCAwcHggMjVweDtcclxuXHJcbiAgICB9XHJcbn1cclxuXHJcbi5jYWxsb3V0LWNvbnRlbnQge1xyXG5cclxuICAgIHAge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi5zdGlja3kge1xyXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3ApIHtcclxuICAgICAgICBwb3NpdGlvbjogc3RpY2t5ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgcG9zaXRpb246IC13ZWJraXQtc3RpY2t5ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgdG9wOiAyMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4uZ292dWstaW5zZXQtdGV4dCB7XHJcbiAgICBmb250LWZhbWlseTogJ051bml0bycgIWltcG9ydGFudDtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxufVxyXG5cclxuLmdvdnVrLWJyZWFkY3J1bWJzIGxpIHtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxufVxyXG5cclxuLmdjd2ViLXBhZ2luYXRpb24ge1xyXG5cclxuICAgICY6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNjBweDtcclxuICAgIH1cclxuXHJcbiAgICBiYWNrZ3JvdW5kOiAjZjNmMmYxO1xyXG4gICAgcGFkZGluZzogMTBweCAxNXB4O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG5cclxuXHJcbiAgICAmLmdjd2ViLXBhZ2luYXRpb24tLWxlZnQge1xyXG5cclxuICAgICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICMxZDcwYjg7XHJcblxyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmQwO1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICMwYjBjMGM7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDBweDtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgICYuZ2N3ZWItcGFnaW5hdGlvbi0tcmlnaHQge1xyXG5cclxuICAgICAgICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCAjMWQ3MGI4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cclxuICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZkMDtcclxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiA1cHggc29saWQgIzBiMGMwYztcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMHB4O1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG59XHJcblxyXG5cclxuLmFwcC1yZWxhdGVkLWl0ZW1zIHtcclxuICAgIGJvcmRlci10b3A6IDEwcHggc29saWQgIzU1NTU1NTtcclxuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xyXG59XHJcblxyXG5cclxuLmdjd2ViLWNvdmlkLXdyYXBwZXIge1xyXG5cclxuXHJcbiAgICBwIHtcclxuICAgICAgICBkaXYge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAtMTVweCAwcHggMzBweCAwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbkBpbmNsdWRlIG1xKCR1bnRpbDogZGVza3RvcCkge1xyXG5cclxuICAgIC5nY3dlYi1oaWRlLW9uLW1vYmlsZSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLmdvdnVrLWJyZWFkY3J1bWJzIHtcclxuICAgIG1hcmdpbjogMHB4O1xyXG4gICAgcGFkZGluZy10b3A6IDE1cHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuXHJcbiAgICAuZ292dWstYnJlYWRjcnVtYnNfX2xpc3QtaXRlbTpiZWZvcmUge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yX2djd2ViLXdoaXRlO1xyXG4gICAgfVxyXG59XHJcblxyXG4ueWVsbG93LWFsZXJ0IHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCAjZmZkZDAwO1xyXG59XHJcblxyXG4uZ2MtYmV0YS1iYW5uZXIge1xyXG4gICAgYmFja2dyb3VuZDogI2QyNDYwMjtcclxufVxyXG5cclxuXHJcblxyXG5AaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCkge1xyXG4gICAgLmpzLWVuYWJsZWQgLmdvdnVrLXRhYnNfX3BhbmVsIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDMwcHggMHB4O1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBib3JkZXItdG9wOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG5tYXJrIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XHJcbiAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICRjb2xvcl9nY3dlYi1ncmV5LTA7XHJcbn1cclxuXHJcblxyXG4uZ2N3ZWItc2VhcmNoLXJlc3VsdHMge1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIHBhZGRpbmc6IDBweDtcclxuICAgIG1hcmdpbjogMHB4O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi5nY3dlYi1zZWFyY2gtcmVzdWx0LS1pdGVtIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBtYXJnaW46IDBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDBweDtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYjFiNGI2O1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBAaW5jbHVkZSBnY3dlYi10eXBvZ3JhcGh5LXJlc3BvbnNpdmUoMTkpO1xyXG4gICAgcGFkZGluZzogMjBweCAwcHg7XHJcblxyXG4gICAgXHJcbiAgICBwIHtcclxuICAgICAgICBwYWRkaW5nOiAwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgYSxcclxuICAgIGE6dmlzaXRlZCxcclxuICAgIGE6YWN0aXZlLFxyXG4gICAgYTpsaW5rLFxyXG4gICAgYSBtYXJrIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yX2djd2ViLWJsdWU7XHJcbiAgICAgICAgQGluY2x1ZGUgZ2N3ZWItdHlwb2dyYXBoeS1yZXNwb25zaXZlKDIyKTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5nY3dlYi1zZWFyY2gtcmVzdWx0LS1sZWFkIHtcclxuICAgICAgICBAaW5jbHVkZSBnY3dlYi10eXBvZ3JhcGh5LXJlc3BvbnNpdmUoMTYpO1xyXG4gICAgICAgIG1hcmdpbjogMTBweCAwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmdjd2ViLXNlYXJjaC1yZXN1bHQtLW1ldGEge1xyXG4gICAgICAgXHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbiAgICBcclxuXHJcbiAgICAuZ2N3ZWItc2VhcmNoLXJlc3VsdC0tbWV0YS0tYXR0cmlidXRlLCAuZ2N3ZWItc2VhcmNoLXJlc3VsdC0tbWV0YS0tYXR0cmlidXRlIHNwYW4sIC5nY3dlYi1zZWFyY2gtcmVzdWx0LS1tZXRhLS1hdHRyaWJ1dGUgYSB7IFxyXG4gICAgICAgIFxyXG4gICAgICAgIEBpbmNsdWRlIGdjd2ViLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSgxNCk7XHJcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4gICAgdGltZSB7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZ2N3ZWItc2VhcmNoLXJlc3VsdC0taXRlbS1wcmlvcml0eSB7XHJcbiAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2djd2ViLWdyZXktMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbn1cclxuXHJcbi5nY3dlYi1zZWFyY2gtcmVzdWx0LS1pdGVtLXByaW9yaXR5Omxhc3Qtb2YtdHlwZSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLmdjLXZlcnRpY2FsLW5hdi0tY291bnQge1xyXG4gICAgcGFkZGluZzogMTJweCA1cHggOXB4IDVweDtcclxufVxyXG5cclxuLmdjLXZlcnRpY2FsLW5hdi0tY291bnQge1xyXG4gICAgbWluLXdpZHRoOiAzOXB4O1xyXG4gICAgbWluLWhlaWdodDogNDNweDtcclxufVxyXG5cclxuLmdjLXZlcnRpY2FsLW5hdl9fbGluazpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZjNmMmYxO1xyXG59XHJcblxyXG5cclxuXHJcbi5nY3dlYi1tZXRhLXRhZyB7XHJcbiAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3JfZ2N3ZWItZ3JleS01O1xyXG59XHJcblxyXG5cclxuLmdjd2ViLW5vLXN0eWxlIHtcclxuICAgIGJvcmRlcjogaW5oZXJpdCAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZDogaW5oZXJpdCAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XHJcbiAgICBwYWRkaW5nOiBpbmhlcml0ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcblxyXG4uZ2Mtc2VhcmNoLXJlc3VsdCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgIHBhZGRpbmc6IDE1cHggMHB4IDI1cHggMHB4O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvcl9nY3dlYi1ibGFjaztcclxufVxyXG5cclxuXHJcbi5nY3dlYi1jb250ZW50LWdyb3VwIHtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBwYWRkaW5nOiAwcHg7XHJcbiAgICBtYXJnaW46IDBweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4uZ2N3ZWItY29udGVudC1ncm91cC0taXRlbSB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgbWFyZ2luOiAwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2IxYjRiNjtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgQGluY2x1ZGUgZ2N3ZWItdHlwb2dyYXBoeS1yZXNwb25zaXZlKDE5KTtcclxuXHJcblxyXG4gICAgYSB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLmdjd2ViLWNvbnRlbnQtZ3JvdXAtLXRpdGxlIHtcclxuICAgICAgICBAaW5jbHVkZSBnY3dlYi10eXBvZ3JhcGh5LXJlc3BvbnNpdmUoMTkpO1xyXG4gICAgICAgIG1hcmdpbjogMTBweCAwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmdjd2ViLWNvbnRlbnQtZ3JvdXAtbWV0YSB7XHJcbiAgICAgICAgQGluY2x1ZGUgZ2N3ZWItdHlwb2dyYXBoeS1yZXNwb25zaXZlKDE2KTtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcclxuICAgIH1cclxuXHJcbiAgICAuZ2N3ZWItY29udGVudC1ncm91cC0tbWV0YS0tYXR0cmlidXRlIHtcclxuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIHRpbWUge1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxufVxyXG5cclxuLmdjd2ViLWNvbnRlbnQtZ3JvdXAtLWl0ZW0tYm9yZGVyZWQge1xyXG4gICAgcGFkZGluZzogMTVweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9nY3dlYi1ncmV5LTBcclxufVxyXG5cclxuLmdjLXZlcnRpY2FsLW5hdi0tY291bnQge1xyXG4gICAgcGFkZGluZzogMTJweCA1cHggOXB4IDVweDtcclxufVxyXG5cclxuLmdjLXZlcnRpY2FsLW5hdi0tY291bnQge1xyXG4gICAgbWluLXdpZHRoOiA0NXB4O1xyXG4gICAgbWluLWhlaWdodDogNDNweDtcclxufVxyXG5cclxuLmdjLXZlcnRpY2FsLW5hdl9fbGluazpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZjNmMmYxO1xyXG59XHJcblxyXG4uZ2N3ZWItbWV0YS10YWcge1xyXG4gICAgcGFkZGluZzogNXB4O1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yX2djd2ViLWdyZXktNTtcclxufVxyXG5cclxuXHJcbi5nY3dlYi1uby1zdHlsZSB7XHJcbiAgICBib3JkZXI6IGluaGVyaXQgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQ6IGluaGVyaXQgIWltcG9ydGFudDtcclxuICAgIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZzogaW5oZXJpdCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuLmdjLXNlYXJjaC1yZXN1bHQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICBwYWRkaW5nOiAxNXB4IDBweCAyNXB4IDBweDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JfZ2N3ZWItYmxhY2s7XHJcbn1cclxuXHJcbi5ncmVjYXB0Y2hhLWJhZGdlIHtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuc3Bhbi5nY3dlYi1oZWFkaW5nLWwsXHJcbnNwYW4uZ2N3ZWItaGVhZGluZy1tIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZy10b3A6IDNweDtcclxufVxyXG5cclxuXHJcblxyXG5cclxuLmdjLXNlYXJjaCAuaW5uZXItZm9ybSB7XHJcblxyXG4gICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yX2djd2ViLWJsYWNrO1xyXG4gICAgQGluY2x1ZGUgZ2N3ZWItYm9yZGVyLXJhZGl1cygpO1xyXG5cclxuICAgIC5pbnB1dC1maWVsZCBpbnB1dCB7XHJcblxyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZGQwMDtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgNHB4ICNmZmRkMDA7XHJcbiAgICAgICAgICAgIG91dGxpbmU6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDRweDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4IDBweCAwcHggNHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaW5wdXQtZmllbGQudGhpcmQtd3JhcCB7XHJcblxyXG5cclxuICAgICAgICBtYXJnaW4tbGVmdDogMHB4O1xyXG5cclxuICAgICAgICAuYnRuLXNlYXJjaCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX2djd2ViLWJsYWNrO1xyXG5cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFlYWVhO1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuXHJcbiAgICAgICAgICAgICAgICAuZ2N3ZWItaWNvbl9fc2VhcmNoIHtcclxuICAgICAgICAgICAgICAgICAgICBmaWxsOiAkY29sb3JfZ2N3ZWItYmxhY2s7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcblxyXG5cclxuXHJcbiAgICAgICAgICAgIC5nY3dlYi1pY29uX19zZWFyY2gge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyN3B4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDI3cHg7XHJcbiAgICAgICAgICAgICAgICBmaWxsOiAkY29sb3JfZ2N3ZWItd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLmdjd2ViLWhlcm8ge1xyXG5cclxuICAgIC5nYy1zZWFyY2gge1xyXG4gICAgICAgIC5pbm5lci1mb3JtIHtcclxuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBnY3dlYi1ib3JkZXItcmFkaXVzKCk7XHJcblxyXG4gICAgICAgICAgICAuaW5wdXQtZmllbGQgaW5wdXQge1xyXG5cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcblxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmRkMDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgNHB4ICNmZmRkMDA7XHJcbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgIG91dGxpbmUtb2Zmc2V0OiA0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4IDBweCAwcHggNHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuaW5wdXQtZmllbGQudGhpcmQtd3JhcCB7XHJcblxyXG5cclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7XHJcblxyXG4gICAgICAgICAgICAgICAgLmJ0bi1zZWFyY2gge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDBweCA0cHggNHB4IDBweDtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZWFlYWVhO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE3MWIxZjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgLmdjd2ViLWljb25fX3NlYXJjaCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAkY29sb3JfZ2N3ZWItd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZkZDAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDAgMCAjMTcxYjFmO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzE3MWIxZjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvdXRsaW5lLW9mZnNldDogNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgLmdjd2ViLWljb25fX3NlYXJjaCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAkY29sb3JfZ2N3ZWItYmxhY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICAgICAgICAgICAgICAuZ2N3ZWItaWNvbl9fc2VhcmNoIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyN3B4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjdweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogIzM1NDk3MztcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG4uZ292dWstY2hlY2tib3hlcy0tc21hbGwgLmdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsOjphZnRlciB7XHJcbiAgICB0b3A6IDE2cHg7XHJcbiAgICBsZWZ0OiA3cHg7XHJcbiAgICB3aWR0aDogMTFweDtcclxuICAgIGhlaWdodDogNS41cHg7XHJcbiAgICBib3JkZXItd2lkdGg6IDAgMCAycHggMnB4O1xyXG59XHJcblxyXG5cclxuLmdjd2ViLWZpbHRlciB7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG59XHJcblxyXG4uZ2N3ZWItb3B0aW9uLXNlbGVjdF9fY29udGFpbmVyIHtcclxuXHJcbiAgICBtYXgtaGVpZ2h0OiAyNDBweDtcclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbn1cclxuXHJcbi5nY3dlYi1vcHRpb24tc2VsZWN0X19jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIHdpZHRoOiA3cHg7XHJcbn1cclxuXHJcbi5nY3dlYi1vcHRpb24tc2VsZWN0X19jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcclxuICAgIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg3KTtcclxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODcpO1xyXG59XHJcblxyXG4uZ2N3ZWItaGVyby0tbWV0YSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3JfZ2N3ZWItZ3JleS0zO1xyXG4gICAgcGFkZGluZzogMTVweCAwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAtMzJweDtcclxuXHJcblxyXG5cclxuICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGFyZ2UtZGVza3RvcCkge1xyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogdGFibGV0KSB7XHJcbiAgICAgICAgZGl2IHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHJcblxyXG5cclxuICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IDMwJVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgYSB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvcl9nY3dlYi1ibHVlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblxyXG5cclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG4vLyBEYXRhIHN0dWZmXHJcblxyXG4uZ2N3ZWItZGF0YS1zdGF0LWNvbnRhaW5lciB7XHJcblxyXG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIEBpbmNsdWRlIGdjd2ViLXJlc3BvbnNpdmUtcGFkZGluZygwKTtcclxuICAgIEBpbmNsdWRlIGdjd2ViLXJlc3BvbnNpdmUtbWFyZ2luKDApO1xyXG5cclxuICAgIC5nY3dlYi1kYXRhLXN0YXQtaWNvbiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2djd2ViLWdyZXktMztcclxuICAgICAgICBjb2xvcjogJGNvbG9yX2djd2ViLWJsYWNrO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBnY3dlYi1yZXNwb25zaXZlLXBhZGRpbmcoNCk7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxNS42M3JlbTtcclxuICAgIH1cclxuXHJcbiAgICAuZ2N3ZWItZGF0YS1zdGF0IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgbWFyZ2luOiAwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgZ2N3ZWItYm9yZGVyO1xyXG4gICAgICAgIEBpbmNsdWRlIGdjd2ViLWJvcmRlci1yYWRpdXMoKTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIEBpbmNsdWRlIGdjd2ViLXJlc3BvbnNpdmUtbWFyZ2luKDMsICdib3R0b20nKTtcclxuXHJcbiAgICAgICAgJi53YXJuaW5nIHtcclxuXHJcbiAgICAgICAgICAgIC5nY3dlYi1kYXRhLXN0YXQtaWNvbiB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfZ2N3ZWItb3JhbmdlO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5pbmZvIHtcclxuXHJcbiAgICAgICAgICAgIC5nY3dlYi1kYXRhLXN0YXQtaWNvbiB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfZ2N3ZWItYmx1ZTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfZ2N3ZWItd2hpdGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuc3VjY2VzcyB7XHJcblxyXG4gICAgICAgICAgICAuZ2N3ZWItZGF0YS1zdGF0LWljb24ge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2djd2ViLWdyZWVuO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5lcnJvciB7XHJcblxyXG4gICAgICAgICAgICAuZ2N3ZWItZGF0YS1zdGF0LWljb24ge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2djd2ViLXJlZDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfZ2N3ZWItd2hpdGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuXHJcbiAgICAuZ2N3ZWItZGF0YS1zdGF0LWNvbnRlbnQge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB3aWR0aDogNzAlO1xyXG4gICAgICAgIEBpbmNsdWRlIGdjd2ViLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSgxOSk7XHJcbiAgICAgICAgQGluY2x1ZGUgZ2N3ZWItcmVzcG9uc2l2ZS1wYWRkaW5nKDQpO1xyXG5cclxuICAgICAgICAuZGF0YS1zdGF0LWNvbnRlbnQtLXRpdGxlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZ2N3ZWItdHlwb2dyYXBoeS1yZXNwb25zaXZlKDE5KTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZ2N3ZWItcmVzcG9uc2l2ZS1tYXJnaW4oMCwgJ2JvdHRvbScpO1xyXG5cclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5kYXRhLXN0YXQtY29udGVudC0tbWV0YSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfZ2N3ZWItZ3JleS0xO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBnY3dlYi10eXBvZ3JhcGh5LXJlc3BvbnNpdmUoMTQpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBnY3dlYi1yZXNwb25zaXZlLW1hcmdpbigwLCAnYm90dG9tJyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5nY3dlYi1kYXRhLXN0YXQtdmFsdWUge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBnY3dlYi1yZXNwb25zaXZlLXBhZGRpbmcoNCk7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHdpZHRoOiAzMCU7XHJcbiAgICAgICAgQGluY2x1ZGUgZ2N3ZWItdHlwb2dyYXBoeS1yZXNwb25zaXZlKDI0KTtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGVuZDtcclxuICAgIH1cclxuXHJcblxyXG5cclxuXHJcbn1cclxuXHJcbi5jb2RlLWJsb2NrLXZpZXctLWlmcmFtZS1jb250YWluZXIge1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuLmdjd2ViLXN0cnVjdHVyZWQtLWxpc3QtbnVtYmVyIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbn1cclxuXHJcbi5nY3dlYi1zdHJ1Y3R1cmVkLS1saXN0LWNvbnRlbnQge1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxufVxyXG5cclxuLmdvdnVrLWFjY29yZGlvbi5nY3dlYi1zdHJ1Y3R1cmVkIHtcclxuXHJcbiAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgJGNvbG9yX2djd2ViLWdyZXktNDtcclxuXHJcblxyXG4gICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1oZWFkZXIge1xyXG4gICAgICAgIGJvcmRlci10b3A6IDNweCBzb2xpZCAkY29sb3JfZ2N3ZWItZ3JleS00O1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWhlYWRpbmcge1xyXG4gICAgICAgIGJvcmRlci1yaWdodDogM3B4IHNvbGlkICRjb2xvcl9nY3dlYi1ncmV5LTQ7XHJcbiAgICB9XHJcblxyXG4gICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1oZWFkaW5nLFxyXG4gICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1idXR0b24ge1xyXG4gICAgICAgIEBpbmNsdWRlIGdjd2ViLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSgxOSk7XHJcbiAgICB9XHJcblxyXG4gICAgb2wuZ292dWstbGlzdCBsaSB7XHJcbiAgICAgICAgQGluY2x1ZGUgZ2N3ZWItcmVzcG9uc2l2ZS1tYXJnaW4oMywgJ2JvdHRvbScpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAuZ2N3ZWItc3RydWN0dXJlZC0tbnVtYmVyIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5nY3dlYi1zdHJ1Y3R1cmVkLS1saXN0LW51bWJlciB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBAaW5jbHVkZSBnY3dlYi10eXBvZ3JhcGh5LXJlc3BvbnNpdmUoMTYpO1xyXG4gICAgfVxyXG5cclxuICAgIC5nY3dlYi1zdHJ1Y3R1cmVkLS1saXN0LWNvbnRlbnQge1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogNDBweDtcclxuICAgICAgICBAaW5jbHVkZSBnY3dlYi10eXBvZ3JhcGh5LXJlc3BvbnNpdmUoMTYpO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG4uZ2N3ZWItc3RydWN0dXJlZCB7XHJcblxyXG5cclxuICAgIG9sLmdvdnVrLWxpc3QgbGkge1xyXG4gICAgICAgIEBpbmNsdWRlIGdjd2ViLXJlc3BvbnNpdmUtbWFyZ2luKDMsICdib3R0b20nKTtcclxuICAgIH1cclxuXHJcbiAgICAuZ2N3ZWItc3RydWN0dXJlZC0tbnVtYmVyIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5nY3dlYi1zdHJ1Y3R1cmVkLS1saXN0LW51bWJlciB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBAaW5jbHVkZSBnY3dlYi10eXBvZ3JhcGh5LXJlc3BvbnNpdmUoMTYpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcblxyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5nY3dlYi1zdHJ1Y3R1cmVkLS1saXN0LWNvbnRlbnQge1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgQGluY2x1ZGUgZ2N3ZWItdHlwb2dyYXBoeS1yZXNwb25zaXZlKDE2KTtcclxuICAgIH1cclxufVxyXG5cclxuLmdjd2ViLWNvbmRpdGlvbi1saXN0PiB7XHJcbiAgICBvbD5saT5wIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLmdjd2ViLWNvbmRpdGlvbiB7XHJcblxyXG4gICAgLmdjd2ViLXN0cnVjdHVyZWQtLWxpc3QtbnVtYmVyLFxyXG4gICAgLmdjd2ViLXN0cnVjdHVyZWQtLWxpc3QtY29udGVudCB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiU3BhcnRhblwiICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgYWJiciB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4ICRjb2xvcl9nY3dlYi1ibGFjayBkb3R0ZWQ7XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLmdsb3NzYXJ5LWFscGhhYmV0IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBwb3NpdGlvbjogLXdlYmtpdC1zdGlja3k7XHJcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xyXG4gICAgdG9wOiAwO1xyXG4gICAgb3ZlcmZsb3cteDogYXV0bztcclxuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcclxuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfZ2N3ZWItZ3JleS02O1xyXG4gICAgbWFyZ2luOiAwIDAgMS41cmVtO1xyXG4gICAgaGVpZ2h0OiBjYWxjKDNyZW0gKyA3cHgpO1xyXG4gICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICBsaSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAuNWVtO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICB9XHJcblxyXG4gICAgbGkgYTpsaW5rLFxyXG4gICAgbGkgYTp2aXNpdGVkIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgY29sb3I6ICMxMTBhMWQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpIHtcclxuXHJcbiAgICAuZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zLFxyXG4gICAgLmdvdnVrLXN1bW1hcnktbGlzdF9fa2V5LFxyXG4gICAgLmdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAyNXB4O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAkY29sb3JfZ2N3ZWItZ3JleS00O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbi5nYy12ZXJ0aWNhbC1uYXZfX3NlY3Rpb24ge1xyXG5cclxuICAgIC5nYy12ZXJ0aWNhbC1uYXZfX3NlY3Rpb24taXRlbS0tY3VycmVudC0tY2hpbGQtYWN0aXZlIHtcclxuICAgICAgICAuZ2MtdmVydGljYWwtbmF2X19saW5rIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmdjLXZlcnRpY2FsLW5hdl9fc2VjdGlvbiB7XHJcblxyXG5cclxuXHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG5cclxuICAgICAgICAuZ2MtdmVydGljYWwtbmF2X19zZWN0aW9uLWl0ZW0ge1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcclxuXHJcbiAgICAgICAgICAgIDpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogXCLigJRcIjtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmdjLXZlcnRpY2FsLW5hdl9fc2VjdGlvbi1pdGVtLS1jdXJyZW50IHtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9nY3dlYi1ncmV5LTY7XHJcblxyXG4gICAgICAgICAgICAuZ2MtdmVydGljYWwtbmF2X19saW5rIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG5cclxuXHJcbiAgICB9XHJcbn1cclxuXHJcbi5nY3dlYi1ib3JkZXJlZC1saXN0IHtcclxuXHJcbiAgICA+bGkge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ2N3ZWItYm9yZGVyLWNvbG9yO1xyXG4gICAgICAgIEBpbmNsdWRlIGdjd2ViLXJlc3BvbnNpdmUtcGFkZGluZygyLCAndG9wJyk7XHJcbiAgICAgICAgQGluY2x1ZGUgZ2N3ZWItcmVzcG9uc2l2ZS1wYWRkaW5nKDMsICdib3R0b20nKTtcclxuICAgIH1cclxuXHJcbiAgICA6bGFzdC1vZi10eXBlIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBnY3dlYi1yZXNwb25zaXZlLXBhZGRpbmcoMCwgJ2JvdHRvbScpO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4kY29sb3Jfd2hpdGU6ICNmZmY7XHJcbiRjb2xvcl9wcmltZTogIzVhZDY3ZDtcclxuJGNvbG9yX2dyZXk6ICNlMmUyZTI7XHJcbiRjb2xvcl9ncmV5X2Rhcms6ICNhMmEyYTI7XHJcblxyXG4uYmxvZy1jYXJkLWdyb3VwIHtcclxuICAgIHBhZGRpbmctbGVmdDogMHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIG1hcmdpbjogMCAtMTBweDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxufVxyXG5cclxuLmJsb2ctY2FyZCB7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgbWFyZ2luOiAxcmVtIGF1dG87XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxLjYlO1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yX2djd2ViLXdoaXRlO1xyXG4gICAgQGluY2x1ZGUgZ2N3ZWItYm9yZGVyLXJhZGl1cygpO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBtYXJnaW46IDAgMTBweCAyNXB4IDEwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICBmbGV4LWJhc2lzOiAyMyU7XHJcblxyXG5cclxuXHJcbiAgICAubWV0YSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHotaW5kZXg6IDA7XHJcbiAgICAgICAgaGVpZ2h0OiAyMDBweDtcclxuICAgIH1cclxuXHJcbiAgICAucGhvdG8ge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycztcclxuICAgIH1cclxuXHJcbiAgICAuZGV0YWlscyxcclxuICAgIC5kZXRhaWxzIHVsIHtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5kZXRhaWxzIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBsZWZ0OiAtMTAwJTtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgdHJhbnNpdGlvbjogbGVmdCAuMnM7XHJcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgjMDAwLCAuNik7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvcl93aGl0ZTtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogLjlyZW07XHJcblxyXG4gICAgfVxyXG5cclxuICAgIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgcGFkZGluZzogMXJlbTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfZ2N3ZWItd2hpdGU7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcblxyXG4gICAgICAgIC5yZWFkLW1vcmUge1xyXG4gICAgICAgICAgICBhIHtcclxuXHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgbWFyZ2luOiAxcmVtIDAgMDtcclxuXHJcbiAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMS4yNXJlbTtcclxuXHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDVweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9nY3dlYi15ZWxsb3c7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMzVweDtcclxuICAgICAgICAgICAgICAgIHRvcDogLTAuNzVyZW07XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcclxuXHJcbiAgICAgICAgLm1ldGEge1xyXG4gICAgICAgICAgICBmbGV4LWJhc2lzOiA0MCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDYwJTtcclxuXHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2tld1goLTNkZWcpO1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMzBweDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IC0xMHB4O1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuYWx0IHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG5cclxuICAgICAgICAgICAgLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBpbmhlcml0O1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtMTBweDtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoM2RlZylcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmRldGFpbHMge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtcSgkdW50aWw6IHRhYmxldCkge1xyXG4gICAgLmJsb2ctY2FyZC1ncm91cCB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDBweDtcclxuICAgIH1cclxuXHJcbiAgICAuYmxvZy1jYXJkIHtcclxuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xyXG4gICAgICAgIG1hcmdpbjogMTVweCBhdXRvO1xyXG5cclxuICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIkBpbXBvcnQgXCJjb3JlL2FsbFwiO1xyXG5cclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYWxsXCI7XHJcblxyXG5AaW1wb3J0IFwidG9wbmF2XCI7XHJcbkBpbXBvcnQgXCJpbmZvcGFuZWxcIjtcclxuQGltcG9ydCBcImJ1dHRvblwiO1xyXG5AaW1wb3J0IFwiaGVhZGVyXCI7XHJcbkBpbXBvcnQgXCJzaWducG9zdFwiO1xyXG5AaW1wb3J0IFwiYnJhbmRpbmdcIjtcclxuQGltcG9ydCBcImxheW91dFwiO1xyXG5AaW1wb3J0IFwiY292ZXJzXCI7XHJcbkBpbXBvcnQgXCJsY2NwXCI7XHJcbkBpbXBvcnQgXCJhdHRhY2htZW50c1wiO1xyXG5AaW1wb3J0IFwiZm9vdGVyXCI7XHJcbkBpbXBvcnQgXCJjYXJkc1wiO1xyXG5AaW1wb3J0IFwiZ2VuZXJhbFwiO1xyXG5AaW1wb3J0IFwidGFibGVcIjtcclxuXHJcbiIsIi8vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8vXHJcbi8vICNDT1JFXHJcbi8vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8vXHJcblxyXG5cclxuXHJcbi8vIFNldHRpbmdzXHJcbkBpbXBvcnQgJ3NldHRpbmdzL2FsbCc7XHJcblxyXG4vLyBUb29sc1xyXG5AaW1wb3J0ICd0b29scy9hbGwnO1xyXG5cclxuLy8gR2VuZXJpY1xyXG5AaW1wb3J0ICdnZW5lcmljL2JveC1zaXppbmcnO1xyXG5AaW1wb3J0ICdnZW5lcmljL2ZvbnQtZmFjZSc7XHJcbkBpbXBvcnQgJ2dlbmVyaWMvaWUnO1xyXG5cclxuLy8gRWxlbWVudHNcclxuQGltcG9ydCAnZWxlbWVudHMvZm9ybXMnO1xyXG5AaW1wb3J0ICdlbGVtZW50cy9saW5rcyc7XHJcbkBpbXBvcnQgJ2VsZW1lbnRzL3BhZ2UnO1xyXG5AaW1wb3J0ICdlbGVtZW50cy90YWJsZSc7XHJcblxyXG4vLyBPYmplY3RzXHJcbkBpbXBvcnQgJ29iamVjdHMvZm9ybS1ncm91cCc7XHJcbkBpbXBvcnQgJ29iamVjdHMvZ3JpZCc7XHJcbkBpbXBvcnQgJ29iamVjdHMvbWFpbi13cmFwcGVyJztcclxuQGltcG9ydCAnb2JqZWN0cy93aWR0aC1jb250YWluZXInO1xyXG5cclxuLy8gU3R5bGVzXHJcbkBpbXBvcnQgJ3N0eWxlcy9pY29ucyc7XHJcbkBpbXBvcnQgJ3N0eWxlcy9saXN0cyc7XHJcbkBpbXBvcnQgJ3N0eWxlcy9zZWN0aW9uLWJyZWFrJztcclxuQGltcG9ydCAnc3R5bGVzL3R5cG9ncmFwaHknO1xyXG5cclxuLy8gVXRpbGl0aWVzXHJcbkBpbXBvcnQgJ3V0aWxpdGllcy9jbGVhcmZpeCc7XHJcbkBpbXBvcnQgJ3V0aWxpdGllcy9ncmlkLXdpZHRocyc7XHJcbkBpbXBvcnQgJ3V0aWxpdGllcy9saW5rLW5vd3JhcCc7XHJcbkBpbXBvcnQgJ3V0aWxpdGllcy9yZWFkaW5nLXdpZHRoJztcclxuQGltcG9ydCAndXRpbGl0aWVzL3NwYWNpbmcnO1xyXG5AaW1wb3J0ICd1dGlsaXRpZXMvdHlwb2dyYXBoeSc7XHJcbkBpbXBvcnQgJ3V0aWxpdGllcy92aXN1YWxseS1oaWRkZW4nO1xyXG5AaW1wb3J0ICd1dGlsaXRpZXMvd2lkdGhzJztcclxuXHJcbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbi8vICNTRVRUSU5HU1xyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuQGltcG9ydCAnYnJlYWtwb2ludHMnO1xyXG5AaW1wb3J0ICdjb2xvdXJzJztcclxuQGltcG9ydCAnZ2xvYmFscyc7XHJcbkBpbXBvcnQgJ3NwYWNpbmcnO1xyXG5AaW1wb3J0ICd0eXBvZ3JhcGh5JztcclxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gU0VUVElOR1MgLyAjQlJFQUtQT0lOVFNcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuXHJcbi8vXHJcbi8vIHNhc3MtbXEgY29uZmlnIC0gaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcVxyXG4vL1xyXG4vLyBtcSgpIHRha2VzIHVwIHRvIHRocmVlIG9wdGlvbmFsIHBhcmFtZXRlcnM6XHJcbi8vICRmcm9tOiBpbmNsdXNpdmUgbWluLXdpZHRoIGJvdW5kYXJ5XHJcbi8vICR1bnRpbDogZXhjbHVzaXZlIG1heC13aWR0aCBib3VuZGFyeVxyXG4vLyAkYW5kOiBhZGRpdGlvbmFsIGN1c3RvbSBkaXJlY3RpdmVzXHJcbi8vICRtZWRpYS10eXBlOiAkbXEtbWVkaWEtdHlwZSAvLyBkZWZhdWx0cyB0byAnYWxsJ1xyXG4vL1xyXG4vLyAxLiBUbyBlbmFibGUgc3VwcG9ydCBmb3IgYnJvd3NlcnMgdGhhdCBkbyBub3Qgc3VwcG9ydCBAbWVkaWEgcXVlcmllcyxcclxuLy8gICAgKElFIDw9IDgsIEZpcmVmb3ggPD0gMywgT3BlcmEgPD0gOSkgc2V0ICRtcS1yZXNwb25zaXZlIHRvIGZhbHNlXHJcbi8vICAgIENyZWF0ZSBhIHNlcGFyYXRlIHN0eWxlc2hlZXQgc2VydmVkIGV4Y2x1c2l2ZWx5IHRvIHRoZXNlIGJyb3dzZXJzLFxyXG4vLyAgICBtZWFuaW5nIEBtZWRpYSBxdWVyaWVzIHdpbGwgYmUgcmFzdGVyaXplZCwgcmVseWluZyBvbiB0aGUgY2FzY2FkZSBpdHNlbGZcclxuLy8gMi4gRGVmaW5lIHRoZSBicmVha3BvaW50IGZyb20gdGhlICRtcS1icmVha3BvaW50cyBsaXN0IHRoYXQgc2hvdWxkXHJcbi8vICAgIGJlIHVzZWQgYXMgdGhlIHRhcmdldCB3aWR0aCB3aGVuIG91dHB1dHRpbmcgYSBzdGF0aWMgc3R5bGVzaGVldFxyXG4vLyAgICAoaS5lLiB3aGVuICRtcS1yZXNwb25zaXZlIGlzIHNldCB0byAnZmFsc2UnKS5cclxuLy8vXHJcblxyXG4kbXEtcmVzcG9uc2l2ZTogdHJ1ZTsgLy8gWzFdIC8vXHJcblxyXG4kbXEtYnJlYWtwb2ludHM6IChcclxuICBtb2JpbGU6ICAzMjBweCxcclxuICB0YWJsZXQ6ICA2NDFweCxcclxuICBkZXNrdG9wOiA3NjlweCxcclxuICBsYXJnZS1kZXNrdG9wOiA5OTBweFxyXG4pO1xyXG5cclxuJG1xLXN0YXRpYy1icmVha3BvaW50OiBkZXNrdG9wOyAvLyBbMl0gLy9cclxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gU0VUVElOR1MgLyAjQ09MT1VSU1xyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuLy9cclxuLy8gR2FtYmxpbmYgQ29tbWlzc2lvbiBjb2xvdXIgcGFsZXR0ZVxyXG4vL1xyXG4vLyBDb2xvdXJzIGFyZSBwcmVmaXhlZCB3aXRoIGNvbG9yXyB0byBtYWtlIHRoZW0gZWFzaWVyIHRvXHJcbi8vIHNlYXJjaCBmb3Igd2l0aGluIHRoZSBjb2RlIGJhc2UuXHJcbi8vXHJcbi8vIFdlIGFsc28gcHJlZml4IHRoZW0gd2l0aCBnY3dlYi0gdG8gcHJldmVudCBjbGFzaGluZyB3aXRoXHJcbi8vIG90aGVyIGNvbG91cnMgaW4gZXhpc3RpbmcgY29kZSBiYXNlcy5cclxuLy9cclxuLy8gV2UgdXNlIHRoZSB3b3JkIGNvbG9yLCBub3QgY29sb3VyLCBmb3IgdmFyaWFibGVzLlxyXG4vL1xyXG5cclxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tY29sb3ItaGV4XHJcblxyXG4kY29sb3JfZ2N3ZWItd2hpdGU6ICNmZmZmZmY7XHJcbiRjb2xvcl9nY3dlYi1ibGFjazogIzE3MWIxZjtcclxuXHJcbiRjb2xvcl9nY3dlYi1kYXJrOiAjNDg0NjQ2O1xyXG5cclxuJGNvbG9yX2djd2ViLWRhcmtlci1ibHVlOiAjMDU2NjhEO1xyXG4kY29sb3JfZ2N3ZWItYmx1ZTogIzM1NDk3MztcclxuLy8kY29sb3JfZ2N3ZWItZ3JlZW46ICM1YTgxMzA7XHJcbiRjb2xvcl9nY3dlYi1kYXJrZXItZ3JlZW46ICM0MTdCNUE7XHJcbi8vJGNvbG9yX2djd2ViLWRhcmtlci1ncmVlbjogIzMyNjAxMTtcclxuJGNvbG9yX2djd2ViLWdyZWVuOiAjMzQ2MjQ4O1xyXG4kY29sb3JfZ2N3ZWItcmVkOiAjYjIyMjIyO1xyXG4kY29sb3JfZ2N3ZWIteWVsbG93OiAjZmZkZDAwO1xyXG4kY29sb3JfZ2N3ZWItcHVycGxlOiAjMzMwMDcyO1xyXG4kY29sb3JfZ2N3ZWItZGFyay1waW5rOiAjN0MyODU1O1xyXG5cclxuJGNvbG9yX2djd2ViLXBpbms6ICNkNDI3Njc7XHJcbiRjb2xvcl9nY3dlYi1vcmFuZ2U6ICNGRUE2MjM7XHJcblxyXG4kZ2N3ZWItdHdpdHRlci1ibHVlOiAjMDBhY2VkO1xyXG5cclxuJGdjd2ViLWRhdmV5LWdyZXk6ICM0NzRBNDg7XHJcbiRnY3dlYi1kYXZleS1ncmV5LWRhcms6ICMzOTNiM2E7XHJcblxyXG4vL1xyXG4vLyBTZWNvbmRhcnkgY29sb3Vyc1xyXG4vL1xyXG5cclxuXHJcbiRjb2xvcl9nY3dlYi1wYWxlLXllbGxvdzogI0ZGREU1QTtcclxuJGNvbG9yX2djd2ViLXdhcm0teWVsbG93OiAjZmZiODFDO1xyXG4kY29sb3JfZ2N3ZWItYXF1YS1ncmVlbjogIzAwQTQ5OTtcclxuXHJcbiRjb2xvcl9nY3dlYi1wYWxlLWdyZWVuOiAjZTFlYWQ3O1xyXG4kY29sb3JfZ2N3ZWItcGFsZS1vcmFuZ2U6ICNmZmVkZDM7XHJcbiRjb2xvcl9nY3dlYi1wYWxlLWJsdWU6ICNjZGUwZTg7XHJcbiRjb2xvcl9nY3dlYi1wYWxlLXBpbms6ICNlNWQ0ZGQ7XHJcbiRjb2xvcl9nY3dlYi1wYWxlLXJlZDogI2Y3ZTllOTtcclxuXHJcbi8vXHJcbi8vIEdyZXlzY2FsZVxyXG4vL1xyXG5cclxuXHJcbiRjb2xvcl9nY3dlYi1ncmV5LTA6ICMyZTJlMmU7XHJcbiRjb2xvcl9nY3dlYi1ncmV5LTE6ICM2ZDZkNmQ7XHJcbiRjb2xvcl9nY3dlYi1ncmV5LTI6ICM5Nzk3OTc7XHJcbiRjb2xvcl9nY3dlYi1ncmV5LTM6ICNjMGMwYzA7XHJcbiRjb2xvcl9nY3dlYi1ncmV5LTQ6ICNkNWQ1ZDU7XHJcbiRjb2xvcl9nY3dlYi1ncmV5LTU6ICNlYWVhZWE7XHJcbiRjb2xvcl9nY3dlYi1ncmV5LTY6ICNGM0YyRjE7XHJcblxyXG5cclxuLy9cclxuLy8gUkdCIGFuZCBhbHBoYSB2YWx1ZXNcclxuLy9cclxuLy8gVXNlZCB0byBjcmVhdGUgZHJvcC9ib3ggc2hhZG93cyBlLmcuIGZvciBzZWFyY2ggc3VnZ2VzdGlvbnMgZHJvcGRvd25cclxuLy9cclxuXHJcbiRjb2xvcl9nY3dlYi1ncmV5LTEtcmdiOiByZ2IoNjYsIDg0LCA5OCk7XHJcbiRhbHBoYS10cmFuc3BhcmVuY3ktNTA6IC41O1xyXG5cclxuXHJcblxyXG4vL1xyXG4vLyBGdW5jdGlvbnMgZm9yIHRpbnQgYW5kIHNoYWRlXHJcbi8vXHJcbi8vIFVzYWdlOiB0aW50KGNvbG9yLCBwZXJjZW50YWdlKVxyXG4vLyAgICAgICAgdGludCgkY29sb3JfZ2N3ZWItYmxhY2ssIDEwJSlcclxuLy8gICAgICAgIHNoYWRlKGNvbG9yLCBwZXJjZW50YWdlKVxyXG4vLyAgICAgICAgc2hhZGUoJGNvbG9yX2djd2ViLWJsdWUsIDUwJSlcclxuLy9cclxuXHJcbkBmdW5jdGlvbiB0aW50KCRjb2xvciwgJHBlcmNlbnRhZ2UpIHtcclxuICBAcmV0dXJuIG1peCh3aGl0ZSwgJGNvbG9yLCAkcGVyY2VudGFnZSk7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBzaGFkZSgkY29sb3IsICRwZXJjZW50YWdlKSB7XHJcbiAgQHJldHVybiBtaXgoYmxhY2ssICRjb2xvciwgJHBlcmNlbnRhZ2UpO1xyXG59XHJcblxyXG4vL1xyXG4vLyBQcmltYXJ5IGNvbG91ciB2YXJpYXRpb25zXHJcbi8vXHJcbi8vIDEuIHVzZWQgZm9yIGxpbmsgOmFjdGl2ZSBzdGF0ZXNcclxuLy8gMi4gdXNlZCBmb3IgLmlzLWFjdGl2ZSBzdGF0ZSBvbiBtYWluIG5hdmlnYXRpb25cclxuLy8gMy4gdXNlZCBmb3IgOmhvdmVyIHN0YXRlcyBvbiBtYWluIG5hdmlnYXRpb25cclxuLy8gNC4gdXNlZCBmb3IgOmFjdGl2ZSBzdGF0ZXMgb24gbWFpbiBuYXZpZ2F0aW9uXHJcbi8vIDUuIHVzZWQgZm9yIHByaW1hcnkgYnV0dG9uIGFuZCBhY3Rpb24gbGluayBpY29uIDpob3ZlciBzdGF0ZXNcclxuLy8gNi4gdXNlZCBmb3IgcHJpbWFyeSBidXR0b24gYW5kIGFjdGlvbiBsaW5rIGljb24gOmFjdGl2ZSBzdGF0ZXNcclxuLy9cclxuXHJcbiRjb2xvcl90aW50X2djd2ViLWJsYWNrLTEwOiB0aW50KCRjb2xvcl9nY3dlYi1ibGFjaywgMTAlKTsgLy8gWzFdIC8vXHJcblxyXG4kY29sb3Jfc2hhZGVfZ2N3ZWItYmx1ZS0yMDogc2hhZGUoJGNvbG9yX2djd2ViLWJsdWUsIDIwJSk7IC8vIFsyXSAvL1xyXG4kY29sb3Jfc2hhZGVfZ2N3ZWItYmx1ZS0zNTogc2hhZGUoJGNvbG9yX2djd2ViLWJsdWUsIDM1JSk7IC8vIFszXSAvL1xyXG4kY29sb3Jfc2hhZGVfZ2N3ZWItYmx1ZS01MDogc2hhZGUoJGNvbG9yX2djd2ViLWJsdWUsIDUwJSk7IC8vIFs0XSAvL1xyXG5cclxuJGNvbG9yX3NoYWRlX2djd2ViLWdyZWVuLTM1OiBzaGFkZSgkY29sb3JfZ2N3ZWItZ3JlZW4sIDM1JSk7IC8vIFs1XSAvL1xyXG4kY29sb3Jfc2hhZGVfZ2N3ZWItZ3JlZW4tNTA6IHNoYWRlKCRjb2xvcl9nY3dlYi1ncmVlbiwgNTAlKTsgLy8gWzZdIC8vXHJcblxyXG4kY29sb3JfdHJhbnNwYXJlbnRfZ2N3ZWItd2hpdGUtMjA6IHJnYmEoJGNvbG9yX2djd2ViLXdoaXRlLCAuMik7XHJcbiRjb2xvcl90cmFuc3BhcmVudF9nY3dlYi1ibHVlLTUwOiByZ2JhKCRjb2xvcl9zaGFkZV9nY3dlYi1ibHVlLTUwLCAuMSk7XHJcblxyXG4vL1xyXG4vLyBDb2xvdXIgYWxpYXNlc1xyXG4vL1xyXG5cclxuLy8gVGV4dFxyXG4kZ2N3ZWItdGV4dC1jb2xvcjogJGNvbG9yX2djd2ViLWJsYWNrO1xyXG4kZ2N3ZWItc2Vjb25kYXJ5LXRleHQtY29sb3I6ICRjb2xvcl9nY3dlYi1ncmV5LTE7XHJcbiRnY3dlYi1wcmludC10ZXh0LWNvbG9yOiAkY29sb3JfZ2N3ZWItYmxhY2s7XHJcblxyXG4vLyBMaW5rc1xyXG4kZ2N3ZWItbGluay1jb2xvcjogJGNvbG9yX2djd2ViLWJsdWU7XHJcbiRnY3dlYi1saW5rLWhvdmVyLWNvbG9yOiAkY29sb3JfZ2N3ZWItZGFyay1waW5rO1xyXG4kZ2N3ZWItbGluay1hY3RpdmUtY29sb3I6IHNoYWRlKCRnY3dlYi1saW5rLWNvbG9yLCA1MCUpO1xyXG4kZ2N3ZWItbGluay12aXNpdGVkLWNvbG9yOiAkY29sb3JfZ2N3ZWItcHVycGxlO1xyXG5cclxuLy8gRm9jdXNcclxuJGdjd2ViLWZvY3VzLWNvbG9yOiAkY29sb3JfZ2N3ZWIteWVsbG93O1xyXG4kZ2N3ZWItZm9jdXMtdGV4dC1jb2xvcjogJGNvbG9yX2djd2ViLWJsYWNrO1xyXG5cclxuLy8gQm9yZGVyXHJcbiRnY3dlYi1ib3JkZXItY29sb3I6ICRjb2xvcl9nY3dlYi1ncmV5LTQ7XHJcbiRnY3dlYi1zZWNvbmRhcnktYm9yZGVyLWNvbG9yOiAkY29sb3JfdHJhbnNwYXJlbnRfZ2N3ZWItd2hpdGUtMjA7XHJcblxyXG4vLyBCb3ggc2hhZG93XHJcbiRnY3dlYi1ib3gtc2hhZG93OiByZ2JhKDMzLCA0MywgNTAsIC4xNik7XHJcbiRnY3dlYi1ib3gtc2hhZG93LWNvbG9yOiAkY29sb3JfZ2N3ZWItZ3JleS0xLXJnYjtcclxuXHJcbi8vXHJcbi8vIEZvcm1zXHJcbi8vXHJcblxyXG4kZ2N3ZWItZXJyb3ItY29sb3I6ICRjb2xvcl9nY3dlYi1yZWQ7XHJcbiRnY3dlYi1mb3JtLWJvcmRlci1jb2xvcjogJGNvbG9yX2djd2ViLWdyZXktMTtcclxuJGdjd2ViLWZvcm0tZWxlbWVudC1iYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfZ2N3ZWItd2hpdGU7XHJcblxyXG4vL1xyXG4vLyBCdXR0b25zXHJcbi8vXHJcblxyXG4kZ2N3ZWItYnV0dG9uLWNvbG9yOiAkY29sb3JfZ2N3ZWItZ3JleS0wO1xyXG4kZ2N3ZWItYnV0dG9uLWhvdmVyLWNvbG9yOiB0aW50KCRnY3dlYi1idXR0b24tY29sb3IsIDIwJSk7XHJcbiRnY3dlYi1idXR0b24tYWN0aXZlLWNvbG9yOiBzaGFkZSgkZ2N3ZWItYnV0dG9uLWNvbG9yLCA1MCUpO1xyXG4kZ2N3ZWItYnV0dG9uLXNoYWRvdy1jb2xvcjogc2hhZGUoJGdjd2ViLWJ1dHRvbi1jb2xvciwgNTAlKTtcclxuXHJcbiRnY3dlYi1zZWNvbmRhcnktYnV0dG9uLWNvbG9yOiAkY29sb3JfZ2N3ZWItZ3JleS0xO1xyXG4kZ2N3ZWItc2Vjb25kYXJ5LWJ1dHRvbi1ob3Zlci1jb2xvcjogdGludCgkZ2N3ZWItc2Vjb25kYXJ5LWJ1dHRvbi1jb2xvciwgMjAlKTtcclxuJGdjd2ViLXNlY29uZGFyeS1idXR0b24tYWN0aXZlLWNvbG9yOiBzaGFkZSgkZ2N3ZWItc2Vjb25kYXJ5LWJ1dHRvbi1jb2xvciwgNTAlKTtcclxuJGdjd2ViLXNlY29uZGFyeS1idXR0b24tc2hhZG93LWNvbG9yOiBzaGFkZSgkZ2N3ZWItc2Vjb25kYXJ5LWJ1dHRvbi1jb2xvciwgNTAlKTtcclxuXHJcbiRnY3dlYi1yZXZlcnNlLWJ1dHRvbi1jb2xvcjogJGNvbG9yX2djd2ViLXdoaXRlO1xyXG4kZ2N3ZWItcmV2ZXJzZS1idXR0b24taG92ZXItY29sb3I6IHNoYWRlKCRnY3dlYi1yZXZlcnNlLWJ1dHRvbi1jb2xvciwgMjAlKTtcclxuJGdjd2ViLXJldmVyc2UtYnV0dG9uLWFjdGl2ZS1jb2xvcjogJGNvbG9yLWdjd2ViLWJsYWNrO1xyXG4kZ2N3ZWItcmV2ZXJzZS1idXR0b24tc2hhZG93LWNvbG9yOiAkY29sb3ItZ2N3ZWItYmxhY2s7XHJcblxyXG4kZ2N3ZWItYnV0dG9uLXRleHQtY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZTtcclxuJGdjd2ViLXJldmVyc2UtYnV0dG9uLXRleHQtY29sb3I6ICRjb2xvcl9nY3dlYi1ibGFjaztcclxuXHJcbiRnY3dlYi1saWNlbnNlZXMtcHJpbWFyeTogJGdjd2ViLWRhdmV5LWdyZXk7XHJcbiRnY3dlYi1saWNlbnNlZXMtcHJpbWFyeS1kYXJrOiAkZ2N3ZWItZGF2ZXktZ3JleS1kYXJrO1xyXG4kZ2N3ZWItcHVibGljLXByaW1hcnk6ICRjb2xvcl9nY3dlYi1ibHVlO1xyXG4kZ2N3ZWItY29ycG9yYXRlLXByaW1hcnk6ICRjb2xvcl9nY3dlYi1ncmVlbjtcclxuJGdjd2ViLWNvcnBvcmF0ZS1wcmltYXJ5LWRhcms6ICRjb2xvcl9nY3dlYi1kYXJrZXItZ3JlZW47XHJcbiRnY3dlYi1hdXRob3JpdHktcHJpbWFyeTogJGNvbG9yX2djd2ViLWRhcmstcGluaztcclxuXHJcbiRnY3dlYi1saWNlbnNlZXMtcGFsZS1wcmltYXJ5OiAkY29sb3JfZ2N3ZWItcGFsZS1ibHVlO1xyXG4kZ2N3ZWItcHVibGljLXBhbGUtcHJpbWFyeTogJGNvbG9yX2djd2ViLXBhbGUtZ3JlZW47XHJcbiRnY3dlYi1jb3Jwb3JhdGUtcGFsZS1wcmltYXJ5OiAkY29sb3JfZ2N3ZWItcGFsZS1vcmFuZ2U7XHJcbiRnY3dlYi1hdXRob3JpdHktcGFsZS1wcmltYXJ5OiAkY29sb3JfZ2N3ZWItcGFsZS1waW5rO1xyXG5cclxuJGdjd2ViLXBhbmVsLWNvbG9yOiAkY29sb3JfZ2N3ZWItb3JhbmdlO1xyXG5cclxuXHJcbi5nY3dlYi10b3BuYXYge1xyXG4gIGJhY2tncm91bmQ6ICRjb2xvcl9nY3dlYi1ncmV5LTA7XHJcblxyXG4gIGxpLFxyXG4gIGxpIGEsXHJcbiAgbGkgYTpob3ZlciB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3JfZ2N3ZWItd2hpdGU7XHJcbiAgfVxyXG5cclxuICAuYWN0aXZlIHtcclxuXHJcbiAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZTtcclxuICAgICAgfVxyXG4gIH1cclxuXHJcbn1cclxuXHJcbi5nY3dlYi1oZWFkZXJfX25hdmlnYXRpb24tbGluazp2aXNpdGVkLFxyXG4uZ2N3ZWItaGVhZGVyX19uYXZpZ2F0aW9uLWxpbmsge1xyXG4gIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi5nY3dlYi1zdGF0dXMtLWdyZWVuIHtcclxuICBjb2xvcjogJGNvbG9yX2djd2ViLWdyZWVuICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5nY3dlYi1zdGF0dXMtLWJsdWUge1xyXG4gIGNvbG9yOiAkY29sb3JfZ2N3ZWItYmx1ZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuLmdjd2ViLWhlYWRlcl9fbmF2aWdhdGlvbi1saW5rOmZvY3VzLC5nY3dlYi1oZWFkZXJfX25hdmlnYXRpb24tbGluazphY3RpdmU6dmlzaXRlZDpmb2N1cywgLmdjd2ViLWFyZWEtcHVibGljIC5nY3dlYi1oZWFkZXJfX25hdmlnYXRpb24tbGluazpmb2N1czp2aXNpdGVkICB7XHJcblxyXG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9nY3dlYi15ZWxsb3c7XHJcbiAgY29sb3I6ICRjb2xvcl9nY3dlYi1ibGFjayAhaW1wb3J0YW50O1xyXG5cclxufVxyXG5cclxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gU0VUVElOR1MgLyAjR0xPQkFMU1xyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuLy9cclxuLy8gRm9udHNcclxuLy9cclxuLy8gMS4gRmFsbGJhY2sgZm9udHMgaWYgRnJ1dGlnZXIgZmFpbHMgdG8gbG9hZFxyXG4vL1xyXG5cclxuJGdjd2ViLWZvbnQ6ICdOdW5pdG8nO1xyXG4kZ2N3ZWItZm9udC1oZWFkaW5nOiAnU3BhcnRhbic7XHJcbiRnY3dlYi1mb250LWZhbGxiYWNrOiBBcmlhbCwgU2Fucy1zZXJpZjsgLy8gWzFdIC8vXHJcbiRnY3dlYi1mb250LWZhbWlseS1wcmludDogc2Fucy1zZXJpZiAhZGVmYXVsdDtcclxuJGdjd2ViLWZvbnQtYm9sZDogNzAwO1xyXG4kZ2N3ZWItZm9udC1ub3JtYWw6IDQwMDtcclxuJGdjd2ViLWZvbnQtbGlnaHQ6ICRnY3dlYi1mb250LW5vcm1hbDtcclxuXHJcbi8vXHJcbi8vIEZvbnQgc2l6aW5nIGFuZCBzcGFjaW5nXHJcbi8vXHJcblxyXG4kZ2N3ZWItYmFzZS1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XHJcbiRnY3dlYi1iYXNlLWxpbmUtaGVpZ2h0OiAyNHB4ICFkZWZhdWx0O1xyXG5cclxuLy9cclxuLy8gSWNvbiBkZWZhdWx0IHNpemluZ1xyXG4vL1xyXG5cclxuJGdjd2ViLWljb24tc2l6ZTogMzRweCAhZGVmYXVsdDtcclxuXHJcbi8vXHJcbi8vIEdyaWQgc3BhY2luZ1xyXG4vL1xyXG5cclxuJGdjd2ViLXBhZ2Utd2lkdGg6IDk2MHB4O1xyXG4kZ2N3ZWItZ3V0dGVyOiAzMnB4O1xyXG4kZ2N3ZWItZ3V0dGVyLWhhbGY6ICRnY3dlYi1ndXR0ZXIgLyAyO1xyXG5cclxuLy9cclxuLy8gQm9yZGVyIHNpemVzXHJcbi8vXHJcblxyXG4kZ2N3ZWItYm9yZGVyLXdpZHRoLWluc2V0LXRleHQ6IDEycHggIWRlZmF1bHQ7XHJcbiRnY3dlYi1jYXJlLWNhcmQtdHJpYW5nbGUtYm9yZGVyOiAxNnB4ICFkZWZhdWx0O1xyXG4kZ2N3ZWItaGVyby1jb250ZW50LXRyaWFuZ2xlLWJvcmRlcjogMTZweCAhZGVmYXVsdDtcclxuJGdjd2ViLWhlcm8tYm9yZGVyOiAxcHggIWRlZmF1bHQ7XHJcbiRnY3dlYi1ib3JkZXItbGlzdC1wYW5lbDogMnB4ICFkZWZhdWx0O1xyXG4kZ2N3ZWItYm9yZGVyLWxpc3QtcGFuZWwtaXRlbTogMXB4ICFkZWZhdWx0O1xyXG4kZ2N3ZWItYm9yZGVyLXRhYmxlLWhlYWRlci13aWR0aDogMnB4ICFkZWZhdWx0O1xyXG4kZ2N3ZWItYm9yZGVyLXRhYmxlLWNlbGwtd2lkdGg6IDFweCAhZGVmYXVsdDtcclxuXHJcbi8vXHJcbi8vIEJvcmRlciByYWRpdXNcclxuLy9cclxuXHJcbiRnY3dlYi1ib3JkZXItcmFkaXVzOiA0cHggIWRlZmF1bHQ7XHJcblxyXG4vL1xyXG4vLyBCb3ggc2hhZG93XHJcbi8vXHJcblxyXG4kZ2N3ZWItYm94LXNoYWRvdy1zcHJlYWQ6IDRweCAhZGVmYXVsdDtcclxuJGdjd2ViLWJveC1zaGFkb3ctYmx1cjogNHB4ICFkZWZhdWx0O1xyXG4kZ2N3ZWItYm94LXNoYWRvdy1saW5rOiA0cHggIWRlZmF1bHQ7XHJcbiRnY3dlYi1ib3gtZGV0YWlsczogOHB4ICFkZWZhdWx0O1xyXG4kZ2N3ZWItYm94LWV4cGFuZGVyOiA0cHggIWRlZmF1bHQ7XHJcbiRnY3dlYi1ib3gtc2hhZG93LXBhZ2luYXRpb246IDE2cHggIWRlZmF1bHQ7XHJcbiRnY3dlYi1ib3gtc2hhZG93LWxpbms6IDRweCAhZGVmYXVsdDtcclxuXHJcbi8vXHJcbi8vIEhlYWRlciBzcGFjaW5nXHJcbi8vXHJcblxyXG4kZ2N3ZWItaGVhZGVyLXNwYWNpbmc6IDIwcHg7XHJcblxyXG4vL1xyXG4vLyBGb3JtIGVsZW1lbnRzXHJcbi8vXHJcblxyXG4kZ2N3ZWItYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudDogMnB4ICFkZWZhdWx0O1xyXG4kZ2N3ZWItYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudC1lcnJvcjogNHB4ICFkZWZhdWx0O1xyXG4kZ2N3ZWItZm9jdXMtd2lkdGg6IDRweCAhZGVmYXVsdDtcclxuJGdjd2ViLWJvcmRlci13aWR0aDogNHB4ICFkZWZhdWx0O1xyXG4kZ2N3ZWItYm9yZGVyLXdpZHRoLW1vYmlsZTogNHB4ICFkZWZhdWx0O1xyXG4kZ2N3ZWItYm9yZGVyLXdpZHRoLWZvcm0tZ3JvdXAtZXJyb3I6ICRnY3dlYi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XHJcbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbi8vIFNFVFRJTkdTIC8gI1NQQUNJTkdcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuXHJcbi8vXHJcbi8vIFNpbmdsZSBwb2ludCBzcGFjaW5nIHZhcmlhYmxlc1xyXG4vL1xyXG4vLyBPcmlnaW5hbCBjb2RlIHRha2VuIGZyb20gR0RTIChHb3Zlcm5tZW50IERpZ2l0YWwgU2VydmljZSlcclxuLy8gaHR0cHM6Ly9naXRodWIuY29tL2FscGhhZ292L2dvdnVrLWZyb250ZW5kXHJcbi8vXHJcblxyXG4kZ2N3ZWItc3BhY2luZy1wb2ludHM6IChcclxuICAwOiAwLFxyXG4gIDE6IDRweCxcclxuICAyOiA4cHgsXHJcbiAgMzogMTZweCxcclxuICA0OiAyNHB4LFxyXG4gIDU6IDMycHgsXHJcbiAgNjogNDBweCxcclxuICA3OiA0OHB4LFxyXG4gIDg6IDU2cHgsXHJcbiAgOTogNjRweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gUmVzcG9uc2l2ZSBzcGFjaW5nIG1hcFxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuLy9cclxuLy8gVGhlc2UgZGVmaW5pdGlvbnMgYXJlIHVzZWQgdG8gZ2VuZXJhdGUgcmVzcG9uc2l2ZSBzcGFjaW5nIHRoYXQgYWRhcHRzXHJcbi8vIGFjY29yZGluZyB0byB0aGUgYnJlYWtwb2ludHMgKHNlZSAndG9vbHMvc3BhY2luZycpLiBUaGVzZSBtYXBzIHNob3VsZCBiZVxyXG4vLyB1c2VkIHdoZXJldmVyIHBvc3NpYmxlIHRvIHN0YW5kYXJkaXNlIHJlc3BvbnNpdmUgc3BhY2luZy5cclxuLy9cclxuLy8gWW91IGNhbiBkZWZpbmUgZGlmZmVyZW50IGJlaGF2aW91ciBvbiB0YWJsZXQgYW5kIGRlc2t0b3AuIFRoZSAnbnVsbCdcclxuLy8gYnJlYWtwb2ludCBpcyBmb3IgbW9iaWxlLlxyXG4vL1xyXG4vLyBBY2Nlc3MgcmVzcG9uc2l2ZSBzcGFjaW5nIHdpdGggYGdjd2ViLXJlc3BvbnNpdmUtbWFyZ2luYCBvclxyXG4vLyBgZ2N3ZWItcmVzcG9uc2l2ZS1wYWRkaW5nYCBtaXhpbnMuXHJcbi8vXHJcbi8vIE9yaWdpbmFsIGNvZGUgdGFrZW4gZnJvbSBHRFMgKEdvdmVybm1lbnQgRGlnaXRhbCBTZXJ2aWNlKVxyXG4vLyBodHRwczovL2dpdGh1Yi5jb20vYWxwaGFnb3YvZ292dWstZnJvbnRlbmRcclxuLy9cclxuXHJcbiRnY3dlYi1zcGFjaW5nLXJlc3BvbnNpdmUtc2NhbGU6IChcclxuICAwOiAoXHJcbiAgICBudWxsOiAwLFxyXG4gICAgdGFibGV0OiAwXHJcbiAgKSxcclxuICAxOiAoXHJcbiAgICBudWxsOiA0cHgsXHJcbiAgICB0YWJsZXQ6IDRweFxyXG4gICksXHJcbiAgMjogKFxyXG4gICAgbnVsbDogOHB4LFxyXG4gICAgdGFibGV0OiA4cHhcclxuICApLFxyXG4gIDM6IChcclxuICAgIG51bGw6IDhweCxcclxuICAgIHRhYmxldDogMTZweFxyXG4gICksXHJcbiAgNDogKFxyXG4gICAgbnVsbDogMTZweCxcclxuICAgIHRhYmxldDogMjRweFxyXG4gICksXHJcbiAgNTogKFxyXG4gICAgbnVsbDogMjRweCxcclxuICAgIHRhYmxldDogMzJweFxyXG4gICksXHJcbiAgNjogKFxyXG4gICAgbnVsbDogMzJweCxcclxuICAgIHRhYmxldDogNDBweFxyXG4gICksXHJcbiAgNzogKFxyXG4gICAgbnVsbDogNDBweCxcclxuICAgIHRhYmxldDogNDhweFxyXG4gICksXHJcbiAgODogKFxyXG4gICAgbnVsbDogNDhweCxcclxuICAgIHRhYmxldDogNTZweFxyXG4gICksXHJcbiAgOTogKFxyXG4gICAgbnVsbDogNTZweCxcclxuICAgIHRhYmxldDogNjRweFxyXG4gIClcclxuKSAhZGVmYXVsdDtcclxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gU0VUVElOR1MgLyAjVFlQT0dSQVBIWVxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuLy8gUmVzcG9uc2l2ZSB0eXBvZ3JhcGh5IGZvbnQgbWFwXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG4vL1xyXG4vLyBUaGlzIGlzIHVzZWQgdG8gZ2VuZXJhdGUgcmVzcG9uc2l2ZSB0eXBvZ3JhcGh5IHRoYXQgYWRhcHRzIGFjY29yZGluZyB0byB0aGVcclxuLy8gYnJlYWtwb2ludHMuXHJcbi8vXHJcbi8vIEZvbnQgc2l6ZSBhbmQgZm9udCB3ZWlnaHQgY2FuIGJlIGRlZmluZWQgZm9yIGVhY2ggYnJlYWtwb2ludC4gWW91IGNhbiBkZWZpbmVcclxuLy8gZGlmZmVyZW50IGJlaGF2aW91ciBvbiB0YWJsZXQgYW5kIGRlc2t0b3AuIFRoZSAnbnVsbCcgYnJlYWtwb2ludCBpcyBmb3JcclxuLy8gbW9iaWxlLlxyXG4vL1xyXG4vLyBMaW5lLWhlaWdodHMgd2lsbCBhdXRvbWF0aWNhbGx5IGJlIGNvbnZlcnRlZCBmcm9tIHBpeGVsIG1lYXN1cmVtZW50cyBpbnRvXHJcbi8vIHJlbGF0aXZlIHZhbHVlcy4gRm9yIGV4YW1wbGUsIHdpdGggYSBmb250LXNpemUgb2YgMTZweCBhbmQgYSBsaW5lLWhlaWdodCBvZlxyXG4vLyAyNHB4LCB0aGUgbGluZS1oZWlnaHQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gMS41IGJlZm9yZSBvdXRwdXQuXHJcbi8vXHJcbi8vIFlvdSBjYW4gYWxzbyBzcGVjaWZ5IGEgc2VwYXJhdGUgZm9udCBzaXplIGFuZCBsaW5lIGhlaWdodCBmb3IgcHJpbnQgbWVkaWEuXHJcbi8vXHJcbi8vIEBwcm9wIHtOdW1iZXJ9ICRwb2ludC4kYnJlYWtwb2ludC5mb250LXNpemUgLSBGb250IHNpemUgZm9yIGAkcG9pbnRgIGF0IGAkYnJlYWtwb2ludGBcclxuLy8gQHByb3Age051bWJlcn0gJHBvaW50LiRicmVha3BvaW50LmxpbmUtaGVpZ2h0IC0gTGluZSBoZWlnaHQgZm9yIGAkcG9pbnRgIGF0IGAkYnJlYWtwb2ludGBcclxuLy8gQHByb3Age051bWJlcn0gJHBvaW50LnByaW50LmZvbnQtc2l6ZSAtIEZvbnQgc2l6ZSBmb3IgYCRwb2ludGAgd2hlbiBwcmludGluZ1xyXG4vLyBAcHJvcCB7TnVtYmVyfSAkcG9pbnQucHJpbnQubGluZS1oZWlnaHQgLSBMaW5lIGhlaWdodCBmb3IgYCRwb2ludGAgd2hlbiBwcmludGluZ1xyXG4vL1xyXG4vLyBPcmlnaW5hbCBjb2RlIHRha2VuIGZyb20gR0RTIChHb3Zlcm5tZW50IERpZ2l0YWwgU2VydmljZSlcclxuLy8gaHR0cHM6Ly9naXRodWIuY29tL2FscGhhZ292L2dvdnVrLWZyb250ZW5kXHJcbi8vL1xyXG5cclxuJGdjd2ViLXR5cG9ncmFwaHktc2NhbGU6IChcclxuICA2NDogKFxyXG4gICAgbnVsbDogKFxyXG4gICAgICBmb250LXNpemU6IDQ4cHgsXHJcbiAgICAgIGxpbmUtaGVpZ2h0OiA1NnB4XHJcbiAgICApLFxyXG4gICAgdGFibGV0OiAoXHJcbiAgICAgIGZvbnQtc2l6ZTogNjRweCxcclxuICAgICAgbGluZS1oZWlnaHQ6IDcycHhcclxuICAgICksXHJcbiAgICBwcmludDogKFxyXG4gICAgICBmb250LXNpemU6IDUzcHQsXHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjFcclxuICAgIClcclxuICApLFxyXG4gIDQ4OiAoXHJcbiAgICBudWxsOiAoXHJcbiAgICAgIGZvbnQtc2l6ZTogMzJweCxcclxuICAgICAgbGluZS1oZWlnaHQ6IDQwcHhcclxuICAgICksXHJcbiAgICB0YWJsZXQ6IChcclxuICAgICAgZm9udC1zaXplOiA0OHB4LFxyXG4gICAgICBsaW5lLWhlaWdodDogNTZweFxyXG4gICAgKSxcclxuICAgIHByaW50OiAoXHJcbiAgICAgIGZvbnQtc2l6ZTogMzJwdCxcclxuICAgICAgbGluZS1oZWlnaHQ6IDEuMTVcclxuICAgIClcclxuICApLFxyXG4gIDMyOiAoXHJcbiAgICBudWxsOiAoXHJcbiAgICAgIGZvbnQtc2l6ZTogMjRweCxcclxuICAgICAgbGluZS1oZWlnaHQ6IDMycHhcclxuICAgICksXHJcbiAgICB0YWJsZXQ6IChcclxuICAgICAgZm9udC1zaXplOiAzMnB4LFxyXG4gICAgICBsaW5lLWhlaWdodDogNDBweFxyXG4gICAgKSxcclxuICAgIHByaW50OiAoXHJcbiAgICAgIGZvbnQtc2l6ZTogMjRwdCxcclxuICAgICAgbGluZS1oZWlnaHQ6IDEuMDVcclxuICAgIClcclxuICApLFxyXG4gIDI0OiAoXHJcbiAgICBudWxsOiAoXHJcbiAgICAgIGZvbnQtc2l6ZTogMjBweCxcclxuICAgICAgbGluZS1oZWlnaHQ6IDI4cHhcclxuICAgICksXHJcbiAgICB0YWJsZXQ6IChcclxuICAgICAgZm9udC1zaXplOiAyNHB4LFxyXG4gICAgICBsaW5lLWhlaWdodDogMzJweFxyXG4gICAgKSxcclxuICAgIHByaW50OiAoXHJcbiAgICAgIGZvbnQtc2l6ZTogMThwdCxcclxuICAgICAgbGluZS1oZWlnaHQ6IDEuMTVcclxuICAgIClcclxuICApLFxyXG4gIDIyOiAoXHJcbiAgICBudWxsOiAoXHJcbiAgICAgIGZvbnQtc2l6ZTogMThweCxcclxuICAgICAgbGluZS1oZWlnaHQ6IDI4cHhcclxuICAgICksXHJcbiAgICB0YWJsZXQ6IChcclxuICAgICAgZm9udC1zaXplOiAyMnB4LFxyXG4gICAgICBsaW5lLWhlaWdodDogMzJweFxyXG4gICAgKSxcclxuICAgIHByaW50OiAoXHJcbiAgICAgIGZvbnQtc2l6ZTogMThwdCxcclxuICAgICAgbGluZS1oZWlnaHQ6IDEuMTVcclxuICAgIClcclxuICApLFxyXG4gIDE5OiAoXHJcbiAgICBudWxsOiAoXHJcbiAgICAgIGZvbnQtc2l6ZTogMTZweCxcclxuICAgICAgbGluZS1oZWlnaHQ6IDI0cHhcclxuICAgICksXHJcbiAgICB0YWJsZXQ6IChcclxuICAgICAgZm9udC1zaXplOiAxOXB4LFxyXG4gICAgICBsaW5lLWhlaWdodDogMjhweFxyXG4gICAgKSxcclxuICAgIHByaW50OiAoXHJcbiAgICAgIGZvbnQtc2l6ZTogMTRwdCxcclxuICAgICAgbGluZS1oZWlnaHQ6IDEuMTVcclxuICAgIClcclxuICApLFxyXG4gIDE4OiAoXHJcbiAgICBudWxsOiAoXHJcbiAgICAgIGZvbnQtc2l6ZTogMTZweCxcclxuICAgICAgbGluZS1oZWlnaHQ6IDI0cHhcclxuICAgICksXHJcbiAgICB0YWJsZXQ6IChcclxuICAgICAgZm9udC1zaXplOiAxOHB4LFxyXG4gICAgICBsaW5lLWhlaWdodDogMjhweFxyXG4gICAgKSxcclxuICAgIHByaW50OiAoXHJcbiAgICAgIGZvbnQtc2l6ZTogMTRwdCxcclxuICAgICAgbGluZS1oZWlnaHQ6IDEuMTVcclxuICAgIClcclxuICApLFxyXG4gIDE2OiAoXHJcbiAgICBudWxsOiAoXHJcbiAgICAgIGZvbnQtc2l6ZTogMTRweCxcclxuICAgICAgbGluZS1oZWlnaHQ6IDI0cHhcclxuICAgICksXHJcbiAgICB0YWJsZXQ6IChcclxuICAgICAgZm9udC1zaXplOiAxNnB4LFxyXG4gICAgICBsaW5lLWhlaWdodDogMjRweFxyXG4gICAgKSxcclxuICAgIHByaW50OiAoXHJcbiAgICAgIGZvbnQtc2l6ZTogMTRwdCxcclxuICAgICAgbGluZS1oZWlnaHQ6IDEuMlxyXG4gICAgKVxyXG4gICksXHJcbiAgMTQ6IChcclxuICAgIG51bGw6IChcclxuICAgICAgZm9udC1zaXplOiAxMnB4LFxyXG4gICAgICBsaW5lLWhlaWdodDogMjBweFxyXG4gICAgKSxcclxuICAgIHRhYmxldDogKFxyXG4gICAgICBmb250LXNpemU6IDE0cHgsXHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4XHJcbiAgICApLFxyXG4gICAgcHJpbnQ6IChcclxuICAgICAgZm9udC1zaXplOiAxMnB0LFxyXG4gICAgICBsaW5lLWhlaWdodDogMS4yXHJcbiAgICApXHJcbiAgKVxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gRm9udCB3ZWlnaHRzXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG4vL1xyXG4vLyBGb250IHdlaWdodCBmb3Igbm9ybWFsIHR5cG9ncmFwaHlcclxuLy9cclxuXHJcbiRnY3dlYi1mb250LW5vcm1hbDogNDAwICFkZWZhdWx0O1xyXG5cclxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gI1RPT0xTXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG5AaW1wb3J0ICdleHBvcnRzJztcclxuQGltcG9ydCAnZnVuY3Rpb25zJztcclxuQGltcG9ydCAnc2hhcGUtYXJyb3cnO1xyXG5AaW1wb3J0ICdzcGFjaW5nJztcclxuQGltcG9ydCAnc2Fzcy1tcSc7XHJcbkBpbXBvcnQgJ3R5cG9ncmFwaHknO1xyXG5AaW1wb3J0ICdsaW5rcyc7XHJcbkBpbXBvcnQgJ21peGlucyc7XHJcbkBpbXBvcnQgJ2lmZmYnO1xyXG5AaW1wb3J0ICdncmlkJztcclxuQGltcG9ydCAnZm9jdXNlZCc7XHJcbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbi8vIFRPT0xTIC8gI0VYUE9SVFNcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuXHJcbi8vXHJcbi8vIEV4cG9ydHMgYXJlIHVzZWQgdG8gZW5zdXJlIHRoYXQgdGhlIG1vZHVsZXMgb2YgQ1NTIHdlIGRlZmluZSB0aHJvdWdob3V0IEZyb250ZW5kXHJcbi8vIGFyZSBvbmx5IGluY2x1ZGVkIGluIHRoZSBnZW5lcmF0ZWQgQ1NTIG9uY2UsIG5vIG1hdHRlciBob3cgbWFueSB0aW1lcyB0aGV5XHJcbi8vIGFyZSBpbmNsdWRlZCBlLmcuIGJ5IGluZGl2aWR1YWwgY29tcG9uZW50cy5cclxuLy9cclxuLy9cclxuLy8gMS4gTGlzdCBvZiBtb2R1bGVzIHdoaWNoIGhhdmUgYWxyZWFkeSBiZWVuIGV4cG9ydGVkXHJcbi8vIDIuIElmIHRoZSBtaXhpbiBpcyBub3QgaW4gdGhlIGxpc3Qgb2YgbW9kdWxlcyBhbHJlYWR5IGV4cG9ydGVkLi4uXHJcbi8vIDMuIHRoZW4gYWRkIGl0IHRvIHRoZSBsaXN0XHJcbi8vIDQuIC4uLiBhbmQgb3V0cHV0IHRoZSBDU1MgZm9yIHRoYXQgbW9kdWxlXHJcbi8vIDUuIFRoZSBuZXh0IHRpbWUgZXhwb3J0cyBpcyBjYWxsZWQgZm9yIHRoZSBtb2R1bGUgb2YgdGhlIHNhbWUgbmFtZSxcclxuLy8gICAgaXQgd2lsbCBiZSBmb3VuZCBpbiB0aGUgbGlzdCBhbmQgc28gbm90aGluZyB3aWxsIGJlIG91dHB1dHRlZC5cclxuLy9cclxuLy8gT3JpZ2luYWwgY29kZSB0YWtlbiBmcm9tIEdEUyAoR292ZXJubWVudCBEaWdpdGFsIFNlcnZpY2UpXHJcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbHBoYWdvdi9nb3Z1ay1mcm9udGVuZFxyXG4vL1xyXG5cclxuJGltcG9ydGVkLW1vZHVsZXM6ICgpICFkZWZhdWx0OyAvLyBbMV0gLy9cclxuXHJcbkBtaXhpbiBnb3Z1ay1leHBvcnRzKCRuYW1lLCAkd2FybjogdHJ1ZSkge1xyXG4gIEBpZiAoaW5kZXgoJGltcG9ydGVkLW1vZHVsZXMsICRuYW1lKSA9PSBudWxsKSB7IC8vIFsyXSAvL1xyXG4gICAgJGltcG9ydGVkLW1vZHVsZXM6IGFwcGVuZCgkaW1wb3J0ZWQtbW9kdWxlcywgJG5hbWUpICFnbG9iYWw7IC8vIFszXSAvL1xyXG4gICAgQGNvbnRlbnQ7IC8vIFs0XSAvL1xyXG4gIH0gLy8gWzVdIC8vXHJcbn1cclxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gVE9PTFMgLyAjRlVOQ1RJT05TXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG4vLyBDb252ZXJ0IHBpeGVscyB0byBlbVxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuLy9cclxuLy8gQSBxdWljayB3YXkgdG8gY29udmVydCBweCBpbnRvIGVtXHJcbi8vIFVzYWdlOiBnY3dlYi1lbSgyMHB4LCAkZ2N3ZWItYmFzZS1mb250LXNpemUpO1xyXG4vL1xyXG4vLyBPcmlnaW5hbCBjb2RlIHRha2VuIGZyb20gR0RTIChHb3Zlcm5tZW50IERpZ2l0YWwgU2VydmljZSlcclxuLy8gaHR0cHM6Ly9naXRodWIuY29tL2FscGhhZ292L2dvdnVrLWZyb250ZW5kXHJcbi8vXHJcblxyXG5AZnVuY3Rpb24gZ2N3ZWItZW0oJHZhbHVlLCAkY29udGV4dC1mb250LXNpemUpIHtcclxuICBAaWYgKHVuaXRsZXNzKCR2YWx1ZSkpIHtcclxuICAgICR2YWx1ZTogJHZhbHVlICogMXB4O1xyXG4gIH1cclxuICBAaWYgKHVuaXRsZXNzKCRjb250ZXh0LWZvbnQtc2l6ZSkpIHtcclxuICAgICRjb250ZXh0LWZvbnQtc2l6ZTogJGNvbnRleHQtZm9udC1zaXplICogMXB4O1xyXG4gIH1cclxuICBAcmV0dXJuICR2YWx1ZSAvICRjb250ZXh0LWZvbnQtc2l6ZSAqIDFlbTtcclxufVxyXG5cclxuLy8gQ29udmVydCBwaXhlbHMgdG8gcmVtXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG4vL1xyXG4vLyBBIHF1aWNrIHdheSB0byBjb252ZXJ0IHB4IGludG8gcmVtXHJcbi8vIFVzYWdlOiBnY3dlYi1weC10by1yZW0oMjBweCk7XHJcbi8vXHJcbi8vIFRoZSAkZ2N3ZWItYmFzZS1mb250LXNpemUgKGRlZmluZWQgaW4gc2V0dGluZ3MvX2dsb2JhbHMuc2NzcylcclxuLy8gbXVzdCBiZSBjb25maWd1cmVkIHRvIG1hdGNoIHRoZSBmb250LXNpemUgb2YgeW91ciByb290IChodG1sKSBlbGVtZW50XHJcbi8vXHJcblxyXG5AZnVuY3Rpb24gZ2N3ZWItcHgtdG8tcmVtKCR2YWx1ZSkge1xyXG4gIEBpZiAodW5pdGxlc3MoJHZhbHVlKSkge1xyXG4gICAgJHZhbHVlOiAkdmFsdWUgKiAxcHg7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICR2YWx1ZSAvICRnY3dlYi1iYXNlLWZvbnQtc2l6ZSAqIDFyZW07XHJcbn1cclxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gVE9PTFMgLyAjU0hBUEUtQVJST1dcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuXHJcbi8vXHJcbi8vIE9yaWdpbmFsIGNvZGUgdGFrZW4gZnJvbSBHRFMgKEdvdmVybm1lbnQgRGlnaXRhbCBTZXJ2aWNlKVxyXG4vLyBodHRwczovL2dpdGh1Yi5jb20vYWxwaGFnb3YvZ292dWstZnJvbnRlbmRcclxuLy9cclxuLy8gQ2FsY3VsYXRlIHRoZSBoZWlnaHQgb2YgYW4gZXF1aWxhdGVyYWwgdHJpYW5nbGVcclxuLy8gTXVsdGlwbHlpbmcgaGFsZiB0aGUgbGVuZ3RoIG9mIHRoZSBiYXNlIG9mIGFuIGVxdWlsYXRlcmFsIHRyaWFuZ2xlIGJ5IHRoZVxyXG4vLyBzcXVhcmUgcm9vdCBvZiB0aHJlZSBnaXZlcyB1cyBpdHMgaGVpZ2h0LiBXZSB1c2UgMS43MzIgYXMgYW4gYXBwcm94aW1hdGlvbi5cclxuLy9cclxuLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gTGVuZ3RoIG9mIHRoZSBiYXNlIG9mIHRoZSB0cmlhbmdsZVxyXG4vLyBAcmV0dXJuIHtOdW1iZXJ9IENhbGN1bGF0ZWQgaGVpZ2h0IG9mIHRoZSB0cmlhbmdsZVxyXG4vL1xyXG5cclxuLy8gc2Fzcy1saW50OmRpc2FibGUgcHJvcGVydHktc29ydC1vcmRlciwgcXVvdGVzLCBzaG9ydGhhbmQtdmFsdWVzXHJcblxyXG5AZnVuY3Rpb24gX2dvdnVrLWVxdWlsYXRlcmFsLWhlaWdodCgkYmFzZSkge1xyXG4gICRzcXVhcmUtcm9vdC1vZi10aHJlZTogMS43MzI7XHJcblxyXG4gIEByZXR1cm4gKCRiYXNlIC8gMikgKiAkc3F1YXJlLXJvb3Qtb2YtdGhyZWU7XHJcbn1cclxuXHJcbi8vXHJcbi8vIEFycm93IG1peGluXHJcbi8vXHJcbi8vIEdlbmVyYXRlIEFycm93cyAodHJpYW5nbGVzKSBieSB1c2luZyBhIG1peCBvZiB0cmFuc3BhcmVudCAoMSkgYW5kIGNvbG91cmVkXHJcbi8vIGJvcmRlcnMuIFRoZSBjb2xvdXJlZCBib3JkZXJzIGluaGVyaXQgdGhlIHRleHQgY29sb3VyIG9mIHRoZSBlbGVtZW50ICgyKS5cclxuLy9cclxuLy8gRW5zdXJlIHRoZSBhcnJvdyBpcyByZW5kZXJlZCBjb3JyZWN0bHkgaWYgYnJvd3NlciBjb2xvdXJzIGFyZSBvdmVycmlkZGVuIGJ5XHJcbi8vIHByb3ZpZGluZyBhIGNsaXAgcGF0aCAoMykuIFdpdGhvdXQgdGhpcyB0aGUgdHJhbnNwYXJlbnQgYm9yZGVycyBhcmVcclxuLy8gb3ZlcnJpZGRlbiB0byBiZWNvbWUgdmlzaWJsZSB3aGljaCByZXN1bHRzIGluIGEgc3F1YXJlLlxyXG4vL1xyXG4vLyBXZSBuZWVkIGJvdGggYmVjYXVzZSBvbGRlciBicm93c2VycyBkbyBub3Qgc3VwcG9ydCBjbGlwLXBhdGguXHJcbi8vXHJcbi8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyZWN0aW9uIC0gRGlyZWN0aW9uIGZvciBhcnJvdzogdXAsIHJpZ2h0LCBkb3duLCBsZWZ0LlxyXG4vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBMZW5ndGggb2YgdGhlIHRyaWFuZ2xlICdiYXNlJyBzaWRlXHJcbi8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFtudWxsXSAtIEhlaWdodCBvZiB0cmlhbmdsZS4gT21pdCBmb3IgZXF1aWxhdGVyYWwuXHJcbi8vIEBwYXJhbSB7U3RyaW5nfSAkZGlzcGxheSBbYmxvY2tdIC0gQ1NTIGRpc3BsYXkgcHJvcGVydHkgb2YgdGhlIGFycm93XHJcbi8vXHJcblxyXG5AbWl4aW4gZ292dWstc2hhcGUtYXJyb3coJGRpcmVjdGlvbiwgJGJhc2UsICRoZWlnaHQ6IG51bGwsICRkaXNwbGF5OiBibG9jaykge1xyXG4gIGRpc3BsYXk6ICRkaXNwbGF5O1xyXG5cclxuICB3aWR0aDogMDtcclxuICBoZWlnaHQ6IDA7XHJcblxyXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gMVxyXG5cclxuICAkcGVycGVuZGljdWxhcjogJGJhc2UgLyAyO1xyXG5cclxuICBAaWYgKCRoZWlnaHQgPT0gbnVsbCkge1xyXG4gICAgJGhlaWdodDogX2dvdnVrLWVxdWlsYXRlcmFsLWhlaWdodCgkYmFzZSk7XHJcbiAgfVxyXG5cclxuICBAaWYgJGRpcmVjdGlvbiA9PSBcInVwXCIge1xyXG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKDUwJSAwJSwgMCUgMTAwJSwgMTAwJSAxMDAlKTsgLy8gM1xyXG5cclxuICAgIGJvcmRlci13aWR0aDogMCAkcGVycGVuZGljdWxhciAkaGVpZ2h0ICRwZXJwZW5kaWN1bGFyO1xyXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogaW5oZXJpdDsgLy8gMlxyXG4gIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcInJpZ2h0XCIge1xyXG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDAlLCAxMDAlIDUwJSwgMCUgMTAwJSk7IC8vIDNcclxuXHJcbiAgICBib3JkZXItd2lkdGg6ICRwZXJwZW5kaWN1bGFyIDAgJHBlcnBlbmRpY3VsYXIgJGhlaWdodDtcclxuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBpbmhlcml0OyAvLyAyXHJcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwiZG93blwiIHtcclxuICAgIGNsaXAtcGF0aDogcG9seWdvbigwJSAwJSwgNTAlIDEwMCUsIDEwMCUgMCUpOyAvLyAzXHJcblxyXG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICRwZXJwZW5kaWN1bGFyIDAgJHBlcnBlbmRpY3VsYXI7XHJcbiAgICBib3JkZXItdG9wLWNvbG9yOiBpbmhlcml0OyAvLyAyXHJcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwibGVmdFwiIHtcclxuICAgIGNsaXAtcGF0aDogcG9seWdvbigwJSA1MCUsIDEwMCUgMTAwJSwgMTAwJSAwJSk7IC8vIDNcclxuXHJcbiAgICBib3JkZXItd2lkdGg6ICRwZXJwZW5kaWN1bGFyICRoZWlnaHQgJHBlcnBlbmRpY3VsYXIgMDtcclxuICAgIGJvcmRlci1yaWdodC1jb2xvcjogaW5oZXJpdDsgLy8gMlxyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGVycm9yIFwiSW52YWxpZCBhcnJvdyBkaXJlY3Rpb246IGV4cGVjdGVkIGB1cGAsIGByaWdodGAsIGBkb3duYCBvciBgbGVmdGAsIGdvdCBgI3skZGlyZWN0aW9ufWBcIjtcclxuICB9XHJcbn1cclxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gVE9PTFMgLSAjU1BBQ0lOR1xyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuLy8gU2luZ2xlIHBvaW50IHNwYWNpbmdcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuXHJcbi8vXHJcbi8vIFJldHVybnMgbWVhc3VyZW1lbnQgY29ycmVzcG9uZGluZyB0byB0aGUgc3BhY2luZyBwb2ludCByZXF1ZXN0ZWQuXHJcbi8vXHJcbi8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZy1wb2ludCAtIFBvaW50IG9uIHRoZSBzcGFjaW5nIHNjYWxlIChzZXQgaW4gYHNldHRpbmdzL19zcGFjaW5nLnNjY3NgKVxyXG4vL1xyXG4vLyBAcmV0dXJucyB7U3RyaW5nfSBTcGFjaW5nIE1lYXN1cmVtZW50IGVnLiA4cHhcclxuLy9cclxuLy8gQGV4YW1wbGUgc2Nzc1xyXG4vLyAgLmZvbyB7XHJcbi8vICAgIHBhZGRpbmc6IGdjd2ViLXNwYWNpbmcoNSk7XHJcbi8vICAgIHRvcDogZ2N3ZWItc3BhY2luZygyKSAhaW1wb3J0YW50OyAvLyBpZiBgIWltcG9ydGFudGAgaXMgcmVxdWlyZWRcclxuLy8gICB9XHJcbi8vXHJcbi8vIE9yaWdpbmFsIGNvZGUgdGFrZW4gZnJvbSBHRFMgKEdvdmVybm1lbnQgRGlnaXRhbCBTZXJ2aWNlKVxyXG4vLyBodHRwczovL2dpdGh1Yi5jb20vYWxwaGFnb3YvZ292dWstZnJvbnRlbmRcclxuLy9cclxuXHJcbi8vIHNhc3MtbGludDpkaXNhYmxlIG5vLWltcG9ydGFudFxyXG5cclxuQGZ1bmN0aW9uIGdjd2ViLXNwYWNpbmcoJHNwYWNpbmctcG9pbnQpIHtcclxuXHJcbiAgJGFjdHVhbC1pbnB1dC10eXBlOiB0eXBlLW9mKCRzcGFjaW5nLXBvaW50KTtcclxuICBAaWYgJGFjdHVhbC1pbnB1dC10eXBlICE9ICdudW1iZXInIHtcclxuICAgIEBlcnJvciAnRXhwZWN0ZWQgYSBudW1iZXIgKGludGVnZXIpLCBidXQgZ290IGEgJ1xyXG4gICAgKyAnI3skYWN0dWFsLWlucHV0LXR5cGV9Lic7XHJcbiAgfVxyXG5cclxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRnY3dlYi1zcGFjaW5nLXBvaW50cywgJHNwYWNpbmctcG9pbnQpIHtcclxuICAgIEBlcnJvciAnVW5rbm93biBzcGFjaW5nIHZhcmlhYmxlIGAjeyRzcGFjaW5nLXBvaW50fWAuIE1ha2Ugc3VyZSB5b3UgYXJlIHVzaW5nIGEgcG9pbnQgZnJvbSB0aGUgc3BhY2luZyBzY2FsZSBpbiBgX3NldHRpbmdzL3NwYWNpbmcuc2Nzc2AuJztcclxuICB9XHJcblxyXG4gIEByZXR1cm4gbWFwLWdldCgkZ2N3ZWItc3BhY2luZy1wb2ludHMsICRzcGFjaW5nLXBvaW50KTtcclxufVxyXG5cclxuLy8gUmVzcG9uc2l2ZSBzcGFjaW5nXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG4vL1xyXG4vLyBBZGRzIHJlc3BvbnNpdmUgc3BhY2luZyAoZWl0aGVyIHBhZGRpbmcgb3IgbWFyZ2luLCBkZXBlbmRpbmcgb24gYCRwcm9wZXJ0eWApXHJcbi8vIGJ5IGZldGNoaW5nIGEgJ3NwYWNpbmcgbWFwJyBmcm9tIHRoZSByZXNwb25zaXZlIHNwYWNpbmcgc2NhbGUsIHdoaWNoIGRlZmluZXNcclxuLy8gZGlmZmVyZW50IHNwYWNpbmcgdmFsdWVzIGF0IGRpZmZlcmVudCBicmVha3BvaW50cy5cclxuLy9cclxuLy8gVG8gZ2VuZXJhdGUgcmVzcG9uc2l2ZSBzcGFjaW5nLCB1c2UgJ2djd2ViLXJlc3BvbnNpdmUtbWFyZ2luJyBvclxyXG4vLyAnZ2N3ZWItcmVzcG9uc2l2ZS1wYWRkaW5nJyBtaXhpbnNcclxuLy9cclxuLy8gQHBhcmFtIHtOdW1iZXJ9ICRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQgLSBQb2ludCBvbiB0aGUgcmVzcG9uc2l2ZSBzcGFjaW5nXHJcbi8vICBzY2FsZSwgY29ycmVzcG9uZHMgdG8gYSBtYXAgb2YgYnJlYWtwb2ludHMgYW5kIHNwYWNpbmcgdmFsdWVzXHJcbi8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvcGVydHkgLSBQcm9wZXJ0eSB0byBhZGQgc3BhY2luZyB0byAoZS5nLiAnbWFyZ2luJylcclxuLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXJlY3Rpb24gW2FsbF0gLSBEaXJlY3Rpb24gdG8gYWRkIHNwYWNpbmcgdG9cclxuLy8gIChgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIGBsZWZ0YCwgYGFsbGApXHJcbi8vIEBwYXJhbSB7Qm9vbGVhbn0gJGltcG9ydGFudCBbZmFsc2VdIC0gV2hldGhlciB0byBtYXJrIGFzIGAhaW1wb3J0YW50YFxyXG4vLyBAcGFyYW0ge051bWJlcn0gJGFkanVzdG1lbnQgW2ZhbHNlXSAtIE9mZnNldCB0byBhZGp1c3Qgc3BhY2luZyBieVxyXG4vL1xyXG4vLyBAZXhhbXBsZSBzY3NzXHJcbi8vICAuZm9vIHtcclxuLy8gICAgcGFkZGluZzogZ2N3ZWItc3BhY2luZyg1KTtcclxuLy8gICAgdG9wOiBnY3dlYi1zcGFjaW5nKDIpICFpbXBvcnRhbnQ7IC8vIGlmIGAhaW1wb3J0YW50YCBpcyByZXF1aXJlZFxyXG4vLyAgIH1cclxuLy9cclxuLy8gMS4gTWFrZSBzdXJlIHRoYXQgdGhlIHJldHVybiB2YWx1ZSBmcm9tIGBfc2V0dGluZ3Mvc3BhY2luZy5zY3NzYCBpcyBhIG1hcC5cclxuLy8gMi4gTG9vcCB0aHJvdWdoIGVhY2ggYnJlYWtwb2ludCBpbiB0aGUgbWFwXHJcbi8vIDMuIFRoZSAnbnVsbCcgYnJlYWtwb2ludCBpcyBmb3IgbW9iaWxlLlxyXG4vL1xyXG4vLyBPcmlnaW5hbCBjb2RlIHRha2VuIGZyb20gR0RTIChHb3Zlcm5tZW50IERpZ2l0YWwgU2VydmljZSlcclxuLy8gaHR0cHM6Ly9naXRodWIuY29tL2FscGhhZ292L2dvdnVrLWZyb250ZW5kXHJcbi8vXHJcblxyXG5AbWl4aW4gX2djd2ViLXJlc3BvbnNpdmUtc3BhY2luZygkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50LCAkcHJvcGVydHksICRkaXJlY3Rpb246ICdhbGwnLCAkaW1wb3J0YW50OiBmYWxzZSwgJGFkanVzdG1lbnQ6IGZhbHNlKSB7XHJcblxyXG4gICRhY3R1YWwtaW5wdXQtdHlwZTogdHlwZS1vZigkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50KTtcclxuICBAaWYgJGFjdHVhbC1pbnB1dC10eXBlICE9ICdudW1iZXInIHtcclxuICAgIEBlcnJvciAnRXhwZWN0ZWQgYSBudW1iZXIgKGludGVnZXIpLCBidXQgZ290IGEgJyArICcjeyRhY3R1YWwtaW5wdXQtdHlwZX0uJztcclxuICB9XHJcblxyXG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGdjd2ViLXNwYWNpbmctcmVzcG9uc2l2ZS1zY2FsZSwgJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCkge1xyXG4gICAgQGVycm9yICdVbmtub3duIHNwYWNpbmcgcG9pbnQgYCN7JHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludH1gLiBNYWtlIHN1cmUgeW91IGFyZSB1c2luZyBhIHBvaW50IGZyb20gdGhlICdcclxuICAgICsgJ3Jlc3BvbnNpdmUgc3BhY2luZyBzY2FsZSBpbiBgX3NldHRpbmdzL3NwYWNpbmcuc2Nzc2AuJztcclxuICB9XHJcblxyXG4gICRzY2FsZS1tYXA6IG1hcC1nZXQoJGdjd2ViLXNwYWNpbmctcmVzcG9uc2l2ZS1zY2FsZSwgJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCk7IC8vIFsxXSAvL1xyXG4gICRhY3R1YWwtbWFwLXR5cGU6IHR5cGUtb2YoJHNjYWxlLW1hcCk7XHJcbiAgQGlmICRhY3R1YWwtbWFwLXR5cGUgIT0gJ21hcCcge1xyXG4gICAgQGVycm9yICdFeHBlY3RlZCBhIG51bWJlciAoaW50ZWdlciksIGJ1dCBnb3QgYSAnXHJcbiAgICArICcjeyRhY3R1YWwtbWFwLXR5cGV9LiBNYWtlIHN1cmUgeW91IGFyZSB1c2luZyBhIG1hcCB0byBzZXQgdGhlIHJlc3BvbnNpdmUgc3BhY2luZyBpbiBgX3NldHRpbmdzL3NwYWNpbmcuc2Nzc2ApJztcclxuICB9XHJcblxyXG4gIEBlYWNoICRicmVha3BvaW50LCAkYnJlYWtwb2ludC12YWx1ZSBpbiAkc2NhbGUtbWFwIHsgLy8gWzJdIC8vXHJcblxyXG4gICAgQGlmICgkYWRqdXN0bWVudCkge1xyXG4gICAgICAkYnJlYWtwb2ludC12YWx1ZTogJGJyZWFrcG9pbnQtdmFsdWUgKyAkYWRqdXN0bWVudDtcclxuICAgIH1cclxuXHJcbiAgICBAaWYgJGJyZWFrcG9pbnQgPT0gbnVsbCB7IC8vIFszXSAvL1xyXG5cclxuICAgICAgQGlmICRkaXJlY3Rpb24gPT0gYWxsIHtcclxuICAgICAgICAjeyRwcm9wZXJ0eX06ICRicmVha3BvaW50LXZhbHVlIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgI3skcHJvcGVydHl9LSN7JGRpcmVjdGlvbn06ICRicmVha3BvaW50LXZhbHVlIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiAkYnJlYWtwb2ludCkge1xyXG4gICAgICAgIEBpZiAkZGlyZWN0aW9uID09IGFsbCB7XHJcbiAgICAgICAgICAjeyRwcm9wZXJ0eX06ICRicmVha3BvaW50LXZhbHVlIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICN7JHByb3BlcnR5fS0jeyRkaXJlY3Rpb259OiAkYnJlYWtwb2ludC12YWx1ZSBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBSZXNwb25zaXZlIG1hcmdpblxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuLy9cclxuLy8gQWRkcyByZXNwb25zaXZlIG1hcmdpbiBieSBmZXRjaGluZyBhICdzcGFjaW5nIG1hcCcgZnJvbSB0aGUgcmVzcG9uc2l2ZVxyXG4vLyBzcGFjaW5nIHNjYWxlLCB3aGljaCBkZWZpbmVzIGRpZmZlcmVudCBzcGFjaW5nIHZhbHVlcyBhdCBkaWZmZXJlbnRcclxuLy8gYnJlYWtwb2ludHMuIFdyYXBwZXIgZm9yIHRoZSBgX2djd2ViLXJlc3BvbnNpdmUtc3BhY2luZ2AgbWl4aW4uXHJcbi8vXHJcbi8vIEBzZWUge21peGlufSBfZ2N3ZWItcmVzcG9uc2l2ZS1zcGFjaW5nXHJcbi8vXHJcbi8vIEBwYXJhbSB7TnVtYmVyfSAkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50IC0gUG9pbnQgb24gdGhlIHJlc3BvbnNpdmUgc3BhY2luZ1xyXG4vLyBzY2FsZSwgY29ycmVzcG9uZHMgdG8gYSBtYXAgb2YgYnJlYWtwb2ludHMgYW5kIHNwYWNpbmcgdmFsdWVzXHJcbi8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyZWN0aW9uIFthbGxdIC0gRGlyZWN0aW9uIHRvIGFkZCBzcGFjaW5nIHRvXHJcbi8vICAgKGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgYGxlZnRgLCBgYWxsYClcclxuLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFtmYWxzZV0gLSBXaGV0aGVyIHRvIG1hcmsgYXMgYCFpbXBvcnRhbnRgXHJcbi8vIEBwYXJhbSB7TnVtYmVyfSAkYWRqdXN0bWVudCBbZmFsc2VdIC0gT2Zmc2V0IHRvIGFkanVzdCBzcGFjaW5nIGJ5XHJcbi8vXHJcbi8vIEBleGFtcGxlIHNjc3NcclxuLy8gICAuZm9vIHtcclxuLy8gICAgICBAaW5jbHVkZSBnY3dlYi1yZXNwb25zaXZlLW1hcmdpbig2LCAnbGVmdCcsICRhZGp1c3RtZW50OiAxcHgpO1xyXG4vLyAgIH1cclxuLy9cclxuLy8gT3JpZ2luYWwgY29kZSB0YWtlbiBmcm9tIEdEUyAoR292ZXJubWVudCBEaWdpdGFsIFNlcnZpY2UpXHJcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbHBoYWdvdi9nb3Z1ay1mcm9udGVuZFxyXG4vL1xyXG5cclxuQG1peGluIGdjd2ViLXJlc3BvbnNpdmUtbWFyZ2luKCRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQsICRkaXJlY3Rpb246ICdhbGwnLCAkaW1wb3J0YW50OiBmYWxzZSwgJGFkanVzdG1lbnQ6IGZhbHNlKSB7XHJcbiAgQGluY2x1ZGUgX2djd2ViLXJlc3BvbnNpdmUtc3BhY2luZygkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50LCAnbWFyZ2luJywgJGRpcmVjdGlvbiwgJGltcG9ydGFudCwgJGFkanVzdG1lbnQpO1xyXG59XHJcblxyXG4vLyBSZXNwb25zaXZlIHBhZGRpbmdcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuXHJcbi8vXHJcbi8vIEFkZHMgcmVzcG9uc2l2ZSBwYWRkaW5nIGJ5IGZldGNoaW5nIGEgJ3NwYWNpbmcgbWFwJyBmcm9tIHRoZSByZXNwb25zaXZlXHJcbi8vIHNwYWNpbmcgc2NhbGUsIHdoaWNoIGRlZmluZXMgZGlmZmVyZW50IHNwYWNpbmcgdmFsdWVzIGF0IGRpZmZlcmVudFxyXG4vLyBicmVha3BvaW50cy4gV3JhcHBlciBmb3IgdGhlIGBfZ2N3ZWItcmVzcG9uc2l2ZS1zcGFjaW5nYCBtaXhpbi5cclxuLy9cclxuLy8gQHNlZSB7bWl4aW59IF9nY3dlYi1yZXNwb25zaXZlLXNwYWNpbmdcclxuLy9cclxuLy8gQHBhcmFtIHtOdW1iZXJ9ICRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQgLSBQb2ludCBvbiB0aGUgcmVzcG9uc2l2ZSBzcGFjaW5nXHJcbi8vICAgc2NhbGUsIGNvcnJlc3BvbmRzIHRvIGEgbWFwIG9mIGJyZWFrcG9pbnRzIGFuZCBzcGFjaW5nIHZhbHVlc1xyXG4vLyBAcGFyYW0ge1N0cmluZ30gJGRpcmVjdGlvbiBbYWxsXSAtIERpcmVjdGlvbiB0byBhZGQgc3BhY2luZyB0b1xyXG4vLyAgIChgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIGBsZWZ0YCwgYGFsbGApXHJcbi8vIEBwYXJhbSB7Qm9vbGVhbn0gJGltcG9ydGFudCBbZmFsc2VdIC0gV2hldGhlciB0byBtYXJrIGFzIGAhaW1wb3J0YW50YFxyXG4vLyBAcGFyYW0ge051bWJlcn0gJGFkanVzdG1lbnQgW2ZhbHNlXSAtIE9mZnNldCB0byBhZGp1c3Qgc3BhY2luZ1xyXG4vL1xyXG4vLyBAZXhhbXBsZSBzY3NzXHJcbi8vICAgLmZvbyB7XHJcbi8vICAgICAgQGluY2x1ZGUgZ2N3ZWItcmVzcG9uc2l2ZS1wYWRkaW5nKDYsICdsZWZ0JywgJGFkanVzdG1lbnQ6IDFweCk7XHJcbi8vICAgfVxyXG4vL1xyXG4vLyBPcmlnaW5hbCBjb2RlIHRha2VuIGZyb20gR0RTIChHb3Zlcm5tZW50IERpZ2l0YWwgU2VydmljZSlcclxuLy8gaHR0cHM6Ly9naXRodWIuY29tL2FscGhhZ292L2dvdnVrLWZyb250ZW5kXHJcbi8vXHJcblxyXG5AbWl4aW4gZ2N3ZWItcmVzcG9uc2l2ZS1wYWRkaW5nKCRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQsICRkaXJlY3Rpb246ICdhbGwnLCAkaW1wb3J0YW50OiBmYWxzZSwgJGFkanVzdG1lbnQ6IGZhbHNlKSB7XHJcbiAgQGluY2x1ZGUgX2djd2ViLXJlc3BvbnNpdmUtc3BhY2luZygkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50LCAncGFkZGluZycsICRkaXJlY3Rpb24sICRpbXBvcnRhbnQsICRhZGp1c3RtZW50KTtcclxufVxyXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyBUT09MUyAvICNTQVNTLU1RXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG4vL1xyXG4vLyBXZSB1c2Ugc2Fzcy1tcSBtb2R1bGUgZm9yIG1lZGlhIHF1ZXJpZXNcclxuLy9cclxuLy8gMS4gSW1wb3J0IHNhc3MtbXEgZnJvbSBvdXIgbnBtIGRlcGVuZGVuY2llcyBmb2xkZXJcclxuLy9cclxuXHJcbiRzYXNzLW1xLWFscmVhZHktaW5jbHVkZWQ6IGZhbHNlICFkZWZhdWx0O1xyXG5cclxuQGlmICRzYXNzLW1xLWFscmVhZHktaW5jbHVkZWQge1xyXG4gICRtcS1zaG93LWJyZWFrcG9pbnRzOiAoKTtcclxufVxyXG5cclxuQGltcG9ydCAnLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbXEvbXEnOyAvLyBbMV0gLy9cclxuXHJcbiRzYXNzLW1xLWFscmVhZHktaW5jbHVkZWQ6IHRydWU7XHJcblxyXG4vL1xyXG4vLyBzYXNzLW1xIGhlbHBlcnNcclxuLy9cclxuLy8gT3JpZ2luYWwgY29kZSB0YWtlbiBmcm9tIEdEUyAoR292ZXJubWVudCBEaWdpdGFsIFNlcnZpY2UpXHJcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbHBoYWdvdi9nb3Z1ay1mcm9udGVuZFxyXG4vL1xyXG5cclxuQG1peGluIGdvdnVrLW1lZGlhLXF1ZXJ5KCRhcmdzLi4uKSB7XHJcbiAgQGluY2x1ZGUgbXEoJGFyZ3MuLi4pIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH07XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiOyAvLyBGaXhlcyBhbiBpc3N1ZSB3aGVyZSBSdWJ5IGxvY2FsZSBpcyBub3Qgc2V0IHByb3Blcmx5XG4gICAgICAgICAgICAgICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcS9wdWxsLzEwXG5cbi8vLyBCYXNlIGZvbnQgc2l6ZSBvbiB0aGUgYDxib2R5PmAgZWxlbWVudFxuLy8vXG4vLy8gRG8gbm90IG92ZXJyaWRlIHRoaXMgdmFsdWUsIG9yIHRoaW5ncyB3aWxsIGJyZWFrXG4vLy9cbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xL2lzc3Vlcy8xMjJcbi8vLyBAZGVwcmVjYXRlZCBUaGlzIHNldHRpbmcgd2lsbCBiZSByZW1vdmVkIGluIHNhc3MtbXEgdjYuMC4wXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHR5cGUgTnVtYmVyICh1bml0KVxuJG1xLWJhc2UtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuXG4vLy8gUmVzcG9uc2l2ZSBtb2RlXG4vLy9cbi8vLyBTZXQgdG8gYGZhbHNlYCB0byBlbmFibGUgc3VwcG9ydCBmb3IgYnJvd3NlcnMgdGhhdCBkbyBub3Qgc3VwcG9ydCBAbWVkaWEgcXVlcmllcyxcbi8vLyAoSUUgPD0gOCwgRmlyZWZveCA8PSAzLCBPcGVyYSA8PSA5KVxuLy8vXG4vLy8gWW91IGNvdWxkIGNyZWF0ZSBhIHN0eWxlc2hlZXQgc2VydmVkIGV4Y2x1c2l2ZWx5IHRvIG9sZGVyIGJyb3dzZXJzLFxuLy8vIHdoZXJlIEBtZWRpYSBxdWVyaWVzIGFyZSByYXN0ZXJpemVkXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC8vIG9sZC1pZS5zY3NzXG4vLy8gICRtcS1yZXNwb25zaXZlOiBmYWxzZTtcbi8vLyAgQGltcG9ydCAnbWFpbic7IC8vIEBtZWRpYSBxdWVyaWVzIGluIHRoaXMgZmlsZSB3aWxsIGJlIHJhc3Rlcml6ZWQgdXAgdG8gJG1xLXN0YXRpYy1icmVha3BvaW50XG4vLy8gICAgICAgICAgICAgICAgICAgLy8gbGFyZ2VyIGJyZWFrcG9pbnRzIHdpbGwgYmUgaWdub3JlZFxuLy8vXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjcmVzcG9uc2l2ZS1tb2RlLW9mZiBEaXNhYmxlZCByZXNwb25zaXZlIG1vZGUgZG9jdW1lbnRhdGlvblxuJG1xLXJlc3BvbnNpdmU6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGxpc3Rcbi8vL1xuLy8vIE5hbWUgeW91ciBicmVha3BvaW50cyBpbiBhIHdheSB0aGF0IGNyZWF0ZXMgYSB1YmlxdWl0b3VzIGxhbmd1YWdlXG4vLy8gYWNyb3NzIHRlYW0gbWVtYmVycy4gSXQgd2lsbCBpbXByb3ZlIGNvbW11bmljYXRpb24gYmV0d2VlblxuLy8vIHN0YWtlaG9sZGVycywgZGVzaWduZXJzLCBkZXZlbG9wZXJzLCBhbmQgdGVzdGVycy5cbi8vL1xuLy8vIEB0eXBlIE1hcFxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjc2VlaW5nLXRoZS1jdXJyZW50bHktYWN0aXZlLWJyZWFrcG9pbnQgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuJG1xLWJyZWFrcG9pbnRzOiAoXG4gICAgbW9iaWxlOiAgMzIwcHgsXG4gICAgdGFibGV0OiAgNzQwcHgsXG4gICAgZGVza3RvcDogOTgwcHgsXG4gICAgd2lkZTogICAgMTMwMHB4XG4pICFkZWZhdWx0O1xuXG4vLy8gU3RhdGljIGJyZWFrcG9pbnQgKGZvciBmaXhlZC13aWR0aCBsYXlvdXRzKVxuLy8vXG4vLy8gRGVmaW5lIHRoZSBicmVha3BvaW50IGZyb20gJG1xLWJyZWFrcG9pbnRzIHRoYXQgc2hvdWxkXG4vLy8gYmUgdXNlZCBhcyB0aGUgdGFyZ2V0IHdpZHRoIGZvciB0aGUgZml4ZWQtd2lkdGggbGF5b3V0XG4vLy8gKGkuZS4gd2hlbiAkbXEtcmVzcG9uc2l2ZSBpcyBzZXQgdG8gJ2ZhbHNlJykgaW4gYSBvbGQtaWUuc2Nzc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAvLyB0YWJsZXQtb25seS5zY3NzXG4vLy8gIC8vXG4vLy8gIC8vIElnbm9yZSBhbGwgc3R5bGVzIGFib3ZlIHRhYmxldCBicmVha3BvaW50LFxuLy8vICAvLyBhbmQgZml4IHRoZSBzdHlsZXMgKHN1Y2ggYXMgdGhlIGxheW91dCkgYXQgdGFibGV0IHdpZHRoXG4vLy8gICRtcS1yZXNwb25zaXZlOiBmYWxzZTtcbi8vLyAgJG1xLXN0YXRpYy1icmVha3BvaW50OiB0YWJsZXQ7XG4vLy8gIEBpbXBvcnQgJ21haW4nOyAvLyBAbWVkaWEgcXVlcmllcyBpbiB0aGlzIGZpbGUgd2lsbCBiZSByYXN0ZXJpemVkIHVwIHRvIHRhYmxldFxuLy8vICAgICAgICAgICAgICAgICAgIC8vIGxhcmdlciBicmVha3BvaW50cyB3aWxsIGJlIGlnbm9yZWRcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjYWRkaW5nLWN1c3RvbS1icmVha3BvaW50cyBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4kbXEtc3RhdGljLWJyZWFrcG9pbnQ6IGRlc2t0b3AgIWRlZmF1bHQ7XG5cbi8vLyBTaG93IGJyZWFrcG9pbnRzIGluIHRoZSB0b3AgcmlnaHQgY29ybmVyXG4vLy9cbi8vLyBJZiB5b3Ugd2FudCB0byBkaXNwbGF5IHRoZSBjdXJyZW50bHkgYWN0aXZlIGJyZWFrcG9pbnQgaW4gdGhlIHRvcFxuLy8vIHJpZ2h0IGNvcm5lciBvZiB5b3VyIHNpdGUgZHVyaW5nIGRldmVsb3BtZW50LCBhZGQgdGhlIGJyZWFrcG9pbnRzXG4vLy8gdG8gdGhpcyBsaXN0LCBvcmRlcmVkIGJ5IHdpZHRoLiBGb3IgZXhhbXBsZTogKG1vYmlsZSwgdGFibGV0LCBkZXNrdG9wKS5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgICRtcS1zaG93LWJyZWFrcG9pbnRzOiAobW9iaWxlLCB0YWJsZXQsIGRlc2t0b3ApO1xuLy8vICAgQGltcG9ydCAncGF0aC90by9tcSc7XG4vLy9cbi8vLyBAdHlwZSBtYXBcbiRtcS1zaG93LWJyZWFrcG9pbnRzOiAoKSAhZGVmYXVsdDtcblxuLy8vIEN1c3RvbWl6ZSB0aGUgbWVkaWEgdHlwZSAoZm9yIGV4YW1wbGU6IGBAbWVkaWEgc2NyZWVuYCBvciBgQG1lZGlhIHByaW50YClcbi8vLyBCeSBkZWZhdWx0IHNhc3MtbXEgdXNlcyBhbiBcImFsbFwiIG1lZGlhIHR5cGUgKGBAbWVkaWEgYWxsIGFuZCDigKZgKVxuLy8vXG4vLy8gQHR5cGUgU3RyaW5nXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNjaGFuZ2luZy1tZWRpYS10eXBlIEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcbiRtcS1tZWRpYS10eXBlOiBhbGwgIWRlZmF1bHQ7XG5cbi8vLyBDb252ZXJ0IHBpeGVscyB0byBlbXNcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcHggLSB2YWx1ZSB0byBjb252ZXJ0XG4vLy8gQGlnbm9yZSBAcGFyYW0ge051bWJlcn0gJGJhc2UtZm9udC1zaXplIFskbXEtYmFzZS1mb250LXNpemVdIC0gYDxib2R5PmAgZm9udCBzaXplIChkZXByZWNhdGVkKVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAkZm9udC1zaXplLWluLWVtczogbXEtcHgyZW0oMTZweCk7XG4vLy8gIHAgeyBmb250LXNpemU6IG1xLXB4MmVtKDE2cHgpOyB9XG4vLy9cbi8vLyBAcmVxdWlyZXMgJG1xLWJhc2UtZm9udC1zaXplXG4vLy8gQHJldHVybnMge051bWJlcn1cbkBmdW5jdGlvbiBtcS1weDJlbSgkcHgsICRiYXNlLWZvbnQtc2l6ZTogJG1xLWJhc2UtZm9udC1zaXplKSB7XG4gICAgQGlmICgkbXEtYmFzZS1mb250LXNpemUgIT0gMTZweCkge1xuICAgICAgICBAd2FybiBcIk92ZXJyaWRpbmcgJG1xLWJhc2UtZm9udC1zaXplIHdpbGwgYnJlYWsgdGhpbmdzLCBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcS9pc3N1ZXMvMTIyLlwiO1xuICAgIH1cbiAgICBAaWYgKCRiYXNlLWZvbnQtc2l6ZSAhPSAxNnB4KSB7XG4gICAgICAgIEB3YXJuIFwiVGhlICRiYXNlLWZvbnQtc2l6ZSBhcmd1bWVudCB3aWxsIGJlIHJlbW92ZWQgaW4gc2Fzcy1tcSB2Ni4wLjAsIGFzIG92ZXJyaWRpbmcgaXQgYnJlYWtzIHRoaW5ncywgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEvaXNzdWVzLzEyMi5cIjtcbiAgICB9XG4gICAgQGlmIHVuaXRsZXNzKCRweCkge1xuICAgICAgICBAd2FybiBcIkFzc3VtaW5nICN7JHB4fSB0byBiZSBpbiBwaXhlbHMsIGF0dGVtcHRpbmcgdG8gY29udmVydCBpdCBpbnRvIHBpeGVscy5cIjtcbiAgICAgICAgQHJldHVybiBtcS1weDJlbSgkcHggKiAxcHgsICRiYXNlLWZvbnQtc2l6ZSk7XG4gICAgfSBAZWxzZSBpZiB1bml0KCRweCkgPT0gZW0ge1xuICAgICAgICBAcmV0dXJuICRweDtcbiAgICB9XG4gICAgQHJldHVybiAoJHB4IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTtcbn1cblxuLy8vIEdldCBhIGJyZWFrcG9pbnQncyB3aWR0aFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUgYnJlYWtwb2ludC4gT25lIG9mICRtcS1icmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAkdGFibGV0LXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCh0YWJsZXQpO1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoZGVza3RvcCkpIHt9XG4vLy9cbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFZhbHVlIGluIHBpeGVsc1xuQGZ1bmN0aW9uIG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRtcS1icmVha3BvaW50cykge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRuYW1lKSB7XG4gICAgICAgIEByZXR1cm4gbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgQHdhcm4gXCJCcmVha3BvaW50ICN7JG5hbWV9IHdhc24ndCBmb3VuZCBpbiAkYnJlYWtwb2ludHMuXCI7XG4gICAgfVxufVxuXG4vLy8gTWVkaWEgUXVlcnkgbWl4aW5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJGZyb20gW2ZhbHNlXSAtIE9uZSBvZiAkbXEtYnJlYWtwb2ludHNcbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICR1bnRpbCBbZmFsc2VdIC0gT25lIG9mICRtcS1icmVha3BvaW50c1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJGFuZCBbZmFsc2VdIC0gQWRkaXRpb25hbCBtZWRpYSBxdWVyeSBwYXJhbWV0ZXJzXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZWRpYS10eXBlIFskbXEtbWVkaWEtdHlwZV0gLSBNZWRpYSB0eXBlOiBzY3JlZW4sIHByaW504oCmXG4vLy9cbi8vLyBAaWdub3JlIFVuZG9jdW1lbnRlZCBBUEksIGZvciBhZHZhbmNlZCB1c2Ugb25seTpcbi8vLyBAaWdub3JlIEBwYXJhbSB7TWFwfSAkYnJlYWtwb2ludHMgWyRtcS1icmVha3BvaW50c11cbi8vLyBAaWdub3JlIEBwYXJhbSB7U3RyaW5nfSAkc3RhdGljLWJyZWFrcG9pbnQgWyRtcS1zdGF0aWMtYnJlYWtwb2ludF1cbi8vL1xuLy8vIEBjb250ZW50IHN0eWxpbmcgcnVsZXMsIHdyYXBwZWQgaW50byBhIEBtZWRpYSBxdWVyeSB3aGVuICRyZXNwb25zaXZlIGlzIHRydWVcbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1tZWRpYS10eXBlXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLXN0YXRpYy1icmVha3BvaW50XG4vLy8gQHJlcXVpcmVzIHtmdW5jdGlvbn0gbXEtcHgyZW1cbi8vLyBAcmVxdWlyZXMge2Z1bmN0aW9ufSBtcS1nZXQtYnJlYWtwb2ludC13aWR0aFxuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNyZXNwb25zaXZlLW1vZGUtb24tZGVmYXVsdCBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC5lbGVtZW50IHtcbi8vLyAgICBAaW5jbHVkZSBtcSgkZnJvbTogbW9iaWxlKSB7XG4vLy8gICAgICBjb2xvcjogcmVkO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSgkdW50aWw6IHRhYmxldCkge1xuLy8vICAgICAgY29sb3I6IGJsdWU7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKG1vYmlsZSwgdGFibGV0KSB7XG4vLy8gICAgICBjb2xvcjogZ3JlZW47XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQsICRhbmQ6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknKSB7XG4vLy8gICAgICBjb2xvcjogdGVhbDtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEoOTUwcHgpIHtcbi8vLyAgICAgIGNvbG9yOiBob3RwaW5rO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSh0YWJsZXQsICRtZWRpYS10eXBlOiBzY3JlZW4pIHtcbi8vLyAgICAgIGNvbG9yOiBob3RwaW5rO1xuLy8vICAgIH1cbi8vLyAgICAvLyBBZHZhbmNlZCB1c2U6XG4vLy8gICAgJG15LWJyZWFrcG9pbnRzOiAoTDogOTAwcHgsIFhMOiAxMjAwcHgpO1xuLy8vICAgIEBpbmNsdWRlIG1xKEwsICRicmVha3BvaW50czogJG15LWJyZWFrcG9pbnRzLCAkc3RhdGljLWJyZWFrcG9pbnQ6IEwpIHtcbi8vLyAgICAgIGNvbG9yOiBob3RwaW5rO1xuLy8vICAgIH1cbi8vLyAgfVxuQG1peGluIG1xKFxuICAgICRmcm9tOiBmYWxzZSxcbiAgICAkdW50aWw6IGZhbHNlLFxuICAgICRhbmQ6IGZhbHNlLFxuICAgICRtZWRpYS10eXBlOiAkbXEtbWVkaWEtdHlwZSxcbiAgICAkYnJlYWtwb2ludHM6ICRtcS1icmVha3BvaW50cyxcbiAgICAkcmVzcG9uc2l2ZTogJG1xLXJlc3BvbnNpdmUsXG4gICAgJHN0YXRpYy1icmVha3BvaW50OiAkbXEtc3RhdGljLWJyZWFrcG9pbnRcbikge1xuICAgICRtaW4td2lkdGg6IDA7XG4gICAgJG1heC13aWR0aDogMDtcbiAgICAkbWVkaWEtcXVlcnk6ICcnO1xuXG4gICAgLy8gRnJvbTogdGhpcyBicmVha3BvaW50IChpbmNsdXNpdmUpXG4gICAgQGlmICRmcm9tIHtcbiAgICAgICAgQGlmIHR5cGUtb2YoJGZyb20pID09IG51bWJlciB7XG4gICAgICAgICAgICAkbWluLXdpZHRoOiBtcS1weDJlbSgkZnJvbSk7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgJG1pbi13aWR0aDogbXEtcHgyZW0obXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJGZyb20sICRicmVha3BvaW50cykpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gVW50aWw6IHRoYXQgYnJlYWtwb2ludCAoZXhjbHVzaXZlKVxuICAgIEBpZiAkdW50aWwge1xuICAgICAgICBAaWYgdHlwZS1vZigkdW50aWwpID09IG51bWJlciB7XG4gICAgICAgICAgICAkbWF4LXdpZHRoOiBtcS1weDJlbSgkdW50aWwpO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICRtYXgtd2lkdGg6IG1xLXB4MmVtKG1xLWdldC1icmVha3BvaW50LXdpZHRoKCR1bnRpbCwgJGJyZWFrcG9pbnRzKSkgLSAuMDFlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgc3VwcG9ydCBpcyBkaXNhYmxlZCwgcmFzdGVyaXplIHRoZSBvdXRwdXQgb3V0c2lkZSBAbWVkaWEgYmxvY2tzXG4gICAgLy8gVGhlIGJyb3dzZXIgd2lsbCByZWx5IG9uIHRoZSBjYXNjYWRlIGl0c2VsZi5cbiAgICBAaWYgJHJlc3BvbnNpdmUgPT0gZmFsc2Uge1xuICAgICAgICAkc3RhdGljLWJyZWFrcG9pbnQtd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRzdGF0aWMtYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcbiAgICAgICAgJHRhcmdldC13aWR0aDogbXEtcHgyZW0oJHN0YXRpYy1icmVha3BvaW50LXdpZHRoKTtcblxuICAgICAgICAvLyBPdXRwdXQgb25seSBydWxlcyB0aGF0IHN0YXJ0IGF0IG9yIHNwYW4gb3VyIHRhcmdldCB3aWR0aFxuICAgICAgICBAaWYgKFxuICAgICAgICAgICAgJGFuZCA9PSBmYWxzZVxuICAgICAgICAgICAgYW5kICRtaW4td2lkdGggPD0gJHRhcmdldC13aWR0aFxuICAgICAgICAgICAgYW5kIChcbiAgICAgICAgICAgICAgICAkdW50aWwgPT0gZmFsc2Ugb3IgJG1heC13aWR0aCA+PSAkdGFyZ2V0LXdpZHRoXG4gICAgICAgICAgICApXG4gICAgICAgICAgICBhbmQgJG1lZGlhLXR5cGUgIT0gJ3ByaW50J1xuICAgICAgICApIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBzdXBwb3J0IGlzIGVuYWJsZWQsIG91dHB1dCBydWxlcyBpbnNpZGUgQG1lZGlhIHF1ZXJpZXNcbiAgICBAZWxzZSB7XG4gICAgICAgIEBpZiAkbWluLXdpZHRoICE9IDAgeyAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kIChtaW4td2lkdGg6ICN7JG1pbi13aWR0aH0pJzsgfVxuICAgICAgICBAaWYgJG1heC13aWR0aCAhPSAwIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAobWF4LXdpZHRoOiAjeyRtYXgtd2lkdGh9KSc7IH1cbiAgICAgICAgQGlmICRhbmQgICAgICAgICAgICB7ICRtZWRpYS1xdWVyeTogJyN7JG1lZGlhLXF1ZXJ5fSBhbmQgI3skYW5kfSc7IH1cblxuICAgICAgICAvLyBSZW1vdmUgdW5uZWNlc3NhcnkgbWVkaWEgcXVlcnkgcHJlZml4ICdhbGwgYW5kICdcbiAgICAgICAgQGlmICgkbWVkaWEtdHlwZSA9PSAnYWxsJyBhbmQgJG1lZGlhLXF1ZXJ5ICE9ICcnKSB7XG4gICAgICAgICAgICAkbWVkaWEtdHlwZTogJyc7XG4gICAgICAgICAgICAkbWVkaWEtcXVlcnk6IHN0ci1zbGljZSh1bnF1b3RlKCRtZWRpYS1xdWVyeSksIDYpO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhICN7JG1lZGlhLXR5cGUgKyAkbWVkaWEtcXVlcnl9IHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLy8gUXVpY2sgc29ydFxuLy8vXG4vLy8gQGF1dGhvciBTYW0gUmljaGFyZHNcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gTGlzdCB0byBzb3J0XG4vLy8gQHJldHVybnMge0xpc3R9IFNvcnRlZCBMaXN0XG5AZnVuY3Rpb24gX21xLXF1aWNrLXNvcnQoJGxpc3QpIHtcbiAgICAkbGVzczogICgpO1xuICAgICRlcXVhbDogKCk7XG4gICAgJGxhcmdlOiAoKTtcblxuICAgIEBpZiBsZW5ndGgoJGxpc3QpID4gMSB7XG4gICAgICAgICRzZWVkOiBudGgoJGxpc3QsIGNlaWwobGVuZ3RoKCRsaXN0KSAvIDIpKTtcblxuICAgICAgICBAZWFjaCAkaXRlbSBpbiAkbGlzdCB7XG4gICAgICAgICAgICBAaWYgKCRpdGVtID09ICRzZWVkKSB7XG4gICAgICAgICAgICAgICAgJGVxdWFsOiBhcHBlbmQoJGVxdWFsLCAkaXRlbSk7XG4gICAgICAgICAgICB9IEBlbHNlIGlmICgkaXRlbSA8ICRzZWVkKSB7XG4gICAgICAgICAgICAgICAgJGxlc3M6IGFwcGVuZCgkbGVzcywgJGl0ZW0pO1xuICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGl0ZW0gPiAkc2VlZCkge1xuICAgICAgICAgICAgICAgICRsYXJnZTogYXBwZW5kKCRsYXJnZSwgJGl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQHJldHVybiBqb2luKGpvaW4oX21xLXF1aWNrLXNvcnQoJGxlc3MpLCAkZXF1YWwpLCBfbXEtcXVpY2stc29ydCgkbGFyZ2UpKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gU29ydCBhIG1hcCBieSB2YWx1ZXMgKHdvcmtzIHdpdGggbnVtYmVycyBvbmx5KVxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc29ydFxuLy8vIEByZXR1cm5zIHtNYXB9IE1hcCBzb3J0ZWQgYnkgdmFsdWVcbkBmdW5jdGlvbiBfbXEtbWFwLXNvcnQtYnktdmFsdWUoJG1hcCkge1xuICAgICRtYXAtc29ydGVkOiAoKTtcbiAgICAkbWFwLWtleXM6IG1hcC1rZXlzKCRtYXApO1xuICAgICRtYXAtdmFsdWVzOiBtYXAtdmFsdWVzKCRtYXApO1xuICAgICRtYXAtdmFsdWVzLXNvcnRlZDogX21xLXF1aWNrLXNvcnQoJG1hcC12YWx1ZXMpO1xuXG4gICAgLy8gUmVvcmRlciBrZXkvdmFsdWUgcGFpcnMgYmFzZWQgb24ga2V5IHZhbHVlc1xuICAgIEBlYWNoICR2YWx1ZSBpbiAkbWFwLXZhbHVlcy1zb3J0ZWQge1xuICAgICAgICAkaW5kZXg6IGluZGV4KCRtYXAtdmFsdWVzLCAkdmFsdWUpO1xuICAgICAgICAka2V5OiBudGgoJG1hcC1rZXlzLCAkaW5kZXgpO1xuICAgICAgICAkbWFwLXNvcnRlZDogbWFwLW1lcmdlKCRtYXAtc29ydGVkLCAoJGtleTogJHZhbHVlKSk7XG5cbiAgICAgICAgLy8gVW5zZXQgdGhlIHZhbHVlIGluICRtYXAtdmFsdWVzIHRvIHByZXZlbnQgdGhlIGxvb3BcbiAgICAgICAgLy8gZnJvbSBmaW5kaW5nIHRoZSBzYW1lIGluZGV4IHR3aWNlXG4gICAgICAgICRtYXAtdmFsdWVzOiBzZXQtbnRoKCRtYXAtdmFsdWVzLCAkaW5kZXgsIDApO1xuICAgIH1cblxuICAgIEByZXR1cm4gJG1hcC1zb3J0ZWQ7XG59XG5cbi8vLyBBZGQgYSBicmVha3BvaW50XG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBicmVha3BvaW50XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBicmVha3BvaW50XG4vLy9cbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgQGluY2x1ZGUgbXEtYWRkLWJyZWFrcG9pbnQodHZzY3JlZW4sIDE5MjBweCk7XG4vLy8gIEBpbmNsdWRlIG1xKHR2c2NyZWVuKSB7fVxuQG1peGluIG1xLWFkZC1icmVha3BvaW50KCRuYW1lLCAkd2lkdGgpIHtcbiAgICAkbmV3LWJyZWFrcG9pbnQ6ICgkbmFtZTogJHdpZHRoKTtcbiAgICAkbXEtYnJlYWtwb2ludHM6IG1hcC1tZXJnZSgkbXEtYnJlYWtwb2ludHMsICRuZXctYnJlYWtwb2ludCkgIWdsb2JhbDtcbiAgICAkbXEtYnJlYWtwb2ludHM6IF9tcS1tYXAtc29ydC1ieS12YWx1ZSgkbXEtYnJlYWtwb2ludHMpICFnbG9iYWw7XG59XG5cbi8vLyBTaG93IHRoZSBhY3RpdmUgYnJlYWtwb2ludCBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lciBvZiB0aGUgdmlld3BvcnRcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3NlZWluZy10aGUtY3VycmVudGx5LWFjdGl2ZS1icmVha3BvaW50XG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaG93LWJyZWFrcG9pbnRzIFskbXEtc2hvdy1icmVha3BvaW50c10gLSBMaXN0IG9mIGJyZWFrcG9pbnRzIHRvIHNob3cgaW4gdGhlIHRvcCByaWdodCBjb3JuZXJcbi8vLyBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzIFskbXEtYnJlYWtwb2ludHNdIC0gQnJlYWtwb2ludCBuYW1lcyBhbmQgc2l6ZXNcbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1zaG93LWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC8vIFNob3cgYnJlYWtwb2ludHMgdXNpbmcgZ2xvYmFsIHNldHRpbmdzXG4vLy8gIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHM7XG4vLy9cbi8vLyAgLy8gU2hvdyBicmVha3BvaW50cyB1c2luZyBjdXN0b20gc2V0dGluZ3Ncbi8vLyAgQGluY2x1ZGUgbXEtc2hvdy1icmVha3BvaW50cygoTCwgWEwpLCAoUzogMzAwcHgsIEw6IDgwMHB4LCBYTDogMTIwMHB4KSk7XG5AbWl4aW4gbXEtc2hvdy1icmVha3BvaW50cygkc2hvdy1icmVha3BvaW50czogJG1xLXNob3ctYnJlYWtwb2ludHMsICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzKSB7XG4gICAgYm9keTpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkNGOEUzO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0ZCRUVENTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjRkJFRUQ1O1xuICAgICAgICBjb2xvcjogI0MwOTg1MztcbiAgICAgICAgZm9udDogc21hbGwtY2FwdGlvbjtcbiAgICAgICAgcGFkZGluZzogM3B4IDZweDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogMTAwO1xuXG4gICAgICAgIC8vIExvb3AgdGhyb3VnaCB0aGUgYnJlYWtwb2ludHMgdGhhdCBzaG91bGQgYmUgc2hvd25cbiAgICAgICAgQGVhY2ggJHNob3ctYnJlYWtwb2ludCBpbiAkc2hvdy1icmVha3BvaW50cyB7XG4gICAgICAgICAgICAkd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRzaG93LWJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkc2hvdy1icmVha3BvaW50LCAkYnJlYWtwb2ludHM6ICRicmVha3BvaW50cykge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiI3skc2hvdy1icmVha3BvaW50fSDiiaUgI3skd2lkdGh9ICgje21xLXB4MmVtKCR3aWR0aCl9KVwiO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaWYgbGVuZ3RoKCRtcS1zaG93LWJyZWFrcG9pbnRzKSA+IDAge1xuICAgIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHM7XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyBUT09MUyAvICNUWVBPR1JBUEhZXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG4vL1xyXG4vLyBUaGVzZSBtaXhpbnMgYWxsb3cgdXMgdG8gcXVpY2tseSBhbmQgY29uc2lzdGVudGx5IGdlbmVyYXRlIGNvbW1vbiB0ZXh0XHJcbi8vIHBhdHRlcm5zIHN1Y2ggYXMgY29sb3VycyBhbmQgZm9udC13ZWlnaHRcclxuLy9cclxuXHJcbi8vIFRleHQgY29sb3VyXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG4vL1xyXG4vLyBTZXRzIHRoZSB0ZXh0IGNvbG91ciwgaW5jbHVkaW5nIGEgc3VpdGFibGUgb3ZlcnJpZGUgZm9yIHByaW50LlxyXG4vL1xyXG4vLyBPcmlnaW5hbCBjb2RlIHRha2VuIGZyb20gR0RTIChHb3Zlcm5tZW50IERpZ2l0YWwgU2VydmljZSlcclxuLy8gaHR0cHM6Ly9naXRodWIuY29tL2FscGhhZ292L2dvdnVrLWZyb250ZW5kXHJcbi8vXHJcblxyXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1pbXBvcnRhbnQsIG5vLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzXHJcblxyXG5AbWl4aW4gZ2N3ZWItdGV4dC1jb2xvciB7XHJcbiAgY29sb3I6ICRnY3dlYi10ZXh0LWNvbG9yO1xyXG5cclxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkbWVkaWEtdHlwZTogcHJpbnQpIHtcclxuICAgIGNvbG9yOiAkZ2N3ZWItcHJpbnQtdGV4dC1jb2xvcjtcclxuICB9XHJcbn1cclxuXHJcbi8vIE5vcm1hbCBmb250IHdlaWdodFxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuLy9cclxuLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFtmYWxzZV0gLSBXaGV0aGVyIHRvIG1hcmsgZGVjbGFyYXRpb25zIGFzXHJcbi8vICAgYCFpbXBvcnRhbnRgLiBHZW5lcmFsbHkgVXNlZCB0byBjcmVhdGUgb3ZlcnJpZGUgY2xhc3Nlcy5cclxuLy9cclxuXHJcbkBtaXhpbiBnY3dlYi10eXBvZ3JhcGh5LXdlaWdodC1ub3JtYWwoJGltcG9ydGFudDogZmFsc2UpIHtcclxuICBmb250LXdlaWdodDogJGdjd2ViLWZvbnQtbm9ybWFsIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcclxufVxyXG5cclxuLy8gQm9sZCBmb250IHdlaWdodFxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuLy9cclxuLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFtmYWxzZV0gLSBXaGV0aGVyIHRvIG1hcmsgZGVjbGFyYXRpb25zIGFzXHJcbi8vICAgYCFpbXBvcnRhbnRgLiBHZW5lcmFsbHkgVXNlZCB0byBjcmVhdGUgb3ZlcnJpZGUgY2xhc3Nlcy5cclxuLy9cclxuXHJcbkBtaXhpbiBnY3dlYi10eXBvZ3JhcGh5LXdlaWdodC1ib2xkKCRpbXBvcnRhbnQ6IGZhbHNlKSB7XHJcbiAgZm9udC13ZWlnaHQ6ICRnY3dlYi1mb250LWJvbGQgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xyXG59XHJcblxyXG4vLyBMaW5lIGhlaWdodFxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuLy9cclxuLy8gQ29udmVydCBsaW5lLWhlaWdodHMgc3BlY2lmaWVkIGluIHBpeGVscyBpbnRvIGEgcmVsYXRpdmUgdmFsdWUsIHVubGVzc1xyXG4vLyB0aGV5IGFyZSBhbHJlYWR5IHVuaXQtbGVzcyAoYW5kIHRodXMgYWxyZWFkeSB0cmVhdGVkIGFzIHJlbGF0aXZlIHZhbHVlcylcclxuLy8gb3IgdGhlIHVuaXRzIGRvIG5vdCBtYXRjaCB0aGUgdW5pdHMgdXNlZCBmb3IgdGhlIGZvbnQgc2l6ZS5cclxuLy9cclxuLy8gQHBhcmFtIHtOdW1iZXJ9ICRsaW5lLWhlaWdodCBMaW5lIGhlaWdodFxyXG4vLyBAcGFyYW0ge051bWJlcn0gJGZvbnQtc2l6ZSBGb250IHNpemVcclxuLy8gQHJldHVybiB7TnVtYmVyfSBUaGUgbGluZSBoZWlnaHQgYXMgZWl0aGVyIGEgcmVsYXRpdmUgdmFsdWUgb3IgdW5tb2RpZmllZFxyXG4vL1xyXG5cclxuQGZ1bmN0aW9uIF9nY3dlYi1saW5lLWhlaWdodCgkbGluZS1oZWlnaHQsICRmb250LXNpemUpIHtcclxuICBAaWYgbm90IHVuaXRsZXNzKCRsaW5lLWhlaWdodCkgYW5kIHVuaXQoJGxpbmUtaGVpZ2h0KSA9PSB1bml0KCRmb250LXNpemUpIHtcclxuICAgICRsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0IC8gJGZvbnQtc2l6ZTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJGxpbmUtaGVpZ2h0O1xyXG59XHJcblxyXG4vLyBSZXNwb25zaXZlIHR5cG9ncmFwaHlcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuXHJcbi8vXHJcbi8vIFRha2VzIGEgJ2ZvbnQgbWFwJyBhcyBhbiBhcmd1bWVudCBhbmQgdXNlcyBpdCB0byBjcmVhdGUgZm9udC1zaXplIGFuZFxyXG4vLyBsaW5lLWhlaWdodCBkZWNsYXJhdGlvbnMgZm9yIGRpZmZlcmVudCBicmVha3BvaW50cywgYW5kIGZvciBwcmludC5cclxuLy9cclxuLy8gRXhhbXBsZSBmb250IG1hcDpcclxuLy9cclxuLy8gJG15LWZvbnQtbWFwOiAoXHJcbi8vICAgbnVsbDogKFxyXG4vLyAgICAgZm9udC1zaXplOiAxNnB4LFxyXG4vLyAgICAgbGluZS1oZWlnaHQ6IDIwcHhcclxuLy8gICApLFxyXG4vLyAgIHRhYmxldDogKFxyXG4vLyAgICAgZm9udC1zaXplOiAxOXB4LFxyXG4vLyAgICAgbGluZS1oZWlnaHQ6IDI1cHhcclxuLy8gICApLFxyXG4vLyAgIHByaW50OiAoXHJcbi8vICAgICBmb250LXNpemU6IDE0cHQsXHJcbi8vICAgICBsaW5lLWhlaWdodDogMS4xNVxyXG4vLyAgIClcclxuLy8gKTtcXFxyXG4vL1xyXG4vLyBAZXhhbXBsZSBzY3NzXHJcbi8vICAuZm9vIHtcclxuLy8gICAgQGluY2x1ZGUgZ2N3ZWItdHlwb2dyYXBoeS1yZXNwb25zaXZlKDE5KTtcclxuLy8gICB9XHJcbi8vXHJcbi8vICAuZm9vIHtcclxuLy8gICAgQGluY2x1ZGUgZ2N3ZWItdHlwb2dyYXBoeS1yZXNwb25zaXZlKDMyLCAkaW1wb3J0YW50OiB0cnVlKTtcclxuLy8gICB9XHJcbi8vXHJcbi8vIEBwYXJhbSB7TWFwfSAkZm9udC1tYXAgLSBGb250IG1hcFxyXG4vLyBAcGFyYW0ge051bWJlcn0gJG92ZXJyaWRlLWxpbmUtaGVpZ2h0IFtmYWxzZV0gLSBOb24gcmVzcG9uc2l2ZSBjdXN0b20gbGluZVxyXG4vLyAgIGhlaWdodC4gT21pdCB0byB1c2UgdGhlIGxpbmUgaGVpZ2h0IGZyb20gdGhlIGZvbnQgbWFwLlxyXG4vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbXBvcnRhbnQgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gbWFyayBkZWNsYXJhdGlvbnMgYXNcclxuLy8gICBgIWltcG9ydGFudGAuXHJcbi8vXHJcbi8vIDEuIE1hcmsgcnVsZXMgYXMgIWltcG9ydGFudCBpZiAkaW1wb3J0YW50IGlzIHRydWUgLSB0aGlzIHdpbGwgcmVzdWx0IGluXHJcbi8vICAgIHRoZXNlIHZhcmlhYmxlcyBiZWNvbWluZyBzdHJpbmdzLCBzbyB0aGlzIG5lZWRzIHRvIGhhcHBlbi8vYWZ0ZXIqIHRoZXlcclxuLy8gICAgYXJlIHVzZWQgaW4gY2FsY3VsYXRpb25zXHJcbi8vXHJcblxyXG5AbWl4aW4gZ2N3ZWItdHlwb2dyYXBoeS1yZXNwb25zaXZlKCRzaXplLCAkb3ZlcnJpZGUtbGluZS1oZWlnaHQ6IGZhbHNlLCAkaW1wb3J0YW50OiBmYWxzZSkge1xyXG5cclxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRnY3dlYi10eXBvZ3JhcGh5LXNjYWxlLCAkc2l6ZSkge1xyXG4gICAgQGVycm9yICdVbmtub3duIGZvbnQgc2l6ZSBgI3skc2l6ZX1gIC0gZXhwZWN0ZWQgYSBwb2ludCBmcm9tIHRoZSB0eXBvZ3JhcGh5IHNjYWxlLic7XHJcbiAgfVxyXG5cclxuICAkZm9udC1tYXA6IG1hcC1nZXQoJGdjd2ViLXR5cG9ncmFwaHktc2NhbGUsICRzaXplKTtcclxuXHJcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRicmVha3BvaW50LW1hcCBpbiAkZm9udC1tYXAge1xyXG4gICAgJGZvbnQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludC1tYXAsICdmb250LXNpemUnKTtcclxuICAgICRmb250LXNpemUtcmVtOiBnY3dlYi1weC10by1yZW0oJGZvbnQtc2l6ZSk7XHJcblxyXG4gICAgJGxpbmUtaGVpZ2h0OiBfZ2N3ZWItbGluZS1oZWlnaHQoXHJcbiAgICAgICRsaW5lLWhlaWdodDogaWYoJG92ZXJyaWRlLWxpbmUtaGVpZ2h0LFxyXG4gICAgICAgICRvdmVycmlkZS1saW5lLWhlaWdodCxcclxuICAgICAgICBtYXAtZ2V0KCRicmVha3BvaW50LW1hcCwgJ2xpbmUtaGVpZ2h0JylcclxuICAgICAgKSxcclxuICAgICAgJGZvbnQtc2l6ZTogJGZvbnQtc2l6ZVxyXG4gICAgKTtcclxuXHJcbiAgICAvLyBbMV0gLy9cclxuICAgICRmb250LXNpemU6ICRmb250LXNpemUgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xyXG4gICAgJGZvbnQtc2l6ZS1yZW06ICRmb250LXNpemUtcmVtIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcclxuICAgICRsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0IGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcclxuXHJcbiAgICBAaWYgJGJyZWFrcG9pbnQgPT0gbnVsbCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcclxuICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXJlbTtcclxuICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcclxuICAgIH0gQGVsc2UgaWYgJGJyZWFrcG9pbnQgPT0gJ3ByaW50JyB7XHJcbiAgICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRtZWRpYS10eXBlOiBwcmludCkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206ICRicmVha3BvaW50KSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1yZW07XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gRm9udFxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuLy9cclxuLy8gQGV4YW1wbGUgc2Nzc1xyXG4vLyAgLmZvbyB7XHJcbi8vICAgIEBpbmNsdWRlIGdjd2ViLWZvbnQoMTkpO1xyXG4vLyAgIH1cclxuLy9cclxuLy8gIC5mb28ge1xyXG4vLyAgICBAaW5jbHVkZSBnY3dlYi1mb250KDMyLCAkd2VpZ2h0OiBib2xkKTtcclxuLy8gICB9XHJcbi8vXHJcbi8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSAtIFNpemUgb2YgdGhlIGZvbnQgYXMgaXQgd291bGQgYXBwZWFyIG9uIGRlc2t0b3AgLVxyXG4vLyAgIHVzZXMgdGhlIHJlc3BvbnNpdmUgZm9udCBzaXplIG1hcFxyXG4vLyBAcGFyYW0ge1N0cmluZ30gJHdlaWdodCBbbm9ybWFsXSAtIFdlaWdodDogYGJvbGRgIG9yIGBub3JtYWxgXHJcbi8vIEBwYXJhbSB7TnVtYmVyfSAkbGluZS1oZWlnaHQgW2ZhbHNlXSAtIExpbmUtaGVpZ2h0LCBpZiBvdmVycmlkaW5nIHRoZSBkZWZhdWx0XHJcbi8vXHJcblxyXG5AbWl4aW4gZ2N3ZWItZm9udCgkc2l6ZSwgJHdlaWdodDogbm9ybWFsLCAkbGluZS1oZWlnaHQ6IGZhbHNlKSB7XHJcblxyXG4gIEBpZiAkd2VpZ2h0ID09IG5vcm1hbCB7XHJcbiAgICBAaW5jbHVkZSBnY3dlYi10eXBvZ3JhcGh5LXdlaWdodC1ub3JtYWw7XHJcbiAgfSBAZWxzZSBpZiAkd2VpZ2h0ID09IGJvbGQge1xyXG4gICAgQGluY2x1ZGUgZ2N3ZWItdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcclxuICB9XHJcblxyXG4gIEBpZiAkc2l6ZSB7XHJcbiAgICBAaW5jbHVkZSBnY3dlYi10eXBvZ3JhcGh5LXJlc3BvbnNpdmUoJHNpemUsICRvdmVycmlkZS1saW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0KTtcclxuICB9XHJcbn1cclxuXHJcbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbi8vIFRPT0xTIC8gI0xJTktTXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG4vL1xyXG4vLyBEZWZhdWx0IGxpbmsgc3R5bGluZ1xyXG4vL1xyXG4vLyBVc2FnZTogQGluY2x1ZGUgZ2N3ZWItbGluay1zdHlsZS1kZWZhdWx0O1xyXG4vL1xyXG5cclxuQG1peGluIGdjd2ViLWxpbmstc3R5bGUtZGVmYXVsdCB7XHJcblxyXG4gIGNvbG9yOiAkZ2N3ZWItbGluay1jb2xvcjtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblxyXG4gICY6dmlzaXRlZCB7XHJcbiAgICBjb2xvcjogJGdjd2ViLWxpbmstY29sb3I7XHJcbiAgfVxyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIGNvbG9yOiAkZ2N3ZWItbGluay1ob3Zlci1jb2xvcjtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gIH1cclxuXHJcbiAgJjpmb2N1cyB7XHJcbiAgICBAaW5jbHVkZSBnY3dlYi1mb2N1c2VkLXRleHQoKTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgICY6dmlzaXRlZCB7XHJcbiAgICAgIGNvbG9yOiAkZ2N3ZWItbGluay1jb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICAuZ2N3ZWItaWNvbiB7XHJcbiAgICAgIGZpbGw6ICRnY3dlYi1mb2N1cy10ZXh0LWNvbG9yO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJjphY3RpdmUge1xyXG4gICAgY29sb3I6ICRnY3dlYi1saW5rLWNvbG9yO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbi8vXHJcbi8vIFdoaXRlIGxpbmsgc3R5bGluZywgdXNlZCBpbiB0aGUgZm9vdGVyLlxyXG4vL1xyXG4vLyBVc2FnZTogQGluY2x1ZGUgZ2N3ZWItbGluay1zdHlsZS13aGl0ZTtcclxuLy9cclxuXHJcbkBtaXhpbiBnY3dlYi1saW5rLXN0eWxlLXdoaXRlIHtcclxuXHJcbiAgY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZTtcclxuXHJcbiAgJjp2aXNpdGVkIHtcclxuICAgIGNvbG9yOiAkY29sb3JfZ2N3ZWItZ3JleS01O1xyXG4gIH1cclxuXHJcbiAgJjpmb2N1cyB7XHJcbiAgICBjb2xvcjogJGdjd2ViLWZvY3VzLXRleHQtY29sb3I7XHJcbiAgICBvdXRsaW5lOiAkZ2N3ZWItZm9jdXMtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBvdXRsaW5lLW9mZnNldDogJGdjd2ViLWZvY3VzLXdpZHRoO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgfVxyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIGNvbG9yOiAkZ2N3ZWItbGluay1ob3Zlci1jb2xvcjtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gIH1cclxuXHJcbiAgJjphY3RpdmUge1xyXG4gICAgY29sb3I6ICRnY3dlYi1saW5rLWFjdGl2ZS1jb2xvcjtcclxuICB9XHJcblxyXG59XHJcblxyXG4vL1xyXG4vLyBEZWZhdWx0IGxpbmsgaG92ZXIgb25seSBzdHlsaW5nXHJcbi8vXHJcbi8vIFVzYWdlOiBAaW5jbHVkZSBnY3dlYi1saW5rLXN0eWxlLWhvdmVyO1xyXG4vL1xyXG5cclxuQG1peGluIGdjd2ViLWxpbmstc3R5bGUtaG92ZXIge1xyXG4gICY6aG92ZXIge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIH1cclxufVxyXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyBUT09MUyAvICNNSVhJTlNcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuXHJcbi8vXHJcbi8vIENsZWFyZml4IG1peGluXHJcbi8vXHJcbi8vIFVzYWdlOiBAaW5jbHVkZSBjbGVhcmZpeCgpO1xyXG4vLyBTZWUgdXRpbGl0aWVzL2NsZWFyZml4XHJcbi8vXHJcblxyXG5AbWl4aW4gY2xlYXJmaXgoKSB7XHJcbiAgJjphZnRlciB7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG59XHJcblxyXG4vL1xyXG4vLyBCb3JkZXIgcmFkaXVzIG9uIGVsZW1lbnRzXHJcbi8vXHJcblxyXG5AbWl4aW4gZ2N3ZWItYm9yZGVyLXJhZGl1cygpIHtcclxuICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiB9XHJcblxyXG5cclxuXHJcbi8vXHJcbi8vIEJvcmRlciBzdHlsZVxyXG4vL1xyXG5AbWl4aW4gZ2N3ZWItYm9yZGVyKCl7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2djd2ViLWdyZXktMjtcclxufVxyXG5cclxuXHJcbi8vXHJcbi8vIFJlYWRpbmcgd2lkdGggbWl4aW4sIGFkZCBhIG1heGltdW0gd2lkdGhcclxuLy8gdG8gbGFyZ2UgcGllY2VzIG9mIGNvbnRlbnRcclxuLy9cclxuLy8gVXNhZ2U6IEBpbmNsdWRlIHJlYWRpbmctd2lkdGgoKTtcclxuLy8gU2VlIHV0aWxpdGllcy9yZWFkaW5nLXdpZHRoXHJcbi8vXHJcblxyXG5AbWl4aW4gcmVhZGluZy13aWR0aCgpIHtcclxuICBtYXgtd2lkdGg6IDQ0ZW07XHJcbn1cclxuXHJcbi8vXHJcbi8vIFZpc3VhbGx5IGhpZGRlbiBtaXhpbiwgdXNlZCBmb3IgaGlkaW5nXHJcbi8vIGNvbnRlbnQgdmlzdWFsbHkgYnV0IGtlZXBpbmcgaXQgaW4gdGhlIERPTVxyXG4vL1xyXG4vLyBVc2FnZTogQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XHJcbi8vIFNlZSB1dGlsaXRpZXMvdmlzdWFsbHktaGlkZGVuXHJcbi8vXHJcblxyXG5AbWl4aW4gdmlzdWFsbHktaGlkZGVuKCkge1xyXG4gIC13ZWJraXQtY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xyXG4gIGJvcmRlcjogMDtcclxuICBjbGlwOiByZWN0KDAgMCAwIDApO1xyXG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcclxuICBoZWlnaHQ6IDFweDtcclxuICBtYXJnaW46IDA7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBwYWRkaW5nOiAwO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gIHdpZHRoOiAxcHg7XHJcbn1cclxuXHJcbi8vXHJcbi8vIFRvcCBhbmQgYm90dG9tIG1hcmdpbiBtaXhpbiwgcmVtb3ZlXHJcbi8vIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4gc3BhY2luZ1xyXG4vL1xyXG4vLyBVc2FnZTogQGluY2x1ZGUgdG9wLWFuZC1ib3R0b20oKTtcclxuLy8gU2VlIHV0aWxpdGllcy90b3AtYW5kLWJvdHRvbVxyXG4vL1xyXG5cclxuQG1peGluIHRvcC1hbmQtYm90dG9tKCkge1xyXG4gICYgPiAqOmZpcnN0LWNoaWxkIHtcclxuICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgfVxyXG4gICYgPiAqOmxhc3QtY2hpbGQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICB9XHJcbn1cclxuXHJcbi8vXHJcbi8vIFBhbmVsIG1peGluXHJcbi8vXHJcbi8vIFVzYWdlOiBAaW5jbHVkZSBwYW5lbC13aXRoLWxhYmVsKCRjb2xvcl9nY3dlYi1ibHVlLCAkY29sb3JfZ2N3ZWItd2hpdGUpO1xyXG4vLyBTZWUgY29tcG9uZW50cy9fcGFuZWxcclxuLy9cclxuXHJcbkBtaXhpbiBwYW5lbCgkcGFuZWwtYmFja2dyb3VuZC1jb2xvciwgJHBhbmVsLXRleHQtY29sb3IpIHtcclxuXHJcbiAgQGluY2x1ZGUgdG9wLWFuZC1ib3R0b20oKTtcclxuICBAaW5jbHVkZSBnY3dlYi1yZXNwb25zaXZlLW1hcmdpbig3LCAnYm90dG9tJyk7XHJcbiAgQGluY2x1ZGUgZ2N3ZWItcmVzcG9uc2l2ZS1tYXJnaW4oNywgJ3RvcCcpO1xyXG4gIEBpbmNsdWRlIGdjd2ViLXJlc3BvbnNpdmUtcGFkZGluZyg1KTtcclxuXHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBhbmVsLWJhY2tncm91bmQtY29sb3I7XHJcbiAgY29sb3I6ICRwYW5lbC10ZXh0LWNvbG9yO1xyXG5cclxuICBAaW5jbHVkZSBtcSgkbWVkaWEtdHlwZTogcHJpbnQpIHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRnY3dlYi1wcmludC10ZXh0LWNvbG9yO1xyXG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbi8vXHJcbi8vIFBhbmVsIHdpdGggbGFiZWwgbWl4aW4sIGluaGVyaXRzIHBhbmVsIHN0eWxpbmdcclxuLy8gYW5kIHJlbW92ZXMgcGFkZGluZyB0b3AgZm9yIHRoZSBsYWJlbCBwb3NpdGlvbmluZy5cclxuLy9cclxuLy8gVXNlZCBpbi1jb25qdW5jdGlvbiB3aXRoIEBtaXhpbiBoZWFkaW5nLWxhYmVsXHJcbi8vXHJcbi8vIFVzYWdlOiBAaW5jbHVkZSBwYW5lbC13aXRoLWxhYmVsKCRjb2xvcl9nY3dlYi1ibHVlLCAkY29sb3JfZ2N3ZWItd2hpdGUpO1xyXG4vLyBTZWUgY29tcG9uZW50cy9fd2FybmluZy1jb21wb25lbnRcclxuLy9cclxuXHJcbkBtaXhpbiBwYW5lbC13aXRoLWxhYmVsKCRwYW5lbC1iYWNrZ3JvdW5kLWNvbG9yLCAkcGFuZWwtdGV4dC1jb2xvcikge1xyXG4gIEBpbmNsdWRlIHBhbmVsKCRwYW5lbC1iYWNrZ3JvdW5kLWNvbG9yLCAkcGFuZWwtdGV4dC1jb2xvcik7XHJcblxyXG4gIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7ICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWltcG9ydGFudFxyXG59XHJcblxyXG4vL1xyXG4vLyBIZWFkaW5nIGxhYmVsIG1peGluLCBhZGRzIGEgdGFiIGhlYWRpbmcgdG9cclxuLy8gd2FybmluZyBjYWxsb3V0LCBkbyBhbmQgZG9uJ3QgbGlzdHMgYW5kIHBhbmVsLlxyXG4vL1xyXG4vLyBVc2VkIGluLWNvbmp1bmN0aW9uIHdpdGggQG1peGluIHBhbmVsLXdpdGgtbGFiZWxcclxuLy9cclxuLy8gVXNhZ2U6IEBpbmNsdWRlIGhlYWRpbmctbGFiZWwoJGNvbG9yX2djd2ViLWJsdWUsICRjb2xvcl9nY3dlYi13aGl0ZSk7XHJcbi8vIFNlZSBjb21wb25lbnRzL193YXJuaW5nLWNvbXBvbmVudFxyXG4vL1xyXG4vLyAxLiBCYWNrZ3JvdW5kIGNvbG91ciB0byBiZSBzZXQgb24gdGhlIEBpbmNsdWRlLlxyXG4vLyAyLiBUZXh0IGNvbG91ciB0byBiZSBzZXQgb24gdGhlIEBpbmNsdWRlLlxyXG4vLyAzLiBEaXNwbGF5IGlubGluZS1ibG9jayBzbyBpdCBkb2VzIG5vdCB0YWtlIHVwIHRoZSBmdWxsIHdpZHRoLlxyXG4vLyA0LiBNYXJnaW4gLTI0cHggbGVmdCBhbmQgcmlnaHQgYWxpZ25zIHRoZSBoZWFkaW5nIHRvIHRoZSBib3guXHJcbi8vIDUuIFRvcCBwb3NpdGlvbmluZyBzZXQgdG8gbWludXMgdG8gbWFrZSB0aGUgaGVhZGluZ1xyXG4vLyAgICBzaXQganVzdCBvdXRzaWRlIHRoZSBib3guXHJcbi8vXHJcblxyXG5AbWl4aW4gaGVhZGluZy1sYWJlbCgkaGVhZGluZy1iYWNrZ3JvdW5kLWNvbG9yLCAkaGVhZGluZy10ZXh0LWNvbG9yKSB7XHJcbiAgQGluY2x1ZGUgZ2N3ZWItdHlwb2dyYXBoeS1yZXNwb25zaXZlKDI0KTtcclxuXHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRpbmctYmFja2dyb3VuZC1jb2xvcjsgLy8gWzFdIC8vXHJcbiAgY29sb3I6ICRoZWFkaW5nLXRleHQtY29sb3I7IC8vIFsyXSAvL1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gWzNdIC8vXHJcbiAgbWFyZ2luOiBnY3dlYi1zcGFjaW5nKDApIGdjd2ViLXNwYWNpbmcoMCkgZ2N3ZWItc3BhY2luZygyKSAtMzJweDtcclxuICBwYWRkaW5nOiBnY3dlYi1zcGFjaW5nKDIpIGdjd2ViLXNwYWNpbmcoNSk7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHRvcDogLTE2cHg7IC8vIFs1XSAvL1xyXG5cclxuICBAaW5jbHVkZSBtcSgkdW50aWw6IHRhYmxldCkge1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0yNHB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgcGFkZGluZzogZ2N3ZWItc3BhY2luZygyKSBnY3dlYi1zcGFjaW5nKDQpO1xyXG4gICAgdG9wOiAtOHB4OyAvLyBbNV0gLy9cclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1xKCRtZWRpYS10eXBlOiBwcmludCkge1xyXG4gICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgIGNvbG9yOiAkY29sb3JfZ2N3ZWItYmxhY2s7XHJcbiAgICB0b3A6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4vL1xyXG4vLyBDYXJlIGNhcmQgbWl4aW4sIHVzZWQgZm9yIGNyZWF0aW5nXHJcbi8vIGRpZmZlcmVudCBjb2xvdXJlZCBjYXJlIGNhcmRzLlxyXG4vL1xyXG4vLyBVc2FnZTogQGluY2x1ZGUgY2FyZS1jYXJkKCRjb2xvcl9nY3dlYi1ibHVlLCAkY29sb3JfZ2N3ZWItd2hpdGUsIDRweCk7XHJcbi8vIFNlZSBjb21wb25lbnRzL19jYXJlLWNhcmRcclxuLy9cclxuXHJcbkBtaXhpbiBjYXJlLWNhcmQoJGhlYWRpbmctYmFja2dyb3VuZC1jb2xvciwgJGhlYWRpbmctdGV4dC1jb2xvciwgJHByaW50LWJvcmRlci1zaXplKSB7XHJcblxyXG4gIC5nY3dlYi1jYXJlLWNhcmRfX2hlYWRpbmctY29udGFpbmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkaW5nLWJhY2tncm91bmQtY29sb3I7XHJcbiAgICBjb2xvcjogJGhlYWRpbmctdGV4dC1jb2xvcjtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1xKCRtZWRpYS10eXBlOiBwcmludCkge1xyXG4gICAgYm9yZGVyOiAkcHJpbnQtYm9yZGVyLXNpemUgc29saWQgJGdjd2ViLXByaW50LXRleHQtY29sb3I7XHJcbiAgICBjb2xvcjogJGdjd2ViLXByaW50LXRleHQtY29sb3I7XHJcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XHJcbiAgfVxyXG59XHJcblxyXG4vL1xyXG4vLyBQcmludCBjb2xvdXIgbWl4aW4sIHNldHMgdGhlIHRleHQgcHJpbnQgY29sb3VyXHJcbi8vIHdhcm5pbmcgY2FsbG91dCwgZG8gYW5kIGRvbid0IGxpc3RzIGFuZCBwYW5lbHMuXHJcbi8vXHJcbi8vIFVzYWdlOiBAaW5jbHVkZSBwcmludC1jb2xvcigkZ2N3ZWItcHJpbnQtdGV4dC1jb2xvcik7XHJcbi8vIFNlZSBjb21wb25lbnRzL19jYXJlLWNhcmRcclxuLy9cclxuXHJcbkBtaXhpbiBwcmludC1jb2xvcigkcHJpbnQtY29sb3IpIHtcclxuXHJcbiAgQGluY2x1ZGUgbXEoJG1lZGlhLXR5cGU6IHByaW50KSB7XHJcbiAgICBjb2xvcjogJHByaW50LWNvbG9yO1xyXG4gICAgZmlsbDogJHByaW50LWNvbG9yO1xyXG5cclxuICAgICY6YWN0aXZlLFxyXG4gICAgJjpmb2N1cyxcclxuICAgICY6dmlzaXRlZCB7XHJcbiAgICAgIGNvbG9yOiAkZ2N3ZWItcHJpbnQtdGV4dC1jb2xvcjtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxufVxyXG5cclxuLy9cclxuLy8gUHJpbnQgaGlkZSBtaXhpbiwgaGlkZXMgdGhlIGVsZW1lbnQgZnJvbSBwcmludC5cclxuLy9cclxuLy8gVXNhZ2U6IEBpbmNsdWRlIHByaW50LWhpZGUoKTtcclxuLy8gU2VlIGNvbXBvbmVudHMvX2NhcmUtY2FyZFxyXG4vL1xyXG5cclxuQG1peGluIHByaW50LWhpZGUoKSB7XHJcblxyXG4gIEBpbmNsdWRlIG1xKCRtZWRpYS10eXBlOiBwcmludCkge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG59XHJcblxyXG4vL1xyXG4vLyBGbGV4IG1peGluXHJcbi8vIFVzYWdlOiBAaW5jbHVkZSBmbGV4KCk7XHJcbi8vXHJcblxyXG5AbWl4aW4gZmxleCgpIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxufVxyXG5cclxuLy9cclxuLy8gRmxleCBpdGVtIG1peGluXHJcbi8vIFVzYWdlOiBAaW5jbHVkZSBmbGV4LWl0ZW0oKTtcclxuLy9cclxuXHJcbkBtaXhpbiBmbGV4LWl0ZW0oKSB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuXHJcbiAgQGluY2x1ZGUgbXEoJHVudGlsOiBkZXNrdG9wKSB7XHJcbiAgICBmbGV4OiAwIDAgMTAwJTtcclxuICB9XHJcblxyXG59XHJcblxyXG4vL1xyXG4vLyBUb2dnbGUgYnV0dG9uIG1peGluXHJcbi8vIHVzZWQgdG8gdG9nZ2xlIGNvbnRlbnRcclxuLy9cclxuLy8gVXNhZ2U6IEBpbmNsdWRlIHRvZ2dsZS1idXR0b24oKTtcclxuLy8gU2VlIGNvbXBvbmVudHMvaGVhZGVyXHJcbi8vXHJcbi8vIDEuIFJlbW92ZSBpbm5lciBib3JkZXIgb24gYnV0dG9ucyBmb3IgRmlyZWZveCwgc2VlXHJcbi8vICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MvaXNzdWVzLzM5M1xyXG4vLyAyLiAhaW1wb3J0YW50IG92ZXJyaWRlcyBmb2N1cyBzdHlsZSBib3JkZXI6IDA7XHJcbi8vXHJcblxyXG5AbWl4aW4gdG9nZ2xlLWJ1dHRvbigpIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfZ2N3ZWItd2hpdGU7XHJcbiAgYm9yZGVyLXJhZGl1czogJGdjd2ViLWJvcmRlci1yYWRpdXM7XHJcbiAgY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG5cclxuICAmOjotbW96LWZvY3VzLWlubmVyIHtcclxuICAgIGJvcmRlcjogMDsgLy8gWzFdIC8vXHJcbiAgfVxyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9zaGFkZV9nY3dlYi1ibHVlLTM1O1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3JfZ2N3ZWItZ3JleS01O1xyXG4gICAgYm94LXNoYWRvdzogbm9uZTtcclxuICB9XHJcblxyXG4gICY6Zm9jdXMge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdjd2ViLWZvY3VzLWNvbG9yICFpbXBvcnRhbnQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taW1wb3J0YW50IC8qIFsyXSAqL1xyXG4gIH1cclxuXHJcbiAgJjphY3RpdmUsXHJcbiAgJi5pcy1hY3RpdmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX3NoYWRlX2djd2ViLWJsdWUtNTA7XHJcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcl9nY3dlYi1ncmV5LTU7XHJcbiAgICBjb2xvcjogJGNvbG9yX2djd2ViLWdyZXktNTtcclxuICB9XHJcblxyXG59XHJcblxyXG4vL1xyXG4vLyBDbG9zZSBidXR0b24gbWl4aW5cclxuLy8gdXNlZCB0byBjbG9zZSBhIGNvbnRlbnQgYXJlYVxyXG4vL1xyXG4vLyBVc2FnZTogQGluY2x1ZGUgY2xvc2UtYnV0dG9uKCk7XHJcbi8vIFNlZSBjb21wb25lbnRzL2hlYWRlclxyXG4vL1xyXG4vLyAxLiBDdXN0b20gaGVpZ2h0IGFuZCB3aWR0aCBvZiBmb3JtIGl0ZW1zXHJcbi8vIDIuIEN1c3RvbSBoZWlnaHQgYW5kIHdpZHRoIG9mIHN2ZyBpY29uc1xyXG4vLyAzLiBSZW1vdmUgaW5uZXIgYm9yZGVyIG9uIGJ1dHRvbnMgZm9yIEZpcmVmb3gsIHNlZVxyXG4vLyAgICBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzL2lzc3Vlcy8zOTNcclxuLy9cclxuXHJcbkBtaXhpbiBjbG9zZS1idXR0b24oKSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBoZWlnaHQ6IDQwcHg7IC8vIFsxXSAvL1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgd2lkdGg6IDQwcHg7IC8vIFsxXSAvL1xyXG5cclxuICAuZ2N3ZWItaWNvbl9fY2xvc2Uge1xyXG4gICAgZmlsbDogJGNvbG9yX2djd2ViLWJsdWU7XHJcbiAgICBoZWlnaHQ6IDQwcHg7IC8vIFsyXSAvL1xyXG4gICAgd2lkdGg6IDQwcHg7IC8vIFsyXSAvL1xyXG4gIH1cclxuXHJcbiAgJjo6LW1vei1mb2N1cy1pbm5lciB7XHJcbiAgICBib3JkZXI6IDA7IC8vIFszXSAvL1xyXG4gIH1cclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICAuZ2N3ZWItaWNvbl9fY2xvc2Uge1xyXG4gICAgICBmaWxsOiAkZ2N3ZWItc2Vjb25kYXJ5LWJ1dHRvbi1ob3Zlci1jb2xvcjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICY6Zm9jdXMge1xyXG4gICAgQGluY2x1ZGUgZ2N3ZWItZm9jdXNlZC10ZXh0O1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbi8vXHJcbi8vIFJlbW92ZSBtYXJnaW4gbW9iaWxlIG1peGluLCByZW1vdmVzIGxlZnQgYW5kIHJpZ2h0XHJcbi8vIG1hcmdpbiBhdCB0YWJsZXQgYnJlYWtwb2ludC5cclxuLy9cclxuXHJcbkBtaXhpbiByZW1vdmUtbWFyZ2luLW1vYmlsZSgpIHtcclxuICBAaW5jbHVkZSBtcSgkdW50aWw6IHRhYmxldCkge1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0kZ2N3ZWItZ3V0dGVyLWhhbGY7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IC0kZ2N3ZWItZ3V0dGVyLWhhbGY7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gbG9nbyBzaXplIGhlbHBlclxyXG4vLy9cclxuLy8vIFNhdmVzIGR1cGxpY2F0aW5nIHRoZSBjb2RlIGZvciB3aGVuIHVzaW5nIHRoZSBsb2dvIGFzIGEgbGluay5cclxuLy8vIFVzZWQgaW4gdGhlIGhlYWRlciBhbmQgZm9vdGVyLlxyXG5cclxuQG1peGluIGdjd2ViLWxvZ28tc2l6ZSB7XHJcbiAgaGVpZ2h0OiA2MHB4O1xyXG4gIHdpZHRoOiAyMjBweDtcclxufVxyXG5cclxuQG1peGluIGdjd2ViLWxvZ28tc2l6ZS1zbWFsbCB7XHJcbiAgaGVpZ2h0OiAzMnB4O1xyXG4gIHdpZHRoOiA4MHB4O1xyXG59XHJcbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbi8vIFRPT0xTIC8gI2lmZmZcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuXHJcbi8vXHJcbi8vIFN5bnRhY3RpYyBzdWdhciBhcm91bmQgU2FzcycgYnVpbHQtaW4gYGlmYCBmdW5jdGlvbiB0aGF0IGRvZXMgbm90IHJlcXVpcmVcclxuLy8geW91IHRvIHBhc3MgYSB2YWx1ZSBmb3IgYCRpZi1mYWxzZWAuXHJcbi8vXHJcbi8vIEBwYXJhbSB7Qm9vbGVhbn0gJGNvbmRpdGlvbiAtIFdoZXRoZXIgdG8gcmV0dXJuIHRoZSB2YWx1ZSBvZiBgJGlmLXRydWVgXHJcbi8vIEBwYXJhbSB7TWl4ZWR9ICRpZi10cnVlIC0gVmFsdWUgdG8gcmV0dXJuIGlmIGAkY29uZGl0aW9uYCBpcyB0cnV0aHlcclxuLy8gQHJldHVybiB7TWl4ZWR9IFZhbHVlIG9mIGAkaWYtdHJ1ZWAgaWYgYCRjb25kaXRpb25gIGlzIHRydXRoeSwgZWxzZSBudWxsXHJcbi8vXHJcbi8vIE9yaWdpbmFsIGNvZGUgdGFrZW4gZnJvbSBHRFMgKEdvdmVybm1lbnQgRGlnaXRhbCBTZXJ2aWNlKVxyXG4vLyBodHRwczovL2dpdGh1Yi5jb20vYWxwaGFnb3YvZ292dWstZnJvbnRlbmRcclxuLy9cclxuXHJcbkBmdW5jdGlvbiBpZmYoJGNvbmRpdGlvbiwgJGlmLXRydWUpIHtcclxuICBAcmV0dXJuIGlmKCRjb25kaXRpb24sICRpZi10cnVlLCBudWxsKTtcclxufVxyXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyBUT09MUyAvICNHUklEXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG4vL1xyXG4vLyBPcmlnaW5hbCBjb2RlIHRha2VuIGZyb20gR0RTIChHb3Zlcm5tZW50IERpZ2l0YWwgU2VydmljZSlcclxuLy8gaHR0cHM6Ly9naXRodWIuY29tL2FscGhhZ292L2dvdnVrLWZyb250ZW5kXHJcbi8vXHJcblxyXG4vLyBNYXAgb2YgZ3JpZCBjb2x1bW4gd2lkdGhzXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG4kX2djd2ViLWdyaWQtd2lkdGhzOiAoXHJcbiAgb25lLXF1YXJ0ZXI6IDI1JSxcclxuICBvbmUtdGhpcmQ6IDMzLjMzMzMlLFxyXG4gIG9uZS1oYWxmOiA1MCUsXHJcbiAgdHdvLXRoaXJkczogNjYuNjY2NiUsXHJcbiAgdGhyZWUtcXVhcnRlcnM6IDc1JSxcclxuICBmdWxsOiAxMDAlXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vL1xyXG4vLyBHcmlkIHdpZHRoIHBlcmNlbnRhZ2VcclxuLy9cclxuLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBOYW1lIG9mIGdyaWQgd2lkdGggKGUuZy4gdHdvLXRoaXJkcylcclxuLy8gQHJldHVybiB7TnVtYmVyfSBQZXJjZW50YWdlIHdpZHRoXHJcbi8vIEB0aHJvdyBpZiBgJGtleWAgaXMgbm90IGEgdmFsaWQgZ3JpZCB3aWR0aFxyXG4vL1xyXG4vLyBVc2FnZTpcclxuLy9cclxuXHJcbkBmdW5jdGlvbiBncmlkLXdpZHRoKCRrZXkpIHtcclxuICBAaWYgbWFwLWhhcy1rZXkoJF9nY3dlYi1ncmlkLXdpZHRocywgJGtleSkge1xyXG4gICAgQHJldHVybiBtYXAtZ2V0KCRfZ2N3ZWItZ3JpZC13aWR0aHMsICRrZXkpO1xyXG4gIH1cclxuXHJcbiAgQGVycm9yICdVbmtub3duIGdyaWQgd2lkdGggYCN7JGtleX1gJztcclxufVxyXG5cclxuLy9cclxuLy8gR2VuZXJhdGUgZ3JpZCByb3cgc3R5bGVzXHJcbi8vXHJcbi8vIENyZWF0ZXMgYSBncmlkIHJvdyBjbGFzcyB3aXRoIGEgc3RhbmRhcmRpc2VkIG1hcmdpbi5cclxuLy9cclxuLy8gQHBhcmFtIHtTdHJpbmd9ICRjbGFzcyBbZ292dWstZ3JpZC1yb3ddIENTUyBjbGFzcyBuYW1lXHJcbi8vXHJcbi8vIEBleGFtcGxlIHNjc3MgLSBEZWZhdWx0XHJcbi8vICAgQGluY2x1ZGUgZ292dWstZ3JpZC1yb3c7XHJcbi8vXHJcbi8vIEBleGFtcGxlIHNjc3MgLSBDdXN0b21pc2luZyB0aGUgY2xhc3MgbmFtZVxyXG4vLyAgIEBpbmNsdWRlIGdvdnVrLWdyaWQtcm93KFwiYXBwLWdyaWRcIik7XHJcbi8vXHJcbi8vXHJcblxyXG5AbWl4aW4gZ292dWstZ3JpZC1yb3coJGNsYXNzOiAnZ2N3ZWItZ3JpZC1yb3cnKSB7XHJcbiAgLiN7JGNsYXNzfSB7XHJcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgIG1hcmdpbi1sZWZ0OiAtICgkZ2N3ZWItZ3V0dGVyLWhhbGYpO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAtICgkZ2N3ZWItZ3V0dGVyLWhhbGYpO1xyXG4gIH1cclxufVxyXG5cclxuLy9cclxuLy8gR2VuZXJhdGUgZ3JpZCBjb2x1bW4gc3R5bGVzXHJcbi8vXHJcbi8vIENyZWF0ZXMgYSBjcm9zcyBicm93c2VyIGdyaWQgY29sdW1uIHdpdGggYSBjbGFzcyBvZiAnLmdvdnVrLWdyaWQtY29sdW1uJyBieVxyXG4vLyBkZWZhdWx0LCBhbmQgYSBzdGFuZGFyZGlzZWQgZ3V0dGVyIGJldHdlZW4gdGhlIGNvbHVtbnMuXHJcbi8vXHJcbi8vIENvbW1vbiB3aWR0aHMgYXJlIHByZWRlZmluZWQgYWJvdmUgYXMga2V5d29yZHMgaW4gdGhlIGAkZ3JpZC13aWR0aHNgIG1hcC5cclxuLy9cclxuLy8gQnkgZGVmYXVsdCB0aGVpciB3aWR0aCBjaGFuZ2VzIGZyb20gMTAwJSB0byBzcGVjaWZpZWQgd2lkdGggYXQgdGhlICd0YWJsZXQnXHJcbi8vIGJyZWFrcG9pbnQsIGJ1dCB0aGF0IGNhbiBiZSBjb25maWd1cmVkIHRvIGJlIGFueSBvdGhlciBicmVha3BvaW50IGJ5IHVzaW5nXHJcbi8vIHRoZSBgJGF0YCBwYXJhbWV0ZXIuXHJcbi8vXHJcbi8vIEBwYXJhbSB7U3RyaW5nfSAkY2xhc3MgW2dvdnVrLWdyaWQtY29sdW1uXSBDU1MgY2xhc3MgbmFtZVxyXG4vLyBAcGFyYW0ge1N0cmluZ30gJHdpZHRoIFtmdWxsXSBvbmUtcXVhcnRlciB8IG9uZS10aGlyZCB8IG9uZS1oYWxmIHwgdHdvLXRoaXJkIHwgdGhyZWUtcXVhcnRlcnMgfCBmdWxsXHJcbi8vIEBwYXJhbSB7U3RyaW5nfSAkZmxvYXQgW2xlZnRdIGxlZnQgfCByaWdodFxyXG4vLyBAcGFyYW0ge1N0cmluZ30gJGF0IFt0YWJsZXRdIC0gbW9iaWxlIHwgdGFibGV0IHwgZGVza3RvcCB8IGFueSBjdXN0b20gYnJlYWtwb2ludCBpbiBweCBvciBlbVxyXG4vL1xyXG4vLyBAZXhhbXBsZSBzY3NzIC0gRGVmYXVsdFxyXG4vLyAgIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKHR3by10aGlyZHMpXHJcbi8vXHJcbi8vIEBleGFtcGxlIHNjc3MgLSBDdXN0b21pc2luZyB0aGUgY2xhc3MgbmFtZVxyXG4vLyAgIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKG9uZS1oYWxmLCAkY2xhc3M6IFwidGVzdC1jb2x1bW5cIik7XHJcbi8vXHJcbi8vIEBleGFtcGxlIHNjc3MgLSBDdXN0b21pc2luZyB0aGUgYnJlYWtwb2ludCB3aGVyZSB3aWR0aCBwZXJjZW50YWdlIGlzIGFwcGxpZWRcclxuLy8gICBAaW5jbHVkZSBnb3Z1ay1ncmlkLWNvbHVtbihvbmUtaGFsZiwgJGF0OiBkZXNrdG9wKTtcclxuLy9cclxuLy8gQGV4YW1wbGUgc2NzcyAtIEN1c3RvbWlzaW5nIHRoZSBmbG9hdCBkaXJlY3Rpb25cclxuLy8gICBAaW5jbHVkZSBnb3Z1ay1ncmlkLWNvbHVtbihvbmUtaGFsZiwgJGZsb2F0OiByaWdodCk7XHJcbi8vXHJcblxyXG5AbWl4aW4gZ292dWstZ3JpZC1jb2x1bW4oJHdpZHRoOiBmdWxsLCAkZmxvYXQ6IGxlZnQsICRhdDogZGVza3RvcCwgJGNsYXNzOiAnZ2N3ZWItZ3JpZC1jb2x1bW4nKSB7XHJcblxyXG4gIC4jeyRjbGFzc30tI3skd2lkdGh9IHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBAaWYgJGF0ICE9IGRlc2t0b3Age1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIHBhZGRpbmc6IDAgJGdjd2ViLWd1dHRlci1oYWxmO1xyXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206ICRhdCkge1xyXG4gICAgICBmbG9hdDogJGZsb2F0O1xyXG4gICAgICB3aWR0aDogZ3JpZC13aWR0aCgkd2lkdGgpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyBUT09MUyAvICNGT0NVU0VEXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG4vL1xyXG4vLyBGb2N1c2VkIHRleHRcclxuLy9cclxuLy8gUHJvdmlkZXMgYW4gb3V0bGluZSB0byBjbGVhcmx5IGluZGljYXRlIHdoZW4gdGhlIHRhcmdldCBlbGVtZW50IGlzIGZvY3VzZWQuXHJcbi8vIFVzZWQgZm9yIGludGVyYWN0aXZlIHRleHQtYmFzZWQgZWxlbWVudHMuXHJcbi8vXHJcblxyXG5AbWl4aW4gZ2N3ZWItZm9jdXNlZC10ZXh0IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ2N3ZWItZm9jdXMtY29sb3I7XHJcbiAgYm94LXNoYWRvdzogMCAtMnB4ICRnY3dlYi1mb2N1cy1jb2xvciwgMCAkZ2N3ZWItZm9jdXMtd2lkdGggJGdjd2ViLWZvY3VzLXRleHQtY29sb3I7XHJcbiAgY29sb3I6ICRnY3dlYi1mb2N1cy10ZXh0LWNvbG9yO1xyXG4gIC8vIFdoZW4gY29sb3VycyBhcmUgb3ZlcnJpZGRlbiwgZm9yIGV4YW1wbGUgd2hlbiB1c2VycyBoYXZlIGEgZGFyayBtb2RlLFxyXG4gIC8vIGJhY2tncm91bmRzIGFuZCBib3gtc2hhZG93cyBkaXNhcHBlYXIsIHNvIHdlIG5lZWQgdG8gZW5zdXJlIHRoZXJlJ3MgYVxyXG4gIC8vIHRyYW5zcGFyZW50IG91dGxpbmUgd2hpY2ggd2lsbCBiZSBzZXQgdG8gYSB2aXNpYmxlIGNvbG91ci5cclxuICBvdXRsaW5lOiAkZ2N3ZWItZm9jdXMtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgLy8gV2hlbiBsaW5rIGlzIGZvY3Vzc2VkLCBoaWRlIHRoZSBkZWZhdWx0IHVuZGVybGluZSBzaW5jZSB0aGVcclxuICAvLyBib3ggc2hhZG93IGFkZHMgdGhlIFwidW5kZXJsaW5lXCJcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuXHJcbi8vLyBGb2N1c2VkIGlucHV0IChmb3JtIGVsZW1lbnRzKVxyXG4vLy9cclxuLy8vIFByb3ZpZGVzIGFuIGFkZGl0aW9uYWwgb3V0bGluZSBhbmQgYm9yZGVyIHRvIGNsZWFybHkgaW5kaWNhdGUgd2hlblxyXG4vLy8gdGhlIHRhcmdldCBlbGVtZW50IGhhcyBmb2N1cy4gVXNlZCBmb3IgaW50ZXJhY3RpdmUgaW5wdXQtYmFzZWQgZWxlbWVudHMgc3VjaFxyXG4vLy8gYXMgdGV4dCBpbnB1dHMgYW5kIHJhZGlvcy5cclxuXHJcbkBtaXhpbiBnY3dlYi1mb2N1c2VkLWlucHV0IHtcclxuICBib3JkZXI6ICRnY3dlYi1mb2N1cy13aWR0aCBzb2xpZCAkZ2N3ZWItZm9jdXMtdGV4dC1jb2xvcjtcclxuICBib3gtc2hhZG93OiAwIDAgMCAkZ2N3ZWItZm9jdXMtd2lkdGggJGdjd2ViLWZvY3VzLWNvbG9yO1xyXG4gIG91dGxpbmU6ICRnY3dlYi1mb2N1cy13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDsgLyogMSAqL1xyXG4gIG91dGxpbmUtb2Zmc2V0OiAkZ2N3ZWItZm9jdXMtd2lkdGg7XHJcbn1cclxuXHJcbi8vLyBGb2N1c2VkIGJ1dHRvblxyXG4vLy9cclxuLy8vIFByb3ZpZGVzIGFuIGFkZGl0aW9uYWwgb3V0bGluZSBhbmQgYmFja2dyb3VuZCB0byBjbGVhcmx5IGluZGljYXRlIHdoZW5cclxuLy8vIHRoZSB0YXJnZXQgZWxlbWVudCBoYXMgZm9jdXMuIFVzZWQgZm9yIGJ1dHRvbnMuXHJcblxyXG5AbWl4aW4gZ2N3ZWItZm9jdXNlZC1idXR0b24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRnY3dlYi1mb2N1cy1jb2xvcjtcclxuICBib3JkZXI6IDA7XHJcbiAgYm94LXNoYWRvdzogMCAkZ2N3ZWItZm9jdXMtd2lkdGggMCAwICRnY3dlYi1mb2N1cy10ZXh0LWNvbG9yO1xyXG4gIGNvbG9yOiAkZ2N3ZWItZm9jdXMtdGV4dC1jb2xvcjtcclxuICBvdXRsaW5lOiAkZ2N3ZWItZm9jdXMtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7IC8qIDEgKi9cclxuICBvdXRsaW5lLW9mZnNldDogJGdjd2ViLWZvY3VzLXdpZHRoO1xyXG5cclxuICAuZ2N3ZWItaWNvbiB7XHJcbiAgICBmaWxsOiAkZ2N3ZWItZm9jdXMtdGV4dC1jb2xvcjtcclxuICB9XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgR0VORVJJQyAvICNCT1gtU0laSU5HXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogU2V0IHRoZSBnbG9iYWwgYGJveC1zaXppbmdgIHN0YXRlIHRvIGBib3JkZXItYm94YC5cclxuICpcclxuICogaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9pbmhlcml0aW5nLWJveC1zaXppbmctcHJvYmFibHktc2xpZ2h0bHktYmV0dGVyLWJlc3QtcHJhY3RpY2VcclxuICogaHR0cDovL3BhdWxpcmlzaC5jb20vMjAxMi9ib3gtc2l6aW5nLWJvcmRlci1ib3gtZnR3XHJcbiAqL1xyXG5cclxuaHRtbCB7XHJcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG4qIHtcclxuXHJcbiAgJixcclxuICAmOmJlZm9yZSxcclxuICAmOmFmdGVyIHtcclxuICAgIC1tb3otYm94LXNpemluZzogaW5oZXJpdDtcclxuICAgIC13ZWJraXQtYm94LXNpemluZzogaW5oZXJpdDtcclxuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XHJcbiAgfVxyXG5cclxufVxyXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyBTRVRUSU5HUyAvICNGT05ULUZBQ0VcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuXHJcbi8vIE5IUyB1c2VzIHRoZSBGcnV0aWdlciBmb250LCBpdCB3YXMgb3JpZ2luYWxseSBtYWRlXHJcbi8vIGZvciBwcmludCwgYnV0IHdlJ3ZlIGhhZCB0byBhZGFwdCBmb3Igd2ViLlxyXG4vLyBodHRwczovL2Fzc2V0cy5uaHMudWsvZm9udHMvZ2N3ZWItZm9udHMtMS4zLjAuY3NzXHJcblxyXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1kdXBsaWNhdGUtcHJvcGVydGllcywgaW5kZW50YXRpb24sIHByb3BlcnR5LXNvcnQtb3JkZXJcclxuXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiAnRnJ1dGlnZXIgVzAxJztcclxuICBmb250LWRpc3BsYXk6IHN3YXA7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgc3JjOiB1cmwoJ2h0dHBzOi8vYXNzZXRzLm5ocy51ay9mb250cy9GcnV0aWdlckxUVzAxLTU1Um9tYW4uZW90PyNpZWZpeCcpO1xyXG4gIHNyYzogdXJsKCdodHRwczovL2Fzc2V0cy5uaHMudWsvZm9udHMvRnJ1dGlnZXJMVFcwMS01NVJvbWFuLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VvdCcpLFxyXG4gICAgICAgdXJsKCdodHRwczovL2Fzc2V0cy5uaHMudWsvZm9udHMvRnJ1dGlnZXJMVFcwMS01NVJvbWFuLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxyXG4gICAgICAgdXJsKCdodHRwczovL2Fzc2V0cy5uaHMudWsvZm9udHMvRnJ1dGlnZXJMVFcwMS01NVJvbWFuLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcclxuICAgICAgIHVybCgnaHR0cHM6Ly9hc3NldHMubmhzLnVrL2ZvbnRzL0ZydXRpZ2VyTFRXMDEtNTVSb21hbi50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXHJcbiAgICAgICB1cmwoJ2h0dHBzOi8vYXNzZXRzLm5ocy51ay9mb250cy9GcnV0aWdlckxUVzAxLTU1Um9tYW4uc3ZnIzdkZWYwZTM0LWYyOGQtNDM0Zi1iMmVjLTQ3MmJkZTg0NzExNScpIGZvcm1hdCgnc3ZnJyk7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiAnRnJ1dGlnZXIgVzAxJztcclxuICBmb250LWRpc3BsYXk6IHN3YXA7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgc3JjOiB1cmwoJ2h0dHBzOi8vYXNzZXRzLm5ocy51ay9mb250cy9GcnV0aWdlckxUVzAxLTY1Qm9sZC5lb3Q/I2llZml4Jyk7XHJcbiAgc3JjOiB1cmwoJ2h0dHBzOi8vYXNzZXRzLm5ocy51ay9mb250cy9GcnV0aWdlckxUVzAxLTY1Qm9sZC5lb3Q/I2llZml4JykgZm9ybWF0KCdlb3QnKSxcclxuICAgICAgIHVybCgnaHR0cHM6Ly9hc3NldHMubmhzLnVrL2ZvbnRzL0ZydXRpZ2VyTFRXMDEtNjVCb2xkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxyXG4gICAgICAgdXJsKCdodHRwczovL2Fzc2V0cy5uaHMudWsvZm9udHMvRnJ1dGlnZXJMVFcwMS02NUJvbGQud29mZicpIGZvcm1hdCgnd29mZicpLFxyXG4gICAgICAgdXJsKCdodHRwczovL2Fzc2V0cy5uaHMudWsvZm9udHMvRnJ1dGlnZXJMVFcwMS02NUJvbGQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxyXG4gICAgICAgdXJsKCdodHRwczovL2Fzc2V0cy5uaHMudWsvZm9udHMvRnJ1dGlnZXJMVFcwMS02NUJvbGQuc3ZnI2VhZTc0Mjc2LWRkNzgtNDdlNC05YjI3LWRhYzgxYzM0MTFjYScpIGZvcm1hdCgnc3ZnJyk7XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgR0VORVJJQyAvICNJRVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGZvciBIVE1MNSBlbGVtZW50cyBpbiBJRSA5LS5cclxuICovXHJcblxyXG5hcnRpY2xlLFxyXG5hc2lkZSxcclxuZm9vdGVyLFxyXG5oZWFkZXIsXHJcbm5hdixcclxuc2VjdGlvbiB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgRUxFTUVOVFMgLyAjRk9STVNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBNYWtlIHN1cmUgb3VyIGZvcm0gZWxlbWVudHMgZG9u4oCZdCB1c2UgYW55IFVBLXNwZWNpZmljIGZvbnQgc3R5bGVzOiB3ZSB3YW50XHJcbiAqIHRoZW0gdG8gdXNlIG91cnMuIFRoaXMgbWF5IG5lZWQgcmV2ZXJ0aW5nIGFzIG1vcmUgZGVzaWduIGluZm9ybWF0aW9uIGJlY29tZXNcclxuICogYXZhaWxhYmxlLCBhbmQgd2Ugc3RhcnQgcHV0dGluZyB0b2dldGhlciBtb3JlIGNvbXBsZXRlIGZvcm1zLlxyXG4gKi9cclxuXHJcbmJ1dHRvbixcclxuaW5wdXQsXHJcbnNlbGVjdCxcclxudGV4dGFyZWEge1xyXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIEVMRU1FTlRTIC8gI0xJTktTXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogT3VyIGJhc2ljIGA8YT5gIGVsZW1lbnRzIG9ubHkgbmVlZCB2ZXJ5IG1pbmltYWwgc3R5bGluZy5cclxuICogSXQgdXNlcyB0aGUgQG1peGluIGdjd2ViLWxpbmstc3R5bGUtZGVmYXVsdCB3aXRoaW4gdG9vbHMvbGlua3MuXHJcbiAqIEFueXRoaW5nIG1vcmUgb3BpbmlvbmF0ZWQgKGUuZy4gYnV0dG9ucywgY2FsbHMtdG8tYWN0aW9uLCBldGMuKSB3aWxsIG5lZWQgYVxyXG4gKiBjbGFzcyBkZWZpbmluZyBpbiB0aGUgQ29tcG9uZW50cyBsYXllci5cclxuICpcclxuICogMS4gT3V0cHV0cyBmdWxsIGxpbmsgVVJMIGZvciBwcmludC5cclxuICogMi4gUG9pbnQgdW5pdCB1c2VkIGZvciBwcmludC5cclxuICovXHJcblxyXG5hIHtcclxuICBAaW5jbHVkZSBnY3dlYi1saW5rLXN0eWxlLWRlZmF1bHQ7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cclxuICBAaW5jbHVkZSBtcSgkbWVkaWEtdHlwZTogcHJpbnQpIHtcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBjb2xvcjogJGNvbG9yX2djd2ViLWJsYWNrO1xyXG4gICAgICBjb250ZW50OiAnIChMaW5rOiAnIGF0dHIoaHJlZikgJyknOyAvKiBbMV0gKi9cclxuICAgICAgZm9udC1zaXplOiAxNHB0OyAvKiBbMl0gKi9cclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcblxyXG4uaWU4IHtcclxuICBhIHtcclxuICAgICY6Zm9jdXMge1xyXG4gICAgICBvdXRsaW5lOiAxcHggZG90dGVkICRnY3dlYi1mb2N1cy10ZXh0LWNvbG9yO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBFTEVNRU5UUyAvICNQQUdFXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogSGlnaC1sZXZlbCwgcGFnZS1sZXZlbCBzdHlsaW5nLlxyXG4gKlxyXG4gKiAxLiBUaGUgcmVhc29uIGZvciB0aGlzIGlzIHRvIHByZXZlbnQgXCJjZW50ZXJpbmcganVtcHNcIiB3aGVuIG5hdmlnYXRpbmcgYmFja1xyXG4gKiAgICBhbmQgZm9ydGggYmV0d2VlbiBwYWdlcyB3aXRoIGVub3VnaCBjb250ZW50IHRvIGhhdmUgYSB2ZXJ0aWNhbCBzY3JvbGwgYmFyXHJcbiAqICAgIGFuZCBwYWdlcyB0aGF0IGRvIG5vdC5cclxuICogMi4gRm9udHMgb24gT1NYIHdpbGwgbG9vayBtb3JlIGNvbnNpc3RlbnQgd2l0aCBvdGhlciBzeXN0ZW1zIHRoYXQgZG8gbm90XHJcbiAqICAgIHJlbmRlciB0ZXh0IHVzaW5nIHN1Yi1waXhlbCBhbnRpLWFsaWFzaW5nLlxyXG4gKiAzLiBPdmVycmlkZSB0aGUgdXNlciBhZ2VudCBzdHlsZSBtYXJnaW4gb2YgOHB4LlxyXG4gKiA0LiBFbnN1cmUgdGhlIHBhZ2UgYWx3YXlzIGZpbGxzIGF0IGxlYXN0IHRoZSBlbnRpcmUgaGVpZ2h0IG9mIHRoZSB2aWV3cG9ydC5cclxuICovXHJcblxyXG5odG1sIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfZ2N3ZWItZ3JleS00O1xyXG4gIGZvbnQtZmFtaWx5OiAkZ2N3ZWItZm9udCwgJGdjd2ViLWZvbnQtZmFsbGJhY2s7XHJcbiAgb3ZlcmZsb3cteTogc2Nyb2xsOyAvKiBbMV0gKi9cclxufVxyXG5cclxuYm9keSB7XHJcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgLyogWzJdICovXHJcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC8qIFsyXSAqL1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9nY3dlYi1ncmV5LTU7XHJcbiAgY29sb3I6ICRnY3dlYi10ZXh0LWNvbG9yO1xyXG4gIGZvbnQtc2l6ZTogJGdjd2ViLWJhc2UtZm9udC1zaXplO1xyXG4gIGxpbmUtaGVpZ2h0OiBfZ2N3ZWItbGluZS1oZWlnaHQoJGdjd2ViLWJhc2UtbGluZS1oZWlnaHQsICRnY3dlYi1iYXNlLWZvbnQtc2l6ZSk7XHJcbiAgbWFyZ2luOiAwOyAvKiBbM10gKi9cclxuICBtaW4taGVpZ2h0OiAxMDAlOyAvKiBbNF0gKi9cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBFTEVNRU5UUyAvICNUQUJMRVNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiAxLiBGb3JjZSBgPHRhYmxlPmBzIHRvIGJlIGZ1bGwtd2lkdGggYnkgZGVmYXVsdC5cclxuICogMi4gQ2FwdGlvbnMgYXJlIHVzZWQgdG8gaW1wcm92ZSBhY2Nlc3NpYmlsaXR5LFxyXG4gKiAgICBidXQgd2UgZG8gbm90IG5lZWQgdGhlbSB2aXN1YWxseSBkaXNwbGF5ZWQuXHJcbiAqL1xyXG5cclxudGFibGUge1xyXG4gIEBpbmNsdWRlIGdjd2ViLXJlc3BvbnNpdmUtbWFyZ2luKDcsICdib3R0b20nKTtcclxuXHJcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XHJcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICB3aWR0aDogMTAwJTsgLyogWzFdICovXHJcblxyXG4gIEBpbmNsdWRlIG1xKCRtZWRpYS10eXBlOiBwcmludCkge1xyXG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbnRoZWFkIHtcclxuICB0aCB7XHJcbiAgICBib3JkZXItYm90dG9tOiAkZ2N3ZWItYm9yZGVyLXRhYmxlLWhlYWRlci13aWR0aCBzb2xpZCAkZ2N3ZWItYm9yZGVyLWNvbG9yO1xyXG4gIH1cclxufVxyXG5cclxudGgsXHJcbnRkIHtcclxuICBAaW5jbHVkZSBnY3dlYi10eXBvZ3JhcGh5LXJlc3BvbnNpdmUoMTkpO1xyXG4gIEBpbmNsdWRlIGdjd2ViLXJlc3BvbnNpdmUtcGFkZGluZygzLCAnYm90dG9tJyk7XHJcbiAgQGluY2x1ZGUgZ2N3ZWItcmVzcG9uc2l2ZS1wYWRkaW5nKDQsICdyaWdodCcpO1xyXG4gIEBpbmNsdWRlIGdjd2ViLXJlc3BvbnNpdmUtcGFkZGluZygzLCAndG9wJyk7XHJcblxyXG4gIGJvcmRlci1ib3R0b206ICRnY3dlYi1ib3JkZXItdGFibGUtY2VsbC13aWR0aCBzb2xpZCAkZ2N3ZWItYm9yZGVyLWNvbG9yO1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuXHJcbiAgJjpsYXN0LWNoaWxkIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgfVxyXG59XHJcblxyXG50aCB7XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxufVxyXG5cclxuY2FwdGlvbiB7XHJcbiAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuOyAvKiBbMl0gKi9cclxufVxyXG4iLCIuZ2N3ZWItZm9ybS1ncm91cCB7XHJcbiAgQGluY2x1ZGUgZ2N3ZWItcmVzcG9uc2l2ZS1tYXJnaW4oNCwgJ2JvdHRvbScpO1xyXG5cclxuICAuZ2N3ZWItZm9ybS1ncm91cDpsYXN0LW9mLXR5cGUge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gUmVtb3ZlIG1hcmdpbiBmcm9tIGxhc3QgaXRlbSBpbiBuZXN0ZWQgZ3JvdXBzXHJcbiAgfVxyXG59XHJcblxyXG4uZ2N3ZWItZm9ybS1ncm91cC0td3JhcHBlciB7XHJcbiAgQGluY2x1ZGUgZ2N3ZWItcmVzcG9uc2l2ZS1tYXJnaW4oNSwgJ2JvdHRvbScpO1xyXG59XHJcblxyXG4uZ2N3ZWItZm9ybS1ncm91cC0tZXJyb3Ige1xyXG4gIGJvcmRlci1sZWZ0OiAkZ2N3ZWItYm9yZGVyLXdpZHRoLWZvcm0tZ3JvdXAtZXJyb3Igc29saWQgJGdjd2ViLWVycm9yLWNvbG9yO1xyXG4gIHBhZGRpbmctbGVmdDogZ2N3ZWItc3BhY2luZygzKTtcclxuXHJcbiAgLmdjd2ViLWZvcm0tZ3JvdXAge1xyXG4gICAgLy8gUmVzZXQgZXJyb3Igc3R5bGVzIGluIG5lc3RlZCBmb3JtIGdyb3VwcyB0aGF0IG1pZ2h0IGhhdmUgZXJyb3IgY2xhc3NcclxuICAgIGJvcmRlcjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIE9CSkVDVFMgLyAjR1JJRFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuQGluY2x1ZGUgZ292dWstZXhwb3J0cygnZ292dWsvb2JqZWN0cy9ncmlkJykge1xyXG4gIEBpbmNsdWRlIGdvdnVrLWdyaWQtcm93O1xyXG4gIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKG9uZS1xdWFydGVyKTtcclxuICBAaW5jbHVkZSBnb3Z1ay1ncmlkLWNvbHVtbihvbmUtdGhpcmQpO1xyXG4gIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKG9uZS1oYWxmKTtcclxuICBAaW5jbHVkZSBnb3Z1ay1ncmlkLWNvbHVtbih0d28tdGhpcmRzKTtcclxuICBAaW5jbHVkZSBnb3Z1ay1ncmlkLWNvbHVtbih0aHJlZS1xdWFydGVycyk7XHJcbiAgQGluY2x1ZGUgZ292dWstZ3JpZC1jb2x1bW4oZnVsbCk7XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgT0JKRUNUUyAvICNNQUlOLVdSQVBQRVJcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBQYWdlIHdyYXBwZXIgZm9yIHRoZSBncmlkIHN5c3RlbVxyXG4gKlxyXG4gKiBVc2FnZTpcclxuICogPGRpdiBjbGFzcz1cImdjd2ViLXdpZHRoLWNvbnRhaW5lclwiPlxyXG4gKiAgIDxkaXYgY2xhc3M9XCJnY3dlYi1tYWluLXdyYXBwZXJcIj5cclxuICogICAgPCEtLSBXcmFwcGVyIGZvciB0aGUgbWFpbiBjb250ZW50IG9mIHlvdXIgcGFnZSB3aGljaCBhcHBsaWVzIHBhZGRpbmdcclxuICogICAgICAgICB0byB0aGUgdG9wIC8gYm90dG9tIC0tPlxyXG4gKiAgIDwvZGl2PlxyXG4gKiA8L2Rpdj5cclxuICpcclxuICogT3JpZ2luYWwgY29kZSB0YWtlbiBmcm9tIEdEUyAoR292ZXJubWVudCBEaWdpdGFsIFNlcnZpY2UpXHJcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9hbHBoYWdvdi9nb3Z1ay1mcm9udGVuZFxyXG4gKlxyXG4gKiAxLiBJbiBJRTExIHRoZSBgbWFpbmAgZWxlbWVudCBjYW4gYmUgdXNlZCwgYnV0IGlzIG5vdCByZWNvZ25pemVkICDigJNcclxuICogICAgbWVhbmluZyBpdCdzIG5vdCBkZWZpbmVkIGluIElFJ3MgZGVmYXVsdCBzdHlsZSBzaGVldCxcclxuICogICAgc28gaXQgdXNlcyBDU1MgaW5pdGlhbCB2YWx1ZSwgd2hpY2ggaXMgaW5saW5lLlxyXG4gKi9cclxuXHJcbkBtaXhpbiBnb3Z1ay1tYWluLXdyYXBwZXIge1xyXG4gIEBpbmNsdWRlIGdjd2ViLXJlc3BvbnNpdmUtcGFkZGluZyg3LCAndG9wJyk7XHJcbiAgQGluY2x1ZGUgZ2N3ZWItcmVzcG9uc2l2ZS1wYWRkaW5nKDcsICdib3R0b20nKTtcclxuICBAaW5jbHVkZSB0b3AtYW5kLWJvdHRvbSgpO1xyXG4gIGRpc3BsYXk6IGJsb2NrOyAvKiBbMV0gKi9cclxufVxyXG5cclxuQG1peGluIGdvdnVrLW1haW4td3JhcHBlci0tbCB7XHJcbiAgQGluY2x1ZGUgZ2N3ZWItcmVzcG9uc2l2ZS1wYWRkaW5nKDgsICd0b3AnKTtcclxufVxyXG5cclxuQG1peGluIGdvdnVrLW1haW4td3JhcHBlci0tcyB7XHJcbiAgQGluY2x1ZGUgZ2N3ZWItcmVzcG9uc2l2ZS1wYWRkaW5nKDUsICdib3R0b20nKTtcclxuICBAaW5jbHVkZSBnY3dlYi1yZXNwb25zaXZlLXBhZGRpbmcoNSwgJ3RvcCcpO1xyXG59XHJcblxyXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKCdnb3Z1ay9vYmplY3RzL21haW4td3JhcHBlcicpIHtcclxuICAuZ2N3ZWItbWFpbi13cmFwcGVyIHtcclxuICAgIEBpbmNsdWRlIGdvdnVrLW1haW4td3JhcHBlcjtcclxuICB9XHJcbiAgLmdjd2ViLW1haW4td3JhcHBlci0tbCB7XHJcbiAgICBAaW5jbHVkZSBnb3Z1ay1tYWluLXdyYXBwZXItLWw7XHJcbiAgfVxyXG4gIC5nY3dlYi1tYWluLXdyYXBwZXItLXMge1xyXG4gICAgQGluY2x1ZGUgZ292dWstbWFpbi13cmFwcGVyLS1zO1xyXG4gIH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBPQkpFQ1RTIC8gI1dJRFRILUNPTlRBSU5FUlxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIFBhZ2Ugd2lkdGggZm9yIHRoZSBncmlkIHN5c3RlbVxyXG4gKlxyXG4gKiBPcmlnaW5hbCBjb2RlIHRha2VuIGZyb20gR0RTIChHb3Zlcm5tZW50IERpZ2l0YWwgU2VydmljZSlcclxuICogaHR0cHM6Ly9naXRodWIuY29tL2FscGhhZ292L2dvdnVrLWZyb250ZW5kXHJcbiAqXHJcbiAqIDEuIE9uIG1vYmlsZSwgYWRkIGhhbGYgd2lkdGggZ3V0dGVyc1xyXG4gKiAyLiBMaW1pdCB0aGUgd2lkdGggb2YgdGhlIGNvbnRhaW5lciB0byB0aGUgcGFnZSB3aWR0aFxyXG4gKiAzLiBGcm9tIGRlc2t0b3AsIGFkZCBmdWxsIHdpZHRoIGd1dHRlcnNcclxuICogNC4gQXMgc29vbiBhcyB0aGUgdmlld3BvcnQgaXMgZ3JlYXRlciB0aGFuIHRoZSB3aWR0aCBvZiB0aGUgcGFnZSBwbHVzIHRoZVxyXG4gKiAgICBndXR0ZXJzLCBqdXN0IGNlbnRyZSB0aGUgY29udGVudCBpbnN0ZWFkIG9mIGFkZGluZyBndXR0ZXJzLlxyXG4gKiA1LiBGdWxsIHdpZHRoIGNvbnRhaW5lciwgc3Bhbm5pbmcgdGhlIGVudGlyZSB3aWR0aCBvZiB0aGUgdmlld3BvcnRcclxuICovXHJcblxyXG5AbWl4aW4gZ292dWstd2lkdGgtY29udGFpbmVyIHtcclxuICBtYXJnaW46IDAgJGdjd2ViLWd1dHRlci1oYWxmOyAvKiBbMV0gKi9cclxuXHJcbiAgbWF4LXdpZHRoOiAkZ2N3ZWItcGFnZS13aWR0aDsgLyogWzJdICovXHJcblxyXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiBkZXNrdG9wKSB7XHJcbiAgICBtYXJnaW46IDAgJGdjd2ViLWd1dHRlcjsgLyogWzNdICovXHJcbiAgfVxyXG5cclxuICAvKiBbNF0gKi9cclxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkYW5kOiAnKG1pbi13aWR0aDogI3soJGdjd2ViLXBhZ2Utd2lkdGggKyAkZ2N3ZWItZ3V0dGVyICogMil9KScpIHtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGdjd2ViLXdpZHRoLWNvbnRhaW5lci1mbHVpZCB7XHJcbiAgbWFyZ2luOiAwICRnY3dlYi1ndXR0ZXItaGFsZjtcclxuICBtYXgtd2lkdGg6IDEwMCU7IC8qIFs1XSAqL1xyXG5cclxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogZGVza3RvcCkge1xyXG4gICAgbWFyZ2luOiAwICRnY3dlYi1ndXR0ZXI7IC8qIFszXSAqL1xyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUgZ292dWstZXhwb3J0cygnZ292dWsvb2JqZWN0cy93aWR0aC1jb250YWluZXInKSB7XHJcbiAgLmdjd2ViLXdpZHRoLWNvbnRhaW5lciB7XHJcbiAgICBAaW5jbHVkZSBnb3Z1ay13aWR0aC1jb250YWluZXI7XHJcbiAgfVxyXG4gIC5nY3dlYi13aWR0aC1jb250YWluZXItZmx1aWQge1xyXG4gICAgQGluY2x1ZGUgZ2N3ZWItd2lkdGgtY29udGFpbmVyLWZsdWlkO1xyXG4gIH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBTVFlMRVMgLyAjSUNPTlNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBXZSB1c2UgU1ZHcyBmb3Igb3VyIGljb25zLCB3aXRoIG5vIFBORyBmYWxsYmFjay5cclxuICpcclxuICogRm9yIElFOCBzdXBwb3J0LCBhbHRlcm5hdGUgc3R5bGluZyBpcyBhcHBsaWVkIHRvIHRoZSBjb21wb25lbnRzIHVzaW5nIGljb25zLlxyXG4gKi9cclxuXHJcbi8vIERlZmF1bHQgaWNvbiBzaXplXHJcblxyXG4uZ2N3ZWItaWNvbiB7XHJcbiAgaGVpZ2h0OiAkZ2N3ZWItaWNvbi1zaXplO1xyXG4gIHdpZHRoOiAkZ2N3ZWItaWNvbi1zaXplO1xyXG59XHJcblxyXG4vLyBEZWZhdWx0IGljb24gY29sb3Vyc1xyXG5cclxuLmdjd2ViLWljb25fX3NlYXJjaCB7XHJcbiAgZmlsbDogJGNvbG9yX2djd2ViLWJsdWU7XHJcbn1cclxuXHJcbi5nY3dlYi1pY29uX19jaGV2cm9uLWxlZnQge1xyXG4gIGZpbGw6ICRjb2xvcl9nY3dlYi1ibHVlO1xyXG59XHJcblxyXG4uZ2N3ZWItaWNvbl9fY2hldnJvbi1yaWdodCB7XHJcbiAgZmlsbDogJGNvbG9yX2djd2ViLWJsdWU7XHJcbn1cclxuXHJcbi5nY3dlYi1pY29uX19jbG9zZSB7XHJcbiAgZmlsbDogJGNvbG9yX2djd2ViLWJsdWU7XHJcbn1cclxuXHJcbi5nY3dlYi1pY29uX19jcm9zcyB7XHJcbiAgZmlsbDogJGNvbG9yX2djd2ViLXJlZDtcclxufVxyXG5cclxuLmdjd2ViLWljb25fX3RpY2sge1xyXG4gIHN0cm9rZTogJGNvbG9yX2djd2ViLWdyZWVuO1xyXG59XHJcblxyXG4uZ2N3ZWItaWNvbl9fYXJyb3ctcmlnaHQge1xyXG4gIGZpbGw6ICRjb2xvcl9nY3dlYi1ibHVlO1xyXG59XHJcblxyXG4uZ2N3ZWItaWNvbl9fYXJyb3ctbGVmdCB7XHJcbiAgZmlsbDogJGNvbG9yX2djd2ViLWJsdWU7XHJcbn1cclxuXHJcbi5nY3dlYi1pY29uX19hcnJvdy1yaWdodC1jaXJjbGUge1xyXG4gIGZpbGw6ICRjb2xvcl9nY3dlYi1ncmVlbjtcclxufVxyXG5cclxuLmdjd2ViLWljb25fX2NoZXZyb24tZG93biB7XHJcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgcHJvcGVydHktc29ydC1vcmRlclxyXG4gIGZpbGw6ICRjb2xvcl9nY3dlYi1ibHVlOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHByb3BlcnR5LXNvcnQtb3JkZXJcclxuICBwYXRoIHtcclxuICAgIGZpbGw6ICRjb2xvcl9nY3dlYi13aGl0ZTtcclxuICB9XHJcbn1cclxuXHJcbi5nY3dlYi1pY29uX19jaGV2cm9uLXVwIHtcclxuICBmaWxsOiAkY29sb3JfZ2N3ZWItYmx1ZTtcclxuICBwYXRoIHtcclxuICAgIGZpbGw6ICRjb2xvcl9nY3dlYi13aGl0ZTtcclxuICB9XHJcbn1cclxuXHJcbi5nY3dlYi1pY29uX19lbWRhc2gge1xyXG4gIHBhdGgge1xyXG4gICAgZmlsbDogJGNvbG9yX2djd2ViLWdyZXktMztcclxuICB9XHJcbn1cclxuXHJcbi5nY3dlYi1pY29uX19wbHVzIHtcclxuICBmaWxsOiAkY29sb3JfZ2N3ZWItYmx1ZTtcclxufVxyXG5cclxuLmdjd2ViLWljb25fX21pbnVzIHtcclxuICBmaWxsOiAkY29sb3JfZ2N3ZWItYmx1ZTtcclxufVxyXG5cclxuLy8gSWNvbiBzaXplIGFkanVzdG1lbnRzXHJcblxyXG4uZ2N3ZWItaWNvbi0tc2l6ZS0yNSB7XHJcbiAgaGVpZ2h0OiAkZ2N3ZWItaWNvbi1zaXplICogMS4yNTtcclxuICB3aWR0aDogJGdjd2ViLWljb24tc2l6ZSAqIDEuMjU7XHJcbn1cclxuXHJcbi5nY3dlYi1pY29uLS1zaXplLTUwIHtcclxuICBoZWlnaHQ6ICRnY3dlYi1pY29uLXNpemUgKiAxLjU7XHJcbiAgd2lkdGg6ICRnY3dlYi1pY29uLXNpemUgKiAxLjU7XHJcbn1cclxuXHJcbi5nY3dlYi1pY29uLS1zaXplLTc1IHtcclxuICBoZWlnaHQ6ICRnY3dlYi1pY29uLXNpemUgKiAxLjc1O1xyXG4gIHdpZHRoOiAkZ2N3ZWItaWNvbi1zaXplICogMS43NTtcclxufVxyXG5cclxuLmdjd2ViLWljb24tLXNpemUtMTAwIHtcclxuICBoZWlnaHQ6ICRnY3dlYi1pY29uLXNpemUgKiAyO1xyXG4gIHdpZHRoOiAkZ2N3ZWItaWNvbi1zaXplICogMjtcclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBTVFlMRVMgLyAjTElTVFNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vIFRoZSAlIChzaWxlbnQgY2xhc3MpIGFsbG93cyBjb2RlIHRvIGJlIGV4dGVuZGVkIChAZXh0ZW5kKSB0byBvdGhlciBlbGVtZW50c1xyXG4vLyB3aXRob3V0IGJsb2F0aW5nIHRoZSBjb2RlLlxyXG4vL1xyXG4vLyBAZXhhbXBsZSBzY3NzXHJcbi8vICAuZm9vIHtcclxuLy8gICBAZXh0ZW5kICVnY3dlYi1zZWN0aW9uLWJyZWFrLS14bDtcclxuLy8gIH1cclxuXHJcbi8qKlxyXG4gKiAxLiAnUmFuZG9tIG51bWJlcicgdXNlZCB0byBhbGlnbiB1bCBhbmQgb2wgbGVmdCB3aXRoIGNvbnRlbnQuXHJcbiAqIDIuICdSYW5kb20gbnVtYmVyJyB1c2VkIHRvIGdpdmUgc3VmZmljaWVudCBzcGFjaW5nIGJldHdlZW4gdGV4dCBhbmQgaWNvbi5cclxuICogMy4gJ1JhbmRvbSBudW1iZXInIHVzZWQgdG8gYWxpZ24gaWNvbiBhbmQgdGV4dC5cclxuICovXHJcblxyXG4lZ2N3ZWItbGlzdCB7XHJcbiAgQGluY2x1ZGUgZ2N3ZWItdHlwb2dyYXBoeS1yZXNwb25zaXZlKDE5KTtcclxuICBAaW5jbHVkZSBnY3dlYi1yZXNwb25zaXZlLW1hcmdpbig0LCAnYm90dG9tJyk7XHJcblxyXG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICBtYXJnaW4tdG9wOiAwO1xyXG4gIHBhZGRpbmctbGVmdDogMDtcclxufVxyXG5cclxuJWdjd2ViLWxpc3QgPiBsaSB7XHJcbiAgQGluY2x1ZGUgZ2N3ZWItcmVzcG9uc2l2ZS1tYXJnaW4oMiwgJ2JvdHRvbScpO1xyXG5cclxuICAmOmxhc3QtY2hpbGQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICB9XHJcbn1cclxuXHJcbiVnY3dlYi1saXN0LS1idWxsZXQge1xyXG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcclxuICBwYWRkaW5nLWxlZnQ6IDIwcHg7IC8qIFsxXSAqL1xyXG59XHJcblxyXG4uZ2N3ZWItbGlzdC0tYnVsbGV0IHtcclxuICBAZXh0ZW5kICVnY3dlYi1saXN0LS1idWxsZXQ7XHJcbn1cclxuXHJcbiVnY3dlYi1saXN0LS1udW1iZXIge1xyXG4gIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcclxuICBwYWRkaW5nLWxlZnQ6IDIwcHg7IC8qIFsxXSAqL1xyXG59XHJcblxyXG4uZ2N3ZWItbGlzdC0tbnVtYmVyIHtcclxuICBAZXh0ZW5kICVnY3dlYi1saXN0LS1udW1iZXI7XHJcbn1cclxuXHJcbi5nY3dlYi1saXN0IHtcclxuICBAZXh0ZW5kICVnY3dlYi1saXN0O1xyXG59XHJcblxyXG51bCB7XHJcbiAgQGV4dGVuZCAlZ2N3ZWItbGlzdDtcclxuICBAZXh0ZW5kICVnY3dlYi1saXN0LS1idWxsZXQ7XHJcbn1cclxuXHJcbm9sIHtcclxuICBAZXh0ZW5kICVnY3dlYi1saXN0O1xyXG4gIEBleHRlbmQgJWdjd2ViLWxpc3QtLW51bWJlcjtcclxufVxyXG5cclxuLmdjd2ViLWxpc3QtLXRpY2ssXHJcbi5nY3dlYi1saXN0LS1jcm9zcyB7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBtYXJnaW4tdG9wOiAwO1xyXG4gIHBhZGRpbmctbGVmdDogNDBweDsgLyogWzJdICovXHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICBzdmcge1xyXG4gICAgbGVmdDogLTRweDsgLyogWzNdICovXHJcbiAgICBtYXJnaW4tdG9wOiAtNXB4OyAvKiBbM10gKi9cclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB9XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgU1RZTEVTIC8gI1NFQ1RJT04tQlJFQUtcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vIFRoZSAlIChzaWxlbnQgY2xhc3MpIGFsbG93cyBjb2RlIHRvIGJlIGV4dGVuZGVkIChAZXh0ZW5kKSB0byBvdGhlciBlbGVtZW50c1xyXG4vLyB3aXRob3V0IGJsb2F0aW5nIHRoZSBjb2RlLlxyXG4vL1xyXG4vLyBAZXhhbXBsZSBzY3NzXHJcbi8vICAuZm9vIHtcclxuLy8gICBAZXh0ZW5kICVnY3dlYi1zZWN0aW9uLWJyZWFrLS14bDtcclxuLy8gIH1cclxuXHJcbi8qKlxyXG4gKiAxLiBFeHRlbmRlZCB0aGUgc2VjdGlvbi1icmVhay0tbCBjb2RlIGZvciB1c2FnZSBvZiBhIHNlbWFudGljIDxocj4gd2l0aFxyXG4gKiBubyBjbGFzcyBuYW1lLlxyXG4gKlxyXG4gKiBPcmlnaW5hbCBjb2RlIHRha2VuIGZyb20gR0RTIChHb3Zlcm5tZW50IERpZ2l0YWwgU2VydmljZSlcclxuICogaHR0cHM6Ly9naXRodWIuY29tL2FscGhhZ292L2dvdnVrLWZyb250ZW5kXHJcbiAqL1xyXG5cclxuJWdjd2ViLXNlY3Rpb24tYnJlYWsge1xyXG4gIGJvcmRlcjogMDtcclxuICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbi5nY3dlYi1zZWN0aW9uLWJyZWFrIHtcclxuICBAZXh0ZW5kICVnY3dlYi1zZWN0aW9uLWJyZWFrO1xyXG59XHJcblxyXG4lZ2N3ZWItc2VjdGlvbi1icmVhay0teGwge1xyXG4gIEBpbmNsdWRlIGdjd2ViLXJlc3BvbnNpdmUtbWFyZ2luKDgsICd0b3AnKTtcclxuICBAaW5jbHVkZSBnY3dlYi1yZXNwb25zaXZlLW1hcmdpbig4LCAnYm90dG9tJyk7XHJcbn1cclxuXHJcbi5nY3dlYi1zZWN0aW9uLWJyZWFrLS14bCB7XHJcbiAgQGV4dGVuZCAlZ2N3ZWItc2VjdGlvbi1icmVhay0teGw7XHJcbn1cclxuXHJcbiVnY3dlYi1zZWN0aW9uLWJyZWFrLS1sIHtcclxuICBAaW5jbHVkZSBnY3dlYi1yZXNwb25zaXZlLW1hcmdpbig2LCAndG9wJyk7XHJcbiAgQGluY2x1ZGUgZ2N3ZWItcmVzcG9uc2l2ZS1tYXJnaW4oNiwgJ2JvdHRvbScpO1xyXG59XHJcblxyXG4uZ2N3ZWItc2VjdGlvbi1icmVhay0tbCB7XHJcbiAgQGV4dGVuZCAlZ2N3ZWItc2VjdGlvbi1icmVhay0tbDtcclxufVxyXG5cclxuJWdjd2ViLXNlY3Rpb24tYnJlYWstLW0ge1xyXG4gIEBpbmNsdWRlIGdjd2ViLXJlc3BvbnNpdmUtbWFyZ2luKDQsICd0b3AnKTtcclxuICBAaW5jbHVkZSBnY3dlYi1yZXNwb25zaXZlLW1hcmdpbig0LCAnYm90dG9tJyk7XHJcbn1cclxuXHJcbi5nY3dlYi1zZWN0aW9uLWJyZWFrLS1tIHtcclxuICBAZXh0ZW5kICVnY3dlYi1zZWN0aW9uLWJyZWFrLS1tO1xyXG59XHJcblxyXG4lZ2N3ZWItc2VjdGlvbi1icmVhay0tdmlzaWJsZSB7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnY3dlYi1ib3JkZXItY29sb3I7XHJcbn1cclxuXHJcbi5nY3dlYi1zZWN0aW9uLWJyZWFrLS12aXNpYmxlIHtcclxuICBAZXh0ZW5kICVnY3dlYi1zZWN0aW9uLWJyZWFrLS12aXNpYmxlO1xyXG59XHJcblxyXG5ociB7IC8qIFsxXSAqL1xyXG4gIEBleHRlbmQgJWdjd2ViLXNlY3Rpb24tYnJlYWs7XHJcbiAgQGV4dGVuZCAlZ2N3ZWItc2VjdGlvbi1icmVhay0tbDtcclxuICBAZXh0ZW5kICVnY3dlYi1zZWN0aW9uLWJyZWFrLS12aXNpYmxlO1xyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFNUWUxFUyAvICNUWVBPR1JBUEhZXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKiBIZWFkaW5ncyAqL1xyXG5cclxuLy8gVGhlICUgKHNpbGVudCBjbGFzcykgYWxsb3dzIGNvZGUgdG8gYmUgZXh0ZW5kZWQgKEBleHRlbmQpIHRvIG90aGVyIGVsZW1lbnRzXHJcbi8vIHdpdGhvdXQgYmxvYXRpbmcgdGhlIGNvZGUuXHJcbi8vXHJcbi8vIEBleGFtcGxlIHNjc3NcclxuLy8gIC5mb28ge1xyXG4vLyAgIEBleHRlbmQgJWdjd2ViLWhlYWRpbmcteGw7XHJcbi8vICB9XHJcblxyXG4lZ2N3ZWItaGVhZGluZy14eGwge1xyXG4gIEBpbmNsdWRlIGdjd2ViLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSg2NCk7XHJcbiAgZm9udC1mYW1pbHk6ICdTcGFydGFuICFpbXBvcnRhbnQnO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGZvbnQtd2VpZ2h0OiAkZ2N3ZWItZm9udC1ib2xkO1xyXG4gIG1hcmdpbi10b3A6IDA7XHJcbiAgbGluZS1oZWlnaHQ6IDQuNzVyZW0gIWltcG9ydGFudDtcclxuXHJcbiAgQGluY2x1ZGUgZ2N3ZWItcmVzcG9uc2l2ZS1tYXJnaW4oNSwgJ2JvdHRvbScpO1xyXG59XHJcblxyXG4uZ2N3ZWItaGVhZGluZy14eGwgeyBcclxuICBAZXh0ZW5kICVnY3dlYi1oZWFkaW5nLXh4bDtcclxufVxyXG5cclxuXHJcblxyXG4lZ2N3ZWItaGVhZGluZy14bCB7XHJcbiAgQGluY2x1ZGUgZ2N3ZWItdHlwb2dyYXBoeS1yZXNwb25zaXZlKDMyKTtcclxuICBmb250LWZhbWlseTogJ1NwYXJ0YW4gIWltcG9ydGFudCc7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgZm9udC13ZWlnaHQ6ICRnY3dlYi1mb250LWJvbGQ7XHJcbiAgbWFyZ2luLXRvcDogMDtcclxuICBsaW5lLWhlaWdodDogM3JlbSAhaW1wb3J0YW50O1xyXG5cclxuICBAaW5jbHVkZSBnY3dlYi1yZXNwb25zaXZlLW1hcmdpbig1LCAnYm90dG9tJyk7XHJcbn1cclxuXHJcbmgxLFxyXG4uZ2N3ZWItaGVhZGluZy14bCB7IFxyXG4gIEBleHRlbmQgJWdjd2ViLWhlYWRpbmcteGw7XHJcbn1cclxuXHJcbiVnY3dlYi1oZWFkaW5nLWwge1xyXG4gIEBpbmNsdWRlIGdjd2ViLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSgyNCk7XHJcblxyXG4gIGZvbnQtZmFtaWx5OiAnU3BhcnRhbiAhaW1wb3J0YW50JztcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBmb250LXdlaWdodDogJGdjd2ViLWZvbnQtYm9sZDtcclxuICBtYXJnaW4tdG9wOiAwO1xyXG5cclxuICBAaW5jbHVkZSBnY3dlYi1yZXNwb25zaXZlLW1hcmdpbig0LCAnYm90dG9tJyk7XHJcbn1cclxuXHJcbmgyLFxyXG4uZ2N3ZWItaGVhZGluZy1sIHtcclxuICBAZXh0ZW5kICVnY3dlYi1oZWFkaW5nLWw7XHJcbn1cclxuXHJcbiVnY3dlYi1oZWFkaW5nLW0ge1xyXG4gIEBpbmNsdWRlIGdjd2ViLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSgxOSk7XHJcblxyXG4gIGZvbnQtZmFtaWx5OiAnU3BhcnRhbiAhaW1wb3J0YW50JztcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBmb250LXdlaWdodDogJGdjd2ViLWZvbnQtYm9sZDtcclxuICBtYXJnaW4tdG9wOiAwO1xyXG5cclxuICBAaW5jbHVkZSBnY3dlYi1yZXNwb25zaXZlLW1hcmdpbigzLCAnYm90dG9tJyk7XHJcbn1cclxuXHJcbmgzLFxyXG4uZ2N3ZWItaGVhZGluZy1tIHtcclxuICBAZXh0ZW5kICVnY3dlYi1oZWFkaW5nLW07XHJcbn1cclxuXHJcbiVnY3dlYi1oZWFkaW5nLXMge1xyXG4gIEBpbmNsdWRlIGdjd2ViLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSgxNik7XHJcblxyXG4gIGZvbnQtZmFtaWx5OiAnU3BhcnRhbiAhaW1wb3J0YW50JztcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBmb250LXdlaWdodDogJGdjd2ViLWZvbnQtYm9sZDtcclxuICBtYXJnaW4tdG9wOiAwO1xyXG5cclxuICBAaW5jbHVkZSBnY3dlYi1yZXNwb25zaXZlLW1hcmdpbigyLCAnYm90dG9tJyk7XHJcbn1cclxuXHJcbmg0LFxyXG4uZ2N3ZWItaGVhZGluZy1zIHtcclxuICBAZXh0ZW5kICVnY3dlYi1oZWFkaW5nLXM7XHJcbn1cclxuXHJcbiVnY3dlYi1oZWFkaW5nLXhzIHtcclxuICBAaW5jbHVkZSBnY3dlYi10eXBvZ3JhcGh5LXJlc3BvbnNpdmUoMTYpO1xyXG5cclxuICBmb250LWZhbWlseTogJ1NwYXJ0YW4gIWltcG9ydGFudCc7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgZm9udC13ZWlnaHQ6ICRnY3dlYi1mb250LWJvbGQ7XHJcbiAgbWFyZ2luLXRvcDogMDtcclxuXHJcbiAgQGluY2x1ZGUgZ2N3ZWItcmVzcG9uc2l2ZS1tYXJnaW4oMywgJ2JvdHRvbScpO1xyXG59XHJcblxyXG5oNSxcclxuLmdjd2ViLWhlYWRpbmcteHMge1xyXG4gIEBleHRlbmQgJWdjd2ViLWhlYWRpbmcteHM7XHJcbn1cclxuXHJcbiVnY3dlYi1oZWFkaW5nLXh4cyB7XHJcbiAgQGluY2x1ZGUgZ2N3ZWItdHlwb2dyYXBoeS1yZXNwb25zaXZlKDE2KTtcclxuXHJcbiAgZm9udC1mYW1pbHk6ICdTcGFydGFuICFpbXBvcnRhbnQnO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGZvbnQtd2VpZ2h0OiAkZ2N3ZWItZm9udC1ib2xkO1xyXG4gIG1hcmdpbi10b3A6IDA7XHJcblxyXG4gIEBpbmNsdWRlIGdjd2ViLXJlc3BvbnNpdmUtbWFyZ2luKDIsICdib3R0b20nKTtcclxufVxyXG5cclxuaDYsXHJcbi5nY3dlYi1oZWFkaW5nLXh4cyB7XHJcbiAgQGV4dGVuZCAlZ2N3ZWItaGVhZGluZy14eHM7XHJcbn1cclxuXHJcbi8qIENhcHRpb25zIHRvIGJlIHVzZWQgaW5zaWRlIGhlYWRpbmdzICovXHJcblxyXG4uZ2N3ZWItY2FwdGlvbi14bCB7XHJcbiAgQGluY2x1ZGUgZ2N3ZWItZm9udCgzMik7XHJcblxyXG4gIGZvbnQtZmFtaWx5OiAnU3BhcnRhbiAhaW1wb3J0YW50JztcclxuICBjb2xvcjogJGdjd2ViLXNlY29uZGFyeS10ZXh0LWNvbG9yO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIG1hcmdpbi1ib3R0b206IGdjd2ViLXNwYWNpbmcoMSk7XHJcbn1cclxuXHJcbi5nY3dlYi1jYXB0aW9uLWwge1xyXG4gIEBpbmNsdWRlIGdjd2ViLWZvbnQoMjQpO1xyXG5cclxuICBmb250LWZhbWlseTogJ1NwYXJ0YW4gIWltcG9ydGFudCc7XHJcbiAgY29sb3I6ICRnY3dlYi1zZWNvbmRhcnktdGV4dC1jb2xvcjtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBtYXJnaW4tYm90dG9tOiBnY3dlYi1zcGFjaW5nKDEpO1xyXG59XHJcblxyXG4uZ2N3ZWItY2FwdGlvbi1tIHtcclxuICBAaW5jbHVkZSBnY3dlYi1mb250KDE5KTtcclxuXHJcbiAgZm9udC1mYW1pbHk6ICdTcGFydGFuICFpbXBvcnRhbnQnO1xyXG4gIGNvbG9yOiAkZ2N3ZWItc2Vjb25kYXJ5LXRleHQtY29sb3I7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi5nY3dlYi1jYXB0aW9uLS1ib3R0b20ge1xyXG4gIG1hcmdpbi1ib3R0b206IGdjd2ViLXNwYWNpbmcoMCk7XHJcbiAgbWFyZ2luLXRvcDogZ2N3ZWItc3BhY2luZygxKTtcclxufVxyXG5cclxuLyogQm9keSAocGFyYWdyYXBocykgKi9cclxuXHJcbiVnY3dlYi1ib2R5LWwge1xyXG4gIEBpbmNsdWRlIGdjd2ViLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSgyNCk7XHJcblxyXG4gIGZvbnQtZmFtaWx5OiAnTnVuaXRvICAhaW1wb3J0YW50JztcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBtYXJnaW4tdG9wOiAwO1xyXG5cclxuICBAaW5jbHVkZSBnY3dlYi1yZXNwb25zaXZlLW1hcmdpbig1LCAnYm90dG9tJyk7XHJcbn1cclxuXHJcbi5nY3dlYi1ib2R5LWwge1xyXG4gIEBleHRlbmQgJWdjd2ViLWJvZHktbDtcclxufVxyXG5cclxuJWdjd2ViLWJvZHktbSB7XHJcbiAgQGluY2x1ZGUgZ2N3ZWItdHlwb2dyYXBoeS1yZXNwb25zaXZlKDE5KTtcclxuXHJcbiAgZm9udC1mYW1pbHk6ICdOdW5pdG8gIWltcG9ydGFudCc7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgbWFyZ2luLXRvcDogMDtcclxuXHJcbiAgQGluY2x1ZGUgZ2N3ZWItcmVzcG9uc2l2ZS1tYXJnaW4oNCwgJ2JvdHRvbScpO1xyXG59XHJcblxyXG5wLFxyXG4uZ2N3ZWItYm9keS1tLCAuZ2N3ZWItYm9keSB7XHJcbiAgQGV4dGVuZCAlZ2N3ZWItYm9keS1tO1xyXG4gIGNvbG9yOiBpbmhlcml0O1xyXG59XHJcblxyXG4lZ2N3ZWItYm9keS1zIHtcclxuICBAaW5jbHVkZSBnY3dlYi10eXBvZ3JhcGh5LXJlc3BvbnNpdmUoMTYpO1xyXG5cclxuICBmb250LWZhbWlseTogJ051bml0byAgIWltcG9ydGFudCc7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgbWFyZ2luLXRvcDogMDtcclxuXHJcbiAgQGluY2x1ZGUgZ2N3ZWItcmVzcG9uc2l2ZS1tYXJnaW4oNCwgJ2JvdHRvbScpO1xyXG59XHJcblxyXG4uZ2N3ZWItYm9keS1zIHtcclxuICBAZXh0ZW5kICVnY3dlYi1ib2R5LXM7XHJcbn1cclxuXHJcbmFkZHJlc3Mge1xyXG4gIEBleHRlbmQgJWdjd2ViLWJvZHktbTtcclxuXHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG59XHJcblxyXG4vKipcclxuICogTGVkZSB0ZXh0XHJcbiAqXHJcbiAqIDEuIEFwcGx5IGxlZGUgdGV4dCBzdHlsaW5nIHRvIHAgYW5kIHVsIHdpdGhpbiB0aGUgbGVkZSBlbGVtZW50XHJcbiAqIDIuIFJlZHVjZXMgdGhlIHNwYWNpbmcgYmV0d2VlbiB0aGUgcGFnZSBoZWFkaW5nIGFuZCB0aGUgbGVkZSB0ZXh0XHJcbiAqL1xyXG5cclxuLmdjd2ViLWxlZGUtdGV4dCB7XHJcbiAgQGluY2x1ZGUgZ2N3ZWItZm9udCgyNCk7XHJcbiAgQGluY2x1ZGUgZ2N3ZWItcmVzcG9uc2l2ZS1tYXJnaW4oNywgJ2JvdHRvbScpO1xyXG5cclxuICAvKiBbMV0gKi9cclxuICBwLFxyXG4gIHVsIHtcclxuICAgIEBpbmNsdWRlIGdjd2ViLWZvbnQoMjQpO1xyXG4gIH1cclxufVxyXG5cclxuLmdjd2ViLWxlZGUtdGV4dC0tc21hbGwge1xyXG4gIEBpbmNsdWRlIGdjd2ViLWZvbnQoMTkpO1xyXG4gIEBpbmNsdWRlIGdjd2ViLXJlc3BvbnNpdmUtbWFyZ2luKDUsICdib3R0b20nKTtcclxufVxyXG5cclxuLyogWzJdICovXHJcbmgxKy5nY3dlYi1sZWRlLXRleHQsXHJcbmgxKy5nY3dlYi1sZWRlLXRleHQtLXNtYWxsIHtcclxuICBtYXJnaW4tdG9wOiAtIGdjd2ViLXNwYWNpbmcoMik7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb250ZXh0dWFsIGFkanVzdG1lbnRzXHJcbiAqXHJcbiAqIEFkZCB0b3AgcGFkZGluZyB0byBoZWFkaW5ncyB0aGF0IGFwcGVhciBkaXJlY3RseSBhZnRlciBwYXJhZ3JhcGhzLlxyXG4gKlxyXG4gKiAxLiBSZW1vdmVzIHRoZSBwYWRkaW5nLXRvcCBiZWNhdXNlIG9mIHRoZSBsZWRlLXRleHQncyBpbmNyZWFzZWQgbWFyZ2luLWJvdHRvbVxyXG4gKlxyXG4gKiBPcmlnaW5hbCBjb2RlIHRha2VuIGZyb20gR0RTIChHb3Zlcm5tZW50IERpZ2l0YWwgU2VydmljZSlcclxuICogaHR0cHM6Ly9naXRodWIuY29tL2FscGhhZ292L2djd2ViLWZyb250ZW5kXHJcbiAqL1xyXG5cclxuJWdjd2ViLWJvZHktbCslZ2N3ZWItaGVhZGluZy1sIHtcclxuICBwYWRkaW5nLXRvcDogZ2N3ZWItc3BhY2luZygxKTtcclxuXHJcbiAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCkge1xyXG4gICAgcGFkZGluZy10b3A6IGdjd2ViLXNwYWNpbmcoMik7XHJcbiAgfVxyXG59XHJcblxyXG4lZ2N3ZWItYm9keS1tKyVnY3dlYi1oZWFkaW5nLWwsXHJcbiVnY3dlYi1ib2R5LXMrJWdjd2ViLWhlYWRpbmctbCxcclxuJWdjd2ViLWxpc3QrJWdjd2ViLWhlYWRpbmctbCB7XHJcbiAgQGluY2x1ZGUgZ2N3ZWItcmVzcG9uc2l2ZS1wYWRkaW5nKDQsICd0b3AnKTtcclxufVxyXG5cclxuJWdjd2ViLWJvZHktbSslZ2N3ZWItaGVhZGluZy1tLFxyXG4lZ2N3ZWItYm9keS1zKyVnY3dlYi1oZWFkaW5nLW0sXHJcbiVnY3dlYi1saXN0KyVnY3dlYi1oZWFkaW5nLW0sXHJcbiVnY3dlYi1ib2R5LW0rJWdjd2ViLWhlYWRpbmctcyxcclxuJWdjd2ViLWJvZHktcyslZ2N3ZWItaGVhZGluZy1zLFxyXG4lZ2N3ZWItbGlzdCslZ2N3ZWItaGVhZGluZy1zIHtcclxuICBwYWRkaW5nLXRvcDogZ2N3ZWItc3BhY2luZygxKTtcclxuXHJcbiAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCkge1xyXG4gICAgcGFkZGluZy10b3A6IGdjd2ViLXNwYWNpbmcoMik7XHJcbiAgfVxyXG59XHJcblxyXG4vKiBbMV0gKi9cclxuLmdjd2ViLWxlZGUtdGV4dCslZ2N3ZWItaGVhZGluZy1sIHtcclxuICBwYWRkaW5nLXRvcDogMDtcclxufVxyXG5cclxuLyogRm9udCB3ZWlnaHQgZm9yIDxzdHJvbmc+IGFuZCA8Yj4gKi9cclxuXHJcbnN0cm9uZyxcclxuYiB7XHJcbiAgZm9udC13ZWlnaHQ6ICRnY3dlYi1mb250LWJvbGQ7XHJcbn1cclxuXHJcbnAuZ2N3ZWItYm9keSBhe2NvbG9yOiAkZ2N3ZWItbGluay1jb2xvcn1cclxuXHJcbnAgPiBhe3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cclxuXHJcbi5nY3dlYi1iYWNre1xyXG4gICY6aG92ZXJ7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgfVxyXG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgVVRJTElUSUVTIC8gI0NMRUFSRklYXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogQXV0b21hdGljYWxseSBjbGVhciBhbiBlbGVtZW50c1xyXG4gKiBjaGlsZCBlbGVtZW50c1xyXG4gKlxyXG4gKiBVc2FnZTogY2xhc3M9XCJnY3dlYi11LWNsZWFyXCJcclxuICogU2VlIHRvb2xzL21peGluc1xyXG4gKi9cclxuXHJcbi5nY3dlYi11LWNsZWFyIHtcclxuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFVUSUxJVElFUyAvICNHUklEXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogRm9yY2UgZ3JpZCB3aWR0aHMgb24gYWxsIHNjcmVlbiBzaXplc1xyXG4gKiBCeSBkZWZhdWx0IGFsbCBncmlkIGVsZW1lbnRzIHdpbGwgZ28gdG8gMTAwJSB3aWR0aFxyXG4gKiBvbiBzY3JlZW4gc2l6ZXMgYmVsb3cgdGFibGV0LCB0aGVzZSB1dGlsaXRpZXMgY2FuIGZvcmNlXHJcbiAqIGN1c3RvbSB3aWR0aHMgb24gYWxsIHNjcmVlbiBzaXplc1xyXG4gKlxyXG4gKiBVc2FnZTogY2xhc3M9XCJnY3dlYi11LW9uZS1oYWxmXCJcclxuICovXHJcblxyXG4vLyBVdGlsaXR5IGNsYXNzZXMgYXJlIGFsbG93ZWQgdG8gdXNlICFpbXBvcnRhbnQ7XHJcbi8vIHNvIHdlIGRpc2FibGUgdGhlIHNhc3MtbGludCBmb3IgdGhhdCBydWxlXHJcbi8vIHNhc3MtbGludDpkaXNhYmxlIG5vLWltcG9ydGFudFxyXG5cclxuLmdjd2ViLXUtb25lLWhhbGYge1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAyKSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZ2N3ZWItdS1vbmUtdGhpcmQge1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAzKSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZ2N3ZWItdS10d28tdGhpcmRzIHtcclxuICBmbG9hdDogbGVmdDtcclxuICB3aWR0aDogcGVyY2VudGFnZSgyIC8gMykgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmdjd2ViLXUtb25lLXF1YXJ0ZXIge1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIHdpZHRoOiBwZXJjZW50YWdlKDEgLyA0KSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZ2N3ZWItdS10aHJlZS1xdWFydGVycyB7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbiAgd2lkdGg6IHBlcmNlbnRhZ2UoMyAvIDQpICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBGb3JjZSBncmlkIHdpZHRocyBvbiBzY3JlZW4gc2l6ZXMgb24gdGFibGV0XHJcbiAqIGFuZCBhYm92ZVxyXG4gKlxyXG4gKiBCeSBkZWZhdWx0IGFsbCBncmlkIGVsZW1lbnRzIHdpbGwgZ28gdG8gMTAwJSB3aWR0aFxyXG4gKiBvbiBldmVyeSBzY3JlZW4gc2l6ZSwgdGhlc2UgdXRpbGl0aWVzIGNhbiBmb3JjZVxyXG4gKiBjdXN0b20gd2lkdGhzIG9uIHNjcmVlbiBzaXplcyBvbiB0YWJsZXRcclxuICogYW5kIGFib3ZlXHJcbiAqXHJcbiAqIFVzYWdlOiBjbGFzcz1cImdjd2ViLXUtb25lLWhhbGYtdGFibGV0XCJcclxuICovXHJcblxyXG4uZ2N3ZWItdS1vbmUtaGFsZi10YWJsZXQge1xyXG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCkge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gMikgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi5nY3dlYi11LW9uZS10aGlyZC10YWJsZXQge1xyXG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCkge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gMykgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi5nY3dlYi11LXR3by10aGlyZHMtdGFibGV0IHtcclxuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpIHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoMiAvIDMpICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4uZ2N3ZWItdS1vbmUtcXVhcnRlci10YWJsZXQge1xyXG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCkge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gNCkgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi5nY3dlYi11LXRocmVlLXF1YXJ0ZXJzLXRhYmxldCB7XHJcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KSB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHdpZHRoOiBwZXJjZW50YWdlKDMgLyA0KSAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBVVElMSVRJRVMgLyAjTElOSy1OT1dSQVBcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBQcmV2ZW50IGxvbmcgYW5jaG9yIGxpbmtzIGZyb20gbGluZSBicmVha2luZ1xyXG4gKiBvbiBzbWFsbGVyIHNjcmVlbnNcclxuICpcclxuICogVXNhZ2U6IGNsYXNzPVwiZ2N3ZWItdS1ub3dyYXBcIlxyXG4gKi9cclxuXHJcbi5nY3dlYi11LW5vd3JhcCB7XHJcbiAgQGluY2x1ZGUgbXEoJHVudGlsOiB0YWJsZXQpIHtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFVUSUxJVElFUyAvICNSRUFESU5HLVdJRFRIXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogUmVhZGluZyB3aWR0aCBtaXhpbiwgYWRkIGEgbWF4aW11bSB3aWR0aFxyXG4gKiB0byBsYXJnZSBwaWVjZXMgb2YgY29udGVudFxyXG4gKlxyXG4gKiBVc2FnZTogY2xhc3M9XCJnY3dlYi11LXJlYWRpbmctd2lkdGhcIlxyXG4gKiBTZWUgdG9vbHMvbWl4aW5zXHJcbiAqL1xyXG5cclxuLmdjd2ViLXUtcmVhZGluZy13aWR0aCB7XHJcbiAgQGluY2x1ZGUgcmVhZGluZy13aWR0aCgpO1xyXG59XHJcbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC8vXHJcbi8vIFVUSUxJVElFUyAvICNTUEFDSU5HXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC8vXHJcblxyXG4vLyBEaXJlY3Rpb25zIGZvciBzcGFjaW5nXHJcbi8vIE9yaWdpbmFsIGNvZGUgdGFrZW4gZnJvbSBHRFMgKEdvdmVybm1lbnQgRGlnaXRhbCBTZXJ2aWNlKVxyXG4vLyBodHRwczovL2dpdGh1Yi5jb20vYWxwaGFnb3YvZ292dWstZnJvbnRlbmRcclxuXHJcbiRfc3BhY2luZy1kaXJlY3Rpb25zOiAoXHJcbiAgJ3RvcCcsXHJcbiAgJ3JpZ2h0JyxcclxuICAnYm90dG9tJyxcclxuICAnbGVmdCdcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIFNwYWNpbmcgb3ZlcnJpZGUgY2xhc3Nlc1xyXG4vL1xyXG4vLyBHZW5lcmF0ZSBzcGFjaW5nIG92ZXJyaWRlIGNsYXNzZXMgZm9yIHRoZSBnaXZlbiBwcm9wZXJ0eSAoZS5nLiBtYXJnaW4pXHJcbi8vIGZvciBlYWNoIHBvaW50IGluIHRoZSBzcGFjaW5nIHNjYWxlLlxyXG4vL1xyXG4vLyBAcGFyYW0ge1N0cmluZ30gJHByb3BlcnR5IC0gUHJvcGVydHkgdG8gYWRkIHNwYWNpbmcgdG8gKGUuZy4gJ21hcmdpbicpXHJcbi8vXHJcbi8vIEBleGFtcGxlIHNjc3NcclxuLy8gICAuZ2N3ZWItdS1tYXJnaW4tMCB7XHJcbi8vICAgICAgbWFyZ2luOiAwO1xyXG4vLyAgIH1cclxuLy9cclxuLy8gIC5nY3dlYi11LW1hcmdpbi10b3AtMSB7XHJcbi8vICAgICBtYXJnaW4tdG9wOiBbd2hhdGV2ZXIgc3BhY2luZyBwb2ludCAxIGlzLi4uXVxyXG4vLyAgIH1cclxuLy9cclxuLy8gMS4gRm9yIGVhY2ggcG9pbnQgaW4gdGhlIHNwYWNpbmcgc2NhbGUgKGRlZmluZWQgaW4gc2V0dGluZ3MpLCBjcmVhdGUgYW5cclxuLy8gICAgb3ZlcnJpZGUgdGhhdCBhZmZlY3RzIGFsbCBkaXJlY3Rpb25zLi4uXHJcbi8vIDIuIC4uLiBhbmQgdGhlbiBhbiBvdmVycmlkZSBmb3IgZWFjaCBpbmRpdmlkdWFsIGRpcmVjdGlvblxyXG5cclxuQG1peGluIF9nY3dlYi1nZW5lcmF0ZS1zcGFjaW5nLW92ZXJyaWRlcygkcHJvcGVydHkpIHtcclxuICAvLyBbMV0gLy9cclxuICBAZWFjaCAkc2NhbGUtcG9pbnQsICRzY2FsZS1tYXAgaW4gJGdjd2ViLXNwYWNpbmctcmVzcG9uc2l2ZS1zY2FsZSB7XHJcblxyXG4gICAgLmdjd2ViLXUtI3skcHJvcGVydHl9LSN7JHNjYWxlLXBvaW50fSB7XHJcblxyXG4gICAgICBAaW5jbHVkZSBfZ2N3ZWItcmVzcG9uc2l2ZS1zcGFjaW5nKCRzY2FsZS1wb2ludCwgJHByb3BlcnR5LCAnYWxsJywgdHJ1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gWzJdIC8vXHJcbiAgICBAZWFjaCAkZGlyZWN0aW9uIGluICRfc3BhY2luZy1kaXJlY3Rpb25zIHtcclxuXHJcbiAgICAgIC5nY3dlYi11LSN7JHByb3BlcnR5fS0jeyRkaXJlY3Rpb259LSN7JHNjYWxlLXBvaW50fSB7XHJcbiAgICAgICAgQGluY2x1ZGUgX2djd2ViLXJlc3BvbnNpdmUtc3BhY2luZygkc2NhbGUtcG9pbnQsICRwcm9wZXJ0eSwgJGRpcmVjdGlvbiwgdHJ1ZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoJ2dvdnVrL292ZXJyaWRlcy9zcGFjaW5nJykge1xyXG4gIEBpbmNsdWRlIF9nY3dlYi1nZW5lcmF0ZS1zcGFjaW5nLW92ZXJyaWRlcygnbWFyZ2luJyk7XHJcbiAgQGluY2x1ZGUgX2djd2ViLWdlbmVyYXRlLXNwYWNpbmctb3ZlcnJpZGVzKCdwYWRkaW5nJyk7XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgVVRJTElUSUVTIC8gI1RZUE9HUkFQSFlcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vIFV0aWxpdHkgY2xhc3NlcyBhcmUgYWxsb3dlZCB0byB1c2UgIWltcG9ydGFudDtcclxuLy8gc28gd2UgZGlzYWJsZSB0aGUgc2Fzcy1saW50IGZvciB0aGF0IHJ1bGVcclxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8taW1wb3J0YW50XHJcblxyXG4vKipcclxuICogRm9udCBzaXplIGFuZCBsaW5lIGhlaWdodFxyXG4gKlxyXG4gKiBHZW5lcmF0ZSB0eXBvZ3JhcGh5IG92ZXJyaWRlIGNsYXNzZXMgZm9yIGVhY2ggcmVzcG9uc2l2ZSBmb250IG1hcCBpbiB0aGVcclxuICogdHlwb2dyYXBoeSBzY2FsZSBlZyAuZ2N3ZWItdS1mb250LXNpemUtNDhcclxuICpcclxuICogT3JpZ2luYWwgY29kZSB0YWtlbiBmcm9tIEdEUyAoR292ZXJubWVudCBEaWdpdGFsIFNlcnZpY2UpXHJcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9hbHBoYWdvdi9nb3Z1ay1mcm9udGVuZFxyXG4gKi9cclxuXHJcbkBlYWNoICRzaXplIGluIG1hcC1rZXlzKCRnY3dlYi10eXBvZ3JhcGh5LXNjYWxlKSB7XHJcbiAgLmdjd2ViLXUtZm9udC1zaXplLSN7JHNpemV9IHtcclxuICAgIEBpbmNsdWRlIGdjd2ViLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSgkc2l6ZSwgJGltcG9ydGFudDogdHJ1ZSk7XHJcbiAgfVxyXG59XHJcblxyXG4vKiBXZWlnaHRzXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogR2VuZXJhdGUgZm9udCB3ZWlnaHQgb3ZlcnJpZGUgY2xhc3NlcyBmb3Igbm9ybWFsIGFuZCBib2xkXHJcbiAqIGVnIC5nY3dlYi11LWZvbnQtd2VpZ2h0LW5vcm1hbFxyXG4gKi9cclxuXHJcbi5nY3dlYi11LWZvbnQtd2VpZ2h0LW5vcm1hbCB7XHJcbiAgQGluY2x1ZGUgZ2N3ZWItdHlwb2dyYXBoeS13ZWlnaHQtbm9ybWFsKCRpbXBvcnRhbnQ6IHRydWUpO1xyXG59XHJcblxyXG4uZ2N3ZWItdS1mb250LXdlaWdodC1ib2xkIHtcclxuICBAaW5jbHVkZSBnY3dlYi10eXBvZ3JhcGh5LXdlaWdodC1ib2xkKCRpbXBvcnRhbnQ6IHRydWUpO1xyXG59XHJcblxyXG4vKiBDb2xvdXJzXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogU2Vjb25kYXJ5IHRleHQgY29sb3VyICRnY3dlYi1zZWNvbmRhcnktdGV4dC1jb2xvclxyXG4gKiBlZyA8cCBjbGFzcz1cImdjd2ViLXUtc2Vjb25kYXJ5LXRleHQtY29sb3JcIj5QdWJsaXNoZWQgb246IDE1IE1hcmNoIDIwMTg8L3A+XHJcbiAqL1xyXG5cclxuLmdjd2ViLXUtc2Vjb25kYXJ5LXRleHQtY29sb3Ige1xyXG4gIGNvbG9yOiAkZ2N3ZWItc2Vjb25kYXJ5LXRleHQtY29sb3IgIWltcG9ydGFudDtcclxufVxyXG5cclxucCwgYSwgdWwsIGxpLCBhZGRyZXNzLCBhYmJye1xyXG4gIGZvbnQtZmFtaWx5OiAkZ2N3ZWItZm9udCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5oMSxoMixoMyxoNCxoNSxoNntmb250LWZhbWlseTogJGdjd2ViLWZvbnQtaGVhZGluZyAhaW1wb3J0YW50O31cclxuXHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFVUSUxJVElFUyAvICNWSVNVQUxMWS1ISURERU5cclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBIaWRlIGVsZW1lbnRzIHZpc3VhbGx5IGJ1dCBrZWVwIGl0IGluIHRoZSBET01cclxuICpcclxuICogVXNhZ2U6IGNsYXNzPVwiZ2N3ZWItdS12aXN1YWxseS1oaWRkZW5cIlxyXG4gKiBTZWUgdG9vbHMvbWl4aW5zXHJcbiAqL1xyXG5cclxuLmdjd2ViLXUtdmlzdWFsbHktaGlkZGVuIHtcclxuICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBVVElMSVRJRVMgLyAjV0lEVEhcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBPcmlnaW5hbCBjb2RlIHRha2VuIGZyb20gR0RTIChHb3Zlcm5tZW50IERpZ2l0YWwgU2VydmljZSlcclxuICogaHR0cHM6Ly9naXRodWIuY29tL2FscGhhZ292L2dvdnVrLWZyb250ZW5kXHJcbiAqIEZvcmNlIGVsZW1lbnQgd2lkdGhzIG9uIGFsbCBzY3JlZW4gc2l6ZXNcclxuICpcclxuICogVXNhZ2U6IGNsYXNzPVwiZ2N3ZWItdS13aWR0aC1mdWxsXCJcclxuICovXHJcblxyXG4vLyBVdGlsaXR5IGNsYXNzZXMgYXJlIGFsbG93ZWQgdG8gdXNlICFpbXBvcnRhbnQ7XHJcbi8vIHNvIHdlIGRpc2FibGUgdGhlIHNhc3MtbGludCBmb3IgdGhhdCBydWxlXHJcbi8vIHNhc3MtbGludDpkaXNhYmxlIG5vLWltcG9ydGFudFxyXG5cclxuLmdjd2ViLXUtd2lkdGgtZnVsbCB7XHJcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmdjd2ViLXUtd2lkdGgtdGhyZWUtcXVhcnRlcnMge1xyXG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcblxyXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpIHtcclxuICAgIHdpZHRoOiA3NSUgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi5nY3dlYi11LXdpZHRoLXR3by10aGlyZHMge1xyXG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcblxyXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpIHtcclxuICAgIHdpZHRoOiA2Ni42NiUgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi5nY3dlYi11LXdpZHRoLW9uZS1oYWxmIHtcclxuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG5cclxuICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KSB7XHJcbiAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4uZ2N3ZWItdS13aWR0aC1vbmUtdGhpcmQge1xyXG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcblxyXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpIHtcclxuICAgIHdpZHRoOiAzMy4zMyUgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi5nY3dlYi11LXdpZHRoLW9uZS1xdWFydGVyIHtcclxuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG5cclxuICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KSB7XHJcbiAgICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcbiIsIi8vIENvbW1vblxyXG4uY29jYy1oaWRkZW4ge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLy8gQmFubmVyXHJcbiNjb2NjLWJhbm5lciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xyXG59XHJcblxyXG4jY29jYy1iYW5uZXItY29uZmlybSBwLFxyXG4jY29jYy1iYW5uZXItY29uZmlybSBidXR0b24ge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxufVxyXG5cclxuLy8gUG9saWN5XHJcbi5jb2NjLXBvbGljeS1leHBpcmVzLWNvbHVtbi13aWR0aCB7XHJcbiAgICB3aWR0aDogMTIuNSUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLy8gUHJlZmVyZW5jZVxyXG4jY29jYy1wcmVmZXJlbmNlLXNhdmVkIHtcclxuICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMDY1NDRBO1xyXG59IiwiLmZsZXgtbmF2IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbn1cclxuXHJcbi5mbGV4LXJpZ2h0IHtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcclxufVxyXG5cclxuLmZsZXgtbGVmdCB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbi5nY3dlYi10b3BuYXYge1xyXG4gXHJcblxyXG4gICAgdWwge1xyXG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjRlbTtcclxuICAgIH1cclxuXHJcbiAgICBsaSBhIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogOHB4IDEwcHggOHB4IDEwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgZ2N3ZWItdHlwb2dyYXBoeS1yZXNwb25zaXZlKDE2KTtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZTtcclxuXHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRnY3dlYi1mb250ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgbGkge1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcblxyXG4gICAgICAgIGEge1xyXG5cclxuICAgICAgICAmOmZvY3Vze1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfZ2N3ZWIteWVsbG93O1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX2djd2ViLWJsYWNrICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjQpO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX2djd2ViLXdoaXRlO1xyXG4gICAgICAgICAgICAmOmZvY3Vze1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiBDaGFuZ2UgdGhlIGxpbmsgY29sb3IgdG8gIzExMSAoYmxhY2spIG9uIGhvdmVyICovXHJcbiAgICBsaSBhOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yX2djd2ViLXdoaXRlO1xyXG4gICAgfVxyXG5cclxuICAgIC5hY3RpdmUge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3JfZ2N3ZWItd2hpdGU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuXHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfZ2N3ZWItYmxhY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHVsLnJpZ2h0IHtcclxuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1xKCR1bnRpbDogbGFyZ2UtZGVza3RvcCkge1xyXG4gICAgLmdjd2ViLXRvcG5hdiB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbXEoJGZyb206IGxhcmdlLWRlc2t0b3ApIHtcclxuXHJcbiAgICAuZ2N3ZWItdG9wbmF2IHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxufSIsIi8vIENvbXBvbmVudDogSW5mb3BhbmVsXHJcblxyXG4uZ2N3ZWItcGFuZWwsIGJsb2NrcXVvdGUge1xyXG4gICAgcGFkZGluZzogMTVweDtcclxuICAgIEBpbmNsdWRlIGdjd2ViLWJvcmRlci1yYWRpdXM7XHJcbiAgICBtYXJnaW46MDtcclxuICAgIEBpbmNsdWRlIGdjd2ViLXJlc3BvbnNpdmUtbWFyZ2luKDUsICdib3R0b20nKTtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvcl9nY3dlYi1ncmV5LTU7XHJcblxyXG4gICAgcDpsYXN0LWNoaWxkIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmdjd2ViLXBhbmVsLXRpdGxlIHtcclxuICAgICAgICBAaW5jbHVkZSBnY3dlYi10eXBvZ3JhcGh5LXJlc3BvbnNpdmUoMTkpO1xyXG4gICAgICAgIEBpbmNsdWRlIGdjd2ViLXJlc3BvbnNpdmUtbWFyZ2luKDMsICdib3R0b20nKTtcclxuICAgIH1cclxuXHJcbiAgICBhLCBhOmxpbmssIGE6dmlzaXRlZCwgYTphY3RpdmV7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvcl9nY3dlYi1ibHVlO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZ2N3ZWItcGFuZWwtLWNvbG9yLCAuZ2N3ZWItcGFuZWwtLW9yYW5nZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3JfZ2N3ZWItb3JhbmdlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5nY3dlYi1wYW5lbC0tYmx1ZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkZ2N3ZWItdHdpdHRlci1ibHVlICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogJGNvbG9yX2djd2ViLWJsYWNrO1xyXG5cclxuICAgIGEsIGE6bGluaywgYTp2aXNpdGVkLCBhOmFjdGl2ZXt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lOyBjb2xvcjogJGNvbG9yX2djd2ViLWJsYWNrfVxyXG59XHJcblxyXG4uZ2N3ZWItcGFuZWwtLXB1cnBsZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3JfZ2N3ZWItZGFyay1waW5rIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiAkY29sb3JfZ2N3ZWItd2hpdGU7XHJcblxyXG4gICAgYSwgYTpsaW5rLCBhOnZpc2l0ZWQsIGE6YWN0aXZle3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7IGNvbG9yOiAkY29sb3JfZ2N3ZWItd2hpdGV9XHJcbiAgICBwe2NvbG9yOiAkY29sb3JfZ2N3ZWItd2hpdGUgIWltcG9ydGFudDt9XHJcbn1cclxuXHJcbi5nY3dlYi1wYW5lbC0tcmVkIHtcclxuICAgIGJvcmRlcjogNXB4IHNvbGlkICRjb2xvcl9nY3dlYi1yZWQhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2djd2ViLXBhbGUtcmVkICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogJGNvbG9yX2djd2ViLWJsYWNrO1xyXG5cclxuICAgICAgIGEsIGE6bGluaywgYTp2aXNpdGVkLCBhOmFjdGl2ZXt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lOyBjb2xvcjogJGNvbG9yX2djd2ViLWJsYWNrfVxyXG4gICAgcHtjb2xvcjogJGNvbG9yX2djd2ViLWJsYWNrICFpbXBvcnRhbnQ7fVxyXG59XHJcblxyXG4uZ2N3ZWItcGFuZWwtLXdoaXRlIHtcclxuICAgIGJvcmRlcjogNXB4IHNvbGlkICRjb2xvcl9nY3dlYi1ncmV5LTUgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZSFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogJGNvbG9yX2djd2ViLWJsYWNrO1xyXG4gICAgICAgYSwgYTpsaW5rLCBhOnZpc2l0ZWQsIGE6YWN0aXZle3RleHQtZGVjb3JhdGlvbjpub25lOyB9XHJcbiAgICBhOmhvdmVye3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7IGNvbG9yOiAkY29sb3JfZ2N3ZWItYmxhY2t9XHJcbiAgICBwe2NvbG9yOiAkY29sb3JfZ2N3ZWItYmxhY2sgIWltcG9ydGFudDt9XHJcbn1cclxuXHJcblxyXG4uZ2N3ZWItcGFuZWwtLXRyYWNrIHtcclxuICAgXHJcbiAgICBib3JkZXItYm90dG9tOiAxNXB4IHNvbGlkICRjb2xvcl9nY3dlYi1ncmV5LTUhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2djd2ViLXdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogJGNvbG9yX2djd2ViLWJsYWNrO1xyXG4gICAgcGFkZGluZzogMXJlbSAwcmVtIDByZW0gMHJlbTtcclxuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XHJcblxyXG4gICAgICAgYSwgYTpsaW5rLCBhOnZpc2l0ZWQsIGE6YWN0aXZle3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7IGNvbG9yOiAkY29sb3JfZ2N3ZWItYmxhY2t9XHJcbiAgICBwe2NvbG9yOiAkY29sb3JfZ2N3ZWItYmxhY2sgIWltcG9ydGFudDt9XHJcbn0iLCIuZ2N3ZWItYnV0dG9ue1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgYmFja2dyb3VuZDogJGdjd2ViLWJ1dHRvbi1jb2xvcjtcclxuICAgIGNvbG9yOiAkY29sb3JfZ2N3ZWItd2hpdGUgIWltcG9ydGFudDtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIGZvbnQtZmFtaWx5OiAkZ2N3ZWItZm9udCAhaW1wb3J0YW50O1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgbGluZWFyO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkZ2N3ZWItYnV0dG9uLWNvbG9yO1xyXG5cclxuICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogdGFibGV0KSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyLCAmOmFjdGl2ZSwgJjpmb2N1c3tcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkZ2N3ZWItYnV0dG9uLWhvdmVyLWNvbG9yOyAgXHJcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yX2djd2ViLXllbGxvdztcclxuICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbi5nY3dlYi1idXR0b24tLXNlY29uZGFyeXtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHBhZGRpbmc6IDEwcHggMjBweDtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgY29sb3I6ICRjb2xvcl9nY3dlYi1ibGFjayAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgZm9udC1mYW1pbHk6ICRnY3dlYi1mb250O1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgbGluZWFyO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkZ2N3ZWItYnV0dG9uLWNvbG9yO1xyXG5cclxuICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogdGFibGV0KSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyLCAmOmFjdGl2ZSwgJjpmb2N1c3tcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkZ2N3ZWItYnV0dG9uLWhvdmVyLWNvbG9yOyAgIFxyXG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvcl9nY3dlYi15ZWxsb3c7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuLmdjd2ViLWJ1dHRvbl9vcmFuZ2V7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3JfZ2N3ZWItb3JhbmdlO1xyXG4gICAgY29sb3I6ICRjb2xvcl9nY3dlYi1ibGFjayAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgZm9udC1mYW1pbHk6ICRnY3dlYi1mb250O1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgbGluZWFyO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3JfZ2N3ZWItb3JhbmdlO1xyXG5cclxuICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogdGFibGV0KSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyLCAmOmFjdGl2ZSwgJjpmb2N1c3tcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkZ2N3ZWItYnV0dG9uLWhvdmVyLWNvbG9yOyAgIFxyXG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvcl9nY3dlYi15ZWxsb3c7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5nY3dlYi1idXR0b24tLXdoaXRle1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yX2djd2ViLXdoaXRlO1xyXG4gICAgY29sb3I6ICRjb2xvcl9nY3dlYi1ibGFjayAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgZm9udC1mYW1pbHk6ICRnY3dlYi1mb250O1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgbGluZWFyO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3JfZ2N3ZWItd2hpdGU7XHJcblxyXG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiB0YWJsZXQpIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIsICY6YWN0aXZlLCAmOmZvY3Vze1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRnY3dlYi1idXR0b24taG92ZXItY29sb3I7ICAgXHJcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yX2djd2ViLXllbGxvdztcclxuICAgICAgICBjb2xvcjogJGNvbG9yX2djd2ViLXdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi5nY3dlYi1oZXJve1xyXG4gICAgLmdjd2ViLWJ1dHRvbi0tc2Vjb25kYXJ5e1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICBmb250LWZhbWlseTogJGdjd2ViLWZvbnQ7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBsaW5lYXI7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yX2djd2ViLXdoaXRlO1xyXG4gICAgXHJcbiAgICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiB0YWJsZXQpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgJjpob3ZlciwgJjphY3RpdmUsICY6Zm9jdXN7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRnY3dlYi1idXR0b24taG92ZXItY29sb3I7ICAgXHJcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvcl9nY3dlYi15ZWxsb3c7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfZ2N3ZWItd2hpdGUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDT01QT05FTlRTIC8gI0hFQURFUlxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIFRoZSBiZWhhdmlvdXIgd2l0aCByZWdhcmRzIHRvIHJlc3BvbnNpdmVuZXNzIGlzIGFzIGZvbGxvdzpcclxuICpcclxuICogLSBNb2JpbGUgdG8gdGFibGV0IHZpZXdcclxuICogICBNZW51IHRvZ2dsZSBidXR0b24gdmlzaWJsZSBhbmQgbmF2aWdhdGlvbiBsaW5rcyBoaWRkZW4sIHNlYXJjaCB0b2dnbGVcclxuICAgICBidXR0b24gdmlzaWJsZSBhbmQgc2VhcmNoIGZvcm0gaGlkZGVuXHJcbiAqXHJcbiAqIC0gVGFibGV0IHRvIGRlc2t0b3Agdmlld1xyXG4gKiAgIE1lbnUgdG9nZ2xlIGJ1dHRvbiB2aXNpYmxlIGFuZCBuYXZpZ2F0aW9uIGxpbmtzIGhpZGRlbiwgc2VhcmNoIHRvZ2dsZVxyXG4gKiAgIGJ1dHRvbiBoaWRkZW4gYW5kIHNlYXJjaCBmb3JtIHZpc2libGVcclxuICpcclxuICogLSBEZXNrdG9wKyB2aWV3XHJcbiAqICAgTWVudSB0b2dnbGUgYnV0dG9uIGhpZGRlbiBhbmQgbmF2aWdhdGlvbiBsaW5rcyB2aXNpYmxlLCBzZWFyY2ggdG9nZ2xlXHJcbiAqICAgYnV0dG9uIGhpZGRlbiBhbmQgc2VhcmNoIGZvcm0gdmlzaWJsZVxyXG4gKlxyXG4gKiAxLiBDdXN0b20gaGVpZ2h0IGFuZCB3aWR0aCBvZiB0aGUgbG9nb1xyXG4gKiAyLiBDdXN0b20gaGVpZ2h0IGFuZCB3aWR0aCBvZiBmb3JtIGl0ZW1zXHJcbiAqIDMuIEN1c3RvbSBoZWlnaHQgYW5kIHdpZHRoIG9mIHN2ZyBpY29uc1xyXG4gKiA0LiBSZW1vdmUgaW5uZXIgYm9yZGVyIG9uIGJ1dHRvbnMgZm9yIEZpcmVmb3gsIHNlZVxyXG4gKiAgICBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzL2lzc3Vlcy8zOTNcclxuICogNS4gUHJvcHJpZXRhcnkgZXh0ZW5zaW9uIHNvIGZvcm0gZmllbGQgbG9va3MgdGhlIHNhbWUgaW4gU2FmYXJpXHJcbiAqIDYuIE5lZWRzICFpbXBvcnRhbnQgYmVjYXVzZSB0eXBlYWhlYWQganMgYWRkcyBpbmxpbmUgc3R5bGluZyBzbyBuZWVkIHRvXHJcbiAqICAgIG92ZXJyaWRlXHJcbiAqIDcuIEN1c3RvbSBzcGFjaW5nIHRvIHBvc2l0aW9uIHRoZSBzZWFyY2ggaWNvblxyXG4gKiA4LiBEcm9wIHNoYWRvdyBvbiBzZWFyY2ggc3VnZ2VzdGlvbnMgZG9wZG93biBib3gsIGN1c3RvbSBzcHJlYWQgYW5kIGJsdXJcclxuICogOS4gTm8gY3VycmVudCBzcGFjaW5nIGF0IDEycHggc28gdXNpbmcgdGhpcyB2YWx1ZVxyXG4gKiAxMC4gWi1pbmRleCB0byBicmluZyB0aGUgZHJvcGRvd24gdG8gdGhlIGZyb250XHJcbiAqIDExLiBDdXN0b20gbWFyZ2luIHRvIG1vdmUgbWVudSB0b2dnbGUgcGFzdCB0aGUgc2VhcmNoIHRvZ2dsZSBidXR0b25cclxuICogMTIuIEN1c3RvbSBib3JkZXIgdmFsdWUgYmV0d2VlbiBleHBhbmRlZCBzZWFyY2ggYW5kIGV4cGFuZGVkIG1lbnUgaWYgYm90aCBvcGVuIGF0IHRoZSBzYW1lIHRpbWVcclxuICogMTMuIERvbid0IGRpc3BsYXkgdGhlIGxpbmsgYWRkcmVzcyBmb3IgdGhlIGxvZ28gYW5jaG9yLCBzZWVcclxuICogICAgIGNvcmUvZWxlbWVudHMvX2xpbmtzLnNjc3NcclxuICogMTQuIElFIDEwIHByZWZpeCBmb3IgZmxleGJveFxyXG4gKiAxNS4gSUUgOSBhbHRlcm5hdGl2ZSBmb3IgZmxleGJveFxyXG4gKiAxNi4gVXNlIG5vbiB2YXJpYWJsZSBjb2xvdXIgdG8gZm9sbG93IE5IUyBFbmdsYW5kIGd1aWRlbGluZXMgb24gbG9nbyBjb2xvdXJcclxuICogMTcuIE9uIHByaW50IHN0eWxlc2hlZXRzIHJlbW92ZSB0aGUgaGVhZGVyIGxpbmtcclxuICogMTguIFJlbW92ZSByYW5kb20gdG9wIG1hcmdpbiBpbiBTYWZhcmlcclxuICovXHJcblxyXG5AaW1wb3J0IFwic3BhY2luZ1wiO1xyXG5AaW1wb3J0IFwiYXV0b2NvbXBsZXRlXCI7XHJcblxyXG4uZ2N3ZWItaGVhZGVyIHtcclxuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xyXG59XHJcblxyXG4uZ2N3ZWItaGVhZGVyX19jb250YWluZXIge1xyXG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XHJcblxyXG4gIHBhZGRpbmctdG9wOiAyMHB4ICFpbXBvcnRhbnQ7XHJcbiAgcGFkZGluZy1ib3R0b206IDE1cHggIWltcG9ydGFudDtcclxuXHJcbn1cclxuXHJcblxyXG4uZ2N3ZWItaGVhZGVyX19sb2dvIHtcclxuICBmbG9hdDogbGVmdDtcclxuXHJcbiAgLmdjd2ViLWxvZ29fX2JhY2tncm91bmQge1xyXG4gICAgZmlsbDogJGNvbG9yX2djd2ViLXdoaXRlO1xyXG5cclxuICAgIEBpbmNsdWRlIG1xKCRtZWRpYS10eXBlOiBwcmludCkge1xyXG4gICAgICBmaWxsOiAkY29sb3JfZ2N3ZWItYmx1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5nY3dlYi1sb2dvX190ZXh0IHtcclxuICAgIGZpbGw6ICRjb2xvcl9nY3dlYi1ibHVlO1xyXG5cclxuICAgIEBpbmNsdWRlIG1xKCRtZWRpYS10eXBlOiBwcmludCkge1xyXG4gICAgICBmaWxsOiAkY29sb3JfZ2N3ZWItd2hpdGU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KSB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG4gIH1cclxuXHJcbiAgLmdjd2ViLWxvZ28ge1xyXG4gICAgQGluY2x1ZGUgZ2N3ZWItbG9nby1zaXplO1xyXG4gICAgLyogWzFdICovXHJcbiAgICBib3JkZXI6IDA7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtcSgkdW50aWw6IGRlc2t0b3ApIHtcclxuICAgIG1heC13aWR0aDogNjAlO1xyXG4gIH1cclxuXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ1MHB4KSB7XHJcbiAgICBtYXgtd2lkdGg6IDUwJTtcclxuICB9XHJcblxyXG59XHJcblxyXG4uZ2N3ZWItaGVhZGVyX19saW5rIHtcclxuICBpbWcge1xyXG4gICAgd2lkdGg6IDIyMHB4O1xyXG4gIH1cclxuXHJcblxyXG5cclxuICBAaW5jbHVkZSBtcSgkdW50aWw6IHRhYmxldCkge1xyXG4gICAgaW1nIHtcclxuICAgICAgd2lkdGg6IDE1MHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICAuZ2N3ZWItbG9nbyB7XHJcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRnY3dlYi1mb2N1cy13aWR0aDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICY6Zm9jdXMge1xyXG4gICAgLmdjd2ViLWxvZ28ge1xyXG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAkY29sb3JfZ2N3ZWIteWVsbG93O1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAuZ2N3ZWItbG9nbyB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGdjd2ViLWZvY3VzLXdpZHRoICRjb2xvcl9nY3dlYi15ZWxsb3c7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1xKCRtZWRpYS10eXBlOiBwcmludCkge1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAvKiBbMTddICovXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmOmhvdmVyLFxyXG4gICY6YWN0aXZlLFxyXG4gICY6Zm9jdXMge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4uZ2N3ZWItaGVhZGVyX19jb250ZW50IHtcclxuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xyXG4gIEBpbmNsdWRlIHByaW50LWhpZGUoKTtcclxuXHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAmLmpzLXNob3cge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRjb2xvcl9nY3dlYi1ncmV5LTU7XHJcbiAgICAvKiBbMTJdICovXHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KSB7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcblxyXG4gICAgJi5qcy1zaG93IHtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxufVxyXG5cclxuLmdjd2ViLWhlYWRlcl9fc2VhcmNoIHtcclxuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xyXG5cclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcblxyXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpIHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgbWFyZ2luLWxlZnQ6IGdjd2ViLXNwYWNpbmcoMik7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuLmdjd2ViLWhlYWRlcl9fc2VhcmNoLXRvZ2dsZSB7XHJcbiAgQGluY2x1ZGUgdG9nZ2xlLWJ1dHRvbigpO1xyXG4gIG1pbi1oZWlnaHQ6IGdjd2ViLXNwYWNpbmcoNik7XHJcbiAgLyogWzJdICovXHJcbiAgcGFkZGluZzogZ2N3ZWItc3BhY2luZygxKSBnY3dlYi1zcGFjaW5nKDIpIDA7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHRvcDogMDtcclxuXHJcbiAgLmdjd2ViLWljb25fX3NlYXJjaCB7XHJcbiAgICBmaWxsOiAkY29sb3JfZ2N3ZWItd2hpdGU7XHJcbiAgICBoZWlnaHQ6IDIxcHg7XHJcbiAgICAvKiBbM10gKi9cclxuICAgIHdpZHRoOiAyMXB4O1xyXG4gICAgLyogWzNdICovXHJcbiAgfVxyXG5cclxuICAmOmZvY3VzIHtcclxuICAgIEBpbmNsdWRlIGdjd2ViLWZvY3VzZWQtYnV0dG9uKCk7XHJcbiAgICBib3gtc2hhZG93OiBub25lO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbi5nY3dlYi1oZWFkZXJfX3NlYXJjaC1mb3JtIHtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbn1cclxuXHJcblxyXG5AaW5jbHVkZSBtcSgkdW50aWw6IHRhYmxldCkge1xyXG5cclxuXHJcbiAgLmdjd2ViLWhlYWRlcl9fY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogMDtcclxuICB9XHJcblxyXG4gIC5nY3dlYi1oZWFkZXJfX2xvZ28ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMTtcclxuICB9XHJcblxyXG4gIC5nY3dlYi1oZWFkZXJfX3NlYXJjaC13cmFwIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAgJi5qcy1zaG93IHtcclxuICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xyXG4gICAgICAvKiBbMTRdICovXHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcclxuICAgICAgbWFyZ2luLWJvdHRvbTogLTIwcHg7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMTZweDtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAtMTZweDtcclxuICAgICAgcGFkZGluZy10b3A6IDE2cHg7XHJcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZ2N3ZWItaGVhZGVyX19zZWFyY2gtZm9ybSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfZ2N3ZWItd2hpdGU7XHJcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcclxuICAgIC8qIFsxNF0gKi9cclxuICAgIGRpc3BsYXk6IGZsZXg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcclxuICAgIHBhZGRpbmc6IGdjd2ViLXNwYWNpbmcoMyk7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG4gIC5nY3dlYi1zZWFyY2hfX2lucHV0IHtcclxuICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAyO1xyXG4gICAgLyogWzE0XSAqL1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBsaXN0Ym94OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHByZWZpeGVzIC8qIFs1XSAqL1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2djd2ViLXdoaXRlICFpbXBvcnRhbnQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taW1wb3J0YW50IC8qIFs2XSAqL1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvcl9nY3dlYi1ncmV5LTM7XHJcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkZ2N3ZWItYm9yZGVyLXJhZGl1cztcclxuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xyXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkY29sb3JfZ2N3ZWItZ3JleS0zO1xyXG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvcl9nY3dlYi1ncmV5LTM7XHJcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkZ2N3ZWItYm9yZGVyLXJhZGl1cztcclxuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xyXG4gICAgZmxleC1ncm93OiAyO1xyXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xyXG4gICAgaGVpZ2h0OiA1MnB4O1xyXG4gICAgLyogWzJdICovXHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgcGFkZGluZzogMCBnY3dlYi1zcGFjaW5nKDMpO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICAvKiBbMl0gKi9cclxuXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgJGdjd2ViLWJveC1zaGFkb3ctc3ByZWFkICRjb2xvcl9nY3dlYi1ibGFjaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5nY3dlYi1zZWFyY2hfX3N1Ym1pdCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfZ2N3ZWItZ3JlZW47XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xyXG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRnY3dlYi1ib3JkZXItcmFkaXVzO1xyXG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcclxuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkZ2N3ZWItYm9yZGVyLXJhZGl1cztcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuICAgIGhlaWdodDogNTJweDtcclxuICAgIC8qIFsyXSAqL1xyXG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgcGFkZGluZzogZ2N3ZWItc3BhY2luZygyKSBnY3dlYi1zcGFjaW5nKDIpIDA7XHJcblxyXG4gICAgLmdjd2ViLWljb25fX3NlYXJjaCB7XHJcbiAgICAgIGZpbGw6ICRjb2xvcl9nY3dlYi13aGl0ZTtcclxuICAgICAgaGVpZ2h0OiAzOHB4O1xyXG4gICAgICAvKiBbM10gKi9cclxuICAgICAgd2lkdGg6IDM4cHg7XHJcbiAgICAgIC8qIFszXSAqL1xyXG4gICAgfVxyXG5cclxuICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xyXG4gICAgICBib3JkZXI6IDA7XHJcbiAgICAgIC8qIFs0XSAqL1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ2N3ZWItYnV0dG9uLWhvdmVyLWNvbG9yO1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRnY3dlYi1mb2N1cy1jb2xvcjtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogJGdjd2ViLWZvY3VzLXdpZHRoIHNvbGlkICRnY3dlYi1mb2N1cy10ZXh0LWNvbG9yO1xyXG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAkZ2N3ZWItZm9jdXMtd2lkdGggJGdjd2ViLWZvY3VzLWNvbG9yO1xyXG4gICAgICBvdXRsaW5lOiAkZ2N3ZWItZm9jdXMtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAkZ2N3ZWItZm9jdXMtd2lkdGg7XHJcblxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ2N3ZWItZm9jdXMtY29sb3I7XHJcblxyXG4gICAgICAgIC5nY3dlYi1pY29uIHtcclxuICAgICAgICAgIGZpbGw6ICRnY3dlYi1mb2N1cy10ZXh0LWNvbG9yO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmdjd2ViLWljb24ge1xyXG4gICAgICAgIGZpbGw6ICRnY3dlYi1mb2N1cy10ZXh0LWNvbG9yO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ2N3ZWItYnV0dG9uLWFjdGl2ZS1jb2xvcjtcclxuXHJcbiAgICAgIC5nY3dlYi1pY29uIHtcclxuICAgICAgICBmaWxsOiAkY29sb3JfZ2N3ZWItd2hpdGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICAuZ2N3ZWItc2VhcmNoX19jbG9zZSB7XHJcbiAgICBAaW5jbHVkZSBjbG9zZS1idXR0b24oKTtcclxuXHJcbiAgICBtYXJnaW4tbGVmdDogZ2N3ZWItc3BhY2luZygzKTtcclxuICAgIG1hcmdpbi10b3A6IGdjd2ViLXNwYWNpbmcoMik7XHJcblxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgIC5nY3dlYi1pY29uX19jbG9zZSB7XHJcbiAgICAgICAgZmlsbDogJGdjd2ViLWZvY3VzLXRleHQtY29sb3I7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcblxyXG5cclxuQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCkge1xyXG5cclxuXHJcbiAgLmdjd2ViLWhlYWRlcl9fc2VhcmNoLXdyYXAge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBsaW5lLWhlaWdodDogMDtcclxuICB9XHJcblxyXG4gIC5nY3dlYi1oZWFkZXJfX3NlYXJjaC10b2dnbGUge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gIC5nY3dlYi1zZWFyY2hfX2lucHV0IHtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbGlzdGJveDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBwcmVmaXhlcyAvKiBbNV0gKi9cclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZSAhaW1wb3J0YW50OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWltcG9ydGFudCAvKiBbNl0gKi9cclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9nY3dlYi13aGl0ZTtcclxuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRnY3dlYi1ib3JkZXItcmFkaXVzO1xyXG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XHJcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkZ2N3ZWItYm9yZGVyLXJhZGl1cztcclxuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIGZvbnQtc2l6ZTogJGdjd2ViLWJhc2UtZm9udC1zaXplO1xyXG4gICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgcGFkZGluZzogMCAxMnB4O1xyXG4gICAgLyogWzldICovXHJcbiAgICB3aWR0aDogMjAwcHg7XHJcbiAgICAvKiBbMl0gKi9cclxuXHJcbiAgICAmOjpwbGFjZWhvbGRlciB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3JfZ2N3ZWItZ3JleS0yO1xyXG4gICAgICBmb250LXNpemU6ICRnY3dlYi1iYXNlLWZvbnQtc2l6ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5nY3dlYi1zZWFyY2hfX3N1Ym1pdCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfZ2N3ZWItZ3JleS01O1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcclxuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkZ2N3ZWItYm9yZGVyLXJhZGl1cztcclxuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XHJcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGdjd2ViLWJvcmRlci1yYWRpdXM7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuICAgIGhlaWdodDogNDBweDtcclxuICAgIC8qIFsyXSAqL1xyXG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgcGFkZGluZy1sZWZ0OiA5cHg7XHJcbiAgICAvKiBbN10gKi9cclxuICAgIHBhZGRpbmctdG9wOiAycHg7XHJcbiAgICAvKiBbN10gKi9cclxuICAgIHdpZHRoOiA0NHB4O1xyXG4gICAgLyogWzJdICovXHJcblxyXG4gICAgLmdjd2ViLWljb25fX3NlYXJjaCB7XHJcbiAgICAgIGhlaWdodDogMjdweDtcclxuICAgICAgLyogWzNdICovXHJcbiAgICAgIHdpZHRoOiAyN3B4O1xyXG4gICAgICAvKiBbM10gKi9cclxuICAgIH1cclxuXHJcbiAgICAmOjotbW96LWZvY3VzLWlubmVyIHtcclxuICAgICAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcclxuICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAvKiBbNF0gKi9cclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2djd2ViLWJsYWNrO1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgICAuZ2N3ZWItaWNvbl9fc2VhcmNoIHtcclxuICAgICAgICBmaWxsOiAkY29sb3JfZ2N3ZWItd2hpdGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgQGluY2x1ZGUgZ2N3ZWItZm9jdXNlZC1idXR0b24oKTtcclxuXHJcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfZ2N3ZWItYmxhY2s7XHJcbiAgICAgIGJvcmRlcjogMDtcclxuXHJcbiAgICAgIC5nY3dlYi1pY29uX19zZWFyY2gge1xyXG4gICAgICAgIGZpbGw6ICRjb2xvcl9nY3dlYi13aGl0ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIC5nY3dlYi1zZWFyY2hfX2Nsb3NlIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuXHJcblxyXG4uZ2N3ZWItc2VhcmNoX19pbnB1dC0td2l0aGRyb3Bkb3duIHtcclxuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xyXG59XHJcblxyXG4uZ2N3ZWItc2VhcmNoX19zdWJtaXQtLXdpdGhkcm9wZG93biB7XHJcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKSB7XHJcbiAgLmdjd2ViLXNlYXJjaF9faW5wdXQge1xyXG4gICAgd2lkdGg6IDIzNXB4O1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qIE1haW4gbmF2aWdhdGlvblxyXG4gICAqXHJcbiAgICogQXBwZWFycyBiZWxvdyB0aGUgaGVhZGVyIHN0cmlwXHJcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuXHJcblxyXG5cclxuLmdjd2ViLWhlYWRlcl9fbWVudSB7XHJcbiAgZmxvYXQ6IHJpZ2h0O1xyXG5cclxuICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KSB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICB9XHJcbn1cclxuXHJcblxyXG4uZ2N3ZWItaGVhZGVyX19tZW51LXRvZ2dsZSB7XHJcbiAgQGluY2x1ZGUgdG9nZ2xlLWJ1dHRvbigpO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGZvbnQtc2l6ZTogMTZweDtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG4gIGxpbmUtaGVpZ2h0OiAkZ2N3ZWItYmFzZS1saW5lLWhlaWdodDtcclxuICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgLyogWzExXSAqL1xyXG4gIHBhZGRpbmc6IDdweCBnY3dlYi1zcGFjaW5nKDMpO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgei1pbmRleDogMTtcclxuXHJcbiAgQGluY2x1ZGUgbXEoJHVudGlsOiBkZXNrdG9wKSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAvKiBbMTFdICovXHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtcSgkdW50aWw6IHRhYmxldCkge1xyXG4gICAgcmlnaHQ6IDQ4cHg7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0LCAkdW50aWw6IGxhcmdlLWRlc2t0b3ApIHtcclxuICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAvKiBbMThdICovXHJcbiAgfVxyXG5cclxuICAmOmZvY3VzIHtcclxuICAgIEBpbmNsdWRlIGdjd2ViLWZvY3VzZWQtYnV0dG9uO1xyXG5cclxuICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuLyogJ29ubHknIG1vZGlmaWVyIGZvciB3aGVuIHRoZXJlIGlzIG9ubHkgdGhlIG1lbnUgaW4gdGhlIGhlYWRlciwgbm8gc2VhcmNoXHJcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmdjd2ViLWhlYWRlcl9fbWVudS0tb25seSB7XHJcbiAgLmdjd2ViLWhlYWRlcl9fbWVudS10b2dnbGUge1xyXG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiB0YWJsZXQpIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICByaWdodDogYXV0bztcclxuICAgICAgdG9wOiBhdXRvO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmdjd2ViLWhlYWRlcl9fbmF2aWdhdGlvbiB7XHJcbiAgQGluY2x1ZGUgcHJpbnQtaGlkZSgpO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZTtcclxuICBjbGVhcjogYm90aDtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICYuanMtc2hvdyB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxhcmdlLWRlc2t0b3ApIHtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRjb2xvcl9nY3dlYi1ncmV5LTU7XHJcbiAgICAgIC8qIFsxMl0gKi9cclxuICAgICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICRjb2xvcl9nY3dlYi1ncmV5LTU7XHJcbiAgICAgIC8qIFsxMl0gKi9cclxuXHJcbiAgICAgIC5nY3dlYi13aWR0aC1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbjogMCBnY3dlYi1zcGFjaW5nKDMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiBkZXNrdG9wKSB7XHJcbiAgICAgIC5nY3dlYi13aWR0aC1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuXHJcbi5nY3dlYi1oZWFkZXJfX25hdmlnYXRpb24tdGl0bGUge1xyXG4gIGZvbnQtd2VpZ2h0OiAkZ2N3ZWItZm9udC1ib2xkO1xyXG4gIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgcGFkZGluZzogZ2N3ZWItc3BhY2luZygzKTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5nY3dlYi1oZWFkZXJfX25hdmlnYXRpb24tY2xvc2Uge1xyXG4gIEBpbmNsdWRlIGNsb3NlLWJ1dHRvbigpO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHJpZ2h0OiBnY3dlYi1zcGFjaW5nKDMpO1xyXG4gIHRvcDogZ2N3ZWItc3BhY2luZygyKTtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cclxuICAmOmZvY3VzIHtcclxuICAgIC5nY3dlYi1pY29uX19jbG9zZSB7XHJcbiAgICAgIGZpbGw6ICRnY3dlYi1mb2N1cy10ZXh0LWNvbG9yO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmdjd2ViLWhlYWRlcl9fbmF2aWdhdGlvbi1saXN0IHtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nLWxlZnQ6IDA7XHJcbn1cclxuXHJcbi5nY3dlYi1oZWFkZXJfX25hdmlnYXRpb24taXRlbSB7XHJcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvcl9nY3dlYi1ncmV5LTU7XHJcbiAgbWFyZ2luLWJvdHRvbTogMDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5nY3dlYi1oZWFkZXJfX25hdmlnYXRpb24tbGluayB7XHJcbiAgQGluY2x1ZGUgZ2N3ZWItZm9udCgxOCk7XHJcbiAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlci10b3A6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBwYWRkaW5nOiA4cHggMTJweDtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblxyXG4gIC5nY3dlYi1pY29uX19jaGV2cm9uLXJpZ2h0IHtcclxuICAgIGZpbGw6ICRjb2xvcl9nY3dlYi1ncmV5LTM7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogZ2N3ZWItc3BhY2luZygxKTtcclxuICAgIHRvcDogNHB4O1xyXG4gICAgaGVpZ2h0OiA0MnB4O1xyXG4gIH1cclxuXHJcblxyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblxyXG4gICAgLmdjd2ViLWljb25fX2NoZXZyb24tcmlnaHQge1xyXG4gICAgICBmaWxsOiAkY29sb3JfZ2N3ZWItd2hpdGU7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgJjphY3RpdmUsXHJcbiAgJjpmb2N1cyB7XHJcbiAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgJGdjd2ViLWZvY3VzLWNvbG9yO1xyXG4gICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgIG91dGxpbmU6ICRnY3dlYi1mb2N1cy13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIG91dGxpbmUtb2Zmc2V0OiAkZ2N3ZWItZm9jdXMtd2lkdGg7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblxyXG5cclxuICB9XHJcblxyXG59XHJcblxyXG4vKipcclxuICAgKiBMYXJnZSBkZXNrdG9wIHN0eWxlc1xyXG4gICoqL1xyXG5cclxuQGluY2x1ZGUgbXEoJGZyb206IGxhcmdlLWRlc2t0b3ApIHtcclxuXHJcbiAgLmdjd2ViLWhlYWRlcl9fbWVudS10b2dnbGUge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gIC5nY3dlYi1oZWFkZXJfX25hdmlnYXRpb24tdGl0bGUge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gIC5nY3dlYi1oZWFkZXJfX25hdmlnYXRpb24taXRlbS0tZm9yLW1vYmlsZSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuXHJcbiAgLmdjd2ViLWhlYWRlcl9fbmF2aWdhdGlvbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfZ2N3ZWItYmx1ZTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBtYXgtd2lkdGg6ICRnY3dlYi1wYWdlLXdpZHRoO1xyXG4gIH1cclxuXHJcbiAgLmdjd2ViLWhlYWRlcl9fbmF2aWdhdGlvbi1saXN0IHtcclxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ2N3ZWItc2Vjb25kYXJ5LWJvcmRlci1jb2xvcjtcclxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xyXG4gICAgLyogWzE0XSAqL1xyXG4gICAgZGlzcGxheTogZmxleDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1kdXBsaWNhdGUtcHJvcGVydGllc1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuXHJcbiAgLmdjd2ViLWhlYWRlcl9fbmF2aWdhdGlvbi1saXN0LS1zbWFsbCB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgfVxyXG5cclxuICAuZ2N3ZWItaGVhZGVyX19uYXZpZ2F0aW9uLWl0ZW0ge1xyXG4gICAgYm9yZGVyLXRvcDogMDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAuZ2N3ZWItaWNvbl9fY2hldnJvbi1yaWdodCB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZ2N3ZWItaGVhZGVyX19uYXZpZ2F0aW9uLWxpbmsge1xyXG4gICAgY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZTtcclxuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcblxyXG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuXHJcbiAgICAmOmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OiAwcHg7fVxyXG4gIH1cclxuXHJcbn1cclxuXHJcbi8qKlxyXG4gICAqIEludGVybmV0IEV4cGxvcmVyID49IDkgc3BlY2lmaWMgc3R5bGVzXHJcbiAgICpcclxuICAgKiBUaGUgaGVhZGVyIGNvbXBvbmVudCBpcyB0aGUgb25seSBjb21wb25lbnQgdGhhdFxyXG4gICAqIHN1cHBvcnRzIGVhcmxpZXIgdmVyc2lvbiBvZiBJRS5cclxuICAgKiBUaGlzIGlzIGJlY2F1c2Ugb2YgdGhlIE5IUyBicmFuZGluZywgbmF2aWdhdGlvblxyXG4gICAqIGFuZCBzZWFyY2ggcHJvbWluZW5jZSBhY3Jvc3MgdGhlIHdlYnNpdGUuXHJcbiAgKiovXHJcblxyXG5cclxuLmllOCB7XHJcblxyXG4gIC5nY3dlYi1oZWFkZXJfX2xpbmsge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG5cclxuICAuZ2N3ZWItaGVhZGVyX19sb2dvLFxyXG4gIC5nY3dlYi1oZWFkZXJfX3RyYW5zYWN0aW9uYWwtc2VydmljZS1uYW1lIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9nY3dlYi1ibHVlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwYWRkaW5nOiBnY3dlYi1zcGFjaW5nKDIpIDAgZ2N3ZWItc3BhY2luZygyKSBnY3dlYi1zcGFjaW5nKDIpO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG5cclxuICAuZ2N3ZWItaGVhZGVyX190cmFuc2FjdGlvbmFsLXNlcnZpY2UtbmFtZSB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTJweDtcclxuICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gIH1cclxuXHJcbiAgLmdjd2ViLWhlYWRlcl9fc2VhcmNoIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9nY3dlYi1ibHVlO1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTJweDtcclxuICB9XHJcblxyXG4gIC5nY3dlYi1oZWFkZXJfX21lbnUtdG9nZ2xlLFxyXG4gIC5nY3dlYi1oZWFkZXJfX3NlYXJjaC10b2dnbGUsXHJcbiAgLmdjd2ViLXNlYXJjaF9fY2xvc2UsXHJcbiAgLmdjd2ViLWhlYWRlcl9fbmF2aWdhdGlvbi10aXRsZSxcclxuICAuZ2N3ZWItaGVhZGVyX19uYXZpZ2F0aW9uLWxpbmsgLmdjd2ViLWljb25fX2NoZXZyb24tcmlnaHQge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gIC5nY3dlYi1oZWFkZXJfX25hdmlnYXRpb24tbGlzdCB7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICB9XHJcblxyXG4gIC5nY3dlYi1oZWFkZXJfX25hdmlnYXRpb24taXRlbSB7XHJcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgLyogWzE1XSAqL1xyXG5cclxuICAgIGEge1xyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yX2djd2ViLWJsdWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5nY3dlYi1zZWFyY2hfX3N1Ym1pdCB7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB3aWR0aDogYXV0bztcclxuXHJcbiAgICAuZ2N3ZWItdS12aXN1YWxseS1oaWRkZW4ge1xyXG4gICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZ2N3ZWItaGVhZGVyX19uYXZpZ2F0aW9uIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbi5pZTkge1xyXG5cclxuICBAaW5jbHVkZSBtcSgkZnJvbTogbGFyZ2UtZGVza3RvcCkge1xyXG5cclxuICAgIC5nY3dlYi1oZWFkZXJfX25hdmlnYXRpb24tbGlzdCB7XHJcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgfVxyXG5cclxuICAgIC5nY3dlYi1oZWFkZXJfX25hdmlnYXRpb24taXRlbSB7XHJcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgLmdjd2ViLWhlYWRlcl9fc2VhcmNoLXdyYXAge1xyXG4gICAgLmpzLXNob3cge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcblxyXG4vKipcclxuICAgKiBUcmFuc2FjdGlvbmFsIEhlYWRlciB3aXRoIHNlcnZpY2UgbmFtZVxyXG4gICoqL1xyXG5cclxuLmdjd2ViLWhlYWRlcl9fdHJhbnNhY3Rpb25hbC1zZXJ2aWNlLW5hbWUge1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIHBhZGRpbmctbGVmdDogZ2N3ZWItc3BhY2luZygzKTtcclxuICBwYWRkaW5nLXRvcDogM3B4O1xyXG5cclxuICBAaW5jbHVkZSBtcSgkdW50aWw6IHRhYmxldCkge1xyXG4gICAgcGFkZGluZy10b3A6IGdjd2ViLXNwYWNpbmcoMSk7XHJcbiAgfVxyXG59XHJcblxyXG4uZ2N3ZWItaGVhZGVyX190cmFuc2FjdGlvbmFsLXNlcnZpY2UtbmFtZS0tbG9uZyB7XHJcblxyXG4gIEBpbmNsdWRlIG1xKCR1bnRpbDogbGFyZ2UtZGVza3RvcCkge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgcGFkZGluZy10b3A6IGdjd2ViLXNwYWNpbmcoMik7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG59XHJcblxyXG4uZ2N3ZWItaGVhZGVyX190cmFuc2FjdGlvbmFsLXNlcnZpY2UtbmFtZS0tbGluayB7XHJcbiAgQGluY2x1ZGUgZ2N3ZWItbGluay1zdHlsZS13aGl0ZTtcclxuICBAaW5jbHVkZSBnY3dlYi1mb250KDE5KTtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblxyXG4gICY6aG92ZXIge1xyXG4gICAgY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZTtcclxuICB9XHJcblxyXG4gICY6Zm9jdXMge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBjb2xvcjogJGdjd2ViLXRleHQtY29sb3I7XHJcbiAgICB9XHJcblxyXG4gIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcbi8vIEhlYWRlciAod2hpdGUpXHJcblxyXG4uZ2N3ZWItaGVhZGVyLS13aGl0ZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2djd2ViLXdoaXRlO1xyXG5cclxuICAuZ2N3ZWItaGVhZGVyX19saW5rIHtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAuZ2N3ZWItbG9nbyB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICY6Zm9jdXMge1xyXG4gICAgICAuZ2N3ZWItbG9nbyB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJGdjd2ViLWZvY3VzLXdpZHRoIDAgMCAwICRnY3dlYi1mb2N1cy1jb2xvciwgLSAkZ2N3ZWItZm9jdXMtd2lkdGggMCAwIDAgJGdjd2ViLWZvY3VzLWNvbG9yLCAwIC0gJGdjd2ViLWZvY3VzLXdpZHRoIDAgMCAkZ2N3ZWItZm9jdXMtY29sb3IsIDAgMCAwICRnY3dlYi1mb2N1cy13aWR0aCAkZ2N3ZWItZm9jdXMtY29sb3IsIDAgJGdjd2ViLWZvY3VzLXdpZHRoIDAgJGdjd2ViLWZvY3VzLXdpZHRoICRnY3dlYi1mb2N1cy10ZXh0LWNvbG9yO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgLmdjd2ViLXNlYXJjaF9fc3VibWl0IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9nY3dlYi1ibHVlO1xyXG5cclxuICAgIC5nY3dlYi1pY29uX19zZWFyY2gge1xyXG4gICAgICBmaWxsOiAkY29sb3JfZ2N3ZWItd2hpdGU7XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9nY3dlYi1ibHVlO1xyXG4gICAgfVxyXG5cclxuICAgICY6Zm9jdXMge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ2N3ZWItZm9jdXMtY29sb3I7XHJcblxyXG4gICAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KSB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdjd2ViLWZvY3VzLXRleHQtY29sb3I7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5nY3dlYi1pY29uX19zZWFyY2gge1xyXG4gICAgICAgIGZpbGw6ICRnY3dlYi1mb2N1cy10ZXh0LWNvbG9yO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYXV0b2NvbXBsZXRlX19pbnB1dCxcclxuICAuZ2N3ZWItc2VhcmNoX19pbnB1dCB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfZ2N3ZWItZ3JleS0zO1xyXG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xyXG5cclxuICAgICY6Zm9jdXMge1xyXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ2N3ZWItZm9jdXMtdGV4dC1jb2xvcjtcclxuXHJcbiAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogdGFibGV0KSB7XHJcbiAgICAgICAgYm9yZGVyOiAkZ2N3ZWItZm9jdXMtd2lkdGggc29saWQgJGdjd2ViLWZvY3VzLWNvbG9yO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZ2N3ZWItaGVhZGVyX19zZWFyY2gtdG9nZ2xlLFxyXG4gIC5nY3dlYi1oZWFkZXJfX21lbnUtdG9nZ2xlIHtcclxuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yX2djd2ViLWJsdWU7XHJcbiAgICBjb2xvcjogJGNvbG9yX2djd2ViLWJsdWU7XHJcblxyXG4gICAgLmdjd2ViLWljb24ge1xyXG4gICAgICBmaWxsOiAkY29sb3JfZ2N3ZWItYmx1ZTtcclxuICAgIH1cclxuXHJcbiAgICAmLmlzLWFjdGl2ZSxcclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfZ2N3ZWItYmx1ZTtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3JfZ2N3ZWItYmx1ZTtcclxuICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZTtcclxuXHJcbiAgICAgIC5nY3dlYi1pY29uIHtcclxuICAgICAgICBmaWxsOiAkY29sb3JfZ2N3ZWItd2hpdGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgQGluY2x1ZGUgZ2N3ZWItZm9jdXNlZC1idXR0b24oKTtcclxuXHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRnY3dlYi1mb2N1cy10ZXh0LWNvbG9yICFpbXBvcnRhbnQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taW1wb3J0YW50XHJcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZ2N3ZWItaGVhZGVyX19zZWFyY2gtZm9ybSB7XHJcbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IHRhYmxldCkge1xyXG4gICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5nY3dlYi1vcmdhbmlzYXRpb24tbmFtZSB7XHJcbiAgICBjb2xvcjogIzAwMDtcclxuICAgIC8qIFsxNl0gKi9cclxuICAgIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tY29sb3ItaGV4IG5vLWNvbG9yLWxpdGVyYWxzXHJcbiAgfVxyXG5cclxuICAuZ2N3ZWItb3JnYW5pc2F0aW9uLWRlc2NyaXB0b3Ige1xyXG4gICAgY29sb3I6ICRjb2xvcl9nY3dlYi1ibHVlO1xyXG4gIH1cclxuXHJcbiAgLmdjd2ViLWhlYWRlcl9fdHJhbnNhY3Rpb25hbC1zZXJ2aWNlLW5hbWUtLWxpbmsge1xyXG4gICAgY29sb3I6ICRjb2xvcl9nY3dlYi1ibGFjaztcclxuICB9XHJcblxyXG4gIC5nY3dlYi1oZWFkZXJfX25hdmlnYXRpb24tbGlzdCB7XHJcbiAgICBib3JkZXItdG9wOiAwO1xyXG4gIH1cclxuXHJcbiAgLmdjd2ViLWhlYWRlcl9fc2VydmljZS1uYW1lIHtcclxuICAgIGNvbG9yOiAkZ2N3ZWItdGV4dC1jb2xvcjtcclxuICB9XHJcblxyXG59XHJcblxyXG4uZ2N3ZWItaGVhZGVyLS1vcmdhbmlzYXRpb24uZ2N3ZWItaGVhZGVyLS13aGl0ZSB7XHJcbiAgLmdjd2ViLWhlYWRlcl9fbGluayB7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDAgMCAkY29sb3JfZ2N3ZWItYmx1ZTtcclxuICAgIH1cclxuXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgYm94LXNoYWRvdzogMCAkZ2N3ZWItZm9jdXMtd2lkdGggMCAwICRnY3dlYi1mb2N1cy10ZXh0LWNvbG9yO1xyXG5cclxuICAgICAgLmdjd2ViLWxvZ28ge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIE5hdmlnYXRpb24gKHdoaXRlKVxyXG5cclxuLmdjd2ViLWhlYWRlci0td2hpdGUtbmF2IHtcclxuICAuZ2N3ZWItaGVhZGVyX19uYXZpZ2F0aW9uIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZTtcclxuXHJcbiAgICAuZ2N3ZWItaGVhZGVyX19uYXZpZ2F0aW9uLWxpc3Qge1xyXG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yX2djd2ViLWdyZXktNDtcclxuICAgIH1cclxuXHJcbiAgICAuZ2N3ZWItaGVhZGVyX19uYXZpZ2F0aW9uLWxpbmsge1xyXG4gICAgICBjb2xvcjogJGNvbG9yX2djd2ViLWJsdWU7XHJcblxyXG4gICAgICAmOnZpc2l0ZWQge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3JfZ2N3ZWItYmx1ZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpob3ZlcixcclxuICAgICAgJjphY3RpdmUsXHJcbiAgICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgIGNvbG9yOiAkZ2N3ZWItZm9jdXMtdGV4dC1jb2xvcjtcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ2N3ZWItZm9jdXMtY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4uZ2N3ZWItaGVhZGVyIHtcclxuICBiYWNrZ3JvdW5kOiAkY29sb3JfZ2N3ZWItYmxhY2s7XHJcbn1cclxuXHJcblxyXG5cclxuLmdjd2ViLWhlYWRlcl9fbmF2aWdhdGlvbiB7XHJcbiAgY2xlYXI6IGJvdGg7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuICBvdmVyZmxvdzogaGlkZGVuXHJcbn1cclxuXHJcbkBtZWRpYSBwcmludCB7XHJcbiAgLmdjd2ViLWhlYWRlcl9fbmF2aWdhdGlvbiB7XHJcbiAgICBkaXNwbGF5OiBub25lXHJcbiAgfVxyXG59XHJcblxyXG4uZ2N3ZWItaGVhZGVyX19uYXZpZ2F0aW9uLmpzLXNob3cge1xyXG4gIGRpc3BsYXk6IGJsb2NrXHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOjYxLjg2NWVtKSB7XHJcbiAgLmdjd2ViLWhlYWRlcl9fbmF2aWdhdGlvbi5qcy1zaG93IHtcclxuICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjZjBmNGY1O1xyXG4gICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICNmMGY0ZjVcclxuICB9XHJcblxyXG4gIC5nY3dlYi1oZWFkZXJfX25hdmlnYXRpb24uanMtc2hvdyAuZ2N3ZWItd2lkdGgtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogMCAxNnB4XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDo0OC4wNTI1ZW0pIHtcclxuICAuZ2N3ZWItaGVhZGVyX19uYXZpZ2F0aW9uLmpzLXNob3cgLmdjd2ViLXdpZHRoLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW46IDBcclxuICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi5nY3dlYi1oZWFkZXJfX25hdmlnYXRpb24tdGl0bGUge1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgbWFyZ2luLWJvdHRvbTogMDtcclxuICBwYWRkaW5nOiAxNnB4O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcblxyXG4uZ2N3ZWItaGVhZGVyX19uYXZpZ2F0aW9uLWNsb3NlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICBib3JkZXI6IDA7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGhlaWdodDogNDBweDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIHdpZHRoOiA0MHB4O1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHJpZ2h0OiAxNnB4O1xyXG4gIHRvcDogOHB4O1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXBcclxufVxyXG5cclxuLmdjd2ViLWhlYWRlcl9fbmF2aWdhdGlvbi1jbG9zZSAuZ2N3ZWItaWNvbl9fY2xvc2Uge1xyXG4gIGZpbGw6ICNiMDAwMDA7XHJcbiAgaGVpZ2h0OiA0MHB4O1xyXG4gIHdpZHRoOiA0MHB4XHJcbn1cclxuXHJcbi5nY3dlYi1oZWFkZXJfX25hdmlnYXRpb24tY2xvc2U6Oi1tb3otZm9jdXMtaW5uZXIge1xyXG4gIGJvcmRlcjogMFxyXG59XHJcblxyXG4uZ2N3ZWItaGVhZGVyX19uYXZpZ2F0aW9uLWNsb3NlOmhvdmVyIC5nY3dlYi1pY29uX19jbG9zZSB7XHJcbiAgZmlsbDogIzNkNGU1YlxyXG59XHJcblxyXG4uZ2N3ZWItaGVhZGVyX19uYXZpZ2F0aW9uLWNsb3NlOmZvY3VzIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkVBNjIzO1xyXG4gIGJveC1zaGFkb3c6IDAgLTJweCAjRkVBNjIzLCAwIDRweCAjMjEyYjMyO1xyXG4gIGNvbG9yOiAjMjEyYjMyO1xyXG4gIG91dGxpbmU6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmVcclxufVxyXG5cclxuLmdjd2ViLWhlYWRlcl9fbmF2aWdhdGlvbi1jbG9zZTpmb2N1cyAuZ2N3ZWItaWNvbl9fY2xvc2Uge1xyXG4gIGZpbGw6ICMyMTJiMzJcclxufVxyXG5cclxuLmdjd2ViLWhlYWRlcl9fbmF2aWdhdGlvbi1saXN0IHtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nLWxlZnQ6IDA7XHJcbn1cclxuXHJcblxyXG5cclxuLmdjd2ViLWhlYWRlcl9fbmF2aWdhdGlvbi1pdGVtIHtcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuXHJcblxyXG5cclxuQG1lZGlhIHByaW50IHtcclxuICAuZ2N3ZWItaGVhZGVyX19uYXZpZ2F0aW9uLWxpbmsge1xyXG4gICAgZm9udC1zaXplOiAxNHB0O1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMlxyXG4gIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4uZ2N3ZWItaGVhZGVyX19uYXZpZ2F0aW9uLWFjdGl2ZSB7XHJcbiAgYm94LXNoYWRvdzogbm9uZTtcclxuICBjb2xvcjogJGNvbG9yX2djd2ViLWJsYWNrO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG59XHJcblxyXG4uZ2N3ZWItaGVhZGVyX19uYXZpZ2F0aW9uLWxpbms6aG92ZXIgLmdjd2ViLWljb25fX2NoZXZyb24tcmlnaHQge1xyXG4gIGZpbGw6ICRjb2xvcl9nY3dlYi1ibGFjaztcclxufVxyXG5cclxuXHJcblxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6NjEuODc1ZW0pIHtcclxuXHJcblxyXG4gIC5nY3dlYi1oZWFkZXJfX21lbnUtdG9nZ2xlIHtcclxuICAgIGRpc3BsYXk6IG5vbmVcclxuICB9XHJcblxyXG4gIC5nY3dlYi1oZWFkZXJfX25hdmlnYXRpb24tdGl0bGUge1xyXG4gICAgZGlzcGxheTogbm9uZVxyXG4gIH1cclxuXHJcbiAgLmdjd2ViLWhlYWRlcl9fbmF2aWdhdGlvbi1pdGVtLS1mb3ItbW9iaWxlIHtcclxuICAgIGRpc3BsYXk6IG5vbmVcclxuICB9XHJcblxyXG4gIC5nY3dlYi1oZWFkZXJfX25hdmlnYXRpb24ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuXHJcbiAgLmdjd2ViLWhlYWRlcl9fbmF2aWdhdGlvbi1saXN0IHtcclxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJvcmRlci10b3A6IDBweDtcclxuICAgIG1hcmdpbi10b3A6IDVweDtcclxuICB9XHJcblxyXG4gIC5nY3dlYi1oZWFkZXJfX25hdmlnYXRpb24tbGlzdC0tc21hbGwge1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZFxyXG4gIH1cclxuXHJcbiAgLmdjd2ViLWhlYWRlcl9fbmF2aWdhdGlvbi1pdGVtIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gIH1cclxuXHJcbiAgLmdjd2ViLWhlYWRlcl9fbmF2aWdhdGlvbi1pdGVtIC5nY3dlYi1pY29uX19jaGV2cm9uLXJpZ2h0IHtcclxuICAgIGRpc3BsYXk6IG5vbmVcclxuICB9XHJcblxyXG4gIC5nY3dlYi1oZWFkZXJfX25hdmlnYXRpb24tbGluayB7XHJcbiAgICBjb2xvcjogJGNvbG9yX2djd2ViLXdoaXRlO1xyXG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxuICAgIHBhZGRpbmc6IDhweCAxMnB4IDhweCAxMnB4O1xyXG4gICAgQGluY2x1ZGUgZ2N3ZWItdHlwb2dyYXBoeS1yZXNwb25zaXZlKDE2KTtcclxuXHJcbiAgfVxyXG5cclxuICAuZ2N3ZWItaGVhZGVyX19uYXZpZ2F0aW9uLWxpbms6YWN0aXZlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZTtcclxuICB9XHJcblxyXG4gIC8vIC5nY3dlYi1oZWFkZXJfX25hdmlnYXRpb24tbGluay5pcy1hY3RpdmUsXHJcbiAgLy8gLmdjd2ViLWhlYWRlcl9fbmF2aWdhdGlvbi1saW5rOmFjdGl2ZSxcclxuICAvLyAuZ2N3ZWItaGVhZGVyX19uYXZpZ2F0aW9uLWxpbms6aG92ZXIge1xyXG4gIC8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAvLyB9XHJcbn1cclxuXHJcblxyXG4uZ2N3ZWItaGVhZGVyX19saW5rIHtcclxuICAmOmZvY3VzIHtcclxuICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgJGNvbG9yX2djd2ViLXllbGxvdztcclxuICB9XHJcbn0iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyBTRVRUSU5HUyAvICNTUEFDSU5HXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG4vL1xyXG4vLyBTaW5nbGUgcG9pbnQgc3BhY2luZyB2YXJpYWJsZXNcclxuLy9cclxuLy8gT3JpZ2luYWwgY29kZSB0YWtlbiBmcm9tIEdEUyAoR292ZXJubWVudCBEaWdpdGFsIFNlcnZpY2UpXHJcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbHBoYWdvdi9nb3Z1ay1mcm9udGVuZFxyXG4vL1xyXG5cclxuJGdjd2ViLXNwYWNpbmctcG9pbnRzOiAoXHJcbiAgMDogMCxcclxuICAxOiAwLjI1cmVtLFxyXG4gIDI6IDAuNXJlbSxcclxuICAzOiAxcmVtLFxyXG4gIDQ6IDEuNXJlbSxcclxuICA1OiAycmVtLFxyXG4gIDY6IDIuMjVyZW0sXHJcbiAgNzogM3JlbSxcclxuICA4OiAzLjVyZW0sXHJcbiAgOTogNHJlbVxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gUmVzcG9uc2l2ZSBzcGFjaW5nIG1hcFxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuLy9cclxuLy8gVGhlc2UgZGVmaW5pdGlvbnMgYXJlIHVzZWQgdG8gZ2VuZXJhdGUgcmVzcG9uc2l2ZSBzcGFjaW5nIHRoYXQgYWRhcHRzXHJcbi8vIGFjY29yZGluZyB0byB0aGUgYnJlYWtwb2ludHMgKHNlZSAndG9vbHMvc3BhY2luZycpLiBUaGVzZSBtYXBzIHNob3VsZCBiZVxyXG4vLyB1c2VkIHdoZXJldmVyIHBvc3NpYmxlIHRvIHN0YW5kYXJkaXNlIHJlc3BvbnNpdmUgc3BhY2luZy5cclxuLy9cclxuLy8gWW91IGNhbiBkZWZpbmUgZGlmZmVyZW50IGJlaGF2aW91ciBvbiB0YWJsZXQgYW5kIGRlc2t0b3AuIFRoZSAnbnVsbCdcclxuLy8gYnJlYWtwb2ludCBpcyBmb3IgbW9iaWxlLlxyXG4vL1xyXG4vLyBBY2Nlc3MgcmVzcG9uc2l2ZSBzcGFjaW5nIHdpdGggYGdjd2ViLXJlc3BvbnNpdmUtbWFyZ2luYCBvclxyXG4vLyBgZ2N3ZWItcmVzcG9uc2l2ZS1wYWRkaW5nYCBtaXhpbnMuXHJcbi8vXHJcbi8vIE9yaWdpbmFsIGNvZGUgdGFrZW4gZnJvbSBHRFMgKEdvdmVybm1lbnQgRGlnaXRhbCBTZXJ2aWNlKVxyXG4vLyBodHRwczovL2dpdGh1Yi5jb20vYWxwaGFnb3YvZ292dWstZnJvbnRlbmRcclxuLy9cclxuXHJcbiRnY3dlYi1zcGFjaW5nLXJlc3BvbnNpdmUtc2NhbGU6IChcclxuICAwOiAoXHJcbiAgICBudWxsOiAwLFxyXG4gICAgdGFibGV0OiAwXHJcbiAgKSxcclxuICAxOiAoXHJcbiAgICBudWxsOiAwLjI1cmVtLFxyXG4gICAgdGFibGV0OiAwLjI1cmVtXHJcbiAgKSxcclxuICAyOiAoXHJcbiAgICBudWxsOiAwLjVyZW0sXHJcbiAgICB0YWJsZXQ6IDAuNXJlbVxyXG4gICksXHJcbiAgMzogKFxyXG4gICAgbnVsbDogMC41cmVtLFxyXG4gICAgdGFibGV0OiAxcmVtXHJcbiAgKSxcclxuICA0OiAoXHJcbiAgICBudWxsOiAxcmVtLFxyXG4gICAgdGFibGV0OiAxLjVyZW1cclxuICApLFxyXG4gIDU6IChcclxuICAgIG51bGw6IDEuNXJlbSxcclxuICAgIHRhYmxldDogMnJlbVxyXG4gICksXHJcbiAgNjogKFxyXG4gICAgbnVsbDogMnJlbSxcclxuICAgIHRhYmxldDogMi41cmVtXHJcbiAgKSxcclxuICA3OiAoXHJcbiAgICBudWxsOiAyLjVyZW0sXHJcbiAgICB0YWJsZXQ6IDNyZW1cclxuICApLFxyXG4gIDg6IChcclxuICAgIG51bGw6IDNyZW0sXHJcbiAgICB0YWJsZXQ6IDMuNXJlbVxyXG4gICksXHJcbiAgOTogKFxyXG4gICAgbnVsbDogMy41cmVtLFxyXG4gICAgdGFibGV0OiA0cmVtXHJcbiAgKVxyXG4pICFkZWZhdWx0O1xyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDT01QT05FTlRTIC8gI0hFQURFUiAvICNBVVRPQ09NUExFVEVcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gICAqIDEuIElFIDEwIHByZWZpeCBmb3IgZmxleGJveFxyXG4gICAqIDIuIFByb3ByaWV0YXJ5IGV4dGVuc2lvbiBzbyBmb3JtIGZpZWxkIGxvb2tzIHRoZSBzYW1lIGluIFNhZmFyaVxyXG4gICAqIDMuIEN1c3RvbSBoZWlnaHQgYW5kIHdpZHRoIG9mIGZvcm0gaXRlbXNcclxuICAgKiA0LiBDdXN0b20gaGVpZ2h0IGFuZCB3aWR0aCBvZiBzdmcgaWNvbnNcclxuICAgKiA1LiBDdXN0b20gc3BhY2luZyB0byBwb3NpdGlvbiB0aGUgc2VhcmNoIGljb25cclxuICAgKiA2LiBEcm9wIHNoYWRvdyBvbiBzZWFyY2ggc3VnZ2VzdGlvbnMgZG9wZG93biBib3gsIGN1c3RvbSBzcHJlYWQgYW5kIGJsdXJcclxuICAgKiA3LiBaLWluZGV4IHRvIGJyaW5nIHRoZSBkcm9wZG93biB0byB0aGUgZnJvbnRcclxuICAgKiA4LiBObyBjdXJyZW50IHNwYWNpbmcgYXQgMTJweCBzbyB1c2luZyB0aGlzIHZhbHVlXHJcbiovXHJcblxyXG4uYXV0b2NvbXBsZXRlLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgXHJcbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IHRhYmxldCkge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICBAaW5jbHVkZSBtcSgkdW50aWw6IHRhYmxldCkge1xyXG4gICAgLyogZHVwbGljYXRlIG9mIC5nY3dlYi1zZWFyY2hfX2lucHV0IGluIF9oZWFkZXIuc2NzcywgZm9yIG5vbiBqYXZhc2NyaXB0IHZlcnNpb24gKi9cclxuICAgIC5hdXRvY29tcGxldGVfX2lucHV0IHtcclxuICAgICAgLW1zLWZsZXgtcG9zaXRpdmU6IDI7IC8qIFsxXSAqL1xyXG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGxpc3Rib3g7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgcHJlZml4ZXMgLyogWzJdICovXHJcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JfZ2N3ZWItZ3JleS0zO1xyXG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkZ2N3ZWItYm9yZGVyLXJhZGl1cztcclxuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XHJcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGNvbG9yX2djd2ViLWdyZXktMztcclxuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xyXG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yX2djd2ViLWdyZXktMztcclxuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGdjd2ViLWJvcmRlci1yYWRpdXM7XHJcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xyXG4gICAgICBmbGV4LWdyb3c6IDI7XHJcbiAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuICAgICAgaGVpZ2h0OiA1MnB4OyAvKiBbM10gKi9cclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICBwYWRkaW5nOiAwIGdjd2ViLXNwYWNpbmcoMyk7XHJcbiAgICAgIHdpZHRoOiAxMDAlOyAvKiBbM10gKi9cclxuICBcclxuICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyOiAkZ2N3ZWItZm9jdXMtd2lkdGggc29saWQgJGdjd2ViLWZvY3VzLWNvbG9yO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwICRnY3dlYi1mb2N1cy13aWR0aCAkZ2N3ZWItZm9jdXMtdGV4dC1jb2xvcjtcclxuICAgICAgICBvdXRsaW5lOiAkZ2N3ZWItZm9jdXMtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6ICRnY3dlYi1mb2N1cy13aWR0aDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KSB7XHJcbiAgICAvKiBkdXBsaWNhdGUgb2YgLmdjd2ViLXNlYXJjaF9faW5wdXQgaW4gX2hlYWRlci5zY3NzLCBmb3Igbm9uIGphdmFzY3JpcHQgdmVyc2lvbiAqL1xyXG4gICAgLmF1dG9jb21wbGV0ZV9faW5wdXQge1xyXG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGxpc3Rib3g7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgcHJlZml4ZXMgLyogWzJdICovXHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9nY3dlYi13aGl0ZTtcclxuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGdjd2ViLWJvcmRlci1yYWRpdXM7XHJcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xyXG4gICAgICBib3JkZXItcmlnaHQ6IDA7XHJcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRnY3dlYi1ib3JkZXItcmFkaXVzO1xyXG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcclxuICAgICAgZm9udC1zaXplOiAkZ2N3ZWItYmFzZS1mb250LXNpemU7XHJcbiAgICAgIGhlaWdodDogNDBweDsgLyogWzNdICovXHJcbiAgICAgIHBhZGRpbmc6IDAgMTJweDsgLyogWzldICovXHJcbiAgICAgIHdpZHRoOiAyMDBweDsgLyogWzNdICovXHJcbiAgXHJcbiAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRnY3dlYi1mb2N1cy1jb2xvcjtcclxuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAkZ2N3ZWItZm9jdXMtd2lkdGggJGdjd2ViLWZvY3VzLWNvbG9yO1xyXG4gICAgICAgIG91dGxpbmU6ICRnY3dlYi1mb2N1cy13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICBvdXRsaW5lLW9mZnNldDogJGdjd2ViLWZvY3VzLXdpZHRoO1xyXG4gICAgICB9XHJcbiAgXHJcbiAgICAgICY6OnBsYWNlaG9sZGVyIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yX2djd2ViLWdyZXktMjtcclxuICAgICAgICBmb250LXNpemU6ICRnY3dlYi1iYXNlLWZvbnQtc2l6ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICBAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCkge1xyXG4gICAgLmF1dG9jb21wbGV0ZV9faW5wdXQge1xyXG4gICAgICB3aWR0aDogMjM1cHg7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIC5hdXRvY29tcGxldGVfX21lbnUge1xyXG4gICAgLy8gc2Fzcy1saW50OmRpc2FibGUtYmxvY2sgbm8tdmVuZG9yLXByZWZpeGVzLCBuby1jb2xvci1saXRlcmFsc1xyXG4gICAgLW1vei1ib3gtc2hhZG93OiAwIDNweCA1cHggcmdiYSgwLDAsMCwwLjUwKTsgLyogWzZdICovXHJcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgM3B4IDVweCByZ2JhKDAsMCwwLDAuNTApOyAvKiBbNl0gKi9cclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZTtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JfZ2N3ZWItZ3JleS00O1xyXG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGdjd2ViLWJvcmRlci1yYWRpdXM7XHJcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGdjd2ViLWJvcmRlci1yYWRpdXM7XHJcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRjb2xvcl9nY3dlYi1ncmV5LTQ7XHJcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkY29sb3JfZ2N3ZWItZ3JleS00O1xyXG4gICAgYm94LXNoYWRvdzogMCAwICgkZ2N3ZWItYm94LXNoYWRvdy1zcHJlYWQgLSAxKSAwICByZ2JhKDAsMCwwLDAuNTApOyAvKiBbNl0gKi9cclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBtYXJnaW4tdG9wOiAycHg7XHJcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgcGFkZGluZzogZ2N3ZWItc3BhY2luZygzKTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMTAwJTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgei1pbmRleDogMTsgLyogWzddICovXHJcbiAgXHJcbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IHRhYmxldCkge1xyXG4gICAgICBib3JkZXI6IDA7XHJcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIC5hdXRvY29tcGxldGVfX21lbnUtLXZpc2libGUge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG4gIFxyXG4gIC5hdXRvY29tcGxldGVfX21lbnUtLWhpZGRlbiB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuICBcclxuICAuYXV0b2NvbXBsZXRlX19vcHRpb24ge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvcl9nY3dlYi1ncmV5LTU7XHJcbiAgICBjb2xvcjogJGNvbG9yX2djd2ViLWJsdWU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBmb250LXNpemU6ICRnY3dlYi1iYXNlLWZvbnQtc2l6ZTtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxMnB4OyAvKiBbOF0gKi9cclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICBcclxuICAgIC5nY3dlYi1pY29uX19zZWFyY2gge1xyXG4gICAgICBmaWxsOiAkY29sb3JfZ2N3ZWItZ3JleS0zO1xyXG4gICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgaGVpZ2h0OiAyMnB4OyAvKiBbNF0gKi9cclxuICAgICAgbWFyZ2luOiAycHggNHB4IDAgMDsgLyogWzVdICovXHJcbiAgICAgIHdpZHRoOiAyMnB4OyAvKiBbNF0gKi9cclxuICAgIH1cclxuICBcclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH1cclxuICBcclxuICAgICY6Zm9jdXMge1xyXG4gICAgICBvdXRsaW5lOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICBcclxuICAgICAgYSB7XHJcbiAgICAgICAgQGluY2x1ZGUgZ2N3ZWItZm9jdXNlZC10ZXh0KCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICBcclxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpIHtcclxuICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIC5hdXRvY29tcGxldGVfX29wdGlvbi0tbm8tcmVzdWx0cyB7XHJcbiAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gICAgY29sb3I6ICRjb2xvcl9nY3dlYi1ibGFjaztcclxuICAgIGZvbnQtc2l6ZTogJGdjd2ViLWJhc2UtZm9udC1zaXplO1xyXG4gICAgbGluZS1oZWlnaHQ6ICRnY3dlYi1iYXNlLWxpbmUtaGVpZ2h0O1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgXHJcbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IHRhYmxldCkge1xyXG4gICAgICBwYWRkaW5nOiBnY3dlYi1zcGFjaW5nKDMpIDA7XHJcbiAgICB9XHJcbiAgfVxyXG4gICIsIi5nY3dlYi1zaWducG9zdCB7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgbWFyZ2luOiAwIDBweCAxNXB4IDBweDtcclxuICAgIEBpbmNsdWRlIGdjd2ViLWJvcmRlcjtcclxuICAgIEBpbmNsdWRlIGdjd2ViLWJvcmRlci1yYWRpdXM7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZTtcclxuXHJcbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGRlc2t0b3ApIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLmdjd2ViLXNpZ25wb3N0X19saW5rIHtcclxuICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAuMnMgZWFzZS1pbjtcclxuICAgIGNvbG9yOiAkY29sb3JfZ2N3ZWItYmxhY2s7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuXHJcbi5nY3dlYi1zaWducG9zdF9fbGluazpmb2N1cyxcclxuLmdjd2ViLXNpZ25wb3N0OmhvdmVyIHtcclxuICAgIGJvcmRlci1jb2xvcjogI2ZmZGQwMDtcclxuICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCAjZmZkZDAwO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgQGluY2x1ZGUgZ2N3ZWItYm9yZGVyLXJhZGl1cztcclxufVxyXG5cclxuLmdjd2ViLXNpZ25wb3N0X19jb250ZW50IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBAaW5jbHVkZSBnY3dlYi1yZXNwb25zaXZlLXBhZGRpbmcoNCwgJ2xlZnQnKTtcclxuICAgIEBpbmNsdWRlIGdjd2ViLXJlc3BvbnNpdmUtcGFkZGluZyg0LCAncmlnaHQnKTtcclxuICAgIEBpbmNsdWRlIGdjd2ViLXJlc3BvbnNpdmUtcGFkZGluZygzLCAndG9wJyk7XHJcbiAgICBAaW5jbHVkZSBnY3dlYi1yZXNwb25zaXZlLXBhZGRpbmcoMywgJ2JvdHRvbScpO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGZsZXg6IDAuOTg7XHJcbiAgICBjb2xvcjogJGNvbG9yX2djd2ViLWJsYWNrO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgZm9udC1mYW1pbHk6ICRnY3dlYi1mb250ICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgJi5nY3dlYi1zaWducG9zdF9fdGhpbiB7XHJcbiAgICAgICAgQGluY2x1ZGUgZ2N3ZWItcmVzcG9uc2l2ZS1wYWRkaW5nKDMpO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZ2N3ZWItc2lnbnBvc3RfX3RpdGxlIHtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBAaW5jbHVkZSBnY3dlYi1yZXNwb25zaXZlLW1hcmdpbigwKTtcclxuICAgIEBpbmNsdWRlIGdjd2ViLXJlc3BvbnNpdmUtcGFkZGluZyg0LCAncmlnaHQnKTtcclxuXHJcbiAgICBmb250LWZhbWlseTogJGdjd2ViLWZvbnQgIWltcG9ydGFudDtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZ2N3ZWItZm9udC1ib2xkO1xyXG5cclxuICAgIHNwYW4ge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2N3ZWItZm9udC1ub3JtYWw7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpIHtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgZ2N3ZWItdHlwb2dyYXBoeS1yZXNwb25zaXZlKDE2KTtcclxuICAgICAgICBAaW5jbHVkZSBnY3dlYi1yZXNwb25zaXZlLXBhZGRpbmcoNCwgJ3JpZ2h0Jyk7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGxhcmdlLWRlc2t0b3ApIHtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgZ2N3ZWItdHlwb2dyYXBoeS1yZXNwb25zaXZlKDE5KTtcclxuICAgICAgICBAaW5jbHVkZSBnY3dlYi1yZXNwb25zaXZlLXBhZGRpbmcoNCwgJ3JpZ2h0Jyk7XHJcblxyXG4gICAgfVxyXG59XHJcblxyXG4uZ2N3ZWItc2lnbnBvc3QgYTpob3ZlcixcclxuLmdjd2ViLXNpZ25wb3N0IGE6Zm9jdXMge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcblxyXG5cclxuLmdjd2ViLXNpZ25wb3N0X19pY29uIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZmxleC1iYXNpczogMTBweDtcclxuICAgIG1heC13aWR0aDogMTBweDtcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2UtaW4tb3V0O1xyXG4gICAgd2lkdGg6IDEwcHg7XHJcbiAgICBoZWlnaHQ6IDEuMzc1cmVtO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLmdjd2ViLXNpZ25wb3N0IGE6aG92ZXIgLmdjd2ViLXNpZ25wb3N0X19pY29uLFxyXG4uZ2N3ZWItc2lnbnBvc3QgYTpmb2N1cyAuZ2N3ZWItc2lnbnBvc3RfX2ljb24ge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpO1xyXG59XHJcblxyXG4uZ2N3ZWItc2lnbnBvc3RfX2ljb25fX3N2ZyB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG59IiwiLy8gU2l0ZSBhcmVhIG92ZXJyaWRlc1xyXG5cclxuXHJcbi5nY3dlYi1wcmVjb250ZW50LXN0cmlwIHtcclxuICAgIG1pbi1oZWlnaHQ6IDE1cHg7XHJcbn1cclxuXHJcbi8vIC5nY3dlYi1oZWFkZXItdGFnOjpiZWZvcmUge1xyXG4vLyAgICAgY29udGVudDogXCJcIjtcclxuLy8gICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4vLyAgICAgYm9yZGVyLXRvcDogMTBweCBzb2xpZCAjNTU1NTU1O1xyXG4vLyAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuLy8gICAgIHdpZHRoOiAxNTBweDtcclxuLy8gfVxyXG5cclxuXHJcbi5nY3dlYi1oZWFkZXItdGFnLS1sZWZ0IHtcclxuXHJcblxyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgIzU1NTU1NTtcclxuICAgIG1hcmdpbi1sZWZ0OiAwcHg7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICBtYXJnaW4tbGVmdDogMHB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwcHg7XHJcblxyXG5cclxuICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogZGVza3RvcCkge1xyXG4gICAgICAgIGJvcmRlci1sZWZ0OiAwcHg7XHJcbiAgICAgICAgcGFkZGluZzogMHB4O1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG4uZ2N3ZWItYXJlYS1saWNlbnNlZXMsXHJcbi5nY3dlYi1hcmVhLWF1dGhvcml0aWVzIHtcclxuXHJcbiAgICAuZ2N3ZWItaGVhZGVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ2N3ZWItbGljZW5zZWVzLXByaW1hcnk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC5nY3dlYi10b3BuYXYge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRnY3dlYi1saWNlbnNlZXMtcHJpbWFyeS1kYXJrO1xyXG5cclxuICAgICAgICAuYWN0aXZlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGdjd2ViLWxpY2Vuc2Vlcy1wcmltYXJ5ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfZ2N3ZWItd2hpdGU7XHJcblxyXG4gICAgICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfZ2N3ZWItd2hpdGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgIC5nY3dlYi1hbHQge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9nY3dlYi1ncmV5LTA7XHJcbiAgICB9XHJcblxyXG4gICAgLmdjd2ViLWFsdC0tbGlnaHQge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRnY3dlYi1wdWJsaWMtcGFsZS1wcmltYXJ5O1xyXG4gICAgfVxyXG5cclxuICAgIC5nY3dlYi1maWxsLWNvbG9yIHtcclxuICAgICAgICBjb2xvcjogJGdjd2ViLWxpY2Vuc2Vlcy1wcmltYXJ5O1xyXG4gICAgfVxyXG5cclxuICAgIC5nY3dlYi1wcmVjb250ZW50LXN0cmlwIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ2N3ZWItbGljZW5zZWVzLXByaW1hcnktZGFyaztcclxuXHJcbiAgICAgICAgKiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfZ2N3ZWItd2hpdGU7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yX2djd2ViLXdoaXRlO1xyXG5cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5nY3dlYi1oZWFkZXJfX25hdmlnYXRpb24tYWN0aXZlIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yX2djd2ViLXdoaXRlO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRnY3dlYi1saWNlbnNlZXMtcHJpbWFyeS1kYXJrO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxhcmdlLWRlc2t0b3ApIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIC5nY3dlYi1oZWFkZXJfX25hdmlnYXRpb24tbGluazphY3RpdmU6dmlzaXRlZCxcclxuICAgIC5nY3dlYi1oZWFkZXJfX25hdmlnYXRpb24tbGluazpmb2N1czp2aXNpdGVkIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ2N3ZWItbGljZW5zZWVzLXByaW1hcnk7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIC5nY3dlYi1oZWFkZXJfX25hdmlnYXRpb24tYWN0aXZlPi5nY3dlYi1pY29uX19jaGV2cm9uLXJpZ2h0IHtcclxuICAgICAgICBmaWxsOiAjZmZmZmZmICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLmdjd2ViLWhlYWRlcl9fbmF2aWdhdGlvbi1saW5rOmhvdmVyLFxyXG4gICAgLmdjd2ViLWhlYWRlcl9fbmF2aWdhdGlvbi1saW5rOmFjdGl2ZSxcclxuICAgIC5nY3dlYi1oZWFkZXJfX25hdmlnYXRpb24tbGluazpmb2N1cyB7XHJcblxyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRnY3dlYi1saWNlbnNlZXMtcHJpbWFyeTtcclxuICAgICAgICBjb2xvcjogJGNvbG9yX2djd2ViLXdoaXRlO1xyXG5cclxuICAgICAgICAuZ2N3ZWItaWNvbl9fY2hldnJvbi1yaWdodCB7XHJcbiAgICAgICAgICAgIGZpbGw6ICRjb2xvcl9nY3dlYi1ibGFjaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmdjd2ViLWhlYWRlcl9fbmF2aWdhdGlvbi1hY3RpdmU6aG92ZXIsXHJcbiAgICAuZ2N3ZWItaGVhZGVyX19uYXZpZ2F0aW9uLWFjdGl2ZTpmb2N1cyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdjd2ViLWxpY2Vuc2Vlcy1wcmltYXJ5LWRhcms7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZSAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICAuZ2N3ZWItaWNvbl9fY2hldnJvbi1yaWdodCB7XHJcbiAgICAgICAgICAgIGZpbGw6ICRjb2xvcl9nY3dlYi1ibGFjaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4gICAgLmdjd2ViLWhlYWRlcl9fbmF2aWdhdGlvbi1saW5rIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yX2djd2ViLXdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGdjd2ViLWxpY2Vuc2Vlcy1wcmltYXJ5O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxhcmdlLWRlc2t0b3ApIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgICYuZ2N3ZWItaGVhZGVyX19uYXZpZ2F0aW9uLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGFyZ2UtZGVza3RvcCkge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ2N3ZWItbGljZW5zZWVzLXByaW1hcnktZGFyaztcclxuXHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgLmdjd2ViLWljb25fX2NoZXZyb24tcmlnaHQge1xyXG4gICAgICAgICAgICBmaWxsOiAkY29sb3JfZ2N3ZWItZ3JleS0zO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjp2aXNpdGVkIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxhcmdlLWRlc2t0b3ApIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfZ2N3ZWItd2hpdGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG5cclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdjd2ViLWxpY2Vuc2Vlcy1wcmltYXJ5LWRhcms7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfZ2N3ZWItd2hpdGUgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgICAgIC5nY3dlYi1pY29uX19jaGV2cm9uLXJpZ2h0IHtcclxuICAgICAgICAgICAgICAgIGZpbGw6ICRjb2xvcl9nY3dlYi13aGl0ZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6YWN0aXZlLFxyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ2N3ZWItZm9jdXMtY29sb3I7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAkZ2N3ZWItZm9jdXMtY29sb3I7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfZ2N3ZWItYmxhY2sgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgb3V0bGluZTogJGdjd2ViLWZvY3VzLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBvdXRsaW5lLW9mZnNldDogJGdjd2ViLWZvY3VzLXdpZHRoO1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRnY3dlYi1saWNlbnNlZXMtcHJpbWFyeS1kYXJrO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9nY3dlYi1ibGFjayAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOnZpc2l0ZWQge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdjd2ViLWZvY3VzLWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9nY3dlYi1ibGFjayAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIC5nY3dlYi1oZXJvIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ2N3ZWItbGljZW5zZWVzLXByaW1hcnktZGFyaztcclxuXHJcbiAgICAgICAgcCxcclxuICAgICAgICBhLFxyXG4gICAgICAgIHAgYSxcclxuICAgICAgICBoMSxcclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfZ2N3ZWItd2hpdGU7XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgLmdjd2ViLWhlYWRlci10YWc6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5nY3dlYi1idXR0b24ge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX2djd2ViLWJsYWNrICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZTtcclxuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yX2djd2ViLXdoaXRlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmdjd2ViLWZpbGwtY29sb3Ige1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX2djd2ViLXdoaXRlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG5cclxuXHJcbn1cclxuXHJcbi5nY3dlYi1hcmVhLXB1YmxpYyxcclxuLmdjd2ViLWFyZWEtcHVibGljLXJlZ2lzdGVyIHtcclxuXHJcbiAgICAuZ2N3ZWItaGVhZGVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfZ2N3ZWItYmx1ZTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLmdjd2ViLXRvcG5hdiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2djd2ViLWRhcmtlci1ibHVlO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3JfZ2N3ZWItd2hpdGU7XHJcblxyXG4gICAgICAgIC5hY3RpdmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ2N3ZWItcHVibGljLXByaW1hcnkgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZTtcclxuXHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgLmdjd2ViLWFsdCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX2djd2ViLWdyZXktMDtcclxuICAgIH1cclxuXHJcbiAgICAuZ2N3ZWItYWx0LS1saWdodCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGdjd2ViLXB1YmxpYy1wYWxlLXByaW1hcnk7XHJcbiAgICB9XHJcblxyXG4gICAgLmdjd2ViLWZpbGwtY29sb3Ige1xyXG4gICAgICAgIGNvbG9yOiAkZ2N3ZWItcHVibGljLXByaW1hcnk7XHJcbiAgICB9XHJcblxyXG4gICAgLmdjd2ViLXByZWNvbnRlbnQtc3RyaXAge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9nY3dlYi1kYXJrZXItYmx1ZTtcclxuXHJcbiAgICAgICAgKiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfZ2N3ZWItd2hpdGU7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yX2djd2ViLXdoaXRlO1xyXG5cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5nY3dlYi1oZWFkZXJfX25hdmlnYXRpb24tYWN0aXZlIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yX2djd2ViLXdoaXRlO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9nY3dlYi1kYXJrZXItYmx1ZTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsYXJnZS1kZXNrdG9wKSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfZ2N3ZWItd2hpdGUgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuXHJcbiAgICAuZ2N3ZWItaGVhZGVyX19uYXZpZ2F0aW9uLWxpbms6YWN0aXZlOnZpc2l0ZWQsXHJcbiAgICAuZ2N3ZWItaGVhZGVyX19uYXZpZ2F0aW9uLWxpbms6Zm9jdXM6dmlzaXRlZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdjd2ViLXB1YmxpYy1wcmltYXJ5O1xyXG4gICAgfVxyXG5cclxuICAgIC5nY3dlYi1oZWFkZXJfX25hdmlnYXRpb24tYWN0aXZlPi5nY3dlYi1pY29uX19jaGV2cm9uLXJpZ2h0IHtcclxuICAgICAgICBmaWxsOiAjZmZmZmZmICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLmdjd2ViLWhlYWRlcl9fbmF2aWdhdGlvbi1saW5rOmhvdmVyLFxyXG4gICAgLmdjd2ViLWhlYWRlcl9fbmF2aWdhdGlvbi1saW5rOmFjdGl2ZSxcclxuICAgIC5nY3dlYi1oZWFkZXJfX25hdmlnYXRpb24tbGluazpmb2N1cyB7XHJcblxyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRnY3dlYi1wdWJsaWMtcHJpbWFyeTtcclxuICAgICAgICBjb2xvcjogJGNvbG9yX2djd2ViLWJsYWNrO1xyXG5cclxuICAgICAgICAuZ2N3ZWItaWNvbl9fY2hldnJvbi1yaWdodCB7XHJcbiAgICAgICAgICAgIGZpbGw6ICRjb2xvcl9nY3dlYi1ibGFjaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmdjd2ViLWhlYWRlcl9fbmF2aWdhdGlvbi1hY3RpdmU6aG92ZXIsXHJcbiAgICAuZ2N3ZWItaGVhZGVyX19uYXZpZ2F0aW9uLWFjdGl2ZTpmb2N1cyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2djd2ViLWRhcmtlci1ibHVlO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3JfZ2N3ZWItYmxhY2sgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgLmdjd2ViLWljb25fX2NoZXZyb24tcmlnaHQge1xyXG4gICAgICAgICAgICBmaWxsOiAkY29sb3JfZ2N3ZWItYmxhY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuICAgIC5nY3dlYi1oZWFkZXJfX25hdmlnYXRpb24tbGluayB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9nY3dlYi1ibHVlO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxhcmdlLWRlc2t0b3ApIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgICYuZ2N3ZWItaGVhZGVyX19uYXZpZ2F0aW9uLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGFyZ2UtZGVza3RvcCkge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfZ2N3ZWItZGFya2VyLWJsdWU7XHJcblxyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgIC5nY3dlYi1pY29uX19jaGV2cm9uLXJpZ2h0IHtcclxuICAgICAgICAgICAgZmlsbDogJGNvbG9yX2djd2ViLWdyZXktMztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6dmlzaXRlZCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsYXJnZS1kZXNrdG9wKSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX2djd2ViLXdoaXRlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuXHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9nY3dlYi1kYXJrZXItYmx1ZTtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZSAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICAgICAgLmdjd2ViLWljb25fX2NoZXZyb24tcmlnaHQge1xyXG4gICAgICAgICAgICAgICAgZmlsbDogJGNvbG9yX2djd2ViLXdoaXRlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjphY3RpdmUsXHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRnY3dlYi1mb2N1cy1jb2xvcjtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRnY3dlYi1mb2N1cy1jb2xvcjtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9nY3dlYi1ibGFjaztcclxuICAgICAgICAgICAgb3V0bGluZTogJGdjd2ViLWZvY3VzLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBvdXRsaW5lLW9mZnNldDogJGdjd2ViLWZvY3VzLXdpZHRoO1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9nY3dlYi1kYXJrZXItYmx1ZTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfZ2N3ZWItYmxhY2s7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6dmlzaXRlZCB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ2N3ZWItZm9jdXMtY29sb3I7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX2djd2ViLWJsYWNrICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgLmdjd2ViLWhlcm8ge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9nY3dlYi1kYXJrZXItYmx1ZTtcclxuXHJcbiAgICAgICAgcCxcclxuICAgICAgICBhLFxyXG4gICAgICAgIHAgYSxcclxuICAgICAgICBoMSxcclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfZ2N3ZWItd2hpdGU7XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgLmdjd2ViLWhlYWRlci10YWc6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5nY3dlYi1idXR0b24ge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX2djd2ViLWJsYWNrICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZTtcclxuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yX2djd2ViLXdoaXRlO1xyXG5cclxuICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgJjphY3RpdmUsXHJcbiAgICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGdjd2ViLWJ1dHRvbi1ob3Zlci1jb2xvcjtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvcl9nY3dlYi15ZWxsb3c7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmdjd2ViLWZpbGwtY29sb3Ige1xyXG4gICAgICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG5cclxuXHJcbn1cclxuXHJcbi5nY3dlYi1hcmVhLWNvcnBvcmF0ZSxcclxuLmdjd2ViLWFyZWEtY2FyZWVycyxcclxuLmdjd2ViLWFyZWEtbmV3cyxcclxuLmdjd2ViLWFyZWEtY29udGFjdCxcclxuLmdjd2ViLWFyZWEtc2VydmljZXMge1xyXG5cclxuICAgIC5nY3dlYi1oZWFkZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRnY3dlYi1jb3Jwb3JhdGUtcHJpbWFyeTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLmdjd2ViLXRvcG5hdiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdjd2ViLWNvcnBvcmF0ZS1wcmltYXJ5LWRhcms7XHJcblxyXG4gICAgICAgIC5hY3RpdmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ2N3ZWItY29ycG9yYXRlLXByaW1hcnkgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZTtcclxuXHJcbiAgICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgLmdjd2ViLWFsdCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX2djd2ViLWdyZXktMDtcclxuICAgIH1cclxuXHJcbiAgICAuZ2N3ZWItYWx0LS1saWdodCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGdjd2ViLXB1YmxpYy1wYWxlLXByaW1hcnk7XHJcbiAgICB9XHJcblxyXG4gICAgLmdjd2ViLWZpbGwtY29sb3Ige1xyXG4gICAgICAgIGNvbG9yOiAkZ2N3ZWItY29ycG9yYXRlLXByaW1hcnk7XHJcbiAgICB9XHJcblxyXG4gICAgLmdjd2ViLXByZWNvbnRlbnQtc3RyaXAge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRnY3dlYi1jb3Jwb3JhdGUtcHJpbWFyeS1kYXJrO1xyXG5cclxuICAgICAgICAqIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZTtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3JfZ2N3ZWItd2hpdGU7XHJcblxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmdjd2ViLWhlYWRlcl9fbmF2aWdhdGlvbi1hY3RpdmUge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3JfZ2N3ZWItd2hpdGU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdjd2ViLWNvcnBvcmF0ZS1wcmltYXJ5LWRhcms7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGFyZ2UtZGVza3RvcCkge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX2djd2ViLXdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgLmdjd2ViLWhlYWRlcl9fbmF2aWdhdGlvbi1saW5rOmFjdGl2ZTp2aXNpdGVkLFxyXG4gICAgLmdjd2ViLWhlYWRlcl9fbmF2aWdhdGlvbi1saW5rOmZvY3VzOnZpc2l0ZWQge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRnY3dlYi1jb3Jwb3JhdGUtcHJpbWFyeTtcclxuICAgIH1cclxuXHJcbiAgICAuZ2N3ZWItaGVhZGVyX19uYXZpZ2F0aW9uLWFjdGl2ZT4uZ2N3ZWItaWNvbl9fY2hldnJvbi1yaWdodCB7XHJcbiAgICAgICAgZmlsbDogI2ZmZmZmZiAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5nY3dlYi1oZWFkZXJfX25hdmlnYXRpb24tbGluazpob3ZlcixcclxuICAgIC5nY3dlYi1oZWFkZXJfX25hdmlnYXRpb24tbGluazphY3RpdmUsXHJcbiAgICAuZ2N3ZWItaGVhZGVyX19uYXZpZ2F0aW9uLWxpbms6Zm9jdXMge1xyXG5cclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ2N3ZWItY29ycG9yYXRlLXByaW1hcnk7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZTtcclxuXHJcbiAgICAgICAgLmdjd2ViLWljb25fX2NoZXZyb24tcmlnaHQge1xyXG4gICAgICAgICAgICBmaWxsOiAkY29sb3JfZ2N3ZWItYmxhY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5nY3dlYi1oZWFkZXJfX25hdmlnYXRpb24tYWN0aXZlOmhvdmVyLFxyXG4gICAgLmdjd2ViLWhlYWRlcl9fbmF2aWdhdGlvbi1hY3RpdmU6Zm9jdXMge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRnY3dlYi1jb3Jwb3JhdGUtcHJpbWFyeS1kYXJrO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3JfZ2N3ZWItd2hpdGUgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgLmdjd2ViLWljb25fX2NoZXZyb24tcmlnaHQge1xyXG4gICAgICAgICAgICBmaWxsOiAkY29sb3JfZ2N3ZWItYmxhY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuICAgIC5nY3dlYi1oZWFkZXJfX25hdmlnYXRpb24tbGluayB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRnY3dlYi1jb3Jwb3JhdGUtcHJpbWFyeTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsYXJnZS1kZXNrdG9wKSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfZ2N3ZWItd2hpdGUgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICAmLmdjd2ViLWhlYWRlcl9fbmF2aWdhdGlvbi1hY3RpdmUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxhcmdlLWRlc2t0b3ApIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfZ2N3ZWItd2hpdGUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGdjd2ViLWNvcnBvcmF0ZS1wcmltYXJ5LWRhcms7XHJcblxyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgIC5nY3dlYi1pY29uX19jaGV2cm9uLXJpZ2h0IHtcclxuICAgICAgICAgICAgZmlsbDogJGNvbG9yX2djd2ViLWdyZXktMztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6dmlzaXRlZCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsYXJnZS1kZXNrdG9wKSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX2djd2ViLXdoaXRlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuXHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRnY3dlYi1jb3Jwb3JhdGUtcHJpbWFyeS1kYXJrO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX2djd2ViLXdoaXRlICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgICAgICAuZ2N3ZWItaWNvbl9fY2hldnJvbi1yaWdodCB7XHJcbiAgICAgICAgICAgICAgICBmaWxsOiAkY29sb3JfZ2N3ZWItd2hpdGU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmFjdGl2ZSxcclxuICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdjd2ViLWZvY3VzLWNvbG9yO1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgJGdjd2ViLWZvY3VzLWNvbG9yO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX2djd2ViLWJsYWNrICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIG91dGxpbmU6ICRnY3dlYi1mb2N1cy13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgb3V0bGluZS1vZmZzZXQ6ICRnY3dlYi1mb2N1cy13aWR0aDtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ2N3ZWItY29ycG9yYXRlLXByaW1hcnktZGFyaztcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfZ2N3ZWItYmxhY2sgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjp2aXNpdGVkIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRnY3dlYi1mb2N1cy1jb2xvcjtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfZ2N3ZWItYmxhY2sgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG5cclxuXHJcbiAgICAuZ2N3ZWItaGVybyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdjd2ViLWNvcnBvcmF0ZS1wcmltYXJ5LWRhcms7XHJcblxyXG4gICAgICAgIHAsXHJcbiAgICAgICAgYSxcclxuICAgICAgICBwIGEsXHJcbiAgICAgICAgaDEsXHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX2djd2ViLXdoaXRlO1xyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgIC5nY3dlYi1oZWFkZXItdGFnOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3JfZ2N3ZWItd2hpdGU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZ2N3ZWItYnV0dG9uIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9nY3dlYi1ibGFjayAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfZ2N3ZWItd2hpdGU7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvcl9nY3dlYi13aGl0ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5nY3dlYi1maWxsLWNvbG9yIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuXHJcblxyXG59XHJcblxyXG5cclxuLmdjd2ViLWJsdWUtYmcsXHJcbi5nY3dlYi1iZy0tYmx1ZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3JfZ2N3ZWItZGFya2VyLWJsdWU7XHJcbiAgICBjb2xvcjogJGNvbG9yX2djd2ViLXdoaXRlO1xyXG5cclxuICAgICYubGlnaHRlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdGludCgkY29sb3JfZ2N3ZWItZGFya2VyLWJsdWUsIDE1JSk7XHJcblxyXG4gICAgICAgICYuZ2N3ZWItd2lkZS1ib3JkZXItdG9wIHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogMTBweCBzb2xpZCAkY29sb3JfZ2N3ZWItd2hpdGU7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZ292dWstYmFjay1saW5rOmFjdGl2ZSxcclxuICAgIC5nb3Z1ay1iYWNrLWxpbms6Zm9jdXMsXHJcbiAgICAuZ292dWstYmFjay1saW5rOmhvdmVyLFxyXG4gICAgLmdvdnVrLWJhY2stbGluazpsaW5rLFxyXG4gICAgLmdvdnVrLWJhY2stbGluazp2aXNpdGVkIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yX2djd2ViLXdoaXRlO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yX2djd2ViLXdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLmdjd2ViLW5leHRwcmV2IHtcclxuXHJcbiAgICAgICAgbWFyZ2luOiA2MHB4IDBweCAyMDBweCAwcHg7XHJcblxyXG4gICAgICAgIC5nY3dlYi1wYWdlci1sZWZ0IHtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAkY29sb3JfZ2N3ZWItd2hpdGU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfZ2N3ZWItd2hpdGU7XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNTAlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmdjd2ViLXBhZ2VyLXJpZ2h0IHtcclxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiA1cHggc29saWQgJGNvbG9yX2djd2ViLXdoaXRlO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX2djd2ViLXdoaXRlO1xyXG4gICAgICAgICAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNTAlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG5cclxuXHJcbiAgICBwLFxyXG4gICAgcCBhLFxyXG4gICAgbGksXHJcbiAgICBsaSBhIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yX2djd2ViLXdoaXRlO1xyXG4gICAgfVxyXG5cclxuICAgIC5nY3dlYi1oZWFkZXItdGFnLS1sZWZ0IHtcclxuXHJcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcclxuICAgIH1cclxuXHJcbiAgICAuZ2N3ZWItc2lnbnBvc3RfX3RpdGxlIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yX2djd2ViLWJsYWNrO1xyXG4gICAgfVxyXG5cclxuICAgIGEge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG4uZ2N3ZWItZ3JlZW4tYmcsXHJcbi5nY3dlYi1iZy0tZ3JlZW4ge1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yX2djd2ViLWdyZWVuO1xyXG4gICAgY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZTtcclxuXHJcbiAgICBwLFxyXG4gICAgcCBhIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yX2djd2ViLXdoaXRlO1xyXG4gICAgfVxyXG5cclxuICAgIC5nY3dlYi1oZWFkZXItdGFnLS1sZWZ0IHtcclxuXHJcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcclxuICAgIH1cclxuXHJcbiAgICAuZ2N3ZWItc2lnbnBvc3RfX3RpdGxlIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yX2djd2ViLWJsYWNrO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLmdjd2ViLW9yYW5nZS1iZyxcclxuLmdjd2ViLWJnLS1vcmFuZ2Uge1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yX2djd2ViLW9yYW5nZSAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICRjb2xvcl9nY3dlYi1ibGFjaztcclxuXHJcbiAgICBwLFxyXG4gICAgcCBhIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yX2djd2ViLWJsYWNrO1xyXG4gICAgfVxyXG5cclxuICAgIC5nY3dlYi1oZWFkZXItdGFnLS1sZWZ0IHtcclxuXHJcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcclxuICAgIH1cclxuXHJcbiAgICAuZ2N3ZWItc2lnbnBvc3RfX3RpdGxlIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yX2djd2ViLWJsYWNrO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZ2N3ZWItd2hpdGUtYmcsXHJcbi5nY3dlYi1iZy0td2hpdGUge1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yX2djd2ViLXdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogJGNvbG9yX2djd2ViLWJsYWNrO1xyXG5cclxuICAgIHAge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3JfZ2N3ZWItYmxhY2s7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5nY3dlYi1ncmFkLWJsdWUge1xyXG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgZnJvbSgjZDdkYmUzKSwgdG8oI2ZmZmZmZikpO1xyXG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjZDdkYmUzLCAjZmZmZmZmKTtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNkN2RiZTMsICNmZmZmZmYpO1xyXG59XHJcblxyXG4uZ2N3ZWItZ3JhZC1ncmVlbiB7XHJcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKCNlNmViZTYpLCB0bygjZjZmN2Y5KSk7XHJcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICNlNmViZTYsICNmNmY3ZjkpO1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2U2ZWJlNiwgI2Y2ZjdmOSk7XHJcbn1cclxuXHJcbi5nY3dlYi1zaGFkb3cge1xyXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiA0cHggNHB4IDE2cHggI2NkY2RjZDtcclxuICAgIGJveC1zaGFkb3c6IDRweCA0cHggMTZweCAjY2RjZGNkO1xyXG59XHJcblxyXG5cclxuLmdjd2ViLWFsdC0tZ3JleSxcclxuLmdjd2ViLWJnLS1ncmV5IHtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvcl9nY3dlYi1ncmV5LTUgIWltcG9ydGFudDtcclxuXHJcbiAgICAuZ2N3ZWItaGVhZGVyLXRhZy0tbGVmdCB7XHJcblxyXG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5nY3dlYi1hbHQtLWxpZ2h0LWdyZXksXHJcbi5nY3dlYi1iZy0tbGlnaHQtZ3JleSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3JfZ2N3ZWItZ3JleS02ICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgLmdjd2ViLWhlYWRlci10YWctLWxlZnQge1xyXG5cclxuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZ2N3ZWItYWx0LS1kYXJrZXItZ3JleSxcclxuLmdjd2ViLWJnLS1kYXJrZXItZ3JleSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3JfZ2N3ZWItZ3JleS00ICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgLmdjd2ViLWhlYWRlci10YWctLWxlZnQge1xyXG5cclxuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLmdjd2ViLWJnLS1kYXJrIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9nY3dlYi1kYXJrO1xyXG5cclxuICAgIHAsXHJcbiAgICBwIGEsXHJcbiAgICBoMSxcclxuICAgIGgyLFxyXG4gICAgaDMsXHJcbiAgICBsYWJlbCB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZTtcclxuICAgIH1cclxuXHJcbiAgICAuZ2N3ZWItaGVhZGVyLXRhZy0tbGVmdCB7XHJcblxyXG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XHJcbiAgICB9XHJcblxyXG4gICAgLmdjd2ViLXNpZ25wb3N0X190aXRsZSB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvcl9nY3dlYi1ibGFjaztcclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi5nY3dlYi1iZy0tcGFsZS15ZWxsb3cge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2djd2ViLXBhbGUteWVsbG93O1xyXG5cclxuICAgIHAsXHJcbiAgICBwIGEsXHJcbiAgICBoMSxcclxuICAgIGgyLFxyXG4gICAgaDMsXHJcbiAgICBsYWJlbCB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvcl9nY3dlYi1ibGFjaztcclxuICAgIH1cclxufVxyXG5cclxuLmdjd2ViLWRhcmstcGluay1iZyxcclxuLmdjd2ViLWJnLS1kYXJrLXBpbmsge1xyXG4gICAgYmFja2dyb3VuZDogIzczNEM2RjtcclxuICAgIGNvbG9yOiAkY29sb3JfZ2N3ZWItd2hpdGU7XHJcblxyXG4gICAgcCxcclxuICAgIHAgYSB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZTtcclxuICAgIH1cclxuXHJcbiAgICAuZ2N3ZWItaGVhZGVyLXRhZy0tbGVmdCB7XHJcblxyXG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XHJcbiAgICB9XHJcblxyXG4gICAgLmdjd2ViLXNpZ25wb3N0X190aXRsZSB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvcl9nY3dlYi1ibGFjaztcclxuICAgIH1cclxufSIsIlxyXG4uZ2N3ZWItZnVsbC13aWR0aC1jb250YWluZXIge1xyXG4gXHJcbiAgICBwYWRkaW5nOiA0MHB4IDBweDtcclxuICAgIG1hcmdpbjogMHB4O1xyXG59XHJcblxyXG4uZ292dWstd2lkdGgtY29udGFpbmVyLFxyXG4uZ2N3ZWItd2lkdGgtY29udGFpbmVyIHtcclxuICAgIG1heC13aWR0aDogMTkwMHB4O1xyXG4gICBwYWRkaW5nOiAwIDcuMzc1cmVtO1xyXG4gICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtb2JpbGUpIHtcclxuICAgIG1heC13aWR0aDogMTkwMHB4O1xyXG4gICBwYWRkaW5nOiAwIDIuMzc1cmVtO1xyXG4gICBkaXNwbGF5OiBibG9jaztcclxufVxyXG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiBkZXNrdG9wKSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDE1cHggYXV0bztcclxuXHJcbiAgICAgICAgcGFkZGluZzogMCAwLjM3NXJlbTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCkge1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgfVxyXG59ICAgIiwiXHJcbi5iZy1jb3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMSkgIWltcG9ydGFudDtcclxuICAgIGRpc3BsYXk6IC1tcy1mbGV4O1xyXG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuXHJcbi5nY3dlYi1iZy1hcXVhe2JhY2tncm91bmQ6ICRjb2xvcl9nY3dlYi1hcXVhLWdyZWVuICFpbXBvcnRhbnQ7IH0iLCIubGNjcC1zZWN0aW9uLFxyXG4uZ2N3ZWItY29uZGl0aW9uLWxpc3Qge1xyXG5cclxuICAgIC5nY3dlYi1tYWluIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWJ1dHRvbiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxOXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX2NvbnRyb2xzIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24taGVhZGVyIHtcclxuXHJcblxyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAwcHg7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24taGVhZGluZyB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDBweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1jb250ZW50IHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAkY29sb3JfZ2N3ZWItZ3JleS00O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmdjd2ViLWNvbmRpdGlvbi1saXN0IGxpIHtcclxuXHJcblxyXG5cclxuICAgICAgICBwYWRkaW5nOiAwcHggMHB4IDEwcHggMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuXHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMS41ZW07XHJcbiAgICAgICAgICAgIHdpZHRoOiAxLjVlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgIC5nY3dlYi1jb25kaXRpb24tbGlzdCB7XHJcbiAgICAgICAgb2x+cCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDVweDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvLyAuZ2N3ZWItY29uZGl0aW9uLWxpc3QgbGkgYSB7XHJcbiAgICAvLyAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgLy8gfVxyXG5cclxuICAgIC5nY3dlYi1jb25kaXRpb24tbGlzdCBsaS5hY3RpdmUge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICB9XHJcblxyXG4gICAgLmdvdnVrLXN1bW1hcnktbGlzdF9fa2V5IHtcclxuICAgICAgICB3aWR0aDogMjAlO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAuZ2N3ZWItbGV0dGVycyB7XHJcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTtcclxuICAgIH1cclxuXHJcbiAgICAuZ2N3ZWItcm9tYW4ge1xyXG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47XHJcbiAgICB9XHJcblxyXG4gICAgbGk+b2wuZ2N3ZWItbGV0dGVycyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIH1cclxuXHJcblxyXG5cclxuXHJcbiAgICAuZ292dWstZGV0YWlscyB7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAxMHB4IDVweCAxMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICMwMDg1NTk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmdvdnVrLWRldGFpbHNfX3RleHQge1xyXG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmdvdnVrLWRldGFpbHNfX3N1bW1hcnktdGV4dCB7XHJcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIC5nb3Z1ay1kZXRhaWxzPi5nb3Z1ay1kZXRhaWxzX19zdW1tYXJ5OmJlZm9yZSB7XHJcblxyXG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgfVxyXG5cclxuICAgIC5nb3Z1ay1kZXRhaWxzW29wZW5dPi5nb3Z1ay1kZXRhaWxzX19zdW1tYXJ5OmJlZm9yZSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmO1xyXG4gICAgICAgIC13ZWJraXQtY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgNTAlIDEwMCUsIDEwMCUgMCk7XHJcbiAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgNTAlIDEwMCUsIDEwMCUgMCk7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxMi4xMjRweCA3cHggMCA3cHg7XHJcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogaW5oZXJpdDtcclxuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOjQwLjA1MjVlbSkge1xyXG4gICAgICAgIC5nY3dlYi1oaWRlLW9uLW1vYmlsZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAuZ292dWstZGV0YWlsc19fc3VtbWFyeTpmb2N1cyB7XHJcbiAgICAgICAgb3V0bGluZTogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGNvbG9yOiAjMGIwYzBjO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZDA7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAtMnB4ICNmZDAsIDAgNHB4ICMwYjBjMGM7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cclxuICAgICAgICAuZ292dWstZGV0YWlsc19fc3VtbWFyeS10ZXh0IHtcclxuICAgICAgICAgICAgY29sb3I6ICMwYjBjMGM7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICAuZ292dWstZGV0YWlsc1tjbG9zZWRdPi5nb3Z1ay1kZXRhaWxzX19zdW1tYXJ5OmJlZm9yZSB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5nb3Z1ay1kZXRhaWxzW29wZW5dPi5nb3Z1ay1kZXRhaWxzX19zdW1tYXJ5OmJlZm9yZSB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG5cclxuXHJcbiAgICAuZ2N3ZWItZGVlcGVyLWxpbmUtaGVpZ2h0IHtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS42ZW07XHJcbiAgICB9XHJcbn1cclxuIiwiXHJcbi5kb2MtaWNvbiB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGNvbG9yOiAkY29sb3JfZ2N3ZWItYmxhY2s7XHJcbn1cclxuXHJcbi5kb2MtY29udGVudCB7XHJcbiAgICBtYXJnaW4tdG9wOiAwcHg7XHJcbiAgICBtYXJnaW4tbGVmdDogODBweDtcclxuICAgIC8vIG1pbi1oZWlnaHQ6IDgwcHg7XHJcbn1cclxuXHJcbi5nY3dlYi1maWxlLWxpc3Qge1xyXG4gICAgbWFyZ2luOiAxNXB4IDBweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvcl9nY3dlYi1ncmV5LTE7XHJcblxyXG4gICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDBweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOjYxLjc3NWVtKSB7XHJcbiAgICAuZG9jLWljb24ge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLmRvYy1jb250ZW50IHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcclxuICAgICAgICBtaW4taGVpZ2h0OiAwcHg7XHJcbiAgICB9XHJcbn0iLCIuZ2MtZm9vdGVyIHtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvcl9nY3dlYi1ibGFjaztcclxuXHJcbiAgICAuZ292dWstZm9vdGVyX19saW5rLFxyXG4gICAgaDMsXHJcbiAgICBwLCBsYWJlbCwgYSB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcbi5nb3Z1ay1mb290ZXJfX2xpbms6Zm9jdXMsIGE6Zm9jdXMge1xyXG4gICAgb3V0bGluZTogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgY29sb3I6ICRjb2xvcl9nY3dlYi1ibGFjayAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2djd2ViLXllbGxvdztcclxuICAgIGJveC1zaGFkb3c6IDAgLTJweCAkY29sb3JfZ2N3ZWIteWVsbG93LCAwIDRweCAkY29sb3JfZ2N3ZWItYmxhY2s7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBcclxufVxyXG5cclxuLmdjd2ViLWhvcml6b250YWwtbGlzdCB7XHJcblxyXG5cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcclxuICAgIC8qIERlZmF1bHQgKi9cclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcblxyXG5cclxuICAgIGxpIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmbGV4OiAwIDEgYXV0bztcclxuICAgICAgICAvKiBEZWZhdWx0ICovXHJcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMjBweCAwcHggMHB4OyBcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxhcmdlLWRlc2t0b3ApIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9ja1xyXG4gICAgfVxyXG59IiwiXHJcbi5nY3dlYi1mbGV4IHtcclxuXHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwcHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgbWFyZ2luOiAwIC0xMHB4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgLW1zLWZsZXgtd3JhcDogd3JhcDtcclxuXHJcbiAgICAmLmdjd2ViLWZsZXgtZnVsbCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiBkZXNrdG9wKSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgLmdjd2ViLWNhcmQge1xyXG4gICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgbWFyZ2luOiAwIDEwcHggMjVweCAxMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGdjd2ViLWJvcmRlcjtcclxuICAgICAgICBAaW5jbHVkZSBnY3dlYi1ib3JkZXItcmFkaXVzO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfZ2N3ZWItd2hpdGU7XHJcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICAgICAgZmxleC1iYXNpczogMjMlO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGRlc2t0b3ApIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuZ2N3ZWItY2FyZC0tcHJpbWFyeXtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2djd2ViLXBhbGUtb3JhbmdlO1xyXG4gICAgICAgIFxyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX2djd2ViLWJsYWNrO31cclxuXHJcbiAgICAgICAgICAgICYuZ2N3ZWItY2FyZC0tcHJpbWFyeS1mdWxse1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2djd2ViLW9yYW5nZTtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX2djd2ViLWJsYWNrO31cclxuXHJcbiAgICAgICAgYS50ZXh0LCAuZ2N3ZWItY2FyZC0tY29udGVudCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgICAgIGZsZXg6IDEgYXV0bztcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIC1tcy1mbGV4OiAxO1xyXG4gICAgICAgICAgICAtd2Via2l0LWZsZXg6IDE7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcblxyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX2djd2ViLWJsYWNrO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdjd2ViLWJvcmRlci1yYWRpdXM7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICNmZmRkMDA7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggI2ZmZGQwMDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfZ2N3ZWItYmxhY2s7XHJcbiAgICAgIGgyLCBoMywgLmdjd2ViLWNhcmQtLWNvbnRlbnQtLWhlYWRlcntcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgXHJcblxyXG4gICAgICAgICAgICAucHJlLXRleHQge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYT5zbWFsbCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBzcGFuIHtcclxuXHJcbiAgICAgICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBzcGFuOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGEudGV4dD4gOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMC43NXJlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGEudGV4dC50ZXh0LXRvcD4gOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwLjc1cmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYTpmb2N1cyB7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgICB9XHJcblxyXG5cclxuICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgLmdjd2ViLWNhcmQuZmVhdHVyZWQge1xyXG4gICAgICAgIGZsZXg6IDI7XHJcblxyXG4gICAgICAgIGEudGV4dD4uZ2N3ZWItYm9keSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5nY3dlYi1jYXJkX19kZXNjcmlwdGlvbntmbGV4LWdyb3c6IDE7fSIsIi5nY3dlYi1iciB7XHJcbiAgICBAaW5jbHVkZSBnY3dlYi1ib3JkZXItcmFkaXVzKCk7XHJcbn1cclxuXHJcbi5nY3dlYi1pbWcge1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uZ2N3ZWItcGVyc29uLWltYWdlIHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmdjd2ViLXJpZ2h0IHtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG59XHJcblxyXG4uZ2N3ZWItdGFnLS1uZXdzIHtcclxuICAgIGNvbG9yOiAkY29sb3JfZ2N3ZWItcmVkO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDhweDtcclxufVxyXG5cclxuLmdjd2ViLWRpc3BsYXktZmxleCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cclxuICAgIC5nY3dlYi1kaXNwbGF5LWZsZXgtLWxlZnQge1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgfVxyXG5cclxuICAgIC5nY3dlYi1kaXNwbGF5LWZsZXgtLXJpZ2h0IHtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5cclxuLmdjd2ViLW1vcmUtbGluayB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW4tdG9wOiAwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgcGFkZGluZy1yaWdodDogMTRweDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGNvbG9yOiAkY29sb3JfZ2N3ZWItYmxhY2sgIWltcG9ydGFudDtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcblxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgLXdlYmtpdC1jbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAwJSAxMDAlLCAxMDAlIDUwJSk7XHJcbiAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgMCUgMTAwJSwgMTAwJSA1MCUpO1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogNXB4IDFweCA2cHggNXB4O1xyXG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBpbmhlcml0O1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXJ7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4uZ2N3ZWItZ3VpZGUtbGlzdC1hY3RpdmV7Zm9udC13ZWlnaHQ6IDcwMDt9IiwiLm5oc3VrLXJlc3BvbnNpdmUtdGFibGUge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgIHRoZWFkIHtcclxuICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcclxuICAgICAgICAtd2Via2l0LWNsaXAtcGF0aDogaW5zZXQoNTAlKTtcclxuICAgICAgICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XHJcbiAgICAgICAgaGVpZ2h0OiAxcHg7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICB3aWR0aDogMXB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbW9iaWxlKSAge1xyXG4gICAgICAgICAgICBjbGlwOiBhdXRvO1xyXG4gICAgICAgICAgICAtd2Via2l0LWNsaXAtcGF0aDogbm9uZTtcclxuICAgICAgICAgICAgY2xpcC1wYXRoOiBub25lO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7XHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRib2R5IHtcclxuICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcclxuXHJcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IHRhYmxldCkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwLjVlbTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IG1vYmlsZSkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbW9iaWxlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IC8vIEZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgZmxleGJveFxyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMXB4O1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcblxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IG1vYmlsZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IHRhYmxldCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAkY29sb3JfZ2N3ZWItZ3JleS00O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm5oc3VrLXJlc3BvbnNpdmUtdGFibGVfX2hlYWRpbmcge1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDFlbTtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB3b3JkLWJyZWFrOiBpbml0aWFsO1xyXG5cclxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtb2JpbGUpIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubmhzdWstcmVzcG9uc2l2ZS10YWJsZV9fZGF0YS0td3JhcC1tb2JpbGUge1xyXG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiB0YWJsZXQpIHtcclxuICAgICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5uaHN1ay1yZXNwb25zaXZlLXRhYmxlX19kYXRhLS13cmFwLWRlc2t0b3Age1xyXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCkge1xyXG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcclxuICAgIH1cclxufVxyXG5cclxuLm5oc3VrLXJlcG9uc2l2ZS10YWJsZV9fbnVtZXJpYyB7XHJcbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KSB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi50YWJsZS1mb290IHtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYmZjMWMzO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZvbnQtc2l6ZTogMTlweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBwYWRkaW5nOiAwLjc1ZW0gMCAwLjc1ZW07XHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbi5uaHN1ay1yZXNwb25zaXZlLXRhYmxlLXZlcnNpb24yIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIFxyXG4gICAgdGhlYWQge1xyXG4gICAgICBib3JkZXI6IDA7XHJcbiAgICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XHJcbiAgICAgIC13ZWJraXQtY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xyXG4gICAgICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XHJcbiAgICAgIGhlaWdodDogMXB4O1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgd2lkdGg6IDFweDtcclxuICBcclxuICAgICAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCkge1xyXG4gICAgICAgIGNsaXA6IGF1dG87XHJcbiAgICAgICAgLXdlYmtpdC1jbGlwLXBhdGg6IG5vbmU7XHJcbiAgICAgICAgY2xpcC1wYXRoOiBub25lO1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgXHJcbiAgICB0Ym9keSB7XHJcbiAgICAgIHRyIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcclxuICBcclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgXHJcbiAgICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiB0YWJsZXQpIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9nY3dlYi13aGl0ZTtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDAgMCAjZDhkZGUwO1xyXG4gICAgICAgICAgcGFkZGluZzogMCAwLjVlbTtcclxuICAgICAgICB9XHJcbiAgXHJcbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IG1vYmlsZSkge1xyXG4gICAgICAgICAgZGlzcGxheTogdGFibGUtcm93O1xyXG4gICAgICAgIH1cclxuICBcclxuICAgICAgICB0aCB7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICBcclxuICAgICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgXHJcbiAgICAgICAgdGQge1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IC8vIEZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgZmxleGJveFxyXG4gICAgICAgICAgbWluLXdpZHRoOiAxcHg7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICBcclxuICAgICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgIH1cclxuICBcclxuICAgICAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogdGFibGV0KSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICAubmhzdWstcmVzcG9uc2l2ZS10YWJsZV9fZGF0YSB7XHJcbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IHRhYmxldCkge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIC5uaHN1ay1yZXNwb25zaXZlLXRhYmxlX19oZWFkaW5nIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDFlbTtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgXHJcbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIC5uaHN1ay1yZXBvbnNpdmUtdGFibGVfX251bWVyaWMge1xyXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCkge1xyXG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgLnRhYmxlLWZvb3Qge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNiZmMxYzM7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZm9udC1zaXplOiAxOXB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIHBhZGRpbmc6IDAuNWVtIDA7XHJcbiAgfSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxDQUFDLGlLQUFJO0FBR1osQUFBQSxDQUFDLENBQUM7RUFDRSxXQUFXLEVBQUUsbUJBQW1CO0VBQ2hDLE9BQU8sRUFBRSxJQUFJO0NBQ2hCOztBSzRMRCxBQUFBLGFBQWEsQ0FBQztFQUNaLFVBQVUsRUFySVMsT0FBTztDQW9KM0I7O0FBaEJELEFBR0UsYUFIVyxDQUdYLEVBQUU7QUFISixhQUFhLENBSVgsRUFBRSxDQUFDLENBQUM7QUFKTixhQUFhLENBS1gsRUFBRSxDQUFDLENBQUMsQUFBQSxNQUFNLENBQUM7RUFDUCxLQUFLLEVBdExTLE9BQU87Q0F1THhCOztBQVBILEFBV00sYUFYTyxDQVNYLE9BQU8sQUFFRixNQUFNLENBQUM7RUFDSixLQUFLLEVBNUxLLE9BQU87Q0E2THBCOztBQUtQLEFBQUEsOEJBQThCLEFBQUEsUUFBUTtBQUN0Qyw4QkFBOEIsQ0FBQztFQUM3QixLQUFLLEVBQUUsa0JBQWtCO0NBQzFCOztBQUtELEFBQUEsb0JBQW9CLENBQUM7RUFDbkIsS0FBSyxFQWpNYSxPQUFPLENBaU1DLFVBQVU7Q0FDckM7O0FBRUQsQUFBQSxtQkFBbUIsQ0FBQztFQUNsQixLQUFLLEVBek1ZLE9BQU8sQ0F5TUMsVUFBVTtDQUNwQzs7QUFHRCxBQUFBLDhCQUE4QixBQUFBLE1BQU0sRUFBQyw4QkFBOEIsQUFBQSxPQUFPLEFBQUEsUUFBUSxBQUFBLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQyw4QkFBOEIsQUFBQSxNQUFNLEFBQUEsUUFBUSxDQUFFO0VBRXpKLGdCQUFnQixFQXpNRyxPQUFPO0VBME0xQixLQUFLLEVBck5hLE9BQU8sQ0FxTkMsVUFBVTtDQUVyQzs7QWlCMU9EOztnRkFFZ0Y7QUFFaEY7Ozs7O0dBS0c7QUFFSCxBQUFBLElBQUksQ0FBQztFQUNILGVBQWUsRUFBRSxVQUFVO0VBQzNCLGtCQUFrQixFQUFFLFVBQVU7RUFDOUIsVUFBVSxFQUFFLFVBQVU7Q0FDdkI7O0FBRUQsQUFFRSxDQUZELEVBQUQsQ0FBQyxBQUdFLE9BQU8sRUFIVixDQUFDLEFBSUUsTUFBTSxDQUFDO0VBQ04sZUFBZSxFQUFFLE9BQU87RUFDeEIsa0JBQWtCLEVBQUUsT0FBTztFQUMzQixVQUFVLEVBQUUsT0FBTztDQUNwQjs7QUNmSCxVQUFVO0VBQ1IsV0FBVyxFQUFFLGNBQWM7RUFDM0IsWUFBWSxFQUFFLElBQUk7RUFDbEIsVUFBVSxFQUFFLE1BQU07RUFDbEIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsR0FBRyxFQUFFLG1FQUFtRTtFQUN4RSxHQUFHLEVBQUUsbUVBQW1FLENBQUMsYUFBYSxFQUNqRiw4REFBOEQsQ0FBQyxlQUFlLEVBQzlFLDZEQUE2RCxDQUFDLGNBQWMsRUFDNUUsNERBQTRELENBQUMsa0JBQWtCLEVBQy9FLGlHQUFpRyxDQUFDLGFBQWE7OztBQUd0SCxVQUFVO0VBQ1IsV0FBVyxFQUFFLGNBQWM7RUFDM0IsWUFBWSxFQUFFLElBQUk7RUFDbEIsVUFBVSxFQUFFLE1BQU07RUFDbEIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsR0FBRyxFQUFFLGtFQUFrRTtFQUN2RSxHQUFHLEVBQUUsa0VBQWtFLENBQUMsYUFBYSxFQUNoRiw2REFBNkQsQ0FBQyxlQUFlLEVBQzdFLDREQUE0RCxDQUFDLGNBQWMsRUFDM0UsMkRBQTJELENBQUMsa0JBQWtCLEVBQzlFLGdHQUFnRyxDQUFDLGFBQWE7OztBQ2pDckg7O2dGQUVnRjtBQUVoRjs7R0FFRztBQUVILEFBQUEsT0FBTztBQUNQLEtBQUs7QUFDTCxNQUFNO0FBQ04sTUFBTTtBQUNOLEdBQUc7QUFDSCxPQUFPLENBQUM7RUFDTixPQUFPLEVBQUUsS0FBSztDQUNmOztBQ2ZEOztnRkFFZ0Y7QUFFaEY7Ozs7R0FJRztBQUVILEFBQUEsTUFBTTtBQUNOLEtBQUs7QUFDTCxNQUFNO0FBQ04sUUFBUSxDQUFDO0VBQ1AsV0FBVyxFQUFFLE9BQU87Q0FDckI7O0FDZkQ7O2dGQUVnRjtBQUVoRjs7Ozs7Ozs7R0FRRztBQUVILEFBQUEsQ0FBQyxDQUFDO0VURkEsS0FBSyxFWllZLE9BQU87RVlYeEIsZUFBZSxFQUFFLElBQUk7RVNHckIsZUFBZSxFQUFFLElBQUk7Q0FVdEI7O0FBWkQsQVRDRSxDU0RELEFUQ0UsUUFBUSxDQUFDO0VBQ1IsS0FBSyxFWlFVLE9BQU87Q1lQdkI7O0FTSEgsQVRLRSxDU0xELEFUS0UsTUFBTSxDQUFDO0VBQ04sS0FBSyxFWlllLE9BQU87RVlYM0IsZUFBZSxFQUFFLFNBQVM7Q0FDM0I7O0FTUkgsQVRVRSxDU1ZELEFUVUUsTUFBTSxDQUFDO0VJWlIsZ0JBQWdCLEVoQmtCRyxPQUFPO0VnQmpCMUIsVUFBVSxFQUFFLENBQUMsQ0FBRSxJQUFHLENoQmlCQyxPQUFPLEVnQmpCYSxDQUFDLENmcUV0QixHQUFHLENEL0RILE9BQU87RWdCTHpCLEtBQUssRWhCS2EsT0FBTztFZ0JEekIsT0FBTyxFZmdFVyxHQUFHLENlaEVPLEtBQUssQ0FBQyxXQUFXO0VBRzdDLGVBQWUsRUFBRSxJQUFJO0NKaUJwQjs7QVN4QkgsQVRhSSxDU2JILEFUVUUsTUFBTSxBQUdKLE1BQU0sQ0FBQztFQUNOLGVBQWUsRUFBRSxJQUFJO0NBQ3RCOztBU2ZMLEFUaUJJLENTakJILEFUVUUsTUFBTSxBQU9KLFFBQVEsQ0FBQztFQUNSLEtBQUssRVpSUSxPQUFPO0NZU3JCOztBU25CTCxBVHFCSSxDU3JCSCxBVFVFLE1BQU0sQ0FXTCxXQUFXLENBQUM7RUFDVixJQUFJLEVaakJVLE9BQU87Q1lrQnRCOztBU3ZCTCxBVDBCRSxDUzFCRCxBVDBCRSxPQUFPLENBQUM7RUFDUCxLQUFLLEVaakJVLE9BQU87Q1lrQnZCOztBRnVNSyxNQUFNLENBQUMsS0FBSztFV25PcEIsQUFLSSxDQUxILEFBS0ksTUFBTSxDQUFDO0lBQ04sS0FBSyxFckJEUyxPQUFPO0lxQkVyQixPQUFPLEVBQUUsVUFBVSxDQUFDLFVBQVUsQ0FBQyxHQUFHO0lBQUUsU0FBUztJQUM3QyxTQUFTLEVBQUUsSUFBSTtJQUFFLFNBQVM7R0FDM0I7OztBQUtMLEFBRUksSUFGQSxDQUNGLENBQUMsQUFDRSxNQUFNLENBQUM7RUFDTixPQUFPLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ3JCWkwsT0FBTztDcUJhdEI7O0FDaENMOztnRkFFZ0Y7QUFFaEY7Ozs7Ozs7Ozs7R0FVRztBTEhILEFBQUEsSUFBSSxDS0tDO0VBQ0gsZ0JBQWdCLEV0QmlERyxPQUFPO0VzQmhEMUIsV0FBVyxFckJSQSxRQUFRLEVBRUMsS0FBSyxFQUFFLFVBQVU7RXFCT3JDLFVBQVUsRUFBRSxNQUFNO0VBQUUsU0FBUztDQUM5Qjs7QUFFRCxBQUFBLElBQUksQ0FBQztFQUNILHVCQUF1QixFQUFFLFNBQVM7RUFBRSxTQUFTO0VBQzdDLHNCQUFzQixFQUFFLFdBQVc7RUFBRSxTQUFTO0VBQzlDLGdCQUFnQixFdEIwQ0csT0FBTztFc0J6QzFCLEtBQUssRXRCUGEsT0FBTztFc0JRekIsU0FBUyxFckJMWSxJQUFJO0VxQk16QixXQUFXLEVYd0NLLEdBQXlCO0VXdkN6QyxNQUFNLEVBQUUsQ0FBQztFQUFFLFNBQVM7RUFDcEIsVUFBVSxFQUFFLElBQUk7RUFBRSxTQUFTO0NBQzVCOztBQy9CRDs7Z0ZBRWdGO0FBRWhGOzs7O0dBSUc7QUFFSCxBQUFBLEtBQUssQ0FBQztFZjhGRSxhQUEwQixFTmhDeEIsSUFBSTtFcUIzRFosY0FBYyxFQUFFLENBQUM7RUFDakIsY0FBYyxFQUFFLEdBQUc7RUFDbkIsS0FBSyxFQUFFLElBQUk7RUFBRSxTQUFTO0NBTXZCOztBYjROTyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWF2T3BDLEFBQUEsS0FBSyxDQUFDO0lmcUdJLGFBQTBCLEVOdEN4QixJQUFJO0dxQnBEZjs7O0FiNE5PLE1BQU0sQ0FBQyxLQUFLO0Vhdk9wQixBQUFBLEtBQUssQ0FBQztJQVFGLGlCQUFpQixFQUFFLEtBQUs7R0FHM0I7OztBQUVELEFBQ0UsS0FERyxDQUNILEVBQUUsQ0FBQztFQUNELGFBQWEsRXRCd0JpQixHQUFHLENzQnhCZSxLQUFLLEN2QnlDcEMsT0FBTztDdUJ4Q3pCOztBQUdILEFBQUEsRUFBRTtBQUNGLEVBQUUsQ0FBQztFWmtIRyxTQUFTLEVSekNFLElBQUk7RVEwQ2YsU0FBUyxFTHhHTCxJQUFxQztFS3lHekMsV0FBVyxFQTlFQyxHQUF5QjtFSG9DbkMsY0FBMEIsRU5oRHhCLEdBQUc7RU1nREwsYUFBMEIsRU41Q3hCLElBQUk7RU00Q04sV0FBMEIsRU5oRHhCLEdBQUc7RXFCcEJYLGFBQWEsRXRCY2lCLEdBQUcsQ3NCZGEsS0FBSyxDdkI4QmhDLE9BQU87RXVCN0IxQixVQUFVLEVBQUUsSUFBSTtFQUNoQixjQUFjLEVBQUUsR0FBRztDQUtwQjs7QWJzTU8sTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VhcE5wQyxBQUFBLEVBQUU7RUFDRixFQUFFLENBQUM7SVo0SEssU0FBUyxFUi9DQSxJQUFJO0lRZ0RiLFNBQVMsRUxsSFAsU0FBcUM7SUttSHZDLFdBQVcsRUF4RkQsT0FBeUI7R1l6QjFDOzs7QWJzTU8sTUFBTSxDQUFDLEtBQUs7RWFwTnBCLEFBQUEsRUFBRTtFQUNGLEVBQUUsQ0FBQztJWnVISyxTQUFTLEVSdENBLElBQUk7SVF1Q2IsV0FBVyxFUnRDQSxJQUFJO0dvQnJFdEI7OztBYnNNTyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWFwTnBDLEFBQUEsRUFBRTtFQUNGLEVBQUUsQ0FBQztJZmlGTyxjQUEwQixFTnREeEIsSUFBSTtHcUJkZjs7O0Fic01PLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFYXBOcEMsQUFBQSxFQUFFO0VBQ0YsRUFBRSxDQUFDO0lmaUZPLGFBQTBCLEVObER4QixJQUFJO0dxQmxCZjs7O0Fic01PLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFYXBOcEMsQUFBQSxFQUFFO0VBQ0YsRUFBRSxDQUFDO0lmaUZPLFdBQTBCLEVOdER4QixJQUFJO0dxQmRmOzs7QUFkRCxBQVdFLEVBWEEsQUFXQyxXQUFXO0FBVmQsRUFBRSxBQVVDLFdBQVcsQ0FBQztFQUNYLGFBQWEsRUFBRSxDQUFDO0NBQ2pCOztBQUdILEFBQUEsRUFBRSxDQUFDO0VBQ0QsV0FBVyxFQUFFLEdBQUc7Q0FDakI7O0FBRUQsQUFBQSxPQUFPLENBQUM7RVZTTixpQkFBaUIsRUFBRSxVQUFVO0VBQzdCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsSUFBSSxFQUFFLGFBQWE7RUFDbkIsU0FBUyxFQUFFLFVBQVU7RUFDckIsTUFBTSxFQUFFLEdBQUc7RUFDWCxNQUFNLEVBQUUsQ0FBQztFQUNULFFBQVEsRUFBRSxNQUFNO0VBQ2hCLE9BQU8sRUFBRSxDQUFDO0VBQ1YsUUFBUSxFQUFFLFFBQVE7RUFDbEIsV0FBVyxFQUFFLE1BQU07RUFDbkIsS0FBSyxFQUFFLEdBQUc7RVVsQmdCLFNBQVM7Q0FDcEM7O0FDbkRELEFBQUEsaUJBQWlCLENBQUM7RWhCd0dWLGFBQTBCLEVONUN4QixJQUFJO0NzQnREYjs7QWQyT08sTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VjalBwQyxBQUFBLGlCQUFpQixDQUFDO0loQitHUixhQUEwQixFTmxEeEIsSUFBSTtHc0J2RGY7OztBQU5ELEFBR0UsaUJBSGUsQ0FHZixpQkFBaUIsQUFBQSxhQUFhLENBQUM7RUFDN0IsYUFBYSxFQUFFLENBQUM7Q0FDakI7O0FBR0gsQUFBQSwwQkFBMEIsQ0FBQztFaEJnR25CLGFBQTBCLEVOeEN4QixJQUFJO0NzQnREYjs7QWR1T08sTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0Vjek9wQyxBQUFBLDBCQUEwQixDQUFDO0loQnVHakIsYUFBMEIsRU45Q3hCLElBQUk7R3NCdkRmOzs7QUFFRCxBQUFBLHdCQUF3QixDQUFDO0VBQ3ZCLFdBQVcsRXZCc0VRLEdBQUcsQ3VCdEU0QixLQUFLLEN4QmdCdkMsT0FBTztFd0JmdkIsWUFBWSxFdEJDVCxJQUFJO0NzQk1SOztBQVRELEFBSUUsd0JBSnNCLENBSXRCLGlCQUFpQixDQUFDO0VBRWhCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLENBQUM7Q0FDWDs7QUNwQkg7O2dGQUVnRjtBVnFEOUUsQUFBQSxlQUFlLENBQUo7RUFFVCxXQUFXLEVkcEJLLEtBQWlCO0VjcUJqQyxZQUFZLEVkckJJLEtBQWlCO0Njc0JsQzs7QUFKRCxBRjNDQSxlRTJDZSxBRjNDZCxNQUFNLENBQUM7RUFDTixLQUFLLEVBQUUsSUFBSTtFQUNYLE9BQU8sRUFBRSxFQUFFO0VBQ1gsT0FBTyxFQUFFLEtBQUs7Q0FDZjs7QUU4RUQsQUFBQSw4QkFBOEIsQ0FBVDtFQUNuQixVQUFVLEVBQUUsVUFBVTtFQUl0QixPQUFPLEVBQUUsQ0FBQyxDZDlETSxJQUFpQjtDY21FbEM7O0FMeUlLLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFS25KbEMsQUFBQSw4QkFBOEIsQ0FBVDtJQU9qQixLQUFLLEVBVG9DLElBQUk7SUFVN0MsS0FBSyxFQXpGSSxHQUFHO0dBMkZmOzs7QUFWRCxBQUFBLDRCQUE0QixDQUFQO0VBQ25CLFVBQVUsRUFBRSxVQUFVO0VBSXRCLE9BQU8sRUFBRSxDQUFDLENkOURNLElBQWlCO0NjbUVsQzs7QUx5SUssTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VLbkpsQyxBQUFBLDRCQUE0QixDQUFQO0lBT2pCLEtBQUssRUFUb0MsSUFBSTtJQVU3QyxLQUFLLEVBeEZFLFFBQVE7R0EwRmxCOzs7QUFWRCxBQUFBLDJCQUEyQixDQUFOO0VBQ25CLFVBQVUsRUFBRSxVQUFVO0VBSXRCLE9BQU8sRUFBRSxDQUFDLENkOURNLElBQWlCO0NjbUVsQzs7QUx5SUssTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VLbkpsQyxBQUFBLDJCQUEyQixDQUFOO0lBT2pCLEtBQUssRUFUb0MsSUFBSTtJQVU3QyxLQUFLLEVBdkZDLEdBQUc7R0F5Rlo7OztBQVZELEFBQUEsNkJBQTZCLENBQVI7RUFDbkIsVUFBVSxFQUFFLFVBQVU7RUFJdEIsT0FBTyxFQUFFLENBQUMsQ2Q5RE0sSUFBaUI7Q2NtRWxDOztBTHlJSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RUtuSmxDLEFBQUEsNkJBQTZCLENBQVI7SUFPakIsS0FBSyxFQVRvQyxJQUFJO0lBVTdDLEtBQUssRUF0RkcsUUFBUTtHQXdGbkI7OztBQVZELEFBQUEsaUNBQWlDLENBQVo7RUFDbkIsVUFBVSxFQUFFLFVBQVU7RUFJdEIsT0FBTyxFQUFFLENBQUMsQ2Q5RE0sSUFBaUI7Q2NtRWxDOztBTHlJSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RUtuSmxDLEFBQUEsaUNBQWlDLENBQVo7SUFPakIsS0FBSyxFQVRvQyxJQUFJO0lBVTdDLEtBQUssRUFyRk8sR0FBRztHQXVGbEI7OztBQVZELEFBQUEsdUJBQXVCLENBQUY7RUFDbkIsVUFBVSxFQUFFLFVBQVU7RUFJdEIsT0FBTyxFQUFFLENBQUMsQ2Q5RE0sSUFBaUI7Q2NtRWxDOztBTHlJSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RUtuSmxDLEFBQUEsdUJBQXVCLENBQUY7SUFPakIsS0FBSyxFQVRvQyxJQUFJO0lBVTdDLEtBQUssRUFwRkgsSUFBSTtHQXNGVDs7O0FXeEdIOztnRkFFZ0Y7QUFFaEY7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJHO0FBbUJELEFBQUEsbUJBQW1CLENBQUM7RWxCZ0VkLFdBQTBCLEVOaEN4QixJQUFJO0VNZ0NOLGNBQTBCLEVOaEN4QixJQUFJO0V3QjdDWixPQUFPLEVBQUUsS0FBSztFQUFFLFNBQVM7Q0FleEI7O0FoQnVNSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWdCek1sQyxBQUFBLG1CQUFtQixDQUFDO0lsQnVFWixXQUEwQixFTnRDeEIsSUFBSTtHd0IvQmI7OztBaEJ1TUssTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VnQnpNbEMsQUFBQSxtQkFBbUIsQ0FBQztJbEJ1RVosY0FBMEIsRU50Q3hCLElBQUk7R3dCL0JiOzs7QUFGRCxBYndDQSxtQmF4Q21CLEdid0NmLENBQUMsQUFBQSxZQUFZLENBQUM7RUFDaEIsVUFBVSxFQUFFLENBQUM7Q0FDZDs7QWExQ0QsQWIyQ0EsbUJhM0NtQixHYjJDZixDQUFDLEFBQUEsV0FBVyxDQUFDO0VBQ2YsYUFBYSxFQUFFLENBQUM7Q0FDakI7O0FhMUNELEFBQUEsc0JBQXNCLENBQUM7RWxCNkRqQixXQUEwQixFTjVCeEIsSUFBSTtDd0IvQlg7O0FoQm9NSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWdCdE1sQyxBQUFBLHNCQUFzQixDQUFDO0lsQm9FZixXQUEwQixFTmxDeEIsSUFBSTtHd0JoQ2I7OztBQUNELEFBQUEsc0JBQXNCLENBQUM7RWxCMERqQixjQUEwQixFTnhDeEIsSUFBSTtFTXdDTixXQUEwQixFTnhDeEIsSUFBSTtDd0JoQlg7O0FoQmlNSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWdCbk1sQyxBQUFBLHNCQUFzQixDQUFDO0lsQmlFZixjQUEwQixFTjlDeEIsSUFBSTtHd0JqQmI7OztBaEJpTUssTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VnQm5NbEMsQUFBQSxzQkFBc0IsQ0FBQztJbEJpRWYsV0FBMEIsRU45Q3hCLElBQUk7R3dCakJiOzs7QUNoREg7O2dGQUVnRjtBQUVoRjs7Ozs7Ozs7Ozs7O0dBWUc7QUEyQkQsQUFBQSxzQkFBc0IsQ0FBQztFQXhCdkIsTUFBTSxFQUFFLENBQUMsQzFCa0JTLElBQWlCO0UwQmxCTCxTQUFTO0VBRXZDLFNBQVMsRTFCY1EsS0FBSztFMEJkUSxTQUFTO0VBTXZDLFNBQVM7Q0FrQlI7O0FqQm9NSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWlCdE1sQyxBQUFBLHNCQUFzQixDQUFDO0lBbkJyQixNQUFNLEVBQUUsQ0FBQyxDMUJZRSxJQUFJO0kwQlpVLFNBQVM7R0FxQm5DOzs7QWpCb01LLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtFaUJ0TS9CLEFBQUEsc0JBQXNCLENBQUM7SUFkckIsTUFBTSxFQUFFLE1BQU07R0FnQmY7OztBQUNELEFBQUEsNEJBQTRCLENBQUM7RUFaN0IsTUFBTSxFQUFFLENBQUMsQzFCR1MsSUFBaUI7RTBCRm5DLFNBQVMsRUFBRSxJQUFJO0VBQUUsU0FBUztDQWF6Qjs7QWpCaU1LLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFaUJuTWxDLEFBQUEsNEJBQTRCLENBQUM7SUFSM0IsTUFBTSxFQUFFLENBQUMsQzFCRkUsSUFBSTtJMEJFVSxTQUFTO0dBVW5DOzs7QUNoREg7O2dGQUVnRjtBQUVoRjs7OztHQUlHO0FBSUgsQUFBQSxXQUFXLENBQUM7RUFDVixNQUFNLEUzQmdCVSxJQUFJO0UyQmZwQixLQUFLLEUzQmVXLElBQUk7QzJCZHJCOztBQUlELEFBQUEsbUJBQW1CLENBQUM7RUFDbEIsSUFBSSxFNUJJYSxPQUFPO0M0Qkh6Qjs7QUFFRCxBQUFBLHlCQUF5QixDQUFDO0VBQ3hCLElBQUksRTVCQWEsT0FBTztDNEJDekI7O0FBRUQsQUFBQSwwQkFBMEIsQ0FBQztFQUN6QixJQUFJLEU1QkphLE9BQU87QzRCS3pCOztBQUVELEFBQUEsa0JBQWtCLENBQUM7RUFDakIsSUFBSSxFNUJSYSxPQUFPO0M0QlN6Qjs7QUFFRCxBQUFBLGtCQUFrQixDQUFDO0VBQ2pCLElBQUksRTVCUFksT0FBTztDNEJReEI7O0FBRUQsQUFBQSxpQkFBaUIsQ0FBQztFQUNoQixNQUFNLEU1QlpZLE9BQU87QzRCYTFCOztBQUVELEFBQUEsd0JBQXdCLENBQUM7RUFDdkIsSUFBSSxFNUJwQmEsT0FBTztDNEJxQnpCOztBQUVELEFBQUEsdUJBQXVCLENBQUM7RUFDdEIsSUFBSSxFNUJ4QmEsT0FBTztDNEJ5QnpCOztBQUVELEFBQUEsK0JBQStCLENBQUM7RUFDOUIsSUFBSSxFNUJ4QmMsT0FBTztDNEJ5QjFCOztBQUVELEFBQUEseUJBQXlCLENBQUM7RUFDeEIsY0FBYyxFQUFFLGNBQWM7RUFDOUIsYUFBYSxFQUFFLGNBQWM7RUFDN0IsWUFBWSxFQUFFLGNBQWM7RUFDNUIsaUJBQWlCLEVBQUUsY0FBYztFQUNqQyxTQUFTLEVBQUUsY0FBYztFQUN6QixJQUFJLEU1QnJDYSxPQUFPO0M0QnlDekI7O0FBVkQsQUFPRSx5QkFQdUIsQ0FPdkIsSUFBSSxDQUFDO0VBQ0gsSUFBSSxFNUI3Q1ksT0FBTztDNEI4Q3hCOztBQUdILEFBQUEsdUJBQXVCLENBQUM7RUFDdEIsSUFBSSxFNUI1Q2EsT0FBTztDNEJnRHpCOztBQUxELEFBRUUsdUJBRnFCLENBRXJCLElBQUksQ0FBQztFQUNILElBQUksRTVCcERZLE9BQU87QzRCcUR4Qjs7QUFHSCxBQUNFLG1CQURpQixDQUNqQixJQUFJLENBQUM7RUFDSCxJQUFJLEU1QlhhLE9BQU87QzRCWXpCOztBQUdILEFBQUEsaUJBQWlCLENBQUM7RUFDaEIsSUFBSSxFNUJ6RGEsT0FBTztDNEIwRHpCOztBQUVELEFBQUEsa0JBQWtCLENBQUM7RUFDakIsSUFBSSxFNUI3RGEsT0FBTztDNEI4RHpCOztBQUlELEFBQUEsb0JBQW9CLENBQUM7RUFDbkIsTUFBTSxFQUFFLE1BQXVCO0VBQy9CLEtBQUssRUFBRSxNQUF1QjtDQUMvQjs7QUFFRCxBQUFBLG9CQUFvQixDQUFDO0VBQ25CLE1BQU0sRUFBRSxJQUFzQjtFQUM5QixLQUFLLEVBQUUsSUFBc0I7Q0FDOUI7O0FBRUQsQUFBQSxvQkFBb0IsQ0FBQztFQUNuQixNQUFNLEVBQUUsTUFBdUI7RUFDL0IsS0FBSyxFQUFFLE1BQXVCO0NBQy9COztBQUVELEFBQUEscUJBQXFCLENBQUM7RUFDcEIsTUFBTSxFQUFFLElBQW9CO0VBQzVCLEtBQUssRUFBRSxJQUFvQjtDQUM1Qjs7QUM1R0Q7O2dGQUVnRjtBQVVoRjs7OztHQUlHO0FBcUNILEFBbkNBLFdBbUNXLEVBSVgsRUFBRSxFQUtGLEVBQUUsQ0E1Q1U7RWxCOEhOLFNBQVMsRVJ6Q0UsSUFBSTtFUTBDZixTQUFTLEVMeEdMLElBQXFDO0VLeUd6QyxXQUFXLEVBOUVDLEdBQXlCO0VIb0NuQyxhQUEwQixFTjVDeEIsSUFBSTtFMkJ0Q1osZUFBZSxFQUFFLElBQUk7RUFDckIsVUFBVSxFQUFFLENBQUM7RUFDYixZQUFZLEVBQUUsQ0FBQztDQUNoQjs7QW5Cd05PLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFbUI1THBDLEFBbkNBLFdBbUNXLEVBSVgsRUFBRSxFQUtGLEVBQUUsQ0E1Q1U7SWxCd0lKLFNBQVMsRVIvQ0EsSUFBSTtJUWdEYixTQUFTLEVMbEhQLFNBQXFDO0lLbUh2QyxXQUFXLEVBeEZELE9BQXlCO0drQjNDMUM7OztBbkJ3Tk8sTUFBTSxDQUFDLEtBQUs7RW1CNUxwQixBQW5DQSxXQW1DVyxFQUlYLEVBQUUsRUFLRixFQUFFLENBNUNVO0lsQm1JSixTQUFTLEVSdENBLElBQUk7SVF1Q2IsV0FBVyxFUnRDQSxJQUFJO0cwQnZGdEI7OztBbkJ3Tk8sTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VtQjVMcEMsQUFuQ0EsV0FtQ1csRUFJWCxFQUFFLEVBS0YsRUFBRSxDQTVDVTtJckI2RkYsYUFBMEIsRU5sRHhCLElBQUk7RzJCcENmOzs7QUE0QkQsQUExQkEsV0EwQlcsR0ExQkcsRUFBRSxFQThCaEIsRUFBRSxHQTlCWSxFQUFFLEVBbUNoQixFQUFFLEdBbkNZLEVBQUUsQ0FBQztFckI2RVQsYUFBMEIsRU5wRHhCLEdBQUc7QzJCbkJaOztBbkJnTk8sTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VtQjVMcEMsQUExQkEsV0EwQlcsR0ExQkcsRUFBRSxFQThCaEIsRUFBRSxHQTlCWSxFQUFFLEVBbUNoQixFQUFFLEdBbkNZLEVBQUUsQ0FBQztJckJvRlAsYUFBMEIsRU4xRHhCLEdBQUc7RzJCcEJkOzs7QUFvQkQsQUF2QkUsV0F1QlMsR0ExQkcsRUFBRSxBQUdiLFdBQVcsRUEyQmQsRUFBRSxHQTlCWSxFQUFFLEFBR2IsV0FBVyxFQWdDZCxFQUFFLEdBbkNZLEVBQUUsQUFHYixXQUFXLENBQUM7RUFDWCxhQUFhLEVBQUUsQ0FBQztDQUNqQjs7QUFRSCxBQUxBLG1CQUttQixFQWlCbkIsRUFBRSxDQXRCa0I7RUFDbEIsZUFBZSxFQUFFLElBQUk7RUFDckIsWUFBWSxFQUFFLElBQUk7RUFBRSxTQUFTO0NBQzlCOztBQVdELEFBTEEsbUJBS21CLEVBYW5CLEVBQUUsQ0FsQmtCO0VBQ2xCLGVBQWUsRUFBRSxPQUFPO0VBQ3hCLFlBQVksRUFBRSxJQUFJO0VBQUUsU0FBUztDQUM5Qjs7QUFvQkQsQUFBQSxpQkFBaUI7QUFDakIsa0JBQWtCLENBQUM7RUFDakIsVUFBVSxFQUFFLElBQUk7RUFDaEIsVUFBVSxFQUFFLENBQUM7RUFDYixZQUFZLEVBQUUsSUFBSTtFQUFFLFNBQVM7RUFDN0IsUUFBUSxFQUFFLFFBQVE7Q0FPbkI7O0FBWkQsQUFPRSxpQkFQZSxDQU9mLEdBQUc7QUFOTCxrQkFBa0IsQ0FNaEIsR0FBRyxDQUFDO0VBQ0YsSUFBSSxFQUFFLElBQUk7RUFBRSxTQUFTO0VBQ3JCLFVBQVUsRUFBRSxJQUFJO0VBQUUsU0FBUztFQUMzQixRQUFRLEVBQUUsUUFBUTtDQUNuQjs7QUM5RUg7O2dGQUVnRjtBQVVoRjs7Ozs7O0dBTUc7QUFPSCxBQUxBLG9CQUtvQixFQXVDcEIsRUFBRSxDQTVDbUI7RUFDbkIsTUFBTSxFQUFFLENBQUM7RUFDVCxNQUFNLEVBQUUsQ0FBQztDQUNWOztBQVdELEFBTEEsd0JBS3dCLENBTEM7RXRCMkVqQixVQUEwQixFTjVCeEIsSUFBSTtFTTRCTixhQUEwQixFTjVCeEIsSUFBSTtDNEI1Q2I7O0FwQmlOTyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RW9CL01wQyxBQUxBLHdCQUt3QixDQUxDO0l0QmtGZixVQUEwQixFTmxDeEIsSUFBSTtHNEI3Q2Y7OztBcEJpTk8sTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VvQi9NcEMsQUFMQSx3QkFLd0IsQ0FMQztJdEJrRmYsYUFBMEIsRU5sQ3hCLElBQUk7RzRCN0NmOzs7QUFXRCxBQUxBLHVCQUt1QixFQXFCdkIsRUFBRSxDQTFCc0I7RXRCa0VoQixVQUEwQixFTnBDeEIsSUFBSTtFTW9DTixhQUEwQixFTnBDeEIsSUFBSTtDNEIzQmI7O0FwQndNTyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RW9CdE1wQyxBQUxBLHVCQUt1QixFQXFCdkIsRUFBRSxDQTFCc0I7SXRCeUVkLFVBQTBCLEVOMUN4QixJQUFJO0c0QjVCZjs7O0FwQndNTyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RW9CdE1wQyxBQUxBLHVCQUt1QixFQXFCdkIsRUFBRSxDQTFCc0I7SXRCeUVkLGFBQTBCLEVOMUN4QixJQUFJO0c0QjVCZjs7O0FBV0QsQUFMQSx1QkFLdUIsQ0FMQztFdEJ5RGhCLFVBQTBCLEVONUN4QixJQUFJO0VNNENOLGFBQTBCLEVONUN4QixJQUFJO0M0QlZiOztBcEIrTE8sTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VvQjdMcEMsQUFMQSx1QkFLdUIsQ0FMQztJdEJnRWQsVUFBMEIsRU5sRHhCLElBQUk7RzRCWGY7OztBcEIrTE8sTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VvQjdMcEMsQUFMQSx1QkFLdUIsQ0FMQztJdEJnRWQsYUFBMEIsRU5sRHhCLElBQUk7RzRCWGY7OztBQVVELEFBSkEsNkJBSTZCLEVBSTdCLEVBQUUsQ0FSNEI7RUFDNUIsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEM5QlNMLE9BQU87QzhCUjNCOztBQU1ELEFBQUEsRUFBRSxDQUFDO0VBQUUsU0FBUztDQUliOztBQ3BFRDs7Z0ZBRWdGO0FBRWhGLGNBQWM7QUFxQmQsQUFYQSxrQkFXa0IsQ0FYQztFcEJrSWIsU0FBUyxFUi9HRSxJQUFJO0VRZ0hmLFNBQVMsRUx4R0wsSUFBcUM7RUt5R3pDLFdBQVcsRUE5RUMsT0FBeUI7RW9CcER6QyxXQUFXLEVBQUUsb0JBQW9CO0VBQ2pDLE9BQU8sRUFBRSxLQUFLO0VBQ2QsV0FBVyxFOUJKSyxHQUFHO0U4QktuQixVQUFVLEVBQUUsQ0FBQztFQUNiLFdBQVcsRUFBRSxrQkFBa0I7RXZCb0Z6QixhQUEwQixFTnhDeEIsSUFBSTtDNkJ6Q2I7O0FyQjBOTyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RXFCeE5wQyxBQVhBLGtCQVdrQixDQVhDO0lwQjRJWCxTQUFTLEVSckhBLElBQUk7SVFzSGIsU0FBUyxFTGxIUCxJQUFxQztJS21IdkMsV0FBVyxFQXhGRCxLQUF5QjtHb0I3QzFDOzs7QXJCME5PLE1BQU0sQ0FBQyxLQUFLO0VxQnhOcEIsQUFYQSxrQkFXa0IsQ0FYQztJcEJ1SVgsU0FBUyxFUjVHQSxJQUFJO0lRNkdiLFdBQVcsRVI1R0EsR0FBRztHNEJuQnJCOzs7QXJCME5PLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFcUJ4TnBDLEFBWEEsa0JBV2tCLENBWEM7SXZCaUdULGFBQTBCLEVOOUN4QixJQUFJO0c2QjFDZjs7O0FBbUJELEFBWEEsRUFXRTtBQUNGLGlCQUFpQixDQVpDO0VwQmlIWixTQUFTLEVSbkZFLElBQUk7RVFvRmYsU0FBUyxFTHhHTCxNQUFxQztFS3lHekMsV0FBVyxFQTlFQyxPQUF5QjtFb0JuQ3pDLFdBQVcsRUFBRSxvQkFBb0I7RUFDakMsT0FBTyxFQUFFLEtBQUs7RUFDZCxXQUFXLEU5QnJCSyxHQUFHO0U4QnNCbkIsVUFBVSxFQUFFLENBQUM7RUFDYixXQUFXLEVBQUUsZUFBZTtFdkJtRXRCLGFBQTBCLEVOeEN4QixJQUFJO0M2QnhCYjs7QXJCeU1PLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFcUJ2TXBDLEFBWEEsRUFXRTtFQUNGLGlCQUFpQixDQVpDO0lwQjJIVixTQUFTLEVSekZBLElBQUk7SVEwRmIsU0FBUyxFTGxIUCxJQUFxQztJS21IdkMsV0FBVyxFQXhGRCxJQUF5QjtHb0I1QjFDOzs7QXJCeU1PLE1BQU0sQ0FBQyxLQUFLO0VxQnZNcEIsQUFYQSxFQVdFO0VBQ0YsaUJBQWlCLENBWkM7SXBCc0hWLFNBQVMsRVJoRkEsSUFBSTtJUWlGYixXQUFXLEVSaEZBLElBQUk7RzRCOUJ0Qjs7O0FyQnlNTyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RXFCdk1wQyxBQVhBLEVBV0U7RUFDRixpQkFBaUIsQ0FaQztJdkJnRlIsYUFBMEIsRU45Q3hCLElBQUk7RzZCekJmOzs7QUFrQkQsQUFYQSxFQVdFO0FBQ0YsZ0JBQWdCLENBWkM7RXBCaUdYLFNBQVMsRVJyRUUsSUFBSTtFUXNFZixTQUFTLEVMeEdMLE9BQXFDO0VLeUd6QyxXQUFXLEVBOUVDLEdBQXlCO0VvQmxCekMsV0FBVyxFQUFFLG9CQUFvQjtFQUNqQyxPQUFPLEVBQUUsS0FBSztFQUNkLFdBQVcsRTlCdENLLEdBQUc7RThCdUNuQixVQUFVLEVBQUUsQ0FBQztFdkJtRFAsYUFBMEIsRU41Q3hCLElBQUk7QzZCSmI7O0FyQnlMTyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RXFCdkxwQyxBQVhBLEVBV0U7RUFDRixnQkFBZ0IsQ0FaQztJcEIyR1QsU0FBUyxFUjNFQSxJQUFJO0lRNEViLFNBQVMsRUxsSFAsTUFBcUM7SUttSHZDLFdBQVcsRUF4RkQsT0FBeUI7R29CWjFDOzs7QXJCeUxPLE1BQU0sQ0FBQyxLQUFLO0VxQnZMcEIsQUFYQSxFQVdFO0VBQ0YsZ0JBQWdCLENBWkM7SXBCc0dULFNBQVMsRVJsRUEsSUFBSTtJUW1FYixXQUFXLEVSbEVBLElBQUk7RzRCNUJ0Qjs7O0FyQnlMTyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RXFCdkxwQyxBQVhBLEVBV0U7RUFDRixnQkFBZ0IsQ0FaQztJdkJnRVAsYUFBMEIsRU5sRHhCLElBQUk7RzZCTGY7OztBQWtCRCxBQVhBLEVBV0U7QUFDRixnQkFBZ0IsQ0FaQztFcEJpRlgsU0FBUyxFUnpDRSxJQUFJO0VRMENmLFNBQVMsRUx4R0wsSUFBcUM7RUt5R3pDLFdBQVcsRUE5RUMsR0FBeUI7RW9CRnpDLFdBQVcsRUFBRSxvQkFBb0I7RUFDakMsT0FBTyxFQUFFLEtBQUs7RUFDZCxXQUFXLEU5QnRESyxHQUFHO0U4QnVEbkIsVUFBVSxFQUFFLENBQUM7RXZCbUNQLGFBQTBCLEVOaER4QixHQUFHO0M2QmdCWjs7QXJCeUtPLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFcUJ2S3BDLEFBWEEsRUFXRTtFQUNGLGdCQUFnQixDQVpDO0lwQjJGVCxTQUFTLEVSL0NBLElBQUk7SVFnRGIsU0FBUyxFTGxIUCxTQUFxQztJS21IdkMsV0FBVyxFQXhGRCxPQUF5QjtHb0JJMUM7OztBckJ5S08sTUFBTSxDQUFDLEtBQUs7RXFCdktwQixBQVhBLEVBV0U7RUFDRixnQkFBZ0IsQ0FaQztJcEJzRlQsU0FBUyxFUnRDQSxJQUFJO0lRdUNiLFdBQVcsRVJ0Q0EsSUFBSTtHNEJ4Q3RCOzs7QXJCeUtPLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFcUJ2S3BDLEFBWEEsRUFXRTtFQUNGLGdCQUFnQixDQVpDO0l2QmdEUCxhQUEwQixFTnREeEIsSUFBSTtHNkJlZjs7O0FBa0JELEFBWEEsRUFXRTtBQUNGLGdCQUFnQixDQVpDO0VwQmlFWCxTQUFTLEVSYkUsSUFBSTtFUWNmLFNBQVMsRUx4R0wsUUFBcUM7RUt5R3pDLFdBQVcsRUE5RUMsT0FBeUI7RW9CY3pDLFdBQVcsRUFBRSxvQkFBb0I7RUFDakMsT0FBTyxFQUFFLEtBQUs7RUFDZCxXQUFXLEU5QnRFSyxHQUFHO0U4QnVFbkIsVUFBVSxFQUFFLENBQUM7RXZCbUJQLGFBQTBCLEVOcER4QixHQUFHO0M2Qm9DWjs7QXJCeUpPLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFcUJ2SnBDLEFBWEEsRUFXRTtFQUNGLGdCQUFnQixDQVpDO0lwQjJFVCxTQUFTLEVSbkJBLElBQUk7SVFvQmIsU0FBUyxFTGxIUCxJQUFxQztJS21IdkMsV0FBVyxFQXhGRCxHQUF5QjtHb0JvQjFDOzs7QXJCeUpPLE1BQU0sQ0FBQyxLQUFLO0VxQnZKcEIsQUFYQSxFQVdFO0VBQ0YsZ0JBQWdCLENBWkM7SXBCc0VULFNBQVMsRVJWQSxJQUFJO0lRV2IsV0FBVyxFUlZBLEdBQUc7RzRCcERyQjs7O0FyQnlKTyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RXFCdkpwQyxBQVhBLEVBV0U7RUFDRixnQkFBZ0IsQ0FaQztJdkJnQ1AsYUFBMEIsRU4xRHhCLEdBQUc7RzZCbUNkOzs7QUFrQkQsQUFYQSxFQVdFO0FBQ0YsaUJBQWlCLENBWkM7RXBCaURaLFNBQVMsRVJiRSxJQUFJO0VRY2YsU0FBUyxFTHhHTCxRQUFxQztFS3lHekMsV0FBVyxFQTlFQyxPQUF5QjtFb0I4QnpDLFdBQVcsRUFBRSxvQkFBb0I7RUFDakMsT0FBTyxFQUFFLEtBQUs7RUFDZCxXQUFXLEU5QnRGSyxHQUFHO0U4QnVGbkIsVUFBVSxFQUFFLENBQUM7RXZCR1AsYUFBMEIsRU5oRHhCLEdBQUc7QzZCZ0RaOztBckJ5SU8sTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VxQnZJcEMsQUFYQSxFQVdFO0VBQ0YsaUJBQWlCLENBWkM7SXBCMkRWLFNBQVMsRVJuQkEsSUFBSTtJUW9CYixTQUFTLEVMbEhQLElBQXFDO0lLbUh2QyxXQUFXLEVBeEZELEdBQXlCO0dvQm9DMUM7OztBckJ5SU8sTUFBTSxDQUFDLEtBQUs7RXFCdklwQixBQVhBLEVBV0U7RUFDRixpQkFBaUIsQ0FaQztJcEJzRFYsU0FBUyxFUlZBLElBQUk7SVFXYixXQUFXLEVSVkEsR0FBRztHNEJwQ3JCOzs7QXJCeUlPLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFcUJ2SXBDLEFBWEEsRUFXRTtFQUNGLGlCQUFpQixDQVpDO0l2QmdCUixhQUEwQixFTnREeEIsSUFBSTtHNkIrQ2Y7OztBQWtCRCxBQVhBLEVBV0U7QUFDRixrQkFBa0IsQ0FaQztFcEJpQ2IsU0FBUyxFUmJFLElBQUk7RVFjZixTQUFTLEVMeEdMLFFBQXFDO0VLeUd6QyxXQUFXLEVBOUVDLE9BQXlCO0VvQjhDekMsV0FBVyxFQUFFLG9CQUFvQjtFQUNqQyxPQUFPLEVBQUUsS0FBSztFQUNkLFdBQVcsRTlCdEdLLEdBQUc7RThCdUduQixVQUFVLEVBQUUsQ0FBQztFdkJiUCxhQUEwQixFTnBEeEIsR0FBRztDNkJvRVo7O0FyQnlITyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RXFCdkhwQyxBQVhBLEVBV0U7RUFDRixrQkFBa0IsQ0FaQztJcEIyQ1gsU0FBUyxFUm5CQSxJQUFJO0lRb0JiLFNBQVMsRUxsSFAsSUFBcUM7SUttSHZDLFdBQVcsRUF4RkQsR0FBeUI7R29Cb0QxQzs7O0FyQnlITyxNQUFNLENBQUMsS0FBSztFcUJ2SHBCLEFBWEEsRUFXRTtFQUNGLGtCQUFrQixDQVpDO0lwQnNDWCxTQUFTLEVSVkEsSUFBSTtJUVdiLFdBQVcsRVJWQSxHQUFHO0c0QnBCckI7OztBckJ5SE8sTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VxQnZIcEMsQUFYQSxFQVdFO0VBQ0Ysa0JBQWtCLENBWkM7SXZCQVQsYUFBMEIsRU4xRHhCLEdBQUc7RzZCbUVkOzs7QUFPRCx5Q0FBeUM7QUFFekMsQUFBQSxpQkFBaUIsQ0FBQztFcEIzRmhCLFdBQVcsRVZ2Qk8sR0FBRztFVWlJakIsU0FBUyxFUm5GRSxJQUFJO0VRb0ZmLFNBQVMsRUx4R0wsTUFBcUM7RUt5R3pDLFdBQVcsRUE5RUMsT0FBeUI7RW9CZ0V6QyxXQUFXLEVBQUUsb0JBQW9CO0VBQ2pDLEtBQUssRS9CdEVjLE9BQU87RStCdUUxQixPQUFPLEVBQUUsS0FBSztFQUNkLGFBQWEsRTdCMUhWLEdBQUc7QzZCMkhQOztBckJ5R08sTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VxQmhIcEMsQUFBQSxpQkFBaUIsQ0FBQztJcEJ5QlYsU0FBUyxFUnpGQSxJQUFJO0lRMEZiLFNBQVMsRUxsSFAsSUFBcUM7SUttSHZDLFdBQVcsRUF4RkQsSUFBeUI7R29Cb0UxQzs7O0FyQnlHTyxNQUFNLENBQUMsS0FBSztFcUJoSHBCLEFBQUEsaUJBQWlCLENBQUM7SXBCb0JWLFNBQVMsRVJoRkEsSUFBSTtJUWlGYixXQUFXLEVSaEZBLElBQUk7RzRCa0V0Qjs7O0FBRUQsQUFBQSxnQkFBZ0IsQ0FBQztFcEJwR2YsV0FBVyxFVnZCTyxHQUFHO0VVaUlqQixTQUFTLEVSckVFLElBQUk7RVFzRWYsU0FBUyxFTHhHTCxPQUFxQztFS3lHekMsV0FBVyxFQTlFQyxHQUF5QjtFb0J5RXpDLFdBQVcsRUFBRSxvQkFBb0I7RUFDakMsS0FBSyxFL0IvRWMsT0FBTztFK0JnRjFCLE9BQU8sRUFBRSxLQUFLO0VBQ2QsYUFBYSxFN0JuSVYsR0FBRztDNkJvSVA7O0FyQmdHTyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RXFCdkdwQyxBQUFBLGdCQUFnQixDQUFDO0lwQmdCVCxTQUFTLEVSM0VBLElBQUk7SVE0RWIsU0FBUyxFTGxIUCxNQUFxQztJS21IdkMsV0FBVyxFQXhGRCxPQUF5QjtHb0I2RTFDOzs7QXJCZ0dPLE1BQU0sQ0FBQyxLQUFLO0VxQnZHcEIsQUFBQSxnQkFBZ0IsQ0FBQztJcEJXVCxTQUFTLEVSbEVBLElBQUk7SVFtRWIsV0FBVyxFUmxFQSxJQUFJO0c0QjZEdEI7OztBQUVELEFBQUEsZ0JBQWdCLENBQUM7RXBCN0dmLFdBQVcsRVZ2Qk8sR0FBRztFVWlJakIsU0FBUyxFUnpDRSxJQUFJO0VRMENmLFNBQVMsRUx4R0wsSUFBcUM7RUt5R3pDLFdBQVcsRUE5RUMsR0FBeUI7RW9Ca0Z6QyxXQUFXLEVBQUUsb0JBQW9CO0VBQ2pDLEtBQUssRS9CeEZjLE9BQU87RStCeUYxQixPQUFPLEVBQUUsS0FBSztDQUNmOztBckJ3Rk8sTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VxQjlGcEMsQUFBQSxnQkFBZ0IsQ0FBQztJcEJPVCxTQUFTLEVSL0NBLElBQUk7SVFnRGIsU0FBUyxFTGxIUCxTQUFxQztJS21IdkMsV0FBVyxFQXhGRCxPQUF5QjtHb0JxRjFDOzs7QXJCd0ZPLE1BQU0sQ0FBQyxLQUFLO0VxQjlGcEIsQUFBQSxnQkFBZ0IsQ0FBQztJcEJFVCxTQUFTLEVSdENBLElBQUk7SVF1Q2IsV0FBVyxFUnRDQSxJQUFJO0c0QnlDdEI7OztBQUVELEFBQUEsc0JBQXNCLENBQUM7RUFDckIsYUFBYSxFN0JoSlYsQ0FBQztFNkJpSkosVUFBVSxFN0JoSlAsR0FBRztDNkJpSlA7O0FBRUQsdUJBQXVCO0FBWXZCLEFBVkEsYUFVYSxDQVZDO0VwQmxCUixTQUFTLEVSckVFLElBQUk7RVFzRWYsU0FBUyxFTHhHTCxPQUFxQztFS3lHekMsV0FBVyxFQTlFQyxHQUF5QjtFb0JpR3pDLFdBQVcsRUFBRSxvQkFBb0I7RUFDakMsT0FBTyxFQUFFLEtBQUs7RUFDZCxVQUFVLEVBQUUsQ0FBQztFdkIvRFAsYUFBMEIsRU54Q3hCLElBQUk7QzZCMEdiOztBckJ1RU8sTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VxQnJFcEMsQUFWQSxhQVVhLENBVkM7SXBCUk4sU0FBUyxFUjNFQSxJQUFJO0lRNEViLFNBQVMsRUxsSFAsTUFBcUM7SUttSHZDLFdBQVcsRUF4RkQsT0FBeUI7R29Cc0cxQzs7O0FyQnVFTyxNQUFNLENBQUMsS0FBSztFcUJyRXBCLEFBVkEsYUFVYSxDQVZDO0lwQmJOLFNBQVMsRVJsRUEsSUFBSTtJUW1FYixXQUFXLEVSbEVBLElBQUk7RzRCc0Z0Qjs7O0FyQnVFTyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RXFCckVwQyxBQVZBLGFBVWEsQ0FWQztJdkJuREosYUFBMEIsRU45Q3hCLElBQUk7RzZCeUdmOzs7QUFnQkQsQUFWQSxDQVVDO0FBQ0QsYUFBYSxFQUFFLFdBQVcsRUFtQjFCLE9BQU8sQ0E5Qk87RXBCaENSLFNBQVMsRVJ6Q0UsSUFBSTtFUTBDZixTQUFTLEVMeEdMLElBQXFDO0VLeUd6QyxXQUFXLEVBOUVDLEdBQXlCO0VvQitHekMsV0FBVyxFQUFFLG1CQUFtQjtFQUNoQyxPQUFPLEVBQUUsS0FBSztFQUNkLFVBQVUsRUFBRSxDQUFDO0V2QjdFUCxhQUEwQixFTjVDeEIsSUFBSTtDNkI0SGI7O0FyQnlETyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RXFCdkRwQyxBQVZBLENBVUM7RUFDRCxhQUFhLEVBQUUsV0FBVyxFQW1CMUIsT0FBTyxDQTlCTztJcEJ0Qk4sU0FBUyxFUi9DQSxJQUFJO0lRZ0RiLFNBQVMsRUxsSFAsU0FBcUM7SUttSHZDLFdBQVcsRUF4RkQsT0FBeUI7R29Cb0gxQzs7O0FyQnlETyxNQUFNLENBQUMsS0FBSztFcUJ2RHBCLEFBVkEsQ0FVQztFQUNELGFBQWEsRUFBRSxXQUFXLEVBbUIxQixPQUFPLENBOUJPO0lwQjNCTixTQUFTLEVSdENBLElBQUk7SVF1Q2IsV0FBVyxFUnRDQSxJQUFJO0c0QndFdEI7OztBckJ5RE8sTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VxQnZEcEMsQUFWQSxDQVVDO0VBQ0QsYUFBYSxFQUFFLFdBQVcsRUFtQjFCLE9BQU8sQ0E5Qk87SXZCakVKLGFBQTBCLEVObER4QixJQUFJO0c2QjJIZjs7O0FBRUQsQUFBQSxDQUFDO0FBQ0QsYUFBYSxFQUFFLFdBQVcsQ0FBQztFQUV6QixLQUFLLEVBQUUsT0FBTztDQUNmOztBQVlELEFBVkEsYUFVYSxDQVZDO0VwQmhEUixTQUFTLEVSYkUsSUFBSTtFUWNmLFNBQVMsRUx4R0wsUUFBcUM7RUt5R3pDLFdBQVcsRUE5RUMsT0FBeUI7RW9CK0h6QyxXQUFXLEVBQUUsb0JBQW9CO0VBQ2pDLE9BQU8sRUFBRSxLQUFLO0VBQ2QsVUFBVSxFQUFFLENBQUM7RXZCN0ZQLGFBQTBCLEVONUN4QixJQUFJO0M2QjRJYjs7QXJCeUNPLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFcUJ2Q3BDLEFBVkEsYUFVYSxDQVZDO0lwQnRDTixTQUFTLEVSbkJBLElBQUk7SVFvQmIsU0FBUyxFTGxIUCxJQUFxQztJS21IdkMsV0FBVyxFQXhGRCxHQUF5QjtHb0JvSTFDOzs7QXJCeUNPLE1BQU0sQ0FBQyxLQUFLO0VxQnZDcEIsQUFWQSxhQVVhLENBVkM7SXBCM0NOLFNBQVMsRVJWQSxJQUFJO0lRV2IsV0FBVyxFUlZBLEdBQUc7RzRCNERyQjs7O0FyQnlDTyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RXFCdkNwQyxBQVZBLGFBVWEsQ0FWQztJdkJqRkosYUFBMEIsRU5sRHhCLElBQUk7RzZCMklmOzs7QUFNRCxBQUFBLE9BQU8sQ0FBQztFQUdOLFVBQVUsRUFBRSxNQUFNO0NBQ25COztBQUVEOzs7OztHQUtHO0FBRUgsQUFBQSxnQkFBZ0IsQ0FBQztFcEJyTGYsV0FBVyxFVnZCTyxHQUFHO0VVaUlqQixTQUFTLEVSckVFLElBQUk7RVFzRWYsU0FBUyxFTHhHTCxPQUFxQztFS3lHekMsV0FBVyxFQTlFQyxHQUF5QjtFSG9DbkMsYUFBMEIsRU5oQ3hCLElBQUk7RTZCdUpaLFNBQVM7Q0FLVjs7QXJCYU8sTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VxQnRCcEMsQUFBQSxnQkFBZ0IsQ0FBQztJcEJqRVQsU0FBUyxFUjNFQSxJQUFJO0lRNEViLFNBQVMsRUxsSFAsTUFBcUM7SUttSHZDLFdBQVcsRUF4RkQsT0FBeUI7R29CZ0sxQzs7O0FyQmFPLE1BQU0sQ0FBQyxLQUFLO0VxQnRCcEIsQUFBQSxnQkFBZ0IsQ0FBQztJcEJ0RVQsU0FBUyxFUmxFQSxJQUFJO0lRbUViLFdBQVcsRVJsRUEsSUFBSTtHNEJnSnRCOzs7QXJCYU8sTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VxQnRCcEMsQUFBQSxnQkFBZ0IsQ0FBQztJdkI1R1AsYUFBMEIsRU50Q3hCLElBQUk7RzZCMkpmOzs7QUFURCxBQUtFLGdCQUxjLENBS2QsQ0FBQztBQUxILGdCQUFnQixDQU1kLEVBQUUsQ0FBQztFcEIzTEgsV0FBVyxFVnZCTyxHQUFHO0VVaUlqQixTQUFTLEVSckVFLElBQUk7RVFzRWYsU0FBUyxFTHhHTCxPQUFxQztFS3lHekMsV0FBVyxFQTlFQyxHQUF5QjtDb0IrSnhDOztBckJjSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RXFCdEJwQyxBQUtFLGdCQUxjLENBS2QsQ0FBQztFQUxILGdCQUFnQixDQU1kLEVBQUUsQ0FBQztJcEJ2RUcsU0FBUyxFUjNFQSxJQUFJO0lRNEViLFNBQVMsRUxsSFAsTUFBcUM7SUttSHZDLFdBQVcsRUF4RkQsT0FBeUI7R29CK0p4Qzs7O0FyQmNLLE1BQU0sQ0FBQyxLQUFLO0VxQnRCcEIsQUFLRSxnQkFMYyxDQUtkLENBQUM7RUFMSCxnQkFBZ0IsQ0FNZCxFQUFFLENBQUM7SXBCNUVHLFNBQVMsRVJsRUEsSUFBSTtJUW1FYixXQUFXLEVSbEVBLElBQUk7RzRCK0lwQjs7O0FBR0gsQUFBQSx1QkFBdUIsQ0FBQztFcEJoTXRCLFdBQVcsRVZ2Qk8sR0FBRztFVWlJakIsU0FBUyxFUnpDRSxJQUFJO0VRMENmLFNBQVMsRUx4R0wsSUFBcUM7RUt5R3pDLFdBQVcsRUE5RUMsR0FBeUI7RUhvQ25DLGFBQTBCLEVOeEN4QixJQUFJO0M2QnlLYjs7QXJCUU8sTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VxQlhwQyxBQUFBLHVCQUF1QixDQUFDO0lwQjVFaEIsU0FBUyxFUi9DQSxJQUFJO0lRZ0RiLFNBQVMsRUxsSFAsU0FBcUM7SUttSHZDLFdBQVcsRUF4RkQsT0FBeUI7R29CcUsxQzs7O0FyQlFPLE1BQU0sQ0FBQyxLQUFLO0VxQlhwQixBQUFBLHVCQUF1QixDQUFDO0lwQmpGaEIsU0FBUyxFUnRDQSxJQUFJO0lRdUNiLFdBQVcsRVJ0Q0EsSUFBSTtHNEJ5SHRCOzs7QXJCUU8sTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VxQlhwQyxBQUFBLHVCQUF1QixDQUFDO0l2QnZIZCxhQUEwQixFTjlDeEIsSUFBSTtHNkJ3S2Y7OztBQUVELFNBQVM7QUFDVCxBQUFBLEVBQUUsR0FBQyxnQkFBZ0I7QUFDbkIsRUFBRSxHQUFDLHVCQUF1QixDQUFDO0VBQ3pCLFVBQVUsRTdCaE9QLElBQUc7QzZCaU9QOztBQUVEOzs7Ozs7Ozs7R0FTRztBQTlFSCxBQWdGQSxhQWhGYSxHQWxIYixFQUFFO0FBa0hGLGFBQWEsR0FqSGIsZ0JBQWdCLENBaU1lO0VBQzdCLFdBQVcsRTdCaFBSLEdBQUc7QzZCcVBQOztBckJqQk8sTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VxQnJFcEMsQUFnRkEsYUFoRmEsR0FsSGIsRUFBRTtFQWtIRixhQUFhLEdBakhiLGdCQUFnQixDQWlNZTtJQUkzQixXQUFXLEU3QmxQVixHQUFHO0c2Qm9QUDs7O0FBeEVELEFBMEVBLENBMUVDLEdBaElELEVBQUUsRUFpSUYsYUFBYSxHQWpJYixFQUFFLEVBaUlhLFdBQVcsR0FqSTFCLEVBQUUsRUFvSkYsT0FBTyxHQXBKUCxFQUFFO0FBZ0lGLENBQUMsR0EvSEQsZ0JBQWdCO0FBZ0loQixhQUFhLEdBaEliLGdCQUFnQjtBQWdJRCxXQUFXLEdBaEkxQixnQkFBZ0I7QUFtSmhCLE9BQU8sR0FuSlAsZ0JBQWdCO0FBK0loQixhQUFhLEdBaEpiLEVBQUU7QUFnSkYsYUFBYSxHQS9JYixnQkFBZ0I7QUZOaEIsV0FBVyxHRUtYLEVBQUU7QUZERixFQUFFLEdFQ0YsRUFBRTtBRklGLEVBQUUsR0VKRixFQUFFO0FGTEYsV0FBVyxHRU1YLGdCQUFnQjtBRkZoQixFQUFFLEdFRUYsZ0JBQWdCO0FGR2hCLEVBQUUsR0VIRixnQkFBZ0IsQ0EyTWE7RXZCOUpyQixXQUEwQixFTjVDeEIsSUFBSTtDNkI0TWI7O0FyQnZCTyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RXFCdkRwQyxBQTBFQSxDQTFFQyxHQWhJRCxFQUFFLEVBaUlGLGFBQWEsR0FqSWIsRUFBRSxFQWlJYSxXQUFXLEdBakkxQixFQUFFLEVBb0pGLE9BQU8sR0FwSlAsRUFBRTtFQWdJRixDQUFDLEdBL0hELGdCQUFnQjtFQWdJaEIsYUFBYSxHQWhJYixnQkFBZ0I7RUFnSUQsV0FBVyxHQWhJMUIsZ0JBQWdCO0VBbUpoQixPQUFPLEdBbkpQLGdCQUFnQjtFQStJaEIsYUFBYSxHQWhKYixFQUFFO0VBZ0pGLGFBQWEsR0EvSWIsZ0JBQWdCO0VGTmhCLFdBQVcsR0VLWCxFQUFFO0VGREYsRUFBRSxHRUNGLEVBQUU7RUZJRixFQUFFLEdFSkYsRUFBRTtFRkxGLFdBQVcsR0VNWCxnQkFBZ0I7RUZGaEIsRUFBRSxHRUVGLGdCQUFnQjtFRkdoQixFQUFFLEdFSEYsZ0JBQWdCLENBMk1hO0l2QnZKbkIsV0FBMEIsRU5sRHhCLElBQUk7RzZCMk1mOzs7QUE5RUQsQUFnRkEsQ0FoRkMsR0FoSEQsRUFBRSxFQWlIRixhQUFhLEdBakhiLEVBQUUsRUFpSGEsV0FBVyxHQWpIMUIsRUFBRSxFQW9JRixPQUFPLEdBcElQLEVBQUU7QUFnSEYsQ0FBQyxHQS9HRCxnQkFBZ0I7QUFnSGhCLGFBQWEsR0FoSGIsZ0JBQWdCO0FBZ0hELFdBQVcsR0FoSDFCLGdCQUFnQjtBQW1JaEIsT0FBTyxHQW5JUCxnQkFBZ0I7QUErSGhCLGFBQWEsR0FoSWIsRUFBRTtBQWdJRixhQUFhLEdBL0hiLGdCQUFnQjtBRnRCaEIsV0FBVyxHRXFCWCxFQUFFO0FGakJGLEVBQUUsR0VpQkYsRUFBRTtBRlpGLEVBQUUsR0VZRixFQUFFO0FGckJGLFdBQVcsR0VzQlgsZ0JBQWdCO0FGbEJoQixFQUFFLEdFa0JGLGdCQUFnQjtBRmJoQixFQUFFLEdFYUYsZ0JBQWdCO0FBK0doQixDQUFDLEdBaEdELEVBQUU7QUFpR0YsYUFBYSxHQWpHYixFQUFFO0FBaUdhLFdBQVcsR0FqRzFCLEVBQUU7QUFvSEYsT0FBTyxHQXBIUCxFQUFFO0FBZ0dGLENBQUMsR0EvRkQsZ0JBQWdCO0FBZ0doQixhQUFhLEdBaEdiLGdCQUFnQjtBQWdHRCxXQUFXLEdBaEcxQixnQkFBZ0I7QUFtSGhCLE9BQU8sR0FuSFAsZ0JBQWdCO0FBK0doQixhQUFhLEdBaEhiLEVBQUU7QUFnSEYsYUFBYSxHQS9HYixnQkFBZ0I7QUZ0Q2hCLFdBQVcsR0VxQ1gsRUFBRTtBRmpDRixFQUFFLEdFaUNGLEVBQUU7QUY1QkYsRUFBRSxHRTRCRixFQUFFO0FGckNGLFdBQVcsR0VzQ1gsZ0JBQWdCO0FGbENoQixFQUFFLEdFa0NGLGdCQUFnQjtBRjdCaEIsRUFBRSxHRTZCRixnQkFBZ0IsQ0FvTGE7RUFDM0IsV0FBVyxFN0JuUVIsR0FBRztDNkJ3UVA7O0FyQnBDTyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RXFCdkRwQyxBQWdGQSxDQWhGQyxHQWhIRCxFQUFFLEVBaUhGLGFBQWEsR0FqSGIsRUFBRSxFQWlIYSxXQUFXLEdBakgxQixFQUFFLEVBb0lGLE9BQU8sR0FwSVAsRUFBRTtFQWdIRixDQUFDLEdBL0dELGdCQUFnQjtFQWdIaEIsYUFBYSxHQWhIYixnQkFBZ0I7RUFnSEQsV0FBVyxHQWhIMUIsZ0JBQWdCO0VBbUloQixPQUFPLEdBbklQLGdCQUFnQjtFQStIaEIsYUFBYSxHQWhJYixFQUFFO0VBZ0lGLGFBQWEsR0EvSGIsZ0JBQWdCO0VGdEJoQixXQUFXLEdFcUJYLEVBQUU7RUZqQkYsRUFBRSxHRWlCRixFQUFFO0VGWkYsRUFBRSxHRVlGLEVBQUU7RUZyQkYsV0FBVyxHRXNCWCxnQkFBZ0I7RUZsQmhCLEVBQUUsR0VrQkYsZ0JBQWdCO0VGYmhCLEVBQUUsR0VhRixnQkFBZ0I7RUErR2hCLENBQUMsR0FoR0QsRUFBRTtFQWlHRixhQUFhLEdBakdiLEVBQUU7RUFpR2EsV0FBVyxHQWpHMUIsRUFBRTtFQW9IRixPQUFPLEdBcEhQLEVBQUU7RUFnR0YsQ0FBQyxHQS9GRCxnQkFBZ0I7RUFnR2hCLGFBQWEsR0FoR2IsZ0JBQWdCO0VBZ0dELFdBQVcsR0FoRzFCLGdCQUFnQjtFQW1IaEIsT0FBTyxHQW5IUCxnQkFBZ0I7RUErR2hCLGFBQWEsR0FoSGIsRUFBRTtFQWdIRixhQUFhLEdBL0diLGdCQUFnQjtFRnRDaEIsV0FBVyxHRXFDWCxFQUFFO0VGakNGLEVBQUUsR0VpQ0YsRUFBRTtFRjVCRixFQUFFLEdFNEJGLEVBQUU7RUZyQ0YsV0FBVyxHRXNDWCxnQkFBZ0I7RUZsQ2hCLEVBQUUsR0VrQ0YsZ0JBQWdCO0VGN0JoQixFQUFFLEdFNkJGLGdCQUFnQixDQW9MYTtJQUl6QixXQUFXLEU3QnJRVixHQUFHO0c2QnVRUDs7O0FBRUQsU0FBUztBQUNULEFBQUEsZ0JBQWdCLEdBOU5oQixFQUFFO0FBOE5GLGdCQUFnQixHQTdOaEIsZ0JBQWdCLENBNk5rQjtFQUNoQyxXQUFXLEVBQUUsQ0FBQztDQUNmOztBQUVELHNDQUFzQztBQUV0QyxBQUFBLE1BQU07QUFDTixDQUFDLENBQUM7RUFDQSxXQUFXLEU5QmxSSyxHQUFHO0M4Qm1ScEI7O0FBRUQsQUFBQSxDQUFDLEFBQUEsV0FBVyxDQUFDLENBQUMsQ0FBQTtFQUFDLEtBQUssRS9CM1FELE9BQU87QytCMlFlOztBQUV6QyxBQUFBLENBQUMsR0FBRyxDQUFDLENBQUE7RUFBQyxlQUFlLEVBQUUsU0FBUztDQUFHOztBQUVuQyxBQUNFLFdBRFMsQUFDUixNQUFNLENBQUE7RUFDTCxlQUFlLEVBQUUsSUFBSTtDQUN0Qjs7QUMxU0g7O2dGQUVnRjtBQUVoRjs7Ozs7O0dBTUc7QUFFSCxBbkJBRSxjbUJBWSxBbkJBWCxNQUFNLENBQUM7RUFDTixLQUFLLEVBQUUsSUFBSTtFQUNYLE9BQU8sRUFBRSxFQUFFO0VBQ1gsT0FBTyxFQUFFLEtBQUs7Q0FDZjs7QW9CaEJIOztnRkFFZ0Y7QUFFaEY7Ozs7Ozs7R0FPRztBQU1ILEFBQUEsaUJBQWlCLENBQUM7RUFDaEIsS0FBSyxFQUFFLElBQUk7RUFDWCxLQUFLLEVBQUUsR0FBaUIsQ0FBQyxVQUFVO0NBQ3BDOztBQUVELEFBQUEsa0JBQWtCLENBQUM7RUFDakIsS0FBSyxFQUFFLElBQUk7RUFDWCxLQUFLLEVBQUUsU0FBaUIsQ0FBQyxVQUFVO0NBQ3BDOztBQUVELEFBQUEsbUJBQW1CLENBQUM7RUFDbEIsS0FBSyxFQUFFLElBQUk7RUFDWCxLQUFLLEVBQUUsU0FBaUIsQ0FBQyxVQUFVO0NBQ3BDOztBQUVELEFBQUEsb0JBQW9CLENBQUM7RUFDbkIsS0FBSyxFQUFFLElBQUk7RUFDWCxLQUFLLEVBQUUsR0FBaUIsQ0FBQyxVQUFVO0NBQ3BDOztBQUVELEFBQUEsdUJBQXVCLENBQUM7RUFDdEIsS0FBSyxFQUFFLElBQUk7RUFDWCxLQUFLLEVBQUUsR0FBaUIsQ0FBQyxVQUFVO0NBQ3BDOztBQUVEOzs7Ozs7Ozs7O0dBVUc7QUFFSCxBQUFBLHdCQUF3QixDQUFDO0VBQ3ZCLEtBQUssRUFBRSxlQUFlO0NBS3ZCOztBdkJxTE8sTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0V1QjNMcEMsQUFBQSx3QkFBd0IsQ0FBQztJQUdyQixLQUFLLEVBQUUsSUFBSTtJQUNYLEtBQUssRUFBRSxHQUFpQixDQUFDLFVBQVU7R0FFdEM7OztBQUVELEFBQUEseUJBQXlCLENBQUM7RUFDeEIsS0FBSyxFQUFFLGVBQWU7Q0FLdkI7O0F2QjZLTyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RXVCbkxwQyxBQUFBLHlCQUF5QixDQUFDO0lBR3RCLEtBQUssRUFBRSxJQUFJO0lBQ1gsS0FBSyxFQUFFLFNBQWlCLENBQUMsVUFBVTtHQUV0Qzs7O0FBRUQsQUFBQSwwQkFBMEIsQ0FBQztFQUN6QixLQUFLLEVBQUUsZUFBZTtDQUt2Qjs7QXZCcUtPLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFdUIzS3BDLEFBQUEsMEJBQTBCLENBQUM7SUFHdkIsS0FBSyxFQUFFLElBQUk7SUFDWCxLQUFLLEVBQUUsU0FBaUIsQ0FBQyxVQUFVO0dBRXRDOzs7QUFFRCxBQUFBLDJCQUEyQixDQUFDO0VBQzFCLEtBQUssRUFBRSxlQUFlO0NBS3ZCOztBdkI2Sk8sTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0V1Qm5LcEMsQUFBQSwyQkFBMkIsQ0FBQztJQUd4QixLQUFLLEVBQUUsSUFBSTtJQUNYLEtBQUssRUFBRSxHQUFpQixDQUFDLFVBQVU7R0FFdEM7OztBQUVELEFBQUEsOEJBQThCLENBQUM7RUFDN0IsS0FBSyxFQUFFLGVBQWU7Q0FLdkI7O0F2QnFKTyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RXVCM0pwQyxBQUFBLDhCQUE4QixDQUFDO0lBRzNCLEtBQUssRUFBRSxJQUFJO0lBQ1gsS0FBSyxFQUFFLEdBQWlCLENBQUMsVUFBVTtHQUV0Qzs7O0FDNUZEOztnRkFFZ0Y7QUFFaEY7Ozs7O0dBS0c7QXhCd09LLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFd0J0T3BDLEFBQUEsZUFBZSxDQUFDO0lBRVosV0FBVyxFQUFFLE1BQU07R0FFdEI7OztBQ2ZEOztnRkFFZ0Y7QUFFaEY7Ozs7OztHQU1HO0FBRUgsQUFBQSxzQkFBc0IsQ0FBQztFdEJrQ3JCLFNBQVMsRUFBRSxJQUFJO0NzQmhDaEI7O0FDeUJHLEFBQUEsaUJBQWlCLENBQXFCO0U1QitEbEMsTUFBWSxFTjFEVixDQUFDLENNMEQ2QyxVQUFVO0M0QjVEN0Q7O0ExQnVNRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCMU1oQyxBQUFBLGlCQUFpQixDQUFxQjtJNUJzRWhDLE1BQVksRU5oRVYsQ0FBQyxDTWdFNkMsVUFBVTtHNEJuRS9EOzs7QUFLQyxBQUFBLHFCQUFxQixDQUErQjtFNUJ5RGxELFVBQTBCLEVONUR4QixDQUFDLENNNEQ0RCxVQUFVO0M0QnZEMUU7O0ExQmdNQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCbE05QixBQUFBLHFCQUFxQixDQUErQjtJNUJnRWhELFVBQTBCLEVObEV4QixDQUFDLENNa0U0RCxVQUFVO0c0QjlENUU7OztBQUZELEFBQUEsdUJBQXVCLENBQTZCO0U1QnlEbEQsWUFBMEIsRU41RHhCLENBQUMsQ000RDRELFVBQVU7QzRCdkQxRTs7QTFCZ01DLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFMEJsTTlCLEFBQUEsdUJBQXVCLENBQTZCO0k1QmdFaEQsWUFBMEIsRU5sRXhCLENBQUMsQ01rRTRELFVBQVU7RzRCOUQ1RTs7O0FBRkQsQUFBQSx3QkFBd0IsQ0FBNEI7RTVCeURsRCxhQUEwQixFTjVEeEIsQ0FBQyxDTTRENEQsVUFBVTtDNEJ2RDFFOztBMUJnTUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0UwQmxNOUIsQUFBQSx3QkFBd0IsQ0FBNEI7STVCZ0VoRCxhQUEwQixFTmxFeEIsQ0FBQyxDTWtFNEQsVUFBVTtHNEI5RDVFOzs7QUFGRCxBQUFBLHNCQUFzQixDQUE4QjtFNUJ5RGxELFdBQTBCLEVONUR4QixDQUFDLENNNEQ0RCxVQUFVO0M0QnZEMUU7O0ExQmdNQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCbE05QixBQUFBLHNCQUFzQixDQUE4QjtJNUJnRWhELFdBQTBCLEVObEV4QixDQUFDLENNa0U0RCxVQUFVO0c0QjlENUU7OztBQVZILEFBQUEsaUJBQWlCLENBQXFCO0U1QitEbEMsTUFBWSxFTnREVixHQUFHLENNc0QyQyxVQUFVO0M0QjVEN0Q7O0ExQnVNRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCMU1oQyxBQUFBLGlCQUFpQixDQUFxQjtJNUJzRWhDLE1BQVksRU41RFYsR0FBRyxDTTREMkMsVUFBVTtHNEJuRS9EOzs7QUFLQyxBQUFBLHFCQUFxQixDQUErQjtFNUJ5RGxELFVBQTBCLEVOeER4QixHQUFHLENNd0QwRCxVQUFVO0M0QnZEMUU7O0ExQmdNQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCbE05QixBQUFBLHFCQUFxQixDQUErQjtJNUJnRWhELFVBQTBCLEVOOUR4QixHQUFHLENNOEQwRCxVQUFVO0c0QjlENUU7OztBQUZELEFBQUEsdUJBQXVCLENBQTZCO0U1QnlEbEQsWUFBMEIsRU54RHhCLEdBQUcsQ013RDBELFVBQVU7QzRCdkQxRTs7QTFCZ01DLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFMEJsTTlCLEFBQUEsdUJBQXVCLENBQTZCO0k1QmdFaEQsWUFBMEIsRU45RHhCLEdBQUcsQ004RDBELFVBQVU7RzRCOUQ1RTs7O0FBRkQsQUFBQSx3QkFBd0IsQ0FBNEI7RTVCeURsRCxhQUEwQixFTnhEeEIsR0FBRyxDTXdEMEQsVUFBVTtDNEJ2RDFFOztBMUJnTUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0UwQmxNOUIsQUFBQSx3QkFBd0IsQ0FBNEI7STVCZ0VoRCxhQUEwQixFTjlEeEIsR0FBRyxDTThEMEQsVUFBVTtHNEI5RDVFOzs7QUFGRCxBQUFBLHNCQUFzQixDQUE4QjtFNUJ5RGxELFdBQTBCLEVOeER4QixHQUFHLENNd0QwRCxVQUFVO0M0QnZEMUU7O0ExQmdNQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCbE05QixBQUFBLHNCQUFzQixDQUE4QjtJNUJnRWhELFdBQTBCLEVOOUR4QixHQUFHLENNOEQwRCxVQUFVO0c0QjlENUU7OztBQVZILEFBQUEsaUJBQWlCLENBQXFCO0U1QitEbEMsTUFBWSxFTmxEVixHQUFHLENNa0QyQyxVQUFVO0M0QjVEN0Q7O0ExQnVNRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCMU1oQyxBQUFBLGlCQUFpQixDQUFxQjtJNUJzRWhDLE1BQVksRU54RFYsR0FBRyxDTXdEMkMsVUFBVTtHNEJuRS9EOzs7QUFLQyxBQUFBLHFCQUFxQixDQUErQjtFNUJ5RGxELFVBQTBCLEVOcER4QixHQUFHLENNb0QwRCxVQUFVO0M0QnZEMUU7O0ExQmdNQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCbE05QixBQUFBLHFCQUFxQixDQUErQjtJNUJnRWhELFVBQTBCLEVOMUR4QixHQUFHLENNMEQwRCxVQUFVO0c0QjlENUU7OztBQUZELEFBQUEsdUJBQXVCLENBQTZCO0U1QnlEbEQsWUFBMEIsRU5wRHhCLEdBQUcsQ01vRDBELFVBQVU7QzRCdkQxRTs7QTFCZ01DLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFMEJsTTlCLEFBQUEsdUJBQXVCLENBQTZCO0k1QmdFaEQsWUFBMEIsRU4xRHhCLEdBQUcsQ00wRDBELFVBQVU7RzRCOUQ1RTs7O0FBRkQsQUFBQSx3QkFBd0IsQ0FBNEI7RTVCeURsRCxhQUEwQixFTnBEeEIsR0FBRyxDTW9EMEQsVUFBVTtDNEJ2RDFFOztBMUJnTUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0UwQmxNOUIsQUFBQSx3QkFBd0IsQ0FBNEI7STVCZ0VoRCxhQUEwQixFTjFEeEIsR0FBRyxDTTBEMEQsVUFBVTtHNEI5RDVFOzs7QUFGRCxBQUFBLHNCQUFzQixDQUE4QjtFNUJ5RGxELFdBQTBCLEVOcER4QixHQUFHLENNb0QwRCxVQUFVO0M0QnZEMUU7O0ExQmdNQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCbE05QixBQUFBLHNCQUFzQixDQUE4QjtJNUJnRWhELFdBQTBCLEVOMUR4QixHQUFHLENNMEQwRCxVQUFVO0c0QjlENUU7OztBQVZILEFBQUEsaUJBQWlCLENBQXFCO0U1QitEbEMsTUFBWSxFTjlDVixHQUFHLENNOEMyQyxVQUFVO0M0QjVEN0Q7O0ExQnVNRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCMU1oQyxBQUFBLGlCQUFpQixDQUFxQjtJNUJzRWhDLE1BQVksRU5wRFYsSUFBSSxDTW9EMEMsVUFBVTtHNEJuRS9EOzs7QUFLQyxBQUFBLHFCQUFxQixDQUErQjtFNUJ5RGxELFVBQTBCLEVOaER4QixHQUFHLENNZ0QwRCxVQUFVO0M0QnZEMUU7O0ExQmdNQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCbE05QixBQUFBLHFCQUFxQixDQUErQjtJNUJnRWhELFVBQTBCLEVOdER4QixJQUFJLENNc0R5RCxVQUFVO0c0QjlENUU7OztBQUZELEFBQUEsdUJBQXVCLENBQTZCO0U1QnlEbEQsWUFBMEIsRU5oRHhCLEdBQUcsQ01nRDBELFVBQVU7QzRCdkQxRTs7QTFCZ01DLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFMEJsTTlCLEFBQUEsdUJBQXVCLENBQTZCO0k1QmdFaEQsWUFBMEIsRU50RHhCLElBQUksQ01zRHlELFVBQVU7RzRCOUQ1RTs7O0FBRkQsQUFBQSx3QkFBd0IsQ0FBNEI7RTVCeURsRCxhQUEwQixFTmhEeEIsR0FBRyxDTWdEMEQsVUFBVTtDNEJ2RDFFOztBMUJnTUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0UwQmxNOUIsQUFBQSx3QkFBd0IsQ0FBNEI7STVCZ0VoRCxhQUEwQixFTnREeEIsSUFBSSxDTXNEeUQsVUFBVTtHNEI5RDVFOzs7QUFGRCxBQUFBLHNCQUFzQixDQUE4QjtFNUJ5RGxELFdBQTBCLEVOaER4QixHQUFHLENNZ0QwRCxVQUFVO0M0QnZEMUU7O0ExQmdNQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCbE05QixBQUFBLHNCQUFzQixDQUE4QjtJNUJnRWhELFdBQTBCLEVOdER4QixJQUFJLENNc0R5RCxVQUFVO0c0QjlENUU7OztBQVZILEFBQUEsaUJBQWlCLENBQXFCO0U1QitEbEMsTUFBWSxFTjFDVixJQUFJLENNMEMwQyxVQUFVO0M0QjVEN0Q7O0ExQnVNRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCMU1oQyxBQUFBLGlCQUFpQixDQUFxQjtJNUJzRWhDLE1BQVksRU5oRFYsSUFBSSxDTWdEMEMsVUFBVTtHNEJuRS9EOzs7QUFLQyxBQUFBLHFCQUFxQixDQUErQjtFNUJ5RGxELFVBQTBCLEVONUN4QixJQUFJLENNNEN5RCxVQUFVO0M0QnZEMUU7O0ExQmdNQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCbE05QixBQUFBLHFCQUFxQixDQUErQjtJNUJnRWhELFVBQTBCLEVObER4QixJQUFJLENNa0R5RCxVQUFVO0c0QjlENUU7OztBQUZELEFBQUEsdUJBQXVCLENBQTZCO0U1QnlEbEQsWUFBMEIsRU41Q3hCLElBQUksQ000Q3lELFVBQVU7QzRCdkQxRTs7QTFCZ01DLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFMEJsTTlCLEFBQUEsdUJBQXVCLENBQTZCO0k1QmdFaEQsWUFBMEIsRU5sRHhCLElBQUksQ01rRHlELFVBQVU7RzRCOUQ1RTs7O0FBRkQsQUFBQSx3QkFBd0IsQ0FBNEI7RTVCeURsRCxhQUEwQixFTjVDeEIsSUFBSSxDTTRDeUQsVUFBVTtDNEJ2RDFFOztBMUJnTUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0UwQmxNOUIsQUFBQSx3QkFBd0IsQ0FBNEI7STVCZ0VoRCxhQUEwQixFTmxEeEIsSUFBSSxDTWtEeUQsVUFBVTtHNEI5RDVFOzs7QUFGRCxBQUFBLHNCQUFzQixDQUE4QjtFNUJ5RGxELFdBQTBCLEVONUN4QixJQUFJLENNNEN5RCxVQUFVO0M0QnZEMUU7O0ExQmdNQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCbE05QixBQUFBLHNCQUFzQixDQUE4QjtJNUJnRWhELFdBQTBCLEVObER4QixJQUFJLENNa0R5RCxVQUFVO0c0QjlENUU7OztBQVZILEFBQUEsaUJBQWlCLENBQXFCO0U1QitEbEMsTUFBWSxFTnRDVixJQUFJLENNc0MwQyxVQUFVO0M0QjVEN0Q7O0ExQnVNRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCMU1oQyxBQUFBLGlCQUFpQixDQUFxQjtJNUJzRWhDLE1BQVksRU41Q1YsSUFBSSxDTTRDMEMsVUFBVTtHNEJuRS9EOzs7QUFLQyxBQUFBLHFCQUFxQixDQUErQjtFNUJ5RGxELFVBQTBCLEVOeEN4QixJQUFJLENNd0N5RCxVQUFVO0M0QnZEMUU7O0ExQmdNQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCbE05QixBQUFBLHFCQUFxQixDQUErQjtJNUJnRWhELFVBQTBCLEVOOUN4QixJQUFJLENNOEN5RCxVQUFVO0c0QjlENUU7OztBQUZELEFBQUEsdUJBQXVCLENBQTZCO0U1QnlEbEQsWUFBMEIsRU54Q3hCLElBQUksQ013Q3lELFVBQVU7QzRCdkQxRTs7QTFCZ01DLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFMEJsTTlCLEFBQUEsdUJBQXVCLENBQTZCO0k1QmdFaEQsWUFBMEIsRU45Q3hCLElBQUksQ004Q3lELFVBQVU7RzRCOUQ1RTs7O0FBRkQsQUFBQSx3QkFBd0IsQ0FBNEI7RTVCeURsRCxhQUEwQixFTnhDeEIsSUFBSSxDTXdDeUQsVUFBVTtDNEJ2RDFFOztBMUJnTUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0UwQmxNOUIsQUFBQSx3QkFBd0IsQ0FBNEI7STVCZ0VoRCxhQUEwQixFTjlDeEIsSUFBSSxDTThDeUQsVUFBVTtHNEI5RDVFOzs7QUFGRCxBQUFBLHNCQUFzQixDQUE4QjtFNUJ5RGxELFdBQTBCLEVOeEN4QixJQUFJLENNd0N5RCxVQUFVO0M0QnZEMUU7O0ExQmdNQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCbE05QixBQUFBLHNCQUFzQixDQUE4QjtJNUJnRWhELFdBQTBCLEVOOUN4QixJQUFJLENNOEN5RCxVQUFVO0c0QjlENUU7OztBQVZILEFBQUEsaUJBQWlCLENBQXFCO0U1QitEbEMsTUFBWSxFTmxDVixJQUFJLENNa0MwQyxVQUFVO0M0QjVEN0Q7O0ExQnVNRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCMU1oQyxBQUFBLGlCQUFpQixDQUFxQjtJNUJzRWhDLE1BQVksRU54Q1YsSUFBSSxDTXdDMEMsVUFBVTtHNEJuRS9EOzs7QUFLQyxBQUFBLHFCQUFxQixDQUErQjtFNUJ5RGxELFVBQTBCLEVOcEN4QixJQUFJLENNb0N5RCxVQUFVO0M0QnZEMUU7O0ExQmdNQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCbE05QixBQUFBLHFCQUFxQixDQUErQjtJNUJnRWhELFVBQTBCLEVOMUN4QixJQUFJLENNMEN5RCxVQUFVO0c0QjlENUU7OztBQUZELEFBQUEsdUJBQXVCLENBQTZCO0U1QnlEbEQsWUFBMEIsRU5wQ3hCLElBQUksQ01vQ3lELFVBQVU7QzRCdkQxRTs7QTFCZ01DLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFMEJsTTlCLEFBQUEsdUJBQXVCLENBQTZCO0k1QmdFaEQsWUFBMEIsRU4xQ3hCLElBQUksQ00wQ3lELFVBQVU7RzRCOUQ1RTs7O0FBRkQsQUFBQSx3QkFBd0IsQ0FBNEI7RTVCeURsRCxhQUEwQixFTnBDeEIsSUFBSSxDTW9DeUQsVUFBVTtDNEJ2RDFFOztBMUJnTUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0UwQmxNOUIsQUFBQSx3QkFBd0IsQ0FBNEI7STVCZ0VoRCxhQUEwQixFTjFDeEIsSUFBSSxDTTBDeUQsVUFBVTtHNEI5RDVFOzs7QUFGRCxBQUFBLHNCQUFzQixDQUE4QjtFNUJ5RGxELFdBQTBCLEVOcEN4QixJQUFJLENNb0N5RCxVQUFVO0M0QnZEMUU7O0ExQmdNQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCbE05QixBQUFBLHNCQUFzQixDQUE4QjtJNUJnRWhELFdBQTBCLEVOMUN4QixJQUFJLENNMEN5RCxVQUFVO0c0QjlENUU7OztBQVZILEFBQUEsaUJBQWlCLENBQXFCO0U1QitEbEMsTUFBWSxFTjlCVixJQUFJLENNOEIwQyxVQUFVO0M0QjVEN0Q7O0ExQnVNRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCMU1oQyxBQUFBLGlCQUFpQixDQUFxQjtJNUJzRWhDLE1BQVksRU5wQ1YsSUFBSSxDTW9DMEMsVUFBVTtHNEJuRS9EOzs7QUFLQyxBQUFBLHFCQUFxQixDQUErQjtFNUJ5RGxELFVBQTBCLEVOaEN4QixJQUFJLENNZ0N5RCxVQUFVO0M0QnZEMUU7O0ExQmdNQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCbE05QixBQUFBLHFCQUFxQixDQUErQjtJNUJnRWhELFVBQTBCLEVOdEN4QixJQUFJLENNc0N5RCxVQUFVO0c0QjlENUU7OztBQUZELEFBQUEsdUJBQXVCLENBQTZCO0U1QnlEbEQsWUFBMEIsRU5oQ3hCLElBQUksQ01nQ3lELFVBQVU7QzRCdkQxRTs7QTFCZ01DLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFMEJsTTlCLEFBQUEsdUJBQXVCLENBQTZCO0k1QmdFaEQsWUFBMEIsRU50Q3hCLElBQUksQ01zQ3lELFVBQVU7RzRCOUQ1RTs7O0FBRkQsQUFBQSx3QkFBd0IsQ0FBNEI7RTVCeURsRCxhQUEwQixFTmhDeEIsSUFBSSxDTWdDeUQsVUFBVTtDNEJ2RDFFOztBMUJnTUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0UwQmxNOUIsQUFBQSx3QkFBd0IsQ0FBNEI7STVCZ0VoRCxhQUEwQixFTnRDeEIsSUFBSSxDTXNDeUQsVUFBVTtHNEI5RDVFOzs7QUFGRCxBQUFBLHNCQUFzQixDQUE4QjtFNUJ5RGxELFdBQTBCLEVOaEN4QixJQUFJLENNZ0N5RCxVQUFVO0M0QnZEMUU7O0ExQmdNQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCbE05QixBQUFBLHNCQUFzQixDQUE4QjtJNUJnRWhELFdBQTBCLEVOdEN4QixJQUFJLENNc0N5RCxVQUFVO0c0QjlENUU7OztBQVZILEFBQUEsaUJBQWlCLENBQXFCO0U1QitEbEMsTUFBWSxFTjFCVixJQUFJLENNMEIwQyxVQUFVO0M0QjVEN0Q7O0ExQnVNRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCMU1oQyxBQUFBLGlCQUFpQixDQUFxQjtJNUJzRWhDLE1BQVksRU5oQ1YsSUFBSSxDTWdDMEMsVUFBVTtHNEJuRS9EOzs7QUFLQyxBQUFBLHFCQUFxQixDQUErQjtFNUJ5RGxELFVBQTBCLEVONUJ4QixJQUFJLENNNEJ5RCxVQUFVO0M0QnZEMUU7O0ExQmdNQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCbE05QixBQUFBLHFCQUFxQixDQUErQjtJNUJnRWhELFVBQTBCLEVObEN4QixJQUFJLENNa0N5RCxVQUFVO0c0QjlENUU7OztBQUZELEFBQUEsdUJBQXVCLENBQTZCO0U1QnlEbEQsWUFBMEIsRU41QnhCLElBQUksQ000QnlELFVBQVU7QzRCdkQxRTs7QTFCZ01DLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFMEJsTTlCLEFBQUEsdUJBQXVCLENBQTZCO0k1QmdFaEQsWUFBMEIsRU5sQ3hCLElBQUksQ01rQ3lELFVBQVU7RzRCOUQ1RTs7O0FBRkQsQUFBQSx3QkFBd0IsQ0FBNEI7RTVCeURsRCxhQUEwQixFTjVCeEIsSUFBSSxDTTRCeUQsVUFBVTtDNEJ2RDFFOztBMUJnTUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0UwQmxNOUIsQUFBQSx3QkFBd0IsQ0FBNEI7STVCZ0VoRCxhQUEwQixFTmxDeEIsSUFBSSxDTWtDeUQsVUFBVTtHNEI5RDVFOzs7QUFGRCxBQUFBLHNCQUFzQixDQUE4QjtFNUJ5RGxELFdBQTBCLEVONUJ4QixJQUFJLENNNEJ5RCxVQUFVO0M0QnZEMUU7O0ExQmdNQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCbE05QixBQUFBLHNCQUFzQixDQUE4QjtJNUJnRWhELFdBQTBCLEVObEN4QixJQUFJLENNa0N5RCxVQUFVO0c0QjlENUU7OztBQVZILEFBQUEsaUJBQWlCLENBQXFCO0U1QitEbEMsTUFBWSxFTnRCVixJQUFJLENNc0IwQyxVQUFVO0M0QjVEN0Q7O0ExQnVNRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCMU1oQyxBQUFBLGlCQUFpQixDQUFxQjtJNUJzRWhDLE1BQVksRU41QlYsSUFBSSxDTTRCMEMsVUFBVTtHNEJuRS9EOzs7QUFLQyxBQUFBLHFCQUFxQixDQUErQjtFNUJ5RGxELFVBQTBCLEVOeEJ4QixJQUFJLENNd0J5RCxVQUFVO0M0QnZEMUU7O0ExQmdNQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCbE05QixBQUFBLHFCQUFxQixDQUErQjtJNUJnRWhELFVBQTBCLEVOOUJ4QixJQUFJLENNOEJ5RCxVQUFVO0c0QjlENUU7OztBQUZELEFBQUEsdUJBQXVCLENBQTZCO0U1QnlEbEQsWUFBMEIsRU54QnhCLElBQUksQ013QnlELFVBQVU7QzRCdkQxRTs7QTFCZ01DLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFMEJsTTlCLEFBQUEsdUJBQXVCLENBQTZCO0k1QmdFaEQsWUFBMEIsRU45QnhCLElBQUksQ004QnlELFVBQVU7RzRCOUQ1RTs7O0FBRkQsQUFBQSx3QkFBd0IsQ0FBNEI7RTVCeURsRCxhQUEwQixFTnhCeEIsSUFBSSxDTXdCeUQsVUFBVTtDNEJ2RDFFOztBMUJnTUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0UwQmxNOUIsQUFBQSx3QkFBd0IsQ0FBNEI7STVCZ0VoRCxhQUEwQixFTjlCeEIsSUFBSSxDTThCeUQsVUFBVTtHNEI5RDVFOzs7QUFGRCxBQUFBLHNCQUFzQixDQUE4QjtFNUJ5RGxELFdBQTBCLEVOeEJ4QixJQUFJLENNd0J5RCxVQUFVO0M0QnZEMUU7O0ExQmdNQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCbE05QixBQUFBLHNCQUFzQixDQUE4QjtJNUJnRWhELFdBQTBCLEVOOUJ4QixJQUFJLENNOEJ5RCxVQUFVO0c0QjlENUU7OztBQVZILEFBQUEsa0JBQWtCLENBQW9CO0U1QitEbEMsT0FBWSxFTjFEVixDQUFDLENNMEQ2QyxVQUFVO0M0QjVEN0Q7O0ExQnVNRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCMU1oQyxBQUFBLGtCQUFrQixDQUFvQjtJNUJzRWhDLE9BQVksRU5oRVYsQ0FBQyxDTWdFNkMsVUFBVTtHNEJuRS9EOzs7QUFLQyxBQUFBLHNCQUFzQixDQUE4QjtFNUJ5RGxELFdBQTBCLEVONUR4QixDQUFDLENNNEQ0RCxVQUFVO0M0QnZEMUU7O0ExQmdNQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCbE05QixBQUFBLHNCQUFzQixDQUE4QjtJNUJnRWhELFdBQTBCLEVObEV4QixDQUFDLENNa0U0RCxVQUFVO0c0QjlENUU7OztBQUZELEFBQUEsd0JBQXdCLENBQTRCO0U1QnlEbEQsYUFBMEIsRU41RHhCLENBQUMsQ000RDRELFVBQVU7QzRCdkQxRTs7QTFCZ01DLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFMEJsTTlCLEFBQUEsd0JBQXdCLENBQTRCO0k1QmdFaEQsYUFBMEIsRU5sRXhCLENBQUMsQ01rRTRELFVBQVU7RzRCOUQ1RTs7O0FBRkQsQUFBQSx5QkFBeUIsQ0FBMkI7RTVCeURsRCxjQUEwQixFTjVEeEIsQ0FBQyxDTTRENEQsVUFBVTtDNEJ2RDFFOztBMUJnTUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0UwQmxNOUIsQUFBQSx5QkFBeUIsQ0FBMkI7STVCZ0VoRCxjQUEwQixFTmxFeEIsQ0FBQyxDTWtFNEQsVUFBVTtHNEI5RDVFOzs7QUFGRCxBQUFBLHVCQUF1QixDQUE2QjtFNUJ5RGxELFlBQTBCLEVONUR4QixDQUFDLENNNEQ0RCxVQUFVO0M0QnZEMUU7O0ExQmdNQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCbE05QixBQUFBLHVCQUF1QixDQUE2QjtJNUJnRWhELFlBQTBCLEVObEV4QixDQUFDLENNa0U0RCxVQUFVO0c0QjlENUU7OztBQVZILEFBQUEsa0JBQWtCLENBQW9CO0U1QitEbEMsT0FBWSxFTnREVixHQUFHLENNc0QyQyxVQUFVO0M0QjVEN0Q7O0ExQnVNRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCMU1oQyxBQUFBLGtCQUFrQixDQUFvQjtJNUJzRWhDLE9BQVksRU41RFYsR0FBRyxDTTREMkMsVUFBVTtHNEJuRS9EOzs7QUFLQyxBQUFBLHNCQUFzQixDQUE4QjtFNUJ5RGxELFdBQTBCLEVOeER4QixHQUFHLENNd0QwRCxVQUFVO0M0QnZEMUU7O0ExQmdNQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCbE05QixBQUFBLHNCQUFzQixDQUE4QjtJNUJnRWhELFdBQTBCLEVOOUR4QixHQUFHLENNOEQwRCxVQUFVO0c0QjlENUU7OztBQUZELEFBQUEsd0JBQXdCLENBQTRCO0U1QnlEbEQsYUFBMEIsRU54RHhCLEdBQUcsQ013RDBELFVBQVU7QzRCdkQxRTs7QTFCZ01DLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFMEJsTTlCLEFBQUEsd0JBQXdCLENBQTRCO0k1QmdFaEQsYUFBMEIsRU45RHhCLEdBQUcsQ004RDBELFVBQVU7RzRCOUQ1RTs7O0FBRkQsQUFBQSx5QkFBeUIsQ0FBMkI7RTVCeURsRCxjQUEwQixFTnhEeEIsR0FBRyxDTXdEMEQsVUFBVTtDNEJ2RDFFOztBMUJnTUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0UwQmxNOUIsQUFBQSx5QkFBeUIsQ0FBMkI7STVCZ0VoRCxjQUEwQixFTjlEeEIsR0FBRyxDTThEMEQsVUFBVTtHNEI5RDVFOzs7QUFGRCxBQUFBLHVCQUF1QixDQUE2QjtFNUJ5RGxELFlBQTBCLEVOeER4QixHQUFHLENNd0QwRCxVQUFVO0M0QnZEMUU7O0ExQmdNQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCbE05QixBQUFBLHVCQUF1QixDQUE2QjtJNUJnRWhELFlBQTBCLEVOOUR4QixHQUFHLENNOEQwRCxVQUFVO0c0QjlENUU7OztBQVZILEFBQUEsa0JBQWtCLENBQW9CO0U1QitEbEMsT0FBWSxFTmxEVixHQUFHLENNa0QyQyxVQUFVO0M0QjVEN0Q7O0ExQnVNRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCMU1oQyxBQUFBLGtCQUFrQixDQUFvQjtJNUJzRWhDLE9BQVksRU54RFYsR0FBRyxDTXdEMkMsVUFBVTtHNEJuRS9EOzs7QUFLQyxBQUFBLHNCQUFzQixDQUE4QjtFNUJ5RGxELFdBQTBCLEVOcER4QixHQUFHLENNb0QwRCxVQUFVO0M0QnZEMUU7O0ExQmdNQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCbE05QixBQUFBLHNCQUFzQixDQUE4QjtJNUJnRWhELFdBQTBCLEVOMUR4QixHQUFHLENNMEQwRCxVQUFVO0c0QjlENUU7OztBQUZELEFBQUEsd0JBQXdCLENBQTRCO0U1QnlEbEQsYUFBMEIsRU5wRHhCLEdBQUcsQ01vRDBELFVBQVU7QzRCdkQxRTs7QTFCZ01DLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFMEJsTTlCLEFBQUEsd0JBQXdCLENBQTRCO0k1QmdFaEQsYUFBMEIsRU4xRHhCLEdBQUcsQ00wRDBELFVBQVU7RzRCOUQ1RTs7O0FBRkQsQUFBQSx5QkFBeUIsQ0FBMkI7RTVCeURsRCxjQUEwQixFTnBEeEIsR0FBRyxDTW9EMEQsVUFBVTtDNEJ2RDFFOztBMUJnTUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0UwQmxNOUIsQUFBQSx5QkFBeUIsQ0FBMkI7STVCZ0VoRCxjQUEwQixFTjFEeEIsR0FBRyxDTTBEMEQsVUFBVTtHNEI5RDVFOzs7QUFGRCxBQUFBLHVCQUF1QixDQUE2QjtFNUJ5RGxELFlBQTBCLEVOcER4QixHQUFHLENNb0QwRCxVQUFVO0M0QnZEMUU7O0ExQmdNQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCbE05QixBQUFBLHVCQUF1QixDQUE2QjtJNUJnRWhELFlBQTBCLEVOMUR4QixHQUFHLENNMEQwRCxVQUFVO0c0QjlENUU7OztBQVZILEFBQUEsa0JBQWtCLENBQW9CO0U1QitEbEMsT0FBWSxFTjlDVixHQUFHLENNOEMyQyxVQUFVO0M0QjVEN0Q7O0ExQnVNRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCMU1oQyxBQUFBLGtCQUFrQixDQUFvQjtJNUJzRWhDLE9BQVksRU5wRFYsSUFBSSxDTW9EMEMsVUFBVTtHNEJuRS9EOzs7QUFLQyxBQUFBLHNCQUFzQixDQUE4QjtFNUJ5RGxELFdBQTBCLEVOaER4QixHQUFHLENNZ0QwRCxVQUFVO0M0QnZEMUU7O0ExQmdNQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCbE05QixBQUFBLHNCQUFzQixDQUE4QjtJNUJnRWhELFdBQTBCLEVOdER4QixJQUFJLENNc0R5RCxVQUFVO0c0QjlENUU7OztBQUZELEFBQUEsd0JBQXdCLENBQTRCO0U1QnlEbEQsYUFBMEIsRU5oRHhCLEdBQUcsQ01nRDBELFVBQVU7QzRCdkQxRTs7QTFCZ01DLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFMEJsTTlCLEFBQUEsd0JBQXdCLENBQTRCO0k1QmdFaEQsYUFBMEIsRU50RHhCLElBQUksQ01zRHlELFVBQVU7RzRCOUQ1RTs7O0FBRkQsQUFBQSx5QkFBeUIsQ0FBMkI7RTVCeURsRCxjQUEwQixFTmhEeEIsR0FBRyxDTWdEMEQsVUFBVTtDNEJ2RDFFOztBMUJnTUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0UwQmxNOUIsQUFBQSx5QkFBeUIsQ0FBMkI7STVCZ0VoRCxjQUEwQixFTnREeEIsSUFBSSxDTXNEeUQsVUFBVTtHNEI5RDVFOzs7QUFGRCxBQUFBLHVCQUF1QixDQUE2QjtFNUJ5RGxELFlBQTBCLEVOaER4QixHQUFHLENNZ0QwRCxVQUFVO0M0QnZEMUU7O0ExQmdNQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCbE05QixBQUFBLHVCQUF1QixDQUE2QjtJNUJnRWhELFlBQTBCLEVOdER4QixJQUFJLENNc0R5RCxVQUFVO0c0QjlENUU7OztBQVZILEFBQUEsa0JBQWtCLENBQW9CO0U1QitEbEMsT0FBWSxFTjFDVixJQUFJLENNMEMwQyxVQUFVO0M0QjVEN0Q7O0ExQnVNRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCMU1oQyxBQUFBLGtCQUFrQixDQUFvQjtJNUJzRWhDLE9BQVksRU5oRFYsSUFBSSxDTWdEMEMsVUFBVTtHNEJuRS9EOzs7QUFLQyxBQUFBLHNCQUFzQixDQUE4QjtFNUJ5RGxELFdBQTBCLEVONUN4QixJQUFJLENNNEN5RCxVQUFVO0M0QnZEMUU7O0ExQmdNQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCbE05QixBQUFBLHNCQUFzQixDQUE4QjtJNUJnRWhELFdBQTBCLEVObER4QixJQUFJLENNa0R5RCxVQUFVO0c0QjlENUU7OztBQUZELEFBQUEsd0JBQXdCLENBQTRCO0U1QnlEbEQsYUFBMEIsRU41Q3hCLElBQUksQ000Q3lELFVBQVU7QzRCdkQxRTs7QTFCZ01DLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFMEJsTTlCLEFBQUEsd0JBQXdCLENBQTRCO0k1QmdFaEQsYUFBMEIsRU5sRHhCLElBQUksQ01rRHlELFVBQVU7RzRCOUQ1RTs7O0FBRkQsQUFBQSx5QkFBeUIsQ0FBMkI7RTVCeURsRCxjQUEwQixFTjVDeEIsSUFBSSxDTTRDeUQsVUFBVTtDNEJ2RDFFOztBMUJnTUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0UwQmxNOUIsQUFBQSx5QkFBeUIsQ0FBMkI7STVCZ0VoRCxjQUEwQixFTmxEeEIsSUFBSSxDTWtEeUQsVUFBVTtHNEI5RDVFOzs7QUFGRCxBQUFBLHVCQUF1QixDQUE2QjtFNUJ5RGxELFlBQTBCLEVONUN4QixJQUFJLENNNEN5RCxVQUFVO0M0QnZEMUU7O0ExQmdNQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCbE05QixBQUFBLHVCQUF1QixDQUE2QjtJNUJnRWhELFlBQTBCLEVObER4QixJQUFJLENNa0R5RCxVQUFVO0c0QjlENUU7OztBQVZILEFBQUEsa0JBQWtCLENBQW9CO0U1QitEbEMsT0FBWSxFTnRDVixJQUFJLENNc0MwQyxVQUFVO0M0QjVEN0Q7O0ExQnVNRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCMU1oQyxBQUFBLGtCQUFrQixDQUFvQjtJNUJzRWhDLE9BQVksRU41Q1YsSUFBSSxDTTRDMEMsVUFBVTtHNEJuRS9EOzs7QUFLQyxBQUFBLHNCQUFzQixDQUE4QjtFNUJ5RGxELFdBQTBCLEVOeEN4QixJQUFJLENNd0N5RCxVQUFVO0M0QnZEMUU7O0ExQmdNQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCbE05QixBQUFBLHNCQUFzQixDQUE4QjtJNUJnRWhELFdBQTBCLEVOOUN4QixJQUFJLENNOEN5RCxVQUFVO0c0QjlENUU7OztBQUZELEFBQUEsd0JBQXdCLENBQTRCO0U1QnlEbEQsYUFBMEIsRU54Q3hCLElBQUksQ013Q3lELFVBQVU7QzRCdkQxRTs7QTFCZ01DLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFMEJsTTlCLEFBQUEsd0JBQXdCLENBQTRCO0k1QmdFaEQsYUFBMEIsRU45Q3hCLElBQUksQ004Q3lELFVBQVU7RzRCOUQ1RTs7O0FBRkQsQUFBQSx5QkFBeUIsQ0FBMkI7RTVCeURsRCxjQUEwQixFTnhDeEIsSUFBSSxDTXdDeUQsVUFBVTtDNEJ2RDFFOztBMUJnTUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0UwQmxNOUIsQUFBQSx5QkFBeUIsQ0FBMkI7STVCZ0VoRCxjQUEwQixFTjlDeEIsSUFBSSxDTThDeUQsVUFBVTtHNEI5RDVFOzs7QUFGRCxBQUFBLHVCQUF1QixDQUE2QjtFNUJ5RGxELFlBQTBCLEVOeEN4QixJQUFJLENNd0N5RCxVQUFVO0M0QnZEMUU7O0ExQmdNQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCbE05QixBQUFBLHVCQUF1QixDQUE2QjtJNUJnRWhELFlBQTBCLEVOOUN4QixJQUFJLENNOEN5RCxVQUFVO0c0QjlENUU7OztBQVZILEFBQUEsa0JBQWtCLENBQW9CO0U1QitEbEMsT0FBWSxFTmxDVixJQUFJLENNa0MwQyxVQUFVO0M0QjVEN0Q7O0ExQnVNRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCMU1oQyxBQUFBLGtCQUFrQixDQUFvQjtJNUJzRWhDLE9BQVksRU54Q1YsSUFBSSxDTXdDMEMsVUFBVTtHNEJuRS9EOzs7QUFLQyxBQUFBLHNCQUFzQixDQUE4QjtFNUJ5RGxELFdBQTBCLEVOcEN4QixJQUFJLENNb0N5RCxVQUFVO0M0QnZEMUU7O0ExQmdNQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCbE05QixBQUFBLHNCQUFzQixDQUE4QjtJNUJnRWhELFdBQTBCLEVOMUN4QixJQUFJLENNMEN5RCxVQUFVO0c0QjlENUU7OztBQUZELEFBQUEsd0JBQXdCLENBQTRCO0U1QnlEbEQsYUFBMEIsRU5wQ3hCLElBQUksQ01vQ3lELFVBQVU7QzRCdkQxRTs7QTFCZ01DLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFMEJsTTlCLEFBQUEsd0JBQXdCLENBQTRCO0k1QmdFaEQsYUFBMEIsRU4xQ3hCLElBQUksQ00wQ3lELFVBQVU7RzRCOUQ1RTs7O0FBRkQsQUFBQSx5QkFBeUIsQ0FBMkI7RTVCeURsRCxjQUEwQixFTnBDeEIsSUFBSSxDTW9DeUQsVUFBVTtDNEJ2RDFFOztBMUJnTUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0UwQmxNOUIsQUFBQSx5QkFBeUIsQ0FBMkI7STVCZ0VoRCxjQUEwQixFTjFDeEIsSUFBSSxDTTBDeUQsVUFBVTtHNEI5RDVFOzs7QUFGRCxBQUFBLHVCQUF1QixDQUE2QjtFNUJ5RGxELFlBQTBCLEVOcEN4QixJQUFJLENNb0N5RCxVQUFVO0M0QnZEMUU7O0ExQmdNQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCbE05QixBQUFBLHVCQUF1QixDQUE2QjtJNUJnRWhELFlBQTBCLEVOMUN4QixJQUFJLENNMEN5RCxVQUFVO0c0QjlENUU7OztBQVZILEFBQUEsa0JBQWtCLENBQW9CO0U1QitEbEMsT0FBWSxFTjlCVixJQUFJLENNOEIwQyxVQUFVO0M0QjVEN0Q7O0ExQnVNRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCMU1oQyxBQUFBLGtCQUFrQixDQUFvQjtJNUJzRWhDLE9BQVksRU5wQ1YsSUFBSSxDTW9DMEMsVUFBVTtHNEJuRS9EOzs7QUFLQyxBQUFBLHNCQUFzQixDQUE4QjtFNUJ5RGxELFdBQTBCLEVOaEN4QixJQUFJLENNZ0N5RCxVQUFVO0M0QnZEMUU7O0ExQmdNQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCbE05QixBQUFBLHNCQUFzQixDQUE4QjtJNUJnRWhELFdBQTBCLEVOdEN4QixJQUFJLENNc0N5RCxVQUFVO0c0QjlENUU7OztBQUZELEFBQUEsd0JBQXdCLENBQTRCO0U1QnlEbEQsYUFBMEIsRU5oQ3hCLElBQUksQ01nQ3lELFVBQVU7QzRCdkQxRTs7QTFCZ01DLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFMEJsTTlCLEFBQUEsd0JBQXdCLENBQTRCO0k1QmdFaEQsYUFBMEIsRU50Q3hCLElBQUksQ01zQ3lELFVBQVU7RzRCOUQ1RTs7O0FBRkQsQUFBQSx5QkFBeUIsQ0FBMkI7RTVCeURsRCxjQUEwQixFTmhDeEIsSUFBSSxDTWdDeUQsVUFBVTtDNEJ2RDFFOztBMUJnTUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0UwQmxNOUIsQUFBQSx5QkFBeUIsQ0FBMkI7STVCZ0VoRCxjQUEwQixFTnRDeEIsSUFBSSxDTXNDeUQsVUFBVTtHNEI5RDVFOzs7QUFGRCxBQUFBLHVCQUF1QixDQUE2QjtFNUJ5RGxELFlBQTBCLEVOaEN4QixJQUFJLENNZ0N5RCxVQUFVO0M0QnZEMUU7O0ExQmdNQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCbE05QixBQUFBLHVCQUF1QixDQUE2QjtJNUJnRWhELFlBQTBCLEVOdEN4QixJQUFJLENNc0N5RCxVQUFVO0c0QjlENUU7OztBQVZILEFBQUEsa0JBQWtCLENBQW9CO0U1QitEbEMsT0FBWSxFTjFCVixJQUFJLENNMEIwQyxVQUFVO0M0QjVEN0Q7O0ExQnVNRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCMU1oQyxBQUFBLGtCQUFrQixDQUFvQjtJNUJzRWhDLE9BQVksRU5oQ1YsSUFBSSxDTWdDMEMsVUFBVTtHNEJuRS9EOzs7QUFLQyxBQUFBLHNCQUFzQixDQUE4QjtFNUJ5RGxELFdBQTBCLEVONUJ4QixJQUFJLENNNEJ5RCxVQUFVO0M0QnZEMUU7O0ExQmdNQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCbE05QixBQUFBLHNCQUFzQixDQUE4QjtJNUJnRWhELFdBQTBCLEVObEN4QixJQUFJLENNa0N5RCxVQUFVO0c0QjlENUU7OztBQUZELEFBQUEsd0JBQXdCLENBQTRCO0U1QnlEbEQsYUFBMEIsRU41QnhCLElBQUksQ000QnlELFVBQVU7QzRCdkQxRTs7QTFCZ01DLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFMEJsTTlCLEFBQUEsd0JBQXdCLENBQTRCO0k1QmdFaEQsYUFBMEIsRU5sQ3hCLElBQUksQ01rQ3lELFVBQVU7RzRCOUQ1RTs7O0FBRkQsQUFBQSx5QkFBeUIsQ0FBMkI7RTVCeURsRCxjQUEwQixFTjVCeEIsSUFBSSxDTTRCeUQsVUFBVTtDNEJ2RDFFOztBMUJnTUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0UwQmxNOUIsQUFBQSx5QkFBeUIsQ0FBMkI7STVCZ0VoRCxjQUEwQixFTmxDeEIsSUFBSSxDTWtDeUQsVUFBVTtHNEI5RDVFOzs7QUFGRCxBQUFBLHVCQUF1QixDQUE2QjtFNUJ5RGxELFlBQTBCLEVONUJ4QixJQUFJLENNNEJ5RCxVQUFVO0M0QnZEMUU7O0ExQmdNQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCbE05QixBQUFBLHVCQUF1QixDQUE2QjtJNUJnRWhELFlBQTBCLEVObEN4QixJQUFJLENNa0N5RCxVQUFVO0c0QjlENUU7OztBQVZILEFBQUEsa0JBQWtCLENBQW9CO0U1QitEbEMsT0FBWSxFTnRCVixJQUFJLENNc0IwQyxVQUFVO0M0QjVEN0Q7O0ExQnVNRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCMU1oQyxBQUFBLGtCQUFrQixDQUFvQjtJNUJzRWhDLE9BQVksRU41QlYsSUFBSSxDTTRCMEMsVUFBVTtHNEJuRS9EOzs7QUFLQyxBQUFBLHNCQUFzQixDQUE4QjtFNUJ5RGxELFdBQTBCLEVOeEJ4QixJQUFJLENNd0J5RCxVQUFVO0M0QnZEMUU7O0ExQmdNQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCbE05QixBQUFBLHNCQUFzQixDQUE4QjtJNUJnRWhELFdBQTBCLEVOOUJ4QixJQUFJLENNOEJ5RCxVQUFVO0c0QjlENUU7OztBQUZELEFBQUEsd0JBQXdCLENBQTRCO0U1QnlEbEQsYUFBMEIsRU54QnhCLElBQUksQ013QnlELFVBQVU7QzRCdkQxRTs7QTFCZ01DLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFMEJsTTlCLEFBQUEsd0JBQXdCLENBQTRCO0k1QmdFaEQsYUFBMEIsRU45QnhCLElBQUksQ004QnlELFVBQVU7RzRCOUQ1RTs7O0FBRkQsQUFBQSx5QkFBeUIsQ0FBMkI7RTVCeURsRCxjQUEwQixFTnhCeEIsSUFBSSxDTXdCeUQsVUFBVTtDNEJ2RDFFOztBMUJnTUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0UwQmxNOUIsQUFBQSx5QkFBeUIsQ0FBMkI7STVCZ0VoRCxjQUEwQixFTjlCeEIsSUFBSSxDTThCeUQsVUFBVTtHNEI5RDVFOzs7QUFGRCxBQUFBLHVCQUF1QixDQUE2QjtFNUJ5RGxELFlBQTBCLEVOeEJ4QixJQUFJLENNd0J5RCxVQUFVO0M0QnZEMUU7O0ExQmdNQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTBCbE05QixBQUFBLHVCQUF1QixDQUE2QjtJNUJnRWhELFlBQTBCLEVOOUJ4QixJQUFJLENNOEJ5RCxVQUFVO0c0QjlENUU7OztBQ2pEUDs7Z0ZBRWdGO0FBTWhGOzs7Ozs7OztHQVFHO0FBR0QsQUFBQSxxQkFBcUIsQ0FBTztFMUI2SHhCLFNBQVMsRVIvR0UsSUFBSSxDUTBHc0IsVUFBVTtFQU0vQyxTQUFTLEVMeEdMLElBQXFDLENLbUdJLFVBQVU7RUFNdkQsV0FBVyxFQTlFQyxPQUF5QixDQXlFSSxVQUFVO0MwQnhIdEQ7O0EzQjROSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTJCOU5sQyxBQUFBLHFCQUFxQixDQUFPO0kxQnVJdEIsU0FBUyxFUnJIQSxJQUFJLENRc0dzQixVQUFVO0lBZ0I3QyxTQUFTLEVMbEhQLElBQXFDLENLbUdJLFVBQVU7SUFnQnJELFdBQVcsRUF4RkQsS0FBeUIsQ0F5RUksVUFBVTtHMEJ4SHREOzs7QTNCNE5LLE1BQU0sQ0FBQyxLQUFLO0UyQjlObEIsQUFBQSxxQkFBcUIsQ0FBTztJMUJrSXRCLFNBQVMsRVI1R0EsSUFBSSxDUWtHc0IsVUFBVTtJQVc3QyxXQUFXLEVSNUdBLEdBQUcsQ1FtR3lCLFVBQVU7RzBCeEh0RDs7O0FBRkQsQUFBQSxxQkFBcUIsQ0FBTztFMUI2SHhCLFNBQVMsRVJqR0UsSUFBSSxDUTRGc0IsVUFBVTtFQU0vQyxTQUFTLEVMeEdMLElBQXFDLENLbUdJLFVBQVU7RUFNdkQsV0FBVyxFQTlFQyxJQUF5QixDQXlFSSxVQUFVO0MwQnhIdEQ7O0EzQjROSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTJCOU5sQyxBQUFBLHFCQUFxQixDQUFPO0kxQnVJdEIsU0FBUyxFUnZHQSxJQUFJLENRd0ZzQixVQUFVO0lBZ0I3QyxTQUFTLEVMbEhQLElBQXFDLENLbUdJLFVBQVU7SUFnQnJELFdBQVcsRUF4RkQsT0FBeUIsQ0F5RUksVUFBVTtHMEJ4SHREOzs7QTNCNE5LLE1BQU0sQ0FBQyxLQUFLO0UyQjlObEIsQUFBQSxxQkFBcUIsQ0FBTztJMUJrSXRCLFNBQVMsRVI5RkEsSUFBSSxDUW9Gc0IsVUFBVTtJQVc3QyxXQUFXLEVSOUZBLElBQUksQ1FxRndCLFVBQVU7RzBCeEh0RDs7O0FBRkQsQUFBQSxxQkFBcUIsQ0FBTztFMUI2SHhCLFNBQVMsRVJuRkUsSUFBSSxDUThFc0IsVUFBVTtFQU0vQyxTQUFTLEVMeEdMLE1BQXFDLENLbUdJLFVBQVU7RUFNdkQsV0FBVyxFQTlFQyxPQUF5QixDQXlFSSxVQUFVO0MwQnhIdEQ7O0EzQjROSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTJCOU5sQyxBQUFBLHFCQUFxQixDQUFPO0kxQnVJdEIsU0FBUyxFUnpGQSxJQUFJLENRMEVzQixVQUFVO0lBZ0I3QyxTQUFTLEVMbEhQLElBQXFDLENLbUdJLFVBQVU7SUFnQnJELFdBQVcsRUF4RkQsSUFBeUIsQ0F5RUksVUFBVTtHMEJ4SHREOzs7QTNCNE5LLE1BQU0sQ0FBQyxLQUFLO0UyQjlObEIsQUFBQSxxQkFBcUIsQ0FBTztJMUJrSXRCLFNBQVMsRVJoRkEsSUFBSSxDUXNFc0IsVUFBVTtJQVc3QyxXQUFXLEVSaEZBLElBQUksQ1F1RXdCLFVBQVU7RzBCeEh0RDs7O0FBRkQsQUFBQSxxQkFBcUIsQ0FBTztFMUI2SHhCLFNBQVMsRVJyRUUsSUFBSSxDUWdFc0IsVUFBVTtFQU0vQyxTQUFTLEVMeEdMLE9BQXFDLENLbUdJLFVBQVU7RUFNdkQsV0FBVyxFQTlFQyxHQUF5QixDQXlFSSxVQUFVO0MwQnhIdEQ7O0EzQjROSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTJCOU5sQyxBQUFBLHFCQUFxQixDQUFPO0kxQnVJdEIsU0FBUyxFUjNFQSxJQUFJLENRNERzQixVQUFVO0lBZ0I3QyxTQUFTLEVMbEhQLE1BQXFDLENLbUdJLFVBQVU7SUFnQnJELFdBQVcsRUF4RkQsT0FBeUIsQ0F5RUksVUFBVTtHMEJ4SHREOzs7QTNCNE5LLE1BQU0sQ0FBQyxLQUFLO0UyQjlObEIsQUFBQSxxQkFBcUIsQ0FBTztJMUJrSXRCLFNBQVMsRVJsRUEsSUFBSSxDUXdEc0IsVUFBVTtJQVc3QyxXQUFXLEVSbEVBLElBQUksQ1F5RHdCLFVBQVU7RzBCeEh0RDs7O0FBRkQsQUFBQSxxQkFBcUIsQ0FBTztFMUI2SHhCLFNBQVMsRVJ2REUsSUFBSSxDUWtEc0IsVUFBVTtFQU0vQyxTQUFTLEVMeEdMLFFBQXFDLENLbUdJLFVBQVU7RUFNdkQsV0FBVyxFQTlFQyxPQUF5QixDQXlFSSxVQUFVO0MwQnhIdEQ7O0EzQjROSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTJCOU5sQyxBQUFBLHFCQUFxQixDQUFPO0kxQnVJdEIsU0FBUyxFUjdEQSxJQUFJLENROENzQixVQUFVO0lBZ0I3QyxTQUFTLEVMbEhQLFFBQXFDLENLbUdJLFVBQVU7SUFnQnJELFdBQVcsRUF4RkQsT0FBeUIsQ0F5RUksVUFBVTtHMEJ4SHREOzs7QTNCNE5LLE1BQU0sQ0FBQyxLQUFLO0UyQjlObEIsQUFBQSxxQkFBcUIsQ0FBTztJMUJrSXRCLFNBQVMsRVJwREEsSUFBSSxDUTBDc0IsVUFBVTtJQVc3QyxXQUFXLEVScERBLElBQUksQ1EyQ3dCLFVBQVU7RzBCeEh0RDs7O0FBRkQsQUFBQSxxQkFBcUIsQ0FBTztFMUI2SHhCLFNBQVMsRVJ6Q0UsSUFBSSxDUW9Dc0IsVUFBVTtFQU0vQyxTQUFTLEVMeEdMLElBQXFDLENLbUdJLFVBQVU7RUFNdkQsV0FBVyxFQTlFQyxHQUF5QixDQXlFSSxVQUFVO0MwQnhIdEQ7O0EzQjROSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTJCOU5sQyxBQUFBLHFCQUFxQixDQUFPO0kxQnVJdEIsU0FBUyxFUi9DQSxJQUFJLENRZ0NzQixVQUFVO0lBZ0I3QyxTQUFTLEVMbEhQLFNBQXFDLENLbUdJLFVBQVU7SUFnQnJELFdBQVcsRUF4RkQsT0FBeUIsQ0F5RUksVUFBVTtHMEJ4SHREOzs7QTNCNE5LLE1BQU0sQ0FBQyxLQUFLO0UyQjlObEIsQUFBQSxxQkFBcUIsQ0FBTztJMUJrSXRCLFNBQVMsRVJ0Q0EsSUFBSSxDUTRCc0IsVUFBVTtJQVc3QyxXQUFXLEVSdENBLElBQUksQ1E2QndCLFVBQVU7RzBCeEh0RDs7O0FBRkQsQUFBQSxxQkFBcUIsQ0FBTztFMUI2SHhCLFNBQVMsRVIzQkUsSUFBSSxDUXNCc0IsVUFBVTtFQU0vQyxTQUFTLEVMeEdMLElBQXFDLENLbUdJLFVBQVU7RUFNdkQsV0FBVyxFQTlFQyxHQUF5QixDQXlFSSxVQUFVO0MwQnhIdEQ7O0EzQjROSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTJCOU5sQyxBQUFBLHFCQUFxQixDQUFPO0kxQnVJdEIsU0FBUyxFUmpDQSxJQUFJLENRa0JzQixVQUFVO0lBZ0I3QyxTQUFTLEVMbEhQLFFBQXFDLENLbUdJLFVBQVU7SUFnQnJELFdBQVcsRUF4RkQsT0FBeUIsQ0F5RUksVUFBVTtHMEJ4SHREOzs7QTNCNE5LLE1BQU0sQ0FBQyxLQUFLO0UyQjlObEIsQUFBQSxxQkFBcUIsQ0FBTztJMUJrSXRCLFNBQVMsRVJ4QkEsSUFBSSxDUWNzQixVQUFVO0lBVzdDLFdBQVcsRVJ4QkEsSUFBSSxDUWV3QixVQUFVO0cwQnhIdEQ7OztBQUZELEFBQUEscUJBQXFCLENBQU87RTFCNkh4QixTQUFTLEVSYkUsSUFBSSxDUVFzQixVQUFVO0VBTS9DLFNBQVMsRUx4R0wsUUFBcUMsQ0ttR0ksVUFBVTtFQU12RCxXQUFXLEVBOUVDLE9BQXlCLENBeUVJLFVBQVU7QzBCeEh0RDs7QTNCNE5LLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFMkI5TmxDLEFBQUEscUJBQXFCLENBQU87STFCdUl0QixTQUFTLEVSbkJBLElBQUksQ1FJc0IsVUFBVTtJQWdCN0MsU0FBUyxFTGxIUCxJQUFxQyxDS21HSSxVQUFVO0lBZ0JyRCxXQUFXLEVBeEZELEdBQXlCLENBeUVJLFVBQVU7RzBCeEh0RDs7O0EzQjROSyxNQUFNLENBQUMsS0FBSztFMkI5TmxCLEFBQUEscUJBQXFCLENBQU87STFCa0l0QixTQUFTLEVSVkEsSUFBSSxDUUFzQixVQUFVO0lBVzdDLFdBQVcsRVJWQSxHQUFHLENRQ3lCLFVBQVU7RzBCeEh0RDs7O0FBRkQsQUFBQSxxQkFBcUIsQ0FBTztFMUI2SHhCLFNBQVMsRVJDRSxJQUFJLENRTnNCLFVBQVU7RUFNL0MsU0FBUyxFTHhHTCxPQUFxQyxDS21HSSxVQUFVO0VBTXZELFdBQVcsRUE5RUMsT0FBeUIsQ0F5RUksVUFBVTtDMEJ4SHREOztBM0I0TkssTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0UyQjlObEMsQUFBQSxxQkFBcUIsQ0FBTztJMUJ1SXRCLFNBQVMsRVJMQSxJQUFJLENRVnNCLFVBQVU7SUFnQjdDLFNBQVMsRUxsSFAsUUFBcUMsQ0ttR0ksVUFBVTtJQWdCckQsV0FBVyxFQXhGRCxPQUF5QixDQXlFSSxVQUFVO0cwQnhIdEQ7OztBM0I0TkssTUFBTSxDQUFDLEtBQUs7RTJCOU5sQixBQUFBLHFCQUFxQixDQUFPO0kxQmtJdEIsU0FBUyxFUklBLElBQUksQ1Fkc0IsVUFBVTtJQVc3QyxXQUFXLEVSSUEsR0FBRyxDUWJ5QixVQUFVO0cwQnhIdEQ7OztBQUdIO2dGQUNnRjtBQUVoRjs7O0dBR0c7QUFFSCxBQUFBLDJCQUEyQixDQUFDO0UxQk0xQixXQUFXLEVWdkJPLEdBQUcsQ1V1QjJCLFVBQVU7QzBCSjNEOztBQUVELEFBQUEseUJBQXlCLENBQUM7RTFCY3hCLFdBQVcsRVZwQ0ssR0FBRyxDVW9DMkIsVUFBVTtDMEJaekQ7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOzs7R0FHRztBQUVILEFBQUEsNkJBQTZCLENBQUM7RUFDNUIsS0FBSyxFckNjYyxPQUFPLENxQ2RTLFVBQVU7Q0FDOUM7O0FBRUQsQUFBQSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQTtFQUN6QixXQUFXLEVwQzNDQSxRQUFRLENvQzJDTSxVQUFVO0NBQ3BDOztBQUVELEFBQUEsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLENBQUE7RUFBQyxXQUFXLEVwQzdDUixTQUFTLENvQzZDcUIsVUFBVTtDQUFHOztBQ3hEaEU7O2dGQUVnRjtBQUVoRjs7Ozs7R0FLRztBQUVILEFBQUEsd0JBQXdCLENBQUM7RXpCK0N2QixpQkFBaUIsRUFBRSxVQUFVO0VBQzdCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsSUFBSSxFQUFFLGFBQWE7RUFDbkIsU0FBUyxFQUFFLFVBQVU7RUFDckIsTUFBTSxFQUFFLEdBQUc7RUFDWCxNQUFNLEVBQUUsQ0FBQztFQUNULFFBQVEsRUFBRSxNQUFNO0VBQ2hCLE9BQU8sRUFBRSxDQUFDO0VBQ1YsUUFBUSxFQUFFLFFBQVE7RUFDbEIsV0FBVyxFQUFFLE1BQU07RUFDbkIsS0FBSyxFQUFFLEdBQUc7Q3lCdkRYOztBQ2JEOztnRkFFZ0Y7QUFFaEY7Ozs7OztHQU1HO0FBTUgsQUFBQSxtQkFBbUIsQ0FBQztFQUNsQixLQUFLLEVBQUUsZUFBZTtDQUN2Qjs7QUFFRCxBQUFBLDZCQUE2QixDQUFDO0VBQzVCLEtBQUssRUFBRSxlQUFlO0NBS3ZCOztBN0J1Tk8sTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0U2QjdOcEMsQUFBQSw2QkFBNkIsQ0FBQztJQUkxQixLQUFLLEVBQUUsY0FBYztHQUV4Qjs7O0FBRUQsQUFBQSx5QkFBeUIsQ0FBQztFQUN4QixLQUFLLEVBQUUsZUFBZTtDQUt2Qjs7QTdCK01PLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFNkJyTnBDLEFBQUEseUJBQXlCLENBQUM7SUFJdEIsS0FBSyxFQUFFLGlCQUFpQjtHQUUzQjs7O0FBRUQsQUFBQSx1QkFBdUIsQ0FBQztFQUN0QixLQUFLLEVBQUUsZUFBZTtDQUt2Qjs7QTdCdU1PLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFNkI3TXBDLEFBQUEsdUJBQXVCLENBQUM7SUFJcEIsS0FBSyxFQUFFLGNBQWM7R0FFeEI7OztBQUVELEFBQUEsd0JBQXdCLENBQUM7RUFDdkIsS0FBSyxFQUFFLGVBQWU7Q0FLdkI7O0E3QitMTyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTZCck1wQyxBQUFBLHdCQUF3QixDQUFDO0lBSXJCLEtBQUssRUFBRSxpQkFBaUI7R0FFM0I7OztBQUVELEFBQUEsMEJBQTBCLENBQUM7RUFDekIsS0FBSyxFQUFFLGVBQWU7Q0FLdkI7O0E3QnVMTyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTZCN0xwQyxBQUFBLDBCQUEwQixDQUFDO0lBSXZCLEtBQUssRUFBRSxjQUFjO0dBRXhCOzs7QUN6REQsQUFBQSxZQUFZLENBQUM7RUFDVCxPQUFPLEVBQUUsSUFBSTtDQUNoQjs7QUFHRCxBQUFBLFlBQVksQ0FBQztFQUNULGdCQUFnQixFQUFFLE9BQU87Q0FDNUI7O0FBRUQsQUFBQSxvQkFBb0IsQ0FBQyxDQUFDO0FBQ3RCLG9CQUFvQixDQUFDLE1BQU0sQ0FBQztFQUN4QixPQUFPLEVBQUUsWUFBWTtFQUNyQixjQUFjLEVBQUUsTUFBTTtDQUN6Qjs7QUFHRCxBQUFBLGlDQUFpQyxDQUFDO0VBQzlCLEtBQUssRUFBRSxnQkFBZ0I7Q0FDMUI7O0FBR0QsQUFBQSxzQkFBc0IsQ0FBQztFQUNuQixPQUFPLEVBQUUsSUFBSTtFQUNiLGFBQWEsRUFBRSxJQUFJO0VBQ25CLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLGlCQUFpQjtDQUM1Qjs7QUMzQkQsQUFBQSxTQUFTLENBQUM7RUFDTixPQUFPLEVBQUUsSUFBSTtFQUNiLGVBQWUsRUFBRSxhQUFhO0NBQ2pDOztBQUVELEFBQUEsV0FBVyxDQUFDO0VBQ1IsZUFBZSxFQUFFLFFBQVE7RUFDekIsV0FBVyxFQUFFLElBQUk7Q0FDcEI7O0FBRUQsQUFBQSxVQUFVLENBQUM7RUFDUCxlQUFlLEVBQUUsVUFBVTtFQUMzQixZQUFZLEVBQUUsSUFBSTtDQUNyQjs7QXpDcUxELEFBQUEsYUFBYSxDeUNuTEM7RUE2Q1Ysb0RBQW9EO0NBcUJ2RDs7QUFsRUQsQUFHSSxhQUhTLENBR1QsRUFBRSxDQUFDO0VBQ0MsZUFBZSxFQUFFLElBQUk7RUFDckIsTUFBTSxFQUFFLENBQUM7RUFDVCxPQUFPLEVBQUUsQ0FBQztFQUNWLFFBQVEsRUFBRSxNQUFNO0VBQ2hCLFdBQVcsRUFBRSxLQUFLO0NBQ3JCOztBQVRMLEFBV0ksYUFYUyxDQVdULEVBQUUsQ0FBQyxDQUFDLENBQUM7RUFDRCxPQUFPLEVBQUUsS0FBSztFQUNkLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLE9BQU8sRUFBRSxpQkFBaUI7RTlCbUg1QixTQUFTLEVSYkUsSUFBSTtFUWNmLFNBQVMsRUx4R0wsUUFBcUM7RUt5R3pDLFdBQVcsRUE5RUMsT0FBeUI7RThCckNuQyxlQUFlLEVBQUUsSUFBSTtFQUNyQixLQUFLLEV6Q2RPLE9BQU87RXlDZ0JuQixXQUFXLEV4Q3hCTixRQUFRLEN3Q3dCWSxVQUFVO0NBQ3RDOztBL0I4TUcsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0UrQmxPcEMsQUFXSSxhQVhTLENBV1QsRUFBRSxDQUFDLENBQUMsQ0FBQztJOUJnSUQsU0FBUyxFUm5CQSxJQUFJO0lRb0JiLFNBQVMsRUxsSFAsSUFBcUM7SUttSHZDLFdBQVcsRUF4RkQsR0FBeUI7RzhCakN0Qzs7O0EvQjhNRyxNQUFNLENBQUMsS0FBSztFK0JsT3BCLEFBV0ksYUFYUyxDQVdULEVBQUUsQ0FBQyxDQUFDLENBQUM7STlCMkhELFNBQVMsRVJWQSxJQUFJO0lRV2IsV0FBVyxFUlZBLEdBQUc7R3NDekdqQjs7O0FBcEJMLEFBc0JJLGFBdEJTLENBc0JULEVBQUUsQ0FBQztFQUNDLEtBQUssRUFBRSxJQUFJO0VBQ1gsYUFBYSxFQUFFLEdBQUc7RUFDbEIsU0FBUyxFQUFFLElBQUk7Q0FpQmxCOztBQTFDTCxBQTZCUSxhQTdCSyxDQXNCVCxFQUFFLENBS0UsQ0FBQyxBQUVBLE1BQU0sQ0FBQTtFQUNILFVBQVUsRXpDZkQsT0FBTztFeUNnQmhCLEtBQUssRXpDM0JHLE9BQU8sQ3lDMkJXLFVBQVU7Q0FDdkM7O0FBaENULEFBa0NRLGFBbENLLENBc0JULEVBQUUsQ0FLRSxDQUFDLEFBT0EsTUFBTSxDQUFDO0VBQ0osVUFBVSxFQUFFLGtCQUFlO0VBQzNCLEtBQUssRXpDakNHLE9BQU87Q3lDcUNsQjs7QUF4Q1QsQUFxQ1ksYUFyQ0MsQ0FzQlQsRUFBRSxDQUtFLENBQUMsQUFPQSxNQUFNLEFBR0YsTUFBTSxDQUFBO0VBQ0gsS0FBSyxFekNuQ0QsT0FBTyxDeUNtQ2UsVUFBVTtDQUN2Qzs7QUF2Q2IsQUFrQ1EsYUFsQ0ssQ0FzQlQsRUFBRSxDQUtFLENBQUMsQUFPQSxNQUFNLENBWUE7RUFDUCxLQUFLLEV6QzVDTyxPQUFPO0N5QzZDdEI7O0FBaERMLEFBa0RJLGFBbERTLENBa0RULE9BQU8sQ0FBQztFQUNKLEtBQUssRXpDaERPLE9BQU87RXlDaURuQixXQUFXLEVBQUUsR0FBRztDQUtuQjs7QXpDMEhMLEFBV00sYUFYTyxDQVNYLE9BQU8sQUFFRixNQUFNLEN5Q3hJRztFQUNKLEtBQUssRXpDbkRHLE9BQU87Q3lDb0RsQjs7QUF4RFQsQUEyREksYUEzRFMsQ0EyRFQsRUFBRSxBQUFBLE1BQU0sQ0FBQztFQUNMLGVBQWUsRUFBRSxJQUFJO0VBQ3JCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLENBQUM7RUFDVixRQUFRLEVBQUUsTUFBTTtFQUNoQixLQUFLLEVBQUUsS0FBSztDQUNmOztBL0JpS0csTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRO0VWL0NuQyxBQUFBLGFBQWEsQ3lDOUdLO0lBQ1YsT0FBTyxFQUFFLElBQUk7R0FDaEI7OztBL0IySkcsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRO0VWL0NuQyxBQUFBLGFBQWEsQ3lDdkdLO0lBQ1YsT0FBTyxFQUFFLEtBQUs7R0FDakI7OztBQzNGTCxBQUFBLFlBQVksRUFBRSxVQUFVLENBQUM7RUFDckIsT0FBTyxFQUFFLElBQUk7RTdCcUJmLGFBQWEsRUFBRSxHQUFHO0U2Qm5CaEIsTUFBTSxFQUFDLENBQUM7RWxDbUdKLGFBQTBCLEVOeEN4QixJQUFJO0V3Q3pEVixVQUFVLEUxQzRETyxPQUFPO0MwQzlDM0I7O0FoQzROTyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWdDL09wQyxBQUFBLFlBQVksRUFBRSxVQUFVLENBQUM7SWxDNkdmLGFBQTBCLEVOOUN4QixJQUFJO0d3QzVDZjs7O0FBbkJELEFBT0ksWUFQUSxDQU9SLENBQUMsQUFBQSxXQUFXLEVBUEYsVUFBVSxDQU9wQixDQUFDLEFBQUEsV0FBVyxDQUFDO0VBQ1QsYUFBYSxFQUFFLEdBQUc7Q0FDckI7O0FBVEwsQUFXSSxZQVhRLENBV1Isa0JBQWtCLEVBWFIsVUFBVSxDQVdwQixrQkFBa0IsQ0FBQztFL0JtSWpCLFNBQVMsRVJ6Q0UsSUFBSTtFUTBDZixTQUFTLEVMeEdMLElBQXFDO0VLeUd6QyxXQUFXLEVBOUVDLEdBQXlCO0VIb0NuQyxhQUEwQixFTmhEeEIsR0FBRztDd0N4Q1I7O0FoQ2lPRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWdDL09wQyxBQVdJLFlBWFEsQ0FXUixrQkFBa0IsRUFYUixVQUFVLENBV3BCLGtCQUFrQixDQUFDO0kvQjZJZixTQUFTLEVSL0NBLElBQUk7SVFnRGIsU0FBUyxFTGxIUCxTQUFxQztJS21IdkMsV0FBVyxFQXhGRCxPQUF5QjtHK0JwRHRDOzs7QWhDaU9HLE1BQU0sQ0FBQyxLQUFLO0VnQy9PcEIsQUFXSSxZQVhRLENBV1Isa0JBQWtCLEVBWFIsVUFBVSxDQVdwQixrQkFBa0IsQ0FBQztJL0J3SWYsU0FBUyxFUnRDQSxJQUFJO0lRdUNiLFdBQVcsRVJ0Q0EsSUFBSTtHdUNoR2xCOzs7QWhDaU9HLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFZ0MvT3BDLEFBV0ksWUFYUSxDQVdSLGtCQUFrQixFQVhSLFVBQVUsQ0FXcEIsa0JBQWtCLENBQUM7SWxDa0diLGFBQTBCLEVOdER4QixJQUFJO0d3Q3pDWDs7O0FBZEwsQUFnQkksWUFoQlEsQ0FnQlIsQ0FBQyxFQWhCTCxZQUFZLENBZ0JMLENBQUMsQUFBQSxLQUFLLEVBaEJiLFlBQVksQ0FnQkcsQ0FBQyxBQUFBLFFBQVEsRUFoQnhCLFlBQVksQ0FnQmMsQ0FBQyxBQUFBLE9BQU8sRUFoQnBCLFVBQVUsQ0FnQnBCLENBQUMsRUFoQlMsVUFBVSxDQWdCakIsQ0FBQyxBQUFBLEtBQUssRUFoQkMsVUFBVSxDQWdCVCxDQUFDLEFBQUEsUUFBUSxFQWhCVixVQUFVLENBZ0JFLENBQUMsQUFBQSxPQUFPLENBQUE7RUFDMUIsS0FBSyxFMUNLTSxPQUFPO0MwQ0pyQjs7QUFHTCxBQUFBLG1CQUFtQixFQUFFLG9CQUFvQixDQUFDO0VBQ3RDLFVBQVUsRTFDV08sT0FBTyxDMENYUSxVQUFVO0NBQzdDOztBQUVELEFBQUEsa0JBQWtCLENBQUM7RUFDZixVQUFVLEUxQ1NPLE9BQU8sQzBDVFEsVUFBVTtFQUMxQyxLQUFLLEUxQ1ZXLE9BQU87QzBDYTFCOztBQUxELEFBSUksa0JBSmMsQ0FJZCxDQUFDLEVBSkwsa0JBQWtCLENBSVgsQ0FBQyxBQUFBLEtBQUssRUFKYixrQkFBa0IsQ0FJSCxDQUFDLEFBQUEsUUFBUSxFQUp4QixrQkFBa0IsQ0FJUSxDQUFDLEFBQUEsT0FBTyxDQUFBO0VBQUMsZUFBZSxFQUFDLFNBQVM7RUFBRSxLQUFLLEUxQ1ovQyxPQUFPO0MwQ1k4RDs7QUFHekYsQUFBQSxvQkFBb0IsQ0FBQztFQUNqQixVQUFVLEUxQ0hVLE9BQU8sQzBDR08sVUFBVTtFQUM1QyxLQUFLLEUxQ2xCVyxPQUFPO0MwQ3NCMUI7O0FBTkQsQUFJSSxvQkFKZ0IsQ0FJaEIsQ0FBQyxFQUpMLG9CQUFvQixDQUliLENBQUMsQUFBQSxLQUFLLEVBSmIsb0JBQW9CLENBSUwsQ0FBQyxBQUFBLFFBQVEsRUFKeEIsb0JBQW9CLENBSU0sQ0FBQyxBQUFBLE9BQU8sQ0FBQTtFQUFDLGVBQWUsRUFBQyxTQUFTO0VBQUUsS0FBSyxFMUNwQi9DLE9BQU87QzBDb0I4RDs7QUFKekYsQUFLSSxvQkFMZ0IsQ0FLaEIsQ0FBQyxDQUFBO0VBQUMsS0FBSyxFMUNyQlMsT0FBTyxDMENxQkssVUFBVTtDQUFHOztBQUc3QyxBQUFBLGlCQUFpQixDQUFDO0VBQ2QsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEMxQ2RILE9BQU8sQzBDY2EsVUFBVTtFQUM1QyxnQkFBZ0IsRTFDV0csT0FBTyxDMENYYyxVQUFVO0VBQ2xELEtBQUssRTFDMUJXLE9BQU87QzBDOEIxQjs7QUFQRCxBQUtPLGlCQUxVLENBS1YsQ0FBQyxFQUxSLGlCQUFpQixDQUtQLENBQUMsQUFBQSxLQUFLLEVBTGhCLGlCQUFpQixDQUtDLENBQUMsQUFBQSxRQUFRLEVBTDNCLGlCQUFpQixDQUtZLENBQUMsQUFBQSxPQUFPLENBQUE7RUFBQyxlQUFlLEVBQUMsU0FBUztFQUFFLEtBQUssRTFDNUJsRCxPQUFPO0MwQzRCaUU7O0FBTDVGLEFBTUksaUJBTmEsQ0FNYixDQUFDLENBQUE7RUFBQyxLQUFLLEUxQzdCUyxPQUFPLEMwQzZCSyxVQUFVO0NBQUc7O0FBRzdDLEFBQUEsbUJBQW1CLENBQUM7RUFDaEIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEMxQ2VBLE9BQU8sQzBDZmMsVUFBVTtFQUNoRCxnQkFBZ0IsRTFDbkNBLE9BQU8sQzBDbUNhLFVBQVU7RUFDOUMsS0FBSyxFMUNuQ1csT0FBTztDMEN1QzFCOztBQVBELEFBSU8sbUJBSlksQ0FJWixDQUFDLEVBSlIsbUJBQW1CLENBSVQsQ0FBQyxBQUFBLEtBQUssRUFKaEIsbUJBQW1CLENBSUQsQ0FBQyxBQUFBLFFBQVEsRUFKM0IsbUJBQW1CLENBSVUsQ0FBQyxBQUFBLE9BQU8sQ0FBQTtFQUFDLGVBQWUsRUFBQyxJQUFJO0NBQUk7O0FBSjlELEFBS0ksbUJBTGUsQ0FLZixDQUFDLEFBQUEsTUFBTSxDQUFBO0VBQUMsZUFBZSxFQUFDLFNBQVM7RUFBRSxLQUFLLEUxQ3JDeEIsT0FBTztDMENxQ3VDOztBQUxsRSxBQU1JLG1CQU5lLENBTWYsQ0FBQyxDQUFBO0VBQUMsS0FBSyxFMUN0Q1MsT0FBTyxDMENzQ0ssVUFBVTtDQUFHOztBQUk3QyxBQUFBLG1CQUFtQixDQUFDO0VBRWhCLGFBQWEsRUFBRSxJQUFJLENBQUMsS0FBSyxDMUNJUixPQUFPLEMwQ0pxQixVQUFVO0VBQ3ZELGdCQUFnQixFMUM5Q0EsT0FBTyxDMEM4Q2MsVUFBVTtFQUMvQyxLQUFLLEUxQzlDVyxPQUFPO0UwQytDdkIsT0FBTyxFQUFFLG1CQUFtQjtFQUM1QixhQUFhLEVBQUUsSUFBSTtDQUl0Qjs7QUFWRCxBQVFPLG1CQVJZLENBUVosQ0FBQyxFQVJSLG1CQUFtQixDQVFULENBQUMsQUFBQSxLQUFLLEVBUmhCLG1CQUFtQixDQVFELENBQUMsQUFBQSxRQUFRLEVBUjNCLG1CQUFtQixDQVFVLENBQUMsQUFBQSxPQUFPLENBQUE7RUFBQyxlQUFlLEVBQUMsU0FBUztFQUFFLEtBQUssRTFDbERsRCxPQUFPO0MwQ2tEaUU7O0FBUjVGLEFBU0ksbUJBVGUsQ0FTZixDQUFDLENBQUE7RUFBQyxLQUFLLEUxQ25EUyxPQUFPLEMwQ21ESyxVQUFVO0NBQUc7O0FDdEU3QyxBQUFBLGFBQWEsQ0FBQTtFQUNULE9BQU8sRUFBRSxZQUFZO0VBQ3JCLE9BQU8sRUFBRSxTQUFTO0VBQ2xCLFVBQVUsRTNDMkRPLE9BQU87RTJDMUR4QixLQUFLLEUzQ2NXLE9BQU8sQzJDZEcsVUFBVTtFQUNwQyxTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRTFDSUYsUUFBUSxDMENKUSxVQUFVO0VBQ25DLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsYUFBYSxFQUFFLEdBQUc7RUFDbEIsVUFBVSxFQUFFLGdCQUFnQjtFQUM1QixPQUFPLEVBQUUsSUFBSTtFQUNiLGVBQWUsRUFBRSxJQUFJO0VBQ3JCLE1BQU0sRUFBRSxPQUFPO0VBQ2YsVUFBVSxFQUFFLElBQUk7RUFDaEIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEMzQzZDQSxPQUFPO0MyQ2pDM0I7O0FqQ29OTyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWlDalBwQyxBQUFBLGFBQWEsQ0FBQTtJQW9CTCxPQUFPLEVBQUUsS0FBSztJQUNkLGFBQWEsRUFBRSxJQUFJO0dBUTFCOzs7QUE3QkQsQUF3QkksYUF4QlMsQUF3QlIsTUFBTSxFQXhCWCxhQUFhLEFBd0JDLE9BQU8sRUF4QnJCLGFBQWEsQUF3QlcsTUFBTSxDQUFBO0VBQ3RCLFVBQVUsRTNDbUVSLE9BQStCO0UyQ2xFakMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEMzQ0lKLE9BQU87RTJDSHBCLFVBQVUsRUFBRSxJQUFJO0NBQ25COztBQUtMLEFBQUEsd0JBQXdCLENBQUE7RUFDcEIsT0FBTyxFQUFFLFlBQVk7RUFDckIsT0FBTyxFQUFFLFNBQVM7RUFDbEIsVUFBVSxFQUFFLFdBQVc7RUFDdkIsS0FBSyxFM0NsQlcsT0FBTyxDMkNrQkcsVUFBVTtFQUNwQyxTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRTFDN0JGLFFBQVE7RTBDOEJqQixXQUFXLEVBQUUsR0FBRztFQUNoQixXQUFXLEVBQUUsR0FBRztFQUNoQixVQUFVLEVBQUUsTUFBTTtFQUNsQixNQUFNLEVBQUUsQ0FBQztFQUNULGFBQWEsRUFBRSxHQUFHO0VBQ2xCLFVBQVUsRUFBRSxnQkFBZ0I7RUFDNUIsT0FBTyxFQUFFLElBQUk7RUFDYixlQUFlLEVBQUUsSUFBSTtFQUNyQixNQUFNLEVBQUUsT0FBTztFQUNmLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDM0NZQSxPQUFPO0MyQ0MzQjs7QWpDa0xPLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFaUNoTnBDLEFBQUEsd0JBQXdCLENBQUE7SUFvQmhCLE9BQU8sRUFBRSxLQUFLO0lBQ2QsYUFBYSxFQUFFLElBQUk7R0FTMUI7OztBQTlCRCxBQXdCSSx3QkF4Qm9CLEFBd0JuQixNQUFNLEVBeEJYLHdCQUF3QixBQXdCVixPQUFPLEVBeEJyQix3QkFBd0IsQUF3QkEsTUFBTSxDQUFBO0VBQ3RCLFVBQVUsRTNDa0NSLE9BQStCO0UyQ2pDakMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEMzQzdCSixPQUFPO0UyQzhCcEIsS0FBSyxFM0MxQ08sT0FBTyxDMkMwQ08sVUFBVTtFQUNwQyxVQUFVLEVBQUUsSUFBSTtDQUNuQjs7QUFLTCxBQUFBLG9CQUFvQixDQUFBO0VBQ2hCLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLE9BQU8sRUFBRSxTQUFTO0VBQ2xCLFVBQVUsRTNDbkNPLE9BQU87RTJDb0N4QixLQUFLLEUzQ3BEVyxPQUFPLEMyQ29ERyxVQUFVO0VBQ3BDLFNBQVMsRUFBRSxJQUFJO0VBQ2YsV0FBVyxFMUMvREYsUUFBUTtFMENnRWpCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsYUFBYSxFQUFFLEdBQUc7RUFDbEIsVUFBVSxFQUFFLGdCQUFnQjtFQUM1QixPQUFPLEVBQUUsSUFBSTtFQUNiLGVBQWUsRUFBRSxJQUFJO0VBQ3JCLE1BQU0sRUFBRSxPQUFPO0VBQ2YsVUFBVSxFQUFFLElBQUk7RUFDaEIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEMzQ2pEQSxPQUFPO0MyQzhEM0I7O0FqQ2dKTyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWlDOUtwQyxBQUFBLG9CQUFvQixDQUFBO0lBb0JaLE9BQU8sRUFBRSxLQUFLO0lBQ2QsYUFBYSxFQUFFLElBQUk7R0FTMUI7OztBQTlCRCxBQXdCSSxvQkF4QmdCLEFBd0JmLE1BQU0sRUF4Qlgsb0JBQW9CLEFBd0JOLE9BQU8sRUF4QnJCLG9CQUFvQixBQXdCSSxNQUFNLENBQUE7RUFDdEIsVUFBVSxFM0NBUixPQUErQjtFMkNDakMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEMzQy9ESixPQUFPO0UyQ2dFcEIsS0FBSyxFM0M1RU8sT0FBTyxDMkM0RU8sVUFBVTtFQUNwQyxVQUFVLEVBQUUsSUFBSTtDQUNuQjs7QUFHTCxBQUFBLG9CQUFvQixDQUFBO0VBQ2hCLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLE9BQU8sRUFBRSxTQUFTO0VBQ2xCLFVBQVUsRTNDcEZNLE9BQU87RTJDcUZ2QixLQUFLLEUzQ3BGVyxPQUFPLEMyQ29GRyxVQUFVO0VBQ3BDLFNBQVMsRUFBRSxJQUFJO0VBQ2YsV0FBVyxFMUMvRkYsUUFBUTtFMENnR2pCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsYUFBYSxFQUFFLEdBQUc7RUFDbEIsVUFBVSxFQUFFLGdCQUFnQjtFQUM1QixPQUFPLEVBQUUsSUFBSTtFQUNiLGVBQWUsRUFBRSxJQUFJO0VBQ3JCLE1BQU0sRUFBRSxPQUFPO0VBQ2YsVUFBVSxFQUFFLElBQUk7RUFDaEIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEMzQ2xHRCxPQUFPO0MyQytHMUI7O0FqQ2dITyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWlDOUlwQyxBQUFBLG9CQUFvQixDQUFBO0lBb0JaLE9BQU8sRUFBRSxLQUFLO0lBQ2QsYUFBYSxFQUFFLElBQUk7R0FTMUI7OztBQTlCRCxBQXdCSSxvQkF4QmdCLEFBd0JmLE1BQU0sRUF4Qlgsb0JBQW9CLEFBd0JOLE9BQU8sRUF4QnJCLG9CQUFvQixBQXdCSSxNQUFNLENBQUE7RUFDdEIsVUFBVSxFM0NoQ1IsT0FBK0I7RTJDaUNqQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQzNDL0ZKLE9BQU87RTJDZ0dwQixLQUFLLEUzQzVHTyxPQUFPLEMyQzRHTyxVQUFVO0VBQ3BDLFVBQVUsRUFBRSxJQUFJO0NBQ25COztBQUlMLEFBQ0ksV0FETyxDQUNQLHdCQUF3QixDQUFBO0VBQ3BCLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLE9BQU8sRUFBRSxTQUFTO0VBQ2xCLFVBQVUsRUFBRSxXQUFXO0VBQ3ZCLEtBQUssRTNDdkhPLE9BQU8sQzJDdUhPLFVBQVU7RUFDcEMsU0FBUyxFQUFFLElBQUk7RUFDZixXQUFXLEUxQ2pJTixRQUFRO0UwQ2tJYixXQUFXLEVBQUUsR0FBRztFQUNoQixXQUFXLEVBQUUsR0FBRztFQUNoQixVQUFVLEVBQUUsTUFBTTtFQUNsQixNQUFNLEVBQUUsQ0FBQztFQUNULGFBQWEsRUFBRSxHQUFHO0VBQ2xCLFVBQVUsRUFBRSxnQkFBZ0I7RUFDNUIsT0FBTyxFQUFFLElBQUk7RUFDYixlQUFlLEVBQUUsSUFBSTtFQUNyQixNQUFNLEVBQUUsT0FBTztFQUNmLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDM0NwSUwsT0FBTztDMkNpSnRCOztBakM4RUcsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VpQzdHcEMsQUFDSSxXQURPLENBQ1Asd0JBQXdCLENBQUE7SUFvQmhCLE9BQU8sRUFBRSxLQUFLO0lBQ2QsYUFBYSxFQUFFLElBQUk7R0FTMUI7OztBQS9CTCxBQXlCUSxXQXpCRyxDQUNQLHdCQUF3QixBQXdCbkIsTUFBTSxFQXpCZixXQUFXLENBQ1Asd0JBQXdCLEFBd0JWLE9BQU8sRUF6QnpCLFdBQVcsQ0FDUCx3QkFBd0IsQUF3QkEsTUFBTSxDQUFBO0VBQ3RCLFVBQVUsRTNDbEVaLE9BQStCO0UyQ21FN0IsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEMzQ2pJUixPQUFPO0UyQ2tJaEIsS0FBSyxFM0M5SUcsT0FBTyxDMkM4SVcsVUFBVTtFQUNwQyxVQUFVLEVBQUUsSUFBSTtDQUNuQjs7QUNsS1Q7O2dGQUVnRjtBQUVoRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0NHO0FFeENIOztnRkFFZ0Y7QUFFaEY7Ozs7Ozs7OztFQVNFO0FBRUYsQUFBQSx1QkFBdUIsQ0FBQztFQUNwQixPQUFPLEVBQUUsWUFBWTtDQU10Qjs7QXBDMk5LLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFb0NsT3BDLEFBQUEsdUJBQXVCLENBQUM7SUFJbEIsT0FBTyxFQUFFLE1BQU07SUFDZixLQUFLLEVBQUUsSUFBSTtHQUVkOzs7QXBDMk5LLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFb0N4TmhDLG1GQUFtRjtFQUNuRixBQUFBLG9CQUFvQixDQUFDO0lBQ25CLGlCQUFpQixFQUFFLENBQUM7SUFBRSxTQUFTO0lBQy9CLGtCQUFrQixFQUFFLE9BQU87SUFDM0IsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEM5Q29DVCxPQUFPO0k4Q25DdEIseUJBQXlCLEU3QzBCVCxHQUFHO0k2Q3pCbkIsMEJBQTBCLEVBQUUsQ0FBQztJQUM3QixXQUFXLEVBQUUsR0FBRyxDQUFDLEtBQUssQzlDaUNQLE9BQU87SThDaEN0QixZQUFZLEVBQUUsQ0FBQztJQUNmLFVBQVUsRUFBRSxHQUFHLENBQUMsS0FBSyxDOUMrQk4sT0FBTztJOEM5QnRCLHNCQUFzQixFN0NxQk4sR0FBRztJNkNwQm5CLHVCQUF1QixFQUFFLENBQUM7SUFDMUIsU0FBUyxFQUFFLENBQUM7SUFDWixTQUFTLEVBQUUsT0FBTztJQUNsQixNQUFNLEVBQUUsSUFBSTtJQUFFLFNBQVM7SUFDdkIsTUFBTSxFQUFFLENBQUM7SUFDVCxPQUFPLEVBQUUsSUFBSTtJQUNiLE9BQU8sRUFBRSxDQUFDLEM1QzNCWCxJQUFJO0k0QzRCSCxLQUFLLEVBQUUsSUFBSTtJQUFFLFNBQVM7R0FRdkI7RUF6QkQsQUFtQkUsb0JBbkJrQixBQW1CakIsTUFBTSxDQUFDO0lBQ04sTUFBTSxFN0NvQ00sR0FBRyxDNkNwQ1ksS0FBSyxDOUNoQm5CLE9BQU87SThDaUJwQixVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDN0NtQ1gsR0FBRyxDRC9ESCxPQUFPO0k4QzZCbkIsT0FBTyxFN0NrQ0ssR0FBRyxDNkNsQ2EsS0FBSyxDQUFDLFdBQVc7SUFDN0MsY0FBYyxFN0NpQ0YsR0FBRztHNkNoQ2hCOzs7QXBDK0xDLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFb0MxTGhDLG1GQUFtRjtFQTdCbkYsQUFBQSxvQkFBb0IsQ0E4QkM7SUFDbkIsa0JBQWtCLEVBQUUsT0FBTztJQUMzQixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQzlDeENILE9BQU87SThDeUNyQix5QkFBeUIsRTdDSFQsR0FBRztJNkNJbkIsMEJBQTBCLEVBQUUsQ0FBQztJQUM3QixZQUFZLEVBQUUsQ0FBQztJQUNmLHNCQUFzQixFN0NOTixHQUFHO0k2Q09uQix1QkFBdUIsRUFBRSxDQUFDO0lBQzFCLFNBQVMsRTdDMUNRLElBQUk7STZDMkNyQixNQUFNLEVBQUUsSUFBSTtJQUFFLFNBQVM7SUFDdkIsT0FBTyxFQUFFLE1BQU07SUFBRSxTQUFTO0lBQzFCLEtBQUssRUFBRSxLQUFLO0lBQUUsU0FBUztHQWF4QjtFQXRERCxBQW1CRSxvQkFuQmtCLEFBbUJqQixNQUFNLENBd0JDO0lBQ04sTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEM5Q3hDSixPQUFPO0k4Q3lDcEIsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQzdDV1gsR0FBRyxDRHBERixPQUFPO0k4QzBDcEIsT0FBTyxFN0NVSyxHQUFHLEM2Q1ZhLEtBQUssQ0FBQyxXQUFXO0lBQzdDLGNBQWMsRTdDU0YsR0FBRztHNkNSaEI7RUFsQkgsQUFvQkUsb0JBcEJrQixBQW9CakIsYUFBYSxDQUFDO0lBQ2IsS0FBSyxFOUNiUSxPQUFPO0k4Q2NwQixTQUFTLEU3Q3hETSxJQUFJO0c2Q3lEcEI7OztBcENrS0MsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VvQ3ZOaEMsQUFBQSxvQkFBb0IsQ0EwREM7SUFDbkIsS0FBSyxFQUFFLEtBQUs7R0FDYjs7O0FBR0gsQUFBQSxtQkFBbUIsQ0FBQztFQUVsQixlQUFlLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsa0JBQWdCO0VBQUUsU0FBUztFQUN0RCxrQkFBa0IsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxrQkFBZ0I7RUFBRSxTQUFTO0VBQ3pELGdCQUFnQixFOUMzRUEsT0FBTztFOEM0RXZCLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDOUM1QlAsT0FBTztFOEM2QnhCLHlCQUF5QixFN0N2Q1AsR0FBRztFNkN3Q3JCLDBCQUEwQixFN0N4Q1IsR0FBRztFNkN5Q3JCLFdBQVcsRUFBRSxHQUFHLENBQUMsS0FBSyxDOUMvQkwsT0FBTztFOENnQ3hCLFlBQVksRUFBRSxHQUFHLENBQUMsS0FBSyxDOUNoQ04sT0FBTztFOENpQ3hCLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQThCLENBQUMsQ0FBQyxDQUFFLGtCQUFnQjtFQUFFLFNBQVM7RUFDN0UsVUFBVSxFQUFFLElBQUk7RUFDaEIsVUFBVSxFQUFFLEdBQUc7RUFDZixVQUFVLEVBQUUsTUFBTTtFQUNsQixVQUFVLEVBQUUsSUFBSTtFQUNoQixPQUFPLEU1Q3pGTixJQUFJO0U0QzBGTCxRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsSUFBSTtFQUNULEtBQUssRUFBRSxJQUFJO0VBQ1gsT0FBTyxFQUFFLENBQUM7RUFBRSxTQUFTO0NBVXRCOztBcEMySEssTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VvQ3hKbEMsQUFBQSxtQkFBbUIsQ0FBQztJQXNCaEIsTUFBTSxFQUFFLENBQUM7SUFDVCxVQUFVLEVBQUUsSUFBSTtJQUNoQixNQUFNLEVBQUUsQ0FBQztJQUNULFlBQVksRUFBRSxDQUFDO0lBQ2YsYUFBYSxFQUFFLENBQUM7SUFDaEIsUUFBUSxFQUFFLFFBQVE7R0FFckI7OztBQUVELEFBQUEsNEJBQTRCLENBQUM7RUFDM0IsT0FBTyxFQUFFLEtBQUs7Q0FDZjs7QUFFRCxBQUFBLDJCQUEyQixDQUFDO0VBQzFCLE9BQU8sRUFBRSxJQUFJO0NBQ2Q7O0FBRUQsQUFBQSxxQkFBcUIsQ0FBQztFQUNwQixhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQzlDOURQLE9BQU87RThDK0R4QixLQUFLLEU5QzFHVSxPQUFPO0U4QzJHdEIsTUFBTSxFQUFFLE9BQU87RUFDZixTQUFTLEU3QzlHVSxJQUFJO0U2QytHdkIsY0FBYyxFQUFFLElBQUk7RUFBRSxTQUFTO0VBQy9CLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLGVBQWUsRUFBRSxTQUFTO0NBNkIzQjs7QUFwQ0QsQUFTRSxxQkFUbUIsQ0FTbkIsbUJBQW1CLENBQUM7RUFDbEIsSUFBSSxFOUN6RVcsT0FBTztFOEMwRXRCLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFBRSxTQUFTO0VBQ3ZCLE1BQU0sRUFBRSxXQUFXO0VBQUUsU0FBUztFQUM5QixLQUFLLEVBQUUsSUFBSTtFQUFFLFNBQVM7Q0FDdkI7O0FBZkgsQUFpQkUscUJBakJtQixBQWlCbEIsTUFBTSxFQWpCVCxxQkFBcUIsQUFrQmxCLE9BQU8sQ0FBQztFQUNQLGVBQWUsRUFBRSxJQUFJO0NBQ3RCOztBQXBCSCxBQXNCRSxxQkF0Qm1CLEFBc0JsQixNQUFNLENBQUM7RUFDTixPQUFPLEVBQUUscUJBQXFCO0VBQzlCLGVBQWUsRUFBRSxJQUFJO0NBS3RCOztBQTdCSCxBQTBCSSxxQkExQmlCLEFBc0JsQixNQUFNLENBSUwsQ0FBQyxDQUFDO0U5QjlJTixnQkFBZ0IsRWhCa0JHLE9BQU87RWdCakIxQixVQUFVLEVBQUUsQ0FBQyxDQUFFLElBQUcsQ2hCaUJDLE9BQU8sRWdCakJhLENBQUMsQ2ZxRXRCLEdBQUcsQ0QvREgsT0FBTztFZ0JMekIsS0FBSyxFaEJLYSxPQUFPO0VnQkR6QixPQUFPLEVmZ0VXLEdBQUcsQ2VoRU8sS0FBSyxDQUFDLFdBQVc7RUFHN0MsZUFBZSxFQUFFLElBQUk7QzhCdUloQjs7QXBDcUZDLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFb0NqSGxDLEFBZ0NJLHFCQWhDaUIsQUFnQ2hCLFdBQVcsQ0FBQztJQUNYLGFBQWEsRUFBRSxDQUFDO0dBQ2pCOzs7QUFJTCxBQUFBLGlDQUFpQyxDQUFDO0VBQ2hDLGFBQWEsRUFBRSxDQUFDO0VBQ2hCLEtBQUssRTlDckpXLE9BQU87RThDc0p2QixTQUFTLEU3Q25KVSxJQUFJO0U2Q29KdkIsV0FBVyxFN0NuSlUsSUFBSTtFNkNvSnpCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLENBQUM7RUFDVixVQUFVLEVBQUUsSUFBSTtFQUNoQixlQUFlLEVBQUUsSUFBSTtDQUt0Qjs7QXBDOERLLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFb0MzRWxDLEFBQUEsaUNBQWlDLENBQUM7SUFXOUIsT0FBTyxFNUNsS1IsSUFBSSxDNENrS3VCLENBQUM7R0FFOUI7OztBRnRJSCxBL0JqQ0UsYStCaUNXLEEvQmpDVixNQUFNLENBQUM7RUFDTixLQUFLLEVBQUUsSUFBSTtFQUNYLE9BQU8sRUFBRSxFQUFFO0VBQ1gsT0FBTyxFQUFFLEtBQUs7Q0FDZjs7QStCaUNILEFBQUEsd0JBQXdCLENBQUM7RUFHdkIsV0FBVyxFQUFFLGVBQWU7RUFDNUIsY0FBYyxFQUFFLGVBQWU7Q0FFaEM7O0FBTkQsQS9CckNFLHdCK0JxQ3NCLEEvQnJDckIsTUFBTSxDQUFDO0VBQ04sS0FBSyxFQUFFLElBQUk7RUFDWCxPQUFPLEVBQUUsRUFBRTtFQUNYLE9BQU8sRUFBRSxLQUFLO0NBQ2Y7O0ErQjBDSCxBQUFBLG1CQUFtQixDQUFDO0VBQ2xCLEtBQUssRUFBRSxJQUFJO0NBc0NaOztBQXZDRCxBQUdFLG1CQUhpQixDQUdqQix1QkFBdUIsQ0FBQztFQUN0QixJQUFJLEU1QzVDWSxPQUFPO0M0Q2lEeEI7O0FsQzhLSyxNQUFNLENBQUMsS0FBSztFa0N2THBCLEFBR0UsbUJBSGlCLENBR2pCLHVCQUF1QixDQUFDO0lBSXBCLElBQUksRTVDekNTLE9BQU87RzRDMkN2Qjs7O0FBVEgsQUFXRSxtQkFYaUIsQ0FXakIsaUJBQWlCLENBQUM7RUFDaEIsSUFBSSxFNUM5Q1csT0FBTztDNENtRHZCOztBbENzS0ssTUFBTSxDQUFDLEtBQUs7RWtDdkxwQixBQVdFLG1CQVhpQixDQVdqQixpQkFBaUIsQ0FBQztJQUlkLElBQUksRTVDdkRVLE9BQU87RzRDeUR4Qjs7O0FsQ3NLSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWtDdkxwQyxBQUFBLG1CQUFtQixDQUFDO0lBb0JoQixZQUFZLEVBQUUsQ0FBQztJQUNmLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLGFBQWEsRUFBRSxHQUFHO0dBaUJyQjs7O0FBdkNELEFBeUJFLG1CQXpCaUIsQ0F5QmpCLFdBQVcsQ0FBQztFL0JvUlosTUFBTSxFQUFFLElBQUk7RUFDWixLQUFLLEVBQUUsS0FBSztFK0JuUlYsU0FBUztFQUNULE1BQU0sRUFBRSxDQUFDO0NBQ1Y7O0FsQzBKSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWtDdkxwQyxBQUFBLG1CQUFtQixDQUFDO0lBZ0NoQixTQUFTLEVBQUUsR0FBRztHQU9qQjs7O0FBSkMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0VBbkMxQixBQUFBLG1CQUFtQixDQUFDO0lBb0NoQixTQUFTLEVBQUUsR0FBRztHQUdqQjs7O0FBRUQsQUFDRSxtQkFEaUIsQ0FDakIsR0FBRyxDQUFDO0VBQ0YsS0FBSyxFQUFFLEtBQUs7Q0FDYjs7QWxDMklLLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFa0M5SXBDLEFBQ0UsbUJBRGlCLENBQ2pCLEdBQUcsQ0FPRztJQUNGLEtBQUssRUFBRSxLQUFLO0dBQ2I7OztBQVZMLEFBY0ksbUJBZGUsQUFhaEIsTUFBTSxDQUNMLFdBQVcsQ0FBQztFQUNWLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQzNDaENILEdBQUc7QzJDaUNsQjs7QUFoQkwsQUFvQkksbUJBcEJlLEFBbUJoQixNQUFNLENBQ0wsV0FBVyxDQUFDO0VBQ1YsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDNUMxRkYsT0FBTztDNEMyRnZCOztBQXRCTCxBQXlCTSxtQkF6QmEsQUFtQmhCLE1BQU0sQUFLSixNQUFNLENBQ0wsV0FBVyxDQUFDO0VBQ1YsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDM0MzQ0wsR0FBRyxDRHBERixPQUFPO0M0Q2dHckI7O0FsQ21IQyxNQUFNLENBQUMsS0FBSztFa0M5SXBCLEFBZ0NJLG1CQWhDZSxBQWdDZCxNQUFNLENBQUM7SUFDTixPQUFPLEVBQUUsRUFBRTtJQUNYLFVBQVU7R0FDWDs7O0FBbkNMLEFBc0NFLG1CQXRDaUIsQUFzQ2hCLE1BQU0sRUF0Q1QsbUJBQW1CLEFBdUNoQixPQUFPLEVBdkNWLG1CQUFtQixBQXdDaEIsTUFBTSxDQUFDO0VBQ04sZ0JBQWdCLEVBQUUsV0FBVztDQUM5Qjs7QUFHSCxBQUFBLHNCQUFzQixDQUFDO0VBSXJCLFFBQVEsRUFBRSxRQUFRO0NBZ0JuQjs7QUFwQkQsQS9CcElFLHNCK0JvSW9CLEEvQnBJbkIsTUFBTSxDQUFDO0VBQ04sS0FBSyxFQUFFLElBQUk7RUFDWCxPQUFPLEVBQUUsRUFBRTtFQUNYLE9BQU8sRUFBRSxLQUFLO0NBQ2Y7O0FIaU9LLE1BQU0sQ0FBQyxLQUFLO0VrQ2pHcEIsQUFBQSxzQkFBc0IsQ0FBQztJL0JrRm5CLE9BQU8sRUFBRSxJQUFJO0crQjlEaEI7OztBQXBCRCxBQU1FLHNCQU5vQixBQU1uQixRQUFRLENBQUM7RUFDUixhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQzVDcEZQLE9BQU87RTRDcUZ4QixVQUFVO0NBQ1g7O0FsQ3dGSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWtDakdwQyxBQUFBLHNCQUFzQixDQUFDO0lBWW5CLEtBQUssRUFBRSxLQUFLO0dBUWY7RUFwQkQsQUFNRSxzQkFOb0IsQUFNbkIsUUFBUSxDQVFHO0lBQ1IsYUFBYSxFQUFFLENBQUM7R0FDakI7OztBQU1MLEFBQUEscUJBQXFCLENBQUM7RUFHcEIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsVUFBVSxFQUFFLEtBQUs7Q0FPbEI7O0FBWEQsQS9CMUpFLHFCK0IwSm1CLEEvQjFKbEIsTUFBTSxDQUFDO0VBQ04sS0FBSyxFQUFFLElBQUk7RUFDWCxPQUFPLEVBQUUsRUFBRTtFQUNYLE9BQU8sRUFBRSxLQUFLO0NBQ2Y7O0FIaU9LLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFa0MzRXBDLEFBQUEscUJBQXFCLENBQUM7SUFPbEIsS0FBSyxFQUFFLElBQUk7SUFDWCxXQUFXLEUxQ2hLVixHQUFHO0cwQ21LUDs7O0FBRUQsQUFBQSw0QkFBNEIsQ0FBQztFL0J5RjNCLGdCQUFnQixFQUFFLFdBQVc7RUFDN0IsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENiM1BDLE9BQU87RWE0UHpCLGFBQWEsRVp0Tk8sR0FBRztFWXVOdkIsS0FBSyxFYjdQYSxPQUFPO0VhOFB6QixNQUFNLEVBQUUsT0FBTztFK0IzRmYsVUFBVSxFMUNuS1AsSUFBSTtFMENvS1AsU0FBUztFQUNULE9BQU8sRTFDMUtKLEdBQUcsQ0FDSCxHQUFHLEMwQ3lLcUMsQ0FBQztFQUM1QyxRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsQ0FBQztFQUNSLEdBQUcsRUFBRSxDQUFDO0NBZVA7O0FBdEJELEEvQmdHRSw0QitCaEcwQixBL0JnR3pCLGtCQUFrQixDQUFDO0VBQ2xCLE1BQU0sRUFBRSxDQUFDO0NBQ1Y7O0ErQmxHSCxBL0JvR0UsNEIrQnBHMEIsQS9Cb0d6QixNQUFNLENBQUM7RUFDTixnQkFBZ0IsRWJ4TFYsT0FBK0I7RWF5THJDLFlBQVksRWJ0TkssT0FBTztFYXVOeEIsVUFBVSxFQUFFLElBQUk7Q0FDakI7O0ErQnhHSCxBL0IwR0UsNEIrQjFHMEIsQS9CMEd6QixNQUFNLENBQUM7RUFDTixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ2JoUUEsT0FBTyxDYWdRYSxVQUFVO0NBQ2hEOztBK0I1R0gsQS9COEdFLDRCK0I5RzBCLEEvQjhHekIsT0FBTyxFK0I5R1YsNEJBQTRCLEEvQitHekIsVUFBVSxDQUFDO0VBQ1YsZ0JBQWdCLEVibk1WLE9BQStCO0Vhb01yQyxZQUFZLEViak9LLE9BQU87RWFrT3hCLEtBQUssRWJsT1ksT0FBTztDYW1PekI7O0ErQm5ISCxBQVNFLDRCQVQwQixDQVMxQixtQkFBbUIsQ0FBQztFQUNsQixJQUFJLEU1QzNLWSxPQUFPO0U0QzRLdkIsTUFBTSxFQUFFLElBQUk7RUFDWixTQUFTO0VBQ1QsS0FBSyxFQUFFLElBQUk7RUFDWCxTQUFTO0NBQ1Y7O0FBZkgsQS9CMEdFLDRCK0IxRzBCLEEvQjBHekIsTUFBTSxDK0J6RkM7RTVCekpSLGdCQUFnQixFaEJiRyxPQUFPO0VnQmMxQixNQUFNLEVBQUUsQ0FBQztFQUNULFVBQVUsRUFBRSxDQUFDLENmcUNLLEdBQUcsQ2VyQ1ksQ0FBQyxDQUFDLENBQUMsQ2hCMUJsQixPQUFPO0VnQjJCekIsS0FBSyxFaEIzQmEsT0FBTztFZ0I0QnpCLE9BQU8sRWZtQ1csR0FBRyxDZW5DTyxLQUFLLENBQUMsV0FBVztFQUFFLE9BQU87RUFDdEQsY0FBYyxFZmtDSSxHQUFHO0UyQ29IbkIsVUFBVSxFQUFFLElBQUk7Q0FDakI7O0FBcEJILEE1QmpJRSw0QjRCaUkwQixBQWlCekIsTUFBTSxDNUJsSlAsV0FBVyxDQUFDO0VBQ1YsSUFBSSxFaEJoQ1ksT0FBTztDZ0JpQ3hCOztBNEJ1SkgsQUFBQSwwQkFBMEIsQ0FBQztFQUN6QixNQUFNLEVBQUUsSUFBSTtFQUNaLFFBQVEsRUFBRSxPQUFPO0NBQ2xCOztBbENtQ08sTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VrQ2hNcEMsQUFBQSx3QkFBd0IsQ0FtS0c7SUFDdkIsTUFBTSxFQUFFLENBQUM7R0FDVjtFQTVKSCxBQUFBLG1CQUFtQixDQThKRztJQUNsQixRQUFRLEVBQUUsUUFBUTtJQUNsQixPQUFPLEVBQUUsQ0FBQztHQUNYO0VBRUQsQUFBQSwwQkFBMEIsQ0FBQztJQUN6QixPQUFPLEVBQUUsSUFBSTtHQWFkO0VBZEQsQUFHRSwwQkFId0IsQUFHdkIsUUFBUSxDQUFDO0lBQ1IsS0FBSyxFQUFFLElBQUk7SUFDWCxPQUFPLEVBQUUsV0FBVztJQUNwQixVQUFVO0lBQ1YsT0FBTyxFQUFFLElBQUk7SUFDYixhQUFhLEVBQUUsS0FBSztJQUNwQixXQUFXLEVBQUUsS0FBSztJQUNsQixZQUFZLEVBQUUsS0FBSztJQUNuQixXQUFXLEVBQUUsSUFBSTtJQUNqQixVQUFVLEVBQUUsSUFBSTtHQUNqQjtFQS9CTCxBQUFBLDBCQUEwQixDQWtDRztJQUN6QixnQkFBZ0IsRTVDNU5BLE9BQU87STRDNk52QixPQUFPLEVBQUUsV0FBVztJQUNwQixVQUFVO0lBQ1YsT0FBTyxFQUFFLElBQUk7SUFDYixPQUFPLEUxQ25PTixJQUFJO0kwQ29PTCxLQUFLLEVBQUUsSUFBSTtHQUNaO0VBRUQsQUFBQSxvQkFBb0IsQ0FBQztJQUNuQixpQkFBaUIsRUFBRSxDQUFDO0lBQ3BCLFVBQVU7SUFDVixrQkFBa0IsRUFBRSxPQUFPO0lBQzNCLGdCQUFnQixFNUN4T0EsT0FBTyxDNEN3T2MsVUFBVTtJQUMvQyxhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQzVDMUxQLE9BQU87STRDMkx4Qix5QkFBeUIsRTNDcE1QLEdBQUc7STJDcU1yQiwwQkFBMEIsRUFBRSxDQUFDO0lBQzdCLFdBQVcsRUFBRSxHQUFHLENBQUMsS0FBSyxDNUM3TEwsT0FBTztJNEM4THhCLFlBQVksRUFBRSxDQUFDO0lBQ2YsVUFBVSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEM1Qy9MSixPQUFPO0k0Q2dNeEIsc0JBQXNCLEUzQ3pNSixHQUFHO0kyQzBNckIsdUJBQXVCLEVBQUUsQ0FBQztJQUMxQixTQUFTLEVBQUUsQ0FBQztJQUNaLFNBQVMsRUFBRSxPQUFPO0lBQ2xCLE1BQU0sRUFBRSxJQUFJO0lBQ1osU0FBUztJQUNULE1BQU0sRUFBRSxDQUFDO0lBQ1QsT0FBTyxFQUFFLElBQUk7SUFDYixPQUFPLEVBQUUsQ0FBQyxDMUMxUFQsSUFBSTtJMEMyUEwsS0FBSyxFQUFFLElBQUk7SUFDWCxTQUFTO0dBS1Y7RUExQkQsQUF1QkUsb0JBdkJrQixBQXVCakIsTUFBTSxDQUFDO0lBQ04sVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQzNDaE5ILEdBQUcsQ0QzQ1QsT0FBTztHNEM0UHRCO0VBR0gsQUFBQSxxQkFBcUIsQ0FBQztJQUNwQixnQkFBZ0IsRTVDdlBBLE9BQU87STRDd1B2QixNQUFNLEVBQUUsQ0FBQztJQUNULHlCQUF5QixFQUFFLENBQUM7SUFDNUIsMEJBQTBCLEUzQzlOUixHQUFHO0kyQytOckIsc0JBQXNCLEVBQUUsQ0FBQztJQUN6Qix1QkFBdUIsRTNDaE9MLEdBQUc7STJDaU9yQixLQUFLLEVBQUUsS0FBSztJQUNaLFNBQVMsRUFBRSxPQUFPO0lBQ2xCLE1BQU0sRUFBRSxJQUFJO0lBQ1osU0FBUztJQUNULFdBQVcsRUFBRSxPQUFPO0lBQ3BCLE1BQU0sRUFBRSxDQUFDO0lBQ1QsT0FBTyxFQUFFLElBQUk7SUFDYixPQUFPLEUxQ2xSTixHQUFHLENBQUgsR0FBRyxDMENrUnVDLENBQUM7R0FnRDdDO0VBOURELEFBZ0JFLHFCQWhCbUIsQ0FnQm5CLG1CQUFtQixDQUFDO0lBQ2xCLElBQUksRTVDalJVLE9BQU87STRDa1JyQixNQUFNLEVBQUUsSUFBSTtJQUNaLFNBQVM7SUFDVCxLQUFLLEVBQUUsSUFBSTtJQUNYLFNBQVM7R0FDVjtFQXRCSCxBQXdCRSxxQkF4Qm1CLEFBd0JsQixrQkFBa0IsQ0FBQztJQUNsQixNQUFNLEVBQUUsQ0FBQztJQUNULFNBQVM7R0FDVjtFQTNCSCxBQTZCRSxxQkE3Qm1CLEFBNkJsQixNQUFNLENBQUM7SUFDTixnQkFBZ0IsRTVDcE5aLE9BQStCO0k0Q3FObkMsTUFBTSxFQUFFLE9BQU87R0FDaEI7RUFoQ0gsQUFrQ0UscUJBbENtQixBQWtDbEIsTUFBTSxDQUFDO0lBQ04sZ0JBQWdCLEU1Q3ZSRCxPQUFPO0k0Q3dSdEIsYUFBYSxFM0NwT0MsR0FBRyxDMkNvT2lCLEtBQUssQzVDblN6QixPQUFPO0k0Q29TckIsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQzNDck9ULEdBQUcsQ0RwREYsT0FBTztJNEMwUnRCLE9BQU8sRTNDdE9PLEdBQUcsQzJDc09XLEtBQUssQ0FBQyxXQUFXO0lBQzdDLGNBQWMsRTNDdk9BLEdBQUc7RzJDb1BsQjtFQXBESCxBQXlDSSxxQkF6Q2lCLEFBa0NsQixNQUFNLEFBT0osTUFBTSxDQUFDO0lBQ04sZ0JBQWdCLEU1QzlSSCxPQUFPO0c0Q21TckI7RUEvQ0wsQUE0Q00scUJBNUNlLEFBa0NsQixNQUFNLEFBT0osTUFBTSxDQUdMLFdBQVcsQ0FBQztJQUNWLElBQUksRTVDNVNNLE9BQU87RzRDNlNsQjtFQTlDUCxBQWlESSxxQkFqRGlCLEFBa0NsQixNQUFNLENBZUwsV0FBVyxDQUFDO0lBQ1YsSUFBSSxFNUNqVFEsT0FBTztHNENrVHBCO0VBbkRMLEFBc0RFLHFCQXREbUIsQUFzRGxCLE9BQU8sQ0FBQztJQUNQLGdCQUFnQixFNUN6T1osT0FBK0I7RzRDOE9wQztFQTVESCxBQXlESSxxQkF6RGlCLEFBc0RsQixPQUFPLENBR04sV0FBVyxDQUFDO0lBQ1YsSUFBSSxFNUMxVFEsT0FBTztHNEMyVHBCO0VBS0wsQUFBQSxvQkFBb0IsQ0FBQztJL0IxQnJCLGdCQUFnQixFQUFFLFdBQVc7SUFDN0IsTUFBTSxFQUFFLENBQUM7SUFDVCxNQUFNLEVBQUUsT0FBTztJQUNmLE1BQU0sRUFBRSxJQUFJO0lBQ1osT0FBTyxFQUFFLENBQUM7SUFDVixLQUFLLEVBQUUsSUFBSTtJK0J3QlQsV0FBVyxFMUN0VVYsSUFBSTtJMEN1VUwsVUFBVSxFMUN4VVQsR0FBRztHMEMrVUw7RUFYRCxBL0JuQkEsb0IrQm1Cb0IsQy9CbkJwQixrQkFBa0IsQ0FBQztJQUNqQixJQUFJLEVieFNXLE9BQU87SWF5U3RCLE1BQU0sRUFBRSxJQUFJO0lBQ1osS0FBSyxFQUFFLElBQUk7R0FDWjtFK0JlRCxBL0JiQSxvQitCYW9CLEEvQmJuQixrQkFBa0IsQ0FBQztJQUNsQixNQUFNLEVBQUUsQ0FBQztHQUNWO0UrQldELEEvQlJFLG9CK0JRa0IsQS9CVG5CLE1BQU0sQ0FDTCxrQkFBa0IsQ0FBQztJQUNqQixJQUFJLEViL09BLE9BQStCO0dhZ1BwQztFK0JNSCxBL0JIQSxvQitCR29CLEEvQkhuQixNQUFNLENBQUM7SUduVVIsZ0JBQWdCLEVoQmtCRyxPQUFPO0lnQmpCMUIsVUFBVSxFQUFFLENBQUMsQ0FBRSxJQUFHLENoQmlCQyxPQUFPLEVnQmpCYSxDQUFDLENmcUV0QixHQUFHLENEL0RILE9BQU87SWdCTHpCLEtBQUssRWhCS2EsT0FBTztJZ0JEekIsT0FBTyxFZmdFVyxHQUFHLENlaEVPLEtBQUssQ0FBQyxXQUFXO0lBRzdDLGVBQWUsRUFBRSxJQUFJO0dINFRwQjtFK0JDRCxBQU9JLG9CQVBnQixBQU1qQixNQUFNLENBQ0wsa0JBQWtCLENBQUM7SUFDakIsSUFBSSxFNUN2VVEsT0FBTztHNEN3VXBCOzs7QWxDMUdDLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFa0NwQmxDLEFBQUEsMEJBQTBCLENBd0lDO0lBQ3pCLE9BQU8sRUFBRSxLQUFLO0lBQ2QsV0FBVyxFQUFFLENBQUM7R0FDZjtFQXJMSCxBQUFBLDRCQUE0QixDQXVMRztJQUMzQixPQUFPLEVBQUUsSUFBSTtHQUNkO0VBdEhELEFBQUEsb0JBQW9CLENBd0hDO0lBQ25CLGtCQUFrQixFQUFFLE9BQU87SUFDM0IsZ0JBQWdCLEU1QzlWQSxPQUFPLEM0QzhWYyxVQUFVO0lBQy9DLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDNUMvVkQsT0FBTztJNENnV3ZCLHlCQUF5QixFM0MxVFAsR0FBRztJMkMyVHJCLDBCQUEwQixFQUFFLENBQUM7SUFDN0Isc0JBQXNCLEUzQzVUSixHQUFHO0kyQzZUckIsdUJBQXVCLEVBQUUsQ0FBQztJQUMxQixPQUFPLEVBQUUsS0FBSztJQUNkLEtBQUssRUFBRSxJQUFJO0lBQ1gsU0FBUyxFM0NsV1UsSUFBSTtJMkNtV3ZCLE1BQU0sRUFBRSxJQUFJO0lBQ1osT0FBTyxFQUFFLE1BQU07SUFDZixTQUFTO0lBQ1QsS0FBSyxFQUFFLEtBQUs7SUFDWixTQUFTO0dBTVY7RUFyQkQsQUFpQkUsb0JBakJrQixBQWlCakIsYUFBYSxDQUFDO0lBQ2IsS0FBSyxFNUNoVVUsT0FBTztJNENpVXRCLFNBQVMsRTNDM1dRLElBQUk7RzJDNFd0QjtFQWhISCxBQUFBLHFCQUFxQixDQW1IQztJQUNwQixnQkFBZ0IsRTVDblVDLE9BQU87STRDb1V4QixNQUFNLEVBQUUsQ0FBQztJQUNULHlCQUF5QixFQUFFLENBQUM7SUFDNUIsMEJBQTBCLEUzQ2pWUixHQUFHO0kyQ2tWckIsc0JBQXNCLEVBQUUsQ0FBQztJQUN6Qix1QkFBdUIsRTNDblZMLEdBQUc7STJDb1ZyQixPQUFPLEVBQUUsS0FBSztJQUNkLEtBQUssRUFBRSxLQUFLO0lBQ1osU0FBUyxFQUFFLE9BQU87SUFDbEIsTUFBTSxFQUFFLElBQUk7SUFDWixTQUFTO0lBQ1QsV0FBVyxFQUFFLE9BQU87SUFDcEIsT0FBTyxFQUFFLElBQUk7SUFDYixZQUFZLEVBQUUsR0FBRztJQUNqQixTQUFTO0lBQ1QsV0FBVyxFQUFFLEdBQUc7SUFDaEIsU0FBUztJQUNULEtBQUssRUFBRSxJQUFJO0lBQ1gsU0FBUztHQXVDVjtFQTdLRCxBQWdCRSxxQkFoQm1CLENBZ0JuQixtQkFBbUIsQ0F3SEM7SUFDbEIsTUFBTSxFQUFFLElBQUk7SUFDWixTQUFTO0lBQ1QsS0FBSyxFQUFFLElBQUk7SUFDWCxTQUFTO0dBQ1Y7RUE3SUgsQUF3QkUscUJBeEJtQixBQXdCbEIsa0JBQWtCLENBdUhDO0lBRWxCLE1BQU0sRUFBRSxDQUFDO0lBQ1QsU0FBUztHQUNWO0VBbkpILEFBNkJFLHFCQTdCbUIsQUE2QmxCLE1BQU0sQ0F3SEM7SUFDTixnQkFBZ0IsRTVDclpGLE9BQU87STRDc1pyQixNQUFNLEVBQUUsT0FBTztHQUtoQjtFQXpDSCxBQXNDSSxxQkF0Q2lCLEFBa0NsQixNQUFNLENBSUwsbUJBQW1CLENBQUM7SUFDbEIsSUFBSSxFNUMxWlEsT0FBTztHNEMyWnBCO0VBM0pMLEFBa0NFLHFCQWxDbUIsQUFrQ2xCLE1BQU0sQ0E0SEM7STVCcllWLGdCQUFnQixFaEJiRyxPQUFPO0lnQmMxQixNQUFNLEVBQUUsQ0FBQztJQUNULFVBQVUsRUFBRSxDQUFDLENmcUNLLEdBQUcsQ2VyQ1ksQ0FBQyxDQUFDLENBQUMsQ2hCMUJsQixPQUFPO0lnQjJCekIsS0FBSyxFaEIzQmEsT0FBTztJZ0I0QnpCLE9BQU8sRWZtQ1csR0FBRyxDZW5DTyxLQUFLLENBQUMsV0FBVztJQUFFLE9BQU87SUFDdEQsY0FBYyxFZmtDSSxHQUFHO0kyQ2lXakIsVUFBVSxFQUFFLElBQUk7R0FDakI7RUFsS0gsQUFpREkscUJBakRpQixBQWtDbEIsTUFBTSxDQWVMLFdBQVcsQzVCalJIO0lBQ1YsSUFBSSxFaEJoQ1ksT0FBTztHZ0JpQ3hCO0U0QjhORCxBQXNERSxxQkF0RG1CLEFBc0RsQixPQUFPLENBOEdDO0lBQ1AsZ0JBQWdCLEU1Q3BhRixPQUFPO0k0Q3FhckIsTUFBTSxFQUFFLENBQUM7R0FLVjtFQXhESCxBQXFESSxxQkFyRGlCLEFBaURsQixPQUFPLENBSU4sbUJBQW1CLENBQUM7SUFDbEIsSUFBSSxFNUN6YVEsT0FBTztHNEMwYXBCO0VBMUdMLEFBQUEsb0JBQW9CLENBK0dDO0lBQ25CLE9BQU8sRUFBRSxJQUFJO0dBQ2Q7OztBQU1ILEFBQUEsa0NBQWtDLENBQUM7RUFDakMseUJBQXlCLEVBQUUsQ0FBQztDQUM3Qjs7QUFFRCxBQUFBLG1DQUFtQyxDQUFDO0VBQ2xDLDBCQUEwQixFQUFFLENBQUM7Q0FDOUI7O0FsQzlOTyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWtDS2xDLEFBQUEsb0JBQW9CLENBNE5DO0lBQ25CLEtBQUssRUFBRSxLQUFLO0dBQ2I7OztBQUlIOzs7OEVBRzhFO0FBSzlFLEFBQUEsbUJBQW1CLENBQUM7RUFDbEIsS0FBSyxFQUFFLEtBQUs7Q0FLYjs7QWxDclBPLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFa0MrT3BDLEFBQUEsbUJBQW1CLENBQUM7SUFJaEIsS0FBSyxFQUFFLElBQUk7R0FFZDs7O0FBR0QsQUFBQSwwQkFBMEIsQ0FBQztFL0I3TnpCLGdCQUFnQixFQUFFLFdBQVc7RUFDN0IsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENiM1BDLE9BQU87RWE0UHpCLGFBQWEsRVp0Tk8sR0FBRztFWXVOdkIsS0FBSyxFYjdQYSxPQUFPO0VhOFB6QixNQUFNLEVBQUUsT0FBTztFK0IyTmYsT0FBTyxFQUFFLEtBQUs7RUFDZCxTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFdBQVcsRTNDdmRZLElBQUk7RTJDd2QzQixZQUFZLEVBQUUsQ0FBQztFQUNmLFVBQVU7RUFDVixPQUFPLEVBQUUsR0FBRyxDMUNsZVQsSUFBSTtFMENtZVAsUUFBUSxFQUFFLFFBQVE7RUFDbEIsZUFBZSxFQUFFLElBQUk7RUFDckIsT0FBTyxFQUFFLENBQUM7Q0FzQlg7O0FBakNELEEvQnRORSwwQitCc053QixBL0J0TnZCLGtCQUFrQixDQUFDO0VBQ2xCLE1BQU0sRUFBRSxDQUFDO0NBQ1Y7O0ErQm9OSCxBL0JsTkUsMEIrQmtOd0IsQS9CbE52QixNQUFNLENBQUM7RUFDTixnQkFBZ0IsRWJ4TFYsT0FBK0I7RWF5THJDLFlBQVksRWJ0TkssT0FBTztFYXVOeEIsVUFBVSxFQUFFLElBQUk7Q0FDakI7O0ErQjhNSCxBL0I1TUUsMEIrQjRNd0IsQS9CNU12QixNQUFNLENBQUM7RUFDTixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ2JoUUEsT0FBTyxDYWdRYSxVQUFVO0NBQ2hEOztBK0IwTUgsQS9CeE1FLDBCK0J3TXdCLEEvQnhNdkIsT0FBTyxFK0J3TVYsMEJBQTBCLEEvQnZNdkIsVUFBVSxDQUFDO0VBQ1YsZ0JBQWdCLEVibk1WLE9BQStCO0Vhb01yQyxZQUFZLEViak9LLE9BQU87RWFrT3hCLEtBQUssRWJsT1ksT0FBTztDYW1PekI7O0FIckRLLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFa0N3UHBDLEFBQUEsMEJBQTBCLENBQUM7SUFjdkIsWUFBWSxFQUFFLENBQUM7SUFDZixVQUFVO0dBa0JiOzs7QWxDelJPLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFa0N3UHBDLEFBQUEsMEJBQTBCLENBQUM7SUFtQnZCLEtBQUssRUFBRSxJQUFJO0dBY2Q7OztBbEN6Uk8sTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLE9BQU8sU0FBUyxFQUFFLFFBQVE7RWtDd1A5RCxBQUFBLDBCQUEwQixDQUFDO0lBdUJ2QixVQUFVLEVBQUUsQ0FBQztJQUNiLFVBQVU7R0FTYjs7O0FBakNELEEvQjVNRSwwQitCNE13QixBL0I1TXZCLE1BQU0sQytCdU9DO0U1QnpkUixnQkFBZ0IsRWhCYkcsT0FBTztFZ0JjMUIsTUFBTSxFQUFFLENBQUM7RUFDVCxVQUFVLEVBQUUsQ0FBQyxDZnFDSyxHQUFHLENlckNZLENBQUMsQ0FBQyxDQUFDLENoQjFCbEIsT0FBTztFZ0IyQnpCLEtBQUssRWhCM0JhLE9BQU87RWdCNEJ6QixPQUFPLEVmbUNXLEdBQUcsQ2VuQ08sS0FBSyxDQUFDLFdBQVc7RUFBRSxPQUFPO0VBQ3RELGNBQWMsRWZrQ0ksR0FBRztFMkNxYm5CLFVBQVUsRUFBRSxJQUFJO0NBQ2pCOztBQS9CSCxBNUJ2YkUsMEI0QnVid0IsQUEyQnZCLE1BQU0sQzVCbGRQLFdBQVcsQ0FBQztFQUNWLElBQUksRWhCaENZLE9BQU87Q2dCaUN4Qjs7QTRCd2RIOzhFQUM4RTtBbEM1UnRFLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFa0M4UnBDLEFBQ0UseUJBRHVCLENBQ3ZCLDBCQUEwQixDQUFDO0lBRXZCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEtBQUssRUFBRSxJQUFJO0lBQ1gsR0FBRyxFQUFFLElBQUk7R0FFWjs7O0FBR0gsQUFBQSx5QkFBeUIsQ0FBQztFQUV4QixnQkFBZ0IsRTVDemdCRSxPQUFPO0U0QzBnQnpCLEtBQUssRUFBRSxJQUFJO0VBQ1gsT0FBTyxFQUFFLElBQUk7RUFDYixRQUFRLEVBQUUsTUFBTTtDQXVCakI7O0FsQ3BVTyxNQUFNLENBQUMsS0FBSztFa0N3U3BCLEFBQUEseUJBQXlCLENBQUM7SS9CdlR0QixPQUFPLEVBQUUsSUFBSTtHK0JtVmhCOzs7QUE1QkQsQUFPRSx5QkFQdUIsQUFPdEIsUUFBUSxDQUFDO0VBQ1IsT0FBTyxFQUFFLEtBQUs7Q0FrQmY7O0FsQ2xVSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7RWtDd1NuQyxBQU9FLHlCQVB1QixBQU90QixRQUFRLENBQUM7SUFJTixhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQzVDamVULE9BQU87STRDa2V0QixVQUFVO0lBQ1YsVUFBVSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEM1Q25lTixPQUFPO0k0Q29ldEIsVUFBVTtHQVliO0VBMUJILEFBZ0JNLHlCQWhCbUIsQUFPdEIsUUFBUSxDQVNMLHNCQUFzQixDQUFDO0lBQ3JCLE1BQU0sRUFBRSxDQUFDLEMxQzNoQlosSUFBSTtHMEM0aEJGOzs7QWxDMVRDLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFa0N3U3BDLEFBZ0JNLHlCQWhCbUIsQUFPdEIsUUFBUSxDQVNMLHNCQUFzQixDQU1DO0lBQ3JCLE1BQU0sRUFBRSxDQUFDO0dBQ1Y7OztBQU1QLEFBQUEsK0JBQStCLENBQUM7RUFDOUIsV0FBVyxFM0MxaUJLLEdBQUc7RTJDMmlCbkIsYUFBYSxFQUFFLENBQUM7RUFDaEIsT0FBTyxFMUMzaUJKLElBQUk7RTBDNGlCUCxRQUFRLEVBQUUsUUFBUTtDQUNuQjs7QUFFRCxBQUFBLCtCQUErQixDQUFDO0UvQnRROUIsZ0JBQWdCLEVBQUUsV0FBVztFQUM3QixNQUFNLEVBQUUsQ0FBQztFQUNULE1BQU0sRUFBRSxPQUFPO0VBQ2YsTUFBTSxFQUFFLElBQUk7RUFDWixPQUFPLEVBQUUsQ0FBQztFQUNWLEtBQUssRUFBRSxJQUFJO0UrQm1RWCxRQUFRLEVBQUUsTUFBTTtFQUNoQixRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEUxQ25qQkYsSUFBSTtFMENvakJQLEdBQUcsRTFDcmpCQSxHQUFHO0UwQ3NqQk4sV0FBVyxFQUFFLE1BQU07Q0FPcEI7O0FBYkQsQS9CL1BFLCtCK0IrUDZCLEMvQi9QN0Isa0JBQWtCLENBQUM7RUFDakIsSUFBSSxFYnhTVyxPQUFPO0VheVN0QixNQUFNLEVBQUUsSUFBSTtFQUNaLEtBQUssRUFBRSxJQUFJO0NBQ1o7O0ErQjJQSCxBL0J6UEUsK0IrQnlQNkIsQS9CelA1QixrQkFBa0IsQ0FBQztFQUNsQixNQUFNLEVBQUUsQ0FBQztDQUNWOztBK0J1UEgsQS9CcFBJLCtCK0JvUDJCLEEvQnJQNUIsTUFBTSxDQUNMLGtCQUFrQixDQUFDO0VBQ2pCLElBQUksRWIvT0EsT0FBK0I7Q2FnUHBDOztBK0JrUEwsQS9CL09FLCtCK0IrTzZCLEEvQi9PNUIsTUFBTSxDQUFDO0VHblVSLGdCQUFnQixFaEJrQkcsT0FBTztFZ0JqQjFCLFVBQVUsRUFBRSxDQUFDLENBQUUsSUFBRyxDaEJpQkMsT0FBTyxFZ0JqQmEsQ0FBQyxDZnFFdEIsR0FBRyxDRC9ESCxPQUFPO0VnQkx6QixLQUFLLEVoQkthLE9BQU87RWdCRHpCLE9BQU8sRWZnRVcsR0FBRyxDZWhFTyxLQUFLLENBQUMsV0FBVztFQUc3QyxlQUFlLEVBQUUsSUFBSTtDSDRUcEI7O0ErQjZPSCxBQVNJLCtCQVQyQixBQVE1QixNQUFNLENBQ0wsa0JBQWtCLENBQUM7RUFDakIsSUFBSSxFNUNyakJVLE9BQU87QzRDc2pCdEI7O0FBSUwsQUFBQSw4QkFBOEIsQ0FBQztFQUM3QixVQUFVLEVBQUUsSUFBSTtFQUNoQixNQUFNLEVBQUUsQ0FBQztFQUNULFlBQVksRUFBRSxDQUFDO0NBQ2hCOztBQUVELEFBQUEsOEJBQThCLENBQUM7RUFDN0IsVUFBVSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEM1Q2poQkYsT0FBTztFNENraEIxQixhQUFhLEVBQUUsQ0FBQztFQUNoQixRQUFRLEVBQUUsUUFBUTtDQUNuQjs7QUFFRCxBQUFBLDhCQUE4QixDQUFDO0VqQ25qQjdCLFdBQVcsRVZ2Qk8sR0FBRztFVWlJakIsU0FBUyxFUjNCRSxJQUFJO0VRNEJmLFNBQVMsRUx4R0wsSUFBcUM7RUt5R3pDLFdBQVcsRUE5RUMsR0FBeUI7RWlDdWhCekMsYUFBYSxFQUFFLHFCQUFxQjtFQUNwQyxVQUFVLEVBQUUscUJBQXFCO0VBQ2pDLE9BQU8sRUFBRSxLQUFLO0VBQ2QsT0FBTyxFQUFFLFFBQVE7RUFDakIsZUFBZSxFQUFFLElBQUk7Q0FpQ3RCOztBbEMvWU8sTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VrQ3dXcEMsQUFBQSw4QkFBOEIsQ0FBQztJakMvYnZCLFNBQVMsRVJqQ0EsSUFBSTtJUWtDYixTQUFTLEVMbEhQLFFBQXFDO0lLbUh2QyxXQUFXLEVBeEZELE9BQXlCO0dpQzRqQjFDOzs7QWxDL1lPLE1BQU0sQ0FBQyxLQUFLO0VrQ3dXcEIsQUFBQSw4QkFBOEIsQ0FBQztJakNwY3ZCLFNBQVMsRVJ4QkEsSUFBSTtJUXlCYixXQUFXLEVSeEJBLElBQUk7R3lDa2dCdEI7OztBQXZDRCxBQVFFLDhCQVI0QixDQVE1QiwwQkFBMEIsQ0FBQztFQUN6QixJQUFJLEU1Q2ppQmEsT0FBTztFNENraUJ4QixRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEUxQ3ZsQkosR0FBRztFMEN3bEJKLEdBQUcsRUFBRSxHQUFHO0VBQ1IsTUFBTSxFQUFFLElBQUk7Q0FDYjs7QUFkSCxBQWtCRSw4QkFsQjRCLEFBa0IzQixNQUFNLENBQUM7RUFDTixVQUFVLEVBQUUsSUFBSTtFQUNoQixlQUFlLEVBQUUsSUFBSTtDQU10Qjs7QUExQkgsQUFzQkksOEJBdEIwQixBQWtCM0IsTUFBTSxDQUlMLDBCQUEwQixDQUFDO0VBQ3pCLElBQUksRTVDOWxCVSxPQUFPO0M0QytsQnRCOztBQXhCTCxBQTRCRSw4QkE1QjRCLEFBNEIzQixPQUFPLEVBNUJWLDhCQUE4QixBQTZCM0IsTUFBTSxDQUFDO0VBQ04sYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEM1Q3psQlAsT0FBTztFNEMwbEJ4QixVQUFVLEVBQUUsSUFBSTtFQUNoQixPQUFPLEUzQ3ZpQlMsR0FBRyxDMkN1aUJTLEtBQUssQ0FBQyxXQUFXO0VBQzdDLGNBQWMsRTNDeGlCRSxHQUFHO0UyQ3lpQm5CLGVBQWUsRUFBRSxJQUFJO0NBR3RCOztBQUlIOztLQUVLO0FsQ25aRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7RWtDd1BuQyxBQUFBLDBCQUEwQixDQStKRztJQUN6QixPQUFPLEVBQUUsSUFBSTtHQUNkO0VBbkZILEFBQUEsK0JBQStCLENBcUZHO0lBQzlCLE9BQU8sRUFBRSxJQUFJO0dBQ2Q7RUFFRCxBQUFBLDBDQUEwQyxDQUFDO0lBQ3pDLE9BQU8sRUFBRSxJQUFJO0dBQ2Q7RUF6SEgsQUFBQSx5QkFBeUIsQ0EySEc7SUFDeEIsZ0JBQWdCLEU1QzduQkQsT0FBTztJNEM4bkJ0QixPQUFPLEVBQUUsS0FBSztJQUNkLE1BQU0sRUFBRSxNQUFNO0lBQ2QsU0FBUyxFM0NybkJNLEtBQUs7RzJDc25CckI7RUE1RUgsQUFBQSw4QkFBOEIsQ0E4RUc7SUFDN0IsVUFBVSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEM1QzFvQkwsd0JBQU87STRDMm9CdkIsT0FBTyxFQUFFLFdBQVc7SUFDcEIsVUFBVTtJQUNWLE9BQU8sRUFBRSxJQUFJO0lBQ2IsZUFBZSxFQUFFLGFBQWE7SUFDOUIsT0FBTyxFQUFFLENBQUM7SUFDVixLQUFLLEVBQUUsSUFBSTtHQUNaO0VBRUQsQUFBQSxxQ0FBcUMsQ0FBQztJQUNwQyxlQUFlLEVBQUUsVUFBVTtHQUM1QjtFQXBGSCxBQUFBLDhCQUE4QixDQXNGRztJQUM3QixVQUFVLEVBQUUsQ0FBQztJQUNiLE1BQU0sRUFBRSxDQUFDO0lBQ1QsVUFBVSxFQUFFLE1BQU07R0FLbkI7RUFSRCxBQUtFLDhCQUw0QixDQUs1QiwwQkFBMEIsQ0FBQztJQUN6QixPQUFPLEVBQUUsSUFBSTtHQUNkO0VBdkZMLEFBQUEsOEJBQThCLENBMEZHO0lBQzdCLEtBQUssRTVDbHFCVyxPQUFPO0k0Q21xQnZCLFdBQVcsRUFBRSxNQUFNO0lBRW5CLFdBQVcsRUFBRSxHQUFHO0dBR2pCO0VBUEQsQUFNRSw4QkFONEIsQUFNM0IsWUFBWSxDQUFBO0lBQUMsV0FBVyxFQUFFLEdBQUc7R0FBRzs7O0FBS3JDOzs7Ozs7O0tBT0s7QUFHTCxBQUVFLElBRkUsQ0FFRixtQkFBbUIsQ0FBQztFQUNsQixPQUFPLEVBQUUsWUFBWTtFQUNyQixLQUFLLEVBQUUsSUFBSTtDQUNaOztBQUxILEFBT0UsSUFQRSxDQU9GLG1CQUFtQjtBQVByQixJQUFJLENBUUYseUNBQXlDLENBQUM7RUFDeEMsZ0JBQWdCLEU1Q3pyQkQsT0FBTztFNEMwckJ0QixPQUFPLEVBQUUsS0FBSztFQUNkLE9BQU8sRTFDcnNCTixHQUFHLEMwQ3FzQnNCLENBQUMsQzFDcnNCMUIsR0FBRyxDQUFILEdBQUc7RTBDc3NCSixLQUFLLEVBQUUsSUFBSTtDQUNaOztBQWJILEFBZUUsSUFmRSxDQWVGLHlDQUF5QyxDQUFDO0VBQ3hDLGNBQWMsRUFBRSxJQUFJO0VBQ3BCLFdBQVcsRUFBRSxDQUFDO0NBQ2Y7O0FBbEJILEFBb0JFLElBcEJFLENBb0JGLHFCQUFxQixDQUFDO0VBQ3BCLGdCQUFnQixFNUNyc0JELE9BQU87RTRDc3NCdEIsS0FBSyxFQUFFLElBQUk7RUFDWCxjQUFjLEVBQUUsSUFBSTtDQUNyQjs7QUF4QkgsQUEwQkUsSUExQkUsQ0EwQkYsMEJBQTBCO0FBMUI1QixJQUFJLENBMkJGLDRCQUE0QjtBQTNCOUIsSUFBSSxDQTRCRixvQkFBb0I7QUE1QnRCLElBQUksQ0E2QkYsK0JBQStCO0FBN0JqQyxJQUFJLENBOEJGLDhCQUE4QixDQUFDLDBCQUEwQixDQUFDO0VBQ3hELE9BQU8sRUFBRSxJQUFJO0NBQ2Q7O0FBaENILEFBa0NFLElBbENFLENBa0NGLDhCQUE4QixDQUFDO0VBQzdCLE9BQU8sRUFBRSxLQUFLO0NBQ2Y7O0FBcENILEFBc0NFLElBdENFLENBc0NGLDhCQUE4QixDQUFDO0VBQzdCLE9BQU8sRUFBRSxVQUFVO0VBQ25CLFVBQVU7Q0FPWDs7QUEvQ0gsQUEyQ00sSUEzQ0YsQ0FzQ0YsOEJBQThCLENBSTVCLENBQUMsQUFDRSxNQUFNLENBQUM7RUFDTixLQUFLLEU1QzV0Qk0sT0FBTztDNEM2dEJuQjs7QUE3Q1AsQUFpREUsSUFqREUsQ0FpREYscUJBQXFCLENBQUM7RUFDcEIsTUFBTSxFQUFFLElBQUk7RUFDWixLQUFLLEVBQUUsSUFBSTtDQU9aOztBQTFESCxBQXFESSxJQXJEQSxDQWlERixxQkFBcUIsQ0FJbkIsd0JBQXdCLENBQUM7RUFDdkIsTUFBTSxFQUFFLElBQUk7RUFDWixRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsSUFBSTtDQUNaOztBQXpETCxBQTRERSxJQTVERSxDQTRERix5QkFBeUIsQ0FBQztFQUN4QixPQUFPLEVBQUUsS0FBSztDQUNmOztBbENyaEJLLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUTtFa0N5aEJuQyxBQUlJLElBSkEsQ0FJQSw4QkFBOEIsQ0FBQztJQUM3QixPQUFPLEVBQUUsS0FBSztHQUNmO0VBTkwsQUFRSSxJQVJBLENBUUEsOEJBQThCLENBQUM7SUFDN0IsT0FBTyxFQUFFLFVBQVU7R0FDcEI7OztBQVZMLEFBZUksSUFmQSxDQWNGLDBCQUEwQixDQUN4QixRQUFRLENBQUM7RUFDUCxPQUFPLEVBQUUsS0FBSztDQUNmOztBQUtMOztLQUVLO0FBRUwsQUFBQSx5Q0FBeUMsQ0FBQztFQUN4QyxLQUFLLEVBQUUsSUFBSTtFQUNYLFlBQVksRTFDdnhCVCxJQUFJO0UwQ3d4QlAsV0FBVyxFQUFFLEdBQUc7Q0FLakI7O0FsQzNqQk8sTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VrQ21qQnBDLEFBQUEseUNBQXlDLENBQUM7SUFNdEMsV0FBVyxFMUM3eEJWLEdBQUc7RzBDK3hCUDs7O0FsQzNqQk8sTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRO0VrQzZqQm5DLEFBQUEsK0NBQStDLENBQUM7SUFHNUMsWUFBWSxFQUFFLENBQUM7SUFDZixXQUFXLEUxQ3B5QlYsR0FBRztJMENxeUJKLEtBQUssRUFBRSxJQUFJO0dBR2Q7OztBQUVELEFBQUEsK0NBQStDLENBQUM7RWhDbHdCOUMsS0FBSyxFWnBDYSxPQUFPO0VXb0J6QixXQUFXLEVWdkJPLEdBQUc7RVVpSWpCLFNBQVMsRVJ6Q0UsSUFBSTtFUTBDZixTQUFTLEVMeEdMLElBQXFDO0VLeUd6QyxXQUFXLEVBOUVDLEdBQXlCO0VpQ3V2QnpDLGVBQWUsRUFBRSxJQUFJO0NBY3RCOztBQWpCRCxBaENod0JFLCtDZ0Nnd0I2QyxBaENod0I1QyxRQUFRLENBQUM7RUFDUixLQUFLLEVaVVksT0FBTztDWVR6Qjs7QWdDOHZCSCxBaEM1dkJFLCtDZ0M0dkI2QyxBaEM1dkI1QyxNQUFNLENBQUM7RUFDTixLQUFLLEVaMUNXLE9BQU87RVkyQ3ZCLE9BQU8sRVhvQlMsR0FBRyxDV3BCUyxLQUFLLENBQUMsV0FBVztFQUM3QyxjQUFjLEVYbUJFLEdBQUc7RVdsQm5CLGVBQWUsRUFBRSxTQUFTO0NBQzNCOztBZ0N1dkJILEFoQ3J2QkUsK0NnQ3F2QjZDLEFoQ3J2QjVDLE1BQU0sQ0FBQztFQUNOLEtBQUssRVpwQ2UsT0FBTztFWXFDM0IsZUFBZSxFQUFFLFNBQVM7Q0FDM0I7O0FnQ2t2QkgsQWhDaHZCRSwrQ2dDZ3ZCNkMsQWhDaHZCNUMsT0FBTyxDQUFDO0VBQ1AsS0FBSyxFWnVCQyxPQUErQjtDWXRCdEM7O0FGdUtLLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFa0N1a0JwQyxBQUFBLCtDQUErQyxDQUFDO0lqQzlwQnhDLFNBQVMsRVIvQ0EsSUFBSTtJUWdEYixTQUFTLEVMbEhQLFNBQXFDO0lLbUh2QyxXQUFXLEVBeEZELE9BQXlCO0dpQ3F3QjFDOzs7QWxDeGxCTyxNQUFNLENBQUMsS0FBSztFa0N1a0JwQixBQUFBLCtDQUErQyxDQUFDO0lqQ25xQnhDLFNBQVMsRVJ0Q0EsSUFBSTtJUXVDYixXQUFXLEVSdENBLElBQUk7R3lDeXRCdEI7OztBQWpCRCxBaENydkJFLCtDZ0NxdkI2QyxBaENydkI1QyxNQUFNLENnQzB2QkM7RUFDTixLQUFLLEU1QzV5QlcsT0FBTztDNEM2eUJ4Qjs7QUFQSCxBaEM1dkJFLCtDZ0M0dkI2QyxBaEM1dkI1QyxNQUFNLENnQ3F3QkM7RUFDTixlQUFlLEVBQUUsSUFBSTtDQU10Qjs7QUFoQkgsQUFZSSwrQ0FaMkMsQUFTNUMsTUFBTSxBQUdKLE1BQU0sQ0FBQztFQUNOLEtBQUssRTVDbHpCUyxPQUFPO0M0Q216QnRCOztBQVdMLEFBQUEsb0JBQW9CLENBQUM7RUFDbkIsZ0JBQWdCLEU1Q2gwQkUsT0FBTztDNENnN0IxQjs7QUFqSEQsQUFLTSxvQkFMYyxDQUdsQixtQkFBbUIsQUFDaEIsTUFBTSxDQUNMLFdBQVcsQ0FBQztFQUNWLFVBQVUsRUFBRSxJQUFJO0NBQ2pCOztBQVBQLEFBV00sb0JBWGMsQ0FHbEIsbUJBQW1CLEFBT2hCLE1BQU0sQ0FDTCxXQUFXLENBQUM7RUFDVixVQUFVLEUzQzN3QkUsR0FBRyxDMkMyd0JnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQzVDL3pCdkIsT0FBTyxFQ29EUixJQUFHLEMyQzJ3QitELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDNUMvekJ0RSxPQUFPLEU0Qyt6Qm9GLElBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUMsQzVDL3pCckgsT0FBTyxFNEMrekJtSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQzNDM3dCaEosR0FBRyxDRHBERixPQUFPLEU0Qyt6QmdMLENBQUMsQzNDM3dCekwsR0FBRyxDMkMyd0IwTSxDQUFDLEMzQzN3QjlNLEdBQUcsQ0QvREgsT0FBTztDNEMyMEJwQjs7QUFiUCxBQWtCRSxvQkFsQmtCLENBa0JsQixxQkFBcUIsQ0FBQztFQUNwQixnQkFBZ0IsRTVDNTBCRCxPQUFPO0M0Q2kyQnZCOztBQXhDSCxBQXFCSSxvQkFyQmdCLENBa0JsQixxQkFBcUIsQ0FHbkIsbUJBQW1CLENBQUM7RUFDbEIsSUFBSSxFNUNyMUJVLE9BQU87QzRDczFCdEI7O0FBdkJMLEFBeUJJLG9CQXpCZ0IsQ0FrQmxCLHFCQUFxQixBQU9sQixNQUFNLENBQUM7RUFDTixnQkFBZ0IsRTVDbjFCSCxPQUFPO0M0Q28xQnJCOztBQTNCTCxBQTZCSSxvQkE3QmdCLENBa0JsQixxQkFBcUIsQUFXbEIsTUFBTSxDQUFDO0VBQ04sZ0JBQWdCLEU1Q2oxQkQsT0FBTztDNEMwMUJ2Qjs7QWxDdm9CRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWtDZ21CcEMsQUE2Qkksb0JBN0JnQixDQWtCbEIscUJBQXFCLEFBV2xCLE1BQU0sQ0FBQztJQUlKLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDNUMvMUJMLE9BQU87RzRDcTJCdEI7OztBQXZDTCxBQW9DTSxvQkFwQ2MsQ0FrQmxCLHFCQUFxQixBQVdsQixNQUFNLENBT0wsbUJBQW1CLENBQUM7RUFDbEIsSUFBSSxFNUNuMkJRLE9BQU87QzRDbzJCcEI7O0FBdENQLEFBMENFLG9CQTFDa0IsQ0EwQ2xCLG9CQUFvQjtBQTFDdEIsb0JBQW9CLENBMkNsQixvQkFBb0IsQ0FBQztFQUNuQixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQzVDNXpCQSxPQUFPO0U0QzZ6QnhCLFlBQVksRUFBRSxDQUFDO0NBU2hCOztBQXRESCxBQStDSSxvQkEvQ2dCLENBMENsQixvQkFBb0IsQUFLakIsTUFBTTtBQS9DWCxvQkFBb0IsQ0EyQ2xCLG9CQUFvQixBQUlqQixNQUFNLENBQUM7RUFDTixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQzVDOTJCSCxPQUFPO0M0Q20zQnRCOztBbENycEJHLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFa0NnbUJwQyxBQStDSSxvQkEvQ2dCLENBMENsQixvQkFBb0IsQUFLakIsTUFBTTtFQS9DWCxvQkFBb0IsQ0EyQ2xCLG9CQUFvQixBQUlqQixNQUFNLENBQUM7SUFJSixNQUFNLEUzQ2x6Qk0sR0FBRyxDMkNrekJZLEtBQUssQzVDdDJCbkIsT0FBTztHNEN3MkJ2Qjs7O0FBckRMLEFBd0RFLG9CQXhEa0IsQ0F3RGxCLDRCQUE0QjtBQXhEOUIsb0JBQW9CLENBeURsQiwwQkFBMEIsQ0FBQztFQUN6QixZQUFZLEU1Q24zQkcsT0FBTztFNENvM0J0QixLQUFLLEU1Q3AzQlUsT0FBTztDNEM0NEJ2Qjs7QUFuRkgsQUE2REksb0JBN0RnQixDQXdEbEIsNEJBQTRCLENBSzFCLFdBQVc7QUE3RGYsb0JBQW9CLENBeURsQiwwQkFBMEIsQ0FJeEIsV0FBVyxDQUFDO0VBQ1YsSUFBSSxFNUN2M0JTLE9BQU87QzRDdzNCckI7O0FBL0RMLEFBaUVJLG9CQWpFZ0IsQ0F3RGxCLDRCQUE0QixBQVN6QixVQUFVLEVBakVmLG9CQUFvQixDQXdEbEIsNEJBQTRCLEFBVXpCLE1BQU07QUFsRVgsb0JBQW9CLENBeURsQiwwQkFBMEIsQUFRdkIsVUFBVTtBQWpFZixvQkFBb0IsQ0F5RGxCLDBCQUEwQixBQVN2QixNQUFNLENBQUM7RUFDTixnQkFBZ0IsRTVDNTNCSCxPQUFPO0U0QzYzQnBCLFlBQVksRTVDNzNCQyxPQUFPO0U0QzgzQnBCLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLEtBQUssRTVDcjRCUyxPQUFPO0M0QzA0QnRCOztBQTNFTCxBQXdFTSxvQkF4RWMsQ0F3RGxCLDRCQUE0QixBQVN6QixVQUFVLENBT1QsV0FBVyxFQXhFakIsb0JBQW9CLENBd0RsQiw0QkFBNEIsQUFVekIsTUFBTSxDQU1MLFdBQVc7QUF4RWpCLG9CQUFvQixDQXlEbEIsMEJBQTBCLEFBUXZCLFVBQVUsQ0FPVCxXQUFXO0FBeEVqQixvQkFBb0IsQ0F5RGxCLDBCQUEwQixBQVN2QixNQUFNLENBTUwsV0FBVyxDQUFDO0VBQ1YsSUFBSSxFNUN4NEJRLE9BQU87QzRDeTRCcEI7O0FBMUVQLEFBNkVJLG9CQTdFZ0IsQ0F3RGxCLDRCQUE0QixBQXFCekIsTUFBTTtBQTdFWCxvQkFBb0IsQ0F5RGxCLDBCQUEwQixBQW9CdkIsTUFBTSxDQUFDO0U1Qm4zQlYsZ0JBQWdCLEVoQmJHLE9BQU87RWdCYzFCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsVUFBVSxFQUFFLENBQUMsQ2ZxQ0ssR0FBRyxDZXJDWSxDQUFDLENBQUMsQ0FBQyxDaEIxQmxCLE9BQU87RWdCMkJ6QixLQUFLLEVoQjNCYSxPQUFPO0VnQjRCekIsT0FBTyxFZm1DVyxHQUFHLENlbkNPLEtBQUssQ0FBQyxXQUFXO0VBQUUsT0FBTztFQUN0RCxjQUFjLEVma0NJLEdBQUc7RTJDKzBCakIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEM1Qzk0QkgsT0FBTyxDNEM4NEJxQixVQUFVO0VBQ3BELFVBQVUsRUFBRSxJQUFJO0NBQ2pCOztBQWxGTCxBNUIveEJFLG9CNEIreEJrQixDQXdEbEIsNEJBQTRCLEFBcUJ6QixNQUFNLEM1QjUyQlQsV0FBVztBNEIreEJiLG9CQUFvQixDQXlEbEIsMEJBQTBCLEFBb0J2QixNQUFNLEM1QjUyQlQsV0FBVyxDQUFDO0VBQ1YsSUFBSSxFaEJoQ1ksT0FBTztDZ0JpQ3hCOztBTjZMSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWtDZ21CcEMsQUFxRkUsb0JBckZrQixDQXFGbEIsMEJBQTBCLENBQUM7SUFFdkIsV0FBVyxFQUFFLENBQUM7R0FFakI7OztBQXpGSCxBQTJGRSxvQkEzRmtCLENBMkZsQix3QkFBd0IsQ0FBQztFQUN2QixLQUFLLEVBQUUsSUFBSTtFQUNYLFVBQVU7Q0FFWDs7QUEvRkgsQUFpR0Usb0JBakdrQixDQWlHbEIsOEJBQThCLENBQUM7RUFDN0IsS0FBSyxFNUMzNUJVLE9BQU87QzRDNDVCdkI7O0FBbkdILEFBcUdFLG9CQXJHa0IsQ0FxR2xCLCtDQUErQyxDQUFDO0VBQzlDLEtBQUssRTVDcDZCVyxPQUFPO0M0Q3E2QnhCOztBQXZHSCxBQXlHRSxvQkF6R2tCLENBeUdsQiw4QkFBOEIsQ0FBQztFQUM3QixVQUFVLEVBQUUsQ0FBQztDQUNkOztBQTNHSCxBQTZHRSxvQkE3R2tCLENBNkdsQiwyQkFBMkIsQ0FBQztFQUMxQixLQUFLLEU1QzU2QlcsT0FBTztDNEM2NkJ4Qjs7QUFJSCxBQUdJLDJCQUh1QixBQUFBLG9CQUFvQixDQUM3QyxtQkFBbUIsQUFFaEIsTUFBTSxDQUFDO0VBQ04sVUFBVSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQzVDaDdCUixPQUFPO0M0Q2k3QnJCOztBQUxMLEFBT0ksMkJBUHVCLEFBQUEsb0JBQW9CLENBQzdDLG1CQUFtQixBQU1oQixNQUFNLENBQUM7RUFDTixVQUFVLEVBQUUsQ0FBQyxDM0MxM0JDLEdBQUcsQzJDMDNCZ0IsQ0FBQyxDQUFDLENBQUMsQzVDejdCdEIsT0FBTztDNEM4N0J0Qjs7QUFiTCxBQVVNLDJCQVZxQixBQUFBLG9CQUFvQixDQUM3QyxtQkFBbUIsQUFNaEIsTUFBTSxDQUdMLFdBQVcsQ0FBQztFQUNWLFVBQVUsRUFBRSxJQUFJO0NBQ2pCOztBQU9QLEFBQ0Usd0JBRHNCLENBQ3RCLHlCQUF5QixDQUFDO0VBQ3hCLGdCQUFnQixFNUN2OEJBLE9BQU87QzRDbStCeEI7O0FBOUJILEFBSUksd0JBSm9CLENBQ3RCLHlCQUF5QixDQUd2Qiw4QkFBOEIsQ0FBQztFQUM3QixVQUFVLEVBQUUsR0FBRyxDQUFDLEtBQUssQzVDMTVCTixPQUFPO0M0QzI1QnZCOztBQU5MLEFBUUksd0JBUm9CLENBQ3RCLHlCQUF5QixDQU92Qiw4QkFBOEIsQ0FBQztFQUM3QixLQUFLLEU1Q3g4QlEsT0FBTztDNEM0OUJyQjs7QUE3QkwsQUFXTSx3QkFYa0IsQ0FDdEIseUJBQXlCLENBT3ZCLDhCQUE4QixBQUczQixRQUFRLENBQUM7RUFDUixLQUFLLEU1QzM4Qk0sT0FBTztDNEM0OEJuQjs7QUFiUCxBQWVNLHdCQWZrQixDQUN0Qix5QkFBeUIsQ0FPdkIsOEJBQThCLEFBTzNCLE1BQU0sRUFmYix3QkFBd0IsQ0FDdEIseUJBQXlCLENBT3ZCLDhCQUE4QixBQVEzQixPQUFPLEVBaEJkLHdCQUF3QixDQUN0Qix5QkFBeUIsQ0FPdkIsOEJBQThCLEFBUzNCLFVBQVUsQ0FBQztFQUNWLGdCQUFnQixFQUFFLFdBQVc7RUFDN0IsZUFBZSxFQUFFLElBQUk7Q0FDdEI7O0FBcEJQLEFBc0JNLHdCQXRCa0IsQ0FDdEIseUJBQXlCLENBT3ZCLDhCQUE4QixBQWMzQixNQUFNLENBQUM7RUFDTixLQUFLLEU1QzM5Qk8sT0FBTztDNENnK0JwQjs7QUE1QlAsQUF5QlEsd0JBekJnQixDQUN0Qix5QkFBeUIsQ0FPdkIsOEJBQThCLEFBYzNCLE1BQU0sQUFHSixNQUFNLENBQUM7RUFDTixVQUFVLEU1Q245QkMsT0FBTztDNENvOUJuQjs7QUE4QlQsQUFBQSxhQUFhLENBQUM7RUFDWixVQUFVLEU1QzkvQlEsT0FBTztDNEMrL0IxQjs7QUF6ZkQsQUFBQSx5QkFBeUIsQ0E2ZkM7RUFDeEIsS0FBSyxFQUFFLElBQUk7RUFDWCxPQUFPLEVBQUUsSUFBSTtFQUNiLFFBQVEsRUFBRSxNQUNaO0NBQUM7O0FBRUQsTUFBTSxDQUFDLEtBQUs7RUFuZ0JaLEFBQUEseUJBQXlCLENBb2dCRztJQUN4QixPQUFPLEVBQUUsSUFDWDtHQUFDOzs7QUF0Z0JILEFBT0UseUJBUHVCLEFBT3RCLFFBQVEsQ0FrZ0J1QjtFQUNoQyxPQUFPLEVBQUUsS0FDWDtDQUFDOztBQUVELE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUTtFQTdnQjNCLEFBT0UseUJBUHVCLEFBT3RCLFFBQVEsQ0F1Z0J5QjtJQUNoQyxhQUFhLEVBQUUsaUJBQWlCO0lBQ2hDLFVBQVUsRUFBRSxpQkFDZDtHQUFDO0VBamhCSCxBQWdCTSx5QkFoQm1CLEFBT3RCLFFBQVEsQ0FTTCxzQkFBc0IsQ0FtZ0IrQjtJQUN2RCxNQUFNLEVBQUUsTUFDVjtHQUFDOzs7QUFHSCxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RUF4aEI1QixBQWdCTSx5QkFoQm1CLEFBT3RCLFFBQVEsQ0FTTCxzQkFBc0IsQ0F5Z0IrQjtJQUN2RCxNQUFNLEVBQUUsQ0FDVjtHQUFDOzs7QUE3ZkgsQUFBQSwrQkFBK0IsQ0FtZ0JDO0VBQzlCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLGFBQWEsRUFBRSxDQUFDO0VBQ2hCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsUUFBUSxFQUFFLFFBQVE7RUFDbEIsYUFBYSxFQUFFLElBQUk7Q0FDcEI7O0FBbGdCRCxBQUFBLCtCQUErQixDQW9nQkM7RUFDOUIsZ0JBQWdCLEVBQUUsV0FBVztFQUM3QixNQUFNLEVBQUUsQ0FBQztFQUNULE1BQU0sRUFBRSxPQUFPO0VBQ2YsTUFBTSxFQUFFLElBQUk7RUFDWixPQUFPLEVBQUUsQ0FBQztFQUNWLEtBQUssRUFBRSxJQUFJO0VBQ1gsUUFBUSxFQUFFLE1BQU07RUFDaEIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLElBQUk7RUFDWCxHQUFHLEVBQUUsR0FBRztFQUNSLFdBQVcsRUFBRSxNQUNmO0NBQUM7O0FBaGhCRCxBL0IvUEUsK0IrQitQNkIsQy9CL1A3QixrQkFBa0IsQytCaXhCK0I7RUFDakQsSUFBSSxFQUFFLE9BQU87RUFDYixNQUFNLEVBQUUsSUFBSTtFQUNaLEtBQUssRUFBRSxJQUNUO0NBQUM7O0FBdGhCRCxBL0J6UEUsK0IrQnlQNkIsQS9CelA1QixrQkFBa0IsQytCaXhCNkI7RUFDaEQsTUFBTSxFQUFFLENBQ1Y7Q0FBQzs7QUExaEJELEEvQnBQSSwrQitCb1AyQixBL0JyUDVCLE1BQU0sQ0FDTCxrQkFBa0IsQytCZ3hCbUM7RUFDdkQsSUFBSSxFQUFFLE9BQ1I7Q0FBQzs7QUE5aEJELEEvQi9PRSwrQitCK082QixBL0IvTzVCLE1BQU0sQytCK3dCNkI7RUFDcEMsZ0JBQWdCLEVBQUUsT0FBTztFQUN6QixVQUFVLEVBQUUsNkJBQTZCO0VBQ3pDLEtBQUssRUFBRSxPQUFPO0VBQ2QsT0FBTyxFQUFFLHFCQUFxQjtFQUM5QixlQUFlLEVBQUUsSUFDbkI7Q0FBQzs7QUF0aUJELEFBU0ksK0JBVDJCLEFBUTVCLE1BQU0sQ0FDTCxrQkFBa0IsQ0EraEJtQztFQUN2RCxJQUFJLEVBQUUsT0FDUjtDQUFDOztBQTNoQkQsQUFBQSw4QkFBOEIsQ0E2aEJDO0VBQzdCLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsWUFBWSxFQUFFLENBQUM7Q0FDaEI7O0FBM2hCRCxBQUFBLDhCQUE4QixDQStoQkM7RUFDN0IsYUFBYSxFQUFFLENBQUM7RUFDaEIsUUFBUSxFQUFFLFFBQVE7Q0FDbkI7O0FBS0QsTUFBTSxDQUFDLEtBQUs7RUFqaUJaLEFBQUEsOEJBQThCLENBa2lCRztJQUM3QixTQUFTLEVBQUUsSUFBSTtJQUNmLFdBQVcsRUFBRSxHQUNmO0dBQUM7OztBQVFILEFBQUEsZ0NBQWdDLENBQUM7RUFDL0IsVUFBVSxFQUFFLElBQUk7RUFDaEIsS0FBSyxFNUNybkNhLE9BQU87RTRDc25DekIsZUFBZSxFQUFFLElBQUk7RUFDckIsV0FBVyxFQUFFLEdBQUc7Q0FDakI7O0FBbGpCRCxBQXNCSSw4QkF0QjBCLEFBa0IzQixNQUFNLENBSUwsMEJBQTBCLENBOGhCa0M7RUFDOUQsSUFBSSxFNUMzbkNjLE9BQU87QzRDNG5DMUI7O0FBS0QsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRO0VBM3FCM0IsQUFBQSwwQkFBMEIsQ0E4cUJHO0lBQ3pCLE9BQU8sRUFBRSxJQUNYO0dBQUM7RUFsbUJILEFBQUEsK0JBQStCLENBb21CRztJQUM5QixPQUFPLEVBQUUsSUFDWDtHQUFDO0VBN2dCRCxBQUFBLDBDQUEwQyxDQStnQkM7SUFDekMsT0FBTyxFQUFFLElBQ1g7R0FBQztFQXhvQkgsQUFBQSx5QkFBeUIsQ0Ewb0JHO0lBQ3hCLGdCQUFnQixFQUFFLFdBQVc7SUFDN0IsT0FBTyxFQUFFLEtBQUs7SUFDZCxNQUFNLEVBQUUsTUFBTTtJQUNkLFNBQVMsRUFBRSxlQUFlO0dBQzNCO0VBM2xCSCxBQUFBLDhCQUE4QixDQThsQkc7SUFDN0IsT0FBTyxFQUFFLFdBQVc7SUFDcEIsT0FBTyxFQUFFLElBQUk7SUFDYixlQUFlLEVBQUUsVUFBVTtJQUMzQixPQUFPLEVBQUUsQ0FBQztJQUNWLEtBQUssRUFBRSxJQUFJO0lBQ1gsVUFBVSxFQUFFLEdBQUc7SUFDZixVQUFVLEVBQUUsR0FBRztHQUNoQjtFQTlnQkQsQUFBQSxxQ0FBcUMsQ0FnaEJDO0lBQ3BDLGVBQWUsRUFBRSxRQUNuQjtHQUFDO0VBcG1CSCxBQUFBLDhCQUE4QixDQXNtQkc7SUFDN0IsTUFBTSxFQUFFLENBQUM7SUFDVCxVQUFVLEVBQUUsS0FBSztJQUNqQixNQUFNLEVBQUUsSUFBSTtHQUNiO0VBcGhCRCxBQUtFLDhCQUw0QixDQUs1QiwwQkFBMEIsQ0FpaEI4QjtJQUN4RCxPQUFPLEVBQUUsSUFDWDtHQUFDO0VBeG1CSCxBQUFBLDhCQUE4QixDQTBtQkc7SUFDN0IsS0FBSyxFNUNsckNXLE9BQU87STRDbXJDdkIsV0FBVyxFQUFFLE1BQU07SUFDbkIsT0FBTyxFQUFFLGlCQUFpQjtJakN0akN4QixTQUFTLEVSYkUsSUFBSTtJUWNmLFNBQVMsRUx4R0wsUUFBcUM7SUt5R3pDLFdBQVcsRUE5RUMsT0FBeUI7R2lDcW9DeEM7OztBbEN4OUJLLE1BQU0sRWtDbTZCTixTQUFTLEVBQUUsUUFBUSxPbENuNkJYLFNBQVMsRUFBRSxTQUFTO0VrQ3dXcEMsQUFBQSw4QkFBOEIsQ0EwbUJHO0lqQ3ppQ3pCLFNBQVMsRVJuQkEsSUFBSTtJUW9CYixTQUFTLEVMbEhQLElBQXFDO0lLbUh2QyxXQUFXLEVBeEZELEdBQXlCO0dpQ3FvQ3hDOzs7QWxDeDlCSyxNQUFNLENBQUMsS0FBSyxNa0NtNkJaLFNBQVMsRUFBRSxRQUFRO0VBM2pCM0IsQUFBQSw4QkFBOEIsQ0EwbUJHO0lqQzlpQ3pCLFNBQVMsRVJWQSxJQUFJO0lRV2IsV0FBVyxFUlZBLEdBQUc7R3lDNmpDbkI7OztBQXJESCxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7RUF1RHpCLEFBQUEsOEJBQThCLEFBQUEsT0FBTyxDQUFDO0lBQ3BDLGdCQUFnQixFQUFFLFdBQVc7SUFDN0IsS0FBSyxFNUMzckNXLE9BQU87RzRDNHJDeEI7OztBQVVILEFBQ0UsbUJBRGlCLEFBQ2hCLE1BQU0sQ0FBQztFQUNOLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDNUM3ckNQLE9BQU87QzRDOHJDekI7O0FHNXRDSCxBQUFBLGVBQWUsQ0FBQztFQUNaLFNBQVMsRUFBRSxDQUFDO0VBQ1osT0FBTyxFQUFFLElBQUk7RUFDYixNQUFNLEVBQUUsY0FBYztFbEM4QnhCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDYitCRSxPQUFPO0VheEMxQixhQUFhLEVBQUUsR0FBRztFa0NsQmhCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsY0FBYyxFQUFFLEdBQUc7RUFDbkIsZ0JBQWdCLEUvQ1VBLE9BQU87QytDSjFCOztBckNtT08sTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VxQ2pQcEMsQUFBQSxlQUFlLENBQUM7SUFXUixhQUFhLEVBQUUsSUFBSTtHQUcxQjs7O0FBRUQsQUFBQSxxQkFBcUIsQ0FBQztFQUNsQixTQUFTLEVBQUUsQ0FBQztFQUNaLE9BQU8sRUFBRSxJQUFJO0VBQ2IsY0FBYyxFQUFFLEdBQUc7RUFDbkIsYUFBYSxFQUFFLElBQUk7RUFDbkIsS0FBSyxFQUFFLElBQUk7RUFDWCxVQUFVLEVBQUUsc0JBQXNCO0VBQ2xDLEtBQUssRS9DSlcsT0FBTztFK0NLdkIsZUFBZSxFQUFFLElBQUk7Q0FDeEI7O0FBRUQsQUFBQSxxQkFBcUIsQUFBQSxNQUFNO0FBQzNCLGVBQWUsQUFBQSxNQUFNLENBQUM7RUFDbEIsWUFBWSxFQUFFLE9BQU87RUFDckIsVUFBVSxFQUFFLGlCQUFpQjtFQUM3QixlQUFlLEVBQUUsSUFBSTtFbENQdkIsYUFBYSxFQUFFLEdBQUc7Q2tDU25COztBQUVELEFBQUEsd0JBQXdCLENBQUM7RUFDckIsT0FBTyxFQUFFLElBQUk7RXZDb0VULFlBQTBCLEVONUN4QixJQUFJO0VNNENOLGFBQTBCLEVONUN4QixJQUFJO0VNNENOLFdBQTBCLEVOaER4QixHQUFHO0VNZ0RMLGNBQTBCLEVOaER4QixHQUFHO0U2Q2ZULFdBQVcsRUFBRSxNQUFNO0VBQ25CLElBQUksRUFBRSxJQUFJO0VBQ1YsS0FBSyxFL0N4QlcsT0FBTztFK0N5QnZCLGVBQWUsRUFBRSxJQUFJO0VBQ3JCLFdBQVcsRTlDbkNGLFFBQVEsQzhDbUNRLFVBQVU7Q0FLdEM7O0FyQytMTyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RXFDOU1wQyxBQUFBLHdCQUF3QixDQUFDO0l2QzRFZixZQUEwQixFTmxEeEIsSUFBSTtHNkNYZjs7O0FyQytMTyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RXFDOU1wQyxBQUFBLHdCQUF3QixDQUFDO0l2QzRFZixhQUEwQixFTmxEeEIsSUFBSTtHNkNYZjs7O0FyQytMTyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RXFDOU1wQyxBQUFBLHdCQUF3QixDQUFDO0l2QzRFZixXQUEwQixFTnREeEIsSUFBSTtHNkNQZjs7O0FyQytMTyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RXFDOU1wQyxBQUFBLHdCQUF3QixDQUFDO0l2QzRFZixjQUEwQixFTnREeEIsSUFBSTtHNkNQZjs7O0FBZkQsQUFZSSx3QkFab0IsQUFZbkIscUJBQXFCLENBQUM7RXZDdURuQixPQUFZLEVOOUNWLEdBQUc7QzZDUFI7O0FyQ2dNRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RXFDOU1wQyxBQVlJLHdCQVpvQixBQVluQixxQkFBcUIsQ0FBQztJdkM4RGpCLE9BQVksRU5wRFYsSUFBSTtHNkNSWDs7O0FBR0wsQUFBQSxzQkFBc0IsQ0FBQztFQUNuQixJQUFJLEVBQUUsQ0FBQztFdkNpREgsTUFBWSxFTjFEVixDQUFDO0VNNERILGFBQTBCLEVONUN4QixJQUFJO0U2Q0hWLFdBQVcsRTlDL0NGLFFBQVEsQzhDK0NRLFVBQVU7RUFDbkMsV0FBVyxFOUM1Q0csR0FBRztDOEMrRHBCOztBckNvS08sTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VxQzdMcEMsQUFBQSxzQkFBc0IsQ0FBQztJdkN5RGIsTUFBWSxFTmhFVixDQUFDO0c2Q2dDWjs7O0FyQ29LTyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RXFDN0xwQyxBQUFBLHNCQUFzQixDQUFDO0l2QzJEYixhQUEwQixFTmxEeEIsSUFBSTtHNkNnQmY7OztBQXpCRCxBQVFJLHNCQVJrQixDQVFsQixJQUFJLENBQUM7RUFDRCxXQUFXLEU5QzlDQyxHQUFHO0M4QytDbEI7O0FyQ21MRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RXFDN0xwQyxBQUFBLHNCQUFzQixDQUFDO0lwQzRGakIsU0FBUyxFUmJFLElBQUk7SVFjZixTQUFTLEVMeEdMLFFBQXFDO0lLeUd6QyxXQUFXLEVBOUVDLE9BQXlCO0lIb0NuQyxhQUEwQixFTjVDeEIsSUFBSTtHNkNpQmI7OztBckNvS08sTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLE9BQXBCLFNBQVMsRUFBRSxTQUFTO0VxQzdMcEMsQUFBQSxzQkFBc0IsQ0FBQztJcENzR2YsU0FBUyxFUm5CQSxJQUFJO0lRb0JiLFNBQVMsRUxsSFAsSUFBcUM7SUttSHZDLFdBQVcsRUF4RkQsR0FBeUI7R29DUzFDOzs7QXJDb0tPLE1BQU0sQ0FBQyxLQUFLLE1BQUosU0FBUyxFQUFFLFNBQVM7RXFDN0xwQyxBQUFBLHNCQUFzQixDQUFDO0lwQ2lHZixTQUFTLEVSVkEsSUFBSTtJUVdiLFdBQVcsRVJWQSxHQUFHO0c0Qy9EckI7OztBckNvS08sTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLE9BQXBCLFNBQVMsRUFBRSxTQUFTO0VxQzdMcEMsQUFBQSxzQkFBc0IsQ0FBQztJdkMyRGIsYUFBMEIsRU5sRHhCLElBQUk7RzZDZ0JmOzs7QXJDb0tPLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUTtFcUM3TG5DLEFBQUEsc0JBQXNCLENBQUM7SXBDNEZqQixTQUFTLEVSekNFLElBQUk7SVEwQ2YsU0FBUyxFTHhHTCxJQUFxQztJS3lHekMsV0FBVyxFQTlFQyxHQUF5QjtJSG9DbkMsYUFBMEIsRU41Q3hCLElBQUk7RzZDaUJiOzs7QXJDb0tPLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUSxPQUFuQixTQUFTLEVBQUUsU0FBUztFcUM3THBDLEFBQUEsc0JBQXNCLENBQUM7SXBDc0dmLFNBQVMsRVIvQ0EsSUFBSTtJUWdEYixTQUFTLEVMbEhQLFNBQXFDO0lLbUh2QyxXQUFXLEVBeEZELE9BQXlCO0dvQ1MxQzs7O0FyQ29LTyxNQUFNLENBQUMsS0FBSyxNQUFKLFNBQVMsRUFBRSxRQUFRO0VxQzdMbkMsQUFBQSxzQkFBc0IsQ0FBQztJcENpR2YsU0FBUyxFUnRDQSxJQUFJO0lRdUNiLFdBQVcsRVJ0Q0EsSUFBSTtHNENuQ3RCOzs7QXJDb0tPLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUSxPQUFuQixTQUFTLEVBQUUsU0FBUztFcUM3THBDLEFBQUEsc0JBQXNCLENBQUM7SXZDMkRiLGFBQTBCLEVObER4QixJQUFJO0c2Q2dCZjs7O0FBRUQsQUFBQSxlQUFlLENBQUMsQ0FBQyxBQUFBLE1BQU07QUFDdkIsZUFBZSxDQUFDLENBQUMsQUFBQSxNQUFNLENBQUM7RUFDcEIsZUFBZSxFQUFFLElBQUk7Q0FDeEI7O0FBR0QsQUFBQSxxQkFBcUIsQ0FBQztFQUNsQixPQUFPLEVBQUUsS0FBSztFQUNkLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLFNBQVMsRUFBRSxJQUFJO0VBQ2YsVUFBVSxFQUFFLDBCQUEwQjtFQUN0QyxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxRQUFRO0VBQ2hCLFFBQVEsRUFBRSxNQUFNO0NBQ25COztBQUVELEFBQUEsZUFBZSxDQUFDLENBQUMsQUFBQSxNQUFNLENBQUMscUJBQXFCO0FBQzdDLGVBQWUsQ0FBQyxDQUFDLEFBQUEsTUFBTSxDQUFDLHFCQUFxQixDQUFDO0VBQzFDLFNBQVMsRUFBRSxnQkFBZ0I7Q0FDOUI7O0FBRUQsQUFBQSwwQkFBMEIsQ0FBQztFQUN2QixPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUk7Q0FDZjs7QUNyR0QsQUFBQSx1QkFBdUIsQ0FBQztFQUNwQixVQUFVLEVBQUUsSUFBSTtDQUNuQjs7QUFXRCxBQUFBLHVCQUF1QixDQUFDO0VBR3BCLE9BQU8sRUFBRSxFQUFFO0VBQ1gsT0FBTyxFQUFFLEtBQUs7RUFDZCxXQUFXLEVBQUUsa0JBQWtCO0VBQy9CLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFlBQVksRUFBRSxJQUFJO0VBQ2xCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFlBQVksRUFBRSxHQUFHO0NBUXBCOztBdENnTk8sTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VzQ2pPcEMsQUFBQSx1QkFBdUIsQ0FBQztJQWFoQixXQUFXLEVBQUUsR0FBRztJQUNoQixPQUFPLEVBQUUsR0FBRztJQUNaLE1BQU0sRUFBRSxDQUFDO0dBRWhCOzs7QUFJRCxBQUdJLHFCQUhpQixDQUdqQixhQUFhO0FBRmpCLHVCQUF1QixDQUVuQixhQUFhLENBQUM7RUFDVixnQkFBZ0IsRWhERkwsT0FBTztDZ0RHckI7O0FBTEwsQUFRSSxxQkFSaUIsQ0FRakIsYUFBYTtBQVBqQix1QkFBdUIsQ0FPbkIsYUFBYSxDQUFDO0VBQ1YsZ0JBQWdCLEVoRE5BLE9BQU87Q2dEaUIxQjs7QUFwQkwsQUFXUSxxQkFYYSxDQVFqQixhQUFhLENBR1QsT0FBTztBQVZmLHVCQUF1QixDQU9uQixhQUFhLENBR1QsT0FBTyxDQUFDO0VBQ0osVUFBVSxFaERWSCxPQUFPLENnRFV1QixVQUFVO0VBQy9DLEtBQUssRWhEaENHLE9BQU87Q2dEcUNsQjs7QUFsQlQsQUFlWSxxQkFmUyxDQVFqQixhQUFhLENBR1QsT0FBTyxBQUlGLE1BQU07QUFkbkIsdUJBQXVCLENBT25CLGFBQWEsQ0FHVCxPQUFPLEFBSUYsTUFBTSxDQUFDO0VBQ0osS0FBSyxFaERuQ0QsT0FBTztDZ0RvQ2Q7O0FBakJiLEFBc0JJLHFCQXRCaUIsQ0FzQmpCLFVBQVU7QUFyQmQsdUJBQXVCLENBcUJuQixVQUFVLENBQUM7RUFDUCxVQUFVLEVoREVHLE9BQU87Q2dERHZCOztBQXhCTCxBQTBCSSxxQkExQmlCLENBMEJqQixpQkFBaUI7QUF6QnJCLHVCQUF1QixDQXlCbkIsaUJBQWlCLENBQUM7RUFDZCxVQUFVLEVoRGJPLE9BQU87Q2dEYzNCOztBQTVCTCxBQThCSSxxQkE5QmlCLENBOEJqQixpQkFBaUI7QUE3QnJCLHVCQUF1QixDQTZCbkIsaUJBQWlCLENBQUM7RUFDZCxLQUFLLEVoRDdCTSxPQUFPO0NnRDhCckI7O0FBaENMLEFBa0NJLHFCQWxDaUIsQ0FrQ2pCLHVCQUF1QjtBQWpDM0IsdUJBQXVCLENBaUNuQix1QkFBdUIsQ0FBQztFQUNwQixnQkFBZ0IsRWhEaENBLE9BQU87Q2dEMkMxQjs7QUE5Q0wsQUFxQ1EscUJBckNhLENBa0NqQix1QkFBdUIsQ0FHbkIsQ0FBQztBQXBDVCx1QkFBdUIsQ0FpQ25CLHVCQUF1QixDQUduQixDQUFDLENBQUM7RUFDRSxLQUFLLEVoRHpERyxPQUFPO0VnRDBEZixZQUFZLEVoRDFESixPQUFPO0NnRGdFbEI7O0FBN0NULEFBeUNZLHFCQXpDUyxDQWtDakIsdUJBQXVCLENBR25CLENBQUMsQ0FJRyxDQUFDO0FBeENiLHVCQUF1QixDQWlDbkIsdUJBQXVCLENBR25CLENBQUMsQ0FJRyxDQUFDLENBQUM7RUFDRSxlQUFlLEVBQUUsSUFBSTtDQUN4Qjs7QUEzQ2IsQUFnREkscUJBaERpQixDQWdEakIsZ0NBQWdDO0FBL0NwQyx1QkFBdUIsQ0ErQ25CLGdDQUFnQyxDQUFDO0VBQzdCLEtBQUssRWhEcEVPLE9BQU87RWdEcUVuQixnQkFBZ0IsRWhEL0NBLE9BQU87Q2dEb0QxQjs7QXRDcUpHLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUTtFc0M1TW5DLEFBZ0RJLHFCQWhEaUIsQ0FnRGpCLGdDQUFnQztFQS9DcEMsdUJBQXVCLENBK0NuQixnQ0FBZ0MsQ0FBQztJQUt6QixLQUFLLEVoRHhFRyxPQUFPLENnRHdFVyxVQUFVO0dBRTNDOzs7QUF2REwsQUEyREkscUJBM0RpQixDQTJEakIsOEJBQThCLEFBQUEsT0FBTyxBQUFBLFFBQVE7QUEzRGpELHFCQUFxQixDQTREakIsOEJBQThCLEFBQUEsTUFBTSxBQUFBLFFBQVE7QUEzRGhELHVCQUF1QixDQTBEbkIsOEJBQThCLEFBQUEsT0FBTyxBQUFBLFFBQVE7QUExRGpELHVCQUF1QixDQTJEbkIsOEJBQThCLEFBQUEsTUFBTSxBQUFBLFFBQVEsQ0FBQztFQUN6QyxnQkFBZ0IsRWhEM0RMLE9BQU87Q2dENkRyQjs7QUEvREwsQUFpRUkscUJBakVpQixDQWlFakIsZ0NBQWdDLEdBQUMsMEJBQTBCO0FBaEUvRCx1QkFBdUIsQ0FnRW5CLGdDQUFnQyxHQUFDLDBCQUEwQixDQUFDO0VBQ3hELElBQUksRUFBRSxrQkFBa0I7Q0FDM0I7O0FBbkVMLEFBcUVJLHFCQXJFaUIsQ0FxRWpCLDhCQUE4QixBQUFBLE1BQU07QUFyRXhDLHFCQUFxQixDQXNFakIsOEJBQThCLEFBQUEsT0FBTztBQXRFekMscUJBQXFCLENBdUVqQiw4QkFBOEIsQUFBQSxNQUFNO0FBdEV4Qyx1QkFBdUIsQ0FvRW5CLDhCQUE4QixBQUFBLE1BQU07QUFwRXhDLHVCQUF1QixDQXFFbkIsOEJBQThCLEFBQUEsT0FBTztBQXJFekMsdUJBQXVCLENBc0VuQiw4QkFBOEIsQUFBQSxNQUFNLENBQUM7RUFFakMsZ0JBQWdCLEVoRHZFTCxPQUFPO0VnRHdFbEIsS0FBSyxFaEQ3Rk8sT0FBTztDZ0RrR3RCOztBQS9FTCxBQTRFUSxxQkE1RWEsQ0FxRWpCLDhCQUE4QixBQUFBLE1BQU0sQ0FPaEMsMEJBQTBCO0FBNUVsQyxxQkFBcUIsQ0FzRWpCLDhCQUE4QixBQUFBLE9BQU8sQ0FNakMsMEJBQTBCO0FBNUVsQyxxQkFBcUIsQ0F1RWpCLDhCQUE4QixBQUFBLE1BQU0sQ0FLaEMsMEJBQTBCO0FBM0VsQyx1QkFBdUIsQ0FvRW5CLDhCQUE4QixBQUFBLE1BQU0sQ0FPaEMsMEJBQTBCO0FBM0VsQyx1QkFBdUIsQ0FxRW5CLDhCQUE4QixBQUFBLE9BQU8sQ0FNakMsMEJBQTBCO0FBM0VsQyx1QkFBdUIsQ0FzRW5CLDhCQUE4QixBQUFBLE1BQU0sQ0FLaEMsMEJBQTBCLENBQUM7RUFDdkIsSUFBSSxFaEQvRkksT0FBTztDZ0RnR2xCOztBQTlFVCxBQWlGSSxxQkFqRmlCLENBaUZqQixnQ0FBZ0MsQUFBQSxNQUFNO0FBakYxQyxxQkFBcUIsQ0FrRmpCLGdDQUFnQyxBQUFBLE1BQU07QUFqRjFDLHVCQUF1QixDQWdGbkIsZ0NBQWdDLEFBQUEsTUFBTTtBQWhGMUMsdUJBQXVCLENBaUZuQixnQ0FBZ0MsQUFBQSxNQUFNLENBQUM7RUFDbkMsZ0JBQWdCLEVoRGhGQSxPQUFPO0VnRGlGdkIsS0FBSyxFaER2R08sT0FBTyxDZ0R1R08sVUFBVTtDQUt2Qzs7QUF6RkwsQUFzRlEscUJBdEZhLENBaUZqQixnQ0FBZ0MsQUFBQSxNQUFNLENBS2xDLDBCQUEwQjtBQXRGbEMscUJBQXFCLENBa0ZqQixnQ0FBZ0MsQUFBQSxNQUFNLENBSWxDLDBCQUEwQjtBQXJGbEMsdUJBQXVCLENBZ0ZuQixnQ0FBZ0MsQUFBQSxNQUFNLENBS2xDLDBCQUEwQjtBQXJGbEMsdUJBQXVCLENBaUZuQixnQ0FBZ0MsQUFBQSxNQUFNLENBSWxDLDBCQUEwQixDQUFDO0VBQ3ZCLElBQUksRWhEekdJLE9BQU87Q2dEMEdsQjs7QUF4RlQsQUFpR0kscUJBakdpQixDQWlHakIsOEJBQThCO0FBaEdsQyx1QkFBdUIsQ0FnR25CLDhCQUE4QixDQUFDO0VBQzNCLEtBQUssRWhEckhPLE9BQU8sQ2dEcUhPLFVBQVU7RUFDcEMsVUFBVSxFaERqR0MsT0FBTztDZ0Q0SnJCOztBdEM4Q0csTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRO0VzQzVNbkMsQUFpR0kscUJBakdpQixDQWlHakIsOEJBQThCO0VBaEdsQyx1QkFBdUIsQ0FnR25CLDhCQUE4QixDQUFDO0lBS3ZCLEtBQUssRWhEekhHLE9BQU8sQ2dEeUhXLFVBQVU7R0F3RDNDOzs7QUE5SkwsQUEwR1EscUJBMUdhLENBaUdqQiw4QkFBOEIsQUFTekIsZ0NBQWdDO0FBekd6Qyx1QkFBdUIsQ0FnR25CLDhCQUE4QixBQVN6QixnQ0FBZ0MsQ0FBQztFQUs5QixVQUFVLEVoRDVHRSxPQUFPO0NnRDhHdEI7O0F0QzJGRCxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7RXNDNU1uQyxBQTBHUSxxQkExR2EsQ0FpR2pCLDhCQUE4QixBQVN6QixnQ0FBZ0M7RUF6R3pDLHVCQUF1QixDQWdHbkIsOEJBQThCLEFBU3pCLGdDQUFnQyxDQUFDO0lBRTFCLEtBQUssRWhEL0hELE9BQU8sQ2dEK0hlLFVBQVU7R0FLM0M7OztBQWpIVCxBQW9IUSxxQkFwSGEsQ0FpR2pCLDhCQUE4QixDQW1CMUIsMEJBQTBCO0FBbkhsQyx1QkFBdUIsQ0FnR25CLDhCQUE4QixDQW1CMUIsMEJBQTBCLENBQUM7RUFDdkIsSUFBSSxFaER6RkssT0FBTztDZ0QwRm5COztBdENzRkQsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRO0VzQzVNbkMsQUF3SFEscUJBeEhhLENBaUdqQiw4QkFBOEIsQUF1QnpCLFFBQVE7RUF2SGpCLHVCQUF1QixDQWdHbkIsOEJBQThCLEFBdUJ6QixRQUFRLENBQUM7SUFFRixLQUFLLEVoRDdJRCxPQUFPO0dnRCtJbEI7OztBQTVIVCxBQThIUSxxQkE5SGEsQ0FpR2pCLDhCQUE4QixBQTZCekIsTUFBTTtBQTdIZix1QkFBdUIsQ0FnR25CLDhCQUE4QixBQTZCekIsTUFBTSxDQUFDO0VBRUosZ0JBQWdCLEVoRDdISixPQUFPO0VnRDhIbkIsS0FBSyxFaERwSkcsT0FBTyxDZ0RvSlcsVUFBVTtDQU12Qzs7QUF2SVQsQUFtSVkscUJBbklTLENBaUdqQiw4QkFBOEIsQUE2QnpCLE1BQU0sQ0FLSCwwQkFBMEI7QUFsSXRDLHVCQUF1QixDQWdHbkIsOEJBQThCLEFBNkJ6QixNQUFNLENBS0gsMEJBQTBCLENBQUM7RUFDdkIsSUFBSSxFaER2SkEsT0FBTztDZ0R3SmQ7O0FBckliLEFBeUlRLHFCQXpJYSxDQWlHakIsOEJBQThCLEFBd0N6QixPQUFPLEVBekloQixxQkFBcUIsQ0FpR2pCLDhCQUE4QixBQXlDekIsTUFBTTtBQXpJZix1QkFBdUIsQ0FnR25CLDhCQUE4QixBQXdDekIsT0FBTztBQXhJaEIsdUJBQXVCLENBZ0duQiw4QkFBOEIsQUF5Q3pCLE1BQU0sQ0FBQztFQUNKLGdCQUFnQixFaERsSlAsT0FBTztFZ0RtSmhCLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDaERuSmYsT0FBTztFZ0RvSmhCLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLEtBQUssRWhEaEtHLE9BQU8sQ2dEZ0tXLFVBQVU7RUFDcEMsT0FBTyxFL0NsR0MsR0FBRyxDK0NrR2lCLEtBQUssQ0FBQyxXQUFXO0VBQzdDLGNBQWMsRS9DbkdOLEdBQUc7RStDb0dYLGVBQWUsRUFBRSxJQUFJO0NBV3hCOztBQTVKVCxBQW1KWSxxQkFuSlMsQ0FpR2pCLDhCQUE4QixBQXdDekIsT0FBTyxBQVVILE1BQU0sRUFuSm5CLHFCQUFxQixDQWlHakIsOEJBQThCLEFBeUN6QixNQUFNLEFBU0YsTUFBTTtBQWxKbkIsdUJBQXVCLENBZ0duQiw4QkFBOEIsQUF3Q3pCLE9BQU8sQUFVSCxNQUFNO0FBbEpuQix1QkFBdUIsQ0FnR25CLDhCQUE4QixBQXlDekIsTUFBTSxBQVNGLE1BQU0sQ0FBQztFQUNKLGdCQUFnQixFaERqSlIsT0FBTztFZ0RrSmYsS0FBSyxFaER2S0QsT0FBTyxDZ0R1S2UsVUFBVTtDQUN2Qzs7QUF0SmIsQUEyREkscUJBM0RpQixDQTJEakIsOEJBQThCLEFBQUEsT0FBTyxBQUFBLFFBQVE7QUEzRGpELHFCQUFxQixDQTREakIsOEJBQThCLEFBQUEsTUFBTSxBQUFBLFFBQVE7QUEzRGhELHVCQUF1QixDQTBEbkIsOEJBQThCLEFBQUEsT0FBTyxBQUFBLFFBQVE7QUExRGpELHVCQUF1QixDQTJEbkIsOEJBQThCLEFBQUEsTUFBTSxBQUFBLFFBQVEsQ0E0RjFCO0VBQ04sZ0JBQWdCLEVoRGhLWCxPQUFPO0VnRGlLWixLQUFLLEVoRDVLRCxPQUFPLENnRDRLZSxVQUFVO0NBQ3ZDOztBQTNKYixBQWtLSSxxQkFsS2lCLENBa0tqQixXQUFXO0FBaktmLHVCQUF1QixDQWlLbkIsV0FBVyxDQUFDO0VBQ1IsZ0JBQWdCLEVoRGhLQSxPQUFPO0NnRHlMMUI7O0FBNUxMLEFBcUtRLHFCQXJLYSxDQWtLakIsV0FBVyxDQUdQLENBQUM7QUFyS1QscUJBQXFCLENBa0tqQixXQUFXLENBSVAsQ0FBQztBQXRLVCxxQkFBcUIsQ0FrS2pCLFdBQVcsQ0FLUCxDQUFDLENBQUMsQ0FBQztBQXZLWCxxQkFBcUIsQ0FrS2pCLFdBQVcsQ0FNUCxFQUFFO0FBeEtWLHFCQUFxQixDQWtLakIsV0FBVyxDQU9QLEVBQUU7QUF4S1YsdUJBQXVCLENBaUtuQixXQUFXLENBR1AsQ0FBQztBQXBLVCx1QkFBdUIsQ0FpS25CLFdBQVcsQ0FJUCxDQUFDO0FBcktULHVCQUF1QixDQWlLbkIsV0FBVyxDQUtQLENBQUMsQ0FBQyxDQUFDO0FBdEtYLHVCQUF1QixDQWlLbkIsV0FBVyxDQU1QLEVBQUU7QUF2S1YsdUJBQXVCLENBaUtuQixXQUFXLENBT1AsRUFBRSxDQUFDO0VBQ0MsS0FBSyxFaEQ3TEcsT0FBTztDZ0Q4TGxCOztBQTNLVCxBQThLUSxxQkE5S2EsQ0FrS2pCLFdBQVcsQ0FZUCxpQkFBaUIsQUFBQSxRQUFRO0FBN0tqQyx1QkFBdUIsQ0FpS25CLFdBQVcsQ0FZUCxpQkFBaUIsQUFBQSxRQUFRLENBQUM7RUFDdEIsZ0JBQWdCLEVoRGxNUixPQUFPO0NnRG1NbEI7O0FBaExULEFBa0xRLHFCQWxMYSxDQWtLakIsV0FBVyxDQWdCUCxhQUFhO0FBakxyQix1QkFBdUIsQ0FpS25CLFdBQVcsQ0FnQlAsYUFBYSxDQUFDO0VBQ1YsS0FBSyxFaERyTUcsT0FBTyxDZ0RxTVcsVUFBVTtFQUNwQyxnQkFBZ0IsRWhEdk1SLE9BQU87RWdEd01mLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDaER4TVQsT0FBTztDZ0R5TWxCOztBQXRMVCxBQXdMUSxxQkF4TGEsQ0FrS2pCLFdBQVcsQ0FzQlAsaUJBQWlCO0FBdkx6Qix1QkFBdUIsQ0FpS25CLFdBQVcsQ0FzQlAsaUJBQWlCLENBQUM7RUFDZCxLQUFLLEVoRDVNRyxPQUFPO0NnRDZNbEI7O0FBUVQsQUFHSSxrQkFIYyxDQUdkLGFBQWE7QUFGakIsMkJBQTJCLENBRXZCLGFBQWEsQ0FBQztFQUNWLGdCQUFnQixFaERuTkwsT0FBTztDZ0RvTnJCOztBQUxMLEFBUUksa0JBUmMsQ0FRZCxhQUFhO0FBUGpCLDJCQUEyQixDQU92QixhQUFhLENBQUM7RUFDVixnQkFBZ0IsRWhEek5FLE9BQU87RWdEME56QixLQUFLLEVoRC9OTyxPQUFPO0NnRHdPdEI7O0FBbkJMLEFBWVEsa0JBWlUsQ0FRZCxhQUFhLENBSVQsT0FBTztBQVhmLDJCQUEyQixDQU92QixhQUFhLENBSVQsT0FBTyxDQUFDO0VBQ0osVUFBVSxFaEQ1TkgsT0FBTyxDZ0Q0Tm9CLFVBQVU7RUFDNUMsS0FBSyxFaERuT0csT0FBTztDZ0RzT2xCOztBQWpCVCxBQXFCSSxrQkFyQmMsQ0FxQmQsVUFBVTtBQXBCZCwyQkFBMkIsQ0FvQnZCLFVBQVUsQ0FBQztFQUNQLFVBQVUsRWhEL0xHLE9BQU87Q2dEZ012Qjs7QUF2QkwsQUF5Qkksa0JBekJjLENBeUJkLGlCQUFpQjtBQXhCckIsMkJBQTJCLENBd0J2QixpQkFBaUIsQ0FBQztFQUNkLFVBQVUsRWhEOU1PLE9BQU87Q2dEK00zQjs7QUEzQkwsQUE2Qkksa0JBN0JjLENBNkJkLGlCQUFpQjtBQTVCckIsMkJBQTJCLENBNEJ2QixpQkFBaUIsQ0FBQztFQUNkLEtBQUssRWhEN09NLE9BQU87Q2dEOE9yQjs7QUEvQkwsQUFpQ0ksa0JBakNjLENBaUNkLHVCQUF1QjtBQWhDM0IsMkJBQTJCLENBZ0N2Qix1QkFBdUIsQ0FBQztFQUNwQixnQkFBZ0IsRWhEbFBFLE9BQU87Q2dENlA1Qjs7QUE3Q0wsQUFvQ1Esa0JBcENVLENBaUNkLHVCQUF1QixDQUduQixDQUFDO0FBbkNULDJCQUEyQixDQWdDdkIsdUJBQXVCLENBR25CLENBQUMsQ0FBQztFQUNFLEtBQUssRWhEMVBHLE9BQU87RWdEMlBmLFlBQVksRWhEM1BKLE9BQU87Q2dEaVFsQjs7QUE1Q1QsQUF3Q1ksa0JBeENNLENBaUNkLHVCQUF1QixDQUduQixDQUFDLENBSUcsQ0FBQztBQXZDYiwyQkFBMkIsQ0FnQ3ZCLHVCQUF1QixDQUduQixDQUFDLENBSUcsQ0FBQyxDQUFDO0VBQ0UsZUFBZSxFQUFFLElBQUk7Q0FDeEI7O0FBMUNiLEFBK0NJLGtCQS9DYyxDQStDZCxnQ0FBZ0M7QUE5Q3BDLDJCQUEyQixDQThDdkIsZ0NBQWdDLENBQUM7RUFDN0IsS0FBSyxFaERyUU8sT0FBTztFZ0RzUW5CLGdCQUFnQixFaERqUUUsT0FBTztDZ0RzUTVCOztBdEM1Q0csTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRO0VzQ1ZuQyxBQStDSSxrQkEvQ2MsQ0ErQ2QsZ0NBQWdDO0VBOUNwQywyQkFBMkIsQ0E4Q3ZCLGdDQUFnQyxDQUFDO0lBS3pCLEtBQUssRWhEelFHLE9BQU8sQ2dEeVFXLFVBQVU7R0FFM0M7OztBQXRETCxBQTBESSxrQkExRGMsQ0EwRGQsOEJBQThCLEFBQUEsT0FBTyxBQUFBLFFBQVE7QUExRGpELGtCQUFrQixDQTJEZCw4QkFBOEIsQUFBQSxNQUFNLEFBQUEsUUFBUTtBQTFEaEQsMkJBQTJCLENBeUR2Qiw4QkFBOEIsQUFBQSxPQUFPLEFBQUEsUUFBUTtBQXpEakQsMkJBQTJCLENBMER2Qiw4QkFBOEIsQUFBQSxNQUFNLEFBQUEsUUFBUSxDQUFDO0VBQ3pDLGdCQUFnQixFaEQzUUwsT0FBTztDZ0Q0UXJCOztBQTdETCxBQStESSxrQkEvRGMsQ0ErRGQsZ0NBQWdDLEdBQUMsMEJBQTBCO0FBOUQvRCwyQkFBMkIsQ0E4RHZCLGdDQUFnQyxHQUFDLDBCQUEwQixDQUFDO0VBQ3hELElBQUksRUFBRSxrQkFBa0I7Q0FDM0I7O0FBakVMLEFBbUVJLGtCQW5FYyxDQW1FZCw4QkFBOEIsQUFBQSxNQUFNO0FBbkV4QyxrQkFBa0IsQ0FvRWQsOEJBQThCLEFBQUEsT0FBTztBQXBFekMsa0JBQWtCLENBcUVkLDhCQUE4QixBQUFBLE1BQU07QUFwRXhDLDJCQUEyQixDQWtFdkIsOEJBQThCLEFBQUEsTUFBTTtBQWxFeEMsMkJBQTJCLENBbUV2Qiw4QkFBOEIsQUFBQSxPQUFPO0FBbkV6QywyQkFBMkIsQ0FvRXZCLDhCQUE4QixBQUFBLE1BQU0sQ0FBQztFQUVqQyxnQkFBZ0IsRWhEdFJMLE9BQU87RWdEdVJsQixLQUFLLEVoRDVSTyxPQUFPO0NnRGlTdEI7O0FBN0VMLEFBMEVRLGtCQTFFVSxDQW1FZCw4QkFBOEIsQUFBQSxNQUFNLENBT2hDLDBCQUEwQjtBQTFFbEMsa0JBQWtCLENBb0VkLDhCQUE4QixBQUFBLE9BQU8sQ0FNakMsMEJBQTBCO0FBMUVsQyxrQkFBa0IsQ0FxRWQsOEJBQThCLEFBQUEsTUFBTSxDQUtoQywwQkFBMEI7QUF6RWxDLDJCQUEyQixDQWtFdkIsOEJBQThCLEFBQUEsTUFBTSxDQU9oQywwQkFBMEI7QUF6RWxDLDJCQUEyQixDQW1FdkIsOEJBQThCLEFBQUEsT0FBTyxDQU1qQywwQkFBMEI7QUF6RWxDLDJCQUEyQixDQW9FdkIsOEJBQThCLEFBQUEsTUFBTSxDQUtoQywwQkFBMEIsQ0FBQztFQUN2QixJQUFJLEVoRC9SSSxPQUFPO0NnRGdTbEI7O0FBNUVULEFBK0VJLGtCQS9FYyxDQStFZCxnQ0FBZ0MsQUFBQSxNQUFNO0FBL0UxQyxrQkFBa0IsQ0FnRmQsZ0NBQWdDLEFBQUEsTUFBTTtBQS9FMUMsMkJBQTJCLENBOEV2QixnQ0FBZ0MsQUFBQSxNQUFNO0FBOUUxQywyQkFBMkIsQ0ErRXZCLGdDQUFnQyxBQUFBLE1BQU0sQ0FBQztFQUNuQyxnQkFBZ0IsRWhEalNFLE9BQU87RWdEa1N6QixLQUFLLEVoRHRTTyxPQUFPLENnRHNTTyxVQUFVO0NBS3ZDOztBQXZGTCxBQW9GUSxrQkFwRlUsQ0ErRWQsZ0NBQWdDLEFBQUEsTUFBTSxDQUtsQywwQkFBMEI7QUFwRmxDLGtCQUFrQixDQWdGZCxnQ0FBZ0MsQUFBQSxNQUFNLENBSWxDLDBCQUEwQjtBQW5GbEMsMkJBQTJCLENBOEV2QixnQ0FBZ0MsQUFBQSxNQUFNLENBS2xDLDBCQUEwQjtBQW5GbEMsMkJBQTJCLENBK0V2QixnQ0FBZ0MsQUFBQSxNQUFNLENBSWxDLDBCQUEwQixDQUFDO0VBQ3ZCLElBQUksRWhEelNJLE9BQU87Q2dEMFNsQjs7QUF0RlQsQUErRkksa0JBL0ZjLENBK0ZkLDhCQUE4QjtBQTlGbEMsMkJBQTJCLENBOEZ2Qiw4QkFBOEIsQ0FBQztFQUMzQixLQUFLLEVoRHJUTyxPQUFPLENnRHFUTyxVQUFVO0VBQ3BDLFVBQVUsRWhEaFRDLE9BQU87Q2dEMldyQjs7QXRDbEpHLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUTtFc0NWbkMsQUErRkksa0JBL0ZjLENBK0ZkLDhCQUE4QjtFQTlGbEMsMkJBQTJCLENBOEZ2Qiw4QkFBOEIsQ0FBQztJQUt2QixLQUFLLEVoRHpURyxPQUFPLENnRHlUVyxVQUFVO0dBd0QzQzs7O0FBNUpMLEFBd0dRLGtCQXhHVSxDQStGZCw4QkFBOEIsQUFTekIsZ0NBQWdDO0FBdkd6QywyQkFBMkIsQ0E4RnZCLDhCQUE4QixBQVN6QixnQ0FBZ0MsQ0FBQztFQUs5QixVQUFVLEVoRDdUSSxPQUFPO0NnRCtUeEI7O0F0Q3JHRCxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7RXNDVm5DLEFBd0dRLGtCQXhHVSxDQStGZCw4QkFBOEIsQUFTekIsZ0NBQWdDO0VBdkd6QywyQkFBMkIsQ0E4RnZCLDhCQUE4QixBQVN6QixnQ0FBZ0MsQ0FBQztJQUUxQixLQUFLLEVoRC9URCxPQUFPLENnRCtUZSxVQUFVO0dBSzNDOzs7QUEvR1QsQUFrSFEsa0JBbEhVLENBK0ZkLDhCQUE4QixDQW1CMUIsMEJBQTBCO0FBakhsQywyQkFBMkIsQ0E4RnZCLDhCQUE4QixDQW1CMUIsMEJBQTBCLENBQUM7RUFDdkIsSUFBSSxFaER6UkssT0FBTztDZ0QwUm5COztBdEMxR0QsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRO0VzQ1ZuQyxBQXNIUSxrQkF0SFUsQ0ErRmQsOEJBQThCLEFBdUJ6QixRQUFRO0VBckhqQiwyQkFBMkIsQ0E4RnZCLDhCQUE4QixBQXVCekIsUUFBUSxDQUFDO0lBRUYsS0FBSyxFaEQ3VUQsT0FBTztHZ0QrVWxCOzs7QUExSFQsQUE0SFEsa0JBNUhVLENBK0ZkLDhCQUE4QixBQTZCekIsTUFBTTtBQTNIZiwyQkFBMkIsQ0E4RnZCLDhCQUE4QixBQTZCekIsTUFBTSxDQUFDO0VBRUosZ0JBQWdCLEVoRDlVRixPQUFPO0VnRCtVckIsS0FBSyxFaERwVkcsT0FBTyxDZ0RvVlcsVUFBVTtDQU12Qzs7QUFySVQsQUFpSVksa0JBaklNLENBK0ZkLDhCQUE4QixBQTZCekIsTUFBTSxDQUtILDBCQUEwQjtBQWhJdEMsMkJBQTJCLENBOEZ2Qiw4QkFBOEIsQUE2QnpCLE1BQU0sQ0FLSCwwQkFBMEIsQ0FBQztFQUN2QixJQUFJLEVoRHZWQSxPQUFPO0NnRHdWZDs7QUFuSWIsQUF1SVEsa0JBdklVLENBK0ZkLDhCQUE4QixBQXdDekIsT0FBTyxFQXZJaEIsa0JBQWtCLENBK0ZkLDhCQUE4QixBQXlDekIsTUFBTTtBQXZJZiwyQkFBMkIsQ0E4RnZCLDhCQUE4QixBQXdDekIsT0FBTztBQXRJaEIsMkJBQTJCLENBOEZ2Qiw4QkFBOEIsQUF5Q3pCLE1BQU0sQ0FBQztFQUNKLGdCQUFnQixFaERsVlAsT0FBTztFZ0RtVmhCLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDaERuVmYsT0FBTztFZ0RvVmhCLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLEtBQUssRWhEaFdHLE9BQU87RWdEaVdmLE9BQU8sRS9DbFNDLEdBQUcsQytDa1NpQixLQUFLLENBQUMsV0FBVztFQUM3QyxjQUFjLEUvQ25TTixHQUFHO0UrQ29TWCxlQUFlLEVBQUUsSUFBSTtDQVd4Qjs7QUExSlQsQUFpSlksa0JBakpNLENBK0ZkLDhCQUE4QixBQXdDekIsT0FBTyxBQVVILE1BQU0sRUFqSm5CLGtCQUFrQixDQStGZCw4QkFBOEIsQUF5Q3pCLE1BQU0sQUFTRixNQUFNO0FBaEpuQiwyQkFBMkIsQ0E4RnZCLDhCQUE4QixBQXdDekIsT0FBTyxBQVVILE1BQU07QUFoSm5CLDJCQUEyQixDQThGdkIsOEJBQThCLEFBeUN6QixNQUFNLEFBU0YsTUFBTSxDQUFDO0VBQ0osZ0JBQWdCLEVoRGxXTixPQUFPO0VnRG1XakIsS0FBSyxFaER2V0QsT0FBTztDZ0R3V2Q7O0FBcEpiLEFBMERJLGtCQTFEYyxDQTBEZCw4QkFBOEIsQUFBQSxPQUFPLEFBQUEsUUFBUTtBQTFEakQsa0JBQWtCLENBMkRkLDhCQUE4QixBQUFBLE1BQU0sQUFBQSxRQUFRO0FBMURoRCwyQkFBMkIsQ0F5RHZCLDhCQUE4QixBQUFBLE9BQU8sQUFBQSxRQUFRO0FBekRqRCwyQkFBMkIsQ0EwRHZCLDhCQUE4QixBQUFBLE1BQU0sQUFBQSxRQUFRLENBMkYxQjtFQUNOLGdCQUFnQixFaERoV1gsT0FBTztFZ0RpV1osS0FBSyxFaEQ1V0QsT0FBTyxDZ0Q0V2UsVUFBVTtDQUN2Qzs7QUF6SmIsQUFnS0ksa0JBaEtjLENBZ0tkLFdBQVc7QUEvSmYsMkJBQTJCLENBK0p2QixXQUFXLENBQUM7RUFDUixnQkFBZ0IsRWhEalhFLE9BQU87Q2dEb1o1Qjs7QUFwTUwsQUFtS1Esa0JBbktVLENBZ0tkLFdBQVcsQ0FHUCxDQUFDO0FBbktULGtCQUFrQixDQWdLZCxXQUFXLENBSVAsQ0FBQztBQXBLVCxrQkFBa0IsQ0FnS2QsV0FBVyxDQUtQLENBQUMsQ0FBQyxDQUFDO0FBcktYLGtCQUFrQixDQWdLZCxXQUFXLENBTVAsRUFBRTtBQXRLVixrQkFBa0IsQ0FnS2QsV0FBVyxDQU9QLEVBQUU7QUF0S1YsMkJBQTJCLENBK0p2QixXQUFXLENBR1AsQ0FBQztBQWxLVCwyQkFBMkIsQ0ErSnZCLFdBQVcsQ0FJUCxDQUFDO0FBbktULDJCQUEyQixDQStKdkIsV0FBVyxDQUtQLENBQUMsQ0FBQyxDQUFDO0FBcEtYLDJCQUEyQixDQStKdkIsV0FBVyxDQU1QLEVBQUU7QUFyS1YsMkJBQTJCLENBK0p2QixXQUFXLENBT1AsRUFBRSxDQUFDO0VBQ0MsS0FBSyxFaEQ3WEcsT0FBTztDZ0Q4WGxCOztBQXpLVCxBQTRLUSxrQkE1S1UsQ0FnS2QsV0FBVyxDQVlQLGlCQUFpQixBQUFBLFFBQVE7QUEzS2pDLDJCQUEyQixDQStKdkIsV0FBVyxDQVlQLGlCQUFpQixBQUFBLFFBQVEsQ0FBQztFQUN0QixnQkFBZ0IsRWhEbFlSLE9BQU87Q2dEbVlsQjs7QUE5S1QsQUFnTFEsa0JBaExVLENBZ0tkLFdBQVcsQ0FnQlAsYUFBYTtBQS9LckIsMkJBQTJCLENBK0p2QixXQUFXLENBZ0JQLGFBQWEsQ0FBQztFQUNWLEtBQUssRWhEcllHLE9BQU8sQ2dEcVlXLFVBQVU7RUFDcEMsZ0JBQWdCLEVoRHZZUixPQUFPO0VnRHdZZixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ2hEeFlULE9BQU87Q2dEbVpsQjs7QUE5TFQsQUFxTFksa0JBckxNLENBZ0tkLFdBQVcsQ0FnQlAsYUFBYSxBQUtSLE1BQU0sRUFyTG5CLGtCQUFrQixDQWdLZCxXQUFXLENBZ0JQLGFBQWEsQUFNUixPQUFPLEVBdExwQixrQkFBa0IsQ0FnS2QsV0FBVyxDQWdCUCxhQUFhLEFBT1IsTUFBTTtBQXRMbkIsMkJBQTJCLENBK0p2QixXQUFXLENBZ0JQLGFBQWEsQUFLUixNQUFNO0FBcExuQiwyQkFBMkIsQ0ErSnZCLFdBQVcsQ0FnQlAsYUFBYSxBQU1SLE9BQU87QUFyTHBCLDJCQUEyQixDQStKdkIsV0FBVyxDQWdCUCxhQUFhLEFBT1IsTUFBTSxDQUFDO0VBQ0osVUFBVSxFaERuVWhCLE9BQStCO0VnRG9VekIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENoRGxZWixPQUFPO0VnRG1ZWixVQUFVLEVBQUUsSUFBSTtFQUNoQixLQUFLLEVoRGhaRCxPQUFPLENnRGdaZSxVQUFVO0NBQ3ZDOztBQTVMYixBQWdNUSxrQkFoTVUsQ0FnS2QsV0FBVyxDQWdDUCxpQkFBaUI7QUEvTHpCLDJCQUEyQixDQStKdkIsV0FBVyxDQWdDUCxpQkFBaUIsQ0FBQztFQUNkLEtBQUssRUFBRSx3QkFBd0I7Q0FDbEM7O0FBUVQsQUFNSSxxQkFOaUIsQ0FNakIsYUFBYTtBQUxqQixtQkFBbUIsQ0FLZixhQUFhO0FBSmpCLGdCQUFnQixDQUlaLGFBQWE7QUFIakIsbUJBQW1CLENBR2YsYUFBYTtBQUZqQixvQkFBb0IsQ0FFaEIsYUFBYSxDQUFDO0VBQ1YsZ0JBQWdCLEVoRDVaSixPQUFPO0NnRDZadEI7O0FBUkwsQUFXSSxxQkFYaUIsQ0FXakIsYUFBYTtBQVZqQixtQkFBbUIsQ0FVZixhQUFhO0FBVGpCLGdCQUFnQixDQVNaLGFBQWE7QUFSakIsbUJBQW1CLENBUWYsYUFBYTtBQVBqQixvQkFBb0IsQ0FPaEIsYUFBYSxDQUFDO0VBQ1YsZ0JBQWdCLEVoRG5hRyxPQUFPO0NnRDhhN0I7O0FBdkJMLEFBY1EscUJBZGEsQ0FXakIsYUFBYSxDQUdULE9BQU87QUFiZixtQkFBbUIsQ0FVZixhQUFhLENBR1QsT0FBTztBQVpmLGdCQUFnQixDQVNaLGFBQWEsQ0FHVCxPQUFPO0FBWGYsbUJBQW1CLENBUWYsYUFBYSxDQUdULE9BQU87QUFWZixvQkFBb0IsQ0FPaEIsYUFBYSxDQUdULE9BQU8sQ0FBQztFQUNKLFVBQVUsRWhEcGFGLE9BQU8sQ2dEb2FzQixVQUFVO0VBQy9DLEtBQUssRWhEL2FHLE9BQU87Q2dEb2JsQjs7QUFyQlQsQUFrQlkscUJBbEJTLENBV2pCLGFBQWEsQ0FHVCxPQUFPLEFBSUYsTUFBTTtBQWpCbkIsbUJBQW1CLENBVWYsYUFBYSxDQUdULE9BQU8sQUFJRixNQUFNO0FBaEJuQixnQkFBZ0IsQ0FTWixhQUFhLENBR1QsT0FBTyxBQUlGLE1BQU07QUFmbkIsbUJBQW1CLENBUWYsYUFBYSxDQUdULE9BQU8sQUFJRixNQUFNO0FBZG5CLG9CQUFvQixDQU9oQixhQUFhLENBR1QsT0FBTyxBQUlGLE1BQU0sQ0FBQztFQUNKLEtBQUssRWhEbGJELE9BQU87Q2dEbWJkOztBQXBCYixBQXlCSSxxQkF6QmlCLENBeUJqQixVQUFVO0FBeEJkLG1CQUFtQixDQXdCZixVQUFVO0FBdkJkLGdCQUFnQixDQXVCWixVQUFVO0FBdEJkLG1CQUFtQixDQXNCZixVQUFVO0FBckJkLG9CQUFvQixDQXFCaEIsVUFBVSxDQUFDO0VBQ1AsVUFBVSxFaEQ3WUcsT0FBTztDZ0Q4WXZCOztBQTNCTCxBQTZCSSxxQkE3QmlCLENBNkJqQixpQkFBaUI7QUE1QnJCLG1CQUFtQixDQTRCZixpQkFBaUI7QUEzQnJCLGdCQUFnQixDQTJCWixpQkFBaUI7QUExQnJCLG1CQUFtQixDQTBCZixpQkFBaUI7QUF6QnJCLG9CQUFvQixDQXlCaEIsaUJBQWlCLENBQUM7RUFDZCxVQUFVLEVoRDVaTyxPQUFPO0NnRDZaM0I7O0FBL0JMLEFBaUNJLHFCQWpDaUIsQ0FpQ2pCLGlCQUFpQjtBQWhDckIsbUJBQW1CLENBZ0NmLGlCQUFpQjtBQS9CckIsZ0JBQWdCLENBK0JaLGlCQUFpQjtBQTlCckIsbUJBQW1CLENBOEJmLGlCQUFpQjtBQTdCckIsb0JBQW9CLENBNkJoQixpQkFBaUIsQ0FBQztFQUNkLEtBQUssRWhEdmJPLE9BQU87Q2dEd2J0Qjs7QUFuQ0wsQUFxQ0kscUJBckNpQixDQXFDakIsdUJBQXVCO0FBcEMzQixtQkFBbUIsQ0FvQ2YsdUJBQXVCO0FBbkMzQixnQkFBZ0IsQ0FtQ1osdUJBQXVCO0FBbEMzQixtQkFBbUIsQ0FrQ2YsdUJBQXVCO0FBakMzQixvQkFBb0IsQ0FpQ2hCLHVCQUF1QixDQUFDO0VBQ3BCLGdCQUFnQixFaEQ3YkcsT0FBTztDZ0R3YzdCOztBQWpETCxBQXdDUSxxQkF4Q2EsQ0FxQ2pCLHVCQUF1QixDQUduQixDQUFDO0FBdkNULG1CQUFtQixDQW9DZix1QkFBdUIsQ0FHbkIsQ0FBQztBQXRDVCxnQkFBZ0IsQ0FtQ1osdUJBQXVCLENBR25CLENBQUM7QUFyQ1QsbUJBQW1CLENBa0NmLHVCQUF1QixDQUduQixDQUFDO0FBcENULG9CQUFvQixDQWlDaEIsdUJBQXVCLENBR25CLENBQUMsQ0FBQztFQUNFLEtBQUssRWhEeGNHLE9BQU87RWdEeWNmLFlBQVksRWhEemNKLE9BQU87Q2dEK2NsQjs7QUFoRFQsQUE0Q1kscUJBNUNTLENBcUNqQix1QkFBdUIsQ0FHbkIsQ0FBQyxDQUlHLENBQUM7QUEzQ2IsbUJBQW1CLENBb0NmLHVCQUF1QixDQUduQixDQUFDLENBSUcsQ0FBQztBQTFDYixnQkFBZ0IsQ0FtQ1osdUJBQXVCLENBR25CLENBQUMsQ0FJRyxDQUFDO0FBekNiLG1CQUFtQixDQWtDZix1QkFBdUIsQ0FHbkIsQ0FBQyxDQUlHLENBQUM7QUF4Q2Isb0JBQW9CLENBaUNoQix1QkFBdUIsQ0FHbkIsQ0FBQyxDQUlHLENBQUMsQ0FBQztFQUNFLGVBQWUsRUFBRSxJQUFJO0NBQ3hCOztBQTlDYixBQW1ESSxxQkFuRGlCLENBbURqQixnQ0FBZ0M7QUFsRHBDLG1CQUFtQixDQWtEZixnQ0FBZ0M7QUFqRHBDLGdCQUFnQixDQWlEWixnQ0FBZ0M7QUFoRHBDLG1CQUFtQixDQWdEZixnQ0FBZ0M7QUEvQ3BDLG9CQUFvQixDQStDaEIsZ0NBQWdDLENBQUM7RUFDN0IsS0FBSyxFaERuZE8sT0FBTztFZ0RvZG5CLGdCQUFnQixFaEQ1Y0csT0FBTztDZ0RpZDdCOztBdEMxUEcsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRO0VzQ2dNbkMsQUFtREkscUJBbkRpQixDQW1EakIsZ0NBQWdDO0VBbERwQyxtQkFBbUIsQ0FrRGYsZ0NBQWdDO0VBakRwQyxnQkFBZ0IsQ0FpRFosZ0NBQWdDO0VBaERwQyxtQkFBbUIsQ0FnRGYsZ0NBQWdDO0VBL0NwQyxvQkFBb0IsQ0ErQ2hCLGdDQUFnQyxDQUFDO0lBS3pCLEtBQUssRWhEdmRHLE9BQU8sQ2dEdWRXLFVBQVU7R0FFM0M7OztBQTFETCxBQThESSxxQkE5RGlCLENBOERqQiw4QkFBOEIsQUFBQSxPQUFPLEFBQUEsUUFBUTtBQTlEakQscUJBQXFCLENBK0RqQiw4QkFBOEIsQUFBQSxNQUFNLEFBQUEsUUFBUTtBQTlEaEQsbUJBQW1CLENBNkRmLDhCQUE4QixBQUFBLE9BQU8sQUFBQSxRQUFRO0FBN0RqRCxtQkFBbUIsQ0E4RGYsOEJBQThCLEFBQUEsTUFBTSxBQUFBLFFBQVE7QUE3RGhELGdCQUFnQixDQTREWiw4QkFBOEIsQUFBQSxPQUFPLEFBQUEsUUFBUTtBQTVEakQsZ0JBQWdCLENBNkRaLDhCQUE4QixBQUFBLE1BQU0sQUFBQSxRQUFRO0FBNURoRCxtQkFBbUIsQ0EyRGYsOEJBQThCLEFBQUEsT0FBTyxBQUFBLFFBQVE7QUEzRGpELG1CQUFtQixDQTREZiw4QkFBOEIsQUFBQSxNQUFNLEFBQUEsUUFBUTtBQTNEaEQsb0JBQW9CLENBMERoQiw4QkFBOEIsQUFBQSxPQUFPLEFBQUEsUUFBUTtBQTFEakQsb0JBQW9CLENBMkRoQiw4QkFBOEIsQUFBQSxNQUFNLEFBQUEsUUFBUSxDQUFDO0VBQ3pDLGdCQUFnQixFaERyZEosT0FBTztDZ0RzZHRCOztBQWpFTCxBQW1FSSxxQkFuRWlCLENBbUVqQixnQ0FBZ0MsR0FBQywwQkFBMEI7QUFsRS9ELG1CQUFtQixDQWtFZixnQ0FBZ0MsR0FBQywwQkFBMEI7QUFqRS9ELGdCQUFnQixDQWlFWixnQ0FBZ0MsR0FBQywwQkFBMEI7QUFoRS9ELG1CQUFtQixDQWdFZixnQ0FBZ0MsR0FBQywwQkFBMEI7QUEvRC9ELG9CQUFvQixDQStEaEIsZ0NBQWdDLEdBQUMsMEJBQTBCLENBQUM7RUFDeEQsSUFBSSxFQUFFLGtCQUFrQjtDQUMzQjs7QUFyRUwsQUF1RUkscUJBdkVpQixDQXVFakIsOEJBQThCLEFBQUEsTUFBTTtBQXZFeEMscUJBQXFCLENBd0VqQiw4QkFBOEIsQUFBQSxPQUFPO0FBeEV6QyxxQkFBcUIsQ0F5RWpCLDhCQUE4QixBQUFBLE1BQU07QUF4RXhDLG1CQUFtQixDQXNFZiw4QkFBOEIsQUFBQSxNQUFNO0FBdEV4QyxtQkFBbUIsQ0F1RWYsOEJBQThCLEFBQUEsT0FBTztBQXZFekMsbUJBQW1CLENBd0VmLDhCQUE4QixBQUFBLE1BQU07QUF2RXhDLGdCQUFnQixDQXFFWiw4QkFBOEIsQUFBQSxNQUFNO0FBckV4QyxnQkFBZ0IsQ0FzRVosOEJBQThCLEFBQUEsT0FBTztBQXRFekMsZ0JBQWdCLENBdUVaLDhCQUE4QixBQUFBLE1BQU07QUF0RXhDLG1CQUFtQixDQW9FZiw4QkFBOEIsQUFBQSxNQUFNO0FBcEV4QyxtQkFBbUIsQ0FxRWYsOEJBQThCLEFBQUEsT0FBTztBQXJFekMsbUJBQW1CLENBc0VmLDhCQUE4QixBQUFBLE1BQU07QUFyRXhDLG9CQUFvQixDQW1FaEIsOEJBQThCLEFBQUEsTUFBTTtBQW5FeEMsb0JBQW9CLENBb0VoQiw4QkFBOEIsQUFBQSxPQUFPO0FBcEV6QyxvQkFBb0IsQ0FxRWhCLDhCQUE4QixBQUFBLE1BQU0sQ0FBQztFQUVqQyxnQkFBZ0IsRWhEaGVKLE9BQU87RWdEaWVuQixLQUFLLEVoRDNlTyxPQUFPO0NnRGdmdEI7O0FBakZMLEFBOEVRLHFCQTlFYSxDQXVFakIsOEJBQThCLEFBQUEsTUFBTSxDQU9oQywwQkFBMEI7QUE5RWxDLHFCQUFxQixDQXdFakIsOEJBQThCLEFBQUEsT0FBTyxDQU1qQywwQkFBMEI7QUE5RWxDLHFCQUFxQixDQXlFakIsOEJBQThCLEFBQUEsTUFBTSxDQUtoQywwQkFBMEI7QUE3RWxDLG1CQUFtQixDQXNFZiw4QkFBOEIsQUFBQSxNQUFNLENBT2hDLDBCQUEwQjtBQTdFbEMsbUJBQW1CLENBdUVmLDhCQUE4QixBQUFBLE9BQU8sQ0FNakMsMEJBQTBCO0FBN0VsQyxtQkFBbUIsQ0F3RWYsOEJBQThCLEFBQUEsTUFBTSxDQUtoQywwQkFBMEI7QUE1RWxDLGdCQUFnQixDQXFFWiw4QkFBOEIsQUFBQSxNQUFNLENBT2hDLDBCQUEwQjtBQTVFbEMsZ0JBQWdCLENBc0VaLDhCQUE4QixBQUFBLE9BQU8sQ0FNakMsMEJBQTBCO0FBNUVsQyxnQkFBZ0IsQ0F1RVosOEJBQThCLEFBQUEsTUFBTSxDQUtoQywwQkFBMEI7QUEzRWxDLG1CQUFtQixDQW9FZiw4QkFBOEIsQUFBQSxNQUFNLENBT2hDLDBCQUEwQjtBQTNFbEMsbUJBQW1CLENBcUVmLDhCQUE4QixBQUFBLE9BQU8sQ0FNakMsMEJBQTBCO0FBM0VsQyxtQkFBbUIsQ0FzRWYsOEJBQThCLEFBQUEsTUFBTSxDQUtoQywwQkFBMEI7QUExRWxDLG9CQUFvQixDQW1FaEIsOEJBQThCLEFBQUEsTUFBTSxDQU9oQywwQkFBMEI7QUExRWxDLG9CQUFvQixDQW9FaEIsOEJBQThCLEFBQUEsT0FBTyxDQU1qQywwQkFBMEI7QUExRWxDLG9CQUFvQixDQXFFaEIsOEJBQThCLEFBQUEsTUFBTSxDQUtoQywwQkFBMEIsQ0FBQztFQUN2QixJQUFJLEVoRDdlSSxPQUFPO0NnRDhlbEI7O0FBaEZULEFBbUZJLHFCQW5GaUIsQ0FtRmpCLGdDQUFnQyxBQUFBLE1BQU07QUFuRjFDLHFCQUFxQixDQW9GakIsZ0NBQWdDLEFBQUEsTUFBTTtBQW5GMUMsbUJBQW1CLENBa0ZmLGdDQUFnQyxBQUFBLE1BQU07QUFsRjFDLG1CQUFtQixDQW1GZixnQ0FBZ0MsQUFBQSxNQUFNO0FBbEYxQyxnQkFBZ0IsQ0FpRlosZ0NBQWdDLEFBQUEsTUFBTTtBQWpGMUMsZ0JBQWdCLENBa0ZaLGdDQUFnQyxBQUFBLE1BQU07QUFqRjFDLG1CQUFtQixDQWdGZixnQ0FBZ0MsQUFBQSxNQUFNO0FBaEYxQyxtQkFBbUIsQ0FpRmYsZ0NBQWdDLEFBQUEsTUFBTTtBQWhGMUMsb0JBQW9CLENBK0VoQixnQ0FBZ0MsQUFBQSxNQUFNO0FBL0UxQyxvQkFBb0IsQ0FnRmhCLGdDQUFnQyxBQUFBLE1BQU0sQ0FBQztFQUNuQyxnQkFBZ0IsRWhENWVHLE9BQU87RWdENmUxQixLQUFLLEVoRHJmTyxPQUFPLENnRHFmTyxVQUFVO0NBS3ZDOztBQTNGTCxBQXdGUSxxQkF4RmEsQ0FtRmpCLGdDQUFnQyxBQUFBLE1BQU0sQ0FLbEMsMEJBQTBCO0FBeEZsQyxxQkFBcUIsQ0FvRmpCLGdDQUFnQyxBQUFBLE1BQU0sQ0FJbEMsMEJBQTBCO0FBdkZsQyxtQkFBbUIsQ0FrRmYsZ0NBQWdDLEFBQUEsTUFBTSxDQUtsQywwQkFBMEI7QUF2RmxDLG1CQUFtQixDQW1GZixnQ0FBZ0MsQUFBQSxNQUFNLENBSWxDLDBCQUEwQjtBQXRGbEMsZ0JBQWdCLENBaUZaLGdDQUFnQyxBQUFBLE1BQU0sQ0FLbEMsMEJBQTBCO0FBdEZsQyxnQkFBZ0IsQ0FrRlosZ0NBQWdDLEFBQUEsTUFBTSxDQUlsQywwQkFBMEI7QUFyRmxDLG1CQUFtQixDQWdGZixnQ0FBZ0MsQUFBQSxNQUFNLENBS2xDLDBCQUEwQjtBQXJGbEMsbUJBQW1CLENBaUZmLGdDQUFnQyxBQUFBLE1BQU0sQ0FJbEMsMEJBQTBCO0FBcEZsQyxvQkFBb0IsQ0ErRWhCLGdDQUFnQyxBQUFBLE1BQU0sQ0FLbEMsMEJBQTBCO0FBcEZsQyxvQkFBb0IsQ0FnRmhCLGdDQUFnQyxBQUFBLE1BQU0sQ0FJbEMsMEJBQTBCLENBQUM7RUFDdkIsSUFBSSxFaER2ZkksT0FBTztDZ0R3ZmxCOztBQTFGVCxBQW1HSSxxQkFuR2lCLENBbUdqQiw4QkFBOEI7QUFsR2xDLG1CQUFtQixDQWtHZiw4QkFBOEI7QUFqR2xDLGdCQUFnQixDQWlHWiw4QkFBOEI7QUFoR2xDLG1CQUFtQixDQWdHZiw4QkFBOEI7QUEvRmxDLG9CQUFvQixDQStGaEIsOEJBQThCLENBQUM7RUFDM0IsS0FBSyxFaERuZ0JPLE9BQU8sQ2dEbWdCTyxVQUFVO0VBQ3BDLFVBQVUsRWhEMWZFLE9BQU87Q2dEcWpCdEI7O0F0Q2hXRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7RXNDZ01uQyxBQW1HSSxxQkFuR2lCLENBbUdqQiw4QkFBOEI7RUFsR2xDLG1CQUFtQixDQWtHZiw4QkFBOEI7RUFqR2xDLGdCQUFnQixDQWlHWiw4QkFBOEI7RUFoR2xDLG1CQUFtQixDQWdHZiw4QkFBOEI7RUEvRmxDLG9CQUFvQixDQStGaEIsOEJBQThCLENBQUM7SUFLdkIsS0FBSyxFaER2Z0JHLE9BQU8sQ2dEdWdCVyxVQUFVO0dBd0QzQzs7O0FBaEtMLEFBNEdRLHFCQTVHYSxDQW1HakIsOEJBQThCLEFBU3pCLGdDQUFnQztBQTNHekMsbUJBQW1CLENBa0dmLDhCQUE4QixBQVN6QixnQ0FBZ0M7QUExR3pDLGdCQUFnQixDQWlHWiw4QkFBOEIsQUFTekIsZ0NBQWdDO0FBekd6QyxtQkFBbUIsQ0FnR2YsOEJBQThCLEFBU3pCLGdDQUFnQztBQXhHekMsb0JBQW9CLENBK0ZoQiw4QkFBOEIsQUFTekIsZ0NBQWdDLENBQUM7RUFLOUIsVUFBVSxFaER4Z0JLLE9BQU87Q2dEMGdCekI7O0F0Q25URCxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7RXNDZ01uQyxBQTRHUSxxQkE1R2EsQ0FtR2pCLDhCQUE4QixBQVN6QixnQ0FBZ0M7RUEzR3pDLG1CQUFtQixDQWtHZiw4QkFBOEIsQUFTekIsZ0NBQWdDO0VBMUd6QyxnQkFBZ0IsQ0FpR1osOEJBQThCLEFBU3pCLGdDQUFnQztFQXpHekMsbUJBQW1CLENBZ0dmLDhCQUE4QixBQVN6QixnQ0FBZ0M7RUF4R3pDLG9CQUFvQixDQStGaEIsOEJBQThCLEFBU3pCLGdDQUFnQyxDQUFDO0lBRTFCLEtBQUssRWhEN2dCRCxPQUFPLENnRDZnQmUsVUFBVTtHQUszQzs7O0FBbkhULEFBc0hRLHFCQXRIYSxDQW1HakIsOEJBQThCLENBbUIxQiwwQkFBMEI7QUFySGxDLG1CQUFtQixDQWtHZiw4QkFBOEIsQ0FtQjFCLDBCQUEwQjtBQXBIbEMsZ0JBQWdCLENBaUdaLDhCQUE4QixDQW1CMUIsMEJBQTBCO0FBbkhsQyxtQkFBbUIsQ0FnR2YsOEJBQThCLENBbUIxQiwwQkFBMEI7QUFsSGxDLG9CQUFvQixDQStGaEIsOEJBQThCLENBbUIxQiwwQkFBMEIsQ0FBQztFQUN2QixJQUFJLEVoRHZlSyxPQUFPO0NnRHdlbkI7O0F0Q3hURCxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7RXNDZ01uQyxBQTBIUSxxQkExSGEsQ0FtR2pCLDhCQUE4QixBQXVCekIsUUFBUTtFQXpIakIsbUJBQW1CLENBa0dmLDhCQUE4QixBQXVCekIsUUFBUTtFQXhIakIsZ0JBQWdCLENBaUdaLDhCQUE4QixBQXVCekIsUUFBUTtFQXZIakIsbUJBQW1CLENBZ0dmLDhCQUE4QixBQXVCekIsUUFBUTtFQXRIakIsb0JBQW9CLENBK0ZoQiw4QkFBOEIsQUF1QnpCLFFBQVEsQ0FBQztJQUVGLEtBQUssRWhEM2hCRCxPQUFPO0dnRDZoQmxCOzs7QUE5SFQsQUFnSVEscUJBaElhLENBbUdqQiw4QkFBOEIsQUE2QnpCLE1BQU07QUEvSGYsbUJBQW1CLENBa0dmLDhCQUE4QixBQTZCekIsTUFBTTtBQTlIZixnQkFBZ0IsQ0FpR1osOEJBQThCLEFBNkJ6QixNQUFNO0FBN0hmLG1CQUFtQixDQWdHZiw4QkFBOEIsQUE2QnpCLE1BQU07QUE1SGYsb0JBQW9CLENBK0ZoQiw4QkFBOEIsQUE2QnpCLE1BQU0sQ0FBQztFQUVKLGdCQUFnQixFaER6aEJELE9BQU87RWdEMGhCdEIsS0FBSyxFaERsaUJHLE9BQU8sQ2dEa2lCVyxVQUFVO0NBTXZDOztBQXpJVCxBQXFJWSxxQkFySVMsQ0FtR2pCLDhCQUE4QixBQTZCekIsTUFBTSxDQUtILDBCQUEwQjtBQXBJdEMsbUJBQW1CLENBa0dmLDhCQUE4QixBQTZCekIsTUFBTSxDQUtILDBCQUEwQjtBQW5JdEMsZ0JBQWdCLENBaUdaLDhCQUE4QixBQTZCekIsTUFBTSxDQUtILDBCQUEwQjtBQWxJdEMsbUJBQW1CLENBZ0dmLDhCQUE4QixBQTZCekIsTUFBTSxDQUtILDBCQUEwQjtBQWpJdEMsb0JBQW9CLENBK0ZoQiw4QkFBOEIsQUE2QnpCLE1BQU0sQ0FLSCwwQkFBMEIsQ0FBQztFQUN2QixJQUFJLEVoRHJpQkEsT0FBTztDZ0RzaUJkOztBQXZJYixBQTJJUSxxQkEzSWEsQ0FtR2pCLDhCQUE4QixBQXdDekIsT0FBTyxFQTNJaEIscUJBQXFCLENBbUdqQiw4QkFBOEIsQUF5Q3pCLE1BQU07QUEzSWYsbUJBQW1CLENBa0dmLDhCQUE4QixBQXdDekIsT0FBTztBQTFJaEIsbUJBQW1CLENBa0dmLDhCQUE4QixBQXlDekIsTUFBTTtBQTFJZixnQkFBZ0IsQ0FpR1osOEJBQThCLEFBd0N6QixPQUFPO0FBekloQixnQkFBZ0IsQ0FpR1osOEJBQThCLEFBeUN6QixNQUFNO0FBeklmLG1CQUFtQixDQWdHZiw4QkFBOEIsQUF3Q3pCLE9BQU87QUF4SWhCLG1CQUFtQixDQWdHZiw4QkFBOEIsQUF5Q3pCLE1BQU07QUF4SWYsb0JBQW9CLENBK0ZoQiw4QkFBOEIsQUF3Q3pCLE9BQU87QUF2SWhCLG9CQUFvQixDQStGaEIsOEJBQThCLEFBeUN6QixNQUFNLENBQUM7RUFDSixnQkFBZ0IsRWhEaGlCUCxPQUFPO0VnRGlpQmhCLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDaERqaUJmLE9BQU87RWdEa2lCaEIsVUFBVSxFQUFFLElBQUk7RUFDaEIsS0FBSyxFaEQ5aUJHLE9BQU8sQ2dEOGlCVyxVQUFVO0VBQ3BDLE9BQU8sRS9DaGZDLEdBQUcsQytDZ2ZpQixLQUFLLENBQUMsV0FBVztFQUM3QyxjQUFjLEUvQ2pmTixHQUFHO0UrQ2tmWCxlQUFlLEVBQUUsSUFBSTtDQVd4Qjs7QUE5SlQsQUFxSlkscUJBckpTLENBbUdqQiw4QkFBOEIsQUF3Q3pCLE9BQU8sQUFVSCxNQUFNLEVBckpuQixxQkFBcUIsQ0FtR2pCLDhCQUE4QixBQXlDekIsTUFBTSxBQVNGLE1BQU07QUFwSm5CLG1CQUFtQixDQWtHZiw4QkFBOEIsQUF3Q3pCLE9BQU8sQUFVSCxNQUFNO0FBcEpuQixtQkFBbUIsQ0FrR2YsOEJBQThCLEFBeUN6QixNQUFNLEFBU0YsTUFBTTtBQW5KbkIsZ0JBQWdCLENBaUdaLDhCQUE4QixBQXdDekIsT0FBTyxBQVVILE1BQU07QUFuSm5CLGdCQUFnQixDQWlHWiw4QkFBOEIsQUF5Q3pCLE1BQU0sQUFTRixNQUFNO0FBbEpuQixtQkFBbUIsQ0FnR2YsOEJBQThCLEFBd0N6QixPQUFPLEFBVUgsTUFBTTtBQWxKbkIsbUJBQW1CLENBZ0dmLDhCQUE4QixBQXlDekIsTUFBTSxBQVNGLE1BQU07QUFqSm5CLG9CQUFvQixDQStGaEIsOEJBQThCLEFBd0N6QixPQUFPLEFBVUgsTUFBTTtBQWpKbkIsb0JBQW9CLENBK0ZoQiw4QkFBOEIsQUF5Q3pCLE1BQU0sQUFTRixNQUFNLENBQUM7RUFDSixnQkFBZ0IsRWhEN2lCTCxPQUFPO0VnRDhpQmxCLEtBQUssRWhEcmpCRCxPQUFPLENnRHFqQmUsVUFBVTtDQUN2Qzs7QUF4SmIsQUE4REkscUJBOURpQixDQThEakIsOEJBQThCLEFBQUEsT0FBTyxBQUFBLFFBQVE7QUE5RGpELHFCQUFxQixDQStEakIsOEJBQThCLEFBQUEsTUFBTSxBQUFBLFFBQVE7QUE5RGhELG1CQUFtQixDQTZEZiw4QkFBOEIsQUFBQSxPQUFPLEFBQUEsUUFBUTtBQTdEakQsbUJBQW1CLENBOERmLDhCQUE4QixBQUFBLE1BQU0sQUFBQSxRQUFRO0FBN0RoRCxnQkFBZ0IsQ0E0RFosOEJBQThCLEFBQUEsT0FBTyxBQUFBLFFBQVE7QUE1RGpELGdCQUFnQixDQTZEWiw4QkFBOEIsQUFBQSxNQUFNLEFBQUEsUUFBUTtBQTVEaEQsbUJBQW1CLENBMkRmLDhCQUE4QixBQUFBLE9BQU8sQUFBQSxRQUFRO0FBM0RqRCxtQkFBbUIsQ0E0RGYsOEJBQThCLEFBQUEsTUFBTSxBQUFBLFFBQVE7QUEzRGhELG9CQUFvQixDQTBEaEIsOEJBQThCLEFBQUEsT0FBTyxBQUFBLFFBQVE7QUExRGpELG9CQUFvQixDQTJEaEIsOEJBQThCLEFBQUEsTUFBTSxBQUFBLFFBQVEsQ0EyRjFCO0VBQ04sZ0JBQWdCLEVoRDlpQlgsT0FBTztFZ0QraUJaLEtBQUssRWhEMWpCRCxPQUFPLENnRDBqQmUsVUFBVTtDQUN2Qzs7QUE3SmIsQUFvS0kscUJBcEtpQixDQW9LakIsV0FBVztBQW5LZixtQkFBbUIsQ0FtS2YsV0FBVztBQWxLZixnQkFBZ0IsQ0FrS1osV0FBVztBQWpLZixtQkFBbUIsQ0FpS2YsV0FBVztBQWhLZixvQkFBb0IsQ0FnS2hCLFdBQVcsQ0FBQztFQUNSLGdCQUFnQixFaEQ1akJHLE9BQU87Q2dEcWxCN0I7O0FBOUxMLEFBdUtRLHFCQXZLYSxDQW9LakIsV0FBVyxDQUdQLENBQUM7QUF2S1QscUJBQXFCLENBb0tqQixXQUFXLENBSVAsQ0FBQztBQXhLVCxxQkFBcUIsQ0FvS2pCLFdBQVcsQ0FLUCxDQUFDLENBQUMsQ0FBQztBQXpLWCxxQkFBcUIsQ0FvS2pCLFdBQVcsQ0FNUCxFQUFFO0FBMUtWLHFCQUFxQixDQW9LakIsV0FBVyxDQU9QLEVBQUU7QUExS1YsbUJBQW1CLENBbUtmLFdBQVcsQ0FHUCxDQUFDO0FBdEtULG1CQUFtQixDQW1LZixXQUFXLENBSVAsQ0FBQztBQXZLVCxtQkFBbUIsQ0FtS2YsV0FBVyxDQUtQLENBQUMsQ0FBQyxDQUFDO0FBeEtYLG1CQUFtQixDQW1LZixXQUFXLENBTVAsRUFBRTtBQXpLVixtQkFBbUIsQ0FtS2YsV0FBVyxDQU9QLEVBQUU7QUF6S1YsZ0JBQWdCLENBa0taLFdBQVcsQ0FHUCxDQUFDO0FBcktULGdCQUFnQixDQWtLWixXQUFXLENBSVAsQ0FBQztBQXRLVCxnQkFBZ0IsQ0FrS1osV0FBVyxDQUtQLENBQUMsQ0FBQyxDQUFDO0FBdktYLGdCQUFnQixDQWtLWixXQUFXLENBTVAsRUFBRTtBQXhLVixnQkFBZ0IsQ0FrS1osV0FBVyxDQU9QLEVBQUU7QUF4S1YsbUJBQW1CLENBaUtmLFdBQVcsQ0FHUCxDQUFDO0FBcEtULG1CQUFtQixDQWlLZixXQUFXLENBSVAsQ0FBQztBQXJLVCxtQkFBbUIsQ0FpS2YsV0FBVyxDQUtQLENBQUMsQ0FBQyxDQUFDO0FBdEtYLG1CQUFtQixDQWlLZixXQUFXLENBTVAsRUFBRTtBQXZLVixtQkFBbUIsQ0FpS2YsV0FBVyxDQU9QLEVBQUU7QUF2S1Ysb0JBQW9CLENBZ0toQixXQUFXLENBR1AsQ0FBQztBQW5LVCxvQkFBb0IsQ0FnS2hCLFdBQVcsQ0FJUCxDQUFDO0FBcEtULG9CQUFvQixDQWdLaEIsV0FBVyxDQUtQLENBQUMsQ0FBQyxDQUFDO0FBcktYLG9CQUFvQixDQWdLaEIsV0FBVyxDQU1QLEVBQUU7QUF0S1Ysb0JBQW9CLENBZ0toQixXQUFXLENBT1AsRUFBRSxDQUFDO0VBQ0MsS0FBSyxFaEQza0JHLE9BQU87Q2dENGtCbEI7O0FBN0tULEFBZ0xRLHFCQWhMYSxDQW9LakIsV0FBVyxDQVlQLGlCQUFpQixBQUFBLFFBQVE7QUEvS2pDLG1CQUFtQixDQW1LZixXQUFXLENBWVAsaUJBQWlCLEFBQUEsUUFBUTtBQTlLakMsZ0JBQWdCLENBa0taLFdBQVcsQ0FZUCxpQkFBaUIsQUFBQSxRQUFRO0FBN0tqQyxtQkFBbUIsQ0FpS2YsV0FBVyxDQVlQLGlCQUFpQixBQUFBLFFBQVE7QUE1S2pDLG9CQUFvQixDQWdLaEIsV0FBVyxDQVlQLGlCQUFpQixBQUFBLFFBQVEsQ0FBQztFQUN0QixnQkFBZ0IsRWhEaGxCUixPQUFPO0NnRGlsQmxCOztBQWxMVCxBQW9MUSxxQkFwTGEsQ0FvS2pCLFdBQVcsQ0FnQlAsYUFBYTtBQW5MckIsbUJBQW1CLENBbUtmLFdBQVcsQ0FnQlAsYUFBYTtBQWxMckIsZ0JBQWdCLENBa0taLFdBQVcsQ0FnQlAsYUFBYTtBQWpMckIsbUJBQW1CLENBaUtmLFdBQVcsQ0FnQlAsYUFBYTtBQWhMckIsb0JBQW9CLENBZ0toQixXQUFXLENBZ0JQLGFBQWEsQ0FBQztFQUNWLEtBQUssRWhEbmxCRyxPQUFPLENnRG1sQlcsVUFBVTtFQUNwQyxnQkFBZ0IsRWhEcmxCUixPQUFPO0VnRHNsQmYsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENoRHRsQlQsT0FBTztDZ0R1bEJsQjs7QUF4TFQsQUEwTFEscUJBMUxhLENBb0tqQixXQUFXLENBc0JQLGlCQUFpQjtBQXpMekIsbUJBQW1CLENBbUtmLFdBQVcsQ0FzQlAsaUJBQWlCO0FBeEx6QixnQkFBZ0IsQ0FrS1osV0FBVyxDQXNCUCxpQkFBaUI7QUF2THpCLG1CQUFtQixDQWlLZixXQUFXLENBc0JQLGlCQUFpQjtBQXRMekIsb0JBQW9CLENBZ0toQixXQUFXLENBc0JQLGlCQUFpQixDQUFDO0VBQ2QsS0FBSyxFaEQxbEJHLE9BQU87Q2dEMmxCbEI7O0FBU1QsQUFBQSxjQUFjO0FBQ2QsZUFBZSxDQUFDO0VBQ1osVUFBVSxFaERqbUJZLE9BQU87RWdEa21CN0IsS0FBSyxFaER2bUJXLE9BQU87Q2dENnFCMUI7O0FBekVELEFBS0ksY0FMVSxBQUtULFFBQVE7QUFKYixlQUFlLEFBSVYsUUFBUSxDQUFDO0VBQ04sVUFBVSxFaERoaUJSLE9BQStCO0NnRHNpQnBDOztBQVpMLEFBUVEsY0FSTSxBQUtULFFBQVEsQUFHSixzQkFBc0I7QUFQL0IsZUFBZSxBQUlWLFFBQVEsQUFHSixzQkFBc0IsQ0FBQztFQUNwQixVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssQ2hEN21CZCxPQUFPO0NnRCttQmxCOztBQVhULEFBY0ksY0FkVSxDQWNWLGdCQUFnQixBQUFBLE9BQU87QUFkM0IsY0FBYyxDQWVWLGdCQUFnQixBQUFBLE1BQU07QUFmMUIsY0FBYyxDQWdCVixnQkFBZ0IsQUFBQSxNQUFNO0FBaEIxQixjQUFjLENBaUJWLGdCQUFnQixBQUFBLEtBQUs7QUFqQnpCLGNBQWMsQ0FrQlYsZ0JBQWdCLEFBQUEsUUFBUTtBQWpCNUIsZUFBZSxDQWFYLGdCQUFnQixBQUFBLE9BQU87QUFiM0IsZUFBZSxDQWNYLGdCQUFnQixBQUFBLE1BQU07QUFkMUIsZUFBZSxDQWVYLGdCQUFnQixBQUFBLE1BQU07QUFmMUIsZUFBZSxDQWdCWCxnQkFBZ0IsQUFBQSxLQUFLO0FBaEJ6QixlQUFlLENBaUJYLGdCQUFnQixBQUFBLFFBQVEsQ0FBQztFQUNyQixLQUFLLEVoRHZuQk8sT0FBTztFZ0R3bkJuQixXQUFXLEVBQUUsR0FBRztFQUNoQixlQUFlLEVBQUUsSUFBSTtDQUt4Qjs7QUExQkwsQUF1QlEsY0F2Qk0sQ0FjVixnQkFBZ0IsQUFBQSxPQUFPLEFBU2xCLE9BQU87QUF2QmhCLGNBQWMsQ0FlVixnQkFBZ0IsQUFBQSxNQUFNLEFBUWpCLE9BQU87QUF2QmhCLGNBQWMsQ0FnQlYsZ0JBQWdCLEFBQUEsTUFBTSxBQU9qQixPQUFPO0FBdkJoQixjQUFjLENBaUJWLGdCQUFnQixBQUFBLEtBQUssQUFNaEIsT0FBTztBQXZCaEIsY0FBYyxDQWtCVixnQkFBZ0IsQUFBQSxRQUFRLEFBS25CLE9BQU87QUF0QmhCLGVBQWUsQ0FhWCxnQkFBZ0IsQUFBQSxPQUFPLEFBU2xCLE9BQU87QUF0QmhCLGVBQWUsQ0FjWCxnQkFBZ0IsQUFBQSxNQUFNLEFBUWpCLE9BQU87QUF0QmhCLGVBQWUsQ0FlWCxnQkFBZ0IsQUFBQSxNQUFNLEFBT2pCLE9BQU87QUF0QmhCLGVBQWUsQ0FnQlgsZ0JBQWdCLEFBQUEsS0FBSyxBQU1oQixPQUFPO0FBdEJoQixlQUFlLENBaUJYLGdCQUFnQixBQUFBLFFBQVEsQUFLbkIsT0FBTyxDQUFDO0VBQ0wsWUFBWSxFaEQ1bkJKLE9BQU87Q2dENm5CbEI7O0FBekJULEFBNkJJLGNBN0JVLENBNkJWLGVBQWU7QUE1Qm5CLGVBQWUsQ0E0QlgsZUFBZSxDQUFDO0VBRVosTUFBTSxFQUFFLGtCQUFrQjtDQW1CN0I7O0FBbERMLEFBaUNRLGNBakNNLENBNkJWLGVBQWUsQ0FJWCxpQkFBaUI7QUFoQ3pCLGVBQWUsQ0E0QlgsZUFBZSxDQUlYLGlCQUFpQixDQUFDO0VBQ2QsV0FBVyxFQUFFLEdBQUcsQ0FBQyxLQUFLLENoRHRvQmQsT0FBTztFZ0R1b0JmLEtBQUssRWhEdm9CRyxPQUFPO0VnRHdvQmYsS0FBSyxFQUFFLGVBQWU7RUFDdEIsT0FBTyxFQUFFLElBQUk7RUFDYixTQUFTLEVBQUUsR0FBRztDQUNqQjs7QUF2Q1QsQUF5Q1EsY0F6Q00sQ0E2QlYsZUFBZSxDQVlYLGtCQUFrQjtBQXhDMUIsZUFBZSxDQTRCWCxlQUFlLENBWVgsa0JBQWtCLENBQUM7RUFDZixZQUFZLEVBQUUsR0FBRyxDQUFDLEtBQUssQ2hEOW9CZixPQUFPO0VnRCtvQmYsS0FBSyxFaEQvb0JHLE9BQU87RWdEZ3BCZixLQUFLLEVBQUUsZ0JBQWdCO0VBQ3ZCLFVBQVUsRUFBRSxLQUFLO0VBQ2pCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsU0FBUyxFQUFFLEdBQUc7Q0FDakI7O0FBaERULEFBc0RJLGNBdERVLENBc0RWLENBQUM7QUF0REwsY0FBYyxDQXVEVixDQUFDLENBQUMsQ0FBQztBQXZEUCxjQUFjLENBd0RWLEVBQUU7QUF4RE4sY0FBYyxDQXlEVixFQUFFLENBQUMsQ0FBQztBQXhEUixlQUFlLENBcURYLENBQUM7QUFyREwsZUFBZSxDQXNEWCxDQUFDLENBQUMsQ0FBQztBQXREUCxlQUFlLENBdURYLEVBQUU7QUF2RE4sZUFBZSxDQXdEWCxFQUFFLENBQUMsQ0FBQyxDQUFDO0VBQ0QsS0FBSyxFaEQ5cEJPLE9BQU87Q2dEK3BCdEI7O0FBM0RMLEFBNkRJLGNBN0RVLENBNkRWLHVCQUF1QjtBQTVEM0IsZUFBZSxDQTREWCx1QkFBdUIsQ0FBQztFQUVwQixpQkFBaUIsRUFBRSx3QkFBd0I7Q0FDOUM7O0FBaEVMLEFBa0VJLGNBbEVVLENBa0VWLHNCQUFzQjtBQWpFMUIsZUFBZSxDQWlFWCxzQkFBc0IsQ0FBQztFQUNuQixLQUFLLEVoRHRxQk8sT0FBTztDZ0R1cUJ0Qjs7QUFwRUwsQUFzRUksY0F0RVUsQ0FzRVYsQ0FBQztBQXJFTCxlQUFlLENBcUVYLENBQUMsQ0FBQztFQUNFLGVBQWUsRUFBRSxTQUFTO0NBQzdCOztBQU1MLEFBQUEsZUFBZTtBQUNmLGdCQUFnQixDQUFDO0VBQ2IsVUFBVSxFaEQxcUJNLE9BQU87RWdEMnFCdkIsS0FBSyxFaERyckJXLE9BQU87Q2dEb3NCMUI7O0FBbEJELEFBS0ksZUFMVyxDQUtYLENBQUM7QUFMTCxlQUFlLENBTVgsQ0FBQyxDQUFDLENBQUM7QUFMUCxnQkFBZ0IsQ0FJWixDQUFDO0FBSkwsZ0JBQWdCLENBS1osQ0FBQyxDQUFDLENBQUMsQ0FBQztFQUNBLEtBQUssRWhEenJCTyxPQUFPO0NnRDByQnRCOztBQVJMLEFBVUksZUFWVyxDQVVYLHVCQUF1QjtBQVQzQixnQkFBZ0IsQ0FTWix1QkFBdUIsQ0FBQztFQUVwQixpQkFBaUIsRUFBRSx3QkFBd0I7Q0FDOUM7O0FBYkwsQUFlSSxlQWZXLENBZVgsc0JBQXNCO0FBZDFCLGdCQUFnQixDQWNaLHNCQUFzQixDQUFDO0VBQ25CLEtBQUssRWhEanNCTyxPQUFPO0NnRGtzQnRCOztBQUlMLEFBQUEsZ0JBQWdCO0FBQ2hCLGlCQUFpQixDQUFDO0VBQ2QsVUFBVSxFaER4ckJPLE9BQU8sQ2dEd3JCUSxVQUFVO0VBQzFDLEtBQUssRWhEenNCVyxPQUFPO0NnRHd0QjFCOztBQWxCRCxBQUtJLGdCQUxZLENBS1osQ0FBQztBQUxMLGdCQUFnQixDQU1aLENBQUMsQ0FBQyxDQUFDO0FBTFAsaUJBQWlCLENBSWIsQ0FBQztBQUpMLGlCQUFpQixDQUtiLENBQUMsQ0FBQyxDQUFDLENBQUM7RUFDQSxLQUFLLEVoRDdzQk8sT0FBTztDZ0Q4c0J0Qjs7QUFSTCxBQVVJLGdCQVZZLENBVVosdUJBQXVCO0FBVDNCLGlCQUFpQixDQVNiLHVCQUF1QixDQUFDO0VBRXBCLGlCQUFpQixFQUFFLHdCQUF3QjtDQUM5Qzs7QUFiTCxBQWVJLGdCQWZZLENBZVosc0JBQXNCO0FBZDFCLGlCQUFpQixDQWNiLHNCQUFzQixDQUFDO0VBQ25CLEtBQUssRWhEdHRCTyxPQUFPO0NnRHV0QnRCOztBQUdMLEFBQUEsZUFBZTtBQUNmLGdCQUFnQixDQUFDO0VBQ2IsVUFBVSxFaEQ3dEJNLE9BQU8sQ2dENnRCUSxVQUFVO0VBQ3pDLEtBQUssRWhEN3RCVyxPQUFPO0NnRGt1QjFCOztBQVJELEFBS0ksZUFMVyxDQUtYLENBQUM7QUFKTCxnQkFBZ0IsQ0FJWixDQUFDLENBQUM7RUFDRSxLQUFLLEVoRGh1Qk8sT0FBTztDZ0RpdUJ0Qjs7QUFHTCxBQUFBLGdCQUFnQixDQUFDO0VBQ2IsVUFBVSxFQUFFLDJFQUEyRTtFQUN2RixVQUFVLEVBQUUsOENBQThDO0VBQzFELFVBQVUsRUFBRSw0Q0FBNEM7Q0FDM0Q7O0FBRUQsQUFBQSxpQkFBaUIsQ0FBQztFQUNkLFVBQVUsRUFBRSwyRUFBMkU7RUFDdkYsVUFBVSxFQUFFLDhDQUE4QztFQUMxRCxVQUFVLEVBQUUsNENBQTRDO0NBQzNEOztBQUVELEFBQUEsYUFBYSxDQUFDO0VBQ1Ysa0JBQWtCLEVBQUUsb0JBQW9CO0VBQ3hDLFVBQVUsRUFBRSxvQkFBb0I7Q0FDbkM7O0FBR0QsQUFBQSxnQkFBZ0I7QUFDaEIsZUFBZSxDQUFDO0VBQ1osVUFBVSxFaER4c0JPLE9BQU8sQ2dEd3NCUSxVQUFVO0NBTTdDOztBQVJELEFBSUksZ0JBSlksQ0FJWix1QkFBdUI7QUFIM0IsZUFBZSxDQUdYLHVCQUF1QixDQUFDO0VBRXBCLGlCQUFpQixFQUFFLGtCQUFrQjtDQUN4Qzs7QUFHTCxBQUFBLHNCQUFzQjtBQUN0QixxQkFBcUIsQ0FBQztFQUNsQixVQUFVLEVoRGp0Qk8sT0FBTyxDZ0RpdEJRLFVBQVU7Q0FNN0M7O0FBUkQsQUFJSSxzQkFKa0IsQ0FJbEIsdUJBQXVCO0FBSDNCLHFCQUFxQixDQUdqQix1QkFBdUIsQ0FBQztFQUVwQixpQkFBaUIsRUFBRSxrQkFBa0I7Q0FDeEM7O0FBR0wsQUFBQSx1QkFBdUI7QUFDdkIsc0JBQXNCLENBQUM7RUFDbkIsVUFBVSxFaEQ3dEJPLE9BQU8sQ2dENnRCUSxVQUFVO0NBTTdDOztBQVJELEFBSUksdUJBSm1CLENBSW5CLHVCQUF1QjtBQUgzQixzQkFBc0IsQ0FHbEIsdUJBQXVCLENBQUM7RUFFcEIsaUJBQWlCLEVBQUUsa0JBQWtCO0NBQ3hDOztBQUlMLEFBQUEsZUFBZSxDQUFDO0VBQ1osZ0JBQWdCLEVoRHB4QkQsT0FBTztDZ0R3eUJ6Qjs7QUFyQkQsQUFHSSxlQUhXLENBR1gsQ0FBQztBQUhMLGVBQWUsQ0FJWCxDQUFDLENBQUMsQ0FBQztBQUpQLGVBQWUsQ0FLWCxFQUFFO0FBTE4sZUFBZSxDQU1YLEVBQUU7QUFOTixlQUFlLENBT1gsRUFBRTtBQVBOLGVBQWUsQ0FRWCxLQUFLLENBQUM7RUFDRixLQUFLLEVoRC94Qk8sT0FBTztDZ0RneUJ0Qjs7QUFWTCxBQVlJLGVBWlcsQ0FZWCx1QkFBdUIsQ0FBQztFQUVwQixpQkFBaUIsRUFBRSx3QkFBd0I7Q0FDOUM7O0FBZkwsQUFpQkksZUFqQlcsQ0FpQlgsc0JBQXNCLENBQUM7RUFDbkIsS0FBSyxFaER2eUJPLE9BQU87Q2dEd3lCdEI7O0FBSUwsQUFBQSxzQkFBc0IsQ0FBQztFQUNuQixnQkFBZ0IsRWhEanhCTSxPQUFPO0NnRDJ4QmhDOztBQVhELEFBR0ksc0JBSGtCLENBR2xCLENBQUM7QUFITCxzQkFBc0IsQ0FJbEIsQ0FBQyxDQUFDLENBQUM7QUFKUCxzQkFBc0IsQ0FLbEIsRUFBRTtBQUxOLHNCQUFzQixDQU1sQixFQUFFO0FBTk4sc0JBQXNCLENBT2xCLEVBQUU7QUFQTixzQkFBc0IsQ0FRbEIsS0FBSyxDQUFDO0VBQ0YsS0FBSyxFaERyekJPLE9BQU87Q2dEc3pCdEI7O0FBR0wsQUFBQSxtQkFBbUI7QUFDbkIsb0JBQW9CLENBQUM7RUFDakIsVUFBVSxFQUFFLE9BQU87RUFDbkIsS0FBSyxFaEQ3ekJXLE9BQU87Q2dENDBCMUI7O0FBbEJELEFBS0ksbUJBTGUsQ0FLZixDQUFDO0FBTEwsbUJBQW1CLENBTWYsQ0FBQyxDQUFDLENBQUM7QUFMUCxvQkFBb0IsQ0FJaEIsQ0FBQztBQUpMLG9CQUFvQixDQUtoQixDQUFDLENBQUMsQ0FBQyxDQUFDO0VBQ0EsS0FBSyxFaERqMEJPLE9BQU87Q2dEazBCdEI7O0FBUkwsQUFVSSxtQkFWZSxDQVVmLHVCQUF1QjtBQVQzQixvQkFBb0IsQ0FTaEIsdUJBQXVCLENBQUM7RUFFcEIsaUJBQWlCLEVBQUUsd0JBQXdCO0NBQzlDOztBQWJMLEFBZUksbUJBZmUsQ0FlZixzQkFBc0I7QUFkMUIsb0JBQW9CLENBY2hCLHNCQUFzQixDQUFDO0VBQ25CLEtBQUssRWhEejBCTyxPQUFPO0NnRDAwQnRCOztBQzUxQkwsQUFBQSwyQkFBMkIsQ0FBQztFQUV4QixPQUFPLEVBQUUsUUFBUTtFQUNqQixNQUFNLEVBQUUsR0FBRztDQUNkOztBQUVELEFBQUEsc0JBQXNCO0FBQ3RCLHNCQUFzQixDQUFDO0VBQ25CLFNBQVMsRUFBRSxNQUFNO0VBQ2xCLE9BQU8sRUFBRSxVQUFVO0VBQ25CLE9BQU8sRUFBRSxLQUFLO0NBZ0JoQjs7QXZDc05PLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSTtFdUMxTy9CLEFBQUEsc0JBQXNCO0VBQ3RCLHNCQUFzQixDQUFDO0lBTW5CLFNBQVMsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxVQUFVO0lBQ25CLE9BQU8sRUFBRSxLQUFLO0dBV2hCOzs7QXZDc05PLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFdUMxT3BDLEFBQUEsc0JBQXNCO0VBQ3RCLHNCQUFzQixDQUFDO0lBV2YsTUFBTSxFQUFFLFdBQVc7SUFFbkIsT0FBTyxFQUFFLFVBQVU7R0FNMUI7OztBdkNzTk8sTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0V1QzFPcEMsQUFBQSxzQkFBc0I7RUFDdEIsc0JBQXNCLENBQUM7SUFpQmYsTUFBTSxFQUFFLE1BQU07R0FFckI7OztBQzFCRCxBQUFBLFNBQVMsQ0FBQztFQUNOLFVBQVUsRUFBRSxrQkFBa0IsQ0FBQyxVQUFVO0VBQ3pDLE9BQU8sRUFBRSxRQUFRO0VBQ2pCLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLE9BQU8sRUFBRSxJQUFJO0NBQ2hCOztBQUdELEFBQUEsY0FBYyxDQUFBO0VBQUMsVUFBVSxFbER3Q0EsT0FBTyxDa0R4Q21CLFVBQVU7Q0FBSTs7QUNUakUsQUFHSSxhQUhTLENBR1QsV0FBVztBQUZmLHFCQUFxQixDQUVqQixXQUFXLENBQUM7RUFDUixVQUFVLEVBQUUsSUFBSTtDQUNuQjs7QUFMTCxBQVFJLGFBUlMsQ0FRVCxnQ0FBZ0M7QUFQcEMscUJBQXFCLENBT2pCLGdDQUFnQyxDQUFDO0VBQzdCLFNBQVMsRUFBRSxJQUFJO0NBQ2xCOztBQVZMLEFBWUksYUFaUyxDQVlULDBCQUEwQjtBQVg5QixxQkFBcUIsQ0FXakIsMEJBQTBCLENBQUM7RUFDdkIsYUFBYSxFQUFFLElBQUk7Q0FDdEI7O0FBZEwsQUFnQkksYUFoQlMsQ0FnQlQsZ0NBQWdDO0FBZnBDLHFCQUFxQixDQWVqQixnQ0FBZ0MsQ0FBQztFQUc3QixjQUFjLEVBQUUsSUFBSTtFQUNwQixXQUFXLEVBQUUsR0FBRztDQUNuQjs7QUFyQkwsQUF3QkksYUF4QlMsQ0F3QlQsaUNBQWlDO0FBdkJyQyxxQkFBcUIsQ0F1QmpCLGlDQUFpQyxDQUFDO0VBQzlCLGNBQWMsRUFBRSxHQUFHO0VBQ25CLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLFdBQVcsRUFBRSxHQUFHO0NBQ25COztBQTVCTCxBQThCSSxhQTlCUyxDQThCVCxpQ0FBaUM7QUE3QnJDLHFCQUFxQixDQTZCakIsaUNBQWlDLENBQUM7RUFDOUIsWUFBWSxFQUFFLElBQUk7RUFDbEIsV0FBVyxFQUFFLEdBQUcsQ0FBQyxLQUFLLENuRGtDVCxPQUFPO0VtRGpDcEIsYUFBYSxFQUFFLElBQUk7Q0FDdEI7O0FBbENMLEFBb0NJLGFBcENTLENBb0NULHFCQUFxQixDQUFDLEVBQUU7QUFuQzVCLHFCQUFxQixDQW1DakIscUJBQXFCLENBQUMsRUFBRSxDQUFDO0VBSXJCLE9BQU8sRUFBRSxnQkFBZ0I7RUFDekIsU0FBUyxFQUFFLElBQUk7Q0FTbEI7O0FBbERMLEFBMkNRLGFBM0NLLENBb0NULHFCQUFxQixDQUFDLEVBQUUsQUFPbkIsT0FBTztBQTFDaEIscUJBQXFCLENBbUNqQixxQkFBcUIsQ0FBQyxFQUFFLEFBT25CLE9BQU8sQ0FBQztFQUNMLE9BQU8sRUFBRSxFQUFFO0VBQ1gsT0FBTyxFQUFFLFlBQVk7RUFDckIsV0FBVyxFQUFFLE1BQU07RUFDbkIsS0FBSyxFQUFFLEtBQUs7Q0FDZjs7QUFoRFQsQUFxRFEsYUFyREssQ0FvRFQscUJBQXFCLENBQ2pCLEVBQUUsR0FBQyxDQUFDO0FBcERaLHFCQUFxQixDQW1EakIscUJBQXFCLENBQ2pCLEVBQUUsR0FBQyxDQUFDLENBQUM7RUFDRCxZQUFZLEVBQUUsSUFBSTtFQUNsQixhQUFhLEVBQUUsY0FBYztDQUNoQzs7QUF4RFQsQUFnRUksYUFoRVMsQ0FnRVQscUJBQXFCLENBQUMsRUFBRSxBQUFBLE9BQU87QUEvRG5DLHFCQUFxQixDQStEakIscUJBQXFCLENBQUMsRUFBRSxBQUFBLE9BQU8sQ0FBQztFQUM1QixXQUFXLEVBQUUsR0FBRztDQUNuQjs7QUFsRUwsQUFvRUksYUFwRVMsQ0FvRVQsd0JBQXdCO0FBbkU1QixxQkFBcUIsQ0FtRWpCLHdCQUF3QixDQUFDO0VBQ3JCLEtBQUssRUFBRSxHQUFHO0NBQ2I7O0FBdEVMLEFBeUVJLGFBekVTLENBeUVULGNBQWM7QUF4RWxCLHFCQUFxQixDQXdFakIsY0FBYyxDQUFDO0VBQ1gsZUFBZSxFQUFFLFdBQVc7Q0FDL0I7O0FBM0VMLEFBNkVJLGFBN0VTLENBNkVULFlBQVk7QUE1RWhCLHFCQUFxQixDQTRFakIsWUFBWSxDQUFDO0VBQ1QsZUFBZSxFQUFFLFdBQVc7Q0FDL0I7O0FBL0VMLEFBaUZJLGFBakZTLENBaUZULEVBQUUsR0FBQyxFQUFFLEFBQUEsY0FBYztBQWhGdkIscUJBQXFCLENBZ0ZqQixFQUFFLEdBQUMsRUFBRSxBQUFBLGNBQWMsQ0FBQztFQUNoQixVQUFVLEVBQUUsSUFBSTtDQUNuQjs7QUFuRkwsQUF3RkksYUF4RlMsQ0F3RlQsY0FBYztBQXZGbEIscUJBQXFCLENBdUZqQixjQUFjLENBQUM7RUFDWCxPQUFPLEVBQUUsa0JBQWtCO0VBQzNCLFVBQVUsRUFBRSxPQUFPO0VBQ25CLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLEtBQUssRUFBRSxPQUFPO0VBQ2QsYUFBYSxFQUFFLElBQUk7Q0FDdEI7O0FBOUZMLEFBZ0dJLGFBaEdTLENBZ0dULG9CQUFvQjtBQS9GeEIscUJBQXFCLENBK0ZqQixvQkFBb0IsQ0FBQztFQUNqQixXQUFXLEVBQUUsSUFBSTtFQUNqQixPQUFPLEVBQUUsSUFBSTtDQUNoQjs7QUFuR0wsQUFxR0ksYUFyR1MsQ0FxR1QsNEJBQTRCO0FBcEdoQyxxQkFBcUIsQ0FvR2pCLDRCQUE0QixDQUFDO0VBQ3pCLEtBQUssRUFBRSxPQUFPO0VBQ2QsV0FBVyxFQUFFLEdBQUc7RUFDaEIsT0FBTyxFQUFFLEtBQUs7RUFDZCxlQUFlLEVBQUUsSUFBSTtDQUV4Qjs7QUEzR0wsQUE2R0ksYUE3R1MsQ0E2R1QsY0FBYyxHQUFDLHVCQUF1QixBQUFBLE9BQU87QUE1R2pELHFCQUFxQixDQTRHakIsY0FBYyxHQUFDLHVCQUF1QixBQUFBLE9BQU8sQ0FBQztFQUUxQyxLQUFLLEVBQUUsT0FBTztDQUNqQjs7QUFoSEwsQUFrSEksYUFsSFMsQ0FrSFQsY0FBYyxDQUFBLEFBQUEsSUFBQyxBQUFBLElBQU0sdUJBQXVCLEFBQUEsT0FBTztBQWpIdkQscUJBQXFCLENBaUhqQixjQUFjLENBQUEsQUFBQSxJQUFDLEFBQUEsSUFBTSx1QkFBdUIsQUFBQSxPQUFPLENBQUM7RUFDaEQsT0FBTyxFQUFFLEtBQUs7RUFDZCxLQUFLLEVBQUUsQ0FBQztFQUNSLE1BQU0sRUFBRSxDQUFDO0VBQ1QsWUFBWSxFQUFFLEtBQUs7RUFDbkIsWUFBWSxFQUFFLE9BQU87RUFDckIsaUJBQWlCLEVBQUUsOEJBQThCO0VBQ2pELFNBQVMsRUFBRSw4QkFBOEI7RUFDekMsWUFBWSxFQUFFLGtCQUFrQjtFQUNoQyxnQkFBZ0IsRUFBRSxPQUFPO0VBQ3pCLEtBQUssRUFBRSxPQUFPO0NBQ2pCOztBQUlELE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFQWpJaEMsQUFrSVEsYUFsSUssQ0FrSUwscUJBQXFCO0VBakk3QixxQkFBcUIsQ0FpSWIscUJBQXFCLENBQUM7SUFDbEIsT0FBTyxFQUFFLElBQUk7R0FDaEI7OztBQXBJVCxBQXdJSSxhQXhJUyxDQXdJVCx1QkFBdUIsQUFBQSxNQUFNO0FBdklqQyxxQkFBcUIsQ0F1SWpCLHVCQUF1QixBQUFBLE1BQU0sQ0FBQztFQUMxQixPQUFPLEVBQUUscUJBQXFCO0VBQzlCLEtBQUssRUFBRSxPQUFPO0VBQ2QsZ0JBQWdCLEVBQUUsSUFBSTtFQUN0QixVQUFVLEVBQUUsMEJBQTBCO0VBQ3RDLGVBQWUsRUFBRSxJQUFJO0NBTXhCOztBQW5KTCxBQStJUSxhQS9JSyxDQXdJVCx1QkFBdUIsQUFBQSxNQUFNLENBT3pCLDRCQUE0QjtBQTlJcEMscUJBQXFCLENBdUlqQix1QkFBdUIsQUFBQSxNQUFNLENBT3pCLDRCQUE0QixDQUFDO0VBQ3pCLEtBQUssRUFBRSxPQUFPO0NBQ2pCOztBQWpKVCxBQXFKSSxhQXJKUyxDQXFKVCxjQUFjLENBQUEsQUFBQSxNQUFDLEFBQUEsSUFBUSx1QkFBdUIsQUFBQSxPQUFPO0FBcEp6RCxxQkFBcUIsQ0FvSmpCLGNBQWMsQ0FBQSxBQUFBLE1BQUMsQUFBQSxJQUFRLHVCQUF1QixBQUFBLE9BQU8sQ0FBQztFQUNsRCxLQUFLLEVuRHBJTyxPQUFPLENtRG9JTyxVQUFVO0NBQ3ZDOztBQXZKTCxBQWtISSxhQWxIUyxDQWtIVCxjQUFjLENBQUEsQUFBQSxJQUFDLEFBQUEsSUFBTSx1QkFBdUIsQUFBQSxPQUFPO0FBakh2RCxxQkFBcUIsQ0FpSGpCLGNBQWMsQ0FBQSxBQUFBLElBQUMsQUFBQSxJQUFNLHVCQUF1QixBQUFBLE9BQU8sQ0F1Q0M7RUFDaEQsS0FBSyxFbkR4SU8sT0FBTyxDbUR3SU8sVUFBVTtDQUN2Qzs7QUEzSkwsQUFpS0ksYUFqS1MsQ0FpS1QseUJBQXlCO0FBaEs3QixxQkFBcUIsQ0FnS2pCLHlCQUF5QixDQUFDO0VBQ3RCLFdBQVcsRUFBRSxLQUFLO0NBQ3JCOztBQ2xLTCxBQUFBLFNBQVMsQ0FBQztFQUNOLEtBQUssRUFBRSxJQUFJO0VBQ1gsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFcERlVyxPQUFPO0NvRGQxQjs7QUFFRCxBQUFBLFlBQVksQ0FBQztFQUNULFVBQVUsRUFBRSxHQUFHO0VBQ2YsV0FBVyxFQUFFLElBQUk7Q0FFcEI7O0FBRUQsQUFBQSxnQkFBZ0IsQ0FBQztFQUNiLE1BQU0sRUFBRSxRQUFRO0VBQ2hCLGNBQWMsRUFBRSxJQUFJO0VBQ3BCLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDcEQrQ1AsT0FBTztDb0R4QzNCOztBQVZELEFBS0ksZ0JBTFksQUFLWCxhQUFhLENBQUM7RUFDWCxhQUFhLEVBQUUsSUFBSTtFQUNuQixjQUFjLEVBQUUsR0FBRztFQUNuQixhQUFhLEVBQUUsR0FBRztDQUNyQjs7QUFHTCxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7RUF4QjNCLEFBQUEsU0FBUyxDQXlCSztJQUNOLE9BQU8sRUFBRSxJQUFJO0dBQ2hCO0VBckJMLEFBQUEsWUFBWSxDQXVCSztJQUNULFVBQVUsRUFBRSxHQUFHO0lBQ2YsV0FBVyxFQUFFLEdBQUc7SUFDaEIsVUFBVSxFQUFFLEdBQUc7R0FDbEI7OztBQ2xDTCxBQUFBLFVBQVUsQ0FBQztFQUNQLFVBQVUsRXJEa0JNLE9BQU87Q3FEVjFCOztBQVRELEFBR0ksVUFITSxDQUdOLG1CQUFtQjtBQUh2QixVQUFVLENBSU4sRUFBRTtBQUpOLFVBQVUsQ0FLTixDQUFDLEVBTEwsVUFBVSxDQUtILEtBQUssRUFMWixVQUFVLENBS0ksQ0FBQyxDQUFDO0VBQ1IsS0FBSyxFckRZTyxPQUFPLENxRFpPLFVBQVU7RUFDcEMsU0FBUyxFQUFFLElBQUk7Q0FDbEI7O0FBT0wsQUFBQSxtQkFBbUIsQUFBQSxNQUFNLEVBQUUsQ0FBQyxBQUFBLE1BQU0sQ0FBQztFQUMvQixPQUFPLEVBQUUscUJBQXFCO0VBQzlCLEtBQUssRXJERVcsT0FBTyxDcURGRyxVQUFVO0VBQ3BDLGdCQUFnQixFckRZQyxPQUFPO0VxRFh4QixVQUFVLEVBQUUsQ0FBQyxDQUFFLElBQUcsQ3JEV0QsT0FBTyxFcURYZ0IsQ0FBQyxDQUFDLEdBQUcsQ3JEQTdCLE9BQU87RXFEQ3ZCLGVBQWUsRUFBRSxJQUFJO0NBRXhCOztBQUVELEFBQUEsc0JBQXNCLENBQUM7RUFHbkIsT0FBTyxFQUFFLElBQUk7RUFDYixXQUFXLEVBQUUsT0FBTztFQUNwQixhQUFhO0VBQ2IsZUFBZSxFQUFFLFVBQVU7RUFDM0IsTUFBTSxFQUFFLENBQUM7RUFDVCxPQUFPLEVBQUUsQ0FBQztDQWNiOztBQXRCRCxBQVdJLHNCQVhrQixDQVdsQixFQUFFLENBQUM7RUFDQyxPQUFPLEVBQUUsS0FBSztFQUNkLElBQUksRUFBRSxRQUFRO0VBQ2QsYUFBYTtFQUNiLGVBQWUsRUFBRSxJQUFJO0VBQ3JCLE9BQU8sRUFBRSxpQkFBaUI7Q0FDN0I7O0EzQ3dNRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7RTJDek5uQyxBQUFBLHNCQUFzQixDQUFDO0lBb0JmLE9BQU8sRUFBRSxLQUNiO0dBQ0g7OztBQzdDRCxBQUFBLFdBQVcsQ0FBQztFQUVSLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLFlBQVksRUFBRSxHQUFHO0VBQ2pCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsTUFBTSxFQUFFLE9BQU87RUFDZixTQUFTLEVBQUUsSUFBSTtFQUNmLGFBQWEsRUFBRSxJQUFJO0NBOEd0Qjs7QUFySEQsQUFTSSxXQVRPLEFBU04sZ0JBQWdCLENBQUM7RUFDZCxPQUFPLEVBQUUsS0FBSztDQUNqQjs7QTVDcU9HLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFNENoUHBDLEFBQUEsV0FBVyxDQUFDO0lBY0osT0FBTyxFQUFFLEtBQUs7R0F1R3JCOzs7QUFySEQsQUFpQkksV0FqQk8sQ0FpQlAsV0FBVyxDQUFDO0VBQ1IsSUFBSSxFQUFFLENBQUM7RUFDUCxNQUFNLEVBQUUsZ0JBQWdCO0V6Q2E5QixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ2IrQkUsT0FBTztFYXhDMUIsYUFBYSxFQUFFLEdBQUc7RXlDRFosT0FBTyxFQUFFLElBQUk7RUFDYixjQUFjLEVBQUUsR0FBRztFQUNuQixnQkFBZ0IsRXREUEosT0FBTztFc0RRbkIsV0FBVyxFQUFFLENBQUM7RUFDZCxVQUFVLEVBQUUsR0FBRztDQWtGbEI7O0E1Q29JRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RTRDaFBwQyxBQWlCSSxXQWpCTyxDQWlCUCxXQUFXLENBQUM7SUFZSixhQUFhLEVBQUUsSUFBSTtHQStFMUI7OztBQTVHTCxBQWdDUSxXQWhDRyxDQWlCUCxXQUFXLEFBZU4sb0JBQW9CLENBQUE7RUFDakIsZ0JBQWdCLEV0RGtCRixPQUFPO0VzRGhCckIsS0FBSyxFdERqQkcsT0FBTztDc0RpQlk7O0FBbkN2QyxBQXFDWSxXQXJDRCxDQWlCUCxXQUFXLEFBb0JGLHlCQUF5QixDQUFBO0VBQ3RCLGdCQUFnQixFdERKWCxPQUFPO0VzRE1aLEtBQUssRXREdEJELE9BQU87Q3NEc0JnQjs7QUF4QzNDLEFBMENRLFdBMUNHLENBaUJQLFdBQVcsQ0F5QlAsQ0FBQyxBQUFBLEtBQUssRUExQ2QsV0FBVyxDQWlCUCxXQUFXLENBeUJDLG9CQUFvQixDQUFDO0VBQ3pCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsSUFBSSxFQUFFLE1BQU07RUFDWixPQUFPLEVBQUUsSUFBSTtFQUNiLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLE9BQU8sRUFBRSxXQUFXO0VBQ3BCLGNBQWMsRUFBRSxNQUFNO0VBQ3RCLGtCQUFrQixFQUFFLE1BQU07RUFDMUIsUUFBUSxFQUFFLENBQUM7RUFDWCxZQUFZLEVBQUUsQ0FBQztFQUNmLFdBQVcsRUFBRSxHQUFHO0VBRWhCLEtBQUssRXREcENHLE9BQU87Q3NEcURsQjs7QUF2RVQsQUF1RFksV0F2REQsQ0FpQlAsV0FBVyxDQXlCUCxDQUFDLEFBQUEsS0FBSyxBQWFELE1BQU0sRUF2RG5CLFdBQVcsQ0FpQlAsV0FBVyxDQXlCQyxvQkFBb0IsQUFhdkIsTUFBTSxDQUFDO0VBQ0osZUFBZSxFQUFFLElBQUk7RXpDakNuQyxhQUFhLEVBQUUsR0FBRztFeUNtQ0osWUFBWSxFQUFFLE9BQU87RUFDckIsVUFBVSxFQUFFLGlCQUFpQjtFQUM3QixLQUFLLEV0RDFDRCxPQUFPO0NzRDZDZDs7QUEvRGIsQUE2RE0sV0E3REssQ0FpQlAsV0FBVyxDQXlCUCxDQUFDLEFBQUEsS0FBSyxBQWFELE1BQU0sQ0FNYixFQUFFLEVBN0RSLFdBQVcsQ0FpQlAsV0FBVyxDQXlCUCxDQUFDLEFBQUEsS0FBSyxBQWFELE1BQU0sQ0FNVCxFQUFFLEVBN0RaLFdBQVcsQ0FpQlAsV0FBVyxDQXlCUCxDQUFDLEFBQUEsS0FBSyxBQWFELE1BQU0sQ0FNTCw0QkFBNEIsRUE3RDFDLFdBQVcsQ0FpQlAsV0FBVyxDQXlCQyxvQkFBb0IsQUFhdkIsTUFBTSxDQU1iLEVBQUUsRUE3RFIsV0FBVyxDQWlCUCxXQUFXLENBeUJDLG9CQUFvQixBQWF2QixNQUFNLENBTVQsRUFBRSxFQTdEWixXQUFXLENBaUJQLFdBQVcsQ0F5QkMsb0JBQW9CLEFBYXZCLE1BQU0sQ0FNTCw0QkFBNEIsQ0FBQTtFQUMxQixlQUFlLEVBQUUsU0FBUztDQUFFOztBQTlENUMsQUFtRVksV0FuRUQsQ0FpQlAsV0FBVyxDQXlCUCxDQUFDLEFBQUEsS0FBSyxDQXlCRixTQUFTLEVBbkVyQixXQUFXLENBaUJQLFdBQVcsQ0F5QkMsb0JBQW9CLENBeUJ4QixTQUFTLENBQUM7RUFDTixTQUFTLEVBQUUsSUFBSTtFQUNmLGFBQWEsRUFBRSxJQUFJO0NBQ3RCOztBQXRFYixBQXlFUSxXQXpFRyxDQWlCUCxXQUFXLENBd0RQLENBQUMsR0FBQyxLQUFLLENBQUM7RUFDSixPQUFPLEVBQUUsSUFBSTtFQUNiLFNBQVMsRUFBRSxJQUFJO0NBY2xCOztBQXpGVCxBQTZFWSxXQTdFRCxDQWlCUCxXQUFXLENBd0RQLENBQUMsR0FBQyxLQUFLLEFBSUYsTUFBTSxDQUFDO0VBQ0osZUFBZSxFQUFFLElBQUk7Q0FDeEI7O0FBL0ViLEFBaUZZLFdBakZELENBaUJQLFdBQVcsQ0F3RFAsQ0FBQyxHQUFDLEtBQUssQ0FRSCxJQUFJLENBQUM7RUFFRCxJQUFJLEVBQUUsQ0FBQztDQUNWOztBQXBGYixBQXNGWSxXQXRGRCxDQWlCUCxXQUFXLENBd0RQLENBQUMsR0FBQyxLQUFLLENBYUgsSUFBSSxBQUFBLFdBQVcsQ0FBQztFQUNaLFVBQVUsRUFBRSxLQUFLO0NBQ3BCOztBQXhGYixBQTJGUSxXQTNGRyxDQWlCUCxXQUFXLENBMEVQLENBQUMsQUFBQSxLQUFLLEdBQUUsV0FBVyxDQUFDO0VBQ2hCLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLFdBQVcsRUFBRSxPQUFPO0NBQ3ZCOztBQTlGVCxBQWdHUSxXQWhHRyxDQWlCUCxXQUFXLENBK0VQLENBQUMsQUFBQSxLQUFLLEFBQUEsU0FBUyxHQUFFLFdBQVcsQ0FBQztFQUN6QixVQUFVLEVBQUUsR0FBRztFQUNmLFdBQVcsRUFBRSxPQUFPO0NBQ3ZCOztBQW5HVCxBQXFHUSxXQXJHRyxDQWlCUCxXQUFXLENBb0ZQLENBQUMsQUFBQSxNQUFNLENBQUM7RUFDSixVQUFVLEVBQUUsSUFBSTtFQUNoQixhQUFhLEVBQUUsR0FBRztDQUNyQjs7QUF4R1QsQUE4R0ksV0E5R08sQ0E4R1AsV0FBVyxBQUFBLFNBQVMsQ0FBQztFQUNqQixJQUFJLEVBQUUsQ0FBQztDQUtWOztBQXBITCxBQWlIUSxXQWpIRyxDQThHUCxXQUFXLEFBQUEsU0FBUyxDQUdoQixDQUFDLEFBQUEsS0FBSyxHQUFDLFdBQVcsQ0FBQztFQUNmLFNBQVMsRUFBRSxJQUFJO0NBQ2xCOztBQUlULEFBQUEsd0JBQXdCLENBQUE7RUFBQyxTQUFTLEVBQUUsQ0FBQztDQUFHOztBQ3hIeEMsQUFBQSxTQUFTLENBQUM7RTFDd0JSLGFBQWEsRUFBRSxHQUFHO0MwQ3RCbkI7O0FBRUQsQUFBQSxVQUFVLENBQUM7RUFDUCxTQUFTLEVBQUUsSUFBSTtDQUNsQjs7QUFFRCxBQUFBLG1CQUFtQixDQUFDO0VBQ2hCLFNBQVMsRUFBRSxJQUFJO0NBQ2xCOztBQUVELEFBQUEsWUFBWSxDQUFDO0VBQ1QsS0FBSyxFQUFFLEtBQUs7RUFDWixVQUFVLEVBQUUsS0FBSztDQUNwQjs7QUFFRCxBQUFBLGdCQUFnQixDQUFDO0VBQ2IsS0FBSyxFdkRXUyxPQUFPO0V1RFZyQixXQUFXLEVBQUUsR0FBRztFQUNoQixTQUFTLEVBQUUsSUFBSTtFQUNmLGFBQWEsRUFBRSxHQUFHO0NBQ3JCOztBQUVELEFBQUEsbUJBQW1CLENBQUM7RUFDaEIsT0FBTyxFQUFFLElBQUk7RUFDYixlQUFlLEVBQUUsYUFBYTtDQVVqQzs7QUFaRCxBQUlJLG1CQUplLENBSWYseUJBQXlCLENBQUM7RUFDdEIsV0FBVyxFQUFFLFVBQVU7Q0FDMUI7O0FBTkwsQUFRSSxtQkFSZSxDQVFmLDBCQUEwQixDQUFDO0VBQ3ZCLFdBQVcsRUFBRSxRQUFRO0NBQ3hCOztBQUtMLEFBQUEsZ0JBQWdCLENBQUM7RUFDYixPQUFPLEVBQUUsWUFBWTtFQUNyQixRQUFRLEVBQUUsUUFBUTtFQUNsQixVQUFVLEVBQUUsR0FBRztFQUNmLGFBQWEsRUFBRSxJQUFJO0VBQ25CLGFBQWEsRUFBRSxJQUFJO0VBQ25CLGVBQWUsRUFBRSxJQUFJO0VBQ3JCLEtBQUssRXZEM0JXLE9BQU8sQ3VEMkJHLFVBQVU7RUFDcEMsV0FBVyxFQUFFLEdBQUc7Q0F3Qm5COztBQWhDRCxBQVVJLGdCQVZZLEFBVVgsT0FBTyxDQUFDO0VBQ0wsT0FBTyxFQUFFLEtBQUs7RUFDZCxLQUFLLEVBQUUsQ0FBQztFQUNSLE1BQU0sRUFBRSxDQUFDO0VBQ1QsWUFBWSxFQUFFLEtBQUs7RUFDbkIsWUFBWSxFQUFFLFdBQVc7RUFDekIsaUJBQWlCLEVBQUUsK0JBQStCO0VBQ2xELFNBQVMsRUFBRSwrQkFBK0I7RUFDMUMsWUFBWSxFQUFFLGVBQWU7RUFDN0IsaUJBQWlCLEVBQUUsT0FBTztFQUMxQixPQUFPLEVBQUUsRUFBRTtFQUNYLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxDQUFDO0VBQ04sTUFBTSxFQUFFLENBQUM7RUFDVCxLQUFLLEVBQUUsQ0FBQztFQUNSLE1BQU0sRUFBRSxJQUFJO0NBQ2Y7O0FBMUJMLEFBNEJJLGdCQTVCWSxBQTRCWCxNQUFNLENBQUE7RUFDSCxlQUFlLEVBQUUsZUFBZTtDQUNuQzs7QUFJTCxBQUFBLHdCQUF3QixDQUFBO0VBQUMsV0FBVyxFQUFFLEdBQUc7Q0FBRzs7QUN6RTVDLEFBQUEsdUJBQXVCLENBQUM7RUFDcEIsYUFBYSxFQUFFLENBQUM7RUFDaEIsS0FBSyxFQUFFLElBQUk7Q0EwRWQ7O0FBNUVELEFBSUksdUJBSm1CLENBSW5CLEtBQUssQ0FBQztFQUNGLE1BQU0sRUFBRSxDQUFDO0VBQ1QsSUFBSSxFQUFFLGFBQWE7RUFDbkIsaUJBQWlCLEVBQUUsVUFBVTtFQUM3QixTQUFTLEVBQUUsVUFBVTtFQUNyQixNQUFNLEVBQUUsR0FBRztFQUNYLE1BQU0sRUFBRSxDQUFDO0VBQ1QsUUFBUSxFQUFFLE1BQU07RUFDaEIsT0FBTyxFQUFFLENBQUM7RUFDVixRQUFRLEVBQUUsUUFBUTtFQUNsQixXQUFXLEVBQUUsTUFBTTtFQUNuQixLQUFLLEVBQUUsR0FBRztDQVliOztBOUNzTkcsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJO0U4Q2pQL0IsQUFJSSx1QkFKbUIsQ0FJbkIsS0FBSyxDQUFDO0lBY0UsSUFBSSxFQUFFLElBQUk7SUFDVixpQkFBaUIsRUFBRSxJQUFJO0lBQ3ZCLFNBQVMsRUFBRSxJQUFJO0lBQ2YsT0FBTyxFQUFFLGtCQUFrQjtJQUMzQixNQUFNLEVBQUUsSUFBSTtJQUNaLFFBQVEsRUFBRSxJQUFJO0lBQ2QsUUFBUSxFQUFFLFFBQVE7SUFDbEIsS0FBSyxFQUFFLElBQUk7R0FFbEI7OztBQTNCTCxBQThCUSx1QkE5QmUsQ0E2Qm5CLEtBQUssQ0FDRCxFQUFFLENBQUM7RUFDQyxPQUFPLEVBQUUsS0FBSztFQUNkLGFBQWEsRUFBRSxLQUFLO0NBMEN2Qjs7QUExRVQsQUFrQ1ksdUJBbENXLENBNkJuQixLQUFLLENBQ0QsRUFBRSxBQUlHLFdBQVcsQ0FBQztFQUNULGFBQWEsRUFBRSxDQUFDO0NBQ25COztBOUM2TUwsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0U4Q2pQcEMsQUE4QlEsdUJBOUJlLENBNkJuQixLQUFLLENBQ0QsRUFBRSxDQUFDO0lBU0ssT0FBTyxFQUFFLE9BQU87R0FtQ3ZCOzs7QTlDdUtELE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSTtFOENqUC9CLEFBOEJRLHVCQTlCZSxDQTZCbkIsS0FBSyxDQUNELEVBQUUsQ0FBQztJQWFLLE9BQU8sRUFBRSxTQUFTO0dBK0J6Qjs7O0FBMUVULEFBOENZLHVCQTlDVyxDQTZCbkIsS0FBSyxDQUNELEVBQUUsQ0FnQkUsRUFBRSxDQUFDO0VBQ0MsVUFBVSxFQUFFLEtBQUs7Q0FLcEI7O0E5QzZMTCxNQUFNLEVBQUUsU0FBUyxFQUFFLElBQUk7RThDalAvQixBQThDWSx1QkE5Q1csQ0E2Qm5CLEtBQUssQ0FDRCxFQUFFLENBZ0JFLEVBQUUsQ0FBQztJQUlLLFVBQVUsRUFBRSxJQUFJO0dBRXZCOzs7QUFwRGIsQUFzRFksdUJBdERXLENBNkJuQixLQUFLLENBQ0QsRUFBRSxDQXdCRSxFQUFFLENBQUM7RUFDQyxPQUFPLEVBQUUsS0FBSztFQUNkLE9BQU8sRUFBRSxJQUFJO0VBQ2IsZUFBZSxFQUFFLGFBQWE7RUFDOUIsU0FBUyxFQUFFLEdBQUc7RUFDZCxVQUFVLEVBQUUsS0FBSztDQWNwQjs7QTlDd0tMLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSTtFOENqUC9CLEFBc0RZLHVCQXREVyxDQTZCbkIsS0FBSyxDQUNELEVBQUUsQ0F3QkUsRUFBRSxDQUFDO0lBUUssT0FBTyxFQUFFLFVBQVU7SUFDbkIsVUFBVSxFQUFFLElBQUk7R0FVdkI7OztBOUN3S0wsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0U4Q2pQcEMsQUFzRFksdUJBdERXLENBNkJuQixLQUFLLENBQ0QsRUFBRSxDQXdCRSxFQUFFLENBQUM7SUFhSyxhQUFhLEVBQUUsQ0FBQztHQU12QjtFQXpFYixBQXFFb0IsdUJBckVHLENBNkJuQixLQUFLLENBQ0QsRUFBRSxDQXdCRSxFQUFFLEFBZU8sV0FBVyxDQUFDO0lBQ1QsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEN4REozQixPQUFPO0d3REtQOzs7QUFPckIsQUFBQSxnQ0FBZ0MsQ0FBQztFQUM3QixXQUFXLEVBQUUsR0FBRztFQUNoQixhQUFhLEVBQUUsR0FBRztFQUNsQixVQUFVLEVBQUUsSUFBSTtFQUNoQixVQUFVLEVBQUUsT0FBTztDQUt0Qjs7QTlDMEpPLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSTtFOENuSy9CLEFBQUEsZ0NBQWdDLENBQUM7SUFPekIsT0FBTyxFQUFFLElBQUk7R0FFcEI7OztBOUMwSk8sTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0U4Q3hKcEMsQUFBQSwwQ0FBMEMsQ0FBQztJQUVuQyxVQUFVLEVBQUUsU0FBUztHQUU1Qjs7O0E5Q29KTyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RThDbEpwQyxBQUFBLDJDQUEyQyxDQUFDO0lBRXBDLFVBQVUsRUFBRSxTQUFTO0dBRTVCOzs7QTlDOElPLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFOEM1SXBDLEFBQUEsK0JBQStCLENBQUM7SUFFeEIsVUFBVSxFQUFFLEtBQUs7R0FFeEI7OztBQUVELEFBQUEsV0FBVyxDQUFDO0VBQ1IsYUFBYSxFQUFFLGlCQUFpQjtFQUNoQyxPQUFPLEVBQUUsSUFBSTtFQUNiLFNBQVMsRUFBRSxJQUFJO0VBQ2YsV0FBVyxFQUFFLEdBQUc7RUFDaEIsZUFBZSxFQUFFLGFBQWE7RUFDOUIsT0FBTyxFQUFFLGVBQWU7Q0FDM0I7O0FBUUQsQUFBQSxnQ0FBZ0MsQ0FBQztFQUM3QixLQUFLLEVBQUUsSUFBSTtDQXlFWjs7QUExRUgsQUFHSSxnQ0FINEIsQ0FHNUIsS0FBSyxDQUFDO0VBQ0osTUFBTSxFQUFFLENBQUM7RUFDVCxJQUFJLEVBQUUsYUFBYTtFQUNuQixpQkFBaUIsRUFBRSxVQUFVO0VBQzdCLFNBQVMsRUFBRSxVQUFVO0VBQ3JCLE1BQU0sRUFBRSxHQUFHO0VBQ1gsTUFBTSxFQUFFLENBQUM7RUFDVCxRQUFRLEVBQUUsTUFBTTtFQUNoQixPQUFPLEVBQUUsQ0FBQztFQUNWLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLFdBQVcsRUFBRSxNQUFNO0VBQ25CLEtBQUssRUFBRSxHQUFHO0NBWVg7O0E5QzZGRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RThDdkhwQyxBQUdJLGdDQUg0QixDQUc1QixLQUFLLENBQUM7SUFjRixJQUFJLEVBQUUsSUFBSTtJQUNWLGlCQUFpQixFQUFFLElBQUk7SUFDdkIsU0FBUyxFQUFFLElBQUk7SUFDZixPQUFPLEVBQUUsa0JBQWtCO0lBQzNCLE1BQU0sRUFBRSxJQUFJO0lBQ1osUUFBUSxFQUFFLElBQUk7SUFDZCxRQUFRLEVBQUUsUUFBUTtJQUNsQixLQUFLLEVBQUUsSUFBSTtHQUVkOzs7QUExQkwsQUE2Qk0sZ0NBN0IwQixDQTRCNUIsS0FBSyxDQUNILEVBQUUsQ0FBQztFQUNELE9BQU8sRUFBRSxLQUFLO0VBQ2QsYUFBYSxFQUFFLEtBQUs7Q0F5Q3JCOztBQXhFUCxBQWlDUSxnQ0FqQ3dCLENBNEI1QixLQUFLLENBQ0gsRUFBRSxBQUlDLFdBQVcsQ0FBQztFQUNYLGFBQWEsRUFBRSxDQUFDO0NBQ2pCOztBOUNvRkQsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0U4Q3ZIcEMsQUE2Qk0sZ0NBN0IwQixDQTRCNUIsS0FBSyxDQUNILEVBQUUsQ0FBQztJQVNDLGdCQUFnQixFeEQ5SU4sT0FBTztJd0QrSWpCLFVBQVUsRUFBRSxpQkFBaUI7SUFDN0IsT0FBTyxFQUFFLE9BQU87R0FnQ25COzs7QTlDK0NDLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSTtFOEN2SC9CLEFBNkJNLGdDQTdCMEIsQ0E0QjVCLEtBQUssQ0FDSCxFQUFFLENBQUM7SUFlQyxPQUFPLEVBQUUsU0FBUztHQTRCckI7OztBQXhFUCxBQStDUSxnQ0EvQ3dCLENBNEI1QixLQUFLLENBQ0gsRUFBRSxDQWtCQSxFQUFFLENBQUM7RUFDRCxVQUFVLEVBQUUsS0FBSztDQUtsQjs7QTlDa0VELE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFOEN2SHBDLEFBK0NRLGdDQS9Dd0IsQ0E0QjVCLEtBQUssQ0FDSCxFQUFFLENBa0JBLEVBQUUsQ0FBQztJQUlDLFVBQVUsRUFBRSxJQUFJO0dBRW5COzs7QUFyRFQsQUF1RFEsZ0NBdkR3QixDQTRCNUIsS0FBSyxDQUNILEVBQUUsQ0EwQkEsRUFBRSxDQUFDO0VBQ0QsT0FBTyxFQUFFLEtBQUs7RUFDZCxTQUFTLEVBQUUsR0FBRztFQUNkLFVBQVUsRUFBRSxLQUFLO0NBYWxCOztBOUNnREQsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0U4Q3ZIcEMsQUF1RFEsZ0NBdkR3QixDQTRCNUIsS0FBSyxDQUNILEVBQUUsQ0EwQkEsRUFBRSxDQUFDO0lBTUMsT0FBTyxFQUFFLFVBQVU7SUFDbkIsVUFBVSxFQUFFLElBQUk7R0FTbkI7OztBOUNnREQsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0U4Q3ZIcEMsQUF1RFEsZ0NBdkR3QixDQTRCNUIsS0FBSyxDQUNILEVBQUUsQ0EwQkEsRUFBRSxDQUFDO0lBV0MsYUFBYSxFQUFFLENBQUM7R0FLbkI7RUF2RVQsQUFtRVksZ0NBbkVvQixDQTRCNUIsS0FBSyxDQUNILEVBQUUsQ0EwQkEsRUFBRSxBQVlHLFdBQVcsQ0FBQztJQUNYLGFBQWEsRUFBRSxJQUFJO0dBQ3BCOzs7QTlDa0RMLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFOEMzQ2xDLEFBQUEsNkJBQTZCLENBQUM7SUFFMUIsT0FBTyxFQUFFLElBQUk7SUFDYixlQUFlLEVBQUUsYUFBYTtHQUVqQzs7O0FBN0hILEFBQUEsZ0NBQWdDLENBK0hHO0VBQy9CLE9BQU8sRUFBRSxLQUFLO0VBQ2QsV0FBVyxFQUFFLEdBQUc7RUFDaEIsYUFBYSxFQUFFLEdBQUc7RUFDbEIsVUFBVSxFQUFFLElBQUk7Q0FLakI7O0E5QzJCSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RThDbktwQyxBQUFBLGdDQUFnQyxDQStIRztJQU83QixPQUFPLEVBQUUsSUFBSTtHQUVoQjs7O0E5QzJCSyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RThDNUlwQyxBQUFBLCtCQUErQixDQW1IRztJQUU1QixVQUFVLEVBQUUsS0FBSztHQUVwQjs7O0FBakhILEFBQUEsV0FBVyxDQW1IRztFQUNWLGFBQWEsRUFBRSxpQkFBaUI7RUFDaEMsT0FBTyxFQUFFLElBQUk7RUFDYixTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLGVBQWUsRUFBRSxhQUFhO0VBQzlCLE9BQU8sRUFBRSxPQUFPO0NBQ2pCOztBN0R6TkgsQUFBQSxDQUFDLENBQUMsR0FBRyxDQUFDO0VBQ0YsU0FBUyxFQUFFLGVBQWU7Q0FDN0I7O0FBRUQsQUFBQSxnQkFBZ0IsQ0FBQztFQUNiLFNBQVMsRUFBRSxHQUNmO0NBQUM7O0FBSUQsQUFDSSxjQURVLENBQ1YsQ0FBQyxDQUFDO0VBQ0UsS0FBSyxFQUFFLGtCQUFrQjtFQUN6QixXQUFXLEVBQUUsR0FBRztDQUNuQjs7QUFHTCxBQUFBLGVBQWUsQ0FBQztFQUtaLE9BQU8sRUFBRSxtQkFBbUI7RUFDNUIsZ0JBQWdCLEVLTEMsT0FBTztFTE14QixPQUFPLEVBQUUsS0FBSztFQUNkLGFBQWEsRUFBRSxJQUFJO0NBQ3RCOztBQVRELEFBQ0ksZUFEVyxDQUNYLENBQUMsQ0FBQztFQUNFLGFBQWEsRUFBRSxHQUNuQjtDQUFDOztBQVdMLEFBQUEsTUFBTSxHQUFDLEVBQUUsQ0FBQztFQUNOLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLFlBQVksRUFBRSxHQUFHO0NBS3BCOztBQVBELEFBSUksTUFKRSxHQUFDLEVBQUUsQ0FJTCxFQUFFLENBQUM7RUFDQyxhQUFhLEVBQUUsR0FBRztDQUNyQjs7QUFHTCxBQUFBLEtBQUssR0FBQyxLQUFLLENBQUM7RUFDUixVQUFVLEVBQUUsTUFBTTtDQUNyQjs7QUFFd0IsU0FBQyxFQUFmLE9BQU8sRUFBRSxJQUFJO0VBYnhCLEFBQUEsTUFBTSxHQUFDLEVBQUUsQ0FjSztJQUNOLE9BQU8sRUFBRSxJQUFJO0lBQ2IscUJBQXFCLEVBQUUsSUFBSTtJQUMzQixlQUFlLEVBQUUsSUFBSTtJQUNyQixZQUFZLEVBQUUsTUFBTTtHQUN2QjtFZW1MRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7SWZ0TXBDLEFBQUEsTUFBTSxHQUFDLEVBQUUsQ0F1QlM7TUFDTixPQUFPLEVBQUUsSUFBSTtNQUNiLHFCQUFxQixFQUFFLFNBQVM7TUFDaEMsZUFBZSxFQUFFLE1BQU07TUFDdkIsWUFBWSxFQUFFLE1BQU07S0FDdkI7SUFFRCxBQUFBLE1BQU0sR0FBQyxFQUFFLEFBQUEsU0FBUyxDQUFDO01BQ2YsT0FBTyxFQUFFLElBQUk7TUFDYixxQkFBcUIsRUFBRSxtQkFBbUI7TUFDMUMsZUFBZSxFQUFFLE1BQU07TUFDdkIsWUFBWSxFQUFFLE1BQU07S0FDdkI7O0VBMUJULEFBQUEsS0FBSyxHQUFDLEtBQUssQ0E4Qks7SUFDUixVQUFVLEVBQUUsQ0FBQztHQUNoQjs7O0FBR0wsQUFBQSxLQUFLLENBQUM7RWtCdERKLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDYitCRSxPQUFPO0VheEMxQixhQUFhLEVBQUUsR0FBRztFbEJrRWhCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsY0FBYyxFQUFFLE1BQU07RUFDdEIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsZ0JBQWdCLEVLM0VBLE9BQU87Q0w0RTFCOztBQUVELEFBQUEsS0FBSyxDQUFDLEtBQUssQ0FBQztFQUNSLE9BQU8sRUFBRSxPQUFPO0VBQ2hCLElBQUksRUFBRSxRQUFRO0VBQ2QsT0FBTyxFQUFFLElBQUk7RUFDYixjQUFjLEVBQUUsTUFBTTtDQUN6Qjs7QUFJRCxBQUFBLEtBQUssQ0FBQyxDQUFDLENBQUM7RUFDSixTQUFTLEVBQUUsSUFBSTtFQUNmLEtBQUssRUt4RlcsT0FBTztDTHlGMUI7O0FBSUQsQUFBQSxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztFQUNYLEtBQUssRUFBRSxJQUFJO0VBQ1gsVUFBVSxFQUFFLEtBQUs7Q0FDcEI7O0FBRUQsQUFBQSxLQUFLLENBQUMsQ0FBQyxDQUFDO0VBQ0osZUFBZSxFQUFFLElBQUk7Q0FDeEI7O0FBRUQsQUFBQSxLQUFLLENBQUMsQ0FBQyxBQUFBLE9BQU8sQ0FBQztFQUNYLE9BQU8sRUFBRSxFQUFFO0VBQ1gsUUFBUSxFQUFFLFFBQVE7RUFDbEIsSUFBSSxFQUFFLENBQUM7RUFDUCxHQUFHLEVBQUUsQ0FBQztFQUNOLEtBQUssRUFBRSxDQUFDO0VBQ1IsTUFBTSxFQUFFLENBQUM7Q0FDWjs7QUFFRCxBQUFBLEtBQUssQ0FBQyxDQUFDLEFBQUEsTUFBTSxDQUFDO0VBQ1YsT0FBTyxFQUFFLElBQUk7RUFDYixlQUFlLEVBQUUsU0FBUztFQUMxQixVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDS3ZHSixPQUFPO0VhTjFCLGFBQWEsRUFBRSxHQUFHO0NsQitHbkI7O0FBRUQsQUFBQSxLQUFLLEFBQUEsYUFBYTtBQUNsQixLQUFLLEFBQUEsTUFBTSxDQUFDO0VBQ1IsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0s3R0osT0FBTztDTDhHM0I7O0FBRUQsQUFBQSxLQUFLLEFBQUEsYUFBYSxDQUFDLENBQUMsQUFBQSxNQUFNLENBQUM7RUFDdkIsZUFBZSxFQUFFLElBQUk7Q0FDeEI7O0FBRUQsQUFBQSxLQUFLLENBQUMsS0FBSyxDQUFDO0VBQ1IsT0FBTyxFQUFFLEtBQUs7Q0FDakI7O0FBRUQsQUFBQSxLQUFLLENBQUMsS0FBSyxHQUFDLENBQUMsR0FBQyxDQUFDLENBQUM7RUFDWixVQUFVLEVBQUUsT0FBTztDQUN0Qjs7QUFFRCxBQUFBLEtBQUssQ0FBQyxLQUFLLEdBQUUsV0FBVyxDQUFDO0VBQ3JCLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLFdBQVcsRUFBRSxPQUFPO0NBQ3ZCOztBQUVELEFBQUEsZ0JBQWdCLENBQUM7RUFDYixnQkFBZ0IsRUFBRSxzQ0FBc0M7RUFDeEQsaUJBQWlCLEVBQUUsTUFBTTtDQUU1Qjs7QUFFRCxBQUFBLGtCQUFrQixDQUFDO0VBQ2YsVUFBVSxFQUFFLE9BQU87RUFDbkIsK0JBQStCO0VBQy9CLFVBQVUsRUFBRSxtREFBbUQ7RUFDL0QsZ0NBQWdDO0VBQ2hDLFVBQVUsRUFBRSwyQ0FBMkM7RUFDdkQsc0VBQXNFO0NBRXpFOztBQUVELEFBQ0ksdUJBRG1CLENBQ25CLEdBQUcsQ0FBQztFQUNBLFNBQVMsRUFBRSxJQUFJO0VhekVmLGFBQTBCLEVOeEN4QixJQUFJO0NQbUhUOztBZThERyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWZsRXBDLEFBQ0ksdUJBRG1CLENBQ25CLEdBQUcsQ0FBQztJYWpFRSxhQUEwQixFTjlDeEIsSUFBSTtHUGtIWDs7O0FBSkwsQUFNSSx1QkFObUIsQUFNbEIsVUFBVyxDQUFBLElBQUksRUFBRTtFQUNkLFVBQVUsRUtsSEcsT0FBTztDTDRIdkI7O0FBakJMLEFBU1EsdUJBVGUsQUFNbEIsVUFBVyxDQUFBLElBQUksRUFHWix1QkFBdUIsQ0FBQztFQUNwQixLQUFLLEVBQUUsS0FBSztDQU1mOztBQWhCVCxBQVlZLHVCQVpXLEFBTWxCLFVBQVcsQ0FBQSxJQUFJLEVBR1osdUJBQXVCLENBR25CLEdBQUcsQ0FBQztFQUNBLEtBQUssRUFBRSxLQUFLO0NBQ2Y7O0Flb0RMLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFZjlDcEMsQUFFUSxvQkFGWSxDQUVaLEdBQUcsQ0FBQztJQUNBLFNBQVMsRUFBRSxHQUFHO0dBQ2pCO0VBSlQsQUFNUSxvQkFOWSxBQU1YLFVBQVcsQ0FBQSxJQUFJLEVBQUU7SUFDZCxVQUFVLEVLdElELE9BQU87R0wrSW5CO0VBaEJULEFBU1ksb0JBVFEsQUFNWCxVQUFXLENBQUEsSUFBSSxFQUdaLHVCQUF1QixDQUFDO0lBQ3BCLEtBQUssRUFBRSxLQUFLO0dBS2Y7RUFmYixBQVlnQixvQkFaSSxBQU1YLFVBQVcsQ0FBQSxJQUFJLEVBR1osdUJBQXVCLENBR25CLEdBQUcsQ0FBQztJQUNBLEtBQUssRUFBRSxLQUFLO0dBQ2Y7OztBZWdDVCxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWZ6QnBDLEFBQUEsb0JBQW9CLENBQUM7SUFFYixPQUFPLEVBQUUsSUFBSTtHQUVwQjs7O0FlcUJPLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFZm5CcEMsQUFBQSxvQkFBb0IsQ0FBQztJQUViLE9BQU8sRUFBRSxJQUFJO0dBRXBCOzs7QUFFRCxBQUFBLEdBQUcsQ0FBQztFQUNBLFdBQVcsRUFBRSxJQUFJO0NBS3BCOztBQU5ELEFBR0ksR0FIRCxDQUdDLENBQUMsQ0FBQztFQUNFLGVBQWUsRUFBRSxTQUFTO0NBQzdCOztBQUdMLEFBRUksbUJBRmUsQ0FFZixDQUFDO0FBRkwsbUJBQW1CLENBR2YsRUFBRTtBQUhOLG1CQUFtQixDQUlmLEVBQUUsQ0FBQyxFQUFFLENBQUM7RUFDRixTQUFTLEVBQUUsZUFBZTtDQUM3Qjs7QUFvQkwsQUFBQSxNQUFNLENBQUM7RUFDSCxVQUFVLEVBQUUsSUFBSTtFQUNoQixVQUFVLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUN6QixHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQ2pCLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDSzNNRSxPQUFPO0NMNk0zQjs7QUFNRCxBQUFBLHFCQUFxQjtBQUNyQixxQkFBcUIsQ0FBQztFQUNsQixPQUFPLEVBQUUsSUFBSTtFQUNiLGNBQWMsRUFBRSxHQUFHO0VBQ25CLFNBQVMsRUFBRSxJQUFJO0VBQ2YsS0FBSyxFQUFFLElBQ1g7Q0FBQzs7QUFFRCxBQUFBLGNBQWM7QUFDZCxjQUFjO0FBQ2QsZUFBZTtBQUNmLGVBQWUsQ0FBQztFQUNaLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLFVBQVUsRUFBRSxVQUFVO0VBQ3RCLEtBQUssRUFBRSxJQUFJO0VBQ1gsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLE9BQ2I7Q0FBQzs7QUFFRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0VBWHBDLEFBQUEsY0FBYztFQUNkLGNBQWM7RUFDZCxlQUFlO0VBQ2YsZUFBZSxDQWFLO0lBQ1osT0FBTyxFQUFFLGtDQUFrQztHQUM5QztFQUVELEFBQUEsZUFBZTtFQUNmLGVBQWUsQ0FBQztJQUNaLE9BQU8sRUFBRSxtQ0FDYjtHQUFDOzs7QUFHTCxBQUFBLGVBQWUsQ0FBQztFQUNaLE9BQU8sRUFBRSxxQkFDYjtDQUFDOztBQUVELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07RUFKcEMsQUFBQSxlQUFlLENBS0s7SUFDWixPQUFPLEVBQUUsUUFDYjtHQUFDOzs7QUFHTCxBQUFBLGNBQWMsQ0FBQztFQUNYLFVBQVUsRUFBRSxXQUFXO0VBQ3ZCLE9BQU8sRUFBRSxDQUFDO0VBQ1YsT0FBTyxFQUFFLHFCQUNiO0NBQUM7O0FBRUQsQUFBQSxlQUFlLENBQUMsY0FBYyxDQUFDO0VBQzNCLEtBQUssRUFBRSxJQUNYO0NBQUM7O0FBRUQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtFQVZwQyxBQUFBLGNBQWMsQ0FXSztJQUNYLE9BQU8sRUFBRSxtQ0FBbUM7SUFDNUMsS0FBSyxFQUFFLEtBQ1g7R0FBQztFQUVELEFBQUEsV0FBVyxDQUFDLGNBQWMsQ0FBQztJQUN2QixVQUFVLEVBQUUsT0FDaEI7R0FBQztFQUVELEFBQUEsc0JBQXNCLENBQUMsY0FBYyxDQUFDO0lBQ2xDLGNBQWMsRUFBRSxRQUNwQjtHQUFDOzs7QUFoQ0wsQUFBQSxlQUFlLENBbUNDO0VBQ1osS0FBSyxFQUFFLElBQUk7RUFDWCxVQUFVLEVBQUUsT0FBTztFQUNuQixPQUFPLEVBQUUsQ0FDYjtDQUFDOztBQUVELEFBQUEsZUFBZSxDQUFDLENBQUMsQ0FBQztFQUNkLEtBQUssRUFBRSxJQUNYO0NBQUM7O0FBRUQsQUFBQSxlQUFlLENBQUMsQ0FBQyxBQUFBLE1BQU07QUFDdkIsZUFBZSxDQUFDLENBQUMsQUFBQSxNQUFNLENBQUM7RUFDcEIsS0FBSyxFQUFFLE9BQ1g7Q0FBQzs7QUFFRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0VBbERwQyxBQUFBLGVBQWUsQ0FtREs7SUFDWixXQUFXLEVBQUUsT0FBTztJQUNwQixpQkFBaUIsRUFBRSw2Q0FBNkM7SUFDaEUsU0FBUyxFQUFFLDZDQUE2QztJQUN4RCxLQUFLLEVBQUUsR0FDWDtHQUFDOzs7QUFHTCxBQUFBLHNCQUFzQixDQUFDLGVBQWUsQ0FBQztFQUNuQyxjQUFjLEVBQUUsT0FDcEI7Q0FBQzs7QUFFRCxBQUFBLGNBQWMsQ0FBQztFQUNYLFVBQVUsRUtsV00sT0FBTztDTG1XMUI7O0FBRUQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtFQUpwQyxBQUFBLGNBQWMsQ0FLSztJQUNYLEtBQUssRUFBRSxHQUNYO0dBQUM7RUFFRCxBQUNJLGdCQURZLENBQ1osY0FBYyxDQUFDO0lBQ1gsS0FBSyxFQUFFLEdBQ1g7R0FBQzs7O0FBSVQsQUFBQSxlQUFlLENBQUM7RUFDWixVQUFVLEVLbFhNLE9BQU87Q0xtWDFCOztBQUVELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07RUFKcEMsQUFBQSxlQUFlLENBS0s7SUFDWixLQUFLLEVBQUUsR0FBRztHQU1iO0VBUEQsQUFHSSxlQUhXLENBR1gsc0JBQXNCLENBQUM7SUFDbkIsU0FBUyxFQUFFLElBQUk7R0FDbEI7RUFJTCxBQUNJLGdCQURZLENBQ1osZUFBZSxDQUFDO0lBQ1osS0FBSyxFQUFFLEdBQUc7R0FDYjs7O0FBSVQsQUFBQSxvQkFBb0I7QUFDcEIsb0JBQW9CO0FBQ3BCLHFCQUFxQjtBQUNyQixxQkFBcUIsQ0FBQztFQUNsQixPQUFPLEVBQUUsQ0FDYjtDQUFDOztBQUVELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07RUFDaEMsQUFBQSxvQkFBb0IsQ0FBQyxFQUFFLEFBQUEsWUFBWSxDQUFDO0lBQ2hDLE1BQU0sRUFBRSxjQUNaO0dBQUM7RUFFRCxBQUFBLG9CQUFvQixDQUFDLEVBQUUsQ0FBQztJQUNwQixNQUFNLEVBQUUsUUFDWjtHQUFDOzs7QUFHTCxBQUFBLGlCQUFpQjtBQUNqQixpQkFBaUI7QUFDakIsbUJBQW1CLENBQUM7RUFDaEIsS0FBSyxFQUFFLElBQ1g7Q0FBQzs7QUFFRCxBQUFBLG1CQUFtQixDQUFDO0VBQ2hCLE9BQU8sRUFBRSxrQ0FDYjtDQUFDOztBQUVELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RUFKbkMsQUFBQSxtQkFBbUIsQ0FLSztJQUNoQixNQUFNLEVBQUUsTUFBTTtJQUNkLE9BQU8sRUFBRSxvQkFBb0I7SUFDN0IsT0FBTyxFQUFFLFdBQVc7SUFDcEIsT0FBTyxFQUFFLFdBQVc7SUFDcEIsT0FBTyxFQUFFLElBQUk7SUFDYixRQUFRLEVBQUUsUUFBUTtJQUNsQixTQUFTLEVBQUUsS0FBSztJQUNoQixLQUFLLEVBQUUsR0FDWDtHQUFDOzs7QUFHTCxBQUFBLHdCQUF3QixDQUFDO0VBRXJCLGFBQWEsRUFBRSxNQUFNO0NBNkR4Qjs7QUEvREQsQUFJSSx3QkFKb0IsQ0FJcEIsYUFBYSxDQUFDO0VBQ1YsZ0JBQWdCLEVLcFlILE9BQU87RUxxWXBCLEtBQUssRUtuYk8sT0FBTztFTG9ibkIsT0FBTyxFQUFFLElBQUk7RUFDYixTQUFTLEVBQUUsUUFBUTtDQUN0Qjs7QUFUTCxBQVdJLHdCQVhvQixDQVdwQixRQUFRLENBQUM7RUFDTCxnQkFBZ0IsRUFBRSxJQUFJO0VrQjNhNUIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENiK0JFLE9BQU87RWF4QzFCLGFBQWEsRUFBRSxHQUFHO0VsQnViWixPQUFPLEVBQUUsSUFBSTtFQUNiLFNBQVMsRUFBRSxJQUFJO0VBQ2YsUUFBUSxFQUFFLE1BQU07Q0FpQ25COztBQWxETCxBQXFCWSx3QkFyQlksQ0FXcEIsUUFBUSxBQVFILFFBQVEsQ0FFTCxhQUFhLENBQUM7RUFDVixnQkFBZ0IsRUtuYlgsT0FBTztFTG9iWixLQUFLLEVLcmNELE9BQU87Q0xzY2Q7O0FBeEJiLEFBNkJZLHdCQTdCWSxDQVdwQixRQUFRLEFBZ0JILEtBQUssQ0FFRixhQUFhLENBQUM7RUFDVixnQkFBZ0IsRUt0Y2IsT0FBTztFTHVjVixLQUFLLEVLN2NELE9BQU87Q0w4Y2Q7O0FBaENiLEFBcUNZLHdCQXJDWSxDQVdwQixRQUFRLEFBd0JILFFBQVEsQ0FFTCxhQUFhLENBQUM7RUFDVixnQkFBZ0IsRUsxY1osT0FBTztFTDJjWCxLQUFLLEVLcmRELE9BQU87Q0xzZGQ7O0FBeENiLEFBNkNZLHdCQTdDWSxDQVdwQixRQUFRLEFBZ0NILE1BQU0sQ0FFSCxhQUFhLENBQUM7RUFDVixnQkFBZ0IsRUtqZGQsT0FBTztFTGtkVCxLQUFLLEVLN2RELE9BQU87Q0w4ZGQ7O0FBaERiLEFBc0RJLHdCQXREb0IsQ0FzRHBCLGdCQUFnQixDQUFDO0VBQ2IsT0FBTyxFQUFFLElBQUk7RUFDYixRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsSUFBSTtDQUNkOztBQVNMLEFBQUEsa0JBQWtCLENBQUM7RUFDZixjQUFjLEVBQUUsU0FBUztFQUN6QixXQUFXLEVBQUUsR0FBRztFQUNoQixLQUFLLEVLdmNZLE9BQU87RUx3Y3hCLGFBQWEsRUFBRSxPQUFPO0VBQ3RCLGNBQWMsRUFBRSxDQUNwQjtDQUFDOztBQU1ELEFBQUEsU0FBUyxDQUFDO0VBQ04sT0FBTyxFQUFFLGFBQWdCO0VBQ3pCLE1BQU0sRUFBRSxNQUFNO0VBQ2QsYUFBYSxFQUFFLElBQUk7Q0F3R3RCOztBQTNHRCxBQUtJLFNBTEssQ0FLTCxjQUFjLENBQUM7RUFPWCxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0tuZ0JOLE9BQU87RUxvZ0JsQixPQUFPLEVBQUUsaUJBQWlCO0VBQzFCLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLGFBQWEsRUFBRSxJQUFJO0VBQ25CLE9BQU8sRUFBRSxLQUFLO0VBQ2QsVUFBVSxFQUFFLElBQUk7Q0FvQm5COztBQXJDTCxBQW1CUSxTQW5CQyxDQUtMLGNBQWMsQ0FjVixFQUFFLENBQUM7RUFDQyxVQUFVLEVBQUUsSUFBSTtFQUNoQixhQUFhLEVBQUUsSUFBSTtDQUN0Qjs7QUF0QlQsQUF3QlEsU0F4QkMsQ0FLTCxjQUFjLEFBbUJULE9BQU8sQ0FBQztFQUVMLE9BQU8sRUFBRSxLQUFLO0VBQ2QsS0FBSyxFQUFFLGNBQWM7RUFDckIsTUFBTSxFQUFFLGNBQWM7RUFDdEIsYUFBYSxFQUFFLEdBQUc7RUFDbEIsZ0JBQWdCLEVBQUUsT0FBTztFQUN6QixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0t0aEJWLE9BQU87RUx1aEJkLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxDQUFDO0VBQ1YsSUFBSSxFQUFFLEtBQUs7RUFDWCxHQUFHLEVBQUUsR0FBRztDQUNYOztBQXBDVCxBQXVDSSxTQXZDSyxDQXVDTCxFQUFFLENBQUM7RUFDQyxVQUFVLEVBQUUsR0FBRztFQUNmLGFBQWEsRUFBRSxJQUFJO0NBQ3RCOztBQTFDTCxBQTRDSSxTQTVDSyxDQTRDTCxFQUFFLENBQUM7RUFDQyxlQUFlLEVBQUUsSUFBSTtFQUNyQixRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsVUFBVTtFQUNuQixNQUFNLEVBQUUsVUFBVTtDQTBEckI7O0FBMUdMLEFBa0RRLFNBbERDLENBNENMLEVBQUUsQUFNRyxNQUFNLENBQUM7RUFDSixPQUFPLEVBQUUsRUFBRTtFQUNYLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxLQUFLO0VBQ1YsSUFBSSxFQUFFLE1BQU07RUFDWixNQUFNLEVBQUUsQ0FBQztFQUNULFdBQVcsRUFBRSxpQkFBaUI7RUFDOUIsTUFBTSxFQUFFLElBQUk7Q0FDZjs7QUExRFQsQUE0RFEsU0E1REMsQ0E0Q0wsRUFBRSxHQWdCRyxFQUFFLENBQUM7RUFDQSxNQUFNLEVBQUUsZUFBZTtFQUN2QixZQUFZLEVBQUUsSUFBSTtFQUNsQixRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsS0FBSztFQUNkLGFBQWEsRUFBRSxpQkFBaUI7Q0FvQ25DOztBQXJHVCxBQW1FWSxTQW5FSCxDQTRDTCxFQUFFLEdBZ0JHLEVBQUUsQUFPRSxXQUFXLENBQUM7RUFDVCxhQUFhLEVBQUUsR0FBRztFQUNsQixhQUFhLEVBQUUsR0FBRztDQUNyQjs7QUF0RWIsQUF3RVksU0F4RUgsQ0E0Q0wsRUFBRSxHQWdCRyxFQUFFLENBWUMsbUJBQW1CLENBQUM7RUFDaEIsT0FBTyxFQUFFLEtBQUs7RUFDZCxRQUFRLEVBQUUsUUFBUTtDQVVyQjs7QUFwRmIsQUE0RWdCLFNBNUVQLENBNENMLEVBQUUsR0FnQkcsRUFBRSxDQVlDLG1CQUFtQixBQUlkLE9BQU8sQ0FBQztFQUNMLE9BQU8sRUFBRSxFQUFFO0VBQ1gsUUFBUSxFQUFFLFFBQVE7RUFDbEIsSUFBSSxFQUFFLEtBQUs7RUFDWCxLQUFLLEVBQUUsSUFBSTtFQUNYLEdBQUcsRUFBRSxHQUFHO0VBQ1IsT0FBTyxFQUFFLEVBQUU7Q0FDZDs7QUFuRmpCLEFBc0ZZLFNBdEZILENBNENMLEVBQUUsR0FnQkcsRUFBRSxBQTBCRSxPQUFPLENBQUM7RUFDTCxPQUFPLEVBQUUsRUFBRTtFQUNYLE9BQU8sRUFBRSxLQUFLO0VBQ2QsS0FBSyxFQUFFLGNBQWM7RUFDckIsTUFBTSxFQUFFLGNBQWM7RUFDdEIsYUFBYSxFQUFFLEdBQUc7RUFDbEIsZ0JBQWdCLEVBQUUsT0FBTztFQUN6QixNQUFNLEVBQUUsaUJBQWlCO0VBQ3pCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxDQUFDO0VBQ1YsSUFBSSxFQUFFLEtBQUs7RUFDWCxHQUFHLEVBQUUsR0FBRztDQUNYOztBQWxHYixBQXVHUSxTQXZHQyxDQTRDTCxFQUFFLENBMkRFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0VBQ0osZUFBZSxFQUFFLFNBQVM7Q0FDN0I7O0FBSVQsQUFBQSxpQkFBaUIsQ0FBQztFQUNkLE1BQU0sRUFBRSxNQUFNO0NBYWpCOztBQWRELEFBR0ksaUJBSGEsQ0FHYixPQUFPLENBQUM7RUFDSixTQUFTLEVBQUUsS0FBSztDQUNuQjs7QUFMTCxBQU9JLGlCQVBhLENBT2IsSUFBSSxDQUFDO0VBQ0QsT0FBTyxFQUFFLEtBQUs7RUFDZCxTQUFTLEVBQUUsS0FBSztFQUNoQixjQUFjLEVBQUUsR0FBRztFQUNuQixZQUFZLEVBQUUsSUFBSTtFQUNsQixXQUFXLEVBQUUsaUJBQWlCO0NBQ2pDOztBQUdMLEFBQUEsS0FBSyxDQUFDO0VBQ0YsS0FBSyxFQUFFLE9BQU87RUFDZCxTQUFTLEVBQUUsSUFBSTtFQUNmLGFBQWEsRUFBRSxJQUFJO0NBQ3RCOztBQUtELEFBQUEsV0FBVyxDQUFDO0VhN2lCSixXQUEwQixFTmhEeEIsR0FBRztFTWdETCxjQUEwQixFTnhDeEIsSUFBSTtDUGttQmI7O0FlamJPLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFZm9hcEMsQUFBQSxXQUFXLENBQUM7SWF0aUJGLFdBQTBCLEVOdER4QixJQUFJO0dQeW1CZjs7O0FlamJPLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFZm9hcEMsQUFBQSxXQUFXLENBQUM7SWF0aUJGLGNBQTBCLEVOOUN4QixJQUFJO0dQaW1CZjs7O0FBYkQsQUFLSSxXQUxPLENBS1AsV0FBVyxDQUFDLEVBQUU7QUFMbEIsV0FBVyxDQU1QLFdBQVcsQ0FBQyxDQUFDLENBQUM7RUFDVixLQUFLLEVLem9CTyxPQUFPLENMeW9CTyxVQUFVO0NBQ3ZDOztBQVJMLEFBVUksV0FWTyxDQVVQLENBQUMsQ0FBQztFZ0IvZ0JBLFNBQVMsRVJ2REUsSUFBSTtFUXdEZixTQUFTLEVMeEdMLFFBQXFDO0VLeUd6QyxXQUFXLEVBOUVDLE9BQXlCO0NoQjZsQnRDOztBZWhiRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWZvYXBDLEFBVUksV0FWTyxDQVVQLENBQUMsQ0FBQztJZ0JyZ0JFLFNBQVMsRVI3REEsSUFBSTtJUThEYixTQUFTLEVMbEhQLFFBQXFDO0lLbUh2QyxXQUFXLEVBeEZELE9BQXlCO0doQjZsQnRDOzs7QWVoYkcsTUFBTSxDQUFDLEtBQUs7RWZvYXBCLEFBVUksV0FWTyxDQVVQLENBQUMsQ0FBQztJZ0IxZ0JFLFNBQVMsRVJwREEsSUFBSTtJUXFEYixXQUFXLEVScERBLElBQUk7R1IrakJsQjs7O0FBR0wsQUFBQSxZQUFZLENBQUM7RUFHVCxVQUFVLEVLMW9CSSxPQUFPO0NMeXBCeEI7O0FBbEJELEFBS0ksWUFMUSxDQUtSLEdBQUcsQ0FBQztFQUNBLEtBQUssRUt4cEJPLE9BQU8sQ0x3cEJPLFVBQVU7Q0FDdkM7O0FBUEwsQUFTSSxZQVRRLENBU1IsQ0FBQyxDQUFDO0VBQ0UsS0FBSyxFSzVwQk8sT0FBTztFTDZwQm5CLGVBQWUsRUFBRSxTQUFTO0NBQzdCOztBQVpMLEFBY0ksWUFkUSxDQWNSLFlBQVksQ0FBQztFQUNULFVBQVUsRUtycEJHLE9BQU87RUxzcEJwQixLQUFLLEVLanFCTyxPQUFPO0NMa3FCdEI7O0FBR0wsQUFBQSxXQUFXLENBQUM7RUFDUixVQUFVLEVBQUUsT0FBTztDQVV0Qjs7QUFYRCxBQUdJLFdBSE8sQ0FHUCxHQUFHLENBQUM7RUFDQSxLQUFLLEVLMXFCTyxPQUFPLENMMHFCTyxVQUFVO0NBQ3ZDOztBQUxMLEFBT0ksV0FQTyxDQU9QLENBQUMsQ0FBQztFQUNFLEtBQUssRUs5cUJPLE9BQU87RUwrcUJuQixlQUFlLEVBQUUsU0FBUztDQUM3Qjs7QUFJTCxBQUFBLHFCQUFxQixDQUFDO0VBQ2xCLGFBQWEsRUFBRSxJQUFJO0NBYXRCOztBQWRELEFBR0kscUJBSGlCLENBR2pCLEVBQUUsQ0FBQztFQUNDLFVBQVUsRUFBRSxJQUFJO0NBQ25COztBQUxMLEFBT0kscUJBUGlCLENBT2pCLEVBQUUsQ0FBQyxFQUFFLENBQUM7RUFDRixXQUFXLEVBQUUsS0FBSztFQUNsQixTQUFTLEVBQUUsU0FBUztFQUVwQixPQUFPLEVBQUUsaUJBQWlCO0NBRTdCOztBQUdMLEFBRUksZ0JBRlksQ0FFWixDQUFDLENBQUM7RUFDRSxhQUFhLEVBQUUsZUFBZTtDQUNqQzs7QWV6ZUcsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VmNmVwQyxBQUFBLE9BQU8sQ0FBQztJQUVBLFFBQVEsRUFBRSxpQkFBaUI7SUFDM0IsUUFBUSxFQUFFLHlCQUF5QjtJQUNuQyxHQUFHLEVBQUUsSUFBSTtHQUVoQjs7O0FBRUQsQUFBQSxpQkFBaUIsQ0FBQztFQUNkLFdBQVcsRUFBRSxtQkFBbUI7RUFDaEMsU0FBUyxFQUFFLElBQUk7Q0FDbEI7O0FBRUQsQUFBQSxrQkFBa0IsQ0FBQyxFQUFFLENBQUM7RUFDbEIsU0FBUyxFQUFFLElBQUk7Q0FDbEI7O0FBRUQsQUFBQSxpQkFBaUIsQ0FBQztFQU1kLFVBQVUsRUFBRSxPQUFPO0VBQ25CLE9BQU8sRUFBRSxTQUFTO0VBQ2xCLE9BQU8sRUFBRSxLQUFLO0VBQ2QsYUFBYSxFQUFFLElBQUk7Q0E4QnRCOztBQXZDRCxBQUVJLGlCQUZhLEFBRVosY0FBYyxDQUFDO0VBQ1osVUFBVSxFQUFFLElBQUk7Q0FDbkI7O0FBSkwsQUFZSSxpQkFaYSxBQVlaLHVCQUF1QixDQUFDO0VBRXJCLFdBQVcsRUFBRSxpQkFBaUI7Q0FTakM7O0FBdkJMLEFBZ0JRLGlCQWhCUyxBQVlaLHVCQUF1QixBQUluQixNQUFNLENBQUM7RUFDSixVQUFVLEVBQUUsSUFBSTtFQUNoQixXQUFXLEVBQUUsaUJBQWlCO0VBQzlCLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLFVBQVUsRUFBRSxJQUFJO0NBQ25COztBQXJCVCxBQXlCSSxpQkF6QmEsQUF5Qlosd0JBQXdCLENBQUM7RUFFdEIsWUFBWSxFQUFFLGlCQUFpQjtFQUMvQixVQUFVLEVBQUUsS0FBSztDQVFwQjs7QUFwQ0wsQUE4QlEsaUJBOUJTLEFBeUJaLHdCQUF3QixBQUtwQixNQUFNLENBQUM7RUFDSixVQUFVLEVBQUUsSUFBSTtFQUNoQixZQUFZLEVBQUUsaUJBQWlCO0VBQy9CLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLFVBQVUsRUFBRSxJQUFJO0NBQ25COztBQU9ULEFBQUEsa0JBQWtCLENBQUM7RUFDZixVQUFVLEVBQUUsa0JBQWtCO0VBQzlCLFdBQVcsRUFBRSxJQUFJO0NBQ3BCOztBQUdELEFBSVEsb0JBSlksQ0FHaEIsQ0FBQyxDQUNHLEdBQUcsQ0FBQztFQUNBLE9BQU8sRUFBRSxrQkFBa0I7Q0FDOUI7O0FBTlQsQUFRUSxvQkFSWSxDQUdoQixDQUFDLENBS0csQ0FBQyxDQUFDO0VBQ0UsWUFBWSxFQUFFLElBQUk7Q0FDckI7O0FleGpCRCxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWYrakJoQyxBQUFBLHFCQUFxQixDQUFDO0lBQ2xCLE9BQU8sRUFBRSxJQUFJO0dBQ2hCOzs7QUFHTCxBQUFBLGtCQUFrQixDQUFDO0VBQ2YsTUFBTSxFQUFFLEdBQUc7RUFDWCxXQUFXLEVBQUUsSUFBSTtFQUNqQixjQUFjLEVBQUUsSUFBSTtDQUt2Qjs7QUFSRCxBQUtJLGtCQUxjLENBS2QsNkJBQTZCLEFBQUEsT0FBTyxDQUFDO0VBQ2pDLFlBQVksRUt6eUJBLE9BQU87Q0wweUJ0Qjs7QUFHTCxBQUFBLGFBQWEsQ0FBQztFQUNWLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLFVBQVUsRUFBRSxpQkFBaUI7Q0FDaEM7O0FBRUQsQUFBQSxlQUFlLENBQUM7RUFDWixVQUFVLEVBQUUsT0FBTztDQUN0Qjs7QWVybEJPLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFZjBsQmhDLEFBQUEsV0FBVyxDQUFDLGtCQUFrQixDQUFDO0lBQzNCLGFBQWEsRUFBRSxDQUFDO0lBQ2hCLE9BQU8sRUFBRSxRQUFRO0lBQ2pCLE1BQU0sRUFBRSxJQUFJO0lBQ1osVUFBVSxFQUFFLENBQUM7R0FDaEI7OztBQUdMLEFBQUEsSUFBSSxDQUFDO0VBQ0QsZ0JBQWdCLEVBQUUsT0FBTztFQUN6QixLQUFLLEVBQUUsT0FBTztFQUNkLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLGFBQWEsRUFBRSxHQUFHLENBQUMsTUFBTSxDS3p4QlIsT0FBTztDTDB4QjNCOztBQUdELEFBQUEscUJBQXFCLENBQUM7RUFDbEIsVUFBVSxFQUFFLElBQUk7RUFDaEIsT0FBTyxFQUFFLEdBQUc7RUFDWixNQUFNLEVBQUUsR0FBRztFQUNYLE9BQU8sRUFBRSxLQUFLO0NBQ2pCOztBQUVELEFBQUEsMEJBQTBCLENBQUM7RUFDdkIsUUFBUSxFQUFFLE1BQU07RUFDaEIsTUFBTSxFQUFFLEdBQUc7RUFDWCxhQUFhLEVBQUUsR0FBRztFQUNsQixhQUFhLEVBQUUsaUJBQWlCO0VBQ2hDLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLFdBQVcsRUFBRSxHQUFHO0VnQnh0QmQsU0FBUyxFUnpDRSxJQUFJO0VRMENmLFNBQVMsRUx4R0wsSUFBcUM7RUt5R3pDLFdBQVcsRUE5RUMsR0FBeUI7RWhCc3lCdkMsT0FBTyxFQUFFLFFBQVE7Q0ErQ3BCOztBZXhxQk8sTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VmaW5CcEMsQUFBQSwwQkFBMEIsQ0FBQztJZ0J4c0JuQixTQUFTLEVSL0NBLElBQUk7SVFnRGIsU0FBUyxFTGxIUCxTQUFxQztJS21IdkMsV0FBVyxFQXhGRCxPQUF5QjtHaEJxMUIxQzs7O0FleHFCTyxNQUFNLENBQUMsS0FBSztFZmluQnBCLEFBQUEsMEJBQTBCLENBQUM7SWdCN3NCbkIsU0FBUyxFUnRDQSxJQUFJO0lRdUNiLFdBQVcsRVJ0Q0EsSUFBSTtHUnl5QnRCOzs7QUF2REQsQUFXSSwwQkFYc0IsQ0FXdEIsQ0FBQyxDQUFDO0VBQ0UsT0FBTyxFQUFFLEdBQUc7RUFDWixNQUFNLEVBQUUsR0FBRztDQUNkOztBQWRMLEFBZ0JJLDBCQWhCc0IsQ0FnQnRCLENBQUM7QUFoQkwsMEJBQTBCLENBaUJ0QixDQUFDLEFBQUEsUUFBUTtBQWpCYiwwQkFBMEIsQ0FrQnRCLENBQUMsQUFBQSxPQUFPO0FBbEJaLDBCQUEwQixDQW1CdEIsQ0FBQyxBQUFBLEtBQUs7QUFuQlYsMEJBQTBCLENBb0J0QixDQUFDLENBQUMsSUFBSSxDQUFDO0VBQ0gsS0FBSyxFSy8xQk0sT0FBTztFV3dIcEIsU0FBUyxFUnZERSxJQUFJO0VRd0RmLFNBQVMsRUx4R0wsUUFBcUM7RUt5R3pDLFdBQVcsRUE5RUMsT0FBeUI7RWhCcXpCbkMsYUFBYSxFQUFFLElBQUk7Q0FDdEI7O0Flem9CRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWZpbkJwQyxBQWdCSSwwQkFoQnNCLENBZ0J0QixDQUFDO0VBaEJMLDBCQUEwQixDQWlCdEIsQ0FBQyxBQUFBLFFBQVE7RUFqQmIsMEJBQTBCLENBa0J0QixDQUFDLEFBQUEsT0FBTztFQWxCWiwwQkFBMEIsQ0FtQnRCLENBQUMsQUFBQSxLQUFLO0VBbkJWLDBCQUEwQixDQW9CdEIsQ0FBQyxDQUFDLElBQUksQ0FBQztJZ0I1dEJILFNBQVMsRVI3REEsSUFBSTtJUThEYixTQUFTLEVMbEhQLFFBQXFDO0lLbUh2QyxXQUFXLEVBeEZELE9BQXlCO0doQnN6QnRDOzs7QWV6b0JHLE1BQU0sQ0FBQyxLQUFLO0VmaW5CcEIsQUFnQkksMEJBaEJzQixDQWdCdEIsQ0FBQztFQWhCTCwwQkFBMEIsQ0FpQnRCLENBQUMsQUFBQSxRQUFRO0VBakJiLDBCQUEwQixDQWtCdEIsQ0FBQyxBQUFBLE9BQU87RUFsQlosMEJBQTBCLENBbUJ0QixDQUFDLEFBQUEsS0FBSztFQW5CViwwQkFBMEIsQ0FvQnRCLENBQUMsQ0FBQyxJQUFJLENBQUM7SWdCanVCSCxTQUFTLEVScERBLElBQUk7SVFxRGIsV0FBVyxFUnBEQSxJQUFJO0dSd3hCbEI7OztBQXhCTCxBQTBCSSwwQkExQnNCLENBMEJ0QiwwQkFBMEIsQ0FBQztFZ0I1dUJ6QixTQUFTLEVSYkUsSUFBSTtFUWNmLFNBQVMsRUx4R0wsUUFBcUM7RUt5R3pDLFdBQVcsRUE5RUMsT0FBeUI7RWhCMHpCbkMsTUFBTSxFQUFFLFFBQVE7Q0FDbkI7O0FlOW9CRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWZpbkJwQyxBQTBCSSwwQkExQnNCLENBMEJ0QiwwQkFBMEIsQ0FBQztJZ0JsdUJ2QixTQUFTLEVSbkJBLElBQUk7SVFvQmIsU0FBUyxFTGxIUCxJQUFxQztJS21IdkMsV0FBVyxFQXhGRCxHQUF5QjtHaEIyekJ0Qzs7O0FlOW9CRyxNQUFNLENBQUMsS0FBSztFZmluQnBCLEFBMEJJLDBCQTFCc0IsQ0EwQnRCLDBCQUEwQixDQUFDO0lnQnZ1QnZCLFNBQVMsRVJWQSxJQUFJO0lRV2IsV0FBVyxFUlZBLEdBQUc7R1JtdkJqQjs7O0FBN0JMLEFBK0JJLDBCQS9Cc0IsQ0ErQnRCLDBCQUEwQixDQUFDO0VBRXZCLE9BQU8sRUFBRSxDQUFDO0VBQ1YsYUFBYSxFQUFFLEdBQUc7Q0FjekI7O0FBaERELEFBcUNJLDBCQXJDc0IsQ0ErQnRCLDBCQUEwQixDQU0xQixxQ0FBcUMsRUFyQ3pDLDBCQUEwQixDQStCdEIsMEJBQTBCLENBTWEscUNBQXFDLENBQUMsSUFBSSxFQXJDckYsMEJBQTBCLENBK0J0QiwwQkFBMEIsQ0FNeUQscUNBQXFDLENBQUMsQ0FBQyxDQUFDO0VnQnZ2QnpILFNBQVMsRVJDRSxJQUFJO0VRQWYsU0FBUyxFTHhHTCxPQUFxQztFS3lHekMsV0FBVyxFQTlFQyxPQUF5QjtFaEJzMEJuQyxzQkFBc0IsRUFBRSxXQUFXO0VBQ25DLHVCQUF1QixFQUFFLFNBQVM7RUFDbEMsV0FBVyxFQUFFLEdBQUc7RUFDaEIsT0FBTyxFQUFFLFlBQVk7RUFDckIsVUFBVSxFQUFFLElBQUk7RUFDaEIsYUFBYSxFQUFFLElBQUk7Q0FDdEI7O0FlL3BCRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWZpbkJwQyxBQXFDSSwwQkFyQ3NCLENBK0J0QiwwQkFBMEIsQ0FNMUIscUNBQXFDLEVBckN6QywwQkFBMEIsQ0ErQnRCLDBCQUEwQixDQU1hLHFDQUFxQyxDQUFDLElBQUksRUFyQ3JGLDBCQUEwQixDQStCdEIsMEJBQTBCLENBTXlELHFDQUFxQyxDQUFDLENBQUMsQ0FBQztJZ0I3dUJ2SCxTQUFTLEVSTEEsSUFBSTtJUU1iLFNBQVMsRUxsSFAsUUFBcUM7SUttSHZDLFdBQVcsRUF4RkQsT0FBeUI7R2hCNDBCdEM7OztBZS9wQkcsTUFBTSxDQUFDLEtBQUs7RWZpbkJwQixBQXFDSSwwQkFyQ3NCLENBK0J0QiwwQkFBMEIsQ0FNMUIscUNBQXFDLEVBckN6QywwQkFBMEIsQ0ErQnRCLDBCQUEwQixDQU1hLHFDQUFxQyxDQUFDLElBQUksRUFyQ3JGLDBCQUEwQixDQStCdEIsMEJBQTBCLENBTXlELHFDQUFxQyxDQUFDLENBQUMsQ0FBQztJZ0JsdkJ2SCxTQUFTLEVSSUEsSUFBSTtJUUhiLFdBQVcsRVJJQSxHQUFHO0dSc3ZCakI7OztBQTlDTCxBQWtESSwwQkFsRHNCLENBa0R0QixJQUFJLENBQUM7RUFDRCxNQUFNLEVBQUUsSUFBSTtFQUNaLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLENBQUM7Q0FDYjs7QUFHTCxBQUFBLG1DQUFtQyxDQUFDO0VBQ2hDLE9BQU8sRUFBRSxJQUFJO0VBQ2IsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENLLzFCQSxPQUFPO0VMZzJCeEIsYUFBYSxFQUFFLElBQUk7Q0FDdEI7O0FBRUQsQUFBQSxtQ0FBbUMsQUFBQSxhQUFhLENBQUM7RUFDN0MsYUFBYSxFQUFFLGNBQWM7Q0FDaEM7O0FBRUQsQUFBQSx1QkFBdUIsQ0FBQztFQUNwQixPQUFPLEVBQUUsZ0JBQWdCO0NBQzVCOztBQUZELEFBQUEsdUJBQXVCLENBSUM7RUFDcEIsU0FBUyxFQUFFLElBQUk7RUFDZixVQUFVLEVBQUUsSUFBSTtDQUNuQjs7QUFFRCxBQUFBLHNCQUFzQixBQUFBLE1BQU0sQ0FBQztFQUN6QixVQUFVLEVBQUUsT0FBTztDQUN0Qjs7QUFJRCxBQUFBLGVBQWUsQ0FBQztFQUNaLE9BQU8sRUFBRSxHQUFHO0VBQ1osVUFBVSxFS24zQk8sT0FBTztDTG8zQjNCOztBQUdELEFBQUEsZUFBZSxDQUFDO0VBQ1osTUFBTSxFQUFFLGtCQUFrQjtFQUMxQixVQUFVLEVBQUUsa0JBQWtCO0VBQzlCLFNBQVMsRUFBRSxlQUFlO0VBQzFCLE9BQU8sRUFBRSxrQkFBa0I7Q0FDOUI7O0FBR0QsQUFBQSxpQkFBaUIsQ0FBQztFQUNkLGFBQWEsRUFBRSxJQUFJO0VBQ25CLFVBQVUsRUFBRSxlQUFlO0VBQzNCLGFBQWEsRUFBRSxDQUFDO0VBQ2hCLE9BQU8sRUFBRSxpQkFBaUI7RUFDMUIsTUFBTSxFQUFFLElBQUk7RUFDWixhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0tyN0JSLE9BQU87Q0xzN0IxQjs7QUFHRCxBQUFBLG9CQUFvQixDQUFDO0VBQ2pCLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLE9BQU8sRUFBRSxHQUFHO0VBQ1osTUFBTSxFQUFFLEdBQUc7RUFDWCxPQUFPLEVBQUUsS0FBSztDQUNqQjs7QUFFRCxBQUFBLDBCQUEwQixDQUFDO0VBQ3ZCLFFBQVEsRUFBRSxNQUFNO0VBQ2hCLE1BQU0sRUFBRSxHQUFHO0VBQ1gsYUFBYSxFQUFFLElBQUk7RUFDbkIsY0FBYyxFQUFFLElBQUk7RUFDcEIsYUFBYSxFQUFFLGlCQUFpQjtFQUNoQyxVQUFVLEVBQUUsSUFBSTtFQUNoQixXQUFXLEVBQUUsR0FBRztFZ0IxMEJkLFNBQVMsRVJ6Q0UsSUFBSTtFUTBDZixTQUFTLEVMeEdMLElBQXFDO0VLeUd6QyxXQUFXLEVBOUVDLEdBQXlCO0NoQnk3QjFDOztBZTV3Qk8sTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0Vma3VCcEMsQUFBQSwwQkFBMEIsQ0FBQztJZ0J6ekJuQixTQUFTLEVSL0NBLElBQUk7SVFnRGIsU0FBUyxFTGxIUCxTQUFxQztJS21IdkMsV0FBVyxFQXhGRCxPQUF5QjtHaEJ5N0IxQzs7O0FlNXdCTyxNQUFNLENBQUMsS0FBSztFZmt1QnBCLEFBQUEsMEJBQTBCLENBQUM7SWdCOXpCbkIsU0FBUyxFUnRDQSxJQUFJO0lRdUNiLFdBQVcsRVJ0Q0EsSUFBSTtHUjY0QnRCOzs7QUExQ0QsQUFXSSwwQkFYc0IsQ0FXdEIsQ0FBQyxDQUFDO0VBQ0UsZUFBZSxFQUFFLFNBQVM7Q0FDN0I7O0FBYkwsQUFlSSwwQkFmc0IsQ0FldEIsMkJBQTJCLENBQUM7RWdCbDFCMUIsU0FBUyxFUnpDRSxJQUFJO0VRMENmLFNBQVMsRUx4R0wsSUFBcUM7RUt5R3pDLFdBQVcsRUE5RUMsR0FBeUI7RWhCZzZCbkMsTUFBTSxFQUFFLFFBQVE7Q0FDbkI7O0FlcHZCRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWZrdUJwQyxBQWVJLDBCQWZzQixDQWV0QiwyQkFBMkIsQ0FBQztJZ0J4MEJ4QixTQUFTLEVSL0NBLElBQUk7SVFnRGIsU0FBUyxFTGxIUCxTQUFxQztJS21IdkMsV0FBVyxFQXhGRCxPQUF5QjtHaEJpNkJ0Qzs7O0FlcHZCRyxNQUFNLENBQUMsS0FBSztFZmt1QnBCLEFBZUksMEJBZnNCLENBZXRCLDJCQUEyQixDQUFDO0lnQjcwQnhCLFNBQVMsRVJ0Q0EsSUFBSTtJUXVDYixXQUFXLEVSdENBLElBQUk7R1JxM0JsQjs7O0FBbEJMLEFBb0JJLDBCQXBCc0IsQ0FvQnRCLHlCQUF5QixDQUFDO0VnQnYxQnhCLFNBQVMsRVJiRSxJQUFJO0VRY2YsU0FBUyxFTHhHTCxRQUFxQztFS3lHekMsV0FBVyxFQTlFQyxPQUF5QjtFaEJxNkJuQyxPQUFPLEVBQUUsQ0FBQztFQUNWLGFBQWEsRUFBRSxHQUFHO0NBQ3JCOztBZTF2QkcsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0Vma3VCcEMsQUFvQkksMEJBcEJzQixDQW9CdEIseUJBQXlCLENBQUM7SWdCNzBCdEIsU0FBUyxFUm5CQSxJQUFJO0lRb0JiLFNBQVMsRUxsSFAsSUFBcUM7SUttSHZDLFdBQVcsRUF4RkQsR0FBeUI7R2hCdTZCdEM7OztBZTF2QkcsTUFBTSxDQUFDLEtBQUs7RWZrdUJwQixBQW9CSSwwQkFwQnNCLENBb0J0Qix5QkFBeUIsQ0FBQztJZ0JsMUJ0QixTQUFTLEVSVkEsSUFBSTtJUVdiLFdBQVcsRVJWQSxHQUFHO0dSKzFCakI7OztBQXhCTCxBQTBCSSwwQkExQnNCLENBMEJ0QixxQ0FBcUMsQ0FBQztFQUNsQyxzQkFBc0IsRUFBRSxXQUFXO0VBQ25DLHVCQUF1QixFQUFFLFNBQVM7RUFDbEMsV0FBVyxFQUFFLEdBQUc7RUFDaEIsV0FBVyxFQUFFLElBQUk7RUFDakIsT0FBTyxFQUFFLFlBQVk7RUFDckIsVUFBVSxFQUFFLElBQUk7RUFDaEIsYUFBYSxFQUFFLElBQUk7RUFDbkIsYUFBYSxFQUFFLElBQUk7Q0FDdEI7O0FBbkNMLEFBcUNJLDBCQXJDc0IsQ0FxQ3RCLElBQUksQ0FBQztFQUNELE1BQU0sRUFBRSxJQUFJO0VBQ1osTUFBTSxFQUFFLENBQUM7RUFDVCxPQUFPLEVBQUUsQ0FBQztDQUNiOztBQUdMLEFBQUEsbUNBQW1DLENBQUM7RUFDaEMsT0FBTyxFQUFFLElBQUk7RUFDYixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0tuOEJBLE9BQU87Q0xvOEIzQjs7QUE3RkQsQUFBQSx1QkFBdUIsQ0ErRkM7RUFDcEIsT0FBTyxFQUFFLGdCQUFnQjtDQUM1Qjs7QUFqR0QsQUFBQSx1QkFBdUIsQ0FtR0M7RUFDcEIsU0FBUyxFQUFFLElBQUk7RUFDZixVQUFVLEVBQUUsSUFBSTtDQUNuQjs7QUE3RkQsQUFBQSxzQkFBc0IsQUFBQSxNQUFNLENBK0ZDO0VBQ3pCLFVBQVUsRUFBRSxPQUFPO0NBQ3RCOztBQTNGRCxBQUFBLGVBQWUsQ0E2RkM7RUFDWixPQUFPLEVBQUUsR0FBRztFQUNaLFVBQVUsRUtoOUJPLE9BQU87Q0xpOUIzQjs7QUExRkQsQUFBQSxlQUFlLENBNkZDO0VBQ1osTUFBTSxFQUFFLGtCQUFrQjtFQUMxQixVQUFVLEVBQUUsa0JBQWtCO0VBQzlCLFNBQVMsRUFBRSxlQUFlO0VBQzFCLE9BQU8sRUFBRSxrQkFBa0I7Q0FDOUI7O0FBMUZELEFBQUEsaUJBQWlCLENBNkZDO0VBQ2QsYUFBYSxFQUFFLElBQUk7RUFDbkIsVUFBVSxFQUFFLGVBQWU7RUFDM0IsYUFBYSxFQUFFLENBQUM7RUFDaEIsT0FBTyxFQUFFLGlCQUFpQjtFQUMxQixNQUFNLEVBQUUsSUFBSTtFQUNaLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDS2xoQ1IsT0FBTztDTG1oQzFCOztBQUVELEFBQUEsaUJBQWlCLENBQUM7RUFDZCxVQUFVLEVBQUUsTUFBTTtDQUNyQjs7QUFFRCxBQUFBLElBQUksQUFBQSxnQkFBZ0I7QUFDcEIsSUFBSSxBQUFBLGdCQUFnQixDQUFDO0VBQ2pCLE9BQU8sRUFBRSx1QkFBdUI7RUFDaEMsV0FBVyxFQUFFLEdBQUc7Q0FDbkI7O0FBS0QsQUFBQSxVQUFVLENBQUMsV0FBVyxDQUFDO0VBRW5CLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDS3BpQ0QsT0FBTztFYUt6QixhQUFhLEVBQUUsR0FBRztDbEJrbENuQjs7QUFyREQsQUFRUSxVQVJFLENBQUMsV0FBVyxDQUtsQixZQUFZLENBQUMsS0FBSyxBQUdiLE1BQU0sQ0FBQztFQUNKLFVBQVUsRUFBRSxJQUFJO0NBRW5COztBQVhULEFBYVEsVUFiRSxDQUFDLFdBQVcsQ0FLbEIsWUFBWSxDQUFDLEtBQUssQUFRYixNQUFNLENBQUM7RUFDSixNQUFNLEVBQUUsaUJBQWlCO0VBQ3pCLFVBQVUsRUFBRSx1QkFBdUI7RUFDbkMsT0FBTyxFQUFFLHFCQUFxQjtFQUM5QixjQUFjLEVBQUUsR0FBRztFQUNuQixhQUFhLEVBQUUsZUFBZTtDQUNqQzs7QUFuQlQsQUFzQkksVUF0Qk0sQ0FBQyxXQUFXLENBc0JsQixZQUFZLEFBQUEsV0FBVyxDQUFDO0VBR3BCLFdBQVcsRUFBRSxHQUFHO0NBMkJuQjs7QUFwREwsQUEyQlEsVUEzQkUsQ0FBQyxXQUFXLENBc0JsQixZQUFZLEFBQUEsV0FBVyxDQUtuQixXQUFXLENBQUM7RUFDUixhQUFhLEVBQUUsR0FBRztFQUNsQixVQUFVLEVLL2pDRixPQUFPO0NMcWxDbEI7O0FBbkRULEFBK0JZLFVBL0JGLENBQUMsV0FBVyxDQXNCbEIsWUFBWSxBQUFBLFdBQVcsQ0FLbkIsV0FBVyxBQUlOLE1BQU0sQ0FBQztFQUNKLGdCQUFnQixFQUFFLE9BQU87RUFDekIsTUFBTSxFQUFFLE9BQU87RUFDZixVQUFVLEVBQUUsSUFBSTtDQUtuQjs7QUF2Q2IsQUFvQ2dCLFVBcENOLENBQUMsV0FBVyxDQXNCbEIsWUFBWSxBQUFBLFdBQVcsQ0FLbkIsV0FBVyxBQUlOLE1BQU0sQ0FLSCxtQkFBbUIsQ0FBQztFQUNoQixJQUFJLEVLdmtDSixPQUFPO0NMd2tDVjs7QUF0Q2pCLEFBNENZLFVBNUNGLENBQUMsV0FBVyxDQXNCbEIsWUFBWSxBQUFBLFdBQVcsQ0FLbkIsV0FBVyxDQWlCUCxtQkFBbUIsQ0FBQztFQUNoQixNQUFNLEVBQUUsSUFBSTtFQUNaLEtBQUssRUFBRSxJQUFJO0VBQ1gsSUFBSSxFS2xsQ0EsT0FBTztFTG1sQ1gsVUFBVSxFQUFFLEdBQUc7Q0FFbEI7O0FBTWIsQUFHUSxXQUhHLENBRVAsVUFBVSxDQUNOLFdBQVcsQ0FBQztFQUNSLE1BQU0sRUFBRSxJQUFJO0VrQnpsQ3RCLGFBQWEsRUFBRSxHQUFHO0NsQnVwQ1g7O0FBbEVULEFBU2dCLFdBVEwsQ0FFUCxVQUFVLENBQ04sV0FBVyxDQUlQLFlBQVksQ0FBQyxLQUFLLEFBRWIsTUFBTSxDQUFDO0VBQ0osVUFBVSxFQUFFLElBQUk7Q0FFbkI7O0FBWmpCLEFBY2dCLFdBZEwsQ0FFUCxVQUFVLENBQ04sV0FBVyxDQUlQLFlBQVksQ0FBQyxLQUFLLEFBT2IsTUFBTSxDQUFDO0VBQ0osTUFBTSxFQUFFLGlCQUFpQjtFQUN6QixVQUFVLEVBQUUsdUJBQXVCO0VBQ25DLE9BQU8sRUFBRSxxQkFBcUI7RUFDOUIsY0FBYyxFQUFFLEdBQUc7RUFDbkIsYUFBYSxFQUFFLGVBQWU7Q0FDakM7O0FBcEJqQixBQXVCWSxXQXZCRCxDQUVQLFVBQVUsQ0FDTixXQUFXLENBb0JQLFlBQVksQUFBQSxXQUFXLENBQUM7RUFHcEIsV0FBVyxFQUFFLEdBQUc7Q0F1Q25COztBQWpFYixBQTRCZ0IsV0E1QkwsQ0FFUCxVQUFVLENBQ04sV0FBVyxDQW9CUCxZQUFZLEFBQUEsV0FBVyxDQUtuQixXQUFXLENBQUM7RUFDUixhQUFhLEVBQUUsZUFBZTtFQUM5QixVQUFVLEVBQUUsT0FBTztDQWtDdEI7O0FBaEVqQixBQWdDb0IsV0FoQ1QsQ0FFUCxVQUFVLENBQ04sV0FBVyxDQW9CUCxZQUFZLEFBQUEsV0FBVyxDQUtuQixXQUFXLEFBSU4sTUFBTSxDQUFDO0VBQ0osZ0JBQWdCLEVBQUUsT0FBTztFQUN6QixNQUFNLEVBQUUsT0FBTztFQUNmLFVBQVUsRUFBRSxJQUFJO0NBS25COztBQXhDckIsQUFxQ3dCLFdBckNiLENBRVAsVUFBVSxDQUNOLFdBQVcsQ0FvQlAsWUFBWSxBQUFBLFdBQVcsQ0FLbkIsV0FBVyxBQUlOLE1BQU0sQ0FLSCxtQkFBbUIsQ0FBQztFQUNoQixJQUFJLEVLam9DWixPQUFPO0NMa29DRjs7QUF2Q3pCLEFBMENvQixXQTFDVCxDQUVQLFVBQVUsQ0FDTixXQUFXLENBb0JQLFlBQVksQUFBQSxXQUFXLENBS25CLFdBQVcsQUFjTixNQUFNLENBQUM7RUFDSixnQkFBZ0IsRUFBRSxPQUFPO0VBQ3pCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsVUFBVSxFQUFFLGlCQUFpQjtFQUM3QixLQUFLLEVBQUUsT0FBTztFQUNkLE9BQU8sRUFBRSxxQkFBcUI7RUFDOUIsY0FBYyxFQUFFLEdBQUc7RUFDbkIsVUFBVSxFQUFFLElBQUk7Q0FLbkI7O0FBdERyQixBQW1Ed0IsV0FuRGIsQ0FFUCxVQUFVLENBQ04sV0FBVyxDQW9CUCxZQUFZLEFBQUEsV0FBVyxDQUtuQixXQUFXLEFBY04sTUFBTSxDQVNILG1CQUFtQixDQUFDO0VBQ2hCLElBQUksRUs5b0NaLE9BQU87Q0wrb0NGOztBQXJEekIsQUF5RG9CLFdBekRULENBRVAsVUFBVSxDQUNOLFdBQVcsQ0FvQlAsWUFBWSxBQUFBLFdBQVcsQ0FLbkIsV0FBVyxDQTZCUCxtQkFBbUIsQ0FBQztFQUNoQixNQUFNLEVBQUUsSUFBSTtFQUNaLEtBQUssRUFBRSxJQUFJO0VBQ1gsSUFBSSxFQUFFLE9BQU87RUFDYixVQUFVLEVBQUUsR0FBRztDQUVsQjs7QUFXckIsQUFBQSx3QkFBd0IsQ0FBQyx3QkFBd0IsQUFBQSxPQUFPLENBQUM7RUFDckQsR0FBRyxFQUFFLElBQUk7RUFDVCxJQUFJLEVBQUUsR0FBRztFQUNULEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLEtBQUs7RUFDYixZQUFZLEVBQUUsV0FBVztDQUM1Qjs7QUFHRCxBQUFBLGFBQWEsQ0FBQztFQUNWLE9BQU8sRUFBRSxJQUFJO0NBQ2hCOztBQUVELEFBQUEsK0JBQStCLENBQUM7RUFFNUIsVUFBVSxFQUFFLEtBQUs7RUFDakIsVUFBVSxFQUFFLElBQUk7RUFDaEIsVUFBVSxFQUFFLE1BQU07Q0FDckI7O0FBRUQsQUFBQSwrQkFBK0IsQUFBQSxtQkFBbUIsQ0FBQztFQUMvQyxrQkFBa0IsRUFBRSxJQUFJO0VBQ3hCLEtBQUssRUFBRSxHQUFHO0NBQ2I7O0FBRUQsQUFBQSwrQkFBK0IsQUFBQSx5QkFBeUIsQ0FBQztFQUNyRCxhQUFhLEVBQUUsR0FBRztFQUNsQixnQkFBZ0IsRUFBRSxrQkFBa0I7RUFDcEMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHlCQUF5QjtFQUM3QyxrQkFBa0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx5QkFBeUI7Q0FDeEQ7O0FBRUQsQUFBQSxpQkFBaUIsQ0FBQztFQUNkLFVBQVUsRUt2cENPLE9BQU87RUx3cEN4QixPQUFPLEVBQUUsUUFBUTtFQUNqQixhQUFhLEVBQUUsS0FBSztDQWlDdkI7O0FlMWdDTyxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVE7RWZzK0JuQyxBQVFRLGlCQVJTLENBUVQsSUFBSSxDQUFDO0lBQ0QsT0FBTyxFQUFFLEtBQUs7R0FDakI7OztBZWgvQkQsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VmcytCcEMsQUFlUSxpQkFmUyxDQWVULEdBQUcsQ0FBQztJQUNBLGFBQWEsRUFBRSxJQUFJO0dBSXRCO0VBcEJULEFBUVEsaUJBUlMsQ0FRVCxJQUFJLENBZUM7SUFDRCxPQUFPLEVBQUUsWUFBWTtJQUNyQixTQUFTLEVBQUUsR0FDZjtHQUFDOzs7QUExQlQsQUE4QkksaUJBOUJhLENBOEJiLENBQUMsQ0FBQztFQUNFLEtBQUssRUs5dENNLE9BQU8sQ0w4dENPLFVBQVU7RUFDbkMsZUFBZSxFQUFFLFNBQVM7Q0FHN0I7O0FBT0wsQUFBQSwwQkFBMEIsQ0FBQztFQUV2QixhQUFhLEVBQUUsTUFBTTtFQUNyQixVQUFVLEVBQUUsSUFBSTtFYTlwQ1osT0FBWSxFTjFEVixDQUFDO0VNMERILE1BQVksRU4xRFYsQ0FBQztDUG16Q1Y7O0FlOW1DTyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWZnaENwQyxBQUFBLDBCQUEwQixDQUFDO0lhcHBDakIsT0FBWSxFTmhFVixDQUFDO0dQa3pDWjs7O0FlOW1DTyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWZnaENwQyxBQUFBLDBCQUEwQixDQUFDO0lhcHBDakIsTUFBWSxFTmhFVixDQUFDO0dQa3pDWjs7O0FBOUZELEFBT0ksMEJBUHNCLENBT3RCLHFCQUFxQixDQUFDO0VBQ2xCLGdCQUFnQixFS3hzQ0gsT0FBTztFTHlzQ3BCLEtBQUssRUt2dkNPLE9BQU87RVFtRm5CLE9BQVksRU4xQ1YsSUFBSTtFUGl0Q04sU0FBUyxFQUFFLFFBQVE7Q0FDdEI7O0FlN2hDRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWZnaENwQyxBQU9JLDBCQVBzQixDQU90QixxQkFBcUIsQ0FBQztJYTNwQ2hCLE9BQVksRU5oRFYsSUFBSTtHUGl0Q1g7OztBQWJMLEFBZUksMEJBZnNCLENBZXRCLGdCQUFnQixDQUFDO0VBQ2IsZ0JBQWdCLEVBQUUsSUFBSTtFQUN0QixVQUFVLEVBQUUsSUFBSTtFQUNoQixNQUFNLEVBQUUsR0FBRztFa0JsdkNqQixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ2IrQkUsT0FBTztFYXhDMUIsYUFBYSxFQUFFLEdBQUc7RWxCOHZDWixPQUFPLEVBQUUsSUFBSTtFQUNiLFNBQVMsRUFBRSxJQUFJO0VBQ2YsUUFBUSxFQUFFLE1BQU07RWFockNoQixhQUEwQixFTmhEeEIsR0FBRztDUGt3Q1I7O0FlemtDRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWZnaENwQyxBQWVJLDBCQWZzQixDQWV0QixnQkFBZ0IsQ0FBQztJYWpxQ1gsYUFBMEIsRU50RHhCLElBQUk7R1Bpd0NYOzs7QUF6REwsQUE0QlksMEJBNUJjLENBZXRCLGdCQUFnQixBQVdYLFFBQVEsQ0FFTCxxQkFBcUIsQ0FBQztFQUNsQixnQkFBZ0IsRUszdkNYLE9BQU87RUw0dkNaLEtBQUssRUs3d0NELE9BQU87Q0w4d0NkOztBQS9CYixBQW9DWSwwQkFwQ2MsQ0FldEIsZ0JBQWdCLEFBbUJYLEtBQUssQ0FFRixxQkFBcUIsQ0FBQztFQUNsQixnQkFBZ0IsRUs5d0NiLE9BQU87RUwrd0NWLEtBQUssRUtyeENELE9BQU87Q0xzeENkOztBQXZDYixBQTRDWSwwQkE1Q2MsQ0FldEIsZ0JBQWdCLEFBMkJYLFFBQVEsQ0FFTCxxQkFBcUIsQ0FBQztFQUNsQixnQkFBZ0IsRUtseENaLE9BQU87RUxteENYLEtBQUssRUs3eENELE9BQU87Q0w4eENkOztBQS9DYixBQW9EWSwwQkFwRGMsQ0FldEIsZ0JBQWdCLEFBbUNYLE1BQU0sQ0FFSCxxQkFBcUIsQ0FBQztFQUNsQixnQkFBZ0IsRUt6eENkLE9BQU87RUwweENULEtBQUssRUtyeUNELE9BQU87Q0xzeUNkOztBQXZEYixBQTZESSwwQkE3RHNCLENBNkR0Qix3QkFBd0IsQ0FBQztFQUNyQixRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsR0FBRztFZ0JockNaLFNBQVMsRVJ6Q0UsSUFBSTtFUTBDZixTQUFTLEVMeEdMLElBQXFDO0VLeUd6QyxXQUFXLEVBOUVDLEdBQXlCO0VIa0NuQyxPQUFZLEVOMUNWLElBQUk7Q1BveENUOztBZS9sQ0csTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VmZ2hDcEMsQUE2REksMEJBN0RzQixDQTZEdEIsd0JBQXdCLENBQUM7SWdCcHFDckIsU0FBUyxFUi9DQSxJQUFJO0lRZ0RiLFNBQVMsRUxsSFAsU0FBcUM7SUttSHZDLFdBQVcsRUF4RkQsT0FBeUI7R2hCNHdDdEM7OztBZS9sQ0csTUFBTSxDQUFDLEtBQUs7RWZnaENwQixBQTZESSwwQkE3RHNCLENBNkR0Qix3QkFBd0IsQ0FBQztJZ0J6cUNyQixTQUFTLEVSdENBLElBQUk7SVF1Q2IsV0FBVyxFUnRDQSxJQUFJO0dSZ3VDbEI7OztBZS9sQ0csTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VmZ2hDcEMsQUE2REksMEJBN0RzQixDQTZEdEIsd0JBQXdCLENBQUM7SWFqdENuQixPQUFZLEVOaERWLElBQUk7R1BteENYOzs7QUEvRUwsQUFtRVEsMEJBbkVrQixDQTZEdEIsd0JBQXdCLENBTXBCLHlCQUF5QixDQUFDO0VnQnByQzVCLFNBQVMsRVJ6Q0UsSUFBSTtFUTBDZixTQUFTLEVMeEdMLElBQXFDO0VLeUd6QyxXQUFXLEVBOUVDLEdBQXlCO0VIb0NuQyxhQUEwQixFTjVEeEIsQ0FBQztFUDR4Q0MsV0FBVyxFQUFFLEdBQUc7Q0FDbkI7O0FleGxDRCxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWZnaENwQyxBQW1FUSwwQkFuRWtCLENBNkR0Qix3QkFBd0IsQ0FNcEIseUJBQXlCLENBQUM7SWdCMXFDMUIsU0FBUyxFUi9DQSxJQUFJO0lRZ0RiLFNBQVMsRUxsSFAsU0FBcUM7SUttSHZDLFdBQVcsRUF4RkQsT0FBeUI7R2hCcXdDbEM7OztBZXhsQ0QsTUFBTSxDQUFDLEtBQUs7RWZnaENwQixBQW1FUSwwQkFuRWtCLENBNkR0Qix3QkFBd0IsQ0FNcEIseUJBQXlCLENBQUM7SWdCL3FDMUIsU0FBUyxFUnRDQSxJQUFJO0lRdUNiLFdBQVcsRVJ0Q0EsSUFBSTtHUnl0Q2Q7OztBZXhsQ0QsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VmZ2hDcEMsQUFtRVEsMEJBbkVrQixDQTZEdEIsd0JBQXdCLENBTXBCLHlCQUF5QixDQUFDO0lhcnRDeEIsYUFBMEIsRU5sRXhCLENBQUM7R1A0eENKOzs7QUF4RVQsQUEwRVEsMEJBMUVrQixDQTZEdEIsd0JBQXdCLENBYXBCLHdCQUF3QixDQUFDO0VBQ3JCLEtBQUssRUs3d0NJLE9BQU87RVdpRnRCLFNBQVMsRVJDRSxJQUFJO0VRQWYsU0FBUyxFTHhHTCxPQUFxQztFS3lHekMsV0FBVyxFQTlFQyxPQUF5QjtFSG9DbkMsYUFBMEIsRU41RHhCLENBQUM7Q1BteUNGOztBZTlsQ0QsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VmZ2hDcEMsQUEwRVEsMEJBMUVrQixDQTZEdEIsd0JBQXdCLENBYXBCLHdCQUF3QixDQUFDO0lnQmpyQ3pCLFNBQVMsRVJMQSxJQUFJO0lRTWIsU0FBUyxFTGxIUCxRQUFxQztJS21IdkMsV0FBVyxFQXhGRCxPQUF5QjtHaEIyd0NsQzs7O0FlOWxDRCxNQUFNLENBQUMsS0FBSztFZmdoQ3BCLEFBMEVRLDBCQTFFa0IsQ0E2RHRCLHdCQUF3QixDQWFwQix3QkFBd0IsQ0FBQztJZ0J0ckN6QixTQUFTLEVSSUEsSUFBSTtJUUhiLFdBQVcsRVJJQSxHQUFHO0dScXJDYjs7O0FlOWxDRCxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWZnaENwQyxBQTBFUSwwQkExRWtCLENBNkR0Qix3QkFBd0IsQ0FhcEIsd0JBQXdCLENBQUM7SWE1dEN2QixhQUEwQixFTmxFeEIsQ0FBQztHUGt5Q0o7OztBQTlFVCxBQWlGSSwwQkFqRnNCLENBaUZ0QixzQkFBc0IsQ0FBQztFYTV1Q25CLE9BQVksRU4xQ1YsSUFBSTtFUHl4Q04sUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLEdBQUc7RWdCdHNDWixTQUFTLEVSckVFLElBQUk7RVFzRWYsU0FBUyxFTHhHTCxPQUFxQztFS3lHekMsV0FBVyxFQTlFQyxHQUF5QjtFaEJveENuQyxXQUFXLEVBQUUsR0FBRztFQUNoQixVQUFVLEVBQUUsR0FBRztDQUNsQjs7QWV6bUNHLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFZmdoQ3BDLEFBaUZJLDBCQWpGc0IsQ0FpRnRCLHNCQUFzQixDQUFDO0lhcnVDakIsT0FBWSxFTmhEVixJQUFJO0dQNnhDWDs7O0Flem1DRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWZnaENwQyxBQWlGSSwwQkFqRnNCLENBaUZ0QixzQkFBc0IsQ0FBQztJZ0J4ckNuQixTQUFTLEVSM0VBLElBQUk7SVE0RWIsU0FBUyxFTGxIUCxNQUFxQztJS21IdkMsV0FBVyxFQXhGRCxPQUF5QjtHaEJzeEN0Qzs7O0Flem1DRyxNQUFNLENBQUMsS0FBSztFZmdoQ3BCLEFBaUZJLDBCQWpGc0IsQ0FpRnRCLHNCQUFzQixDQUFDO0lnQjdyQ25CLFNBQVMsRVJsRUEsSUFBSTtJUW1FYixXQUFXLEVSbEVBLElBQUk7R1Jzd0NsQjs7O0FBT0wsQUFBQSxrQ0FBa0MsQ0FBQztFQUMvQixVQUFVLEVBQUUsa0JBQWtCO0NBQ2pDOztBQUdELEFBQUEsOEJBQThCLENBQUM7RUFDM0IsYUFBYSxFQUFFLElBQUk7RUFDbkIsS0FBSyxFQUFFLElBQUk7RUFDWCxXQUFXLEVBQUUsR0FBRztDQUNuQjs7QUFFRCxBQUFBLCtCQUErQixDQUFDO0VBQzVCLE9BQU8sRUFBRSxJQUFJO0NBQ2hCOztBQUVELEFBQUEsZ0JBQWdCLEFBQUEsaUJBQWlCLENBQUM7RUFFOUIsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENLaHpDUCxPQUFPO0NMcTFDM0I7O0FBdkNELEFBS0ksZ0JBTFksQUFBQSxpQkFBaUIsQ0FLN0IsZ0NBQWdDLENBQUM7RUFDN0IsVUFBVSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENLcHpDUixPQUFPO0NMcXpDdkI7O0FBUEwsQUFVSSxnQkFWWSxBQUFBLGlCQUFpQixDQVU3QixpQ0FBaUMsQ0FBQztFQUM5QixZQUFZLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0t6ekNWLE9BQU87Q0wwekN2Qjs7QUFaTCxBQWNJLGdCQWRZLEFBQUEsaUJBQWlCLENBYzdCLGlDQUFpQztBQWRyQyxnQkFBZ0IsQUFBQSxpQkFBaUIsQ0FlN0IsZ0NBQWdDLENBQUM7RWdCL3VDL0IsU0FBUyxFUnpDRSxJQUFJO0VRMENmLFNBQVMsRUx4R0wsSUFBcUM7RUt5R3pDLFdBQVcsRUE5RUMsR0FBeUI7Q2hCNnpDdEM7O0FlaHBDRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWYrbkNwQyxBQWNJLGdCQWRZLEFBQUEsaUJBQWlCLENBYzdCLGlDQUFpQztFQWRyQyxnQkFBZ0IsQUFBQSxpQkFBaUIsQ0FlN0IsZ0NBQWdDLENBQUM7SWdCcnVDN0IsU0FBUyxFUi9DQSxJQUFJO0lRZ0RiLFNBQVMsRUxsSFAsU0FBcUM7SUttSHZDLFdBQVcsRUF4RkQsT0FBeUI7R2hCNnpDdEM7OztBZWhwQ0csTUFBTSxDQUFDLEtBQUs7RWYrbkNwQixBQWNJLGdCQWRZLEFBQUEsaUJBQWlCLENBYzdCLGlDQUFpQztFQWRyQyxnQkFBZ0IsQUFBQSxpQkFBaUIsQ0FlN0IsZ0NBQWdDLENBQUM7SWdCMXVDN0IsU0FBUyxFUnRDQSxJQUFJO0lRdUNiLFdBQVcsRVJ0Q0EsSUFBSTtHUml4Q2xCOzs7QUFqQkwsQUFtQkksZ0JBbkJZLEFBQUEsaUJBQWlCLENBbUI3QixFQUFFLEFBQUEsV0FBVyxDQUFDLEVBQUUsQ0FBQztFYTN4Q2IsYUFBMEIsRU5oRHhCLEdBQUc7Q1A2MENSOztBZXBwQ0csTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VmK25DcEMsQUFtQkksZ0JBbkJZLEFBQUEsaUJBQWlCLENBbUI3QixFQUFFLEFBQUEsV0FBVyxDQUFDLEVBQUUsQ0FBQztJYXB4Q1gsYUFBMEIsRU50RHhCLElBQUk7R1A0MENYOzs7QUFyQkwsQUF3QkksZ0JBeEJZLEFBQUEsaUJBQWlCLENBd0I3Qix5QkFBeUIsQ0FBQztFQUN0QixhQUFhLEVBQUUsSUFBSTtDQUN0Qjs7QUExQkwsQUE0QkksZ0JBNUJZLEFBQUEsaUJBQWlCLENBNEI3Qiw4QkFBOEIsQ0FBQztFQUMzQixhQUFhLEVBQUUsSUFBSTtFQUNuQixLQUFLLEVBQUUsSUFBSTtFZ0I5dkNiLFNBQVMsRVJiRSxJQUFJO0VRY2YsU0FBUyxFTHhHTCxRQUFxQztFS3lHekMsV0FBVyxFQTlFQyxPQUF5QjtDaEI0MEN0Qzs7QWUvcENHLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFZituQ3BDLEFBNEJJLGdCQTVCWSxBQUFBLGlCQUFpQixDQTRCN0IsOEJBQThCLENBQUM7SWdCbHZDM0IsU0FBUyxFUm5CQSxJQUFJO0lRb0JiLFNBQVMsRUxsSFAsSUFBcUM7SUttSHZDLFdBQVcsRUF4RkQsR0FBeUI7R2hCNDBDdEM7OztBZS9wQ0csTUFBTSxDQUFDLEtBQUs7RWYrbkNwQixBQTRCSSxnQkE1QlksQUFBQSxpQkFBaUIsQ0E0QjdCLDhCQUE4QixDQUFDO0lnQnZ2QzNCLFNBQVMsRVJWQSxJQUFJO0lRV2IsV0FBVyxFUlZBLEdBQUc7R1Jvd0NqQjs7O0FBaENMLEFBa0NJLGdCQWxDWSxBQUFBLGlCQUFpQixDQWtDN0IsK0JBQStCLENBQUM7RUFDNUIsT0FBTyxFQUFFLElBQUk7RUFDYixhQUFhLEVBQUUsSUFBSTtFZ0Jwd0NyQixTQUFTLEVSYkUsSUFBSTtFUWNmLFNBQVMsRUx4R0wsUUFBcUM7RUt5R3pDLFdBQVcsRUE5RUMsT0FBeUI7Q2hCazFDdEM7O0FlcnFDRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWYrbkNwQyxBQWtDSSxnQkFsQ1ksQUFBQSxpQkFBaUIsQ0FrQzdCLCtCQUErQixDQUFDO0lnQnh2QzVCLFNBQVMsRVJuQkEsSUFBSTtJUW9CYixTQUFTLEVMbEhQLElBQXFDO0lLbUh2QyxXQUFXLEVBeEZELEdBQXlCO0doQmsxQ3RDOzs7QWVycUNHLE1BQU0sQ0FBQyxLQUFLO0VmK25DcEIsQUFrQ0ksZ0JBbENZLEFBQUEsaUJBQWlCLENBa0M3QiwrQkFBK0IsQ0FBQztJZ0I3dkM1QixTQUFTLEVSVkEsSUFBSTtJUVdiLFdBQVcsRVJWQSxHQUFHO0dSMHdDakI7OztBQU1MLEFBR0ksaUJBSGEsQ0FHYixFQUFFLEFBQUEsV0FBVyxDQUFDLEVBQUUsQ0FBQztFYXZ6Q2IsYUFBMEIsRU5oRHhCLEdBQUc7Q1B5MkNSOztBZWhyQ0csTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VmMnFDcEMsQUFHSSxpQkFIYSxDQUdiLEVBQUUsQUFBQSxXQUFXLENBQUMsRUFBRSxDQUFDO0lhaHpDWCxhQUEwQixFTnREeEIsSUFBSTtHUHcyQ1g7OztBQUxMLEFBT0ksaUJBUGEsQ0FPYix5QkFBeUIsQ0FBQztFQUN0QixhQUFhLEVBQUUsSUFBSTtDQUN0Qjs7QUFUTCxBQVdJLGlCQVhhLENBV2IsOEJBQThCLENBQUM7RUFDM0IsYUFBYSxFQUFFLElBQUk7RUFDbkIsS0FBSyxFQUFFLElBQUk7RWdCenhDYixTQUFTLEVSYkUsSUFBSTtFUWNmLFNBQVMsRUx4R0wsUUFBcUM7RUt5R3pDLFdBQVcsRUE5RUMsT0FBeUI7RWhCdTJDbkMsV0FBVyxFQUFFLEdBQUc7RUFFaEIsV0FBVyxFQUFFLElBQUk7Q0FDcEI7O0FlN3JDRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWYycUNwQyxBQVdJLGlCQVhhLENBV2IsOEJBQThCLENBQUM7SWdCN3dDM0IsU0FBUyxFUm5CQSxJQUFJO0lRb0JiLFNBQVMsRUxsSFAsSUFBcUM7SUttSHZDLFdBQVcsRUF4RkQsR0FBeUI7R2hCMDJDdEM7OztBZTdyQ0csTUFBTSxDQUFDLEtBQUs7RWYycUNwQixBQVdJLGlCQVhhLENBV2IsOEJBQThCLENBQUM7SWdCbHhDM0IsU0FBUyxFUlZBLElBQUk7SVFXYixXQUFXLEVSVkEsR0FBRztHUmt5Q2pCOzs7QUFsQkwsQUFvQkksaUJBcEJhLENBb0JiLCtCQUErQixDQUFDO0VBQzVCLE9BQU8sRUFBRSxJQUFJO0VnQmp5Q2YsU0FBUyxFUmJFLElBQUk7RVFjZixTQUFTLEVMeEdMLFFBQXFDO0VLeUd6QyxXQUFXLEVBOUVDLE9BQXlCO0NoQisyQ3RDOztBZWxzQ0csTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VmMnFDcEMsQUFvQkksaUJBcEJhLENBb0JiLCtCQUErQixDQUFDO0lnQnR4QzVCLFNBQVMsRVJuQkEsSUFBSTtJUW9CYixTQUFTLEVMbEhQLElBQXFDO0lLbUh2QyxXQUFXLEVBeEZELEdBQXlCO0doQisyQ3RDOzs7QWVsc0NHLE1BQU0sQ0FBQyxLQUFLO0VmMnFDcEIsQUFvQkksaUJBcEJhLENBb0JiLCtCQUErQixDQUFDO0lnQjN4QzVCLFNBQVMsRVJWQSxJQUFJO0lRV2IsV0FBVyxFUlZBLEdBQUc7R1J1eUNqQjs7O0FBR0wsQUFDSSxxQkFEaUIsR0FDakIsRUFBRSxHQUFDLEVBQUUsR0FBQyxDQUFDLENBQUM7RUFDSixhQUFhLEVBQUUsY0FBYztDQUNoQzs7QUFHTCxBQUVJLGdCQUZZLENBRVosOEJBQThCO0FBRmxDLGdCQUFnQixDQUdaLCtCQUErQixDQUFDO0VBQzVCLFdBQVcsRUFBRSxvQkFBb0I7Q0FDcEM7O0FBTEwsQUFPSSxnQkFQWSxDQU9aLElBQUksQ0FBQztFQUNELGFBQWEsRUFBRSxHQUFHLENLajdDTixPQUFPLENMaTdDbUIsTUFBTTtDQUsvQzs7QUFiTCxBQVVRLGdCQVZRLENBT1osSUFBSSxDQUdBLENBQUMsQ0FBQztFQUNFLGVBQWUsRUFBRSxJQUFJO0NBQ3hCOztBQUtULEFBQUEsa0JBQWtCLENBQUM7RUFDZixPQUFPLEVBQUUsSUFBSTtFQUNiLFFBQVEsRUFBRSxjQUFjO0VBQ3hCLFFBQVEsRUFBRSxNQUFNO0VBQ2hCLEdBQUcsRUFBRSxDQUFDO0VBQ04sVUFBVSxFQUFFLElBQUk7RUFDaEIsVUFBVSxFQUFFLE1BQU07RUFDbEIsZUFBZSxFQUFFLElBQUk7RUFDckIsT0FBTyxFQUFFLENBQUM7RUFDVixnQkFBZ0IsRUtsNUNDLE9BQU87RUxtNUN4QixNQUFNLEVBQUUsVUFBVTtFQUNsQixNQUFNLEVBQUUsZ0JBQWdCO0VBQ3hCLGFBQWEsRUFBRSxNQUFNO0VBQ3JCLGVBQWUsRUFBRSxNQUFNO0VBQ3ZCLGNBQWMsRUFBRSxNQUFNO0VBQ3RCLFdBQVcsRUFBRSxNQUFNO0NBWXRCOztBQTNCRCxBQWlCSSxrQkFqQmMsQ0FpQmQsRUFBRSxDQUFDO0VBQ0MsTUFBTSxFQUFFLE9BQU87RUFDZixXQUFXLEVBQUUsR0FBRztDQUNuQjs7QUFwQkwsQUFzQkksa0JBdEJjLENBc0JkLEVBQUUsQ0FBQyxDQUFDLEFBQUEsS0FBSztBQXRCYixrQkFBa0IsQ0F1QmQsRUFBRSxDQUFDLENBQUMsQUFBQSxRQUFRLENBQUM7RUFDVCxlQUFlLEVBQUUsSUFBSTtFQUNyQixLQUFLLEVBQUUsT0FBTztDQUNqQjs7QWV0dkNHLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFZjJ2Q2hDLEFBQUEsNEJBQTRCO0VBQzVCLHdCQUF3QjtFQUN4QiwwQkFBMEIsQ0FBQztJQUN2QixXQUFXLEVBQUUsSUFBSTtJQUNqQixjQUFjLEVBQUUsSUFBSTtJQUNwQixhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0svNkNYLE9BQU87R0xnN0N2Qjs7O0FBS0wsQUFHUSx5QkFIaUIsQ0FFckIscURBQXFELENBQ2pELHNCQUFzQixDQUFDO0VBQ25CLFdBQVcsRUFBRSxHQUFHO0NBQ25COztBQUxULEFBUUkseUJBUnFCLENBUXJCLHlCQUF5QixDQUFDO0VBSXRCLGFBQWEsRUFBRSxHQUFHO0NBeUJyQjs7QUFyQ0wsQUFjUSx5QkFkaUIsQ0FRckIseUJBQXlCLENBTXJCLDhCQUE4QixDQUFDO0VBQzNCLFdBQVcsRUFBRSxJQUFJO0NBU3BCOztBQXhCVCxBQWlCWSx5QkFqQmEsQ0FRckIseUJBQXlCLENBTXJCLDhCQUE4QixDQUcxQixPQUFPLENBQUM7RUFDSixPQUFPLEVBQUUsSUFBSTtFQUNiLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFlBQVksRUFBRSxHQUFHO0NBQ3BCOztBQXJCYixBQTBCUSx5QkExQmlCLENBUXJCLHlCQUF5QixBQWtCcEIsdUNBQXVDLENBQUM7RUFDckMsV0FBVyxFQUFFLElBQUk7RUFDakIsVUFBVSxFSy84Q0QsT0FBTztDTG85Q25COztBQWpDVCxBQThCWSx5QkE5QmEsQ0FRckIseUJBQXlCLEFBa0JwQix1Q0FBdUMsQ0FJcEMsc0JBQXNCLENBQUM7RUFDbkIsV0FBVyxFQUFFLEdBQUc7Q0FDbkI7O0FBUWIsQUFFSSxvQkFGZ0IsR0FFZixFQUFFLENBQUM7RUFDQSxhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0toK0NYLE9BQU87RVFzQ3BCLFdBQTBCLEVOcER4QixHQUFHO0VNb0RMLGNBQTBCLEVOaER4QixHQUFHO0NQNitDUjs7QWVwekNHLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztFZjh5Q3BDLEFBRUksb0JBRmdCLEdBRWYsRUFBRSxDQUFDO0lhbDdDRSxXQUEwQixFTjFEeEIsR0FBRztHUGcvQ1Y7OztBZXB6Q0csTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VmOHlDcEMsQUFFSSxvQkFGZ0IsR0FFZixFQUFFLENBQUM7SWFsN0NFLGNBQTBCLEVOdER4QixJQUFJO0dQNCtDWDs7O0FBTkwsQUFRSSxvQkFSZ0IsQ0FRaEIsYUFBYSxDQUFDO0VBQ1YsYUFBYSxFQUFFLElBQUk7RWFoOENuQixjQUEwQixFTjVEeEIsQ0FBQztDUCsvQ047O0FlMXpDRyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWY4eUNwQyxBQVFJLG9CQVJnQixDQVFoQixhQUFhLENBQUM7SWF4N0NSLGNBQTBCLEVObEV4QixDQUFDO0dQOC9DUjs7O0FBY0wsQUFBQSxnQkFBZ0IsQ0FBQztFQUNiLFlBQVksRUFBRSxHQUFHO0VBQ2pCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsTUFBTSxFQUFFLE9BQU87RUFDZixTQUFTLEVBQUUsSUFBSTtDQUNsQjs7QUFFRCxBQUFBLFVBQVUsQ0FBQztFQUNQLFNBQVMsRUFBRSxJQUFJO0VBQ2YsY0FBYyxFQUFFLEdBQUc7RUFDbkIsTUFBTSxFQUFFLFNBQVM7RUFDakIsYUFBYSxFQUFFLElBQUk7RUFDbkIsVUFBVSxFS25qRE0sT0FBTztFYU16QixhQUFhLEVBQUUsR0FBRztFbEIraURoQixRQUFRLEVBQUUsTUFBTTtFQUNoQixJQUFJLEVBQUUsQ0FBQztFQUNQLE1BQU0sRUFBRSxnQkFBZ0I7RUFDeEIsYUFBYSxFQUFFLEdBQUc7RUFDbEIsT0FBTyxFQUFFLElBQUk7RUFDYixXQUFXLEVBQUUsQ0FBQztFQUNkLFVBQVUsRUFBRSxHQUFHO0NBeUhsQjs7QUF0SUQsQUFpQkksVUFqQk0sQ0FpQk4sS0FBSyxDQUFDO0VBQ0YsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLENBQUM7RUFDVixNQUFNLEVBQUUsS0FBSztDQUNoQjs7QUFyQkwsQUF1QkksVUF2Qk0sQ0F1Qk4sTUFBTSxDQUFDO0VBQ0gsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLENBQUM7RUFDTixLQUFLLEVBQUUsQ0FBQztFQUNSLE1BQU0sRUFBRSxDQUFDO0VBQ1QsSUFBSSxFQUFFLENBQUM7RUFDUCxlQUFlLEVBQUUsS0FBSztFQUN0QixtQkFBbUIsRUFBRSxNQUFNO0VBQzNCLFVBQVUsRUFBRSxhQUFhO0NBQzVCOztBQWhDTCxBQWtDSSxVQWxDTSxDQWtDTixRQUFRO0FBbENaLFVBQVUsQ0FtQ04sUUFBUSxDQUFDLEVBQUUsQ0FBQztFQUNSLE1BQU0sRUFBRSxJQUFJO0VBQ1osT0FBTyxFQUFFLENBQUM7RUFDVixVQUFVLEVBQUUsSUFBSTtDQUNuQjs7QUF2Q0wsQUF5Q0ksVUF6Q00sQ0F5Q04sUUFBUSxDQUFDO0VBQ0wsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLENBQUM7RUFDTixNQUFNLEVBQUUsQ0FBQztFQUNULElBQUksRUFBRSxLQUFLO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFDWixVQUFVLEVBQUUsUUFBUTtFQUNwQixVQUFVLEVBQU8sa0JBQUk7RUFDckIsS0FBSyxFQTdEQyxJQUFJO0VBOERWLE9BQU8sRUFBRSxJQUFJO0VBQ2IsS0FBSyxFQUFFLElBQUk7RUFDWCxTQUFTLEVBQUUsS0FBSztDQUVuQjs7QUF0REwsQUF3REksVUF4RE0sQ0F3RE4sWUFBWSxDQUFDO0VBQ1QsT0FBTyxFQUFFLElBQUk7RUFDYixVQUFVLEVLeG1ERSxPQUFPO0VMeW1EbkIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLENBQUM7Q0FXYjs7QUF2RUwsQUErRFksVUEvREYsQ0F3RE4sWUFBWSxDQU1SLFVBQVUsQ0FDTixDQUFDLENBQUM7RUFFRSxPQUFPLEVBQUUsWUFBWTtFQUNyQixRQUFRLEVBQUUsUUFBUTtDQUdyQjs7QUFyRWIsQUF5RUksVUF6RU0sQ0F5RU4sQ0FBQyxDQUFDO0VBQ0UsUUFBUSxFQUFFLFFBQVE7RUFDbEIsTUFBTSxFQUFFLFFBQVE7Q0FlbkI7O0FBMUZMLEFBNkVRLFVBN0VFLENBeUVOLENBQUMsQUFJSSxjQUFjLENBQUM7RUFDWixVQUFVLEVBQUUsT0FBTztDQVd0Qjs7QUF6RlQsQUFnRlksVUFoRkYsQ0F5RU4sQ0FBQyxBQUlJLGNBQWMsQUFHVixPQUFPLENBQUM7RUFDTCxPQUFPLEVBQUUsRUFBRTtFQUNYLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE1BQU0sRUFBRSxHQUFHO0VBQ1gsVUFBVSxFS3RuREwsT0FBTztFTHVuRFosS0FBSyxFQUFFLElBQUk7RUFDWCxHQUFHLEVBQUUsUUFBUTtFQUNiLGFBQWEsRUFBRSxHQUFHO0NBQ3JCOztBZXY2Q0wsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO0VmKzBDcEMsQUFBQSxVQUFVLENBQUM7SUE4RkgsY0FBYyxFQUFFLEdBQUc7SUFDbkIsU0FBUyxFQUFFLEdBQUc7R0F1Q3JCO0VBdElELEFBaUJJLFVBakJNLENBaUJOLEtBQUssQ0FnRks7SUFDRixVQUFVLEVBQUUsR0FBRztJQUNmLE1BQU0sRUFBRSxJQUFJO0dBQ2Y7RUFwR1QsQUF3REksVUF4RE0sQ0F3RE4sWUFBWSxDQThDSztJQUNULFVBQVUsRUFBRSxHQUFHO0dBYWxCO0VBcEhULEFBeUdZLFVBekdGLENBc0dGLFlBQVksQUFHUCxPQUFPLENBQUM7SUFDTCxTQUFTLEVBQUUsWUFBWTtJQUN2QixPQUFPLEVBQUUsRUFBRTtJQUNYLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLEtBQUssRUFBRSxJQUFJO0lBQ1gsUUFBUSxFQUFFLFFBQVE7SUFDbEIsSUFBSSxFQUFFLEtBQUs7SUFDWCxHQUFHLEVBQUUsQ0FBQztJQUNOLE1BQU0sRUFBRSxDQUFDO0lBQ1QsT0FBTyxFQUFFLEVBQUU7R0FDZDtFQW5IYixBQXNIUSxVQXRIRSxBQXNIRCxJQUFJLENBQUM7SUFDRixjQUFjLEVBQUUsV0FBVztHQWE5QjtFQXBJVCxBQTBIZ0IsVUExSE4sQUFzSEQsSUFBSSxDQUdELFlBQVksQUFDUCxPQUFPLENBQUM7SUFDTCxJQUFJLEVBQUUsT0FBTztJQUNiLEtBQUssRUFBRSxLQUFLO0lBQ1osU0FBUyxFQUFFLFVBQVU7R0FDeEI7RUE5SGpCLEFBaUlZLFVBaklGLEFBc0hELElBQUksQ0FXRCxRQUFRLENBQUM7SUFDTCxZQUFZLEVBQUUsSUFBSTtHQUNyQjs7O0FlbDlDTCxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7RWZ3MENwQyxBQUFBLGdCQUFnQixDQWdKSztJQUNiLE1BQU0sRUFBRSxLQUFLO0dBQ2hCO0VBM0lMLEFBQUEsVUFBVSxDQTZJSztJQUNQLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLE1BQU0sRUFBRSxTQUFTO0dBS3BCO0VBUEQsQUFJSSxVQUpNLEFBSUwsY0FBYyxDQUFDO0lBQ1osVUFBVSxFQUFFLEdBQUc7R0FDbEIifQ== */
