/*-- -------------------------- -->
<---        Core Styles         -->
<--- -------------------------- -*/
/* CodeStitch Core Styles + Reset */
@media only screen and (min-width: 0px) {
  /* All elements in the library derive their variables and base styles from this central sheet, simplifying site-wide edits. For instance, if you want to modify how your h2's appear across the site, you just update it once in the global styles, and the changes apply everywhere. */
  :root {
    --primary: #279989;
    --primaryLight: #ffba43;
    --secondary: #ffba43;
    --secondaryLight: #ffba43;
    --headerColor: #1a1a1a;
    --bodyTextColor: #4e4b66;
    --bodyTextColorWhite: #fafbfc;
    /* 13px - 16px */
    --topperFontSize: clamp(0.8125rem, 1.6vw, 1rem);
    /* 31px - 49px */
    --headerFontSize: clamp(1.9375rem, 3.9vw, 3.0625rem);
    --bodyFontSize: 1rem;
    /* 60px - 100px top and bottom */
    --sectionPadding: clamp(3.75rem, 7.82vw, 6.25rem) 1rem;
    --headerFont: "Roboto", Arial, sans-serif;
    --bodyFont: "Roboto", Arial, sans-serif;
  }
  html,
  body {
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    font-family: var(--bodyFont);
    font-size: 100%;
    transition: background-color 0.3s;
    color: var(--bodyTextColor);
  }
  *,
  *:before,
  *:after {
    /* prevents padding from affecting height and width */
    box-sizing: border-box;
    margin: 0;
    padding: 0;
  }
  .cs-topper {
    font-size: var(--topperFontSize);
    line-height: 1.2em;
    text-transform: uppercase;
    text-align: inherit;
    letter-spacing: 0.1em;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 0.25rem;
    display: block;
  }
  .cs-title {
    font-size: var(--headerFontSize);
    font-weight: 900;
    line-height: 1.2em;
    text-align: inherit;
    max-width: 43.75rem;
    margin: 0 0 1rem 0;
    color: var(--headerColor);
    position: relative;
  }
  .cs-text {
    font-size: var(--bodyFontSize);
    line-height: 1.5em;
    text-align: inherit;
    width: 100%;
    max-width: 40.625rem;
    margin: 0;
    color: var(--bodyTextColor);
  }
}
/* Components + Utilities */
@media only screen and (min-width: 0px) {
  .skip {
    z-index: -1111111;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
  }
  .cs-button-solid {
    z-index: 1;
    position: relative;
    display: inline-block;
    background-color: var(--primary);
    width: auto;
    padding: 1rem 2rem;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 1rem;
    line-height: 1em;
    font-weight: bold;
    border-radius: 0.25rem;
    overflow: hidden;
    color: var(--bodyTextColorWhite);
    transition: color 0.3s;
    transition-delay: 0.1s;
    text-align: center;
  }
  .cs-button-solid:hover {
    color: #fff;
  }
  .cs-button-solid:hover:before {
    width: 100%;
  }
  .cs-button-solid:before {
    z-index: -1;
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    opacity: 1;
    display: block;
    background-color: #000;
    height: 100%;
    width: 0;
    transition: width 0.3s;
  }
  .cs-button-outline {
    z-index: 1;
    position: relative;
    display: inline-block;
    width: auto;
    padding: 1rem 2rem;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 1rem;
    line-height: 1em;
    font-weight: bold;
    border: 2px solid #000;
    color: #000;
    transition: color 0.3s;
    transition-delay: 0.1s;
    text-align: center;
  }
  .cs-button-outline:hover {
    color: #fff;
  }
  .cs-button-outline:hover:before {
    width: 100%;
  }
  .cs-button-outline:before {
    z-index: -1;
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    opacity: 1;
    display: block;
    background-color: #000;
    height: 100%;
    width: 0;
    transition: width 0.3s;
  }
  .cs-color {
    color: var(--primary);
  }
  .cs-bold {
    font-weight: 700;
  }
  .cs-hide-on-mobile {
    display: none !important;
  }
  .cs-dark,
  .dark {
    display: none !important;
  }
  body.dark-mode .cs-light,
  body.dark-mode .light {
    display: none !important;
  }
  body.dark-mode .cs-dark,
  body.dark-mode .dark {
    display: block !important;
  }
  body.dark-mode .cs-button-outline {
    border-color: #fff;
    color: #fff;
  }
}
/* Desktop Utilities */
@media only screen and (min-width: 64rem) {
  .cs-hide-on-mobile {
    display: block !important;
  }
  .cs-hide-on-desktop {
    display: none !important;
  }
}
/* Base Element Styles */
@media only screen and (min-width: 0px) {
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-family: var(--headerFont);
    line-height: 1.2em;
    color: var(--headerColor);
  }
  p,
  li,
  a {
    font-size: 1rem;
    line-height: 1.5em;
  }
  p,
  li {
    color: var(--bodyTextColor);
  }
  p a,
  li a {
    color: var(--primary);
  }
  a:hover,
  button:hover {
    cursor: pointer;
  }
  body.dark-mode {
    background-color: var(--dark);
  }
  body.dark-mode p,
  body.dark-mode li,
  body.dark-mode h1,
  body.dark-mode h2,
  body.dark-mode h3,
  body.dark-mode h4,
  body.dark-mode h5,
  body.dark-mode h6 {
    color: #fff;
  }
}
/* Fonts */
@media only screen and (min-width: 0px) {
  /* roboto-regular - latin */
  @font-face {
    font-style: normal;
    font-family: "Roboto";
    font-weight: 400;
    font-display: swap;
    src: local(""), url("/assets/fonts/roboto-v29-latin-regular.woff2") format("woff2"), /* Chrome 26+, Opera 23+, Firefox 39+ */ url("/assets/fonts/roboto-v29-latin-regular.woff") format("woff");
    /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
  }
  /* roboto-700 - latin */
  @font-face {
    font-style: normal;
    font-family: "Roboto";
    font-weight: 700;
    font-display: swap;
    src: local(""), url("/assets/fonts/roboto-v29-latin-700.woff2") format("woff2"), /* Chrome 26+, Opera 23+, Firefox 39+ */ url("/assets/fonts/roboto-v29-latin-700.woff") format("woff");
    /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
  }
  /* roboto-900 - latin */
  @font-face {
    font-style: normal;
    font-family: "Roboto";
    font-weight: 900;
    font-display: swap;
    src: local(""), url("/assets/fonts/roboto-v29-latin-900.woff2") format("woff2"), /* Chrome 26+, Opera 23+, Firefox 39+ */ url("/assets/fonts/roboto-v29-latin-900.woff") format("woff");
    /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
  }
}
/*-- -------------------------- -->
<---      Dark Mode Toggle      -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0px) {
  body.dark-mode #dark-mode-toggle .cs-sun {
    opacity: 1;
    transform: translate(-50%, -50%);
  }
  body.dark-mode #dark-mode-toggle .cs-moon {
    opacity: 0;
    transform: translate(-50%, -150%);
    fill: #fff;
  }
  #dark-mode-toggle {
    width: 3rem;
    height: 3rem;
    padding: 0;
    background: transparent;
    border: none;
    display: block;
    position: absolute;
    top: 0.625rem;
    right: 4.375rem;
    z-index: 1000;
    overflow: hidden;
  }
  #dark-mode-toggle img,
  #dark-mode-toggle svg {
    width: 1.25rem;
    height: 1.25rem;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
  }
  #dark-mode-toggle .cs-moon {
    z-index: 2;
    transition: transform 0.3s, opacity 0.3s;
  }
  #dark-mode-toggle .cs-sun {
    opacity: 0;
    z-index: 1;
    transform: translate(-50%, 100%);
    transition: transform 0.3s, opacity 0.3s;
  }
}
/* Desktop - 1024px */
@media only screen and (min-width: 1024px) {
  #dark-mode-toggle {
    margin: 0;
    position: relative;
    top: auto;
    right: auto;
    transform: none;
  }
  #dark-mode-toggle:hover {
    cursor: pointer;
  }
}
/*-- -------------------------- -->
<---     Grain Overlay          -->
<--- -------------------------- -*/
.grain-overlay {
  position: fixed;
  inset: -50%;
  width: 200%;
  height: 200%;
  background-image: url(../../assets/svgs/grain-overlay.svg);
  opacity: 0.035;
  pointer-events: none;
  z-index: 9999;
  animation: grain 8s steps(10) infinite;
}
/*-- -------------------------- -->
<---     Mobile Navigation      -->
<--- -------------------------- -*/
/* Mobile - 1023.5px */
@media only screen and (max-width: 1023.5px) {
  body.cs-open {
    overflow: hidden;
  }
  #cs-navigation {
    width: 100%;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    padding: 0.75rem 1rem;
    background-color: #000000;
    box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
    position: fixed;
    z-index: 10000;
  }
  #cs-navigation:before {
    /* black blurred overlay */
    content: "";
    width: 0%;
    height: 100vh;
    background: rgba(0, 0, 0, 0.6);
    opacity: 0;
    display: block;
    position: absolute;
    top: 100%;
    right: 0;
    z-index: -11;
    transition: width 0.5s, opacity 0.3s;
    backdrop-filter: blur(10px);
  }
  #cs-navigation.cs-active:before {
    width: 100%;
    opacity: 1;
  }
  #cs-navigation.cs-active .cs-ul-wrapper {
    opacity: 1;
    transform: scaleX(1);
    transition-delay: 0.2s;
  }
  #cs-navigation.cs-active .cs-li {
    opacity: 1;
    transform: translateX(0);
  }
  #cs-navigation .cs-container {
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }
  #cs-navigation .cs-logo {
    width: 40%;
    max-width: 9.125rem;
    height: 100%;
    margin: 0 auto 0 0;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 10;
  }
  #cs-navigation .cs-logo img {
    width: 100%;
    height: 100%;
    /* ensures the image never overflows the container. It stays contained within it's width and height and expands to fill it then stops once it reaches an edge */
    -o-object-fit: contain;
       object-fit: contain;
    /* places the image to the left edge of the parent */
    -o-object-position: left;
       object-position: left;
  }
  #cs-navigation .cs-toggle {
    /* 44px - 48px */
    width: clamp(2.75rem, 6vw, 3rem);
    height: clamp(2.75rem, 6vw, 3rem);
    margin: 0 0 0 auto;
    background-color: transparent;
    border: none;
    border-radius: 0.25rem;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #cs-navigation .cs-active .cs-line1 {
    top: 50%;
    transform: translate(-50%, -50%) rotate(225deg);
  }
  #cs-navigation .cs-active .cs-line2 {
    top: 50%;
    transform: translate(-50%, -50%) translateY(0) rotate(-225deg);
    transform-origin: center;
  }
  #cs-navigation .cs-active .cs-line3 {
    opacity: 0;
    bottom: 100%;
  }
  #cs-navigation .cs-box {
    /* 24px - 28px */
    width: clamp(1.5rem, 2vw, 1.75rem);
    /* 14px - 16px */
    height: clamp(0.875rem, 1.5vw, 1rem);
    position: relative;
  }
  #cs-navigation .cs-line {
    width: 100%;
    height: 2px;
    background-color: #1a1a1a;
    border-radius: 2px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
  }
  #cs-navigation .cs-line1 {
    top: 0;
    transition: transform 0.5s, top 0.3s, left 0.3s;
    animation-duration: 0.7s;
    animation-timing-function: ease;
    animation-direction: normal;
    animation-fill-mode: forwards;
    transform-origin: center;
  }
  #cs-navigation .cs-line2 {
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    transition: top 0.3s, left 0.3s, transform 0.5s;
    animation-duration: 0.7s;
    animation-timing-function: ease;
    animation-direction: normal;
    animation-fill-mode: forwards;
  }
  #cs-navigation .cs-line3 {
    bottom: 0;
    transition: bottom 0.3s, opacity 0.3s;
  }
  #cs-navigation .cs-ul-wrapper {
    height: 100vh;
    background-color: #fff;
    box-shadow: inset rgba(0, 0, 0, 0.2) 0px 8px 24px;
    opacity: 0;
    position: absolute;
    top: 100%;
    right: 0;
    left: auto;
    z-index: -1;
    overflow: hidden;
    transform: scaleX(0);
    transition: transform 0.4s, opacity 0.3s;
    transform-origin: top right;
  }
  #cs-navigation .cs-ul {
    width: auto;
    min-width: 40%;
    height: 65vh;
    margin: 0;
    /* 28px - 40px */
    padding: 3rem clamp(1.75rem, 3vw, 2.5rem) 2rem 4.375rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-end;
    gap: 1.25rem;
    overflow: scroll;
  }
  #cs-navigation .cs-li {
    text-align: right;
    list-style: none;
    width: 100%;
    margin-right: 0;
    opacity: 0;
    /* transition from these values */
    transform: translateX(-2.5rem);
    transition: transform 0.6s, opacity 0.9s;
  }
  #cs-navigation .cs-li:nth-of-type(1) {
    transition-delay: 0.05s;
  }
  #cs-navigation .cs-li:nth-of-type(2) {
    transition-delay: 0.1s;
  }
  #cs-navigation .cs-li:nth-of-type(3) {
    transition-delay: 0.15s;
  }
  #cs-navigation .cs-li:nth-of-type(4) {
    transition-delay: 0.2s;
  }
  #cs-navigation .cs-li:nth-of-type(5) {
    transition-delay: 0.25s;
  }
  #cs-navigation .cs-li:nth-of-type(6) {
    transition-delay: 0.3s;
  }
  #cs-navigation .cs-li:nth-of-type(7) {
    transition-delay: 0.35s;
  }
  #cs-navigation .cs-li:nth-of-type(8) {
    transition-delay: 0.4s;
  }
  #cs-navigation .cs-li:nth-of-type(9) {
    transition-delay: 0.45s;
  }
  #cs-navigation .cs-li-link {
    /* 16px - 24px */
    font-size: clamp(1rem, 2.5vw, 1.5rem);
    line-height: 1.2em;
    text-decoration: none;
    margin: 0;
    padding: 0.25rem;
    color: var(--headerColor);
    display: inline-block;
    position: relative;
  }
  #cs-navigation .cs-li-link:before {
    /* active state underline */
    content: "";
    width: 100%;
    height: 1px;
    background: currentColor;
    opacity: 1;
    display: none;
    position: absolute;
    bottom: -0.125rem;
    left: 0;
  }
  #cs-navigation .cs-li-link.cs-active:before {
    display: block;
  }
  #cs-navigation .cs-button-solid {
    display: none;
  }
}
/* Dark Mode */
@media only screen and (max-width: 1023.5px) {
  body.dark-mode #cs-navigation {
    background-color: var(--dark);
  }
  body.dark-mode #cs-navigation .cs-logo {
    /* makes it white */
    filter: grayscale(1) brightness(1000%);
  }
  body.dark-mode #cs-navigation .cs-line {
    background-color: #fff;
  }
  body.dark-mode #cs-navigation .cs-ul-wrapper {
    background-color: var(--medium);
  }
  body.dark-mode #cs-navigation .cs-li-link {
    color: var(--bodyTextColorWhite);
  }
}
/*-- -------------------------- -->
<---     Navigation Dropdown    -->
<--- -------------------------- -*/
/* Mobile - 1023.5px */
@media only screen and (max-width: 1023.5px) {
  #cs-navigation .cs-dropdown {
    color: var(--bodyTextColorWhite);
    position: relative;
  }
  #cs-navigation .cs-dropdown .cs-dropdown-toggle {
    /* Reset default button styles */
    background: none;
    border: none;
    font-family: inherit;
    text-align: inherit;
    cursor: pointer;
    /* Remove any default focus styles */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }
  #cs-navigation .cs-dropdown.cs-active .cs-drop-ul {
    height: auto;
    margin: 0.75rem 0 0 0;
    padding: 1.5rem;
    opacity: 1;
    visibility: visible;
    transform: scale(1);
  }
  #cs-navigation .cs-dropdown.cs-active .cs-drop-link {
    opacity: 1;
  }
  #cs-navigation .cs-dropdown .cs-li-link {
    position: relative;
    transition: opacity 0.3s;
  }
  #cs-navigation .cs-drop-icon {
    width: 0.9375rem;
    height: auto;
    position: absolute;
    top: 50%;
    right: -1.25rem;
    transform: translateY(-50%);
  }
  #cs-navigation .cs-drop-ul {
    width: 100%;
    height: 0;
    margin: 0;
    box-sizing: border-box;
    padding: 0 1.5rem 0 1.5rem;
    background-color: var(--primary);
    opacity: 0;
    display: flex;
    visibility: hidden;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-end;
    gap: 0.75rem;
    overflow: hidden;
    transform: scale(0);
    transition: padding 0.3s, margin 0.3s, height 0.3s, opacity 0.3s, transform 0.3s, visibility 0.3s;
    transform-origin: top right;
  }
  #cs-navigation .cs-drop-li {
    text-align: inherit;
    list-style: none;
  }
  #cs-navigation .cs-li-link.cs-drop-link {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 2vw, 1.25rem);
    color: #fff;
  }
}
/* Desktop - 1024px */
@media only screen and (min-width: 1024px) {
  #cs-navigation .cs-dropdown {
    position: relative;
  }
  #cs-navigation .cs-dropdown .cs-dropdown-toggle {
    /* Reset default button styles */
    background: none;
    border: none;
    font-family: inherit;
    text-align: inherit;
    cursor: pointer;
    /* Remove any default focus styles */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }
  #cs-navigation .cs-dropdown:hover,
  #cs-navigation .cs-dropdown.cs-active {
    cursor: pointer;
  }
  #cs-navigation .cs-dropdown:hover .cs-drop-ul,
  #cs-navigation .cs-dropdown.cs-active .cs-drop-ul {
    opacity: 1;
    visibility: visible;
    transform: scaleY(1);
  }
  #cs-navigation .cs-dropdown:hover .cs-drop-li,
  #cs-navigation .cs-dropdown.cs-active .cs-drop-li {
    opacity: 1;
    transform: translateY(0);
  }
  #cs-navigation .cs-drop-icon {
    width: 0.9375rem;
    height: auto;
    display: inline-block;
  }
  #cs-navigation .cs-drop-ul {
    min-width: 12.5rem;
    margin: 0;
    padding: 0;
    background-color: #fff;
    box-shadow: rgba(149, 157, 165, 0.2) 0px 10px 16px;
    opacity: 0;
    border-bottom: 5px solid var(--primary);
    visibility: hidden;
    /* if you have 8 or more links in your dropdown nav, uncomment the columns property to make the list into 2 even columns. Change it to 3 or 4 if you need extra columns. Then remove the transition delays on the cs-drop-li so they don't have weird scattered animations */
    position: absolute;
    top: 100%;
    z-index: -100;
    overflow: hidden;
    transform: scaleY(0);
    transition: transform 0.3s, visibility 0.3s, opacity 0.3s;
    transform-origin: top;
  }
  #cs-navigation .cs-drop-li {
    font-size: 1rem;
    text-decoration: none;
    list-style: none;
    width: 100%;
    height: auto;
    color: var(--bodyTextColor);
    opacity: 0;
    display: block;
    transform: translateY(-0.625rem);
    transition: opacity 0.6s, transform 0.6s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(1) {
    transition-delay: 0.05s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(2) {
    transition-delay: 0.1s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(3) {
    transition-delay: 0.15s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(4) {
    transition-delay: 0.2s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(5) {
    transition-delay: 0.25s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(6) {
    transition-delay: 0.3s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(7) {
    transition-delay: 0.35s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(8) {
    transition-delay: 0.4s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(9) {
    transition-delay: 0.45s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(10) {
    transition-delay: 0.5s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(11) {
    transition-delay: 0.55s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(12) {
    transition-delay: 0.6s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(13) {
    transition-delay: 0.65s;
  }
  #cs-navigation .cs-li-link.cs-drop-link {
    font-size: 1rem;
    line-height: 1.5em;
    text-decoration: none;
    white-space: nowrap;
    width: 100%;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    padding: 0.75rem;
    color: var(--bodyTextColor);
    background-color: #f7f7f7;
    outline: none;
    display: block;
    transition: color 0.3s, background-color 0.3s;
  }
  #cs-navigation .cs-li-link.cs-drop-link:hover {
    background-color: #f0f0f0;
  }
  #cs-navigation .cs-li-link.cs-drop-link:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: -2px;
  }
  #cs-navigation .cs-li-link.cs-drop-link:before {
    display: none;
  }
}
/*-- -------------------------- -->
<---     Desktop Navigation     -->
<--- -------------------------- -*/
/* Small Desktop - 1024px */
@media only screen and (min-width: 1024px) {
  #cs-navigation {
    width: 100%;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    padding: 0 1rem;
    background-color: #000000;
    box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
    position: fixed;
    z-index: 10000;
  }
  #cs-navigation .cs-container {
    width: 100%;
    max-width: 80rem;
    margin: auto;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 1.5rem;
  }
  #cs-navigation .cs-toggle {
    display: none;
  }
  #cs-navigation .cs-logo {
    width: 18.4%;
    max-width: 21.875rem;
    height: 4.0625rem;
    /* margin-right auto pushes everything away from it to the right */
    margin: 0 auto 0 0;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 100;
  }
  #cs-navigation .cs-logo img {
    width: 100%;
    height: 100%;
    /* ensures the image never overflows the container. It stays contained within it's width and height and expands to fill it then stops once it reaches an edge */
    -o-object-fit: contain;
       object-fit: contain;
  }
  #cs-navigation .cs-ul {
    width: 100%;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    /* 20px - 36px */
    gap: clamp(1.25rem, 2.6vw, 2.25rem);
  }
  #cs-navigation .cs-li {
    list-style: none;
    padding: 2rem 0;
    /* prevent flexbox from squishing it */
    flex: none;
  }
  #cs-navigation .cs-li-link {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 1vw, 1rem);
    line-height: 1.5em;
    text-decoration: none;
    margin: 0;
    color: var(--bodyTextColorWhite);
    display: block;
    position: relative;
  }
  #cs-navigation .cs-li-link:hover:before {
    width: 100%;
  }
  #cs-navigation .cs-li-link.cs-active:before {
    width: 100%;
  }
  #cs-navigation .cs-li-link:before {
    /* active state underline */
    content: "";
    width: 0%;
    height: 2px;
    background: var(--primary);
    opacity: 1;
    display: block;
    position: absolute;
    bottom: 0rem;
    left: 0;
    transition: width 0.3s;
  }
}
/*-- -------------------------- -->
<---          Banner            -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0px) {
  #banner-310 {
    /* 144px - 252px */
    padding-top: clamp(9rem, 25vw, 15.75rem);
    /* 80px - 140px */
    padding-bottom: clamp(5rem, 13vw, 8.75rem);
    position: relative;
    z-index: 1;
  }
  #banner-310 .cs-container {
    width: 100%;
    max-width: 80rem;
    margin: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
  }
  #banner-310 .cs-int-title {
    /* 39px - 49px */
    font-size: clamp(2.4375rem, 4.5vw, 3.0625rem);
    font-weight: 900;
    line-height: 1.2em;
    text-align: center;
    max-width: 43.75rem;
    margin: 0 auto 0.75rem;
    color: var(--bodyTextColorWhite);
    position: relative;
  }
  #banner-310 .cs-breadcrumbs {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #banner-310 .cs-link {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 1.5vw, 1rem);
    line-height: 1.2em;
    text-decoration: none;
    color: var(--bodyTextColorWhite);
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #banner-310 .cs-link:last-of-type {
    /* remove the chevron on the last list item */
  }
  #banner-310 .cs-link:last-of-type::after {
    display: none;
  }
  #banner-310 .cs-link:after {
    /* chevron - added as pseudo to make adding and removing them easier */
    content: "";
    width: 0.4375rem;
    height: 0.75rem;
    margin-left: 0.75rem;
    margin-right: 0.75rem;
    background: url("/assets/svgs/chevron.svg");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
  }
  #banner-310 .cs-link.cs-active {
    color: var(--primaryLight);
  }
  #banner-310 .cs-background {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    z-index: -1;
  }
  #banner-310 .cs-background:before {
    /* black overlay box */
    content: "";
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0.72;
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    z-index: 1;
  }
  #banner-310 .cs-background img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
