/*-- -------------------------- -->
<---        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: #ff3131;
    --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;
    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;
    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;
  }
}
/* 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;
  }
}
/* 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+ */
  }
}
/*-- -------------------------- -->
<---     Mobile Navigation      -->
<--- -------------------------- -*/
/* Mobile - 1023px */
@media only screen and (max-width: 1023.5px) {
  @keyframes floatAnimation {
    0% {
      transform: translateY(0);
    }
    50% {
      transform: translateY(-0.5rem);
    }
    100% {
      transform: translateY(0);
    }
  }
  @keyframes floatAnimation2 {
    0% {
      transform: translateY(0);
    }
    50% {
      transform: translateY(-0.7rem);
    }
    100% {
      transform: translateY(0);
    }
  }
  body.cs-open {
    overflow: hidden;
  }
  body.cs-open #cs-navigation:before {
    height: 100vh;
  }
  body.cs-open #cs-navigation .cs-toggle:before {
    opacity: 0.3;
    top: 0px;
    left: -2px;
  }
  body.cs-open #cs-navigation .cs-toggle:after {
    opacity: 0.3;
    right: -5px;
    bottom: -5px;
  }
  body.cs-open #cs-navigation .cs-top-bar:before {
    background-color: #000;
  }
  body.cs-open #cs-navigation .cs-top-link {
    color: var(--headerColor);
  }
  body.cs-open #cs-navigation .cs-default {
    opacity: 0;
    transform: rotateX(180deg);
  }
  body.cs-open #cs-navigation .cs-onscroll {
    opacity: 1;
    transform: rotateX(360deg);
  }
  body.scroll #cs-navigation:before {
    height: 100%;
  }
  body.scroll #cs-navigation .cs-top-bar {
    height: 0;
  }
  body.scroll #cs-navigation .cs-top-link {
    opacity: 0;
  }
  body.scroll #cs-navigation .cs-default {
    opacity: 0;
    transform: rotateX(180deg);
  }
  body.scroll #cs-navigation .cs-onscroll {
    opacity: 1;
    transform: rotateX(360deg);
  }
  #cs-navigation {
    width: 100%;
    /* prevents padding from affecting height and width */
    box-sizing: border-box;
    position: fixed;
    z-index: 10000;
  }
  #cs-navigation:before {
    /* on scroll background */
    content: "";
    width: 100%;
    height: 0%;
    background: #fff;
    opacity: 1;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    transition: height 0.3s;
  }
  #cs-navigation.cs-active:before {
    height: 150vh;
    opacity: 1;
  }
  #cs-navigation.cs-active .cs-ul-wrapper {
    opacity: 1;
    transform: scaleY(1);
    transition-delay: 0.15s;
  }
  #cs-navigation.cs-active .cs-li {
    opacity: 1;
    transform: translateY(0);
  }
  #cs-navigation .cs-top-bar {
    width: 100%;
    height: 3.3125rem;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 1;
    transition: height 0.3s;
  }
  #cs-navigation .cs-top-bar:before {
    /* divider line */
    content: "";
    width: 100%;
    height: 1px;
    background: #fff;
    opacity: 0.1;
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    transition: background-color 0.3s;
  }
  #cs-navigation .cs-top-container {
    width: 100%;
    /* prevents padding from affecting height and width */
    box-sizing: border-box;
    padding: 1rem;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 3.125rem;
  }
  #cs-navigation .cs-top-contact {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.5rem;
  }
  #cs-navigation .cs-top-link {
    font-size: 0.875rem;
    line-height: 1.5em;
    text-decoration: none;
    margin: 0;
    color: #f7f7f7;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0.5rem;
    transition: opacity 0.3s, color 0.3s;
  }
  #cs-navigation .cs-link-icon {
    width: 1rem;
    height: auto;
    display: block;
  }
  #cs-navigation .cs-container {
    width: 100%;
    /* prevents padding from affecting height and width */
    box-sizing: border-box;
    padding: 1rem;
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }
  #cs-navigation .cs-logo {
    width: 13.0625rem;
    height: auto;
    margin: 0 auto 0 0;
    /* prevents padding from affecting height and width */
    box-sizing: border-box;
    padding: 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    z-index: 10;
    transform-style: preserve-3d;
    perspective: 500px;
  }
  #cs-navigation .cs-logo img {
    width: 100%;
    height: auto;
    /* 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-default {
    /* Safari */
    backface-visibility: hidden;
    transition: opacity 0.3s, transform 0.6s;
  }
  #cs-navigation .cs-onscroll {
    width: 100%;
    opacity: 0;
    /* Safari */
    backface-visibility: hidden;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    transform: rotateX(180deg);
    transition: opacity 0.3s, transform 0.6s;
  }
  #cs-navigation .cs-top-logo {
    display: none;
  }
  #cs-navigation .cs-toggle {
    width: 3rem;
    height: 3rem;
    margin: 0 0 0 auto;
    background-color: var(--primary);
    border: none;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
  }
  #cs-navigation .cs-toggle:before {
    /* floating bubble when opened */
    content: "";
    width: 70%;
    height: 70%;
    opacity: 0;
    border: 1px solid #000;
    border-radius: 50%;
    display: block;
    position: absolute;
    top: 4px;
    left: 4px;
    z-index: -1;
    transition: left 0.6s, top 0.3s, opacity 0.6s;
    transition-delay: 0.2s;
    animation-name: floatAnimation;
    animation-duration: 7s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    animation-fill-mode: forwards;
  }
  #cs-navigation .cs-toggle:after {
    /* floating bubble when opened */
    content: "";
    width: 50%;
    height: 50%;
    opacity: 0;
    border: 1px solid #000;
    border-radius: 50%;
    display: block;
    position: absolute;
    right: 4px;
    bottom: 4px;
    z-index: -1;
    transition: bottom 0.6s, right 0.3s, opacity 0.6s;
    transition-delay: 0.3s;
    animation-name: floatAnimation2;
    animation-duration: 5s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    animation-fill-mode: forwards;
  }
  #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);
    height: 1rem;
    position: relative;
  }
  #cs-navigation .cs-line {
    width: 100%;
    height: 2px;
    background-color: #fafbfc;
    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;
  }
}
/*-- -------------------------- -->
<---   Mobile Navigation Menu   -->
<--- -------------------------- -*/
/* Small Desktop - 1024px */
@media only screen and (max-width: 1023.5px) {
  #cs-navigation .cs-ul-wrapper {
    width: 100%;
    height: auto;
    padding-bottom: 3rem;
    opacity: 0;
    background-color: #fff;
    box-shadow: inset rgba(0, 0, 0, 0.05) 0px 8px 24px;
    border-radius: 0 0 1.25rem 1.25rem;
    overflow: hidden;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: -1;
    transform: scaleY(0);
    transform-origin: top;
    transition: transform 0.4s, opacity 0.3s;
  }
  #cs-navigation .cs-ul {
    margin: 0;
    padding: 3rem 0 0 0;
    width: 100%;
    height: auto;
    max-height: 65vh;
    overflow: scroll;
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
    align-items: center;
    gap: 1.25rem;
  }
  #cs-navigation .cs-li {
    width: 100%;
    text-align: center;
    list-style: none;
    margin-right: 0;
    /* transition from these values */
    transform: translateY(-4.375rem);
    opacity: 0;
    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:nth-of-type(10) {
    transition-delay: 0.5s;
  }
  #cs-navigation .cs-li:nth-of-type(11) {
    transition-delay: 0.55s;
  }
  #cs-navigation .cs-li:nth-of-type(12) {
    transition-delay: 0.6s;
  }
  #cs-navigation .cs-li:nth-of-type(13) {
    transition-delay: 0.65s;
  }
  #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.cs-active {
    color: var(--primary);
  }
  #cs-navigation .cs-li-link:hover {
    color: var(--primary);
  }
  #cs-navigation .cs-button-solid {
    display: none;
  }
}
/*-- -------------------------- -->
<---     Navigation Dropdown    -->
<--- -------------------------- -*/
/* Mobile - 1023px */
@media only screen and (max-width: 1023.5px) {
  #cs-navigation .cs-li {
    text-align: center;
    width: 100%;
    display: block;
  }
  #cs-navigation .cs-dropdown {
    position: relative;
    color: var(--bodyTextColorWhite);
  }
  #cs-navigation .cs-dropdown.cs-active .cs-drop-ul {
    height: auto;
    opacity: 1;
    visibility: visible;
    margin: 0.75rem 0 0 0;
    padding: 0.75rem 0;
  }
  #cs-navigation .cs-dropdown.cs-active .cs-drop-link {
    opacity: 1;
  }
  #cs-navigation .cs-dropdown.cs-active .cs-drop-icon {
    transform: translateY(-50%) rotate(-90deg);
  }
  #cs-navigation .cs-dropdown .cs-li-link {
    position: relative;
    transition: opacity 0.3s;
  }
  #cs-navigation .cs-dropdown-toggle {
    /* Reset default button styles */
    background: none;
    border: none;
    text-align: inherit;
    cursor: pointer;
    /* Remove any default focus styles */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }
  #cs-navigation .cs-drop-icon {
    width: 1.5rem;
    height: auto;
    /* makes it black */
    filter: grayscale(1) brightness(20%);
    position: absolute;
    top: 50%;
    right: -1.5rem;
    transform: translateY(-50%);
    transition: transform 0.2s;
  }
  #cs-navigation .cs-drop-ul {
    width: 100%;
    height: 0;
    margin: 0;
    padding: 0;
    background-color: var(--primary);
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    transition: padding 0.3s, margin 0.3s, height 0.3s, opacity 0.3s, visibility 0.3s;
  }
  #cs-navigation .cs-drop-li {
    list-style: none;
  }
  #cs-navigation .cs-li-link.cs-drop-link {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 2vw, 1.25rem);
    color: #fff;
  }
}
/* Dark Mode - 1023px */
/* Desktop - 1024px */
@media only screen and (min-width: 1024px) {
  #cs-navigation .cs-li:hover .cs-drop-icon {
    transform: rotate(-90deg);
  }
  #cs-navigation .cs-dropdown {
    position: relative;
  }
  #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 {
    transform: scaleY(1);
    opacity: 1;
    visibility: visible;
  }
  #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-dropdown-toggle {
    /* Reset default button styles */
    background: none;
    border: none;
    text-align: inherit;
    cursor: pointer;
    /* Remove any default focus styles */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }
  #cs-navigation .cs-drop-icon {
    width: 1.5rem;
    height: auto;
    display: inline-block;
    transition: transform 0.3s;
  }
  #cs-navigation .cs-drop-ul {
    min-width: 12.5rem;
    margin: 0;
    padding: 0;
    background-color: #fff;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    box-shadow: rgba(149, 157, 165, 0.2) 0px 10px 16px;
    border-bottom: 5px solid var(--primary);
    border-radius: 0 0 0.625rem 0.625rem;
    box-sizing: border-box;
    /* 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: calc(100% - 2px);
    z-index: 100;
    transform: scaleY(0);
    transform-origin: top;
    transition: transform 0.3s, visibility 0.3s, opacity 0.3s;
  }
  #cs-navigation .cs-drop-li {
    list-style: none;
    font-size: 1rem;
    text-decoration: none;
    opacity: 0;
    width: 100%;
    height: auto;
    display: block;
    transform: translateY(-10/16rem);
    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;
    white-space: nowrap;
    line-height: 1.5em;
    text-decoration: none;
    width: 100%;
    padding: 0.75rem;
    /* prevents padding from affecting height and width */
    box-sizing: border-box;
    color: var(--headerColor);
    display: block;
    transition: color 0.3s, background-color 0.3s;
  }
  #cs-navigation .cs-li-link.cs-drop-link:hover {
    background-color: #f7f7f7;
    color: var(--headerColor);
  }
  #cs-navigation .cs-li-link.cs-drop-link:focus-visible {
    outline-offset: -2px;
  }
  #cs-navigation .cs-li-link.cs-drop-link:before {
    display: none;
  }
}
/* Dark Mode - 1024px */
/*-- -------------------------- -->
<---     Desktop Navigation     -->
<--- -------------------------- -*/
/* Small Desktop - 1024px */
@media only screen and (min-width: 1024px) {
  /* on scroll animations */
  body.scroll #cs-navigation {
    /* translate the whole navigation UP by the exact same height as the cs-top-bar (86px) so we can get that off screen and not have a tall clunky navbar. Then we translate the cs-logo DOWN so it lowers itself to be positioned centered in the cs-container, when it's not. It's just an illusion we create */
    transform: translateY(-5.375rem);
  }
  body.scroll #cs-navigation:before {
    height: 100%;
  }
  body.scroll #cs-navigation .cs-logo {
    transform: translateY(5rem);
  }
  body.scroll #cs-navigation .cs-top-bar:before {
    background-color: rgba(0, 0, 0, 0.4);
  }
  body.scroll #cs-navigation .cs-default {
    opacity: 0;
    transform: rotateX(180deg);
  }
  body.scroll #cs-navigation .cs-onscroll {
    opacity: 1;
    transform: rotateX(360deg);
  }
  body.scroll #cs-navigation .cs-top-link {
    color: var(--headerColor);
  }
  body.scroll #cs-navigation .cs-li-link {
    color: var(--headerColor);
  }
  body.scroll #cs-navigation .cs-li-link.cs-active {
    color: var(--primary);
  }
  body.scroll #cs-navigation .cs-li:hover .cs-li-link {
    color: var(--primary);
  }
  body.scroll #cs-navigation .cs-li.cs-dropdown .cs-li-link {
    color: var(--headerColor);
  }
  body.scroll #cs-navigation .cs-drop-icon {
    filter: grayscale(1) brightness(0);
  }
  #cs-navigation {
    width: 100%;
    /* prevents padding from affecting height and width */
    box-sizing: border-box;
    padding: 0;
    position: fixed;
    z-index: 10000;
    transition: transform 0.3s;
    text-transform: uppercase;
    font-weight: bold;
  }
  #cs-navigation:before {
    /* on scroll background */
    content: "";
    width: 100%;
    height: 0%;
    background: #fff;
    opacity: 1;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    transition: height 0.3s;
  }
  #cs-navigation .cs-top-bar {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 1;
  }
  #cs-navigation .cs-top-container {
    width: 100%;
    max-width: 80rem;
    /* prevents padding from affecting height and width */
    box-sizing: border-box;
    padding: 1.25rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 3.125rem;
    position: relative;
    z-index: 1;
  }
  #cs-navigation .cs-top-contact {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 1.5rem;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  #cs-navigation .cs-top-link {
    font-size: 1rem;
    line-height: 1.5em;
    text-decoration: none;
    margin: 0;
    color: #f7f7f7;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0.5rem;
    transition: color 0.3s;
  }
  #cs-navigation .cs-top-link:hover {
    text-decoration: underline;
  }
  #cs-navigation .cs-link-icon {
    width: 1rem;
    height: auto;
    display: block;
  }
  #cs-navigation .cs-container {
    width: 100%;
    max-width: 80rem;
    /* same height as the cs-ul-wrapper */
    height: 4.5rem;
    margin: auto;
    /* prevents padding from affectin gheight */
    box-sizing: border-box;
    padding: 0 1rem;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 1.5rem;
    position: relative;
  }
  #cs-navigation .cs-toggle {
    display: none;
  }
  #cs-navigation .cs-logo {
    width: auto;
    height: 3.75rem;
    /* 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: flex-start;
    position: relative;
    z-index: 100;
    transform-style: preserve-3d;
    perspective: 500px;
    transition: transform 0.3s;
  }
  #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-default {
    /* Safari */
    backface-visibility: hidden;
    transition: opacity 0.3s, transform 0.6s;
  }
  #cs-navigation .cs-onscroll {
    width: 100%;
    opacity: 0;
    /* Safari */
    backface-visibility: hidden;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    transform: rotateX(180deg);
    transition: opacity 0.3s, transform 0.6s;
  }
  #cs-navigation .cs-bottom-logo {
    display: none;
  }
  #cs-navigation .cs-ul-wrapper {
    /* absolutely positioned to be dead center */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  #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: 1.5rem 0;
    /* prevent flexbox from squishing it */
    flex: none;
  }
  #cs-navigation .cs-li-link {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 0.6vw, 1rem);
    line-height: 1.5rem;
    text-decoration: none;
    margin: 0;
    color: var(--bodyTextColorWhite);
    display: flex;
    align-items: center;
    position: relative;
    transition: color 0.3s;
    text-transform: uppercase;
    font-weight: bold;
  }
  #cs-navigation .cs-li-link:hover {
    color: var(--primary);
  }
  #cs-navigation .cs-li-link.cs-active {
    color: var(--primary);
  }
  #cs-navigation .cs-button-solid {
    font-size: 1rem;
    font-weight: 700;
    /* 46px - 56px */
    line-height: clamp(2.875em, 5.5vw, 3.5em);
    text-align: center;
    text-decoration: none;
    min-width: 9.375rem;
    margin: 0;
    /* prevents padding from adding to the width */
    box-sizing: border-box;
    padding: 0 2rem;
    background-color: var(--primary);
    overflow: hidden;
    color: #fff;
    display: inline-block;
    position: relative;
    z-index: 1;
    transition: color 0.3s;
  }
  #cs-navigation .cs-button-solid:before {
    content: "";
    width: 0%;
    height: 100%;
    background: #fff;
    opacity: 1;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    transition: width 0.3s;
  }
  #cs-navigation .cs-button-solid:hover {
    color: #1a1a1a;
  }
  #cs-navigation .cs-button-solid:hover:before {
    width: 100%;
  }
  #cs-navigation .cs-nav-button {
    line-height: 2.875rem;
  }
}
/*-- -------------------------- -->
<---          Banner            -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #banner-1402 {
    padding: var(--sectionPadding);
    /* 190px - 268px */
    padding-top: clamp(11.875rem, 25vw, 16.75rem);
    padding-bottom: 6.25rem;
    /* clips the line from causing overflow issues for going off screen */
    overflow: hidden;
    position: relative;
    z-index: 1;
  }
  #banner-1402 .cs-container {
    text-align: center;
    width: 100%;
    max-width: 80rem;
    margin: auto;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: column;
    /* 8px - 12px */
    gap: clamp(0.5rem, 1vw, 0.75rem);
  }
  #banner-1402 .cs-int-title {
    /* 39px - 61px */
    font-size: clamp(2.4375rem, 6.4vw, 3.8125rem);
    font-weight: 900;
    line-height: 1.2em;
    text-align: inherit;
    margin: 0;
    color: var(--bodyTextColorWhite);
    position: relative;
  }
  #banner-1402 .cs-breadcrumbs {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #banner-1402 .cs-link {
    font-size: 1rem;
    line-height: 1.2em;
    text-decoration: none;
    color: var(--bodyTextColorWhite);
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #banner-1402 .cs-link:last-of-type {
    /* remove the chevron on the last list item */
  }
  #banner-1402 .cs-link:last-of-type::after {
    display: none;
  }
  #banner-1402 .cs-link:after {
    /* chevron */
    content: "";
    width: 0.4375rem;
    height: 0.75rem;
    margin: 0 1rem;
    background: url("https://csimg.nyc3.cdn.digitaloceanspaces.com/Icons/white-chev.svg");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    display: block;
  }
  #banner-1402 .cs-link.cs-active {
    color: var(--primary);
  }
  #banner-1402 .cs-background {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
  #banner-1402 .cs-background:before {
    /* gradient overlay */
    content: "";
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0.4;
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    z-index: 1;
  }
  #banner-1402 .cs-background:after {
    /* gradient overlay */
    content: "";
    width: 100%;
    height: 40%;
    background: linear-gradient(to bottom, #000000 0%, rgba(0, 0, 0, 0) 100%);
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    z-index: 2;
  }
  #banner-1402 .cs-background img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    /* Makes img tag act as a background image */
    -o-object-fit: cover;
       object-fit: cover;
  }
}
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #banner-1402 .cs-background:before {
    width: 50%;
    height: 100%;
    background: linear-gradient(to right, #000000 0%, rgba(0, 0, 0, 0) 100%);
    opacity: 1;
  }
}
/*-- -------------------------- -->
<---            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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hc3NldHMvbGVzcy9yb290Lmxlc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O2tDQUVrQztBQUNsQyxtQ0FBbUM7QUFTbkM7RUFQRSx1UkFBdVI7RUFTeFI7SUFDQyxrQkFBQTtJQUNBLHVCQUFBO0lBQ0Esb0JBQUE7SUFDQSx5QkFBQTtJQUNBLHNCQUFBO0lBQ0Esd0JBQUE7SUFDQSw2QkFBQTtJQVBFLGdCQUFnQjtJQWVsQiwrQ0FBQTtJQWJFLGdCQUFnQjtJQWVsQixvREFBQTtJQUNBLG9CQUFBO0lBYkUsZ0NBQWdDO0lBZWxDLHNEQUFBO0lBRUEseUNBQUE7SUFDQSx1Q0FBQTtFQWRBO0VBaUJEOztJQUVDLFNBQUE7SUFDQSxVQUFBO0lBQ0Esa0JBQUE7SUFDQSw0QkFBQTtJQUNBLGVBQUE7SUFDQSxpQ0FBQTtJQUNBLDJCQUFBO0VBZkE7RUFrQkQ7OztJQWRHLHFEQUFxRDtJQWtCdkQsc0JBQUE7SUFDQSxTQUFBO0lBQ0EsVUFBQTtFQWhCQTtFQW1CRDtJQUNDLGdDQUFBO0lBQ0Esa0JBQUE7SUFDQSx5QkFBQTtJQUNBLG1CQUFBO0lBQ0EscUJBQUE7SUFDQSxnQkFBQTtJQUNBLHFCQUFBO0lBQ0Esc0JBQUE7SUFDQSxjQUFBO0VBakJBO0VBb0JEO0lBQ0MsZ0NBQUE7SUFDQSxnQkFBQTtJQUNBLGtCQUFBO0lBQ0EsbUJBQUE7SUFDQSxtQkFBQTtJQUNBLGtCQUFBO0lBQ0EseUJBQUE7SUFDQSxrQkFBQTtFQWxCQTtFQXFCRDtJQUNDLDhCQUFBO0lBQ0Esa0JBQUE7SUFDQSxtQkFBQTtJQUNBLFdBQUE7SUFDQSxvQkFBQTtJQUNBLFNBQUE7SUFDQSwyQkFBQTtFQW5CQTtBQUNGO0FBQ0EsMkJBQTJCO0FBc0IzQjtFQUVDO0lBQ0MsaUJBQUE7SUFDQSxrQkFBQTtJQUNBLE1BQUE7SUFDQSxPQUFBO0lBQ0EsVUFBQTtFQXJCQTtFQXlCRDtJQUNDLFVBQUE7SUFDQSxrQkFBQTtJQUNBLHFCQUFBO0lBQ0EsZ0NBQUE7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LGlCQUFBO0lBQ0EsT0FBQTtJQUNBLHNCQUFBO0VBaFhGO0VBb1hFO0lBQ0MsV0FBQTtFQWxYSDtFQTBPRDtJQStJRSxTQUFBO0lBQ0EsVUFBQTtJQUNBLFVBQUE7RUF0WEQ7RUFxT0Q7SUFxSkUsZ0JBQUE7SUFDQSxtQkFBQTtFQXZYRDtFQXdYQztJQUNDLGdCQUFBO0VBdFhGO0VBOE5EO0lBNkpFLGVBQUE7SUFDQSxxQkFBQTtJQUNBLGtCQUFBO0lBQ0EsZ0JBQUE7SUFDQSxnQ0FBQTtJQUNBLHFCQUFBO0VBeFhEO0VBMFhDO0lBQ0MsMEJBQUE7RUF4WEY7RUFtTkQ7SUEwS0UsZUFBQTtJQUNBLHNCQUFBO0VBMVhEO0FBQ0Y7QUFDQSxtQkFBbUI7QUE4WG5CO0VBQ0M7SUFFRSxnQkFBQTtJQUNBLFVBQUE7RUE3WEQ7RUEwWEQ7SUFPRSxtQkFBQTtJQUNBLDhCQUFBO0lBQ0EsZ0JBQUE7RUE5WEQ7RUFxWEQ7SUFhRSxTQUFBO0VBL1hEO0FBQ0Y7QUFDQSwyQkFBMkI7QUFtWTNCO0VBQ0M7SUFqWUcsd0NBQXdDO0lBb1l6Qyx1QkFBQTtJQUNBLHlCQUFBO0VBbFlEO0VBOFhEO0lBNVhHLHlFQUF5RTtJQXFZMUUsa0JBQUE7SUFDQSxXQUFBO0lBQ0EscUJBQUE7RUFuWUQ7RUF3WEQ7SUFlRSxXQUFBO0VBcFlEO0VBcVhEO0lBbUJFLG1CQUFBO0lBQ0Esa0JBQUE7SUFDQSxTQUFBO0lBQ0EsV0FBQTtFQXJZRDtFQStXRDtJQTBCRSxXQUFBO0VBdFlEO0FBQ0YiLCJmaWxlIjoicm9vdC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIENPREVTVElUQ0ggR0xPQkFMIFNUWUxFU1xuLy8gQ29yZSBzdHlsZXNoZWV0IGNvbnRhaW5pbmcgQ1NTIHZhcmlhYmxlcywgZGFyayBtb2RlIHN0eWxlcywgYmFzZSBlbGVtZW50XG4vLyBzdHlsaW5nLCB0eXBvZ3JhcGh5IHJ1bGVzLCB1dGlsaXR5IGNsYXNzZXMsIGNvbXBvbmVudCBzdHlsZXMsIG5hdmlnYXRpb24sXG4vLyBmb290ZXIsIGFuZCBvdGhlciByZXBlYXRlZCBzZWN0aW9uIHN0eWxlcyBmb3IgdGhlIGVudGlyZSBzaXRlXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLyotLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLT5cbjwtLS0gICAgICAgIENvcmUgU3R5bGVzICAgICAgICAgLS0+XG48LS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0qL1xuXG4vKiBDb2RlU3RpdGNoIENvcmUgU3R5bGVzICsgUmVzZXQgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMHB4KSB7XG5cdC8qIEFsbCBlbGVtZW50cyBpbiB0aGUgbGlicmFyeSBkZXJpdmUgdGhlaXIgdmFyaWFibGVzIGFuZCBiYXNlIHN0eWxlcyBmcm9tIHRoaXMgY2VudHJhbCBzaGVldCwgc2ltcGxpZnlpbmcgc2l0ZS13aWRlIGVkaXRzLiBGb3IgaW5zdGFuY2UsIGlmIHlvdSB3YW50IHRvIG1vZGlmeSBob3cgeW91ciBoMidzIGFwcGVhciBhY3Jvc3MgdGhlIHNpdGUsIHlvdSBqdXN0IHVwZGF0ZSBpdCBvbmNlIGluIHRoZSBnbG9iYWwgc3R5bGVzLCBhbmQgdGhlIGNoYW5nZXMgYXBwbHkgZXZlcnl3aGVyZS4gKi9cblx0OnJvb3Qge1xuXHRcdC0tcHJpbWFyeTogI2ZmMzEzMTtcblx0XHQtLXByaW1hcnlMaWdodDogI2ZmYmE0Mztcblx0XHQtLXNlY29uZGFyeTogI2ZmYmE0Mztcblx0XHQtLXNlY29uZGFyeUxpZ2h0OiAjZmZiYTQzO1xuXHRcdC0taGVhZGVyQ29sb3I6ICMxYTFhMWE7XG5cdFx0LS1ib2R5VGV4dENvbG9yOiAjNGU0YjY2O1xuXHRcdC0tYm9keVRleHRDb2xvcldoaXRlOiAjZmFmYmZjO1xuXG5cdFx0Ly8gLyogRGFyayBNb2RlIFN0eWxlcyAqL1xuXHRcdC8vIC0tZGFyazogIzA4MjAzMjtcblx0XHQvLyAtLW1lZGl1bTogIzJjMzk0Yjtcblx0XHQvLyAtLWFjY2VudDogIzMzNDc1NjtcblxuXHRcdC8qIDEzcHggLSAxNnB4ICovXG5cdFx0LS10b3BwZXJGb250U2l6ZTogY2xhbXAoMC44MTI1cmVtLCAxLjZ2dywgMXJlbSk7XG5cdFx0LyogMzFweCAtIDQ5cHggKi9cblx0XHQtLWhlYWRlckZvbnRTaXplOiBjbGFtcCgxLjkzNzVyZW0sIDMuOXZ3LCAzLjA2MjVyZW0pO1xuXHRcdC0tYm9keUZvbnRTaXplOiAxcmVtO1xuXHRcdC8qIDYwcHggLSAxMDBweCB0b3AgYW5kIGJvdHRvbSAqL1xuXHRcdC0tc2VjdGlvblBhZGRpbmc6IGNsYW1wKDMuNzVyZW0sIDcuODJ2dywgNi4yNXJlbSkgMXJlbTtcblxuXHRcdC0taGVhZGVyRm9udDogXCJSb2JvdG9cIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG5cdFx0LS1ib2R5Rm9udDogXCJSb2JvdG9cIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG5cdH1cblxuXHRodG1sLFxuXHRib2R5IHtcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZzogMDtcblx0XHRvdmVyZmxvdy14OiBoaWRkZW47XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWJvZHlGb250KTtcblx0XHRmb250LXNpemU6IDEwMCU7XG5cdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzO1xuXHRcdGNvbG9yOiB2YXIoLS1ib2R5VGV4dENvbG9yKTtcblx0fVxuXG5cdCosXG5cdCo6YmVmb3JlLFxuXHQqOmFmdGVyIHtcblx0XHQvKiBwcmV2ZW50cyBwYWRkaW5nIGZyb20gYWZmZWN0aW5nIGhlaWdodCBhbmQgd2lkdGggKi9cblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nOiAwO1xuXHR9XG5cblx0LmNzLXRvcHBlciB7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS10b3BwZXJGb250U2l6ZSk7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMmVtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0dGV4dC1hbGlnbjogaW5oZXJpdDtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4xZW07XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRjb2xvcjogdmFyKC0tcHJpbWFyeSk7XG5cdFx0bWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXG5cdC5jcy10aXRsZSB7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1oZWFkZXJGb250U2l6ZSk7XG5cdFx0Zm9udC13ZWlnaHQ6IDkwMDtcblx0XHRsaW5lLWhlaWdodDogMS4yZW07XG5cdFx0dGV4dC1hbGlnbjogaW5oZXJpdDtcblx0XHRtYXgtd2lkdGg6IDQzLjc1cmVtO1xuXHRcdG1hcmdpbjogMCAwIDFyZW0gMDtcblx0XHRjb2xvcjogdmFyKC0taGVhZGVyQ29sb3IpO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0fVxuXG5cdC5jcy10ZXh0IHtcblx0XHRmb250LXNpemU6IHZhcigtLWJvZHlGb250U2l6ZSk7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNWVtO1xuXHRcdHRleHQtYWxpZ246IGluaGVyaXQ7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWF4LXdpZHRoOiA0MC42MjVyZW07XG5cdFx0bWFyZ2luOiAwO1xuXHRcdGNvbG9yOiB2YXIoLS1ib2R5VGV4dENvbG9yKTtcblx0fVxufVxuXG4vKiBDb21wb25lbnRzICsgVXRpbGl0aWVzICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBweCkge1xuXHQvLyBIaWRkZW4gc2NyZWVuIHJlYWRlciBza2lwIG5hdiBidXR0b25cblx0LnNraXAge1xuXHRcdHotaW5kZXg6IC0xMTExMTExO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdFx0bGVmdDogMDtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG5cblx0Ly8gQnV0dG9ucyAtIGNhbiBiZSByZXBsYWNlZCB1c2luZyBDb2RlU3RpdGNoJ3MgXCJCdXR0b25cIiBTdGl0Y2hlcy4gTWFrZSBzdXJlIHRvIGNsZWFyIHRoZSBkZWZhdWx0IC5jcy1idXR0b24tc29saWQvb3V0bGluZSBzdHlsZXMgZnJvbSBhbnkgbmV3IHN0aXRjaGVzIHlvdSBwbGFjZS5cblx0LmNzLWJ1dHRvbi1zb2xpZCB7XG5cdFx0ei1pbmRleDogMTtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnkpO1xuXHRcdHdpZHRoOiBhdXRvO1xuXHRcdHBhZGRpbmc6ICgxNi8xNnJlbSkgKDMyLzE2cmVtKTtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRmb250LXNpemU6ICgxNi8xNnJlbSk7XG5cdFx0bGluZS1oZWlnaHQ6ICgxNi8xNmVtKTtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHQvLyBib3JkZXItcmFkaXVzOiAoNC8xNnJlbSk7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRcdC8vIFRyYW5zaXRpb24gUHJvcGVydGllc1xuXHRcdGNvbG9yOiB2YXIoLS1ib2R5VGV4dENvbG9yV2hpdGUpO1xuXHRcdHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG5cdFx0dHJhbnNpdGlvbi1kZWxheTogMC4xcztcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGNvbG9yOiAjZmZmO1xuXG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdHotaW5kZXg6IC0xO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXG5cdFx0XHQvL1RyYW5zaXRpb24gcHJvcGVydGllc1xuXHRcdFx0d2lkdGg6IDA7XG5cdFx0XHR0cmFuc2l0aW9uOiB3aWR0aCAwLjNzO1xuXHRcdH1cblx0fVxuXG5cdC5jcy1idXR0b24tb3V0bGluZSB7XG5cdFx0ei1pbmRleDogMTtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHdpZHRoOiBhdXRvO1xuXHRcdHBhZGRpbmc6ICgxNi8xNnJlbSkgKDMyLzE2cmVtKTtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRmb250LXNpemU6ICgxNi8xNnJlbSk7XG5cdFx0bGluZS1oZWlnaHQ6ICgxNi8xNmVtKTtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHQvLyBib3JkZXI6IDJweCBzb2xpZCAjMDAwO1xuXG5cdFx0Ly8gVHJhbnNpdGlvbiBQcm9wZXJ0aWVzXG5cdFx0Y29sb3I6ICMwMDA7XG5cdFx0dHJhbnNpdGlvbjogY29sb3IgMC4zcztcblx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwLjFzO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0Y29sb3I6ICNmZmY7XG5cblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0ei1pbmRleDogLTE7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cblx0XHRcdC8vVHJhbnNpdGlvbiBwcm9wZXJ0aWVzXG5cdFx0XHR3aWR0aDogMDtcblx0XHRcdHRyYW5zaXRpb246IHdpZHRoIDAuM3M7XG5cdFx0fVxuXHR9XG5cblx0Ly8gVXRpbGl0aWVzIC0gc21hbGwgY2xhc3NlcyB1c2VmdWwgaW4gdmFyaW91cyBjb21tb24gc2l0dWF0aW9uc1xuXHQuY3MtY29sb3Ige1xuXHRcdGNvbG9yOiB2YXIoLS1wcmltYXJ5KTtcblx0fVxuXG5cdC5jcy1ib2xkIHtcblx0XHRmb250LXdlaWdodDogNzAwO1xuXHR9XG5cblx0LmNzLWhpZGUtb24tbW9iaWxlIHtcblx0XHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQvLyAuY3MtZGFyayxcblx0Ly8gLmRhcmsge1xuXHQvLyBcdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblx0Ly8gfVxuXG5cdC8vIGJvZHkuZGFyay1tb2RlIHtcblx0Ly8gXHQuY3MtbGlnaHQsXG5cdC8vIFx0LmxpZ2h0IHtcblx0Ly8gXHRcdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblx0Ly8gXHR9XG5cblx0Ly8gXHQuY3MtZGFyayxcblx0Ly8gXHQuZGFyayB7XG5cdC8vIFx0XHRkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXHQvLyBcdH1cblxuXHQvLyBcdC5jcy1idXR0b24tb3V0bGluZSB7XG5cdC8vIFx0XHRib3JkZXItY29sb3I6ICNmZmY7XG5cdC8vIFx0XHRjb2xvcjogI2ZmZjtcblx0Ly8gXHR9XG5cdC8vIH1cbn1cblxuLyogRGVza3RvcCBVdGlsaXRpZXMgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRyZW0pIHtcblx0LmNzLWhpZGUtb24tbW9iaWxlIHtcblx0XHRkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXHR9XG5cblx0LmNzLWhpZGUtb24tZGVza3RvcCB7XG5cdFx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXHR9XG59XG5cbi8qIEJhc2UgRWxlbWVudCBTdHlsZXMgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMHB4KSB7XG5cdGgxLFxuXHRoMixcblx0aDMsXG5cdGg0LFxuXHRoNSxcblx0aDYge1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1oZWFkZXJGb250KTtcblx0XHRsaW5lLWhlaWdodDogMS4yZW07XG5cdFx0Y29sb3I6IHZhcigtLWhlYWRlckNvbG9yKTtcblx0fVxuXG5cdHAsXG5cdGxpLFxuXHRhIHtcblx0XHRmb250LXNpemU6ICgxNi8xNnJlbSk7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNWVtO1xuXHR9XG5cblx0cCxcblx0bGkge1xuXHRcdGNvbG9yOiB2YXIoLS1ib2R5VGV4dENvbG9yKTtcblxuXHRcdGEge1xuXHRcdFx0Y29sb3I6IHZhcigtLXByaW1hcnkpO1xuXHRcdH1cblx0fVxuXG5cdGEsXG5cdGJ1dHRvbiB7XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0fVxuXHR9XG5cblx0Ly8gYm9keS5kYXJrLW1vZGUge1xuXHQvLyBcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWRhcmspO1xuXG5cdC8vIFx0cCxcblx0Ly8gXHRsaSxcblx0Ly8gXHRoMSxcblx0Ly8gXHRoMixcblx0Ly8gXHRoMyxcblx0Ly8gXHRoNCxcblx0Ly8gXHRoNSxcblx0Ly8gXHRoNiB7XG5cdC8vIFx0XHRjb2xvcjogI2ZmZjtcblx0Ly8gXHR9XG5cdC8vIH1cbn1cblxuLyogRm9udHMgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMHB4KSB7XG5cdC8vIEdyYWIgeW91ciBmb250cyB0byBsb2NhbGx5IGhvc3QgZnJvbSBodHRwczovL2d3ZmgubXJhbmZ0bC5jb20vZm9udHNcblx0Lyogcm9ib3RvLXJlZ3VsYXIgLSBsYXRpbiAqL1xuXHRAZm9udC1mYWNlIHtcblx0XHRmb250LXN0eWxlOiBub3JtYWw7XG5cdFx0Zm9udC1mYW1pbHk6IFwiUm9ib3RvXCI7XG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRmb250LWRpc3BsYXk6IHN3YXA7XG5cdFx0c3JjOiBsb2NhbChcIlwiKSwgdXJsKFwiL2Fzc2V0cy9mb250cy9yb2JvdG8tdjI5LWxhdGluLXJlZ3VsYXIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIC8qIENocm9tZSAyNissIE9wZXJhIDIzKywgRmlyZWZveCAzOSsgKi8gdXJsKFwiL2Fzc2V0cy9mb250cy9yb2JvdG8tdjI5LWxhdGluLXJlZ3VsYXIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpOyAvKiBDaHJvbWUgNissIEZpcmVmb3ggMy42KywgSUUgOSssIFNhZmFyaSA1LjErICovXG5cdH1cblxuXHQvKiByb2JvdG8tNzAwIC0gbGF0aW4gKi9cblx0QGZvbnQtZmFjZSB7XG5cdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiO1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0Zm9udC1kaXNwbGF5OiBzd2FwO1xuXHRcdHNyYzogbG9jYWwoXCJcIiksIHVybChcIi9hc3NldHMvZm9udHMvcm9ib3RvLXYyOS1sYXRpbi03MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIC8qIENocm9tZSAyNissIE9wZXJhIDIzKywgRmlyZWZveCAzOSsgKi8gdXJsKFwiL2Fzc2V0cy9mb250cy9yb2JvdG8tdjI5LWxhdGluLTcwMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7IC8qIENocm9tZSA2KywgRmlyZWZveCAzLjYrLCBJRSA5KywgU2FmYXJpIDUuMSsgKi9cblx0fVxuXG5cdC8qIHJvYm90by05MDAgLSBsYXRpbiAqL1xuXHRAZm9udC1mYWNlIHtcblx0XHRmb250LXN0eWxlOiBub3JtYWw7XG5cdFx0Zm9udC1mYW1pbHk6IFwiUm9ib3RvXCI7XG5cdFx0Zm9udC13ZWlnaHQ6IDkwMDtcblx0XHRmb250LWRpc3BsYXk6IHN3YXA7XG5cdFx0c3JjOiBsb2NhbChcIlwiKSwgdXJsKFwiL2Fzc2V0cy9mb250cy9yb2JvdG8tdjI5LWxhdGluLTkwMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgLyogQ2hyb21lIDI2KywgT3BlcmEgMjMrLCBGaXJlZm94IDM5KyAqLyB1cmwoXCIvYXNzZXRzL2ZvbnRzL3JvYm90by12MjktbGF0aW4tOTAwLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTsgLyogQ2hyb21lIDYrLCBGaXJlZm94IDMuNissIElFIDkrLCBTYWZhcmkgNS4xKyAqL1xuXHR9XG59XG5cbi8qLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0+XG48LS0tICAgICBNb2JpbGUgTmF2aWdhdGlvbiAgICAgIC0tPlxuPC0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtKi9cblxuLyogTW9iaWxlIC0gMTAyM3B4ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjMuNXB4KSB7XG5cdEBrZXlmcmFtZXMgZmxvYXRBbmltYXRpb24ge1xuXHRcdDAlIHtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0XHR9XG5cdFx0NTAlIHtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC41cmVtKTtcblx0XHR9XG5cdFx0MTAwJSB7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdFx0fVxuXHR9XG5cblx0QGtleWZyYW1lcyBmbG9hdEFuaW1hdGlvbjIge1xuXHRcdDAlIHtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0XHR9XG5cdFx0NTAlIHtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC43cmVtKTtcblx0XHR9XG5cdFx0MTAwJSB7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdFx0fVxuXHR9XG5cblx0Ym9keSB7XG5cdFx0Ji5jcy1vcGVuIHtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cblx0XHRcdCNjcy1uYXZpZ2F0aW9uIHtcblx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdGhlaWdodDogMTAwdmg7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuY3MtdG9nZ2xlIHtcblx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRvcGFjaXR5OiAwLjM7XG5cdFx0XHRcdFx0XHR0b3A6IDBweDtcblx0XHRcdFx0XHRcdGxlZnQ6IC0ycHg7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0XHRvcGFjaXR5OiAwLjM7XG5cdFx0XHRcdFx0XHRyaWdodDogLTVweDtcblx0XHRcdFx0XHRcdGJvdHRvbTogLTVweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuY3MtdG9wLWJhciB7XG5cdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzAwMDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuY3MtdG9wLWxpbmsge1xuXHRcdFx0XHRcdGNvbG9yOiB2YXIoLS1oZWFkZXJDb2xvcik7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuY3MtZGVmYXVsdCB7XG5cdFx0XHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZVgoMTgwZGVnKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5jcy1vbnNjcm9sbCB7XG5cdFx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZVgoMzYwZGVnKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYuc2Nyb2xsIHtcblx0XHRcdCNjcy1uYXZpZ2F0aW9uIHtcblx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5jcy10b3AtYmFyIHtcblx0XHRcdFx0XHRoZWlnaHQ6IDA7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuY3MtdG9wLWxpbmsge1xuXHRcdFx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuY3MtZGVmYXVsdCB7XG5cdFx0XHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZVgoMTgwZGVnKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5jcy1vbnNjcm9sbCB7XG5cdFx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZVgoMzYwZGVnKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCNjcy1uYXZpZ2F0aW9uIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHQvKiBwcmV2ZW50cyBwYWRkaW5nIGZyb20gYWZmZWN0aW5nIGhlaWdodCBhbmQgd2lkdGggKi9cblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHR6LWluZGV4OiAxMDAwMDtcblxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdC8qIG9uIHNjcm9sbCBiYWNrZ3JvdW5kICovXG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IDAlO1xuXHRcdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR6LWluZGV4OiAtMTtcblx0XHRcdHRyYW5zaXRpb246IGhlaWdodCAwLjNzO1xuXHRcdH1cblxuXHRcdCYuY3MtYWN0aXZlIHtcblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0aGVpZ2h0OiAxNTB2aDtcblx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdH1cblx0XHRcdC5jcy11bC13cmFwcGVyIHtcblx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0dHJhbnNmb3JtOiBzY2FsZVkoMSk7XG5cdFx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDAuMTVzO1xuXHRcdFx0fVxuXG5cdFx0XHQuY3MtbGkge1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmNzLXRvcC1iYXIge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6ICg1My8xNnJlbSk7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHR0cmFuc2l0aW9uOiBoZWlnaHQgMC4zcztcblxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHQvKiBkaXZpZGVyIGxpbmUgKi9cblx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGhlaWdodDogMXB4O1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRcdFx0XHRvcGFjaXR5OiAwLjE7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdGJvdHRvbTogMDtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5jcy10b3AtY29udGFpbmVyIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0LyogcHJldmVudHMgcGFkZGluZyBmcm9tIGFmZmVjdGluZyBoZWlnaHQgYW5kIHdpZHRoICovXG5cdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0cGFkZGluZzogKDE2LzE2cmVtKTtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRnYXA6ICg1MC8xNnJlbSk7XG5cdFx0fVxuXG5cdFx0LmNzLXRvcC1jb250YWN0IHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRnYXA6ICgyNC8xNnJlbSk7XG5cdFx0fVxuXG5cdFx0LmNzLXRvcC1saW5rIHtcblx0XHRcdGZvbnQtc2l6ZTogKDE0LzE2cmVtKTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjVlbTtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdGNvbG9yOiAjZjdmN2Y3O1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRnYXA6ICg4LzE2cmVtKTtcblx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcywgY29sb3IgMC4zcztcblx0XHR9XG5cblx0XHQuY3MtbGluay1pY29uIHtcblx0XHRcdHdpZHRoOiAoMTYvMTZyZW0pO1xuXHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0fVxuXG5cdFx0LmNzLWNvbnRhaW5lciB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdC8qIHByZXZlbnRzIHBhZGRpbmcgZnJvbSBhZmZlY3RpbmcgaGVpZ2h0IGFuZCB3aWR0aCAqL1xuXHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdHBhZGRpbmc6ICgxNi8xNnJlbSk7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0fVxuXG5cdFx0LmNzLWxvZ28ge1xuXHRcdFx0d2lkdGg6ICgyMDkvMTZyZW0pO1xuXHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0bWFyZ2luOiAwIGF1dG8gMCAwO1xuXHRcdFx0LyogcHJldmVudHMgcGFkZGluZyBmcm9tIGFmZmVjdGluZyBoZWlnaHQgYW5kIHdpZHRoICovXG5cdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0ei1pbmRleDogMTA7XG5cdFx0XHR0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuXHRcdFx0cGVyc3BlY3RpdmU6IDUwMHB4O1xuXG5cdFx0XHRpbWcge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0XHQvKiBlbnN1cmVzIHRoZSBpbWFnZSBuZXZlciBvdmVyZmxvd3MgdGhlIGNvbnRhaW5lci4gSXQgc3RheXMgY29udGFpbmVkIHdpdGhpbiBpdCdzIHdpZHRoIGFuZCBoZWlnaHQgYW5kIGV4cGFuZHMgdG8gZmlsbCBpdCB0aGVuIHN0b3BzIG9uY2UgaXQgcmVhY2hlcyBhbiBlZGdlICovXG5cdFx0XHRcdG9iamVjdC1maXQ6IGNvbnRhaW47XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmNzLWRlZmF1bHQge1xuXHRcdFx0LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0XHQvKiBTYWZhcmkgKi9cblx0XHRcdGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcywgdHJhbnNmb3JtIDAuNnM7XG5cdFx0fVxuXG5cdFx0LmNzLW9uc2Nyb2xsIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdFx0LyogU2FmYXJpICovXG5cdFx0XHRiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0ei1pbmRleDogLTE7XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZVgoMTgwZGVnKTtcblx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcywgdHJhbnNmb3JtIDAuNnM7XG5cdFx0fVxuXG5cdFx0LmNzLXRvcC1sb2dvIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG5cdFx0LmNzLXRvZ2dsZSB7XG5cdFx0XHR3aWR0aDogKDQ4LzE2cmVtKTtcblx0XHRcdGhlaWdodDogKDQ4LzE2cmVtKTtcblx0XHRcdG1hcmdpbjogMCAwIDAgYXV0bztcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnkpO1xuXHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHQvKiBmbG9hdGluZyBidWJibGUgd2hlbiBvcGVuZWQgKi9cblx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0d2lkdGg6IDcwJTtcblx0XHRcdFx0aGVpZ2h0OiA3MCU7XG5cdFx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiA0cHg7XG5cdFx0XHRcdGxlZnQ6IDRweDtcblx0XHRcdFx0ei1pbmRleDogLTE7XG5cdFx0XHRcdHRyYW5zaXRpb246IGxlZnQgMC42cywgdG9wIDAuM3MsIG9wYWNpdHkgMC42cztcblx0XHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMC4ycztcblx0XHRcdFx0YW5pbWF0aW9uLW5hbWU6IGZsb2F0QW5pbWF0aW9uO1xuXHRcdFx0XHRhbmltYXRpb24tZHVyYXRpb246IDdzO1xuXHRcdFx0XHRhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcblx0XHRcdFx0YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG5cdFx0XHRcdGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0LyogZmxvYXRpbmcgYnViYmxlIHdoZW4gb3BlbmVkICovXG5cdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdHdpZHRoOiA1MCU7XG5cdFx0XHRcdGhlaWdodDogNTAlO1xuXHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHJpZ2h0OiA0cHg7XG5cdFx0XHRcdGJvdHRvbTogNHB4O1xuXHRcdFx0XHR6LWluZGV4OiAtMTtcblx0XHRcdFx0dHJhbnNpdGlvbjogYm90dG9tIDAuNnMsIHJpZ2h0IDAuM3MsIG9wYWNpdHkgMC42cztcblx0XHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMC4zcztcblx0XHRcdFx0YW5pbWF0aW9uLW5hbWU6IGZsb2F0QW5pbWF0aW9uMjtcblx0XHRcdFx0YW5pbWF0aW9uLWR1cmF0aW9uOiA1cztcblx0XHRcdFx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG5cdFx0XHRcdGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuXHRcdFx0XHRhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuY3MtYWN0aXZlIHtcblx0XHRcdC5jcy1saW5lMSB7XG5cdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoMjI1ZGVnKTtcblx0XHRcdH1cblxuXHRcdFx0LmNzLWxpbmUyIHtcblx0XHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHRyYW5zbGF0ZVkoMCkgcm90YXRlKC0yMjVkZWcpO1xuXHRcdFx0XHR0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG5cdFx0XHR9XG5cblx0XHRcdC5jcy1saW5lMyB7XG5cdFx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRcdGJvdHRvbTogMTAwJTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuY3MtYm94IHtcblx0XHRcdC8qIDI0cHggLSAyOHB4ICovXG5cdFx0XHR3aWR0aDogY2xhbXAoMS41cmVtLCAydncsIDEuNzVyZW0pO1xuXHRcdFx0aGVpZ2h0OiAoMTYvMTZyZW0pO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdH1cblxuXHRcdC5jcy1saW5lIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiAycHg7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYmZjO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMnB4O1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXHRcdH1cblxuXHRcdC5jcy1saW5lMSB7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cywgdG9wIDAuM3MsIGxlZnQgMC4zcztcblx0XHRcdGFuaW1hdGlvbi1kdXJhdGlvbjogMC43cztcblx0XHRcdGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG5cdFx0XHRhbmltYXRpb24tZGlyZWN0aW9uOiBub3JtYWw7XG5cdFx0XHRhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcblx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcblx0XHR9XG5cblx0XHQuY3MtbGluZTIge1xuXHRcdFx0dG9wOiA1MCU7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcblx0XHRcdHRyYW5zaXRpb246IHRvcCAwLjNzLCBsZWZ0IDAuM3MsIHRyYW5zZm9ybSAwLjVzO1xuXHRcdFx0YW5pbWF0aW9uLWR1cmF0aW9uOiAwLjdzO1xuXHRcdFx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcblx0XHRcdGFuaW1hdGlvbi1kaXJlY3Rpb246IG5vcm1hbDtcblx0XHRcdGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuXHRcdH1cblxuXHRcdC5jcy1saW5lMyB7XG5cdFx0XHRib3R0b206IDA7XG5cdFx0XHR0cmFuc2l0aW9uOiBib3R0b20gMC4zcywgb3BhY2l0eSAwLjNzO1xuXHRcdH1cblx0fVxufVxuXG4vKi0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tPlxuPC0tLSAgIE1vYmlsZSBOYXZpZ2F0aW9uIE1lbnUgICAtLT5cbjwtLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLSovXG5cbi8qIFNtYWxsIERlc2t0b3AgLSAxMDI0cHggKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyMy41cHgpIHtcblx0I2NzLW5hdmlnYXRpb24ge1xuXHRcdC5jcy11bC13cmFwcGVyIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0cGFkZGluZy1ib3R0b206ICg0OC8xNnJlbSk7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0XHRcdGJveC1zaGFkb3c6IGluc2V0IHJnYmEoMCwgMCwgMCwgMC4wNSkgMHB4IDhweCAyNHB4O1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMCAwICgyMC8xNnJlbSkgKDIwLzE2cmVtKTtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDEwMCU7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0ei1pbmRleDogLTE7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlWSgwKTtcblx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcblx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzLCBvcGFjaXR5IDAuM3M7XG5cdFx0fVxuXG5cdFx0LmNzLXVsIHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdHBhZGRpbmc6ICg0OC8xNnJlbSkgMCAwIDA7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdG1heC1oZWlnaHQ6IDY1dmg7XG5cdFx0XHRvdmVyZmxvdzogc2Nyb2xsO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0Z2FwOiAoMjAvMTZyZW0pO1xuXHRcdH1cblxuXHRcdC5jcy1saSB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0XHQvKiB0cmFuc2l0aW9uIGZyb20gdGhlc2UgdmFsdWVzICovXG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQuMzc1cmVtKTtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgb3BhY2l0eSAwLjlzO1xuXG5cdFx0XHQmOm50aC1vZi10eXBlKDEpIHtcblx0XHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMC4wNXM7XG5cdFx0XHR9XG5cdFx0XHQmOm50aC1vZi10eXBlKDIpIHtcblx0XHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMC4xcztcblx0XHRcdH1cblx0XHRcdCY6bnRoLW9mLXR5cGUoMykge1xuXHRcdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwLjE1cztcblx0XHRcdH1cblx0XHRcdCY6bnRoLW9mLXR5cGUoNCkge1xuXHRcdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwLjJzO1xuXHRcdFx0fVxuXHRcdFx0JjpudGgtb2YtdHlwZSg1KSB7XG5cdFx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDAuMjVzO1xuXHRcdFx0fVxuXHRcdFx0JjpudGgtb2YtdHlwZSg2KSB7XG5cdFx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDAuM3M7XG5cdFx0XHR9XG5cdFx0XHQmOm50aC1vZi10eXBlKDcpIHtcblx0XHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMC4zNXM7XG5cdFx0XHR9XG5cdFx0XHQmOm50aC1vZi10eXBlKDgpIHtcblx0XHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMC40cztcblx0XHRcdH1cblx0XHRcdCY6bnRoLW9mLXR5cGUoOSkge1xuXHRcdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwLjQ1cztcblx0XHRcdH1cblx0XHRcdCY6bnRoLW9mLXR5cGUoMTApIHtcblx0XHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMC41cztcblx0XHRcdH1cblx0XHRcdCY6bnRoLW9mLXR5cGUoMTEpIHtcblx0XHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMC41NXM7XG5cdFx0XHR9XG5cdFx0XHQmOm50aC1vZi10eXBlKDEyKSB7XG5cdFx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDAuNnM7XG5cdFx0XHR9XG5cdFx0XHQmOm50aC1vZi10eXBlKDEzKSB7XG5cdFx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDAuNjVzO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5jcy1saS1saW5rIHtcblx0XHRcdC8qIDE2cHggLSAyNHB4ICovXG5cdFx0XHRmb250LXNpemU6IGNsYW1wKDFyZW0sIDIuNXZ3LCAxLjVyZW0pO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuMmVtO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0cGFkZGluZzogMC4yNXJlbTtcblx0XHRcdGNvbG9yOiB2YXIoLS1oZWFkZXJDb2xvcik7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRcdCYuY3MtYWN0aXZlIHtcblx0XHRcdFx0Y29sb3I6IHZhcigtLXByaW1hcnkpO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0Y29sb3I6IHZhcigtLXByaW1hcnkpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5jcy1idXR0b24tc29saWQge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cbn1cblxuLyotLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLT5cbjwtLS0gICAgIE5hdmlnYXRpb24gRHJvcGRvd24gICAgLS0+XG48LS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0qL1xuXG4vKiBNb2JpbGUgLSAxMDIzcHggKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyMy41cHgpIHtcblx0I2NzLW5hdmlnYXRpb24ge1xuXHRcdC5jcy1saSB7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdH1cblxuXHRcdC5jcy1kcm9wZG93biB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRjb2xvcjogdmFyKC0tYm9keVRleHRDb2xvcldoaXRlKTtcblx0XHRcdCYuY3MtYWN0aXZlIHtcblx0XHRcdFx0LmNzLWRyb3AtdWwge1xuXHRcdFx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0XHRcdFx0bWFyZ2luOiAoMTIvMTZyZW0pIDAgMCAwO1xuXHRcdFx0XHRcdHBhZGRpbmc6ICgxMi8xNnJlbSkgMDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5jcy1kcm9wLWxpbmsge1xuXHRcdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuY3MtZHJvcC1pY29uIHtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKC05MGRlZyk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LmNzLWxpLWxpbmsge1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuY3MtZHJvcGRvd24tdG9nZ2xlIHtcblx0XHRcdC8qIFJlc2V0IGRlZmF1bHQgYnV0dG9uIHN0eWxlcyAqL1xuXHRcdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdHRleHQtYWxpZ246IGluaGVyaXQ7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHQvKiBSZW1vdmUgYW55IGRlZmF1bHQgZm9jdXMgc3R5bGVzICovXG5cdFx0XHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cdFx0XHQtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG5cdFx0XHRhcHBlYXJhbmNlOiBub25lO1xuXHRcdH1cblxuXHRcdC5jcy1kcm9wLWljb24ge1xuXHRcdFx0d2lkdGg6ICgyNC8xNnJlbSk7XG5cdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHQvKiBtYWtlcyBpdCBibGFjayAqL1xuXHRcdFx0ZmlsdGVyOiBncmF5c2NhbGUoMSkgYnJpZ2h0bmVzcygyMCUpO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRyaWdodDogKC0yNC8xNnJlbSk7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycztcblx0XHR9XG5cblx0XHQuY3MtZHJvcC11bCB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogMDtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5KTtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0Z2FwOiAoMTIvMTZyZW0pO1xuXHRcdFx0dHJhbnNpdGlvbjogcGFkZGluZyAwLjNzLCBtYXJnaW4gMC4zcywgaGVpZ2h0IDAuM3MsIG9wYWNpdHkgMC4zcywgdmlzaWJpbGl0eSAwLjNzO1xuXHRcdH1cblxuXHRcdC5jcy1kcm9wLWxpIHtcblx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0fVxuXG5cdFx0LmNzLWxpLWxpbmsge1xuXHRcdFx0Ji5jcy1kcm9wLWxpbmsge1xuXHRcdFx0XHQvKiAxNHB4IC0gMTZweCAqL1xuXHRcdFx0XHRmb250LXNpemU6IGNsYW1wKDAuODc1cmVtLCAydncsIDEuMjVyZW0pO1xuXHRcdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLyogRGFyayBNb2RlIC0gMTAyM3B4ICovXG4vLyBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjMuNXB4KSB7XG4vLyBcdGJvZHkuZGFyay1tb2RlIHtcbi8vIFx0XHQjY3MtbmF2aWdhdGlvbiB7XG4vLyBcdFx0XHQuY3MtZHJvcC1pY29uIHtcbi8vIFx0XHRcdFx0ZmlsdGVyOiBub25lO1xuLy8gXHRcdFx0fVxuLy8gXHRcdH1cbi8vIFx0fVxuLy8gfVxuXG4vKiBEZXNrdG9wIC0gMTAyNHB4ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuXHQjY3MtbmF2aWdhdGlvbiB7XG5cdFx0LmNzLWxpIHtcblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHQuY3MtZHJvcC1pY29uIHtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5jcy1kcm9wZG93biB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHQmOmhvdmVyLFxuXHRcdFx0Ji5jcy1hY3RpdmUge1xuXHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHRcdC5jcy1kcm9wLXVsIHtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHNjYWxlWSgxKTtcblx0XHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuY3MtZHJvcC1saSB7XG5cdFx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQuY3MtZHJvcGRvd24tdG9nZ2xlIHtcblx0XHRcdC8qIFJlc2V0IGRlZmF1bHQgYnV0dG9uIHN0eWxlcyAqL1xuXHRcdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdHRleHQtYWxpZ246IGluaGVyaXQ7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHQvKiBSZW1vdmUgYW55IGRlZmF1bHQgZm9jdXMgc3R5bGVzICovXG5cdFx0XHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cdFx0XHQtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG5cdFx0XHRhcHBlYXJhbmNlOiBub25lO1xuXHRcdH1cblxuXHRcdC5jcy1kcm9wLWljb24ge1xuXHRcdFx0d2lkdGg6ICgyNC8xNnJlbSk7XG5cdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcblx0XHR9XG5cblx0XHQuY3MtZHJvcC11bCB7XG5cdFx0XHRtaW4td2lkdGg6ICgyMDAvMTZyZW0pO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHRcdGJveC1zaGFkb3c6IHJnYmEoMTQ5LCAxNTcsIDE2NSwgMC4yKSAwcHggMTBweCAxNnB4O1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogNXB4IHNvbGlkIHZhcigtLXByaW1hcnkpO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMCAwICgxMC8xNnJlbSkgKDEwLzE2cmVtKTtcblx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0XHQvKiBpZiB5b3UgaGF2ZSA4IG9yIG1vcmUgbGlua3MgaW4geW91ciBkcm9wZG93biBuYXYsIHVuY29tbWVudCB0aGUgY29sdW1ucyBwcm9wZXJ0eSB0byBtYWtlIHRoZSBsaXN0IGludG8gMiBldmVuIGNvbHVtbnMuIENoYW5nZSBpdCB0byAzIG9yIDQgaWYgeW91IG5lZWQgZXh0cmEgY29sdW1ucy4gVGhlbiByZW1vdmUgdGhlIHRyYW5zaXRpb24gZGVsYXlzIG9uIHRoZSBjcy1kcm9wLWxpIHNvIHRoZXkgZG9uJ3QgaGF2ZSB3ZWlyZCBzY2F0dGVyZWQgYW5pbWF0aW9ucyAqL1xuXHRcdFx0Ly8gY29sdW1uczogMjtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogY2FsYygxMDAlIC0gMnB4KTtcblx0XHRcdHotaW5kZXg6IDEwMDtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGVZKDApO1xuXHRcdFx0dHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuXHRcdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MsIHZpc2liaWxpdHkgMC4zcywgb3BhY2l0eSAwLjNzO1xuXHRcdH1cblxuXHRcdC5jcy1kcm9wLWxpIHtcblx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0XHRmb250LXNpemU6ICgxNi8xNnJlbSk7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAvMTZyZW0pO1xuXHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzLCB0cmFuc2Zvcm0gMC42cztcblxuXHRcdFx0JjpudGgtb2YtdHlwZSgxKSB7XG5cdFx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDAuMDVzO1xuXHRcdFx0fVxuXHRcdFx0JjpudGgtb2YtdHlwZSgyKSB7XG5cdFx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDAuMXM7XG5cdFx0XHR9XG5cdFx0XHQmOm50aC1vZi10eXBlKDMpIHtcblx0XHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMC4xNXM7XG5cdFx0XHR9XG5cdFx0XHQmOm50aC1vZi10eXBlKDQpIHtcblx0XHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMC4ycztcblx0XHRcdH1cblx0XHRcdCY6bnRoLW9mLXR5cGUoNSkge1xuXHRcdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwLjI1cztcblx0XHRcdH1cblx0XHRcdCY6bnRoLW9mLXR5cGUoNikge1xuXHRcdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwLjNzO1xuXHRcdFx0fVxuXHRcdFx0JjpudGgtb2YtdHlwZSg3KSB7XG5cdFx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDAuMzVzO1xuXHRcdFx0fVxuXHRcdFx0JjpudGgtb2YtdHlwZSg4KSB7XG5cdFx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDAuNHM7XG5cdFx0XHR9XG5cdFx0XHQmOm50aC1vZi10eXBlKDkpIHtcblx0XHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMC40NXM7XG5cdFx0XHR9XG5cdFx0XHQmOm50aC1vZi10eXBlKDEwKSB7XG5cdFx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDAuNXM7XG5cdFx0XHR9XG5cdFx0XHQmOm50aC1vZi10eXBlKDExKSB7XG5cdFx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDAuNTVzO1xuXHRcdFx0fVxuXHRcdFx0JjpudGgtb2YtdHlwZSgxMikge1xuXHRcdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwLjZzO1xuXHRcdFx0fVxuXHRcdFx0JjpudGgtb2YtdHlwZSgxMykge1xuXHRcdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwLjY1cztcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuY3MtbGktbGluayB7XG5cdFx0XHQmLmNzLWRyb3AtbGluayB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogKDE2LzE2cmVtKTtcblx0XHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuNWVtO1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRwYWRkaW5nOiAoMTIvMTZyZW0pO1xuXHRcdFx0XHQvKiBwcmV2ZW50cyBwYWRkaW5nIGZyb20gYWZmZWN0aW5nIGhlaWdodCBhbmQgd2lkdGggKi9cblx0XHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdFx0Y29sb3I6IHZhcigtLWhlYWRlckNvbG9yKTtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdHRyYW5zaXRpb246IGNvbG9yIDAuM3MsIGJhY2tncm91bmQtY29sb3IgMC4zcztcblxuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3O1xuXHRcdFx0XHRcdGNvbG9yOiB2YXIoLS1oZWFkZXJDb2xvcik7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOmZvY3VzLXZpc2libGUge1xuXHRcdFx0XHRcdG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLyogRGFyayBNb2RlIC0gMTAyNHB4ICovXG4vLyBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuLy8gXHRib2R5LmRhcmstbW9kZSB7XG4vLyBcdFx0I2NzLW5hdmlnYXRpb24ge1xuLy8gXHRcdFx0LmNzLWRyb3AtdWwge1xuLy8gXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kYXJrKTtcbi8vIFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAjZmZmO1xuLy8gXHRcdFx0fVxuXG4vLyBcdFx0XHQuY3MtbGkge1xuLy8gXHRcdFx0XHQmLmNzLWRyb3Bkb3duIHtcbi8vIFx0XHRcdFx0XHQmOmhvdmVyIHtcbi8vIFx0XHRcdFx0XHRcdC5jcy1saS1saW5rIHtcbi8vIFx0XHRcdFx0XHRcdFx0Y29sb3I6IHZhcigtLWJvZHlUZXh0Q29sb3JXaGl0ZSk7XG4vLyBcdFx0XHRcdFx0XHRcdCY6aG92ZXIge1xuLy8gXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiB2YXIoLS1wcmltYXJ5KTtcbi8vIFx0XHRcdFx0XHRcdFx0fVxuLy8gXHRcdFx0XHRcdFx0fVxuLy8gXHRcdFx0XHRcdH1cbi8vIFx0XHRcdFx0fVxuLy8gXHRcdFx0fVxuLy8gXHRcdH1cbi8vIFx0fVxuLy8gfVxuXG5cbi8qLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0+XG48LS0tICAgICBEZXNrdG9wIE5hdmlnYXRpb24gICAgIC0tPlxuPC0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtKi9cblxuLyogU21hbGwgRGVza3RvcCAtIDEwMjRweCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcblx0Lyogb24gc2Nyb2xsIGFuaW1hdGlvbnMgKi9cblx0Ym9keS5zY3JvbGwge1xuXHRcdCNjcy1uYXZpZ2F0aW9uIHtcblx0XHRcdC8qIHRyYW5zbGF0ZSB0aGUgd2hvbGUgbmF2aWdhdGlvbiBVUCBieSB0aGUgZXhhY3Qgc2FtZSBoZWlnaHQgYXMgdGhlIGNzLXRvcC1iYXIgKDg2cHgpIHNvIHdlIGNhbiBnZXQgdGhhdCBvZmYgc2NyZWVuIGFuZCBub3QgaGF2ZSBhIHRhbGwgY2x1bmt5IG5hdmJhci4gVGhlbiB3ZSB0cmFuc2xhdGUgdGhlIGNzLWxvZ28gRE9XTiBzbyBpdCBsb3dlcnMgaXRzZWxmIHRvIGJlIHBvc2l0aW9uZWQgY2VudGVyZWQgaW4gdGhlIGNzLWNvbnRhaW5lciwgd2hlbiBpdCdzIG5vdC4gSXQncyBqdXN0IGFuIGlsbHVzaW9uIHdlIGNyZWF0ZSAqL1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01LjM3NXJlbSk7XG5cblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0fVxuXG5cdFx0XHQuY3MtbG9nbyB7XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1cmVtKTtcblx0XHRcdH1cblxuXHRcdFx0LmNzLXRvcC1iYXIge1xuXHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5jcy1kZWZhdWx0IHtcblx0XHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGVYKDE4MGRlZyk7XG5cdFx0XHR9XG5cblx0XHRcdC5jcy1vbnNjcm9sbCB7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlWCgzNjBkZWcpO1xuXHRcdFx0fVxuXG5cdFx0XHQuY3MtdG9wLWxpbmsge1xuXHRcdFx0XHRjb2xvcjogdmFyKC0taGVhZGVyQ29sb3IpO1xuXHRcdFx0fVxuXG5cdFx0XHQuY3MtbGktbGluayB7XG5cdFx0XHRcdGNvbG9yOiB2YXIoLS1oZWFkZXJDb2xvcik7XG5cblx0XHRcdFx0Ji5jcy1hY3RpdmUge1xuXHRcdFx0XHRcdGNvbG9yOiB2YXIoLS1wcmltYXJ5KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQuY3MtbGkge1xuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHQuY3MtbGktbGluayB7XG5cdFx0XHRcdFx0XHRjb2xvcjogdmFyKC0tcHJpbWFyeSk7XG5cdFx0XHRcdFx0XHRcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmLmNzLWRyb3Bkb3duIHtcblx0XHRcdFx0XHQuY3MtbGktbGluayB7XG5cdFx0XHRcdFx0XHRjb2xvcjogdmFyKC0taGVhZGVyQ29sb3IpO1xuXHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5jcy1kcm9wLWljb24ge1xuXHRcdFx0XHRmaWx0ZXI6IGdyYXlzY2FsZSgxKSBicmlnaHRuZXNzKDApO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCNjcy1uYXZpZ2F0aW9uIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHQvKiBwcmV2ZW50cyBwYWRkaW5nIGZyb20gYWZmZWN0aW5nIGhlaWdodCBhbmQgd2lkdGggKi9cblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdHotaW5kZXg6IDEwMDAwO1xuXHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHQvKiBvbiBzY3JvbGwgYmFja2dyb3VuZCAqL1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiAwJTtcblx0XHRcdGJhY2tncm91bmQ6ICNmZmY7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0ei1pbmRleDogLTE7XG5cdFx0XHR0cmFuc2l0aW9uOiBoZWlnaHQgMC4zcztcblx0XHR9XG5cblx0XHQuY3MtdG9wLWJhciB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHR6LWluZGV4OiAxO1xuXG5cdFx0XHQvLyAmOmJlZm9yZSB7XG5cdFx0XHQvLyBcdC8qIGRpdmlkZXIgbGluZSAqL1xuXHRcdFx0Ly8gXHRjb250ZW50OiBcIlwiO1xuXHRcdFx0Ly8gXHR3aWR0aDogMTAwJTtcblx0XHRcdC8vIFx0aGVpZ2h0OiAxcHg7XG5cdFx0XHQvLyBcdGJhY2tncm91bmQ6ICNmYWZiZmM7XG5cdFx0XHQvLyBcdG9wYWNpdHk6IDAuMTtcblx0XHRcdC8vIFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHQvLyBcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdC8vIFx0Ym90dG9tOiAwO1xuXHRcdFx0Ly8gXHRsZWZ0OiAwO1xuXHRcdFx0Ly8gfVxuXHRcdH1cblxuXHRcdC5jcy10b3AtY29udGFpbmVyIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0bWF4LXdpZHRoOiAoMTI4MC8xNnJlbSk7XG5cdFx0XHQvKiBwcmV2ZW50cyBwYWRkaW5nIGZyb20gYWZmZWN0aW5nIGhlaWdodCBhbmQgd2lkdGggKi9cblx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0XHRwYWRkaW5nOiAoMjAvMTZyZW0pO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRnYXA6ICg1MC8xNnJlbSk7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHR6LWluZGV4OiAxO1xuXHRcdFx0Ly8gYm9yZGVyLWJvdHRvbTogMnB4IHJlZCBzb2xpZDtcblx0XHR9XG5cblx0XHQuY3MtdG9wLWNvbnRhY3Qge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRnYXA6ICgyNC8xNnJlbSk7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDUwJTtcblx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXHRcdH1cblxuXHRcdC5jcy10b3AtbGluayB7XG5cdFx0XHRmb250LXNpemU6ICgxNi8xNnJlbSk7XG5cdFx0XHRsaW5lLWhlaWdodDogMS41ZW07XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRjb2xvcjogI2Y3ZjdmNztcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0Z2FwOiAoOC8xNnJlbSk7XG5cdFx0XHR0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmNzLWxpbmstaWNvbiB7XG5cdFx0XHR3aWR0aDogKDE2LzE2cmVtKTtcblx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdH1cblxuXHRcdC5jcy1jb250YWluZXIge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRtYXgtd2lkdGg6ICgxMjgwLzE2cmVtKTtcblx0XHRcdC8qIHNhbWUgaGVpZ2h0IGFzIHRoZSBjcy11bC13cmFwcGVyICovXG5cdFx0XHRoZWlnaHQ6ICg3Mi8xNnJlbSk7XG5cdFx0XHRtYXJnaW46IGF1dG87XG5cdFx0XHQvKiBwcmV2ZW50cyBwYWRkaW5nIGZyb20gYWZmZWN0aW4gZ2hlaWdodCAqL1xuXHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdHBhZGRpbmc6IDAgKDE2LzE2cmVtKTtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGdhcDogKDI0LzE2cmVtKTtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdC8vIGJvcmRlci10b3A6IDJweCBzb2xpZCBibGFjaztcblx0XHR9XG5cblx0XHQuY3MtdG9nZ2xlIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG5cdFx0LmNzLWxvZ28ge1xuXHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRoZWlnaHQ6ICg2MC8xNnJlbSk7XG5cdFx0XHQvKiBtYXJnaW4tcmlnaHQgYXV0byBwdXNoZXMgZXZlcnl0aGluZyBhd2F5IGZyb20gaXQgdG8gdGhlIHJpZ2h0ICovXG5cdFx0XHRtYXJnaW46IDAgYXV0byAwIDA7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHR6LWluZGV4OiAxMDA7XG5cdFx0XHR0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuXHRcdFx0cGVyc3BlY3RpdmU6IDUwMHB4O1xuXHRcdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG5cblx0XHRcdGltZyB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdC8qIGVuc3VyZXMgdGhlIGltYWdlIG5ldmVyIG92ZXJmbG93cyB0aGUgY29udGFpbmVyLiBJdCBzdGF5cyBjb250YWluZWQgd2l0aGluIGl0J3Mgd2lkdGggYW5kIGhlaWdodCBhbmQgZXhwYW5kcyB0byBmaWxsIGl0IHRoZW4gc3RvcHMgb25jZSBpdCByZWFjaGVzIGFuIGVkZ2UgKi9cblx0XHRcdFx0b2JqZWN0LWZpdDogY29udGFpbjtcblx0XHRcdFx0XHRcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuY3MtZGVmYXVsdCB7XG5cdFx0XHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHRcdC8qIFNhZmFyaSAqL1xuXHRcdFx0YmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzLCB0cmFuc2Zvcm0gMC42cztcblx0XHR9XG5cblx0XHQuY3Mtb25zY3JvbGwge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0XHQvKiBTYWZhcmkgKi9cblx0XHRcdGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR6LWluZGV4OiAtMTtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlWCgxODBkZWcpO1xuXHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzLCB0cmFuc2Zvcm0gMC42cztcblx0XHR9XG5cblx0XHQuY3MtYm90dG9tLWxvZ28ge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cblx0XHQuY3MtdWwtd3JhcHBlciB7XG5cdFx0XHQvKiBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQgdG8gYmUgZGVhZCBjZW50ZXIgKi9cblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogNTAlO1xuXHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cdFx0fVxuXG5cdFx0LmNzLXVsIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0LyogMjBweCAtIDM2cHggKi9cblx0XHRcdGdhcDogY2xhbXAoMS4yNXJlbSwgMi42dncsIDIuMjVyZW0pO1xuXHRcdH1cblxuXHRcdC5jcy1saSB7XG5cdFx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdFx0cGFkZGluZzogKDI0LzE2cmVtKSAwO1xuXHRcdFx0LyogcHJldmVudCBmbGV4Ym94IGZyb20gc3F1aXNoaW5nIGl0ICovXG5cdFx0XHRmbGV4OiBub25lO1xuXHRcdH1cblxuXHRcdC5jcy1saS1saW5rIHtcblx0XHRcdC8qIDE0cHggLSAxNnB4ICovXG5cdFx0XHRmb250LXNpemU6IGNsYW1wKDAuODc1cmVtLCAwLjZ2dywgMXJlbSk7XG5cdFx0XHRsaW5lLWhlaWdodDogMS41cmVtO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0Y29sb3I6IHZhcigtLWJvZHlUZXh0Q29sb3JXaGl0ZSk7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRjb2xvcjogdmFyKC0tcHJpbWFyeSk7XG5cdFx0XHR9XG5cblx0XHRcdCYuY3MtYWN0aXZlIHtcblx0XHRcdFx0Y29sb3I6IHZhcigtLXByaW1hcnkpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5jcy1idXR0b24tc29saWQge1xuXHRcdFx0Zm9udC1zaXplOiAoMTYvMTZyZW0pO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdC8qIDQ2cHggLSA1NnB4ICovXG5cdFx0XHRsaW5lLWhlaWdodDogY2xhbXAoMi44NzVlbSwgNS41dncsIDMuNWVtKTtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdG1pbi13aWR0aDogKDE1MC8xNnJlbSk7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHQvKiBwcmV2ZW50cyBwYWRkaW5nIGZyb20gYWRkaW5nIHRvIHRoZSB3aWR0aCAqL1xuXHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdHBhZGRpbmc6IDAgKDMyLzE2cmVtKTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnkpO1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0ei1pbmRleDogMTtcblx0XHRcdHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG5cblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0d2lkdGg6IDAlO1xuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICNmZmY7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHR6LWluZGV4OiAtMTtcblx0XHRcdFx0dHJhbnNpdGlvbjogd2lkdGggMC4zcztcblx0XHRcdH1cblxuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdGNvbG9yOiAjMWExYTFhO1xuXHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQuY3MtbmF2LWJ1dHRvbiB7XG5cdFx0XHRsaW5lLWhlaWdodDogKDQ2LzE2cmVtKTtcblx0XHR9XG5cdH1cbn0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuXG4vKi0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tPlxuPC0tLSAgICAgICAgICBCYW5uZXIgICAgICAgICAgICAtLT5cbjwtLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLSovXG5cbi8qIE1vYmlsZSAtIDM2MHB4ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDByZW0pIHtcbiAgICAjYmFubmVyLTE0MDIge1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zZWN0aW9uUGFkZGluZyk7XG4gICAgICAgIC8qIDE5MHB4IC0gMjY4cHggKi9cbiAgICAgICAgcGFkZGluZy10b3A6IGNsYW1wKDExLjg3NXJlbSwgMjV2dywgMTYuNzVyZW0pO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogKDEwMC8xNnJlbSk7XG4gICAgICAgIC8qIGNsaXBzIHRoZSBsaW5lIGZyb20gY2F1c2luZyBvdmVyZmxvdyBpc3N1ZXMgZm9yIGdvaW5nIG9mZiBzY3JlZW4gKi9cbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgIC5jcy1jb250YWluZXIge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6ICgxMjgwLzE2cmVtKTtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAvKiA4cHggLSAxMnB4ICovXG4gICAgICAgICAgICBnYXA6IGNsYW1wKDAuNXJlbSwgMXZ3LCAwLjc1cmVtKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1pbnQtdGl0bGUge1xuICAgICAgICAgICAgLyogMzlweCAtIDYxcHggKi9cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMi40Mzc1cmVtLCA2LjR2dywgMy44MTI1cmVtKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yZW07XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWJvZHlUZXh0Q29sb3JXaGl0ZSk7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtYnJlYWRjcnVtYnMge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1saW5rIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogKDE2LzE2cmVtKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1ib2R5VGV4dENvbG9yV2hpdGUpO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIC8qIHJlbW92ZSB0aGUgY2hldnJvbiBvbiB0aGUgbGFzdCBsaXN0IGl0ZW0gKi9cbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAvKiBjaGV2cm9uICovXG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICB3aWR0aDogKDcvMTZyZW0pO1xuICAgICAgICAgICAgICAgIGhlaWdodDogKDEyLzE2cmVtKTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgKDE2LzE2cmVtKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovL2NzaW1nLm55YzMuY2RuLmRpZ2l0YWxvY2VhbnNwYWNlcy5jb20vSWNvbnMvd2hpdGUtY2hldi5zdmdcIik7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5jcy1hY3RpdmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1iYWNrZ3JvdW5kIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAvKiBncmFkaWVudCBvdmVybGF5ICovXG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIC8qIGdyYWRpZW50IG92ZXJsYXkgKi9cbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNDAlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQoXG4gICAgICAgICAgICAgICAgICAgIGxpbmVhcixcbiAgICAgICAgICAgICAgICAgICAgbGVmdCB0b3AsXG4gICAgICAgICAgICAgICAgICAgIGxlZnQgYm90dG9tLFxuICAgICAgICAgICAgICAgICAgICBmcm9tKHJnYmEoMCwgMCwgMCwgMSkpLFxuICAgICAgICAgICAgICAgICAgICB0byhyZ2JhKDAsIDAsIDAsIDApKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgICAgICAgICAgICB0b3AsXG4gICAgICAgICAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgMSkgMCUsXG4gICAgICAgICAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgMCkgMTAwJVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgICAgICAgICAgICB0byBib3R0b20sXG4gICAgICAgICAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgMSkgMCUsXG4gICAgICAgICAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgMCkgMTAwJVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAvKiBNYWtlcyBpbWcgdGFnIGFjdCBhcyBhIGJhY2tncm91bmQgaW1hZ2UgKi9cbiAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogTW9iaWxlIC0gMzYwcHggKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMHJlbSkge1xuICAgICNiYW5uZXItMTQwMiB7XG4gICAgICAgIC5jcy1iYWNrZ3JvdW5kIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KFxuICAgICAgICAgICAgICAgICAgICBsaW5lYXIsXG4gICAgICAgICAgICAgICAgICAgIGxlZnQgdG9wLFxuICAgICAgICAgICAgICAgICAgICByaWdodCB0b3AsXG4gICAgICAgICAgICAgICAgICAgIGZyb20ocmdiYSgwLCAwLCAwLCAxKSksXG4gICAgICAgICAgICAgICAgICAgIHRvKHJnYmEoMCwgMCwgMCwgMCkpXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgICAgICAgICAgIGxlZnQsXG4gICAgICAgICAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgMSkgMCUsXG4gICAgICAgICAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgMCkgMTAwJVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgICAgICAgICAgICB0byByaWdodCxcbiAgICAgICAgICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAxKSAwJSxcbiAgICAgICAgICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAwKSAxMDAlXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKi0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tPlxuPC0tLSAgICAgICAgICAgIENUQSAgICAgICAgICAgICAtLT5cbjwtLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLSovXG5cbi8qIE1vYmlsZSAtIDM2MHB4ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBweCkge1xuXHQjY3RhLTUxIHtcblx0XHRwYWRkaW5nOiB2YXIoLS1zZWN0aW9uUGFkZGluZyk7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0LmNzLWNvbnRhaW5lciB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdG1heC13aWR0aDogKDEyODAvMTZyZW0pO1xuXHRcdFx0bWFyZ2luOiBhdXRvO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0LyogNDhweCAtIDY0cHggKi9cblx0XHRcdGdhcDogY2xhbXAoM3JlbSwgNnZ3LCA0cmVtKTtcblx0XHR9XG5cblx0XHQuY3MtY29udGVudCB7XG5cdFx0XHQvKiBzZXQgdGV4dCBhbGlnbiB0byBsZWZ0IGlmIGNvbnRlbnQgbmVlZHMgdG8gYmUgbGVmdCBhbGlnbmVkICovXG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0LyogY2VudGVycyBjb250ZW50IGhvcml6b250YWxseSwgc2V0IHRvIGZsZXgtc3RhcnQgdG8gbGVmdCBhbGlnbiAqL1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHR9XG5cblx0XHQuY3MtdGl0bGUge1xuXHRcdFx0Y29sb3I6IHZhcigtLWJvZHlUZXh0Q29sb3JXaGl0ZSk7XG5cdFx0fVxuXG5cdFx0LmNzLXRleHQge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogKDE2LzE2cmVtKTtcblx0XHRcdGNvbG9yOiB2YXIoLS1ib2R5VGV4dENvbG9yV2hpdGUpO1xuXHRcdFx0b3BhY2l0eTogMC44O1xuXHRcdFx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAoMzIvMTZyZW0pO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5jcy1waWN0dXJlIHtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR6LWluZGV4OiAtMTtcblx0XHRcdHRvcDogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR6LWluZGV4OiAtMTtcblxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHQvKiBibGFjayBjb2xvciBvdmVybGF5ICovXG5cdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICMwMDA7XG5cdFx0XHRcdG9wYWNpdHk6IDAuODtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHR6LWluZGV4OiAxO1xuXHRcdFx0fVxuXG5cdFx0XHRpbWcge1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8qLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0+XG48LS0tICAgICAgICAgIEZvb3RlciAgICAgICAgICAgIC0tPlxuPC0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtKi9cblxuLyogTW9iaWxlIC0gMzYwcHggKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMHB4KSB7XG5cdCNjcy1mb290ZXItMjc1IHtcblx0XHRwYWRkaW5nOiB2YXIoLS1zZWN0aW9uUGFkZGluZyk7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogIzFhMWExYTtcblxuXHRcdC5jcy1jb250YWluZXIge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHQvKiByZXNldCBvbiB0YWJsZXQgKi9cblx0XHRcdG1heC13aWR0aDogKDU1MC8xNnJlbSk7XG5cdFx0XHRtYXJnaW46IGF1dG87XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRcdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0XHRjb2x1bW4tZ2FwOiAoODgvMTZyZW0pO1xuXHRcdFx0cm93LWdhcDogKDMyLzE2cmVtKTtcblx0XHR9XG5cblx0XHQuY3MtbG9nby1ncm91cCB7XG5cdFx0XHQvKiB0YWtlcyB1cCBhbGwgdGhlIHNwYWNlLCBsZXRzIHRoZSBvdGhlciB1bCdzIHdyYXAgYmVsb3cgaXQgKi9cblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdH1cblxuXHRcdC5jcy1sb2dvIHtcblx0XHRcdC8qIDIxMHB4IC0gMjQwcHggKi9cblx0XHRcdHdpZHRoOiBjbGFtcCgxMy4xMjVyZW0sIDh2dywgMTVyZW0pO1xuXHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHQvKiAyOHB4IC0gNDRweCAqL1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogY2xhbXAoMS43NXJlbSwgNC4xN3Z3LCAyLjc1cmVtKTtcblx0XHR9XG5cblx0XHQuY3MtbG9nby1pbWcge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IGF1dG87XG5cblx0XHRcdCYuZGFyayB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmNzLXRleHQge1xuXHRcdFx0Y29sb3I6IHZhcigtLWJvZHlUZXh0Q29sb3JXaGl0ZSk7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAoMTYvMTZyZW0pO1xuXHRcdH1cblxuXHRcdC5jcy1zb2NpYWwge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRcdFx0Z2FwOiAoMTIvMTZyZW0pO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0fVxuXG5cdFx0LmNzLXNvY2lhbC1saW5rIHtcblx0XHRcdHdpZHRoOiAoMjQvMTZyZW0pO1xuXHRcdFx0aGVpZ2h0OiAoMjQvMTZyZW0pO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzRlNGI2Njtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHR6LWluZGV4OiAxO1xuXHRcdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MsIGJhY2tncm91bmQtY29sb3IgMC4zcztcblxuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICMxYTFhMWE7XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC4xODc1cmVtKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuY3Mtc29jaWFsLWltZyB7XG5cdFx0XHRoZWlnaHQ6ICgxMy8xNnJlbSk7XG5cdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdH1cblxuXHRcdC8qIE5hdmlnYXRpb24gTGlua3MgKi9cblx0XHQuY3MtbmF2IHtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0fVxuXG5cdFx0LmNzLW5hdi1saSB7XG5cdFx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogKDE2LzE2cmVtKTtcblx0XHRcdCY6bGFzdC1vZi10eXBlIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuY3MtaGVhZGVyIHtcblx0XHRcdGZvbnQtc2l6ZTogKDE2LzE2cmVtKTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjVlbTtcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRjb2xvcjogdmFyKC0tYm9keVRleHRDb2xvcldoaXRlKTtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdHdpZHRoOiAoMzIvMTZyZW0pO1xuXHRcdFx0XHRoZWlnaHQ6ICg0LzE2cmVtKTtcblx0XHRcdFx0bWFyZ2luOiAoMTYvMTZyZW0pIGF1dG8gKDI0LzE2cmVtKSAwO1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5KTtcblx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuY3MtbmF2LWxpbmsge1xuXHRcdFx0Zm9udC1zaXplOiAoMTYvMTZyZW0pO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuNWVtO1xuXHRcdFx0Y29sb3I6IHZhcigtLWJvZHlUZXh0Q29sb3JXaGl0ZSk7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0LyogdW5kZXJsaW5lICovXG5cdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdHdpZHRoOiAwJTtcblx0XHRcdFx0aGVpZ2h0OiAoMi8xNnJlbSk7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWJvZHlUZXh0Q29sb3JXaGl0ZSk7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdGJvdHRvbTogKC0yLzE2cmVtKTtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0dHJhbnNpdGlvbjogd2lkdGggMC4zcztcblx0XHRcdH1cblxuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC8qIENvbnRhY3QgTGlua3MgKi9cblx0XHQuY3MtY29udGFjdCB7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0d2lkdGg6IDM1JTtcblx0XHR9XG5cblx0XHQuY3MtY29udGFjdC1saSB7XG5cdFx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogKDAvMTZyZW0pO1xuXHRcdFx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5jcy1jb250YWN0LWxpbmsge1xuXHRcdFx0Zm9udC1zaXplOiAoMTYvMTZyZW0pO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuNWVtO1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdGNvbG9yOiB2YXIoLS1ib2R5VGV4dENvbG9yV2hpdGUpO1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmNzLWFkZHJlc3Mge1xuXHRcdFx0Zm9udC1zaXplOiAoMTYvMTZyZW0pO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogKDIwLzE2cmVtKTtcblx0XHR9XG5cdH1cbn1cblxuLyogVGFibGV0IC0gNzY4cHggKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhyZW0pIHtcblx0I2NzLWZvb3Rlci0yNzUge1xuXHRcdC5jcy1jb250YWluZXIge1xuXHRcdFx0bWF4LXdpZHRoOiAoMTI4MC8xNnJlbSk7XG5cdFx0XHRyb3ctZ2FwOiAwO1xuXHRcdH1cblxuXHRcdC5jcy1jb250YWN0IHtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0XHRib3JkZXItdG9wOiBub25lO1xuXHRcdH1cblxuXHRcdC5jcy1jb250YWN0LWxpIHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHR9XG5cdH1cbn1cblxuLyogU21hbGwgRGVza3RvcCAtIDEwMjRweCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NHJlbSkge1xuXHQjY3MtZm9vdGVyLTI3NSB7XG5cdFx0LmNzLWNvbnRhaW5lciB7XG5cdFx0XHQvKiBwdXNoZXMgYWxsIGZsZXggY2hpbGRyZW4gdG8gdGhlIHRvcCAqL1xuXHRcdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRcdH1cblxuXHRcdC5jcy1sb2dvLWdyb3VwIHtcblx0XHRcdC8qIHB1c2hlcyBldmVyeXRoaW5nIHRvIHRoZSByaWdodCBvZiBpdCBhcyBmYXIgYXMgcG9zc2libGUgaW4gYSBmbGV4Ym94ICovXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdG1heC13aWR0aDogKDMwNS8xNnJlbSk7XG5cdFx0fVxuXG5cdFx0LmNzLXRleHQge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXG5cdFx0LmNzLXNvY2lhbCB7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0dG9wOiBhdXRvO1xuXHRcdFx0cmlnaHQ6IGF1dG87XG5cdFx0fVxuXG5cdFx0LmNzLWNvbnRhY3Qge1xuXHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0fVxuXHR9XG59XG4iXX0= */