.page-template-service-archive #card-ratgeber {
  position: relative; }
  .page-template-service-archive #card-ratgeber.form-active {
    width: 1200px;
    max-width: 95vw;
    transition: width 0.4s ease-out;
    background: #EFF7F6; }
    @media (max-width: 768px) {
      .page-template-service-archive #card-ratgeber.form-active {
        scroll-behavior: smooth; } }
    @media (max-width: 1024px) {
      .page-template-service-archive #card-ratgeber.form-active {
        width: 90vw;
        max-height: unset; } }
    @media (max-width: 768px) {
      .page-template-service-archive #card-ratgeber.form-active {
        width: 100% !important;
        max-width: 100% !important; } }
    .page-template-service-archive #card-ratgeber.form-active .content-form {
      padding: 0;
      transform: none; }
      .page-template-service-archive #card-ratgeber.form-active .content-form .tagline.secondary-tagline {
        color: #929292;
        font-size: 20px; }
  .page-template-service-archive #card-ratgeber.form-closing {
    transition: width 0.4s ease-out, opacity 0.3s ease-out;
    opacity: 0.7; }
    .page-template-service-archive #card-ratgeber.form-closing .content-form {
      animation: slideOutForm 0.3s ease-out; }
  .page-template-service-archive #card-ratgeber .content-main {
    display: block; }
    .page-template-service-archive #card-ratgeber .content-main:not(.active) {
      display: none; }
    .page-template-service-archive #card-ratgeber .content-main .ratgeber-step-1 .ratgeber-cta-button {
      display: none; }
  .page-template-service-archive #card-ratgeber .content-form {
    display: none; }
    .page-template-service-archive #card-ratgeber .content-form.active {
      display: block; }

@keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes slideOutForm {
  from {
    opacity: 1;
    transform: scale(1); }
  to {
    opacity: 0;
    transform: scale(0.95); } }
  .page-template-service-archive #card-ratgeber .form-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px; }
    .page-template-service-archive #card-ratgeber .form-header .back-button {
      position: absolute;
      top: 20px;
      right: 20px;
      width: 40px;
      height: 40px;
      background: white;
      border: none;
      border-radius: 50%;
      cursor: pointer;
      z-index: 2;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 0;
      transition: transform 0.3s ease; }
      .page-template-service-archive #card-ratgeber .form-header .back-button svg {
        width: 20px;
        height: 20px; }
        .page-template-service-archive #card-ratgeber .form-header .back-button svg path {
          transition: fill 0.3s ease; }
      .page-template-service-archive #card-ratgeber .form-header .back-button:hover {
        transform: rotate(-180deg); }
  .page-template-service-archive #card-ratgeber .form-intro {
    text-align: center;
    max-width: 693px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      .page-template-service-archive #card-ratgeber .form-intro {
        max-width: 326px;
        margin: 60px auto 0 auto; } }
    .page-template-service-archive #card-ratgeber .form-intro h4 {
      color: #009BA4;
      font-size: 22px;
      font-style: normal;
      font-weight: 450;
      line-height: 26px;
      margin-bottom: 0;
      margin-top: 0; }
      @media (max-width: 768px) {
        .page-template-service-archive #card-ratgeber .form-intro h4 {
          font-size: 20px;
          line-height: 24px; } }
    .page-template-service-archive #card-ratgeber .form-intro p {
      color: #3C3C3B;
      font-size: 22px;
      font-style: normal;
      font-weight: 450;
      line-height: 26px;
      margin-bottom: 0;
      margin-top: 0; }
      @media (max-width: 768px) {
        .page-template-service-archive #card-ratgeber .form-intro p {
          font-size: 20px;
          line-height: 24px; } }
  .page-template-service-archive #card-ratgeber .delivery-options {
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 40px;
    margin-bottom: 80px;
    margin-top: 70px; }
    @media (max-width: 768px) {
      .page-template-service-archive #card-ratgeber .delivery-options {
        margin-bottom: 0; } }
    @media (max-width: 768px) {
      .page-template-service-archive #card-ratgeber .delivery-options {
        flex-direction: column;
        gap: 30px;
        margin-top: 35px; } }
    .page-template-service-archive #card-ratgeber .delivery-options .option-wrapper {
      display: flex;
      flex-direction: column;
      align-items: center; }
      .page-template-service-archive #card-ratgeber .delivery-options .option-wrapper .delivery-option {
        background: white;
        border: 2px solid transparent;
        border-radius: 100px;
        padding: 30px 40px;
        cursor: pointer;
        display: flex;
        align-items: center;
        gap: 20px;
        width: 100%;
        transition: all 0.3s ease-out;
        max-width: 489.855px;
        width: 100%; }
        @media (max-width: 1200px) {
          .page-template-service-archive #card-ratgeber .delivery-options .option-wrapper .delivery-option {
            padding: 15px 20px;
            gap: 10px; } }
        @media screen and (max-width: 768px) {
          .page-template-service-archive #card-ratgeber .delivery-options .option-wrapper .delivery-option {
            max-width: 326px; } }
        .page-template-service-archive #card-ratgeber .delivery-options .option-wrapper .delivery-option:hover {
          border-color: #E84249; }
        .page-template-service-archive #card-ratgeber .delivery-options .option-wrapper .delivery-option.selected {
          border-color: #E84249; }
        .page-template-service-archive #card-ratgeber .delivery-options .option-wrapper .delivery-option .option-icon {
          flex-shrink: 0;
          width: 50px;
          height: 50px;
          display: flex;
          align-items: center;
          justify-content: center; }
          .page-template-service-archive #card-ratgeber .delivery-options .option-wrapper .delivery-option .option-icon svg {
            width: 40px;
            height: 40px; }
        .page-template-service-archive #card-ratgeber .delivery-options .option-wrapper .delivery-option .option-content {
          flex: 1; }
          .page-template-service-archive #card-ratgeber .delivery-options .option-wrapper .delivery-option .option-content p {
            color: #009BA4;
            font-size: 25px;
            font-style: normal;
            font-weight: 450;
            line-height: 24px;
            /* 96% */ }
            @media (max-width: 1200px) {
              .page-template-service-archive #card-ratgeber .delivery-options .option-wrapper .delivery-option .option-content p {
                font-size: 16px; } }
      .page-template-service-archive #card-ratgeber .delivery-options .option-wrapper .option-description {
        color: #3C3C3B;
        text-align: center;
        font-size: 16px;
        font-style: normal;
        font-weight: 450;
        line-height: 20px;
        margin-top: 16px;
        width: 283.072px; }
  .page-template-service-archive #card-ratgeber .form-steps-container {
    overflow: visible; }
    .page-template-service-archive #card-ratgeber .form-steps-container.shake {
      animation: shake 0.6s ease-in-out; }
    .page-template-service-archive #card-ratgeber .form-steps-container .form-step {
      display: none;
      width: 100%; }
      .page-template-service-archive #card-ratgeber .form-steps-container .form-step .step-body {
        opacity: 0;
        transform: translateX(20px);
        transition: opacity 0.3s ease-out, transform 0.3s ease-out; }
      .page-template-service-archive #card-ratgeber .form-steps-container .form-step.active {
        display: block; }
        .page-template-service-archive #card-ratgeber .form-steps-container .form-step.active .step-body {
          opacity: 1;
          transform: translateX(0);
          animation: slideInStep 0.3s ease-out; }
      .page-template-service-archive #card-ratgeber .form-steps-container .form-step.closing {
        display: block; }
        .page-template-service-archive #card-ratgeber .form-steps-container .form-step.closing .step-body {
          opacity: 0;
          transform: translateX(-20px);
          animation: slideOutStep 0.3s ease-out; }
      .page-template-service-archive #card-ratgeber .form-steps-container .form-step.step-success .step-body {
        animation: pulse 0.3s ease-out; }

@keyframes slideInStep {
  from {
    opacity: 0;
    transform: translateX(20px); }
  to {
    opacity: 1;
    transform: translateX(0); } }