/*-- -------------------------- -->
<---            CTA             -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0px) {
  #cta-51 {
    padding: var(--sectionPadding);
    position: relative;
  }
  #cta-51 .cs-container {
    width: 100%;
    max-width: 80rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 64px */
    gap: clamp(3rem, 6vw, 4rem);
  }
  #cta-51 .cs-content {
    /* set text align to left if content needs to be left aligned */
    text-align: center;
    width: 100%;
    display: flex;
    flex-direction: column;
    /* centers content horizontally, set to flex-start to left align */
    align-items: center;
  }
  #cta-51 .cs-title {
    color: var(--bodyTextColorWhite);
  }
  #cta-51 .cs-text {
    margin-bottom: 1rem;
    color: var(--bodyTextColorWhite);
    opacity: 0.8;
  }
  #cta-51 .cs-text:last-of-type {
    margin-bottom: 2rem;
  }
  #cta-51 .cs-picture {
    height: 100%;
    width: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
  #cta-51 .cs-picture:before {
    /* black color overlay */
    content: "";
    position: absolute;
    display: block;
    height: 100%;
    width: 100%;
    background: #000;
    opacity: 0.8;
    top: 0;
    left: 0;
    z-index: 1;
  }
  #cta-51 .cs-picture img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
/*-- -------------------------- -->
<---          Footer            -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0px) {
  #cs-footer-275 {
    padding: var(--sectionPadding);
    background-color: #1a1a1a;
    /* Navigation Links */
    /* Contact Links */
  }
  #cs-footer-275 .cs-container {
    width: 100%;
    /* reset on tablet */
    max-width: 34.375rem;
    margin: auto;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    -moz-column-gap: 5.5rem;
         column-gap: 5.5rem;
    row-gap: 2rem;
  }
  #cs-footer-275 .cs-logo-group {
    /* takes up all the space, lets the other ul's wrap below it */
    width: 100%;
    position: relative;
  }
  #cs-footer-275 .cs-logo {
    /* 210px - 240px */
    width: clamp(13.125rem, 8vw, 15rem);
    height: auto;
    display: block;
    /* 28px - 44px */
    margin-bottom: clamp(1.75rem, 4.17vw, 2.75rem);
  }
  #cs-footer-275 .cs-logo-img {
    width: 100%;
    height: auto;
  }
  #cs-footer-275 .cs-logo-img.dark {
    display: none;
  }
  #cs-footer-275 .cs-text {
    color: var(--bodyTextColorWhite);
    margin-bottom: 1rem;
  }
  #cs-footer-275 .cs-social {
    display: inline-flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 0.75rem;
    position: absolute;
    top: 0;
    right: 0;
  }
  #cs-footer-275 .cs-social-link {
    width: 1.5rem;
    height: 1.5rem;
    background-color: #4e4b66;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 1;
    transition: transform 0.3s, background-color 0.3s;
  }
  #cs-footer-275 .cs-social-link:hover {
    background-color: #1a1a1a;
    transform: translateY(-0.1875rem);
  }
  #cs-footer-275 .cs-social-img {
    height: 0.8125rem;
    width: auto;
    display: block;
  }
  #cs-footer-275 .cs-nav {
    padding: 0;
    margin: 0;
  }
  #cs-footer-275 .cs-nav-li {
    list-style: none;
    margin-bottom: 1rem;
  }
  #cs-footer-275 .cs-nav-li:last-of-type {
    margin-bottom: 0;
  }
  #cs-footer-275 .cs-header {
    font-size: 1rem;
    line-height: 1.5em;
    font-weight: 700;
    color: var(--bodyTextColorWhite);
    position: relative;
  }
  #cs-footer-275 .cs-header:after {
    content: "";
    width: 2rem;
    height: 0.25rem;
    margin: 1rem auto 1.5rem 0;
    background: var(--primary);
    opacity: 1;
    position: relative;
    display: block;
  }
  #cs-footer-275 .cs-nav-link {
    font-size: 1rem;
    text-decoration: none;
    line-height: 1.5em;
    color: var(--bodyTextColorWhite);
    position: relative;
  }
  #cs-footer-275 .cs-nav-link:before {
    /* underline */
    content: "";
    width: 0%;
    height: 0.125rem;
    background: var(--bodyTextColorWhite);
    opacity: 1;
    position: absolute;
    display: block;
    bottom: -0.125rem;
    left: 0;
    transition: width 0.3s;
  }
  #cs-footer-275 .cs-nav-link:hover:before {
    width: 100%;
  }
  #cs-footer-275 .cs-contact {
    margin: 0;
    padding: 0;
    width: 35%;
  }
  #cs-footer-275 .cs-contact-li {
    list-style: none;
    margin-bottom: 0rem;
  }
  #cs-footer-275 .cs-contact-li:last-of-type {
    margin-bottom: 0;
  }
  #cs-footer-275 .cs-contact-link {
    font-size: 1rem;
    text-decoration: none;
    line-height: 1.5em;
    text-align: left;
    color: var(--bodyTextColorWhite);
    display: inline-block;
  }
  #cs-footer-275 .cs-contact-link:hover {
    text-decoration: underline;
  }
  #cs-footer-275 .cs-address {
    font-size: 1rem;
    margin-bottom: 1.25rem;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #cs-footer-275 .cs-container {
    max-width: 80rem;
    row-gap: 0;
  }
  #cs-footer-275 .cs-contact {
    flex-direction: row;
    justify-content: space-between;
    border-top: none;
  }
  #cs-footer-275 .cs-contact-li {
    margin: 0;
  }
}
/* Small Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #cs-footer-275 .cs-container {
    /* pushes all flex children to the top */
    align-items: flex-start;
    justify-content: flex-end;
  }
  #cs-footer-275 .cs-logo-group {
    /* pushes everything to the right of it as far as possible in a flexbox */
    margin-right: auto;
    width: auto;
    max-width: 19.0625rem;
  }
  #cs-footer-275 .cs-text {
    width: 100%;
  }
  #cs-footer-275 .cs-social {
    flex-direction: row;
    position: relative;
    top: auto;
    right: auto;
  }
  #cs-footer-275 .cs-contact {
    width: auto;
  }
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hc3NldHMvbGVzcy9yb290Lmxlc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O2tDQUVrQztBQUNsQyxtQ0FBbUM7QUFTbkM7RUFQRSx1UkFBdVI7RUFTeFI7SUFDQyxrQkFBQTtJQUNBLHVCQUFBO0lBQ0Esb0JBQUE7SUFDQSx5QkFBQTtJQUNBLHNCQUFBO0lBQ0Esd0JBQUE7SUFDQSw2QkFBQTtJQVBFLGdCQUFnQjtJQVVsQiwrQ0FBQTtJQVJFLGdCQUFnQjtJQVVsQixvREFBQTtJQUNBLG9CQUFBO0lBUkUsZ0NBQWdDO0lBVWxDLHNEQUFBO0lBRUEseUNBQUE7SUFDQSx1Q0FBQTtFQVRBO0VBWUQ7O0lBRUMsU0FBQTtJQUNBLFVBQUE7SUFDQSxrQkFBQTtJQUNBLDRCQUFBO0lBQ0EsZUFBQTtJQUNBLGlDQUFBO0lBQ0EsMkJBQUE7RUFWQTtFQWFEOzs7SUFURyxxREFBcUQ7SUFhdkQsc0JBQUE7SUFDQSxTQUFBO0lBQ0EsVUFBQTtFQVhBO0VBY0Q7SUFDQyxnQ0FBQTtJQUNBLGtCQUFBO0lBQ0EseUJBQUE7SUFDQSxtQkFBQTtJQUNBLHFCQUFBO0lBQ0EsZ0JBQUE7SUFDQSxxQkFBQTtJQUNBLHNCQUFBO0lBQ0EsY0FBQTtFQVpBO0VBZUQ7SUFDQyxnQ0FBQTtJQUNBLGdCQUFBO0lBQ0Esa0JBQUE7SUFDQSxtQkFBQTtJQUNBLG1CQUFBO0lBQ0Esa0JBQUE7SUFDQSx5QkFBQTtJQUNBLGtCQUFBO0VBYkE7RUFnQkQ7SUFDQyw4QkFBQTtJQUNBLGtCQUFBO0lBQ0EsbUJBQUE7SUFDQSxXQUFBO0lBQ0Esb0JBQUE7SUFDQSxTQUFBO0lBQ0EsMkJBQUE7RUFkQTtBQUNGO0FBQ0EsMkJBQTJCO0FBaUIzQjtFQUVDO0lBQ0MsaUJBQUE7SUFDQSxrQkFBQTtJQUNBLE1BQUE7SUFDQSxPQUFBO0lBQ0EsVUFBQTtFQWhCQTtFQW9CRDtJQUNDLFVBQUE7SUFDQSxrQkFBQTtJQUNBLHFCQUFBO0lBQ0EsZ0NBQUE7SUFDQSxXQUFB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QTtJQUNBLGNBQUE7SUFDQSxpQkFBQTtJQUNBLE9BQUE7SUFDQSxzQkFBQTtFQXhNRjtFQTRNRTtJQUNDLFdBQUE7RUExTUg7RUFrRUQ7SUErSUUsU0FBQTtJQUNBLFVBQUE7SUFDQSxVQUFBO0VBOU1EO0VBNkREO0lBcUpFLGdCQUFBO0lBQ0EsbUJBQUE7RUEvTUQ7RUFnTkM7SUFDQyxnQkFBQTtFQTlNRjtFQXNERDtJQTZKRSxlQUFBO0lBQ0EscUJBQUE7SUFDQSxrQkFBQTtJQUNBLGdCQUFBO0lBQ0EsZ0NBQUE7SUFDQSxxQkFBQTtFQWhORDtFQWtOQztJQUNDLDBCQUFBO0VBaE5GO0VBMkNEO0lBMEtFLGVBQUE7SUFDQSxzQkFBQTtFQWxORDtBQUNGO0FBQ0EsbUJBQW1CO0FBc05uQjtFQUNDO0lBRUUsZ0JBQUE7SUFDQSxVQUFBO0VBck5EO0VBa05EO0lBT0UsbUJBQUE7SUFDQSw4QkFBQTtJQUNBLGdCQUFBO0VBdE5EO0VBNk1EO0lBYUUsU0FBQTtFQXZORDtBQUNGO0FBQ0EsMkJBQTJCO0FBMk4zQjtFQUNDO0lBek5HLHdDQUF3QztJQTROekMsdUJBQUE7SUFDQSx5QkFBQTtFQTFORDtFQXNORDtJQXBORyx5RUFBeUU7SUE2TjFFLGtCQUFBO0lBQ0EsV0FBQTtJQUNBLHFCQUFBO0VBM05EO0VBZ05EO0lBZUUsV0FBQTtFQTVORDtFQTZNRDtJQW1CRSxtQkFBQTtJQUNBLGtCQUFBO0lBQ0EsU0FBQTtJQUNBLFdBQUE7RUE3TkQ7RUF1TUQ7SUEwQkUsV0FBQTtFQTlORDtBQUNGIiwiZmlsZSI6InJvb3QuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBDT0RFU1RJVENIIEdMT0JBTCBTVFlMRVNcbi8vIENvcmUgc3R5bGVzaGVldCBjb250YWluaW5nIENTUyB2YXJpYWJsZXMsIGRhcmsgbW9kZSBzdHlsZXMsIGJhc2UgZWxlbWVudFxuLy8gc3R5bGluZywgdHlwb2dyYXBoeSBydWxlcywgdXRpbGl0eSBjbGFzc2VzLCBjb21wb25lbnQgc3R5bGVzLCBuYXZpZ2F0aW9uLFxuLy8gZm9vdGVyLCBhbmQgb3RoZXIgcmVwZWF0ZWQgc2VjdGlvbiBzdHlsZXMgZm9yIHRoZSBlbnRpcmUgc2l0ZVxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi8qLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0+XG48LS0tICAgICAgICBDb3JlIFN0eWxlcyAgICAgICAgIC0tPlxuPC0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtKi9cblxuLyogQ29kZVN0aXRjaCBDb3JlIFN0eWxlcyArIFJlc2V0ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBweCkge1xuXHQvKiBBbGwgZWxlbWVudHMgaW4gdGhlIGxpYnJhcnkgZGVyaXZlIHRoZWlyIHZhcmlhYmxlcyBhbmQgYmFzZSBzdHlsZXMgZnJvbSB0aGlzIGNlbnRyYWwgc2hlZXQsIHNpbXBsaWZ5aW5nIHNpdGUtd2lkZSBlZGl0cy4gRm9yIGluc3RhbmNlLCBpZiB5b3Ugd2FudCB0byBtb2RpZnkgaG93IHlvdXIgaDIncyBhcHBlYXIgYWNyb3NzIHRoZSBzaXRlLCB5b3UganVzdCB1cGRhdGUgaXQgb25jZSBpbiB0aGUgZ2xvYmFsIHN0eWxlcywgYW5kIHRoZSBjaGFuZ2VzIGFwcGx5IGV2ZXJ5d2hlcmUuICovXG5cdDpyb290IHtcblx0XHQtLXByaW1hcnk6ICMyNzk5ODk7XG5cdFx0LS1wcmltYXJ5TGlnaHQ6ICNmZmJhNDM7XG5cdFx0LS1zZWNvbmRhcnk6ICNmZmJhNDM7XG5cdFx0LS1zZWNvbmRhcnlMaWdodDogI2ZmYmE0Mztcblx0XHQtLWhlYWRlckNvbG9yOiAjMWExYTFhO1xuXHRcdC0tYm9keVRleHRDb2xvcjogIzRlNGI2Njtcblx0XHQtLWJvZHlUZXh0Q29sb3JXaGl0ZTogI2ZhZmJmYztcblxuXHRcdC8qIDEzcHggLSAxNnB4ICovXG5cdFx0LS10b3BwZXJGb250U2l6ZTogY2xhbXAoMC44MTI1cmVtLCAxLjZ2dywgMXJlbSk7XG5cdFx0LyogMzFweCAtIDQ5cHggKi9cblx0XHQtLWhlYWRlckZvbnRTaXplOiBjbGFtcCgxLjkzNzVyZW0sIDMuOXZ3LCAzLjA2MjVyZW0pO1xuXHRcdC0tYm9keUZvbnRTaXplOiAxcmVtO1xuXHRcdC8qIDYwcHggLSAxMDBweCB0b3AgYW5kIGJvdHRvbSAqL1xuXHRcdC0tc2VjdGlvblBhZGRpbmc6IGNsYW1wKDMuNzVyZW0sIDcuODJ2dywgNi4yNXJlbSkgMXJlbTtcblxuXHRcdC0taGVhZGVyRm9udDogXCJSb2JvdG9cIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG5cdFx0LS1ib2R5Rm9udDogXCJSb2JvdG9cIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG5cdH1cblxuXHRodG1sLFxuXHRib2R5IHtcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZzogMDtcblx0XHRvdmVyZmxvdy14OiBoaWRkZW47XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWJvZHlGb250KTtcblx0XHRmb250LXNpemU6IDEwMCU7XG5cdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzO1xuXHRcdGNvbG9yOiB2YXIoLS1ib2R5VGV4dENvbG9yKTtcblx0fVxuXG5cdCosXG5cdCo6YmVmb3JlLFxuXHQqOmFmdGVyIHtcblx0XHQvKiBwcmV2ZW50cyBwYWRkaW5nIGZyb20gYWZmZWN0aW5nIGhlaWdodCBhbmQgd2lkdGggKi9cblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nOiAwO1xuXHR9XG5cblx0LmNzLXRvcHBlciB7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS10b3BwZXJGb250U2l6ZSk7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMmVtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0dGV4dC1hbGlnbjogaW5oZXJpdDtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4xZW07XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRjb2xvcjogdmFyKC0tcHJpbWFyeSk7XG5cdFx0bWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXG5cdC5jcy10aXRsZSB7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1oZWFkZXJGb250U2l6ZSk7XG5cdFx0Zm9udC13ZWlnaHQ6IDkwMDtcblx0XHRsaW5lLWhlaWdodDogMS4yZW07XG5cdFx0dGV4dC1hbGlnbjogaW5oZXJpdDtcblx0XHRtYXgtd2lkdGg6IDQzLjc1cmVtO1xuXHRcdG1hcmdpbjogMCAwIDFyZW0gMDtcblx0XHRjb2xvcjogdmFyKC0taGVhZGVyQ29sb3IpO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0fVxuXG5cdC5jcy10ZXh0IHtcblx0XHRmb250LXNpemU6IHZhcigtLWJvZHlGb250U2l6ZSk7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNWVtO1xuXHRcdHRleHQtYWxpZ246IGluaGVyaXQ7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWF4LXdpZHRoOiA0MC42MjVyZW07XG5cdFx0bWFyZ2luOiAwO1xuXHRcdGNvbG9yOiB2YXIoLS1ib2R5VGV4dENvbG9yKTtcblx0fVxufVxuXG4vKiBDb21wb25lbnRzICsgVXRpbGl0aWVzICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBweCkge1xuXHQvLyBIaWRkZW4gc2NyZWVuIHJlYWRlciBza2lwIG5hdiBidXR0b25cblx0LnNraXAge1xuXHRcdHotaW5kZXg6IC0xMTExMTExO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdFx0bGVmdDogMDtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG5cblx0Ly8gQnV0dG9ucyAtIGNhbiBiZSByZXBsYWNlZCB1c2luZyBDb2RlU3RpdGNoJ3MgXCJCdXR0b25cIiBTdGl0Y2hlcy4gTWFrZSBzdXJlIHRvIGNsZWFyIHRoZSBkZWZhdWx0IC5jcy1idXR0b24tc29saWQvb3V0bGluZSBzdHlsZXMgZnJvbSBhbnkgbmV3IHN0aXRjaGVzIHlvdSBwbGFjZS5cblx0LmNzLWJ1dHRvbi1zb2xpZCB7XG5cdFx0ei1pbmRleDogMTtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnkpO1xuXHRcdHdpZHRoOiBhdXRvO1xuXHRcdHBhZGRpbmc6ICgxNi8xNnJlbSkgKDMyLzE2cmVtKTtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRmb250LXNpemU6ICgxNi8xNnJlbSk7XG5cdFx0bGluZS1oZWlnaHQ6ICgxNi8xNmVtKTtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRib3JkZXItcmFkaXVzOiAoNC8xNnJlbSk7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRcdC8vIFRyYW5zaXRpb24gUHJvcGVydGllc1xuXHRcdGNvbG9yOiB2YXIoLS1ib2R5VGV4dENvbG9yV2hpdGUpO1xuXHRcdHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG5cdFx0dHJhbnNpdGlvbi1kZWxheTogMC4xcztcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGNvbG9yOiAjZmZmO1xuXG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdHotaW5kZXg6IC0xO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXG5cdFx0XHQvL1RyYW5zaXRpb24gcHJvcGVydGllc1xuXHRcdFx0d2lkdGg6IDA7XG5cdFx0XHR0cmFuc2l0aW9uOiB3aWR0aCAwLjNzO1xuXHRcdH1cblx0fVxuXG5cdC5jcy1idXR0b24tb3V0bGluZSB7XG5cdFx0ei1pbmRleDogMTtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHdpZHRoOiBhdXRvO1xuXHRcdHBhZGRpbmc6ICgxNi8xNnJlbSkgKDMyLzE2cmVtKTtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRmb250LXNpemU6ICgxNi8xNnJlbSk7XG5cdFx0bGluZS1oZWlnaHQ6ICgxNi8xNmVtKTtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRib3JkZXI6IDJweCBzb2xpZCAjMDAwO1xuXG5cdFx0Ly8gVHJhbnNpdGlvbiBQcm9wZXJ0aWVzXG5cdFx0Y29sb3I6ICMwMDA7XG5cdFx0dHJhbnNpdGlvbjogY29sb3IgMC4zcztcblx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwLjFzO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0Y29sb3I6ICNmZmY7XG5cblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0ei1pbmRleDogLTE7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cblx0XHRcdC8vVHJhbnNpdGlvbiBwcm9wZXJ0aWVzXG5cdFx0XHR3aWR0aDogMDtcblx0XHRcdHRyYW5zaXRpb246IHdpZHRoIDAuM3M7XG5cdFx0fVxuXHR9XG5cblx0Ly8gVXRpbGl0aWVzIC0gc21hbGwgY2xhc3NlcyB1c2VmdWwgaW4gdmFyaW91cyBjb21tb24gc2l0dWF0aW9uc1xuXHQuY3MtY29sb3Ige1xuXHRcdGNvbG9yOiB2YXIoLS1wcmltYXJ5KTtcblx0fVxuXG5cdC5jcy1ib2xkIHtcblx0XHRmb250LXdlaWdodDogNzAwO1xuXHR9XG5cblx0LmNzLWhpZGUtb24tbW9iaWxlIHtcblx0XHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQuY3MtZGFyayxcblx0LmRhcmsge1xuXHRcdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblx0fVxuXG5cdGJvZHkuZGFyay1tb2RlIHtcblx0XHQuY3MtbGlnaHQsXG5cdFx0LmxpZ2h0IHtcblx0XHRcdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblx0XHR9XG5cblx0XHQuY3MtZGFyayxcblx0XHQuZGFyayB7XG5cdFx0XHRkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXHRcdH1cblxuXHRcdC5jcy1idXR0b24tb3V0bGluZSB7XG5cdFx0XHRib3JkZXItY29sb3I6ICNmZmY7XG5cdFx0XHRjb2xvcjogI2ZmZjtcblx0XHR9XG5cdH1cbn1cblxuLyogRGVza3RvcCBVdGlsaXRpZXMgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRyZW0pIHtcblx0LmNzLWhpZGUtb24tbW9iaWxlIHtcblx0XHRkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXHR9XG5cblx0LmNzLWhpZGUtb24tZGVza3RvcCB7XG5cdFx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXHR9XG59XG5cbi8qIEJhc2UgRWxlbWVudCBTdHlsZXMgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMHB4KSB7XG5cdGgxLFxuXHRoMixcblx0aDMsXG5cdGg0LFxuXHRoNSxcblx0aDYge1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1oZWFkZXJGb250KTtcblx0XHRsaW5lLWhlaWdodDogMS4yZW07XG5cdFx0Y29sb3I6IHZhcigtLWhlYWRlckNvbG9yKTtcblx0fVxuXG5cdHAsXG5cdGxpLFxuXHRhIHtcblx0XHRmb250LXNpemU6ICgxNi8xNnJlbSk7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNWVtO1xuXHR9XG5cblx0cCxcblx0bGkge1xuXHRcdGNvbG9yOiB2YXIoLS1ib2R5VGV4dENvbG9yKTtcblxuXHRcdGEge1xuXHRcdFx0Y29sb3I6IHZhcigtLXByaW1hcnkpO1xuXHRcdH1cblx0fVxuXG5cdGEsXG5cdGJ1dHRvbiB7XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0fVxuXHR9XG5cblx0Ym9keS5kYXJrLW1vZGUge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWRhcmspO1xuXG5cdFx0cCxcblx0XHRsaSxcblx0XHRoMSxcblx0XHRoMixcblx0XHRoMyxcblx0XHRoNCxcblx0XHRoNSxcblx0XHRoNiB7XG5cdFx0XHRjb2xvcjogI2ZmZjtcblx0XHR9XG5cdH1cbn1cblxuLyogRm9udHMgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMHB4KSB7XG5cdC8vIEdyYWIgeW91ciBmb250cyB0byBsb2NhbGx5IGhvc3QgZnJvbSBodHRwczovL2d3ZmgubXJhbmZ0bC5jb20vZm9udHNcblx0Lyogcm9ib3RvLXJlZ3VsYXIgLSBsYXRpbiAqL1xuXHRAZm9udC1mYWNlIHtcblx0XHRmb250LXN0eWxlOiBub3JtYWw7XG5cdFx0Zm9udC1mYW1pbHk6IFwiUm9ib3RvXCI7XG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRmb250LWRpc3BsYXk6IHN3YXA7XG5cdFx0c3JjOiBsb2NhbChcIlwiKSwgdXJsKFwiL2Fzc2V0cy9mb250cy9yb2JvdG8tdjI5LWxhdGluLXJlZ3VsYXIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIC8qIENocm9tZSAyNissIE9wZXJhIDIzKywgRmlyZWZveCAzOSsgKi8gdXJsKFwiL2Fzc2V0cy9mb250cy9yb2JvdG8tdjI5LWxhdGluLXJlZ3VsYXIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpOyAvKiBDaHJvbWUgNissIEZpcmVmb3ggMy42KywgSUUgOSssIFNhZmFyaSA1LjErICovXG5cdH1cblxuXHQvKiByb2JvdG8tNzAwIC0gbGF0aW4gKi9cblx0QGZvbnQtZmFjZSB7XG5cdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiO1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0Zm9udC1kaXNwbGF5OiBzd2FwO1xuXHRcdHNyYzogbG9jYWwoXCJcIiksIHVybChcIi9hc3NldHMvZm9udHMvcm9ib3RvLXYyOS1sYXRpbi03MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIC8qIENocm9tZSAyNissIE9wZXJhIDIzKywgRmlyZWZveCAzOSsgKi8gdXJsKFwiL2Fzc2V0cy9mb250cy9yb2JvdG8tdjI5LWxhdGluLTcwMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7IC8qIENocm9tZSA2KywgRmlyZWZveCAzLjYrLCBJRSA5KywgU2FmYXJpIDUuMSsgKi9cblx0fVxuXG5cdC8qIHJvYm90by05MDAgLSBsYXRpbiAqL1xuXHRAZm9udC1mYWNlIHtcblx0XHRmb250LXN0eWxlOiBub3JtYWw7XG5cdFx0Zm9udC1mYW1pbHk6IFwiUm9ib3RvXCI7XG5cdFx0Zm9udC13ZWlnaHQ6IDkwMDtcblx0XHRmb250LWRpc3BsYXk6IHN3YXA7XG5cdFx0c3JjOiBsb2NhbChcIlwiKSwgdXJsKFwiL2Fzc2V0cy9mb250cy9yb2JvdG8tdjI5LWxhdGluLTkwMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgLyogQ2hyb21lIDI2KywgT3BlcmEgMjMrLCBGaXJlZm94IDM5KyAqLyB1cmwoXCIvYXNzZXRzL2ZvbnRzL3JvYm90by12MjktbGF0aW4tOTAwLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTsgLyogQ2hyb21lIDYrLCBGaXJlZm94IDMuNissIElFIDkrLCBTYWZhcmkgNS4xKyAqL1xuXHR9XG59XG5cbi8qLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0+XG48LS0tICAgICAgRGFyayBNb2RlIFRvZ2dsZSAgICAgIC0tPlxuPC0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtKi9cblxuLyogTW9iaWxlIC0gMzYwcHggKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMHB4KSB7XG5cdGJvZHkuZGFyay1tb2RlIHtcblx0XHQjZGFyay1tb2RlLXRvZ2dsZSB7XG5cdFx0XHQuY3Mtc3VuIHtcblx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cdFx0XHR9XG5cblx0XHRcdC5jcy1tb29uIHtcblx0XHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTE1MCUpO1xuXHRcdFx0XHRmaWxsOiAjZmZmO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCNkYXJrLW1vZGUtdG9nZ2xlIHtcblx0XHR3aWR0aDogKDQ4LzE2cmVtKTtcblx0XHRoZWlnaHQ6ICg0OC8xNnJlbSk7XG5cdFx0cGFkZGluZzogMDtcblx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogKDEwLzE2cmVtKTtcblx0XHRyaWdodDogKDcwLzE2cmVtKTtcblx0XHR6LWluZGV4OiAxMDAwO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cblx0XHRpbWcsXG5cdFx0c3ZnIHtcblx0XHRcdHdpZHRoOiAoMjAvMTZyZW0pO1xuXHRcdFx0aGVpZ2h0OiAoMjAvMTZyZW0pO1xuXHRcdFx0Ly9jZW50ZXIgaW1hZ2UgaW5zaWRlIGJ1dHRvblxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdH1cblxuXHRcdC5jcy1tb29uIHtcblx0XHRcdHotaW5kZXg6IDI7XG5cdFx0XHQvLyBUcmFuc2l0aW9uIHByb3BlcnRpZXNcblx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzLCBvcGFjaXR5IDAuM3M7XG5cblx0XHRcdC8vIGZpbGw6IHllbGxvdzsgLS0+IHVuY29tbWVudCB0byBjaGFuZ2UgdGhlIGNvbG9yIG9mIHRoZSBtb29uIGlmIG5lZWRlZFxuXHRcdH1cblxuXHRcdC5jcy1zdW4ge1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHQvLyBUcmFuc2l0aW9uIHByb3BlcnR5XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAxMDAlKTtcblx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzLCBvcGFjaXR5IDAuM3M7XG5cdFx0fVxuXHR9XG59XG5cbi8qIERlc2t0b3AgLSAxMDI0cHggKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG5cdCNkYXJrLW1vZGUtdG9nZ2xlIHtcblx0XHRtYXJnaW46IDA7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHRvcDogYXV0bztcblx0XHRyaWdodDogYXV0bztcblx0XHR0cmFuc2Zvcm06IG5vbmU7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHR9XG5cdH1cbn1cblxuLyotLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLT5cbjwtLS0gICAgIEdyYWluIE92ZXJsYXkgICAgICAgICAgLS0+XG48LS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0qL1xuXG4uZ3JhaW4tb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGluc2V0OiAtNTAlO1xuICAgIHdpZHRoOiAyMDAlO1xuICAgIGhlaWdodDogMjAwJTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vYXNzZXRzL3N2Z3MvZ3JhaW4tb3ZlcmxheS5zdmcpO1xuICAgIG9wYWNpdHk6IDAuMDM1O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHotaW5kZXg6IDk5OTk7XG4gICAgYW5pbWF0aW9uOiBncmFpbiA4cyBzdGVwcygxMCkgaW5maW5pdGU7XG59XG5cbi8qLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0+XG48LS0tICAgICBNb2JpbGUgTmF2aWdhdGlvbiAgICAgIC0tPlxuPC0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtKi9cblxuLyogTW9iaWxlIC0gMTAyMy41cHggKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyMy41cHgpIHtcblx0Ym9keSB7XG5cdFx0Ji5jcy1vcGVuIHtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0fVxuXHR9XG5cblx0I2NzLW5hdmlnYXRpb24ge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdC8qIHByZXZlbnRzIHBhZGRpbmcgYW5kIGJvcmRlciBmcm9tIGFmZmVjdGluZyBoZWlnaHQgYW5kIHdpZHRoICovXG5cdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRwYWRkaW5nOiAoMTIvMTZyZW0pICgxNi8xNnJlbSk7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcblx0XHRib3gtc2hhZG93OiByZ2JhKDE0OSwgMTU3LCAxNjUsIDAuMikgMHB4IDhweCAyNHB4O1xuXHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHR6LWluZGV4OiAxMDAwMDtcblxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdC8qIGJsYWNrIGJsdXJyZWQgb3ZlcmxheSAqL1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdHdpZHRoOiAwJTtcblx0XHRcdGhlaWdodDogMTAwdmg7XG5cdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDEwMCU7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdHotaW5kZXg6IC0xMTtcblx0XHRcdHRyYW5zaXRpb246IHdpZHRoIDAuNXMsIG9wYWNpdHkgMC4zcztcblx0XHRcdC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuXHRcdFx0YmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuXHRcdH1cblxuXHRcdCYuY3MtYWN0aXZlIHtcblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR9XG5cblx0XHRcdC5jcy11bC13cmFwcGVyIHtcblx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0dHJhbnNmb3JtOiBzY2FsZVgoMSk7XG5cdFx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDAuMnM7XG5cdFx0XHR9XG5cblx0XHRcdC5jcy1saSB7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuY3MtY29udGFpbmVyIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdH1cblxuXHRcdC5jcy1sb2dvIHtcblx0XHRcdHdpZHRoOiA0MCU7XG5cdFx0XHRtYXgtd2lkdGg6ICgxNDYvMTZyZW0pO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0bWFyZ2luOiAwIGF1dG8gMCAwO1xuXHRcdFx0LyogcHJldmVudHMgcGFkZGluZyBhbmQgYm9yZGVyIGZyb20gYWZmZWN0aW5nIGhlaWdodCBhbmQgd2lkdGggKi9cblx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdHotaW5kZXg6IDEwO1xuXG5cdFx0XHRpbWcge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHQvKiBlbnN1cmVzIHRoZSBpbWFnZSBuZXZlciBvdmVyZmxvd3MgdGhlIGNvbnRhaW5lci4gSXQgc3RheXMgY29udGFpbmVkIHdpdGhpbiBpdCdzIHdpZHRoIGFuZCBoZWlnaHQgYW5kIGV4cGFuZHMgdG8gZmlsbCBpdCB0aGVuIHN0b3BzIG9uY2UgaXQgcmVhY2hlcyBhbiBlZGdlICovXG5cdFx0XHRcdG9iamVjdC1maXQ6IGNvbnRhaW47XG5cdFx0XHRcdC8qIHBsYWNlcyB0aGUgaW1hZ2UgdG8gdGhlIGxlZnQgZWRnZSBvZiB0aGUgcGFyZW50ICovXG5cdFx0XHRcdG9iamVjdC1wb3NpdGlvbjogbGVmdDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuY3MtdG9nZ2xlIHtcblx0XHRcdC8qIDQ0cHggLSA0OHB4ICovXG5cdFx0XHR3aWR0aDogY2xhbXAoMi43NXJlbSwgNnZ3LCAzcmVtKTtcblx0XHRcdGhlaWdodDogY2xhbXAoMi43NXJlbSwgNnZ3LCAzcmVtKTtcblx0XHRcdG1hcmdpbjogMCAwIDAgYXV0bztcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogKDQvMTZyZW0pO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHR9XG5cblx0XHQuY3MtYWN0aXZlIHtcblx0XHRcdC5jcy1saW5lMSB7XG5cdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoMjI1ZGVnKTtcblx0XHRcdH1cblxuXHRcdFx0LmNzLWxpbmUyIHtcblx0XHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHRyYW5zbGF0ZVkoMCkgcm90YXRlKC0yMjVkZWcpO1xuXHRcdFx0XHR0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG5cdFx0XHR9XG5cblx0XHRcdC5jcy1saW5lMyB7XG5cdFx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRcdGJvdHRvbTogMTAwJTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuY3MtYm94IHtcblx0XHRcdC8qIDI0cHggLSAyOHB4ICovXG5cdFx0XHR3aWR0aDogY2xhbXAoMS41cmVtLCAydncsIDEuNzVyZW0pO1xuXHRcdFx0LyogMTRweCAtIDE2cHggKi9cblx0XHRcdGhlaWdodDogY2xhbXAoMC44NzVyZW0sIDEuNXZ3LCAxcmVtKTtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR9XG5cblx0XHQuY3MtbGluZSB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogMnB4O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzFhMWExYTtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDJweDtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblx0XHR9XG5cblx0XHQuY3MtbGluZTEge1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMsIHRvcCAwLjNzLCBsZWZ0IDAuM3M7XG5cdFx0XHRhbmltYXRpb24tZHVyYXRpb246IDAuN3M7XG5cdFx0XHRhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xuXHRcdFx0YW5pbWF0aW9uLWRpcmVjdGlvbjogbm9ybWFsO1xuXHRcdFx0YW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG5cdFx0XHR0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG5cdFx0fVxuXG5cdFx0LmNzLWxpbmUyIHtcblx0XHRcdHRvcDogNTAlO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG5cdFx0XHR0cmFuc2l0aW9uOiB0b3AgMC4zcywgbGVmdCAwLjNzLCB0cmFuc2Zvcm0gMC41cztcblx0XHRcdGFuaW1hdGlvbi1kdXJhdGlvbjogMC43cztcblx0XHRcdGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG5cdFx0XHRhbmltYXRpb24tZGlyZWN0aW9uOiBub3JtYWw7XG5cdFx0XHRhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcblx0XHR9XG5cblx0XHQuY3MtbGluZTMge1xuXHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0dHJhbnNpdGlvbjogYm90dG9tIDAuM3MsIG9wYWNpdHkgMC4zcztcblx0XHR9XG5cblx0XHQuY3MtdWwtd3JhcHBlciB7XG5cdFx0XHRoZWlnaHQ6IDEwMHZoO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0XHRcdGJveC1zaGFkb3c6IGluc2V0IHJnYmEoMCwgMCwgMCwgMC4yKSAwcHggOHB4IDI0cHg7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAxMDAlO1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRsZWZ0OiBhdXRvO1xuXHRcdFx0ei1pbmRleDogLTE7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZVgoMCk7XG5cdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cywgb3BhY2l0eSAwLjNzO1xuXHRcdFx0dHJhbnNmb3JtLW9yaWdpbjogdG9wIHJpZ2h0O1xuXHRcdH1cblxuXHRcdC5jcy11bCB7XG5cdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdG1pbi13aWR0aDogNDAlO1xuXHRcdFx0aGVpZ2h0OiA2NXZoO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0LyogMjhweCAtIDQwcHggKi9cblx0XHRcdHBhZGRpbmc6ICg0OC8xNnJlbSkgY2xhbXAoMS43NXJlbSwgM3Z3LCAyLjVyZW0pICgzMi8xNnJlbSkgKDcwLzE2cmVtKTtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRcdFx0YWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuXHRcdFx0Z2FwOiAoMjAvMTZyZW0pO1xuXHRcdFx0b3ZlcmZsb3c6IHNjcm9sbDtcblx0XHR9XG5cblx0XHQuY3MtbGkge1xuXHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0LyogdHJhbnNpdGlvbiBmcm9tIHRoZXNlIHZhbHVlcyAqL1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yLjVyZW0pO1xuXHRcdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIG9wYWNpdHkgMC45cztcblxuXHRcdFx0JjpudGgtb2YtdHlwZSgxKSB7XG5cdFx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDAuMDVzO1xuXHRcdFx0fVxuXHRcdFx0JjpudGgtb2YtdHlwZSgyKSB7XG5cdFx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDAuMXM7XG5cdFx0XHR9XG5cdFx0XHQmOm50aC1vZi10eXBlKDMpIHtcblx0XHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMC4xNXM7XG5cdFx0XHR9XG5cdFx0XHQmOm50aC1vZi10eXBlKDQpIHtcblx0XHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMC4ycztcblx0XHRcdH1cblx0XHRcdCY6bnRoLW9mLXR5cGUoNSkge1xuXHRcdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwLjI1cztcblx0XHRcdH1cblx0XHRcdCY6bnRoLW9mLXR5cGUoNikge1xuXHRcdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwLjNzO1xuXHRcdFx0fVxuXHRcdFx0JjpudGgtb2YtdHlwZSg3KSB7XG5cdFx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDAuMzVzO1xuXHRcdFx0fVxuXHRcdFx0JjpudGgtb2YtdHlwZSg4KSB7XG5cdFx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDAuNHM7XG5cdFx0XHR9XG5cdFx0XHQmOm50aC1vZi10eXBlKDkpIHtcblx0XHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMC40NXM7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmNzLWxpLWxpbmsge1xuXHRcdFx0LyogMTZweCAtIDI0cHggKi9cblx0XHRcdGZvbnQtc2l6ZTogY2xhbXAoMXJlbSwgMi41dncsIDEuNXJlbSk7XG5cdFx0XHRsaW5lLWhlaWdodDogMS4yZW07XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRwYWRkaW5nOiAoNC8xNnJlbSk7XG5cdFx0XHRjb2xvcjogdmFyKC0taGVhZGVyQ29sb3IpO1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdC8qIGFjdGl2ZSBzdGF0ZSB1bmRlcmxpbmUgKi9cblx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGhlaWdodDogMXB4O1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0Ym90dG9tOiAoLTIvMTZyZW0pO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0fVxuXG5cdFx0XHQmLmNzLWFjdGl2ZSB7XG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5jcy1idXR0b24tc29saWQge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cbn1cblxuLyogRGFyayBNb2RlICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjMuNXB4KSB7XG5cdGJvZHkuZGFyay1tb2RlIHtcblx0XHQjY3MtbmF2aWdhdGlvbiB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kYXJrKTtcblxuXHRcdFx0LmNzLWxvZ28ge1xuXHRcdFx0XHQvKiBtYWtlcyBpdCB3aGl0ZSAqL1xuXHRcdFx0XHRmaWx0ZXI6IGdyYXlzY2FsZSgxKSBicmlnaHRuZXNzKDEwMDAlKTtcblx0XHRcdH1cblxuXHRcdFx0LmNzLWxpbmUge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRcdFx0fVxuXG5cdFx0XHQuY3MtdWwtd3JhcHBlciB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1lZGl1bSk7XG5cdFx0XHR9XG5cblx0XHRcdC5jcy1saS1saW5rIHtcblx0XHRcdFx0Y29sb3I6IHZhcigtLWJvZHlUZXh0Q29sb3JXaGl0ZSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8qLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0+XG48LS0tICAgICBOYXZpZ2F0aW9uIERyb3Bkb3duICAgIC0tPlxuPC0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtKi9cblxuLyogTW9iaWxlIC0gMTAyMy41cHggKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyMy41cHgpIHtcblx0I2NzLW5hdmlnYXRpb24ge1xuXHRcdC5jcy1kcm9wZG93biB7XG5cdFx0XHRjb2xvcjogdmFyKC0tYm9keVRleHRDb2xvcldoaXRlKTtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0LmNzLWRyb3Bkb3duLXRvZ2dsZSB7XG5cdFx0XHRcdC8qIFJlc2V0IGRlZmF1bHQgYnV0dG9uIHN0eWxlcyAqL1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRcdGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBpbmhlcml0O1xuXHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHRcdC8qIFJlbW92ZSBhbnkgZGVmYXVsdCBmb2N1cyBzdHlsZXMgKi9cblx0XHRcdFx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXHRcdFx0XHQtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG5cdFx0XHRcdGFwcGVhcmFuY2U6IG5vbmU7XG5cdFx0XHR9XG5cblx0XHRcdCYuY3MtYWN0aXZlIHtcblx0XHRcdFx0LmNzLWRyb3AtdWwge1xuXHRcdFx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdFx0XHRtYXJnaW46ICgxMi8xNnJlbSkgMCAwIDA7XG5cdFx0XHRcdFx0cGFkZGluZzogKDI0LzE2cmVtKTtcblx0XHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5jcy1kcm9wLWxpbmsge1xuXHRcdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LmNzLWxpLWxpbmsge1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuY3MtZHJvcC1pY29uIHtcblx0XHRcdHdpZHRoOiAoMTUvMTZyZW0pO1xuXHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRyaWdodDogKC0yMC8xNnJlbSk7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdFx0fVxuXG5cdFx0LmNzLWRyb3AtdWwge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IDA7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0cGFkZGluZzogMCAoMjQvMTZyZW0pIDAgKDI0LzE2cmVtKTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnkpO1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRcdFx0YWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuXHRcdFx0Z2FwOiAoMTIvMTZyZW0pO1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGUoMCk7XG5cdFx0XHR0cmFuc2l0aW9uOiBwYWRkaW5nIDAuM3MsIG1hcmdpbiAwLjNzLCBoZWlnaHQgMC4zcywgb3BhY2l0eSAwLjNzLCB0cmFuc2Zvcm0gMC4zcywgdmlzaWJpbGl0eSAwLjNzO1xuXHRcdFx0dHJhbnNmb3JtLW9yaWdpbjogdG9wIHJpZ2h0O1xuXHRcdH1cblxuXHRcdC5jcy1kcm9wLWxpIHtcblx0XHRcdHRleHQtYWxpZ246IGluaGVyaXQ7XG5cdFx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdH1cblxuXHRcdC5jcy1saS1saW5rIHtcblx0XHRcdCYuY3MtZHJvcC1saW5rIHtcblx0XHRcdFx0LyogMTRweCAtIDE2cHggKi9cblx0XHRcdFx0Zm9udC1zaXplOiBjbGFtcCgwLjg3NXJlbSwgMnZ3LCAxLjI1cmVtKTtcblx0XHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8qIERlc2t0b3AgLSAxMDI0cHggKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG5cdCNjcy1uYXZpZ2F0aW9uIHtcblx0XHQuY3MtZHJvcGRvd24ge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0XHQuY3MtZHJvcGRvd24tdG9nZ2xlIHtcblx0XHRcdFx0LyogUmVzZXQgZGVmYXVsdCBidXR0b24gc3R5bGVzICovXG5cdFx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdFx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XG5cdFx0XHRcdHRleHQtYWxpZ246IGluaGVyaXQ7XG5cdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdFx0LyogUmVtb3ZlIGFueSBkZWZhdWx0IGZvY3VzIHN0eWxlcyAqL1xuXHRcdFx0XHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cdFx0XHRcdC1tb3otYXBwZWFyYW5jZTogbm9uZTtcblx0XHRcdFx0YXBwZWFyYW5jZTogbm9uZTtcblx0XHRcdH1cblxuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCYuY3MtYWN0aXZlIHtcblx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXG5cdFx0XHRcdC5jcy1kcm9wLXVsIHtcblx0XHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiBzY2FsZVkoMSk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuY3MtZHJvcC1saSB7XG5cdFx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQuY3MtZHJvcC1pY29uIHtcblx0XHRcdHdpZHRoOiAoMTUvMTZyZW0pO1xuXHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdH1cblxuXHRcdC5jcy1kcm9wLXVsIHtcblx0XHRcdG1pbi13aWR0aDogKDIwMC8xNnJlbSk7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0XHRcdGJveC1zaGFkb3c6IHJnYmEoMTQ5LCAxNTcsIDE2NSwgMC4yKSAwcHggMTBweCAxNnB4O1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdGJvcmRlci1ib3R0b206IDVweCBzb2xpZCB2YXIoLS1wcmltYXJ5KTtcblx0XHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHRcdC8qIGlmIHlvdSBoYXZlIDggb3IgbW9yZSBsaW5rcyBpbiB5b3VyIGRyb3Bkb3duIG5hdiwgdW5jb21tZW50IHRoZSBjb2x1bW5zIHByb3BlcnR5IHRvIG1ha2UgdGhlIGxpc3QgaW50byAyIGV2ZW4gY29sdW1ucy4gQ2hhbmdlIGl0IHRvIDMgb3IgNCBpZiB5b3UgbmVlZCBleHRyYSBjb2x1bW5zLiBUaGVuIHJlbW92ZSB0aGUgdHJhbnNpdGlvbiBkZWxheXMgb24gdGhlIGNzLWRyb3AtbGkgc28gdGhleSBkb24ndCBoYXZlIHdlaXJkIHNjYXR0ZXJlZCBhbmltYXRpb25zICovXG5cdFx0XHQvLyBjb2x1bW5zOiAyO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAxMDAlO1xuXHRcdFx0ei1pbmRleDogLTEwMDtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlWSgwKTtcblx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzLCB2aXNpYmlsaXR5IDAuM3MsIG9wYWNpdHkgMC4zcztcblx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcblx0XHR9XG5cblx0XHQuY3MtZHJvcC1saSB7XG5cdFx0XHRmb250LXNpemU6ICgxNi8xNnJlbSk7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRjb2xvcjogdmFyKC0tYm9keVRleHRDb2xvcik7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuNjI1cmVtKTtcblx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMC42cywgdHJhbnNmb3JtIDAuNnM7XG5cblx0XHRcdCY6bnRoLW9mLXR5cGUoMSkge1xuXHRcdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwLjA1cztcblx0XHRcdH1cblx0XHRcdCY6bnRoLW9mLXR5cGUoMikge1xuXHRcdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwLjFzO1xuXHRcdFx0fVxuXHRcdFx0JjpudGgtb2YtdHlwZSgzKSB7XG5cdFx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDAuMTVzO1xuXHRcdFx0fVxuXHRcdFx0JjpudGgtb2YtdHlwZSg0KSB7XG5cdFx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDAuMnM7XG5cdFx0XHR9XG5cdFx0XHQmOm50aC1vZi10eXBlKDUpIHtcblx0XHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMC4yNXM7XG5cdFx0XHR9XG5cdFx0XHQmOm50aC1vZi10eXBlKDYpIHtcblx0XHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMC4zcztcblx0XHRcdH1cblx0XHRcdCY6bnRoLW9mLXR5cGUoNykge1xuXHRcdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwLjM1cztcblx0XHRcdH1cblx0XHRcdCY6bnRoLW9mLXR5cGUoOCkge1xuXHRcdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwLjRzO1xuXHRcdFx0fVxuXHRcdFx0JjpudGgtb2YtdHlwZSg5KSB7XG5cdFx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDAuNDVzO1xuXHRcdFx0fVxuXHRcdFx0JjpudGgtb2YtdHlwZSgxMCkge1xuXHRcdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwLjVzO1xuXHRcdFx0fVxuXHRcdFx0JjpudGgtb2YtdHlwZSgxMSkge1xuXHRcdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwLjU1cztcblx0XHRcdH1cblx0XHRcdCY6bnRoLW9mLXR5cGUoMTIpIHtcblx0XHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMC42cztcblx0XHRcdH1cblx0XHRcdCY6bnRoLW9mLXR5cGUoMTMpIHtcblx0XHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMC42NXM7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmNzLWxpLWxpbmsge1xuXHRcdFx0Ji5jcy1kcm9wLWxpbmsge1xuXHRcdFx0XHRmb250LXNpemU6ICgxNi8xNnJlbSk7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjVlbTtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0LyogcHJldmVudHMgcGFkZGluZyBhbmQgYm9yZGVyIGZyb20gYWZmZWN0aW5nIGhlaWdodCBhbmQgd2lkdGggKi9cblx0XHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdFx0cGFkZGluZzogKDEyLzE2cmVtKTtcblx0XHRcdFx0Y29sb3I6IHZhcigtLWJvZHlUZXh0Q29sb3IpO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3O1xuXHRcdFx0XHRvdXRsaW5lOiBub25lO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0dHJhbnNpdGlvbjogY29sb3IgMC4zcywgYmFja2dyb3VuZC1jb2xvciAwLjNzO1xuXG5cdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOmZvY3VzLXZpc2libGUge1xuXHRcdFx0XHRcdG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1wcmltYXJ5KTtcblx0XHRcdFx0XHRvdXRsaW5lLW9mZnNldDogLTJweDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8qLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0+XG48LS0tICAgICBEZXNrdG9wIE5hdmlnYXRpb24gICAgIC0tPlxuPC0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtKi9cblxuLyogU21hbGwgRGVza3RvcCAtIDEwMjRweCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcblx0I2NzLW5hdmlnYXRpb24ge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdC8qIHByZXZlbnRzIHBhZGRpbmcgYW5kIGJvcmRlciBmcm9tIGFmZmVjdGluZyBoZWlnaHQgYW5kIHdpZHRoICovXG5cdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRwYWRkaW5nOiAwICgxNi8xNnJlbSk7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcblx0XHRib3gtc2hhZG93OiByZ2JhKDE0OSwgMTU3LCAxNjUsIDAuMikgMHB4IDhweCAyNHB4O1xuXHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHR6LWluZGV4OiAxMDAwMDtcblxuXHRcdC5jcy1jb250YWluZXIge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRtYXgtd2lkdGg6ICgxMjgwLzE2cmVtKTtcblx0XHRcdG1hcmdpbjogYXV0bztcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGdhcDogKDI0LzE2cmVtKTtcblx0XHR9XG5cblx0XHQuY3MtdG9nZ2xlIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG5cdFx0LmNzLWxvZ28ge1xuXHRcdFx0d2lkdGg6IDE4LjQlO1xuXHRcdFx0bWF4LXdpZHRoOiAoMzUwLzE2cmVtKTtcblx0XHRcdGhlaWdodDogKDY1LzE2cmVtKTtcblx0XHRcdC8qIG1hcmdpbi1yaWdodCBhdXRvIHB1c2hlcyBldmVyeXRoaW5nIGF3YXkgZnJvbSBpdCB0byB0aGUgcmlnaHQgKi9cblx0XHRcdG1hcmdpbjogMCBhdXRvIDAgMDtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0ei1pbmRleDogMTAwO1xuXG5cdFx0XHRpbWcge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHQvKiBlbnN1cmVzIHRoZSBpbWFnZSBuZXZlciBvdmVyZmxvd3MgdGhlIGNvbnRhaW5lci4gSXQgc3RheXMgY29udGFpbmVkIHdpdGhpbiBpdCdzIHdpZHRoIGFuZCBoZWlnaHQgYW5kIGV4cGFuZHMgdG8gZmlsbCBpdCB0aGVuIHN0b3BzIG9uY2UgaXQgcmVhY2hlcyBhbiBlZGdlICovXG5cdFx0XHRcdG9iamVjdC1maXQ6IGNvbnRhaW47XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmNzLXVsIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0LyogMjBweCAtIDM2cHggKi9cblx0XHRcdGdhcDogY2xhbXAoMS4yNXJlbSwgMi42dncsIDIuMjVyZW0pO1xuXHRcdH1cblxuXHRcdC5jcy1saSB7XG5cdFx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdFx0cGFkZGluZzogKDMyLzE2cmVtKSAwO1xuXHRcdFx0LyogcHJldmVudCBmbGV4Ym94IGZyb20gc3F1aXNoaW5nIGl0ICovXG5cdFx0XHRmbGV4OiBub25lO1xuXHRcdH1cblxuXHRcdC5jcy1saS1saW5rIHtcblx0XHRcdC8qIDE0cHggLSAxNnB4ICovXG5cdFx0XHRmb250LXNpemU6IGNsYW1wKDAuODc1cmVtLCAxdncsIDFyZW0pO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuNWVtO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0Y29sb3I6IHZhcigtLWJvZHlUZXh0Q29sb3JXaGl0ZSk7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ji5jcy1hY3RpdmUge1xuXHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHQvKiBhY3RpdmUgc3RhdGUgdW5kZXJsaW5lICovXG5cdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdHdpZHRoOiAwJTtcblx0XHRcdFx0aGVpZ2h0OiAycHg7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnkpO1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRib3R0b206ICgwLzE2cmVtKTtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0dHJhbnNpdGlvbjogd2lkdGggMC4zcztcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLyotLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLT5cbjwtLS0gICAgICAgICAgQmFubmVyICAgICAgICAgICAgLS0+XG48LS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0qL1xuXG4vKiBNb2JpbGUgLSAzNjBweCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwcHgpIHtcblx0I2Jhbm5lci0zMTAge1xuXHRcdC8qIDE0NHB4IC0gMjUycHggKi9cblx0XHRwYWRkaW5nLXRvcDogY2xhbXAoOXJlbSwgMjV2dywgMTUuNzVyZW0pO1xuXHRcdC8qIDgwcHggLSAxNDBweCAqL1xuXHRcdHBhZGRpbmctYm90dG9tOiBjbGFtcCg1cmVtLCAxM3Z3LCA4Ljc1cmVtKTtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ei1pbmRleDogMTtcblxuXHRcdC5jcy1jb250YWluZXIge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRtYXgtd2lkdGg6ICgxMjgwLzE2cmVtKTtcblx0XHRcdG1hcmdpbjogYXV0bztcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdH1cblxuXHRcdC5jcy1pbnQtdGl0bGUge1xuXHRcdFx0LyogMzlweCAtIDQ5cHggKi9cblx0XHRcdGZvbnQtc2l6ZTogY2xhbXAoMi40Mzc1cmVtLCA0LjV2dywgMy4wNjI1cmVtKTtcblx0XHRcdGZvbnQtd2VpZ2h0OiA5MDA7XG5cdFx0XHRsaW5lLWhlaWdodDogMS4yZW07XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRtYXgtd2lkdGg6ICg3MDAvMTZyZW0pO1xuXHRcdFx0bWFyZ2luOiAwIGF1dG8gKDEyLzE2cmVtKTtcblx0XHRcdGNvbG9yOiB2YXIoLS1ib2R5VGV4dENvbG9yV2hpdGUpO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdH1cblxuXHRcdC5jcy1icmVhZGNydW1icyB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdH1cblxuXHRcdC5jcy1saW5rIHtcblx0XHRcdC8qIDE0cHggLSAxNnB4ICovXG5cdFx0XHRmb250LXNpemU6IGNsYW1wKDAuODc1cmVtLCAxLjV2dywgMXJlbSk7XG5cdFx0XHRsaW5lLWhlaWdodDogMS4yZW07XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRjb2xvcjogdmFyKC0tYm9keVRleHRDb2xvcldoaXRlKTtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0XHRcdCY6bGFzdC1vZi10eXBlIHtcblx0XHRcdFx0LyogcmVtb3ZlIHRoZSBjaGV2cm9uIG9uIHRoZSBsYXN0IGxpc3QgaXRlbSAqL1xuXHRcdFx0XHQmOjphZnRlciB7XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0LyogY2hldnJvbiAtIGFkZGVkIGFzIHBzZXVkbyB0byBtYWtlIGFkZGluZyBhbmQgcmVtb3ZpbmcgdGhlbSBlYXNpZXIgKi9cblx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0d2lkdGg6ICg3LzE2cmVtKTtcblx0XHRcdFx0aGVpZ2h0OiAoMTIvMTZyZW0pO1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogKDEyLzE2cmVtKTtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAoMTIvMTZyZW0pO1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiB1cmwoXCIvYXNzZXRzL3N2Z3MvY2hldnJvbi5zdmdcIik7XG5cdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcblx0XHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0fVxuXG5cdFx0XHQmLmNzLWFjdGl2ZSB7XG5cdFx0XHRcdGNvbG9yOiB2YXIoLS1wcmltYXJ5TGlnaHQpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5jcy1iYWNrZ3JvdW5kIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0ei1pbmRleDogLTE7XG5cblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0LyogYmxhY2sgb3ZlcmxheSBib3ggKi9cblx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0YmFja2dyb3VuZDogIzAwMDtcblx0XHRcdFx0b3BhY2l0eTogMC43Mjtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHR6LWluZGV4OiAxO1xuXHRcdFx0fVxuXG5cdFx0XHRpbWcge1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8qLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0+XG48LS0tICAgICAgICAgICAgQ1RBICAgICAgICAgICAgIC0tPlxuPC0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtKi9cblxuLyogTW9iaWxlIC0gMzYwcHggKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMHB4KSB7XG5cdCNjdGEtNTEge1xuXHRcdHBhZGRpbmc6IHZhcigtLXNlY3Rpb25QYWRkaW5nKTtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHQuY3MtY29udGFpbmVyIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0bWF4LXdpZHRoOiAoMTI4MC8xNnJlbSk7XG5cdFx0XHRtYXJnaW46IGF1dG87XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHQvKiA0OHB4IC0gNjRweCAqL1xuXHRcdFx0Z2FwOiBjbGFtcCgzcmVtLCA2dncsIDRyZW0pO1xuXHRcdH1cblxuXHRcdC5jcy1jb250ZW50IHtcblx0XHRcdC8qIHNldCB0ZXh0IGFsaWduIHRvIGxlZnQgaWYgY29udGVudCBuZWVkcyB0byBiZSBsZWZ0IGFsaWduZWQgKi9cblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHQvKiBjZW50ZXJzIGNvbnRlbnQgaG9yaXpvbnRhbGx5LCBzZXQgdG8gZmxleC1zdGFydCB0byBsZWZ0IGFsaWduICovXG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdH1cblxuXHRcdC5jcy10aXRsZSB7XG5cdFx0XHRjb2xvcjogdmFyKC0tYm9keVRleHRDb2xvcldoaXRlKTtcblx0XHR9XG5cblx0XHQuY3MtdGV4dCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAoMTYvMTZyZW0pO1xuXHRcdFx0Y29sb3I6IHZhcigtLWJvZHlUZXh0Q29sb3JXaGl0ZSk7XG5cdFx0XHRvcGFjaXR5OiAwLjg7XG5cdFx0XHQmOmxhc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206ICgzMi8xNnJlbSk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmNzLXBpY3R1cmUge1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHotaW5kZXg6IC0xO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHotaW5kZXg6IC0xO1xuXG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdC8qIGJsYWNrIGNvbG9yIG92ZXJsYXkgKi9cblx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0YmFja2dyb3VuZDogIzAwMDtcblx0XHRcdFx0b3BhY2l0eTogMC44O1xuXHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHR9XG5cblx0XHRcdGltZyB7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRvYmplY3QtZml0OiBjb3Zlcjtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLyotLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLT5cbjwtLS0gICAgICAgICAgRm9vdGVyICAgICAgICAgICAgLS0+XG48LS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0qL1xuXG4vKiBNb2JpbGUgLSAzNjBweCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwcHgpIHtcblx0I2NzLWZvb3Rlci0yNzUge1xuXHRcdHBhZGRpbmc6IHZhcigtLXNlY3Rpb25QYWRkaW5nKTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMWExYTFhO1xuXG5cdFx0LmNzLWNvbnRhaW5lciB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdC8qIHJlc2V0IG9uIHRhYmxldCAqL1xuXHRcdFx0bWF4LXdpZHRoOiAoNTUwLzE2cmVtKTtcblx0XHRcdG1hcmdpbjogYXV0bztcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0XHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRcdGNvbHVtbi1nYXA6ICg4OC8xNnJlbSk7XG5cdFx0XHRyb3ctZ2FwOiAoMzIvMTZyZW0pO1xuXHRcdH1cblxuXHRcdC5jcy1sb2dvLWdyb3VwIHtcblx0XHRcdC8qIHRha2VzIHVwIGFsbCB0aGUgc3BhY2UsIGxldHMgdGhlIG90aGVyIHVsJ3Mgd3JhcCBiZWxvdyBpdCAqL1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0fVxuXG5cdFx0LmNzLWxvZ28ge1xuXHRcdFx0LyogMjEwcHggLSAyNDBweCAqL1xuXHRcdFx0d2lkdGg6IGNsYW1wKDEzLjEyNXJlbSwgOHZ3LCAxNXJlbSk7XG5cdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdC8qIDI4cHggLSA0NHB4ICovXG5cdFx0XHRtYXJnaW4tYm90dG9tOiBjbGFtcCgxLjc1cmVtLCA0LjE3dncsIDIuNzVyZW0pO1xuXHRcdH1cblxuXHRcdC5jcy1sb2dvLWltZyB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogYXV0bztcblxuXHRcdFx0Ji5kYXJrIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuY3MtdGV4dCB7XG5cdFx0XHRjb2xvcjogdmFyKC0tYm9keVRleHRDb2xvcldoaXRlKTtcblx0XHRcdG1hcmdpbi1ib3R0b206ICgxNi8xNnJlbSk7XG5cdFx0fVxuXG5cdFx0LmNzLXNvY2lhbCB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0XHRnYXA6ICgxMi8xNnJlbSk7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRyaWdodDogMDtcblx0XHR9XG5cblx0XHQuY3Mtc29jaWFsLWxpbmsge1xuXHRcdFx0d2lkdGg6ICgyNC8xNnJlbSk7XG5cdFx0XHRoZWlnaHQ6ICgyNC8xNnJlbSk7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjNGU0YjY2O1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcywgYmFja2dyb3VuZC1jb2xvciAwLjNzO1xuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzFhMWExYTtcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjE4NzVyZW0pO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5jcy1zb2NpYWwtaW1nIHtcblx0XHRcdGhlaWdodDogKDEzLzE2cmVtKTtcblx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0fVxuXG5cdFx0LyogTmF2aWdhdGlvbiBMaW5rcyAqL1xuXHRcdC5jcy1uYXYge1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdG1hcmdpbjogMDtcblx0XHR9XG5cblx0XHQuY3MtbmF2LWxpIHtcblx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAoMTYvMTZyZW0pO1xuXHRcdFx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5jcy1oZWFkZXIge1xuXHRcdFx0Zm9udC1zaXplOiAoMTYvMTZyZW0pO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuNWVtO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdGNvbG9yOiB2YXIoLS1ib2R5VGV4dENvbG9yV2hpdGUpO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0d2lkdGg6ICgzMi8xNnJlbSk7XG5cdFx0XHRcdGhlaWdodDogKDQvMTZyZW0pO1xuXHRcdFx0XHRtYXJnaW46ICgxNi8xNnJlbSkgYXV0byAoMjQvMTZyZW0pIDA7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnkpO1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5jcy1uYXYtbGluayB7XG5cdFx0XHRmb250LXNpemU6ICgxNi8xNnJlbSk7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRsaW5lLWhlaWdodDogMS41ZW07XG5cdFx0XHRjb2xvcjogdmFyKC0tYm9keVRleHRDb2xvcldoaXRlKTtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHQvKiB1bmRlcmxpbmUgKi9cblx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0d2lkdGg6IDAlO1xuXHRcdFx0XHRoZWlnaHQ6ICgyLzE2cmVtKTtcblx0XHRcdFx0YmFja2dyb3VuZDogdmFyKC0tYm9keVRleHRDb2xvcldoaXRlKTtcblx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0Ym90dG9tOiAoLTIvMTZyZW0pO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiB3aWR0aCAwLjNzO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LyogQ29udGFjdCBMaW5rcyAqL1xuXHRcdC5jcy1jb250YWN0IHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHR3aWR0aDogMzUlO1xuXHRcdH1cblxuXHRcdC5jcy1jb250YWN0LWxpIHtcblx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAoMC8xNnJlbSk7XG5cdFx0XHQmOmxhc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmNzLWNvbnRhY3QtbGluayB7XG5cdFx0XHRmb250LXNpemU6ICgxNi8xNnJlbSk7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRsaW5lLWhlaWdodDogMS41ZW07XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFx0Y29sb3I6IHZhcigtLWJvZHlUZXh0Q29sb3JXaGl0ZSk7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuY3MtYWRkcmVzcyB7XG5cdFx0XHRmb250LXNpemU6ICgxNi8xNnJlbSk7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAoMjAvMTZyZW0pO1xuXHRcdH1cblx0fVxufVxuXG4vKiBUYWJsZXQgLSA3NjhweCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OHJlbSkge1xuXHQjY3MtZm9vdGVyLTI3NSB7XG5cdFx0LmNzLWNvbnRhaW5lciB7XG5cdFx0XHRtYXgtd2lkdGg6ICgxMjgwLzE2cmVtKTtcblx0XHRcdHJvdy1nYXA6IDA7XG5cdFx0fVxuXG5cdFx0LmNzLWNvbnRhY3Qge1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRcdGJvcmRlci10b3A6IG5vbmU7XG5cdFx0fVxuXG5cdFx0LmNzLWNvbnRhY3QtbGkge1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdH1cblx0fVxufVxuXG4vKiBTbWFsbCBEZXNrdG9wIC0gMTAyNHB4ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0cmVtKSB7XG5cdCNjcy1mb290ZXItMjc1IHtcblx0XHQuY3MtY29udGFpbmVyIHtcblx0XHRcdC8qIHB1c2hlcyBhbGwgZmxleCBjaGlsZHJlbiB0byB0aGUgdG9wICovXG5cdFx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdFx0fVxuXG5cdFx0LmNzLWxvZ28tZ3JvdXAge1xuXHRcdFx0LyogcHVzaGVzIGV2ZXJ5dGhpbmcgdG8gdGhlIHJpZ2h0IG9mIGl0IGFzIGZhciBhcyBwb3NzaWJsZSBpbiBhIGZsZXhib3ggKi9cblx0XHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0bWF4LXdpZHRoOiAoMzA1LzE2cmVtKTtcblx0XHR9XG5cblx0XHQuY3MtdGV4dCB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG5cblx0XHQuY3Mtc29jaWFsIHtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHR0b3A6IGF1dG87XG5cdFx0XHRyaWdodDogYXV0bztcblx0XHR9XG5cblx0XHQuY3MtY29udGFjdCB7XG5cdFx0XHR3aWR0aDogYXV0bztcblx0XHR9XG5cdH1cbn0iXX0= */