@keyframes slideOutStep {
  from {
    opacity: 1;
    transform: translateX(0); }
  to {
    opacity: 0;
    transform: translateX(-20px); } }
  .page-template-service-archive #card-ratgeber .form-fields-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px;
    width: 70%;
    margin: 30px auto 10px auto; }
    @media (max-width: 768px) {
      .page-template-service-archive #card-ratgeber .form-fields-grid {
        width: 100%;
        margin: 20px auto;
        grid-template-columns: 1fr !important;
        gap: 15px; } }
    @media (max-width: 480px) {
      .page-template-service-archive #card-ratgeber .form-fields-grid {
        gap: 12px;
        margin: 15px auto; }
        .page-template-service-archive #card-ratgeber .form-fields-grid .zip-city-fields {
          flex-direction: column;
          gap: 12px;
          margin-bottom: -24px; } }
    .page-template-service-archive #card-ratgeber .form-fields-grid .form-field {
      display: block;
      width: 100%; }
      .page-template-service-archive #card-ratgeber .form-fields-grid .form-field.zip-city-container .zip-city-fields {
        display: flex;
        width: 100%; }
        .page-template-service-archive #card-ratgeber .form-fields-grid .form-field.zip-city-container .zip-city-fields input {
          flex: 1;
          width: 100%;
          height: 67px;
          padding: 18px 24px;
          border: none;
          border-radius: 50px;
          background: #ffffff;
          font-size: 16px; }
          @media (max-width: 768px) {
            .page-template-service-archive #card-ratgeber .form-fields-grid .form-field.zip-city-container .zip-city-fields input {
              padding: 20px 20px; } }
          .page-template-service-archive #card-ratgeber .form-fields-grid .form-field.zip-city-container .zip-city-fields input:first-child {
            margin-right: 10px; }
          .page-template-service-archive #card-ratgeber .form-fields-grid .form-field.zip-city-container .zip-city-fields input::-moz-placeholder {
            color: #C4C4C4; }
          .page-template-service-archive #card-ratgeber .form-fields-grid .form-field.zip-city-container .zip-city-fields input::placeholder {
            color: #C4C4C4; }
          .page-template-service-archive #card-ratgeber .form-fields-grid .form-field.zip-city-container .zip-city-fields input:focus {
            outline: none;
            box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25); }
      .page-template-service-archive #card-ratgeber .form-fields-grid .form-field input {
        width: 100%;
        height: 67px;
        padding: 18px 24px;
        border: none;
        border-radius: 50px;
        background-color: white;
        font-size: 16px;
        color: #3C3C3B;
        outline: none;
        box-shadow: none;
        transition: box-shadow 0.2s ease;
        margin-bottom: 0; }
        @media (max-width: 768px) {
          .page-template-service-archive #card-ratgeber .form-fields-grid .form-field input {
            height: 60px;
            padding: 16px 20px; } }
        .page-template-service-archive #card-ratgeber .form-fields-grid .form-field input::-moz-placeholder {
          color: #C4C4C4;
          font-size: 16px; }
        .page-template-service-archive #card-ratgeber .form-fields-grid .form-field input::placeholder {
          color: #C4C4C4;
          font-size: 16px; }
        .page-template-service-archive #card-ratgeber .form-fields-grid .form-field input:focus {
          box-shadow: 0 0 0 2px #E84249; }
        .page-template-service-archive #card-ratgeber .form-fields-grid .form-field input.error {
          border: 2px solid #E84249;
          box-shadow: none; }
        .page-template-service-archive #card-ratgeber .form-fields-grid .form-field input:invalid {
          box-shadow: none; }
  .page-template-service-archive #card-ratgeber.step-3-active .form-intro {
    display: none !important; }
  @media screen and (max-width: 1223px) {
    .page-template-service-archive #card-ratgeber.step-2-active .form-intro {
      display: none !important; } }
  .page-template-service-archive #card-ratgeber .form-step[data-step="3"] {
    text-align: center; }
    .page-template-service-archive #card-ratgeber .form-step[data-step="3"] .confirmation-content {
      max-width: 700px;
      margin: 0 auto;
      margin-bottom: 80px; }
      @media (max-width: 768px) {
        .page-template-service-archive #card-ratgeber .form-step[data-step="3"] .confirmation-content {
          margin-bottom: 0; } }
      .page-template-service-archive #card-ratgeber .form-step[data-step="3"] .confirmation-content h3 {
        width: 100%; }
      .page-template-service-archive #card-ratgeber .form-step[data-step="3"] .confirmation-content .icon-container {
        margin: 30px auto;
        width: 100px;
        height: 100px;
        display: flex;
        align-items: center;
        justify-content: center; }
        .page-template-service-archive #card-ratgeber .form-step[data-step="3"] .confirmation-content .icon-container svg {
          width: 169.199px;
          height: 102.676px;
          flex-shrink: 0; }
      .page-template-service-archive #card-ratgeber .form-step[data-step="3"] .confirmation-content .confirmation-heading {
        color: #009BA4;
        font-size: 32px;
        font-style: normal;
        font-weight: 450; }
        @media (max-width: 768px) {
          .page-template-service-archive #card-ratgeber .form-step[data-step="3"] .confirmation-content .confirmation-heading {
            font-size: 20px;
            font-style: normal;
            width: 100%; } }
      .page-template-service-archive #card-ratgeber .form-step[data-step="3"] .confirmation-content .confirmation-subheading {
        color: #3C3C3B;
        font-size: 32px;
        font-style: normal;
        font-weight: 450;
        margin-top: 0;
        margin-bottom: 0; }
        @media (max-width: 768px) {
          .page-template-service-archive #card-ratgeber .form-step[data-step="3"] .confirmation-content .confirmation-subheading {
            font-size: 20px;
            font-style: normal;
            font-weight: 450;
            line-height: 24px; } }
      .page-template-service-archive #card-ratgeber .form-step[data-step="3"] .confirmation-content .contact-section p {
        margin: 0;
        color: #3C3C3B; }
      .page-template-service-archive #card-ratgeber .form-step[data-step="3"] .confirmation-content .contact-section .contact-question {
        color: #009BA4;
        text-align: center;
        font-size: 22px;
        font-style: normal;
        font-weight: 450;
        line-height: 40px; }
      .page-template-service-archive #card-ratgeber .form-step[data-step="3"] .confirmation-content .contact-section .contact-text {
        color: #3C3C3B;
        text-align: center;
        font-size: 20px;
        font-style: normal;
        font-weight: 450;
        line-height: normal; }
      .page-template-service-archive #card-ratgeber .form-step[data-step="3"] .confirmation-content .contact-section .contact-phone {
        color: #E84249;
        text-align: center;
        font-size: 32px;
        font-style: normal;
        font-weight: 500;
        line-height: normal; }
      .page-template-service-archive #card-ratgeber .form-step[data-step="3"] .confirmation-content .contact-section .contact-hours {
        color: #3C3C3B;
        font-size: 20px;
        font-style: normal;
        font-weight: 500;
        line-height: normal; }
      @media (max-width: 768px) {
        .page-template-service-archive #card-ratgeber .form-step[data-step="3"] .confirmation-content .contact-section .contact-text {
          font-size: 20px;
          font-style: normal;
          font-weight: 450;
          line-height: normal; }
        .page-template-service-archive #card-ratgeber .form-step[data-step="3"] .confirmation-content .contact-section .contact-phone {
          color: #E84249;
          text-align: center;
          font-size: 28px;
          font-style: normal;
          font-weight: 500;
          line-height: normal; }
        .page-template-service-archive #card-ratgeber .form-step[data-step="3"] .confirmation-content .contact-section .contact-hours {
          color: #3C3C3B;
          font-size: 20px;
          font-style: normal;
          font-weight: 500;
          line-height: normal; } }
    .page-template-service-archive #card-ratgeber .form-step[data-step="3"] .form-navigation {
      justify-content: center;
      margin-top: 0px; }
  .page-template-service-archive #card-ratgeber .privacy-consent {
    margin-bottom: 80px;
    flex: 0 0 70%;
    border-radius: 12px;
    padding: 0 20px 0 0; }
    @media (max-width: 768px) {
      .page-template-service-archive #card-ratgeber .privacy-consent {
        margin-bottom: 0; } }
    @media (max-width: 768px) {
      .page-template-service-archive #card-ratgeber .privacy-consent {
        flex: 1; } }
    .page-template-service-archive #card-ratgeber .privacy-consent .btn-submit {
      margin-bottom: 40px; }
    .page-template-service-archive #card-ratgeber .privacy-consent p {
      color: #3C3C3B;
      font-size: 12px;
      font-style: normal;
      font-weight: 450;
      line-height: 16px;
      margin-bottom: 0;
      margin-top: 0; }
      .page-template-service-archive #card-ratgeber .privacy-consent p a {
        color: #4ABDB6;
        text-decoration: underline; }
        .page-template-service-archive #card-ratgeber .privacy-consent p a:hover {
          color: #3a9d96; }
  .page-template-service-archive #card-ratgeber .error-message {
    display: none; }
  .page-template-service-archive #card-ratgeber .step-error-message {
    display: none; }
  .page-template-service-archive #card-ratgeber .form-navigation {
    position: absolute;
    bottom: 20px;
    right: 20px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-top: 0;
    flex: 0 0 auto; }
    @media (max-width: 768px) {
      .page-template-service-archive #card-ratgeber .form-navigation {
        position: relative;
        bottom: auto;
        right: auto;
        margin-top: 0px;
        justify-content: flex-end;
        margin-right: 24px; } }
  @media (max-width: 768px) {
    .page-template-service-archive #card-ratgeber .bw-hero__main-btn.card-btn {
      position: relative !important;
      bottom: auto !important;
      right: auto !important;
      margin-top: 20px; } }
  .page-template-service-archive #card-ratgeber .btn-next {
    display: none !important; }
    .page-template-service-archive #card-ratgeber .btn-next.active {
      display: block !important; }
  @media (max-width: 768px) {
    .page-template-service-archive #card-ratgeber .bw-hero__main-btn.card-btn {
      position: relative !important;
      bottom: auto !important;
      right: auto !important;
      margin-top: 20px; } }
  .page-template-service-archive #card-ratgeber .btn-submit.active {
    display: block !important; }
  .page-template-service-archive #card-ratgeber .btn-primary {
    background-color: #E94B3C;
    color: white;
    border: none;
    border-radius: 50px;
    padding: 15px 35px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease-out;
    min-width: 180px; }
    @media (max-width: 768px) {
      .page-template-service-archive #card-ratgeber .btn-primary {
        width: 100%;
        min-width: auto; } }
    .page-template-service-archive #card-ratgeber .btn-primary:hover {
      background-color: #d43e2f;
      transform: translateY(-1px);
      box-shadow: 0 4px 12px rgba(233, 75, 60, 0.3); }
    .page-template-service-archive #card-ratgeber .btn-primary:disabled {
      background-color: #ccc;
      cursor: not-allowed;
      transform: none;
      box-shadow: none; }

.continue-dialog {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
  animation: fadeIn 0.3s ease-out; }
  .continue-dialog .continue-dialog-content {
    background: white;
    border-radius: 12px;
    padding: 30px;
    max-width: 400px;
    width: 90%;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    animation: slideInUp 0.3s ease-out; }
    .continue-dialog .continue-dialog-content h4 {
      margin: 0 0 15px 0;
      color: #333;
      font-size: 20px; }
    .continue-dialog .continue-dialog-content p {
      margin: 0 0 25px 0;
      color: #666;
      line-height: 1.5; }
    .continue-dialog .continue-dialog-content .continue-dialog-buttons {
      display: flex;
      gap: 15px;
      justify-content: center; }
      @media (max-width: 480px) {
        .continue-dialog .continue-dialog-content .continue-dialog-buttons {
          flex-direction: column; } }
      .continue-dialog .continue-dialog-content .continue-dialog-buttons button {
        padding: 12px 24px;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.3s ease-out;
        min-width: 120px; }
        @media (max-width: 480px) {
          .continue-dialog .continue-dialog-content .continue-dialog-buttons button {
            width: 100%; } }
        .continue-dialog .continue-dialog-content .continue-dialog-buttons button.btn-secondary {
          background-color: #f5f5f5;
          color: #666; }
          .continue-dialog .continue-dialog-content .continue-dialog-buttons button.btn-secondary:hover {
            background-color: #e0e0e0; }
        .continue-dialog .continue-dialog-content .continue-dialog-buttons button.btn-primary {
          background-color: #f4c430;
          color: #333; }
          .continue-dialog .continue-dialog-content .continue-dialog-buttons button.btn-primary:hover {
            background-color: #e6b02a; }

@keyframes shake {
  0%,
  100% {
    transform: translateX(0); }
  10%,
  30%,
  50%,
  70%,
  90% {
    transform: translateX(-5px); }
  20%,
  40%,
  60%,
  80% {
    transform: translateX(5px); } }

@keyframes fadeInError {
  from {
    opacity: 0;
    transform: translateY(-10px); }
  to {
    opacity: 1;
    transform: translateY(0); } }

@keyframes slideInError {
  from {
    opacity: 0;
    transform: translateY(-20px);
    max-height: 0; }
  to {
    opacity: 1;
    transform: translateY(0);
    max-height: 100px; } }

@keyframes pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(244, 196, 48, 0.4); }
  70% {
    box-shadow: 0 0 0 10px rgba(244, 196, 48, 0); }
  100% {
    box-shadow: 0 0 0 0 rgba(244, 196, 48, 0); } }

@keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes slideInUp {
  from {
    opacity: 0;
    transform: translateY(30px); }
  to {
    opacity: 1;
    transform: translateY(0); } }

.page-template-service-archive .pin-spacer {
  width: 100% !important;
  left: 0 !important; }
  @media (max-width: 768px) {
    .page-template-service-archive .pin-spacer {
      width: 100% !important;
      max-width: none !important;
      box-sizing: border-box !important; } }

.page-template-service-archive .horizontal-main-component .horizontal > article:nth-child(n+2) {
  opacity: 1;
  transition: opacity 0.3s ease-in-out; }

.page-template-service-archive #horizontal-scroll {
  padding: 24px 56px 0;
  overflow: visible !important; }
  @media (max-width: 769px) {
    .page-template-service-archive #horizontal-scroll {
      padding: 0;
      overflow: hidden !important; } }
  .page-template-service-archive #horizontal-scroll .service-header-container {
    display: block;
    margin-top: 160px;
    margin-bottom: 40px;
    width: 100%;
    position: relative;
    min-height: 100px; }
  .page-template-service-archive #horizontal-scroll .breadcrumb-wrapper {
    margin-top: 0;
    margin-bottom: 20px; }
  .page-template-service-archive #horizontal-scroll .bw-hero__main-title {
    margin-bottom: 0;
    padding-left: 24px; }
    @media (max-width: 768px) {
      .page-template-service-archive #horizontal-scroll .bw-hero__main-title {
        font-size: 32px;
        font-style: normal;
        font-weight: 450;
        line-height: 36px; } }
    @media (min-width: 769px) and (max-width: 1439px) {
      .page-template-service-archive #horizontal-scroll .bw-hero__main-title {
        margin-bottom: 0; } }
  .page-template-service-archive #horizontal-scroll .service-contact-info {
    position: absolute;
    top: 10px;
    right: 0px;
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-bottom: 0;
    z-index: 10;
    pointer-events: auto; }
    @media (min-width: 1106px) and (max-width: 1439px) {
      .page-template-service-archive #horizontal-scroll .service-contact-info {
        margin-bottom: 0; } }
    @media screen and (max-width: 1105px) {
      .page-template-service-archive #horizontal-scroll .service-contact-info {
        display: none; } }
    .page-template-service-archive #horizontal-scroll .service-contact-info a {
      color: #3c3c3b;
      text-decoration: none;
      font-size: 18px;
      display: flex;
      align-items: center;
      gap: 8px; }
      .page-template-service-archive #horizontal-scroll .service-contact-info a svg {
        flex-shrink: 0; }
      .page-template-service-archive #horizontal-scroll .service-contact-info a:hover {
        text-decoration: underline; }

.page-template-service-archive .horizontal-main-component {
  position: relative; }

.page-template-service-archive .horizontal {
  padding-left: 0 !important; }

.page-template-service-archive .card-m {
  width: 100%;
  height: 567.5px;
  flex-shrink: 0;
  border-radius: 30px;
  background: #EFF7F6;
  box-sizing: border-box; }

.page-template-service-archive .service-search-placeholder-desktop .faq-search-form,
.page-template-service-archive .faq-search-placeholder-desktop .faq-search-form,
.page-template-service-archive .service-search-placeholder .faq-search-form,
.page-template-service-archive .faq-search-placeholder .faq-search-form {
  position: relative !important; }
  .page-template-service-archive .service-search-placeholder-desktop .faq-search-form .submit-icon,
  .page-template-service-archive .faq-search-placeholder-desktop .faq-search-form .submit-icon,
  .page-template-service-archive .service-search-placeholder .faq-search-form .submit-icon,
  .page-template-service-archive .faq-search-placeholder .faq-search-form .submit-icon {
    position: absolute !important;
    right: 56px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 25.595px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .15s ease;
    border: 0 !important;
    background: transparent !important;
    padding: 0 !important; }
  .page-template-service-archive .service-search-placeholder-desktop .faq-search-form:focus-within input[type="search"]:not(:-moz-placeholder-shown) + .submit-icon, .page-template-service-archive .faq-search-placeholder-desktop .faq-search-form:focus-within input[type="search"]:not(:-moz-placeholder-shown) + .submit-icon, .page-template-service-archive .service-search-placeholder .faq-search-form:focus-within input[type="search"]:not(:-moz-placeholder-shown) + .submit-icon, .page-template-service-archive .faq-search-placeholder .faq-search-form:focus-within input[type="search"]:not(:-moz-placeholder-shown) + .submit-icon {
    opacity: 1;
    visibility: visible;
    pointer-events: auto; }
  .page-template-service-archive .service-search-placeholder-desktop .faq-search-form:focus-within input[type="search"]:not(:placeholder-shown) + .submit-icon,
  .page-template-service-archive .faq-search-placeholder-desktop .faq-search-form:focus-within input[type="search"]:not(:placeholder-shown) + .submit-icon,
  .page-template-service-archive .service-search-placeholder .faq-search-form:focus-within input[type="search"]:not(:placeholder-shown) + .submit-icon,
  .page-template-service-archive .faq-search-placeholder .faq-search-form:focus-within input[type="search"]:not(:placeholder-shown) + .submit-icon {
    opacity: 1;
    visibility: visible;
    pointer-events: auto; }

.page-template-service-archive .service-search-placeholder,
.page-template-service-archive .faq-search-placeholder {
  display: none; }

.page-template-service-archive .service-search-placeholder-desktop,
.page-template-service-archive .faq-search-placeholder-desktop {
  display: block;
  padding: 0 100px; }
  @media (max-width: 1365px) {
    .page-template-service-archive .service-search-placeholder-desktop,
    .page-template-service-archive .faq-search-placeholder-desktop {
      padding: 0 20px; } }
  .page-template-service-archive .service-search-placeholder-desktop .service-search-form,
  .page-template-service-archive .service-search-placeholder-desktop .faq-search-form,
  .page-template-service-archive .faq-search-placeholder-desktop .service-search-form,
  .page-template-service-archive .faq-search-placeholder-desktop .faq-search-form {
    margin: 0 auto;
    position: relative !important; }
    .page-template-service-archive .service-search-placeholder-desktop .service-search-form .service-search-input,
    .page-template-service-archive .service-search-placeholder-desktop .service-search-form .faq-search-input,
    .page-template-service-archive .service-search-placeholder-desktop .faq-search-form .service-search-input,
    .page-template-service-archive .service-search-placeholder-desktop .faq-search-form .faq-search-input,
    .page-template-service-archive .faq-search-placeholder-desktop .service-search-form .service-search-input,
    .page-template-service-archive .faq-search-placeholder-desktop .service-search-form .faq-search-input,
    .page-template-service-archive .faq-search-placeholder-desktop .faq-search-form .service-search-input,
    .page-template-service-archive .faq-search-placeholder-desktop .faq-search-form .faq-search-input {
      width: 100%;
      padding: 20px 72px 20px 30px;
      font-size: 18px;
      border: 1px solid #ddd;
      border-radius: 50px;
      outline: none;
      transition: all 0.3s ease;
      box-sizing: border-box;
      max-width: 954px; }
      .page-template-service-archive .service-search-placeholder-desktop .service-search-form .service-search-input::-moz-placeholder, .page-template-service-archive .service-search-placeholder-desktop .service-search-form .faq-search-input::-moz-placeholder, .page-template-service-archive .service-search-placeholder-desktop .faq-search-form .service-search-input::-moz-placeholder, .page-template-service-archive .service-search-placeholder-desktop .faq-search-form .faq-search-input::-moz-placeholder, .page-template-service-archive .faq-search-placeholder-desktop .service-search-form .service-search-input::-moz-placeholder, .page-template-service-archive .faq-search-placeholder-desktop .service-search-form .faq-search-input::-moz-placeholder, .page-template-service-archive .faq-search-placeholder-desktop .faq-search-form .service-search-input::-moz-placeholder, .page-template-service-archive .faq-search-placeholder-desktop .faq-search-form .faq-search-input::-moz-placeholder {
        color: #9CA3AF; }
      .page-template-service-archive .service-search-placeholder-desktop .service-search-form .service-search-input::placeholder,
      .page-template-service-archive .service-search-placeholder-desktop .service-search-form .faq-search-input::placeholder,
      .page-template-service-archive .service-search-placeholder-desktop .faq-search-form .service-search-input::placeholder,
      .page-template-service-archive .service-search-placeholder-desktop .faq-search-form .faq-search-input::placeholder,
      .page-template-service-archive .faq-search-placeholder-desktop .service-search-form .service-search-input::placeholder,
      .page-template-service-archive .faq-search-placeholder-desktop .service-search-form .faq-search-input::placeholder,
      .page-template-service-archive .faq-search-placeholder-desktop .faq-search-form .service-search-input::placeholder,
      .page-template-service-archive .faq-search-placeholder-desktop .faq-search-form .faq-search-input::placeholder {
        color: #9CA3AF; }
      .page-template-service-archive .service-search-placeholder-desktop .service-search-form .service-search-input:focus,
      .page-template-service-archive .service-search-placeholder-desktop .service-search-form .faq-search-input:focus,
      .page-template-service-archive .service-search-placeholder-desktop .faq-search-form .service-search-input:focus,
      .page-template-service-archive .service-search-placeholder-desktop .faq-search-form .faq-search-input:focus,
      .page-template-service-archive .faq-search-placeholder-desktop .service-search-form .service-search-input:focus,
      .page-template-service-archive .faq-search-placeholder-desktop .service-search-form .faq-search-input:focus,
      .page-template-service-archive .faq-search-placeholder-desktop .faq-search-form .service-search-input:focus,
      .page-template-service-archive .faq-search-placeholder-desktop .faq-search-form .faq-search-input:focus {
        border-color: #009BA4; }

.page-template-service-archive .horizontal-scroll-wrapper {
  height: auto !important;
  min-height: 595px;
  padding-bottom: 10px;
  padding-left: 44px;
  margin-top: 30px; }
  @media (max-width: 4440px) {
    .page-template-service-archive .horizontal-scroll-wrapper {
      padding-left: 24px; } }

.page-template-service-archive .tagline {
  position: absolute;
  top: 23.5px;
  left: 41px;
  color: #009BA4;
  font-size: 20px;
  font-style: normal;
  font-weight: 450;
  line-height: 25px; }
  @media screen and (max-width: 768px) {
    .page-template-service-archive .tagline {
      left: 24px; } }

@media screen and (max-width: 768px) {
  .page-template-service-archive #card-ratgeber {
    width: 100%;
    min-height: 430px; } }

.page-template-service-archive #card-ratgeber .yellow-box {
  width: 582px;
  max-width: 100%;
  height: 192.047px;
  flex-shrink: 0;
  border-radius: 170.5px;
  background: #B7DAE1;
  margin-top: 20px;
  position: relative; }
  @media (max-width: 1024px) {
    .page-template-service-archive #card-ratgeber .yellow-box {
      width: 100%;
      height: 160px; } }
  @media (max-width: 768px) {
    .page-template-service-archive #card-ratgeber .yellow-box {
      width: 100% !important;
      max-width: 100% !important;
      height: 140px;
      margin-top: 40px; } }
  .page-template-service-archive #card-ratgeber .yellow-box .yellow-box-content {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    height: 100%;
    padding-right: 40px;
    padding-left: 180px; }
    @media (max-width: 1024px) {
      .page-template-service-archive #card-ratgeber .yellow-box .yellow-box-content {
        padding-left: 160px;
        padding-right: 30px; } }
    @media (max-width: 768px) {
      .page-template-service-archive #card-ratgeber .yellow-box .yellow-box-content {
        padding-left: 120px;
        padding-right: 20px; } }
    .page-template-service-archive #card-ratgeber .yellow-box .yellow-box-content img.ratgeber-mockup {
      position: absolute;
      left: 0px;
      top: -35px;
      height: 293.28px;
      width: auto;
      flex-shrink: 0;
      z-index: 1; }
      @media (max-width: 1024px) {
        .page-template-service-archive #card-ratgeber .yellow-box .yellow-box-content img.ratgeber-mockup {
          top: -27px;
          height: 240px;
          left: -7rem; } }
      @media (max-width: 768px) {
        .page-template-service-archive #card-ratgeber .yellow-box .yellow-box-content img.ratgeber-mockup {
          top: -10px;
          height: 170px;
          left: 2.5rem; } }
    .page-template-service-archive #card-ratgeber .yellow-box .yellow-box-content h2 {
      flex: 1;
      color: #009BA4;
      font-size: 32px;
      font-style: normal;
      font-weight: 450;
      line-height: 1.1;
      z-index: 2;
      position: relative;
      margin-left: 40px; }
      @media (max-width: 1024px) {
        .page-template-service-archive #card-ratgeber .yellow-box .yellow-box-content h2 {
          font-size: 28px; } }
      @media (max-width: 500px) {
        .page-template-service-archive #card-ratgeber .yellow-box .yellow-box-content h2 {
          font-size: 16px;
          line-height: 1.2; } }

.page-template-service-archive #card-ratgeber .card-text-content .bw-hero__main-title {
  padding: 0;
  margin-top: 40px; }

.page-template-service-archive #card-ratgeber .card-text-content .bw-hero__wide-note {
  padding: 0;
  margin-top: 10px; }
  @media (max-width: 768px) {
    .page-template-service-archive #card-ratgeber .card-text-content .bw-hero__wide-note {
      display: none; } }

.page-template-service-archive #card-klinikfinder-services {
  width: 504px;
  height: 567.5px;
  flex-shrink: 0; }
  @media screen and (max-width: 768px) {
    .page-template-service-archive #card-klinikfinder-services {
      height: 100%;
      width: 100%; } }
  .page-template-service-archive #card-klinikfinder-services .centered-image {
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-top: 20px;
    max-width: 100%;
    width: auto;
    height: 177px;
    flex-shrink: 0;
    margin-bottom: 0;
    position: unset;
    transform: unset;
    -o-object-fit: cover;
       object-fit: cover; }
    @media screen and (max-width: 768px) {
      .page-template-service-archive #card-klinikfinder-services .centered-image {
        border-radius: 150px;
        width: 430px;
        height: 178.937px;
        flex-shrink: 0;
        margin-top: 20px;
        margin-bottom: 0;
        width: auto;
        height: auto; } }
  .page-template-service-archive #card-klinikfinder-services h3 {
    margin-top: 10px;
    width: 100%;
    max-width: 100%; }
    @media screen and (max-width: 768px) {
      .page-template-service-archive #card-klinikfinder-services h3 {
        margin-top: 40px;
        font-size: 32px;
        font-style: normal;
        font-weight: 450;
        line-height: 36px; } }
  .page-template-service-archive #card-klinikfinder-services p {
    width: 372.852px; }
    @media screen and (max-width: 768px) {
      .page-template-service-archive #card-klinikfinder-services p {
        display: none; } }

.page-template-service-archive #card-basic,
.page-template-service-archive #card-basic-downloads,
.page-template-service-archive #card-basic-events,
.page-template-service-archive #card-basic-faq,
.page-template-service-archive #card-basic-glossar,
.page-template-service-archive #card-basic-vornamen {
  width: 504px;
  height: 567.5px;
  flex-shrink: 0; }
  @media screen and (max-width: 768px) {
    .page-template-service-archive #card-basic,
    .page-template-service-archive #card-basic-downloads,
    .page-template-service-archive #card-basic-events,
    .page-template-service-archive #card-basic-faq,
    .page-template-service-archive #card-basic-glossar,
    .page-template-service-archive #card-basic-vornamen {
      height: 100%;
      width: 100%; } }
  .page-template-service-archive #card-basic h3,
  .page-template-service-archive #card-basic-downloads h3,
  .page-template-service-archive #card-basic-events h3,
  .page-template-service-archive #card-basic-faq h3,
  .page-template-service-archive #card-basic-glossar h3,
  .page-template-service-archive #card-basic-vornamen h3 {
    margin-top: 10px;
    width: 100%;
    max-width: 100%;
    min-height: 110px; }
    @media screen and (max-width: 768px) {
      .page-template-service-archive #card-basic h3,
      .page-template-service-archive #card-basic-downloads h3,
      .page-template-service-archive #card-basic-events h3,
      .page-template-service-archive #card-basic-faq h3,
      .page-template-service-archive #card-basic-glossar h3,
      .page-template-service-archive #card-basic-vornamen h3 {
        margin-top: 40px;
        font-size: 32px;
        font-style: normal;
        font-weight: 450;
        line-height: 36px;
        min-height: unset; } }
  .page-template-service-archive #card-basic img.round-image,
  .page-template-service-archive #card-basic-downloads img.round-image,
  .page-template-service-archive #card-basic-events img.round-image,
  .page-template-service-archive #card-basic-faq img.round-image,
  .page-template-service-archive #card-basic-glossar img.round-image,
  .page-template-service-archive #card-basic-vornamen img.round-image {
    border-radius: 150px;
    width: 430px;
    height: 178.937px;
    flex-shrink: 0;
    margin-top: 20px;
    margin-bottom: 0; }
    @media screen and (max-width: 768px) {
      .page-template-service-archive #card-basic img.round-image,
      .page-template-service-archive #card-basic-downloads img.round-image,
      .page-template-service-archive #card-basic-events img.round-image,
      .page-template-service-archive #card-basic-faq img.round-image,
      .page-template-service-archive #card-basic-glossar img.round-image,
      .page-template-service-archive #card-basic-vornamen img.round-image {
        width: auto;
        height: auto; } }
  @media screen and (max-width: 768px) {
    .page-template-service-archive #card-basic p,
    .page-template-service-archive #card-basic-downloads p,
    .page-template-service-archive #card-basic-events p,
    .page-template-service-archive #card-basic-faq p,
    .page-template-service-archive #card-basic-glossar p,
    .page-template-service-archive #card-basic-vornamen p {
      display: none; } }

@media screen and (max-width: 768px) {
  #horizontal-scroll .horizontal-scroll-wrapper .service-header-container {
    display: block;
    margin: 0;
    padding-top: 160px; }
  #horizontal-scroll .horizontal-scroll-wrapper .service-header-left {
    margin-bottom: 20px; }
  #horizontal-scroll .horizontal-scroll-wrapper .breadcrumb-wrapper {
    margin-top: 0;
    margin-bottom: 10px; }
  #horizontal-scroll .horizontal-scroll-wrapper .bw-hero__main-title {
    margin-bottom: 0; }
  #horizontal-scroll .horizontal-scroll-wrapper .service-contact-info {
    display: none !important;
    margin-top: 0;
    margin-bottom: 20px;
    flex-direction: row;
    gap: 15px;
    align-items: center;
    position: static; }
    #horizontal-scroll .horizontal-scroll-wrapper .service-contact-info a {
      font-size: 16px; }
  .horizontal-main-component::before {
    display: none; }
  .horizontal {
    padding-right: 0 !important;
    min-width: unset !important;
    display: flex !important;
    flex-direction: column !important; }
    .horizontal > div,
    .horizontal > div:first-child,
    .horizontal > div:last-child {
      padding: 0 !important; }
    .horizontal > article.card.card-m {
      width: 100%;
      margin: 0 0 40px 0;
      padding: 24px;
      height: auto;
      border-radius: 30px;
      background: #EFF7F6;
      box-sizing: border-box; }
    .horizontal > article.card.card-m:first-child {
      order: 1; }
    .horizontal .service-search-placeholder,
    .horizontal .faq-search-placeholder {
      display: block !important;
      width: 94%;
      margin: 0 auto 20px auto;
      order: 2; }
      .horizontal .service-search-placeholder .service-search-form,
      .horizontal .service-search-placeholder .faq-search-form,
      .horizontal .faq-search-placeholder .service-search-form,
      .horizontal .faq-search-placeholder .faq-search-form {
        width: 100%;
        position: relative !important; }
        .horizontal .service-search-placeholder .service-search-form .service-search-input,
        .horizontal .service-search-placeholder .service-search-form .faq-search-input,
        .horizontal .service-search-placeholder .faq-search-form .service-search-input,
        .horizontal .service-search-placeholder .faq-search-form .faq-search-input,
        .horizontal .faq-search-placeholder .service-search-form .service-search-input,
        .horizontal .faq-search-placeholder .service-search-form .faq-search-input,
        .horizontal .faq-search-placeholder .faq-search-form .service-search-input,
        .horizontal .faq-search-placeholder .faq-search-form .faq-search-input {
          width: 100%;
          padding: 15px 60px 15px 20px;
          font-size: 16px;
          border: 1px solid #ddd;
          border-radius: 30px;
          outline: none;
          box-sizing: border-box; }
          .horizontal .service-search-placeholder .service-search-form .service-search-input:focus,
          .horizontal .service-search-placeholder .service-search-form .faq-search-input:focus,
          .horizontal .service-search-placeholder .faq-search-form .service-search-input:focus,
          .horizontal .service-search-placeholder .faq-search-form .faq-search-input:focus,
          .horizontal .faq-search-placeholder .service-search-form .service-search-input:focus,
          .horizontal .faq-search-placeholder .service-search-form .faq-search-input:focus,
          .horizontal .faq-search-placeholder .faq-search-form .service-search-input:focus,
          .horizontal .faq-search-placeholder .faq-search-form .faq-search-input:focus {
            border-color: #009BA4; }
        .horizontal .service-search-placeholder .service-search-form .submit-icon,
        .horizontal .service-search-placeholder .faq-search-form .submit-icon,
        .horizontal .faq-search-placeholder .service-search-form .submit-icon,
        .horizontal .faq-search-placeholder .faq-search-form .submit-icon {
          position: absolute !important;
          right: 20px !important;
          top: 50% !important;
          transform: translateY(-50%) !important;
          width: 25.595px;
          height: 24px;
          display: flex;
          align-items: center;
          justify-content: center;
          cursor: pointer;
          opacity: 0;
          visibility: hidden;
          pointer-events: none;
          transition: opacity .15s ease;
          border: 0 !important;
          background: transparent !important;
          padding: 0 !important; }
        .horizontal .service-search-placeholder .service-search-form:focus-within input[type="search"]:not(:-moz-placeholder-shown) + .submit-icon, .horizontal .service-search-placeholder .faq-search-form:focus-within input[type="search"]:not(:-moz-placeholder-shown) + .submit-icon, .horizontal .faq-search-placeholder .service-search-form:focus-within input[type="search"]:not(:-moz-placeholder-shown) + .submit-icon, .horizontal .faq-search-placeholder .faq-search-form:focus-within input[type="search"]:not(:-moz-placeholder-shown) + .submit-icon {
          opacity: 1;
          visibility: visible;
          pointer-events: auto; }
        .horizontal .service-search-placeholder .service-search-form:focus-within input[type="search"]:not(:placeholder-shown) + .submit-icon,
        .horizontal .service-search-placeholder .faq-search-form:focus-within input[type="search"]:not(:placeholder-shown) + .submit-icon,
        .horizontal .faq-search-placeholder .service-search-form:focus-within input[type="search"]:not(:placeholder-shown) + .submit-icon,
        .horizontal .faq-search-placeholder .faq-search-form:focus-within input[type="search"]:not(:placeholder-shown) + .submit-icon {
          opacity: 1;
          visibility: visible;
          pointer-events: auto; }
    .horizontal > article.card.card-m:nth-child(n+2) {
      order: 3; }
  .service-search-placeholder-desktop,
  .faq-search-placeholder-desktop {
    display: none !important; }
  .page-template-service-archive .service-search-placeholder-desktop,
  .page-template-service-archive .faq-search-placeholder-desktop {
    display: none !important; } }

@media screen and (max-width: 768px) {
  .service-contact-info {
    display: none !important; } }

.page-template-service-archive #section6 {
  margin-top: 200px; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3Njc3MvcmF0Z2ViZXItZm9ybS5zY3NzIiwic2VydmljZS1hcmNoaXZlLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTQTtFQUNJLGtCQUFrQixFQUFBO0VBRHRCO0lBS1EsYUFBYTtJQUNiLGVBQWU7SUFDZiwrQkFBK0I7SUFDL0IsbUJBQW1CLEVBQUE7SUFHbkI7TUFYUjtRQVlZLHVCQUF1QixFQUFBLEVBMEI5QjtJQXZCRztNQWZSO1FBZ0JZLFdBQVc7UUFDWCxpQkFBaUIsRUFBQSxFQXFCeEI7SUFsQkc7TUFwQlI7UUFxQlksc0JBQXNCO1FBQ3RCLDBCQUEwQixFQUFBLEVBZ0JqQztJQXRDTDtNQTBCWSxVQUFVO01BQ1YsZUFBZSxFQUFBO01BM0IzQjtRQWtDZ0IsY0FBYztRQUNkLGVBQWUsRUFBQTtFQW5DL0I7SUEwQ1Esc0RBQXNEO0lBQ3RELFlBQVksRUFBQTtJQTNDcEI7TUE4Q1kscUNBQXFDLEVBQUE7RUE5Q2pEO0lBb0RRLGNBQWMsRUFBQTtJQXBEdEI7TUF1RFksYUFBYSxFQUFBO0lBdkR6QjtNQTREZ0IsYUFBYSxFQUFBO0VBNUQ3QjtJQWtFUSxhQUFhLEVBQUE7SUFsRXJCO01BcUVZLGNBQWMsRUFBQTs7QUFJdEI7RUFDSTtJQUNJLFVBQVUsRUFBQTtFQUdkO0lBQ0ksVUFBVSxFQUFBLEVBQUE7O0FBSWxCO0VBQ0k7SUFDSSxVQUFVO0lBQ1YsbUJBQW1CLEVBQUE7RUFHdkI7SUFDSSxVQUFVO0lBQ1Ysc0JBQXNCLEVBQUEsRUFBQTtFQTNGbEM7SUFpR1EsYUFBYTtJQUNiLDhCQUE4QjtJQUM5QixtQkFBbUI7SUFDbkIsbUJBQW1CLEVBQUE7SUFwRzNCO01BdUdZLGtCQUFrQjtNQUNsQixTQUFTO01BQ1QsV0FBVztNQUNYLFdBQVc7TUFDWCxZQUFZO01BQ1osaUJBQWlCO01BQ2pCLFlBQVk7TUFDWixrQkFBa0I7TUFDbEIsZUFBZTtNQUNmLFVBQVU7TUFDVixhQUFhO01BQ2IsbUJBQW1CO01BQ25CLHVCQUF1QjtNQUN2QixV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LHFCQUFxQixFQUFBO1FBdER6Qzs7OztVQTJEZ0IsNkJBQTZCO1VBQzdCLHNCQUFzQjtVQUN0QixtQkFBbUI7VUFDbkIsc0NBQXNDO1VBQ3RDLGVBQWU7VUFDZixZQUFZO1VBQ1osYUFBYTtVQUNiLG1CQUFtQjtVQUNuQix1QkFBdUI7VUFDdkIsZUFBZTtVQUNmLFVBQVU7VUFDVixrQkFBa0I7VUFDbEIsb0JBQW9CO1VBQ3BCLDZCQUE2QjtVQUM3QixvQkFBb0I7VUFDcEIsa0NBQWtDO1VBQ2xDLHFCQUFxQixFQUFBO1FBM0VyQztVQStFZ0IsVUFBVTtVQUNWLG1CQUFtQjtVQUNuQixvQkFBb0IsRUFBQTtRQWpGcEM7Ozs7VUErRWdCLFVBQVU7VUFDVixtQkFBbUI7VUFDbkIsb0JBQW9CLEVBQUE7SUFqRnBDO01Bd0ZRLFFBQVEsRUFBQTtFQUtoQjs7SUFFSSx3QkFBd0IsRUFBQTtFQUc1Qjs7SUFFSSx3QkFBd0IsRUFBQSxFQUMzQjs7QUFHTDtFQUNJO0lBQ0ksd0JBQXdCLEVBQUEsRUFDM0I7O0FBR0w7RUFDSSxpQkFBaUIsRUFBQSIsImZpbGUiOiJzZXJ2aWNlLWFyY2hpdmUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gUmF0Z2ViZXIgTXVsdGktU3RlcCBGb3JtIFN0eWxlc1xuLy8gVGhpcyBmaWxlIGNvbnRhaW5zIHRoZSBtdWx0aS1zdGVwIGZvcm0gZnVuY3Rpb25hbGl0eSBmb3IgdGhlIHJhdGdlYmVyIGNhcmRcbi8vIFRoZSBtYWluIGhvcml6b250YWwgc3R5bGVzIGFyZSBhbHJlYWR5IGxvYWRlZCBnbG9iYWxseSBpbiBzdHlsZXMuY3NzXG5cbi8vIEltcG9ydCBvbmx5IG5lY2Vzc2FyeSBiYXNlIHN0eWxlcyBmb3Igb3ZlcnJpZGVzXG5AaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi8vIE11bHRpLXN0ZXAgZm9ybSBzdHlsZXMgZm9yIHJhdGdlYmVyIGNhcmQgLSBGaWdtYSBEZXNpZ25cbi5wYWdlLXRlbXBsYXRlLXNlcnZpY2UtYXJjaGl2ZSAjY2FyZC1yYXRnZWJlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLy8gRm9ybSBzdGF0ZSB0cmFuc2l0aW9ucyBhbmQgc3R5bGluZyB3aGVuIGFjdGl2ZVxuICAgICYuZm9ybS1hY3RpdmUge1xuICAgICAgICB3aWR0aDogMTIwMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDk1dnc7XG4gICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuNHMgZWFzZS1vdXQ7XG4gICAgICAgIGJhY2tncm91bmQ6ICNFRkY3RjY7XG5cbiAgICAgICAgLy8gRW5zdXJlIHNtb290aCBzY3JvbGxpbmcgb24gbW9iaWxlXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgICAgICB3aWR0aDogOTB2dztcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IHVuc2V0O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyAvLyBGb3JjZSByZXNwb25zaXZlIHdpZHRoIHRvIHByZXZlbnQgaG9yaXpvbnRhbCBvdmVyZmxvd1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IC8vIEVuc3VyZSBjb250YWluZXIgbmV2ZXIgZXhjZWVkcyB2aWV3cG9ydFxuICAgICAgICB9XG5cbiAgICAgICAgLmNvbnRlbnQtZm9ybSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuXG4gICAgICAgICAgICAvLyBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgIC8vICAgICBwYWRkaW5nOiAyNXB4O1xuICAgICAgICAgICAgLy8gfVxuXG4gICAgICAgICAgICAudGFnbGluZS5zZWNvbmRhcnktdGFnbGluZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICM5MjkyOTI7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRm9ybSBjbG9zaW5nIGFuaW1hdGlvblxuICAgICYuZm9ybS1jbG9zaW5nIHtcbiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggMC40cyBlYXNlLW91dCwgb3BhY2l0eSAwLjNzIGVhc2Utb3V0O1xuICAgICAgICBvcGFjaXR5OiAwLjc7XG5cbiAgICAgICAgLmNvbnRlbnQtZm9ybSB7XG4gICAgICAgICAgICBhbmltYXRpb246IHNsaWRlT3V0Rm9ybSAwLjNzIGVhc2Utb3V0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ29udGVudCBjb250YWluZXJzIC0gc2ltcGxlIHNob3cvaGlkZSBsb2dpY1xuICAgIC5jb250ZW50LW1haW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAmOm5vdCguYWN0aXZlKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJhdGdlYmVyLXN0ZXAtMSB7XG4gICAgICAgICAgICAucmF0Z2ViZXItY3RhLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb250ZW50LWZvcm0ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGtleWZyYW1lcyBmYWRlSW4ge1xuICAgICAgICBmcm9tIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cblxuICAgICAgICB0byB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGtleWZyYW1lcyBzbGlkZU91dEZvcm0ge1xuICAgICAgICBmcm9tIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgdG8ge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45NSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGb3JtIGhlYWRlclxuICAgIC5mb3JtLWhlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgICAgICAuYmFjay1idXR0b24ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcblxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG5cbiAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogZmlsbCAwLjNzIGVhc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZvcm0gaW50cm9cbiAgICAuZm9ybS1pbnRybyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWF4LXdpZHRoOiA2OTNweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMzI2cHg7XG4gICAgICAgICAgICBtYXJnaW46IDYwcHggYXV0byAwIGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICBoNCB7XG4gICAgICAgICAgICBjb2xvcjogIzAwOUJBNDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0NTA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGNvbG9yOiAjM0MzQzNCO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQ1MDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIERlbGl2ZXJ5IG9wdGlvbnMgKFN0ZXAgMSlcbiAgICAuZGVsaXZlcnktb3B0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBnYXA6IDQwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDgwcHg7IC8vIFNwYWNlIGZvciBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQgbmF2aWdhdGlvbiBvbiBkZXNrdG9wXG4gICAgICAgIG1hcmdpbi10b3A6IDcwcHg7XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyBObyBleHRyYSBtYXJnaW4gbmVlZGVkIG9uIG1vYmlsZSAobmF2aWdhdGlvbiBpcyByZWxhdGl2ZSlcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGdhcDogMzBweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAub3B0aW9uLXdyYXBwZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICAuZGVsaXZlcnktb3B0aW9uIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDQwcHg7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBnYXA6IDIwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQ7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0ODkuODU1cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiAxMHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzI2cHg7XG4gICAgICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjRTg0MjQ5O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICNFODQyNDk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLm9wdGlvbi1pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5vcHRpb24tY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDE7XG5cbiAgICAgICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzAwOUJBNDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0NTA7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLyogOTYlICovXG4gICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAub3B0aW9uLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzNDM0MzQjtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDUwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OyAvLyAxMjUlXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjgzLjA3MnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRm9ybSBzdGVwc1xuICAgIC5mb3JtLXN0ZXBzLWNvbnRhaW5lciB7XG4gICAgICAgIC8vIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICAgICAgLy8gU2hha2UgYW5pbWF0aW9uIGZvciB2YWxpZGF0aW9uIGVycm9yc1xuICAgICAgICAmLnNoYWtlIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogc2hha2UgMC42cyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mb3JtLXN0ZXAge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgLy8gcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAuc3RlcC1ib2R5IHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1vdXQsIHRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICAuc3RlcC1ib2R5IHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICAgICAgICAgICAgICBhbmltYXRpb246IHNsaWRlSW5TdGVwIDAuM3MgZWFzZS1vdXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmNsb3Npbmcge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAgICAgLnN0ZXAtYm9keSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7XG4gICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogc2xpZGVPdXRTdGVwIDAuM3MgZWFzZS1vdXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnN0ZXAtc3VjY2VzcyB7XG4gICAgICAgICAgICAgICAgLnN0ZXAtYm9keSB7XG4gICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogcHVsc2UgMC4zcyBlYXNlLW91dDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBbmltYXRpb24gZm9yIHN0ZXAgdHJhbnNpdGlvbnNcbiAgICAgICAgQGtleWZyYW1lcyBzbGlkZUluU3RlcCB7XG4gICAgICAgICAgICBmcm9tIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdG8ge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGtleWZyYW1lcyBzbGlkZU91dFN0ZXAge1xuICAgICAgICAgICAgZnJvbSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRvIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGb3JtIGZpZWxkcyBncmlkIChTdGVwIDIpIC0gMy1yb3cgbGF5b3V0IG1hdGNoaW5nIGRlc2lnblxuICAgIC5mb3JtLWZpZWxkcy1ncmlkIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50O1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgIWltcG9ydGFudDtcbiAgICAgICAgZ2FwOiAxMHB4O1xuICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICBtYXJnaW46IDMwcHggYXV0byAxMHB4IGF1dG87XG5cbiAgICAgICAgLy8gTW9iaWxlOiBTd2l0Y2ggdG8gc2luZ2xlIGNvbHVtbiBhbmQgYWRqdXN0IHNwYWNpbmdcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCBhdXRvO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGdhcDogMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFZlcnkgc21hbGwgc2NyZWVuczogRnVydGhlciBzcGFjaW5nIGFkanVzdG1lbnRzXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgICAgICAgZ2FwOiAxMnB4O1xuICAgICAgICAgICAgbWFyZ2luOiAxNXB4IGF1dG87XG5cbiAgICAgICAgICAgIC8vIFN0YWNrIHppcC1jaXR5IGZpZWxkcyB2ZXJ0aWNhbGx5IG9uIG1vYmlsZVxuICAgICAgICAgICAgLnppcC1jaXR5LWZpZWxkcyB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBnYXA6IDEycHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLTI0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZm9ybS1maWVsZCB7XG4gICAgICAgICAgICAvLyBBbGwgZm9ybSBmaWVsZHMgdXNlIGZ1bGwgd2lkdGggb2YgdGhlaXIgZ3JpZCBjZWxsXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgLy8gcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAvLyBTcGVjaWFsIGNvbnRhaW5lciBmb3IgemlwIGFuZCBjaXR5IGZpZWxkcyBpbiByb3cgMiwgcmlnaHQgY29sdW1uXG4gICAgICAgICAgICAmLnppcC1jaXR5LWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgLnppcC1jaXR5LWZpZWxkcyB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAvLyBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA2N3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMThweCAyNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNDNEM0QzQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoMCwgMTIzLCAyNTUsIDAuMjUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA2N3B4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE4cHggMjRweDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMzQzNDM0I7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4ycyBlYXNlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIFJlbW92ZSBib3R0b20gbWFyZ2luIGZvciBjb25zaXN0ZW50IGdyaWQgc3BhY2luZ1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNjBweDsgLy8gU2xpZ2h0bHkgc21hbGxlciBoZWlnaHQgb24gbW9iaWxlXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE2cHggMjBweDsgLy8gQWRqdXN0IHBhZGRpbmcgZm9yIG1vYmlsZVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNDNEM0QzQ7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNFODQyNDk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5lcnJvciB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNFODQyNDk7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjppbnZhbGlkIHtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIaWRlIGZvcm0taW50cm8gd2hlbiBTdGVwIDMgaXMgYWN0aXZlXG4gICAgJi5zdGVwLTMtYWN0aXZlIC5mb3JtLWludHJvIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICYuc3RlcC0yLWFjdGl2ZSAuZm9ybS1pbnRybyB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMjNweCkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ29uZmlybWF0aW9uIHN0ZXAgc3R5bGluZyAoU3RlcCAzKVxuICAgIC5mb3JtLXN0ZXBbZGF0YS1zdGVwPVwiM1wiXSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAuY29uZmlybWF0aW9uLWNvbnRlbnQge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA3MDBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogODBweDsgLy8gU3BhY2UgZm9yIGFic29sdXRlbHkgcG9zaXRpb25lZCBuYXZpZ2F0aW9uIG9uIGRlc2t0b3BcblxuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gTm8gZXh0cmEgbWFyZ2luIG5lZWRlZCBvbiBtb2JpbGUgKG5hdmlnYXRpb24gaXMgcmVsYXRpdmUpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmljb24tY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDMwcHggYXV0bztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTY5LjE5OXB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMi42NzZweDtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY29uZmlybWF0aW9uLWhlYWRpbmcge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjMDA5QkE0O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQ1MDtcblxuICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY29uZmlybWF0aW9uLXN1YmhlYWRpbmcge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjM0MzQzNCO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQ1MDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0NTA7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNvbnRhY3Qtc2VjdGlvbiB7XG5cbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzNDM0MzQjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuY29udGFjdC1xdWVzdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMDA5QkE0O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDUwO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuY29udGFjdC10ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMzQzNDM0I7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0NTA7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmNvbnRhY3QtcGhvbmUge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI0U4NDI0OTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuY29udGFjdC1ob3VycyB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjM0MzQzNCO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblxuICAgICAgICAgICAgICAgICAgICAuY29udGFjdC10ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0NTA7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmNvbnRhY3QtcGhvbmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNFODQyNDk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5jb250YWN0LWhvdXJzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjM0MzQzNCO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZm9ybS1uYXZpZ2F0aW9uIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUHJpdmFjeSBjb25zZW50XG4gICAgLnByaXZhY3ktY29uc2VudCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDgwcHg7IC8vIFNwYWNlIGZvciBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQgbmF2aWdhdGlvbiBvbiBkZXNrdG9wXG4gICAgICAgIGZsZXg6IDAgMCA3MCU7IC8vIFRha2UgZXhhY3RseSA3MCUgb2YgdGhlIGNvbnRhaW5lciB3aWR0aFxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHggMCAwO1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gTm8gZXh0cmEgbWFyZ2luIG5lZWRlZCBvbiBtb2JpbGUgKG5hdmlnYXRpb24gaXMgcmVsYXRpdmUpXG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgIGZsZXg6IDE7IC8vIEZ1bGwgd2lkdGggb24gbW9iaWxlXG4gICAgICAgIH1cblxuICAgICAgICAuYnRuLXN1Ym1pdCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBjb2xvcjogIzNDM0MzQjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0NTA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzRBQkRCNjtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzNhOWQ5NjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFcnJvciBtZXNzYWdlcyAtIGhpZGRlbiwgdXNpbmcgb25seSBib3JkZXIgZm9yIHZhbGlkYXRpb25cbiAgICAuZXJyb3ItbWVzc2FnZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gS2VlcCBwb3NpdGlvbiByZWxhdGl2ZSBmb3IgZm9ybSBmaWVsZHNcbiAgICAuZm9ybS1maWVsZCB7XG4gICAgICAgIC8vIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAuc3RlcC1lcnJvci1tZXNzYWdlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cblxuXG4gICAgLy8gRm9ybSBuYXZpZ2F0aW9uXG4gICAgLmZvcm0tbmF2aWdhdGlvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAyMHB4O1xuICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgLy8gUmVtb3ZlIG1hcmdpbiBzaW5jZSBpdCdzIG5vdyBpbiBmbGV4IGNvbnRhaW5lclxuICAgICAgICBmbGV4OiAwIDAgYXV0bzsgLy8gRG9uJ3QgZ3JvdyBvciBzaHJpbmssIHVzZSBuYXR1cmFsIHNpemVcblxuICAgICAgICAvLyBNb2JpbGU6IHN3aXRjaCB0byByZWxhdGl2ZSBwb3NpdGlvbmluZ1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjRweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIE92ZXJyaWRlIGFueSBjb25mbGljdGluZyAuY2FyZC1idG4gcG9zaXRpb25pbmcgb24gbW9iaWxlIHdpdGggaGlnaGVyIHNwZWNpZmljaXR5XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC5idy1oZXJvX19tYWluLWJ0bi5jYXJkLWJ0biB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIaWRlIHRoZSBuZXh0IGJ1dHRvbiBieSBkZWZhdWx0IC0gSmF2YVNjcmlwdCB3aWxsIHNob3cgaXQgd2hlbiBkZWxpdmVyeSBvcHRpb24gaXMgc2VsZWN0ZWRcbiAgICAvLyBVc2luZyBoaWdoZXIgc3BlY2lmaWNpdHkgdG8gb3ZlcnJpZGUgb3RoZXIgZGlzcGxheSBydWxlc1xuICAgIC5idG4tbmV4dCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRW5zdXJlIGJ1dHRvbnMgaGF2ZSBjb3JyZWN0IHBvc2l0aW9uaW5nIHdpdGggaGlnaGVyIHNwZWNpZmljaXR5XG4gICAgLmJ3LWhlcm9fX21haW4tYnRuLmNhcmQtYnRuIHtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFN1Ym1pdCBidXR0b24gc3R5bGluZ1xuICAgIC8vIEVuc3VyZSB0aGUgc3VibWl0IGJ1dHRvbiBpcyB2aXNpYmxlIHdoZW4gbmVlZGVkXG4gICAgLmJ0bi1zdWJtaXQge1xuXG4gICAgICAgIC8vIFN0eWxlcyBmb3Igd2hlbiBidXR0b24gaXMgYWN0aXZlXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnRuLXByaW1hcnkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTk0QjNDO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgICAgICAgcGFkZGluZzogMTVweCAzNXB4O1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQ7XG4gICAgICAgIG1pbi13aWR0aDogMTgwcHg7XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q0M2UyZjtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgyMzMsIDc1LCA2MCwgMC4zKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbiAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBDb250aW51ZSBkaWFsb2cgc3R5bGVzXG4uY29udGludWUtZGlhbG9nIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgei1pbmRleDogMTAwMDA7XG4gICAgYW5pbWF0aW9uOiBmYWRlSW4gMC4zcyBlYXNlLW91dDtcblxuICAgIC5jb250aW51ZS1kaWFsb2ctY29udGVudCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMTBweCAzMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICAgICAgYW5pbWF0aW9uOiBzbGlkZUluVXAgMC4zcyBlYXNlLW91dDtcblxuICAgICAgICBoNCB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxNXB4IDA7XG4gICAgICAgICAgICBjb2xvcjogIzMzMztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjVweCAwO1xuICAgICAgICAgICAgY29sb3I6ICM2NjY7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbnRpbnVlLWRpYWxvZy1idXR0b25zIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBnYXA6IDE1cHg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDI0cHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQ7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxMjBweDtcblxuICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmJ0bi1zZWNvbmRhcnkge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzY2NjtcblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlMGUwZTA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmJ0bi1wcmltYXJ5IHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0YzQzMDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMzMzM7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZiMDJhO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBLZXlmcmFtZSBhbmltYXRpb25zIGZvciBlbmhhbmNlZCBVWFxuQGtleWZyYW1lcyBzaGFrZSB7XG5cbiAgICAwJSxcbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cblxuICAgIDEwJSxcbiAgICAzMCUsXG4gICAgNTAlLFxuICAgIDcwJSxcbiAgICA5MCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTVweCk7XG4gICAgfVxuXG4gICAgMjAlLFxuICAgIDQwJSxcbiAgICA2MCUsXG4gICAgODAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkVycm9yIHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVJbkVycm9yIHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcbiAgICAgICAgbWF4LWhlaWdodDogMDtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwcHg7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHB1bHNlIHtcbiAgICAwJSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgyNDQsIDE5NiwgNDgsIDAuNCk7XG4gICAgfVxuXG4gICAgNzAlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCByZ2JhKDI0NCwgMTk2LCA0OCwgMCk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgyNDQsIDE5NiwgNDgsIDApO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW4ge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVJblVwIHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbn1cblxuLy8gTm90ZTogVGhlIGhvcml6b250YWwgc2VydmljZS1hcmNoaXZlLnNjc3MgaXMgbG9hZGVkIHNlcGFyYXRlbHkgYnkgdGhlIEd1bHAgYnVpbGQgcHJvY2VzcyIsIi8vKiBTZXJ2aWNlIEFyY2hpdmUgSG9yaXpvbnRhbCBTdHlsZXMgKi9cbkBpbXBvcnQgJy4uL3Njc3MvcmF0Z2ViZXItZm9ybS5zY3NzJztcblxuLnBhZ2UtdGVtcGxhdGUtc2VydmljZS1hcmNoaXZlIHtcblxuICAgIC8vIE9uIHRoZSBzZXJ2aWNlIHBhZ2UsIGZvcmNlIHRoZSBwaW4tc3BhY2VyIHRvIGJlIGZ1bGwtd2lkdGggYW5kIGhhdmUgbm8gb2Zmc2V0LlxuICAgIC8vIFRoaXMgb3ZlcnJpZGVzIHRoZSBuZWdhdGl2ZSAnbGVmdCcgcHJvcGVydHkgZnJvbSBob3Jpem9udGFsLW1haW4uc2Nzcy5cbiAgICAucGluLXNwYWNlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcblxuICAgICAgICAvLyBFbnN1cmUgcGluLXNwYWNlciBkb2Vzbid0IGNhdXNlIGhvcml6b250YWwgb3ZlcmZsb3cgb24gbW9iaWxlXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRW5zdXJlIHByb3BlciBzcGFjaW5nIGZyb20gaGVhZGVyXG4gICAgLmhvcml6b250YWwtbWFpbi1jb21wb25lbnQge1xuICAgICAgICAvLyBwYWRkaW5nLXRvcDogMTQwcHg7IC8vIFNwYWNlIGZvciBmaXhlZCBoZWFkZXIgKDkwcHggaGVpZ2h0ICsgNDJweCBtYXJnaW4tdG9wICsgc3BhY2luZylcblxuICAgICAgICAuaG9yaXpvbnRhbD5hcnRpY2xlOm50aC1jaGlsZChuKzIpIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOb3cgdGhhdCBicmVhZGNydW1icyBhbmQgdGl0bGUgYXJlIGluc2lkZSAjaG9yaXpvbnRhbC1zY3JvbGwsIFxuICAgIC8vIHRoZXkgd2lsbCBiZSBwaW5uZWQgYWxvbmcgd2l0aCB0aGUgY2FyZHNcbiAgICAjaG9yaXpvbnRhbC1zY3JvbGwge1xuICAgICAgICAvLyBTZXQgdGhlIHN0YXRpYyBwYWRkaW5nIHJlcXVpcmVkIGZvciB0aGUgc2VydmljZSBwYWdlIGxheW91dC5cbiAgICAgICAgLy8gVGhpcyBvdmVycmlkZXMgYW55IHZhbHVlcyBmcm9tIGhvcml6b250YWwtbWFpbi5zY3NzIG9yIHRoZSBzcGFjaW5nLW1hbmFnZXIuXG4gICAgICAgIHBhZGRpbmc6IDI0cHggNTZweCAwO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50OyAvLyBFbnN1cmUgZGVjb3IgaXMgbm90IGNsaXBwZWQgd2hlbiBwaW5uZWQuXG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OXB4KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwOyAvLyBSZXNldCBhbGwgcGFkZGluZyBmb3IgbW9iaWxlLlxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ3JlYXRlIGEgaGVhZGVyIGNvbnRhaW5lciB0aGF0IHJlc3BlY3RzIHRoZSBwYWdlIGdyaWRcbiAgICAgICAgLnNlcnZpY2UtaGVhZGVyLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgLy8gQ2hhbmdlIGZyb20gZmxleCB0byBibG9ja1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTYwcHg7IC8vIFJlbW92ZSBtYXJnaW4gLSBwYWRkaW5nIGhhbmRsZXMgc3BhY2luZyBub3dcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMHB4OyAvLyBFbnN1cmUgc3BhY2UgZm9yIGFic29sdXRlbHkgcG9zaXRpb25lZCBjb250ZW50XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVc2UgbmVnYXRpdmUgbWFyZ2luIHRvIHB1bGwgYnJlYWRjcnVtYnMgdXAgaW50byB0aGUgcGFkZGluZyBzcGFjZVxuICAgICAgICAuYnJlYWRjcnVtYi13cmFwcGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7IC8vIFJlc2V0IHNpbmNlIGNvbnRhaW5lciBoYW5kbGVzIHNwYWNpbmdcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuYnctaGVyb19fbWFpbi10aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xuXG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0NTA7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkgYW5kIChtYXgtd2lkdGg6IDE0MzlweCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEBtZWRpYSAobWF4LXdpZHRoOiA0MDBweCkge1xuICAgICAgICAgICAgLy8gICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgIC8vICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICAvLyAgICAgZm9udC13ZWlnaHQ6IDQ1MDtcbiAgICAgICAgICAgIC8vICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAgICAgICAgIC8vIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZXJ2aWNlLWNvbnRhY3QtaW5mbyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgICByaWdodDogMHB4O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBnYXA6IDE1cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcblxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDExMDZweCkgYW5kIChtYXgtd2lkdGg6IDE0MzlweCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDVweCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjM2MzYzNiO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGdhcDogOHB4O1xuXG4gICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFBvc2l0aW9uIGNvbnRhaW5lciByZWxhdGl2ZSBmb3IgYWJzb2x1dGUgcG9zaXRpb25pbmdcbiAgICAuaG9yaXpvbnRhbC1tYWluLWNvbXBvbmVudCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAvLyBPbiB0aGUgc2VydmljZSBwYWdlLCBvdmVycmlkZSB0aGUgZ2VuZXJpYyBob3Jpem9udGFsIHBhZGRpbmcgZnJvbSB0aGUgbWFpbiBzdHlsZXNoZWV0XG4gICAgLy8gdG8gZW5zdXJlIHRoZSBjYXJkcyBhbGlnbiB3aXRoIHRoZSBjb250YWluZXIuXG4gICAgLmhvcml6b250YWwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY2FyZC1tIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogNTY3LjVweDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICNFRkY3RjY7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuXG4gICAgLy8gRW5zdXJlIHN1Ym1pdCBpY29uIGlzIHBvc2l0aW9uZWQgaW5zaWRlIHRoZSBmb3JtIChpbmhlcml0cyBmcm9tIGdsb2JhbCAuZmFxLXNlYXJjaC1mb3JtKVxuICAgIC5zZXJ2aWNlLXNlYXJjaC1wbGFjZWhvbGRlci1kZXNrdG9wLFxuICAgIC5mYXEtc2VhcmNoLXBsYWNlaG9sZGVyLWRlc2t0b3AsXG4gICAgLnNlcnZpY2Utc2VhcmNoLXBsYWNlaG9sZGVyLFxuICAgIC5mYXEtc2VhcmNoLXBsYWNlaG9sZGVyIHtcbiAgICAgICAgLmZhcS1zZWFyY2gtZm9ybSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgLnN1Ym1pdC1pY29uIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICByaWdodDogNTZweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHRvcDogNTAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI1LjU5NXB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBlYXNlO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmZvY3VzLXdpdGhpbiBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOm5vdCg6cGxhY2Vob2xkZXItc2hvd24pKy5zdWJtaXQtaWNvbiB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gSGlkZSBtb2JpbGUgc2VhcmNoIHBsYWNlaG9sZGVyIG9uIGRlc2t0b3BcbiAgICAuc2VydmljZS1zZWFyY2gtcGxhY2Vob2xkZXIsXG4gICAgLmZhcS1zZWFyY2gtcGxhY2Vob2xkZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8vIERlc2t0b3Agc2VhcmNoIHBvc2l0aW9uZWQgZGlyZWN0bHkgYmVsb3cgY2FyZHNcbiAgICAuc2VydmljZS1zZWFyY2gtcGxhY2Vob2xkZXItZGVza3RvcCxcbiAgICAuZmFxLXNlYXJjaC1wbGFjZWhvbGRlci1kZXNrdG9wIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDAgMTAwcHg7IC8vIEFsaWduIHdpdGggaG9yaXpvbnRhbCBzY3JvbGwgcGFkZGluZ1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMzY1cHgpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZXJ2aWNlLXNlYXJjaC1mb3JtLFxuICAgICAgICAuZmFxLXNlYXJjaC1mb3JtIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgIC5zZXJ2aWNlLXNlYXJjaC1pbnB1dCxcbiAgICAgICAgICAgIC5mYXEtc2VhcmNoLWlucHV0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDcycHggMjBweCAzMHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA5NTRweDtcblxuICAgICAgICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM5Q0EzQUY7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogIzAwOUJBNDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBPdmVycmlkZSBkZWZhdWx0IHdyYXBwZXIgaGVpZ2h0IHRvIGFjY29tbW9kYXRlIHNlYXJjaFxuICAgIC5ob3Jpem9udGFsLXNjcm9sbC13cmFwcGVyIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDU5NXB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0NHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0NDQwcHgpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjRweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50YWdsaW5lIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDIzLjVweDtcbiAgICAgICAgbGVmdDogNDFweDtcbiAgICAgICAgY29sb3I6ICMwMDlCQTQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogNDUwO1xuICAgICAgICBsaW5lLWhlaWdodDogMjVweDtcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgbGVmdDogMjRweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJhdGdlYmVyIGNhcmQgKGZpcnN0IGNhcmQpXG4gICAgI2NhcmQtcmF0Z2ViZXIge1xuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnllbGxvdy1ib3gge1xuICAgICAgICAgICAgd2lkdGg6IDU4MnB4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxOTIuMDQ3cHg7XG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE3MC41cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjQjdEQUUxO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgLy8gVGFibGV0IGJyZWFrcG9pbnRcbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBNb2JpbGUgYnJlYWtwb2ludFxuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgLy8gRm9yY2UgcmVzcG9uc2l2ZSB3aWR0aFxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyAvLyBQcmV2ZW50IGFueSBvdmVyZmxvd1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTQwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnllbGxvdy1ib3gtY29udGVudCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxODBweDsgLy8gU3BhY2UgZm9yIHRoZSBpbWFnZVxuXG4gICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE2MHB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEyMHB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGltZy5yYXRnZWJlci1tb2NrdXAge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDBweDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAtMzVweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyOTMuMjhweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogLTI3cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI0MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogLTdyZW07XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogLTEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE3MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMi41cmVtO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzAwOUJBNDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0NTA7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG5cbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNhcmQtdGV4dC1jb250ZW50IHtcblxuICAgICAgICAgICAgLmJ3LWhlcm9fX21haW4tdGl0bGUge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJ3LWhlcm9fX3dpZGUtbm90ZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2NhcmQta2xpbmlrZmluZGVyLXNlcnZpY2VzIHtcbiAgICAgICAgd2lkdGg6IDUwNHB4O1xuICAgICAgICBoZWlnaHQ6IDU2Ny41cHg7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jZW50ZXJlZC1pbWFnZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgaGVpZ2h0OiAxNzdweDtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiB1bnNldDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdW5zZXQ7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcblxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxNTBweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogNDMwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNzguOTM3cHg7XG4gICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQ1MDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgd2lkdGg6IDM3Mi44NTJweDtcblxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQXBwbHkgdGhlIHNhbWUgc3R5bGVzIHRvIGVhY2ggc3BlY2lmaWMgYmFzaWMgY2FyZCBpZFxuICAgICNjYXJkLWJhc2ljLFxuICAgICNjYXJkLWJhc2ljLWRvd25sb2FkcyxcbiAgICAjY2FyZC1iYXNpYy1ldmVudHMsXG4gICAgI2NhcmQtYmFzaWMtZmFxLFxuICAgICNjYXJkLWJhc2ljLWdsb3NzYXIsXG4gICAgI2NhcmQtYmFzaWMtdm9ybmFtZW4ge1xuICAgICAgICB3aWR0aDogNTA0cHg7XG4gICAgICAgIGhlaWdodDogNTY3LjVweDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMTEwcHg7XG5cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0NTA7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogdW5zZXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpbWcucm91bmQtaW1hZ2Uge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTUwcHg7XG4gICAgICAgICAgICB3aWR0aDogNDMwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE3OC45MzdweDtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIE1vYmlsZSBzdHlsZXNcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cbiAgICAvLyBSZXNldCBtYXJnaW5zIGZvciBtb2JpbGUgd2hlcmUgdGhlcmUncyBubyBob3Jpem9udGFsIHNjcm9sbCBwaW5uaW5nXG4gICAgI2hvcml6b250YWwtc2Nyb2xsIHtcbiAgICAgICAgLmhvcml6b250YWwtc2Nyb2xsLXdyYXBwZXIge1xuXG4gICAgICAgICAgICAuc2VydmljZS1oZWFkZXItY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgLy8gT3ZlcnJpZGUgZmxleGJveCBmb3IgbW9iaWxlXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwOyAvLyBSZXNldCBhbGwgbWFyZ2luc1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxNjBweDsgLy8gUmVzZXQgcGFkZGluZ1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2VydmljZS1oZWFkZXItbGVmdCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJyZWFkY3J1bWItd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYnctaGVyb19fbWFpbi10aXRsZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNlcnZpY2UtY29udGFjdC1pbmZvIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IC8vIEtlZXAgaG9yaXpvbnRhbCBvbiBtb2JpbGVcbiAgICAgICAgICAgICAgICBnYXA6IDE1cHg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gUmVzZXQgYWxpZ25tZW50XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYzsgLy8gUmVzZXQgYWJzb2x1dGUgcG9zaXRpb25pbmdcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIHRoZSBncmFkaWVudCBiYWNrZ3JvdW5kIGZvciBzZXJ2aWNlIHBhZ2VzXG4gICAgLmhvcml6b250YWwtbWFpbi1jb21wb25lbnQ6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gT3ZlcnJpZGUgdGhlIDQwMHB4IHBhZGRpbmctcmlnaHQgZnJvbSBob3Jpem9udGFsLW1haW4uc2Nzc1xuICAgIC5ob3Jpem9udGFsIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xuXG4gICAgICAgIC8vIEZpeCBhc3ltbWV0cmljIHBhZGRpbmcgdGhhdCBjYXVzZXMgbGVmdCBzaGlmdFxuICAgICAgICA+ZGl2LFxuICAgICAgICA+ZGl2OmZpcnN0LWNoaWxkLFxuICAgICAgICA+ZGl2Omxhc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2VydmljZSBjYXJkcyAtIGZ1bGwgd2lkdGggb24gbW9iaWxlXG4gICAgICAgID5hcnRpY2xlLmNhcmQuY2FyZC1tIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgNDBweCAwO1xuICAgICAgICAgICAgcGFkZGluZzogMjRweDtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIC8vIG1pbi1oZWlnaHQ6IDQzMHB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNFRkY3RjY7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRmlyc3QgY2FyZCBzaG91bGQgYXBwZWFyIGZpcnN0XG4gICAgICAgID5hcnRpY2xlLmNhcmQuY2FyZC1tOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2VhcmNoIHNob3VsZCBhcHBlYXIgYWZ0ZXIgZmlyc3QgY2FyZCAob3JkZXIgMilcbiAgICAgICAgLnNlcnZpY2Utc2VhcmNoLXBsYWNlaG9sZGVyLFxuICAgICAgICAuZmFxLXNlYXJjaC1wbGFjZWhvbGRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyAvLyBPdmVycmlkZSBkZXNrdG9wIGhpZGVcbiAgICAgICAgICAgIHdpZHRoOiA5NCU7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0byAyMHB4IGF1dG87XG4gICAgICAgICAgICBvcmRlcjogMjtcblxuICAgICAgICAgICAgLnNlcnZpY2Utc2VhcmNoLWZvcm0sXG4gICAgICAgICAgICAuZmFxLXNlYXJjaC1mb3JtIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgIC5zZXJ2aWNlLXNlYXJjaC1pbnB1dCxcbiAgICAgICAgICAgICAgICAuZmFxLXNlYXJjaC1pbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDYwcHggMTVweCAyMHB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICMwMDlCQTQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuc3VibWl0LWljb24ge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDIwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNS41OTVweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4xNXMgZWFzZTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmZvY3VzLXdpdGhpbiBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOm5vdCg6cGxhY2Vob2xkZXItc2hvd24pKy5zdWJtaXQtaWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFsbCBvdGhlciBjYXJkcyBzaG91bGQgY29tZSBhZnRlciBzZWFyY2ggKG9yZGVyIDMrKVxuICAgICAgICA+YXJ0aWNsZS5jYXJkLmNhcmQtbTpudGgtY2hpbGQobisyKSB7XG4gICAgICAgICAgICBvcmRlcjogMztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhpZGUgZGVza3RvcCBzZWFyY2ggcGxhY2Vob2xkZXIgb24gbW9iaWxlXG4gICAgLnNlcnZpY2Utc2VhcmNoLXBsYWNlaG9sZGVyLWRlc2t0b3AsXG4gICAgLmZhcS1zZWFyY2gtcGxhY2Vob2xkZXItZGVza3RvcCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAucGFnZS10ZW1wbGF0ZS1zZXJ2aWNlLWFyY2hpdmUgLnNlcnZpY2Utc2VhcmNoLXBsYWNlaG9sZGVyLWRlc2t0b3AsXG4gICAgLnBhZ2UtdGVtcGxhdGUtc2VydmljZS1hcmNoaXZlIC5mYXEtc2VhcmNoLXBsYWNlaG9sZGVyLWRlc2t0b3Age1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5zZXJ2aWNlLWNvbnRhY3QtaW5mbyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5wYWdlLXRlbXBsYXRlLXNlcnZpY2UtYXJjaGl2ZSAjc2VjdGlvbjYge1xuICAgIG1hcmdpbi10b3A6IDIwMHB4O1xufSJdfQ== */
