:root {
  --color-purple: #870DD9;
  --color-neon-green: #97FF5C;
  --color-neon-blue: #6CE1FE;
  --color-midnight: #172426;
  --color-ice-grey: #E2F2F2;
  --color-bg: #ffffff;
  --color-light-bg: #e6f4f1;
  --color-dark: #302e2e;
}

a.button.button--default {
  background: var(--color-purple);
  color: white;
}

.h2 {
  text-align: center;
  margin-bottom: 40px;
}

.container1 {
  padding-top: 50px;
  padding-bottom: 30px;
  background-color: white;
}

.content-wrapper {
  display: grid;
  gap: 3rem;
}

.intro-text {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
}

.intro-text p {
  font-size: 20px;
  line-height: 1.7;
  margin-bottom: 1.5rem;
  color: var(--color-dark);
}

.intro-text p:first-child {
  font-size: 22px;
  font-weight: 400;
}

.intro-text strong {
  color: var(--color-purple);
  font-weight: 600;
}

.needs-section {
  background: linear-gradient(135deg, var(--color-light-bg) 0%, rgba(135, 13, 217, 0.05) 100%);
  border-radius: 30px;
  padding: 3rem;
  margin: 3rem auto;
  max-width: 1000px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05);
  position: relative;
  overflow: hidden;
}

.needs-section::before {
  content: "";
  position: absolute;
  top: -100px;
  right: -100px;
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, rgba(151, 255, 92, 0.2) 0%, transparent 70%);
  border-radius: 50%;
}

.needs-section h3 {
  font-family: "Jost", sans-serif;
  font-size: 2rem;
  font-weight: 600;
  color: var(--color-purple);
  margin-bottom: 2rem;
  text-align: center;
  position: relative;
  z-index: 1;
}

.needs-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5rem;
  position: relative;
  z-index: 1;
}

.need-item {
  background: white;
  border-radius: 20px;
  padding: 1.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  gap: 1rem;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.need-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: -webkit-gradient(linear, left top, left bottom, from(var(--color-purple)), to(var(--color-neon-green)));
  background: linear-gradient(180deg, var(--color-purple) 0%, var(--color-neon-green) 100%);
  transform: scaleY(0);
  transition: transform 0.3s ease;
}

.need-item:hover {
  transform: translateX(10px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.need-item:hover::before {
  transform: scaleY(1);
}

.check-icon {
  width: 40px;
  height: 40px;
  background: var(--color-purple);
  border-radius: 50%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1.5rem;
  color: var(--color-midnight);
  font-weight: bold;
}

.need-item p {
  font-size: 18px;
  font-weight: 300;
  font-family: "Nunito", sans-serif;
  color: #302e2e;
  line-height: 1.5;
  font-size: 16px;
}

.conclusion-box {
  background: white;
  border: 2px solid var(--color-purple);
  border-radius: 20px;
  padding: 2rem;
  margin: 3rem auto 0;
  max-width: 800px;
  text-align: center;
  position: relative;
  box-shadow: 0 10px 40px rgba(135, 13, 217, 0.1);
  padding-top: 1rem;
}

.conclusion-box .svg {
  position: absolute;
  top: -4px;
  left: 50%;
  transform: translateX(-50%);
  background: white;
  padding: 0px 20px;
  width: 100px;
  height: 60px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 4px;
}

.conclusion-box p {
  font-size: 20px;
  font-weight: 500;
  margin: 0;
  color: var(--color-midnight);
  line-height: 1.6;
}

@media (max-width: 768px) {
  .needs-section {
    padding: 2rem 1.5rem;
  }
  .needs-grid {
    grid-template-columns: 1fr;
  }
  .need-item {
    padding: 1.2rem;
  }
  h2 {
    font-size: 2rem;
  }
  .intro-text p {
    font-size: 18px;
  }
}
/* Header Section */
.container2 {
  background-color: white;
  padding: 50px 0;
  padding-top: 100px;
}

.header-section {
  text-align: center;
  margin-bottom: 4rem;
  position: relative;
}

/* Intro Box */
.intro-box {
  background: linear-gradient(135deg, rgba(135, 13, 217, 0.05) 0%, rgba(151, 255, 92, 0.05) 100%);
  border-radius: 30px;
  padding: 3rem;
  margin-bottom: 4rem;
  position: relative;
  overflow: hidden;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05);
}

.intro-box p {
  font-size: 20px;
  line-height: 1.7;
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
  position: relative;
  z-index: 1;
}

.intro-box strong {
  color: var(--color-purple);
  font-weight: 600;
}

/* Questions Section */
.questions-section {
  margin-bottom: 4rem;
}

h2 {
  font-family: "Jost", sans-serif;
  font-size: 2.5rem;
  font-weight: 600;
  color: var(--color-midnight);
  margin-bottom: 2rem;
  text-align: center;
  position: relative;
}

.description {
  font-size: 18px;
  max-width: 700px;
  line-height: 1.5;
  font-weight: 300;
  font-family: "Nunito", sans-serif;
  color: #302e2e;
  max-width: 1300px;
  margin: 0 auto;
  text-align: center;
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .description {
    font-size: 20px;
  }
}

/* Services Grid */
.services-container {
  background: var(--color-light-bg);
  border-radius: 30px;
  padding: 3rem;
  margin-bottom: 3rem;
}

.services-intro {
  font-size: 18px;
  font-weight: 300;
  font-family: "Nunito", sans-serif;
  color: #302e2e;
  line-height: 1.5;
  text-align: center;
  margin-bottom: 30px;
}

.services-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2rem;
}

.service-card {
  background: white;
  border-radius: 20px;
  padding: 2rem;
  text-align: center;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
  cursor: pointer;
}

.service-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 5px;
  background: -webkit-gradient(linear, left top, right top, from(var(--color-purple)), to(var(--color-neon-green)));
  background: linear-gradient(90deg, var(--color-purple) 0%, var(--color-neon-green) 100%);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}

.service-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
}

.service-card:hover::before {
  transform: scaleX(1);
}

.service-icon {
  width: 80px;
  height: 80px;
  border-radius: 15px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1.5rem;
  font-size: 2rem;
  color: white;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  background: rgba(236, 228, 249, 0.5);
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  border-radius: 12px;
  padding: 16px;
}

.service-card:hover .service-icon {
  transform: scale(1.1) rotate(5deg);
}

.service-card h3 {
  font-family: "Jost", sans-serif;
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--color-purple);
  margin-bottom: 0.5rem;
}

.service-card p {
  font-size: 16px;
  color: var(--color-dark);
  margin: 0;
  line-height: 1.5;
}

/* Additional Services */
.additional-services {
  margin-top: 4rem;
}

h3 {
  font-family: "Jost", sans-serif;
  font-size: 2rem;
  font-weight: 600;
  color: var(--color-midnight);
  margin-bottom: 3rem;
  text-align: center;
}

.features-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  gap: 2rem;
}

.feature-card {
  background: white;
  border-radius: 20px;
  padding: 2rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  transition: all 0.3s ease;
  border: 2px solid transparent;
}

.feature-card:hover {
  border-color: var(--color-purple);
  transform: translateY(-5px);
  box-shadow: 0 15px 40px rgba(135, 13, 217, 0.1);
}

.feature-header {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}

.feature-icon {
  width: 50px;
  height: 50px;
  background: var(--color-ice-grey);
  border-radius: 50%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  flex-shrink: 0;
  transition: all 0.3s ease;
}

.feature-card:hover .feature-icon {
  background: var(--color-neon-green);
  transform: scale(1.1);
}

.feature-card h4 {
  font-family: "Jost", sans-serif;
  font-size: 1.3rem;
  font-weight: 600;
  color: var(--color-midnight);
  margin: 0;
}

.feature-card p {
  font-size: 18px;
  font-weight: 300;
  font-family: "Nunito", sans-serif;
  color: #302e2e;
  line-height: 1.5;
  line-height: 1.6;
  margin: 0;
}

/* Success Stats */
.success-banner {
  background: linear-gradient(135deg, var(--color-purple) 0%, var(--color-purple) 100%);
  border-radius: 30px;
  padding: 3rem;
  margin-top: 4rem;
  text-align: center;
  color: white;
  position: relative;
  overflow: hidden;
}

.success-banner::after {
  content: "";
  position: absolute;
  top: -50%;
  right: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(151, 255, 92, 0.1) 0%, transparent 70%);
  animation: rotate 20s linear infinite;
}

@keyframes rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.success-content {
  position: relative;
  z-index: 1;
}

.success-banner h3 {
  color: white;
  margin-bottom: 1rem;
}

.success-banner p {
  font-size: 20px;
  margin-bottom: 2rem;
  opacity: 0.9;
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 2rem;
  margin-top: 2rem;
}
@media (max-width: 768px) {
  .stats-grid {
    grid-template-columns: 1fr !important;
  }
}

.stat-item {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 15px;
  padding: 1.5rem;
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
}

.stat-number {
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--color-neon-green);
  margin-bottom: 0.5rem;
  font-family: "Jost", sans-serif;
}

.stat-label {
  font-size: 16px;
  opacity: 0.9;
}

/* Responsive */
@media (max-width: 768px) {
  .intro-box {
    padding: 2rem;
  }
  .services-container {
    padding: 2rem 1.5rem;
  }
  .services-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .features-grid {
    grid-template-columns: 1fr;
  }
  h1 {
    font-size: 2rem;
  }
  h2 {
    font-size: 1.8rem;
  }
  .stats-grid {
    grid-template-columns: 1fr 1fr;
  }
}
/* Call to Action Styles */
.cta-container {
  background: linear-gradient(135deg, rgba(135, 13, 217, 0.03) 0%, rgba(151, 255, 92, 0.05) 100%);
  border-radius: 30px;
  padding: 4rem 2rem;
  margin: 5rem auto 2rem;
  text-align: center;
  max-width: 900px;
  position: relative;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05);
}

.cta-container h3 {
  font-size: 2.2rem;
  color: var(--color-midnight);
  margin-bottom: 1rem;
}

.cta-container p {
  font-size: 1.2rem;
  margin-bottom: 2.5rem;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
  color: var(--color-dark);
}

.cta-button {
  display: inline-block;
  background: -webkit-gradient(linear, left top, right top, from(var(--color-purple)), to(#6a0aa8));
  background: linear-gradient(90deg, var(--color-purple) 0%, #6a0aa8 100%);
  color: white;
  font-size: 1.1rem;
  font-weight: 600;
  padding: 1rem 2.5rem;
  border-radius: 50px;
  text-decoration: none;
  transition: all 0.3s ease;
  box-shadow: 0 10px 30px rgba(135, 13, 217, 0.2);
  position: relative;
  overflow: hidden;
  z-index: 1;
}

.cta-button::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, right top, from(var(--color-neon-green)), to(var(--color-purple)));
  background: linear-gradient(90deg, var(--color-neon-green) 0%, var(--color-purple) 100%);
  z-index: -1;
  transition: opacity 0.3s ease;
  opacity: 0;
}

.cta-button .arrow {
  display: inline-block;
  margin-left: 0.5rem;
  transition: transform 0.3s ease;
}

@media (max-width: 768px) {
  .cta-container {
    padding: 3rem 1.5rem;
    margin: 3rem auto 1rem;
  }
  .cta-container h3 {
    font-size: 1.8rem;
  }
  .cta-container p {
    font-size: 1rem;
  }
  .cta-button {
    font-size: 1rem;
    padding: 0.8rem 2rem;
  }
}
/* =   ==============================  Header ==============================  = */
.container-linea {
  padding-top: 100px;
  padding-bottom: 50px;
}

.header-section {
  text-align: center;
  margin-bottom: 5rem;
}

h1 {
  font-family: "Jost", sans-serif;
  font-size: clamp(2.5rem, 5vw, 3.5rem);
  font-weight: 700;
  color: var(--color-midnight);
  margin-bottom: 1.5rem;
  line-height: 1.2;
}

.line-time h3 {
  color: white;
}

.highlight {
  color: var(--color-purple);
}

.header-section p {
  font-size: 18px;
  max-width: 700px;
  line-height: 1.5;
  font-weight: 300;
  font-family: "Nunito", sans-serif;
  color: #302e2e;
  max-width: 700px;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .header-section p {
    font-size: 20px;
  }
}

/* Timeline Container */
.timeline-container {
  position: relative;
  padding: 80px 0;
  margin-bottom: 5rem;
}

/* Central Line */
.timeline-line {
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 4px;
  background: -webkit-gradient(linear, left top, left bottom, from(var(--color-purple)), to(var(--color-neon-green)));
  background: linear-gradient(to bottom, var(--color-purple) 0%, var(--color-neon-green) 100%);
  transform: translateX(-50%);
}

/* Timeline Items */
.timeline-item {
  position: relative;
  margin-bottom: 100px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
}

.timeline-item:last-child {
  margin-bottom: 0;
}

/* Alternating sides */
.timeline-item:nth-child(odd) {
  justify-content: flex-start;
  padding-right: 50%;
  padding-left: 0;
}

.timeline-item:nth-child(even) {
  justify-content: flex-end;
  padding-left: 50%;
  padding-right: 0;
}

/* Content Box */
.timeline-content {
  background: white;
  border-radius: 20px;
  padding: 2.5rem;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
  width: 100%;
  max-width: 500px;
  position: relative;
  transition: all 0.3s ease;
}

.timeline-content:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 50px rgba(0, 0, 0, 0.12);
}

/* Arrow */
.timeline-item:nth-child(odd) .timeline-content::after {
  content: "";
  position: absolute;
  right: -20px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 0 10px 20px;
  border-color: transparent transparent transparent white;
}

.timeline-item:nth-child(even) .timeline-content::after {
  content: "";
  position: absolute;
  left: -20px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 20px 10px 0;
  border-color: transparent white transparent transparent;
}

/* Number Circle */
.timeline-number {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 60px;
  height: 60px;
  background: var(--color-purple);
  color: white;
  border-radius: 50%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  font-weight: 700;
  font-family: "Jost", sans-serif;
  z-index: 10;
  box-shadow: 0 0 0 8px white, 0 0 0 12px rgba(135, 13, 217, 0.2);
}

/* Content Styling */
.timeline-content h3 {
  font-family: "Jost", sans-serif;
  font-size: 25px;
  font-weight: 600;
  color: var(--color-purple);
  margin-bottom: 0.5rem;
  line-height: 1.1;
  text-align: start;
}

.timing-badge {
  display: inline-block;
  background: var(--color-neon-green);
  color: var(--color-midnight);
  padding: 5px 15px;
  border-radius: 20px;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 1.5rem;
}

.task-list {
  list-style: none;
}

.task-item {
  padding: 0.5rem 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.task-item h4 {
  font-size: 18px;
  font-weight: 300;
  font-family: "Nunito", sans-serif;
  color: #302e2e;
  line-height: 1.5;
}

.task-icon {
  color: var(--color-neon-green);
  font-size: 1.2rem;
}

.task-item p {
  margin: 0;
  font-size: 16px;
  line-height: 1.5;
  color: var(--color-dark);
}

/* Tools Section */
.tools-section {
  background: var(--color-light-bg);
  border-radius: 30px;
  padding: 4rem;
  margin-bottom: 4rem;
}

.tools-section h2 {
  font-family: "Jost", sans-serif;
  font-size: 2.5rem;
  font-weight: 600;
  color: var(--color-midnight);
  text-align: center;
  margin-bottom: 3rem;
  line-height: 1.1;
}

.tools-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1.5rem;
  max-width: 800px;
  margin: 0 auto;
}

.tool-item {
  text-align: center;
  padding: 1.5rem;
  background: white;
  border-radius: 15px;
  transition: all 0.3s ease;
}

.tool-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.tool-item p {
  font-size: 18px;
  font-weight: 300;
  font-family: "Nunito", sans-serif;
  color: #302e2e;
  line-height: 1.5;
}

.cta-content {
  position: relative;
  z-index: 1;
}

.cta-section h3 {
  font-family: "Jost", sans-serif;
  font-size: 2.5rem;
  margin-bottom: 1rem;
}

.cta-section p {
  font-size: 18px;
  max-width: 700px;
  line-height: 1.5;
  font-weight: 300;
  font-family: "Nunito", sans-serif;
  color: #302e2e;
  color: white;
  margin: 30px auto;
}
@media screen and (min-width: 768px) {
  .cta-section p {
    font-size: 20px;
  }
}

.cta-button {
  background: white;
  color: var(--color-purple);
  padding: 1.2rem 3rem;
  border-radius: 50px;
  text-decoration: none;
  font-weight: 600;
  display: inline-block;
  transition: all 0.3s ease;
  font-size: 18px;
}

/* Responsive */
@media (max-width: 768px) {
  .timeline-line {
    left: 30px;
  }
  .timeline-item {
    padding-left: 60px !important;
    padding-right: 0 !important;
    justify-content: flex-start !important;
  }
  .timeline-number {
    left: 30px;
    transform: translate(-50%, -50%);
  }
  .timeline-content {
    width: 100%;
  }
  .timeline-item:nth-child(odd) .timeline-content::after,
  .timeline-item:nth-child(even) .timeline-content::after {
    display: none;
  }
  .timeline-content h3 {
    font-size: 1.5rem;
  }
  h1 {
    font-size: 2rem;
  }
  .tools-section {
    padding: 2rem;
  }
  .cta-section {
    padding: 3rem 2rem;
  }
  .cta-section h3 {
    font-size: 1.8rem;
  }
}
.container-consultoria {
  margin-top: 100px;
  /* Header */
  /* Comparison Section */
  /* Central VS Divider */
  /* Modality Cards */
  /* Icon Headers */
  /* Features List */
  /* Stats Grid */
  /* Which to Choose */
  /* Mobile VS Badge */
  /* Responsive */
}
.container-consultoria .header-section {
  text-align: center;
  margin-bottom: 4rem;
}
.container-consultoria h1 {
  font-family: "Jost", sans-serif;
  font-size: clamp(2.5rem, 5vw, 3.5rem);
  font-weight: 700;
  color: var(--color-midnight);
  margin-bottom: 1rem;
  line-height: 1.2;
}
.container-consultoria .vs-badge {
  display: inline-block;
  background: var(--color-purple);
  color: white;
  padding: 0.5rem 2rem;
  border-radius: 50px;
  font-weight: 600;
  font-size: 1.2rem;
  margin-bottom: 3rem;
  animation: pulse 2s infinite;
}
@keyframes pulse {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
}
.container-consultoria .comparison-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  margin-bottom: 5rem;
  position: relative;
}
.container-consultoria .vs-divider {
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 2px;
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(var(--color-purple)), color-stop(var(--color-neon-green)), to(transparent));
  background: linear-gradient(to bottom, transparent, var(--color-purple), var(--color-neon-green), transparent);
  transform: translateX(-50%);
}
.container-consultoria .vs-circle {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 60px;
  height: 60px;
  background: white;
  border: 3px solid var(--color-purple);
  border-radius: 50%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: var(--color-purple);
  box-shadow: 0 10px 30px rgba(135, 13, 217, 0.2);
  z-index: 10;
}
.container-consultoria .modality-card {
  background: white;
  border-radius: 30px;
  padding: 3rem;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.08);
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
}
.container-consultoria .modality-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.12);
}
.container-consultoria .online-card {
  border-top: 5px solid var(--color-purple);
}
.container-consultoria .presencial-card {
  border-top: 5px solid var(--color-neon-green);
}
.container-consultoria .modality-header {
  text-align: center;
  margin-bottom: 2rem;
}
.container-consultoria .modality-icon {
  width: 80px;
  height: 80px;
  margin: 0 auto 1.5rem;
  background: var(--color-ice-grey);
  border-radius: 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3rem;
  position: relative;
}
.container-consultoria .online-card .modality-icon {
  background: linear-gradient(135deg, rgba(108, 225, 254, 0.2) 0%, rgba(135, 13, 217, 0.2) 100%);
}
.container-consultoria .presencial-card .modality-icon {
  background: linear-gradient(135deg, rgba(151, 255, 92, 0.2) 0%, rgba(135, 13, 217, 0.2) 100%);
}
.container-consultoria .modality-card h2 {
  font-family: "Jost", sans-serif;
  font-size: 2rem;
  font-weight: 600;
  color: var(--color-midnight);
  margin-bottom: 2rem;
}
.container-consultoria .features-section {
  margin-bottom: 2rem;
}
.container-consultoria .section-title {
  font-family: "Jost", sans-serif;
  font-size: 1.3rem;
  font-weight: 600;
  color: var(--color-purple);
  margin-bottom: 1rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.container-consultoria .feature-list {
  list-style: none;
}
.container-consultoria .feature-item {
  padding: 0.8rem 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: start;
  gap: 1rem;
  transition: all 0.3s ease;
}
.container-consultoria .feature-item:hover {
  transform: translateX(10px);
}
.container-consultoria .feature-icon {
  width: 25px;
  height: 25px;
  background: var(--color-purple);
  border-radius: 50%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: white;
  font-weight: bold;
  font-size: 14px;
}
.container-consultoria .online-card .feature-icon {
  background: var(--color-purple);
}
.container-consultoria .feature-item p {
  margin: 0;
  font-size: 16px;
  line-height: 1.5;
  color: var(--color-dark);
}
@keyframes rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.container-consultoria .results-content {
  position: relative;
  z-index: 1;
}
.container-consultoria .results-section h2 {
  font-family: "Jost", sans-serif;
  font-size: 2.5rem;
  margin-bottom: 1rem;
}
.container-consultoria .results-intro {
  font-size: 18px;
  max-width: 700px;
  line-height: 1.5;
  font-weight: 300;
  font-family: "Nunito", sans-serif;
  color: #302e2e;
  margin: 0 auto;
  text-align: center;
  margin-bottom: 40px;
}
@media screen and (min-width: 768px) {
  .container-consultoria .results-intro {
    font-size: 20px;
  }
}
.container-consultoria .stats-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  max-width: 900px;
  margin: 0 auto;
}
.container-consultoria .stat-card {
  background: white;
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  border-radius: 20px;
  padding: 2rem;
  border: 1px solid rgba(255, 255, 255, 0.2);
  transition: all 0.3s ease;
}
.container-consultoria .stat-number {
  font-size: 3rem;
  font-weight: 700;
  color: var(--color-neon-green);
  font-family: "Jost", sans-serif;
  line-height: 1;
  margin-bottom: 0.5rem;
}
.container-consultoria .stat-label {
  font-size: 16px;
  opacity: 0.9;
}
.container-consultoria .stat-detail {
  font-size: 14px;
  opacity: 0.7;
  margin-top: 0.5rem;
}
.container-consultoria .choice-helper {
  background: var(--color-light-bg);
  border-radius: 30px;
  padding: 3rem;
  text-align: center;
  margin-bottom: 4rem;
}
.container-consultoria .choice-helper h3 {
  font-family: "Jost", sans-serif;
  font-size: 2rem;
  color: var(--color-midnight);
  margin-bottom: 2rem;
}
.container-consultoria .choice-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  max-width: 800px;
  margin: 0 auto;
}
.container-consultoria .choice-card {
  background: white;
  border-radius: 20px;
  padding: 2rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  transition: all 0.3s ease;
}
.container-consultoria .choice-card:hover {
  transform: scale(1.05);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
}
.container-consultoria .choice-card h4 {
  font-family: "Jost", sans-serif;
  font-size: 1.3rem;
  color: var(--color-purple);
  margin-bottom: 1rem;
}
.container-consultoria .choice-card p {
  font-size: 16px;
  color: var(--color-dark);
  margin: 0;
}
.container-consultoria .mobile-vs {
  display: none;
  width: 80px;
  height: 80px;
  background: linear-gradient(135deg, var(--color-purple) 0%, var(--color-neon-green) 100%);
  color: white;
  border-radius: 50%;
  font-weight: 700;
  font-size: 1.5rem;
  box-shadow: 0 10px 30px rgba(135, 13, 217, 0.3);
  margin: -40px auto 0;
  position: relative;
  z-index: 20;
  display: none;
  align-items: center;
  justify-content: center;
}
@media (max-width: 992px) {
  .container-consultoria .comparison-container {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .container-consultoria .vs-divider {
    display: none;
  }
  .container-consultoria .vs-circle {
    display: none;
  }
  .container-consultoria .mobile-vs {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .container-consultoria .modality-card:first-child {
    margin-bottom: 0;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
  }
  .container-consultoria .modality-card:last-child {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }
  .container-consultoria .stats-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .container-consultoria .choice-cards {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 768px) {
  .container-consultoria h1 {
    font-size: 2rem;
  }
  .container-consultoria .modality-card {
    padding: 2rem;
  }
  .container-consultoria .results-section {
    padding: 3rem 2rem;
  }
  .container-consultoria .stat-number {
    font-size: 2.5rem;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUNBO0VBQ0E7RUFDQTtFQUNBO0FBQUo7O0FBR0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBQUFKOztBQUdBO0FBQ0E7RUFDSTtBQUFKOztBQUdBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBQUo7O0FBR0E7RUFDSTtFQUNBO0VBQ0E7QUFBSjs7QUFHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUFKOztBQUdBO0VBQ0k7RUFDQTtFQUNBO0FBQUo7O0FBR0E7RUFDSTtFQUFBO0VBQUE7RUFBQTtFQUNBO0VBQ0E7RUFDQTtBQUFKOztBQUdBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0VBQUE7RUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFBSjs7QUFHQTtFQUNJO0VBQ0E7QUFBSjs7QUFHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFBSjs7QUFHQTtFQzNXSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VEeVdBO0VBQ0E7QUFJSjs7QUFEQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUlKOztBQURBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUlKOztBQURBO0VBQ0k7SUFDSTtFQUlOO0VBREU7SUFDSTtFQUdOO0FBQ0Y7QUFBQTtFQUNJO0VBQ0E7QUFFSjs7QUFDQTtFQUNJO0VBQ0E7QUFFSjs7QUFDQTtFQUNJO0VBQ0E7RUFDQTtBQUVKOztBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUFFSjtBQURJO0VBTEo7SUFNUTtFQUlOO0FBQ0Y7O0FBREE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtVQUFBO0FBSUo7O0FBREE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBSUo7O0FBREE7RUFDSTtFQUNBO0FBSUo7O0FBREE7QUFDQTtFQUNJO0lBQ0k7RUFJTjtFQURFO0lBQ0k7RUFHTjtFQUFFO0lBQ0k7SUFDQTtFQUVOO0VBQ0U7SUFDSTtFQUNOO0VBRUU7SUFDSTtFQUFOO0VBR0U7SUFDSTtFQUROO0VBSUU7SUFDSTtFQUZOO0FBQ0Y7QUFLQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUhKOztBQU1BO0VBQ0k7RUFDQTtFQUNBO0FBSEo7O0FBTUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFISjs7QUFNQTtFQUNJO0VBQ0E7RUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFISjs7QUFNQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFDQTtFQUNBO0VBQ0E7QUFISjs7QUFjQTtFQUNJO0VBQ0E7RUFDQTtBQVhKOztBQWtCQTtFQUNJO0lBQ0k7SUFDQTtFQWZOO0VBa0JFO0lBQ0k7RUFoQk47RUFtQkU7SUFDSTtFQWpCTjtFQW9CRTtJQUNJO0lBQ0E7RUFsQk47QUFDRjtBQXVCQTtBQUVBO0VBQ0k7RUFDQTtBQXRCSjs7QUF3QkE7RUFDSTtFQUNBO0FBckJKOztBQXdCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXJCSjs7QUF1QkE7RUFDSTtBQXBCSjs7QUFzQkE7RUFDSTtBQW5CSjs7QUFzQkE7RUNubEJJO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFRGdsQkE7RUFDQTtBQWZKO0FDbm5CSTtFRDhuQko7SUN6a0JRO0VEa2tCTjtBQUNGOztBQWFBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7QUFWSjs7QUFhQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFDQTtBQVZKOztBQWFBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFBQTtFQUFBO0VBQUE7RUFDQTtBQVZKOztBQWFBO0VBQ0k7QUFWSjs7QUFhQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0FBVko7O0FBYUE7RUFDSTtFQUNBO0VBQ0E7QUFWSjs7QUFhQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQVZKOztBQWFBO0VBQ0k7RUFDQTtBQVZKOztBQWFBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQVZKOztBQWFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFWSjs7QUFhQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUFBO0VBQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQVZKOztBQWFBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQVZKOztBQWFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQVZKOztBQWFBO0VBQ0k7QUFWSjs7QUFhQTtFQUNJO0VBQ0E7RUFBQTtFQUFBO0VBQUE7RUFDQTtFQUNBO0FBVko7QUFXSTtFQzV1QkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRG91Qko7O0FBVUE7RUFDSTtFQUNBO0FBUEo7O0FBVUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBQVBKOztBQVVBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBQVBKOztBQVVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFQSjs7QUFVQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFQSjs7QUFVQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFQSjs7QUFVQTtFQUNJO0VBQ0E7QUFQSjs7QUFVQTtFQ3J5Qkk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRCt4Qko7O0FBUUE7RUFDSTtFQUNBO0FBTEo7O0FBUUE7RUFDSTtFQUNBO0VBQ0E7QUFMSjs7QUFRQTtFQy95Qkk7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VEMnlCSDtFQUNBO0FBQUQ7QUM3MUJJO0VEMDFCSjtJQ3J5QlE7RUQ0eUJOO0FBQ0Y7O0FBRkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7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RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFwRFI7QUF3REk7RUFDSTtJQUNJO0lBQ0E7RUF0RFY7RUF5RE07SUFDSTtFQXZEVjtFQTBETTtJQUNJO0VBeERWO0VBMkRNO0lBQ0k7SUFBQTtJQUFBO0lBQUE7RUF6RFY7RUE0RE07SUFDSTtJQUNBO0lBQ0E7RUExRFY7RUE2RE07SUFDSTtJQUNBO0VBM0RWO0VBOERNO0lBQ0k7SUFDQTtFQTVEVjtFQStETTtJQUNJO0VBN0RWO0FBQ0Y7QUFnRUk7RUFDSTtJQUNJO0VBOURWO0VBaUVNO0lBQ0k7RUEvRFY7RUFrRU07SUFDSTtFQWhFVjtFQW1FTTtJQUNJO0VBakVWO0FBQ0YsQyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL2NvbnN1bHRvcmlhLXNlby5zY3NzIiwid2VicGFjazovLy8uLi9hYnN0cmFjdHMvX21peGlucy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uL2Fic3RyYWN0cy92YXJzJyBhcyAqO1xuQHVzZSAnLi4vYWJzdHJhY3RzL19taXhpbnMuc2NzcycgYXMgKjtcblxuOnJvb3Qge1xuICAgIC0tY29sb3ItcHVycGxlOiAjODcwREQ5O1xuICAgIC0tY29sb3ItbmVvbi1ncmVlbjogIzk3RkY1QztcbiAgICAtLWNvbG9yLW5lb24tYmx1ZTogIzZDRTFGRTtcbiAgICAtLWNvbG9yLW1pZG5pZ2h0OiAjMTcyNDI2O1xuICAgIC0tY29sb3ItaWNlLWdyZXk6ICNFMkYyRjI7XG4gICAgLS1jb2xvci1iZzogI2ZmZmZmZjtcbiAgICAtLWNvbG9yLWxpZ2h0LWJnOiAjZTZmNGYxO1xuICAgIC0tY29sb3ItZGFyazogIzMwMmUyZTtcbn1cblxuXG5cblxuXG5hLmJ1dHRvbi5idXR0b24tLWRlZmF1bHQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXB1cnBsZSk7XG4gICAgY29sb3I6IHdoaXRlO1xufVxuXG5cbi5oMiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbi5jb250YWluZXIxIHtcbiAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cblxuLmNvbnRlbnQtd3JhcHBlciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IDNyZW07XG59XG5cbi5pbnRyby10ZXh0IHtcbiAgICBtYXgtd2lkdGg6IDkwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmludHJvLXRleHQgcCB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbn1cblxuLmludHJvLXRleHQgcDpmaXJzdC1jaGlsZCB7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi5pbnRyby10ZXh0IHN0cm9uZyB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXB1cnBsZSk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLm5lZWRzLXNlY3Rpb24ge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLWxpZ2h0LWJnKSAwJSwgcmdiYSgxMzUsIDEzLCAyMTcsIDAuMDUpIDEwMCUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gICAgcGFkZGluZzogM3JlbTtcbiAgICBtYXJnaW46IDNyZW0gYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMDBweDtcbiAgICBib3gtc2hhZG93OiAwIDEwcHggNDBweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubmVlZHMtc2VjdGlvbjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMTAwcHg7XG4gICAgcmlnaHQ6IC0xMDBweDtcbiAgICB3aWR0aDogMzAwcHg7XG4gICAgaGVpZ2h0OiAzMDBweDtcbiAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCByZ2JhKDE1MSwgMjU1LCA5MiwgMC4yKSAwJSwgdHJhbnNwYXJlbnQgNzAlKTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbi5uZWVkcy1zZWN0aW9uIGgzIHtcbiAgICBmb250LWZhbWlseTogJ0pvc3QnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wdXJwbGUpO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xufVxuXG4ubmVlZHMtZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDI4MHB4LCAxZnIpKTtcbiAgICBnYXA6IDEuNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbn1cblxuLm5lZWQtaXRlbSB7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMXJlbTtcbiAgICBib3gtc2hhZG93OiAwIDVweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm5lZWQtaXRlbTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiA0cHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgdmFyKC0tY29sb3ItcHVycGxlKSAwJSwgdmFyKC0tY29sb3ItbmVvbi1ncmVlbikgMTAwJSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoMCk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcbn1cblxuLm5lZWQtaXRlbTpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpO1xuICAgIGJveC1zaGFkb3c6IDAgMTBweCAzMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLm5lZWQtaXRlbTpob3Zlcjo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgxKTtcbn1cblxuLmNoZWNrLWljb24ge1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wdXJwbGUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLW1pZG5pZ2h0KTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLm5lZWQtaXRlbSBwIHtcbiAgQGluY2x1ZGUgcDtcbiAgZm9udC1zaXplOiAxNnB4O1xufVxuXG4uY29uY2x1c2lvbi1ib3gge1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWNvbG9yLXB1cnBsZSk7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICBwYWRkaW5nOiAycmVtO1xuICAgIG1hcmdpbjogM3JlbSBhdXRvIDA7XG4gICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJveC1zaGFkb3c6IDAgMTBweCA0MHB4IHJnYmEoMTM1LCAxMywgMjE3LCAwLjEpO1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xufVxuXG4uY29uY2x1c2lvbi1ib3ggLnN2ZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTRweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIHBhZGRpbmc6IDBweCAyMHB4O1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDRweDtcbn1cblxuLmNvbmNsdXNpb24tYm94IHAge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbWlkbmlnaHQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5uZWVkcy1zZWN0aW9uIHtcbiAgICAgICAgcGFkZGluZzogMnJlbSAxLjVyZW07XG4gICAgfVxuXG4gICAgLm5lZWRzLWdyaWQge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICB9XG5cbiAgICAubmVlZC1pdGVtIHtcbiAgICAgICAgcGFkZGluZzogMS4ycmVtO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgIH1cblxuICAgIC5pbnRyby10ZXh0IHAge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgfVxufVxuXG5cblxuLyogSGVhZGVyIFNlY3Rpb24gKi9cbi5jb250YWluZXIyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBwYWRkaW5nOiA1MHB4IDA7XG4gICAgcGFkZGluZy10b3A6IDEwMHB4O1xufVxuXG4uaGVhZGVyLXNlY3Rpb24ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiA0cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuXG5cbi8qIEludHJvIEJveCAqL1xuLmludHJvLWJveCB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgxMzUsIDEzLCAyMTcsIDAuMDUpIDAlLCByZ2JhKDE1MSwgMjU1LCA5MiwgMC4wNSkgMTAwJSk7XG4gICAgYm9yZGVyLXJhZGl1czogMzBweDtcbiAgICBwYWRkaW5nOiAzcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDRyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDQwcHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbn1cblxuXG4uaW50cm8tYm94IHAge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMS43O1xuICAgIG1heC13aWR0aDogOTAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xufVxuXG4uaW50cm8tYm94IHN0cm9uZyB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXB1cnBsZSk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLyogUXVlc3Rpb25zIFNlY3Rpb24gKi9cbi5xdWVzdGlvbnMtc2VjdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogNHJlbTtcbn1cblxuaDIge1xuICAgIGZvbnQtZmFtaWx5OiAnSm9zdCcsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbWlkbmlnaHQpO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmRlc2NyaXB0aW9uIHtcbiBAaW5jbHVkZSBzdWJ0aXRsZTtcbiBtYXgtd2lkdGg6IDEzMDBweDtcbiBtYXJnaW46IDAgYXV0bztcbiB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLyogU2VydmljZXMgR3JpZCAqL1xuLnNlcnZpY2VzLWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItbGlnaHQtYmcpO1xuICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gICAgcGFkZGluZzogM3JlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xufVxuXG4uc2VydmljZXMtaW50cm8ge1xuICAgIEBpbmNsdWRlIHA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xubWFyZ2luLWJvdHRvbTogMzBweDsgICAgXG59XG5cbi5zZXJ2aWNlcy1ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjgwcHgsIDFmcikpO1xuICAgIGdhcDogMnJlbTtcbn1cblxuLnNlcnZpY2UtY2FyZCB7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICBwYWRkaW5nOiAycmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJveC1zaGFkb3c6IDAgNXB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5zZXJ2aWNlLWNhcmQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogNXB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdmFyKC0tY29sb3ItcHVycGxlKSAwJSwgdmFyKC0tY29sb3ItbmVvbi1ncmVlbikgMTAwJSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xufVxuXG4uc2VydmljZS1jYXJkOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICAgIGJveC1zaGFkb3c6IDAgMTVweCA0MHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLnNlcnZpY2UtY2FyZDpob3Zlcjo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbn1cblxuLnNlcnZpY2UtaWNvbiB7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbjogMCBhdXRvIDEuNXJlbTtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsMCwwLDAuMSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMzYsIDIyOCwgMjQ5LCAwLjUpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIHBhZGRpbmc6IDE2cHg7XG5cbn1cblxuLnNlcnZpY2UtY2FyZDpob3ZlciAuc2VydmljZS1pY29uIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKDVkZWcpO1xufVxuXG4uc2VydmljZS1jYXJkIGgzIHtcbiAgICBmb250LWZhbWlseTogJ0pvc3QnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXB1cnBsZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG4uc2VydmljZS1jYXJkIHAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi8qIEFkZGl0aW9uYWwgU2VydmljZXMgKi9cbi5hZGRpdGlvbmFsLXNlcnZpY2VzIHtcbiAgICBtYXJnaW4tdG9wOiA0cmVtO1xufVxuXG5oMyB7XG4gICAgZm9udC1mYW1pbHk6ICdKb3N0Jywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbWlkbmlnaHQpO1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZmVhdHVyZXMtZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDM1MHB4LCAxZnIpKTtcbiAgICBnYXA6IDJyZW07XG59XG5cbi5mZWF0dXJlLWNhcmQge1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgcGFkZGluZzogMnJlbTtcbiAgICBib3gtc2hhZG93OiAwIDEwcHggMzBweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbi5mZWF0dXJlLWNhcmQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHVycGxlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCk7XG4gICAgYm94LXNoYWRvdzogMCAxNXB4IDQwcHggcmdiYSgxMzUsIDEzLCAyMTcsIDAuMSk7XG59XG5cbi5mZWF0dXJlLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4uZmVhdHVyZS1pY29uIHtcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItaWNlLWdyZXkpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbn1cblxuLmZlYXR1cmUtY2FyZDpob3ZlciAuZmVhdHVyZS1pY29uIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1uZW9uLWdyZWVuKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG59XG5cbi5mZWF0dXJlLWNhcmQgaDQge1xuICAgIGZvbnQtZmFtaWx5OiAnSm9zdCcsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbWlkbmlnaHQpO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLmZlYXR1cmUtY2FyZCBwIHtcbiAgICBAaW5jbHVkZSBwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4vKiBTdWNjZXNzIFN0YXRzICovXG4uc3VjY2Vzcy1iYW5uZXIge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLXB1cnBsZSkgMCUsIHZhcigtLWNvbG9yLXB1cnBsZSkgMTAwJSk7XG4gICAgYm9yZGVyLXJhZGl1czogMzBweDtcbiAgICBwYWRkaW5nOiAzcmVtO1xuICAgIG1hcmdpbi10b3A6IDRyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnN1Y2Nlc3MtYmFubmVyOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTUwJTtcbiAgICByaWdodDogLTUwJTtcbiAgICB3aWR0aDogMjAwJTtcbiAgICBoZWlnaHQ6IDIwMCU7XG4gICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgcmdiYSgxNTEsIDI1NSwgOTIsIDAuMSkgMCUsIHRyYW5zcGFyZW50IDcwJSk7XG4gICAgYW5pbWF0aW9uOiByb3RhdGUgMjBzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyByb3RhdGUge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxufVxuXG4uc3VjY2Vzcy1jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbn1cblxuLnN1Y2Nlc3MtYmFubmVyIGgzIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuLnN1Y2Nlc3MtYmFubmVyIHAge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIG9wYWNpdHk6IDAuOTtcbn1cblxuLnN0YXRzLWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMDBweCwgMWZyKSk7XG4gICAgZ2FwOiAycmVtO1xuICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4uc3RhdC1pdGVtIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gICAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xufVxuXG4uc3RhdC1udW1iZXIge1xuICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLW5lb24tZ3JlZW4pO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICBmb250LWZhbWlseTogJ0pvc3QnLCBzYW5zLXNlcmlmO1xufVxuXG4uc3RhdC1sYWJlbCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIG9wYWNpdHk6IDAuOTtcbn1cblxuLyogUmVzcG9uc2l2ZSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLmludHJvLWJveCB7XG4gICAgICAgIHBhZGRpbmc6IDJyZW07XG4gICAgfVxuXG4gICAgLnNlcnZpY2VzLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IDJyZW0gMS41cmVtO1xuICAgIH1cblxuICAgIC5zZXJ2aWNlcy1ncmlkIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIGdhcDogMS41cmVtO1xuICAgIH1cblxuICAgIC5mZWF0dXJlcy1ncmlkIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgfVxuXG4gICAgaDEge1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICB9XG5cbiAgICAuc3RhdHMtZ3JpZCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICB9XG59XG5cbi8qIENhbGwgdG8gQWN0aW9uIFN0eWxlcyAqL1xuLmN0YS1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMTM1LCAxMywgMjE3LCAwLjAzKSAwJSwgcmdiYSgxNTEsIDI1NSwgOTIsIDAuMDUpIDEwMCUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gICAgcGFkZGluZzogNHJlbSAycmVtO1xuICAgIG1hcmdpbjogNXJlbSBhdXRvIDJyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1heC13aWR0aDogOTAwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJveC1zaGFkb3c6IDAgMTBweCA0MHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG59XG5cbi5jdGEtY29udGFpbmVyIGgzIHtcbiAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbWlkbmlnaHQpO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi5jdGEtY29udGFpbmVyIHAge1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbiAgICBtYXgtd2lkdGg6IDcwMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG59XG5cbi5jdGEtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB2YXIoLS1jb2xvci1wdXJwbGUpIDAlLCAjNmEwYWE4IDEwMCUpO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHBhZGRpbmc6IDFyZW0gMi41cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDMwcHggcmdiYSgxMzUsIDEzLCAyMTcsIDAuMik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgei1pbmRleDogMTtcbn1cblxuLmN0YS1idXR0b246OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHZhcigtLWNvbG9yLW5lb24tZ3JlZW4pIDAlLCB2YXIoLS1jb2xvci1wdXJwbGUpIDEwMCUpO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuICAgIG9wYWNpdHk6IDA7XG59XG5cbi5jdGEtYnV0dG9uOmhvdmVyIHtcbiBcbn1cblxuLmN0YS1idXR0b246aG92ZXI6OmJlZm9yZSB7XG4gICBcbn1cblxuLmN0YS1idXR0b24gLmFycm93IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xufVxuXG4uY3RhLWJ1dHRvbjpob3ZlciAuYXJyb3cge1xuICAgXG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5jdGEtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogM3JlbSAxLjVyZW07XG4gICAgICAgIG1hcmdpbjogM3JlbSBhdXRvIDFyZW07XG4gICAgfVxuICAgIFxuICAgIC5jdGEtY29udGFpbmVyIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgfVxuICAgIFxuICAgIC5jdGEtY29udGFpbmVyIHAge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgfVxuICAgIFxuICAgIC5jdGEtYnV0dG9uIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBwYWRkaW5nOiAwLjhyZW0gMnJlbTtcbiAgICB9XG59XG5cblxuXG4vKiA9ICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICBIZWFkZXIgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICA9ICovXG5cbi5jb250YWluZXItbGluZWF7XG4gICAgcGFkZGluZy10b3A6IDEwMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xufVxuLmhlYWRlci1zZWN0aW9uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogNXJlbTtcbn1cblxuaDEge1xuICAgIGZvbnQtZmFtaWx5OiAnSm9zdCcsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiBjbGFtcCgyLjVyZW0sIDV2dywgMy41cmVtKTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1taWRuaWdodCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG4ubGluZS10aW1lIGgze1xuICAgIGNvbG9yOiB3aGl0ZTtcbn1cbi5oaWdobGlnaHQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wdXJwbGUpO1xufVxuXG4uaGVhZGVyLXNlY3Rpb24gcCB7XG4gICAgQGluY2x1ZGUgc3VidGl0bGU7XG4gICAgXG4gICAgbWF4LXdpZHRoOiA3MDBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbn1cblxuLyogVGltZWxpbmUgQ29udGFpbmVyICovXG4udGltZWxpbmUtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogODBweCAwO1xuICAgIG1hcmdpbi1ib3R0b206IDVyZW07XG59XG5cbi8qIENlbnRyYWwgTGluZSAqL1xuLnRpbWVsaW5lLWxpbmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogNHB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHZhcigtLWNvbG9yLXB1cnBsZSkgMCUsIHZhcigtLWNvbG9yLW5lb24tZ3JlZW4pIDEwMCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLyogVGltZWxpbmUgSXRlbXMgKi9cbi50aW1lbGluZS1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4udGltZWxpbmUtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiBBbHRlcm5hdGluZyBzaWRlcyAqL1xuLnRpbWVsaW5lLWl0ZW06bnRoLWNoaWxkKG9kZCkge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MCU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4udGltZWxpbmUtaXRlbTpudGgtY2hpbGQoZXZlbikge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgcGFkZGluZy1sZWZ0OiA1MCU7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuLyogQ29udGVudCBCb3ggKi9cbi50aW1lbGluZS1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIHBhZGRpbmc6IDIuNXJlbTtcbiAgICBib3gtc2hhZG93OiAwIDEwcHggNDBweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG59XG5cbi50aW1lbGluZS1jb250ZW50OmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCk7XG4gICAgYm94LXNoYWRvdzogMCAxNXB4IDUwcHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLyogQXJyb3cgKi9cbi50aW1lbGluZS1pdGVtOm50aC1jaGlsZChvZGQpIC50aW1lbGluZS1jb250ZW50OjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAtMjBweDtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAxMHB4IDAgMTBweCAyMHB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgd2hpdGU7XG59XG5cbi50aW1lbGluZS1pdGVtOm50aC1jaGlsZChldmVuKSAudGltZWxpbmUtY29udGVudDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtMjBweDtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAxMHB4IDIwcHggMTBweCAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgd2hpdGUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG59XG5cbi8qIE51bWJlciBDaXJjbGUgKi9cbi50aW1lbGluZS1udW1iZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXB1cnBsZSk7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LWZhbWlseTogJ0pvc3QnLCBzYW5zLXNlcmlmO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDhweCB3aGl0ZSwgMCAwIDAgMTJweCByZ2JhKDEzNSwgMTMsIDIxNywgMC4yKTtcbn1cblxuLyogQ29udGVudCBTdHlsaW5nICovXG4udGltZWxpbmUtY29udGVudCBoMyB7XG4gICAgZm9udC1mYW1pbHk6ICdKb3N0Jywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDI1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHVycGxlKTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICB0ZXh0LWFsaWduOiBzdGFydDtcbn1cblxuLnRpbWluZy1iYWRnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLW5lb24tZ3JlZW4pO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1taWRuaWdodCk7XG4gICAgcGFkZGluZzogNXB4IDE1cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG59XG5cbi50YXNrLWxpc3Qge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi50YXNrLWl0ZW0ge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAuOHJlbTtcbiAgICBoNHtcblxuICAgICAgICBAaW5jbHVkZSBwO1xuICAgIH1cbn1cblxuLnRhc2staWNvbiB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLW5lb24tZ3JlZW4pO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xufVxuXG4udGFzay1pdGVtIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG59XG5cbi8qIFRvb2xzIFNlY3Rpb24gKi9cbi50b29scy1zZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1saWdodC1iZyk7XG4gICAgYm9yZGVyLXJhZGl1czogMzBweDtcbiAgICBwYWRkaW5nOiA0cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDRyZW07XG59XG5cbi50b29scy1zZWN0aW9uIGgyIHtcbiAgICBmb250LWZhbWlseTogJ0pvc3QnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLW1pZG5pZ2h0KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xufVxuXG4udG9vbHMtZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDIwMHB4LCAxZnIpKTtcbiAgICBnYXA6IDEuNXJlbTtcbiAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xufVxuXG4udG9vbC1pdGVtIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMS41cmVtO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbn1cblxuLnRvb2wtaXRlbTpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpO1xuICAgIGJveC1zaGFkb3c6IDAgMTBweCAzMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLnRvb2wtaXRlbSBwIHtcbiAgICBAaW5jbHVkZSBwO1xufVxuXG5cblxuLmN0YS1jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbn1cblxuLmN0YS1zZWN0aW9uIGgzIHtcbiAgICBmb250LWZhbWlseTogJ0pvc3QnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi5jdGEtc2VjdGlvbiBwIHtcbiBAaW5jbHVkZSBzdWJ0aXRsZTtcbiBjb2xvcjogd2hpdGU7XG4gbWFyZ2luOiAzMHB4IGF1dG87XG59XG5cbi5jdGEtYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHVycGxlKTtcbiAgICBwYWRkaW5nOiAxLjJyZW0gM3JlbTtcbiAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbn1cblxuLmN0YS1idXR0b246aG92ZXIge1xuXG59XG5cbi8qIFJlc3BvbnNpdmUgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC50aW1lbGluZS1saW5lIHtcbiAgICAgICAgbGVmdDogMzBweDtcbiAgICB9XG5cbiAgICAudGltZWxpbmUtaXRlbSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNjBweCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC50aW1lbGluZS1udW1iZXIge1xuICAgICAgICBsZWZ0OiAzMHB4O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB9XG5cbiAgICAudGltZWxpbmUtY29udGVudCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC50aW1lbGluZS1pdGVtOm50aC1jaGlsZChvZGQpIC50aW1lbGluZS1jb250ZW50OjphZnRlcixcbiAgICAudGltZWxpbmUtaXRlbTpudGgtY2hpbGQoZXZlbikgLnRpbWVsaW5lLWNvbnRlbnQ6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudGltZWxpbmUtY29udGVudCBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIH1cblxuICAgIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgIH1cblxuICAgIC50b29scy1zZWN0aW9uIHtcbiAgICAgICAgcGFkZGluZzogMnJlbTtcbiAgICB9XG5cbiAgICAuY3RhLXNlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nOiAzcmVtIDJyZW07XG4gICAgfVxuXG4gICAgLmN0YS1zZWN0aW9uIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgfVxufVxuXG5cblxuXG5cblxuLmNvbnRhaW5lci1jb25zdWx0b3JpYSB7XG4gICAgXG5cblxubWFyZ2luLXRvcCAgOiAxMDBweDtcbiAgICAgIC8qIEhlYWRlciAqL1xuICAgICAgLmhlYWRlci1zZWN0aW9uIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0cmVtO1xuICAgIH1cblxuICAgIGgxIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdKb3N0Jywgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCgyLjVyZW0sIDV2dywgMy41cmVtKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLW1pZG5pZ2h0KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICB9XG5cbiAgICAudnMtYmFkZ2Uge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXB1cnBsZSk7XG4gICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbSAycmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgICAgICAgYW5pbWF0aW9uOiBwdWxzZSAycyBpbmZpbml0ZTtcbiAgICB9XG5cbiAgICBAa2V5ZnJhbWVzIHB1bHNlIHtcbiAgICAgICAgMCUsIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gICAgICAgIDUwJSB7IHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7IH1cbiAgICB9XG5cbiAgICAvKiBDb21wYXJpc29uIFNlY3Rpb24gKi9cbiAgICAuY29tcGFyaXNvbi1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICAgIGdhcDogM3JlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXJlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC8qIENlbnRyYWwgVlMgRGl2aWRlciAqL1xuICAgIC52cy1kaXZpZGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB3aWR0aDogMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB0cmFuc3BhcmVudCwgdmFyKC0tY29sb3ItcHVycGxlKSwgdmFyKC0tY29sb3ItbmVvbi1ncmVlbiksIHRyYW5zcGFyZW50KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cblxuICAgIC52cy1jaXJjbGUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICB3aWR0aDogNjBweDtcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgdmFyKC0tY29sb3ItcHVycGxlKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXB1cnBsZSk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMTBweCAzMHB4IHJnYmEoMTM1LCAxMywgMjE3LCAwLjIpO1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICB9XG5cbiAgICAvKiBNb2RhbGl0eSBDYXJkcyAqL1xuICAgIC5tb2RhbGl0eS1jYXJkIHtcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gICAgICAgIHBhZGRpbmc6IDNyZW07XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMjBweCA2MHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICB9XG5cbiAgICAubW9kYWxpdHktY2FyZDpob3ZlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMzBweCA4MHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gICAgfVxuXG4gICAgLm9ubGluZS1jYXJkIHtcbiAgICAgICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkIHZhcigtLWNvbG9yLXB1cnBsZSk7XG4gICAgfVxuXG4gICAgLnByZXNlbmNpYWwtY2FyZCB7XG4gICAgICAgIGJvcmRlci10b3A6IDVweCBzb2xpZCB2YXIoLS1jb2xvci1uZW9uLWdyZWVuKTtcbiAgICB9XG5cbiAgICAvKiBJY29uIEhlYWRlcnMgKi9cbiAgICAubW9kYWxpdHktaGVhZGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIH1cblxuICAgIC5tb2RhbGl0eS1pY29uIHtcbiAgICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMS41cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1pY2UtZ3JleSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAub25saW5lLWNhcmQgLm1vZGFsaXR5LWljb24ge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDEwOCwgMjI1LCAyNTQsIDAuMikgMCUsIHJnYmEoMTM1LCAxMywgMjE3LCAwLjIpIDEwMCUpO1xuICAgIH1cblxuICAgIC5wcmVzZW5jaWFsLWNhcmQgLm1vZGFsaXR5LWljb24ge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDE1MSwgMjU1LCA5MiwgMC4yKSAwJSwgcmdiYSgxMzUsIDEzLCAyMTcsIDAuMikgMTAwJSk7XG4gICAgfVxuXG4gICAgLm1vZGFsaXR5LWNhcmQgaDIge1xuICAgICAgICBmb250LWZhbWlseTogJ0pvc3QnLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1taWRuaWdodCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgfVxuXG4gICAgLyogRmVhdHVyZXMgTGlzdCAqL1xuICAgIC5mZWF0dXJlcy1zZWN0aW9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICB9XG5cbiAgICAuc2VjdGlvbi10aXRsZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnSm9zdCcsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItcHVycGxlKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAwLjVyZW07XG4gICAgfVxuXG4gICAgLmZlYXR1cmUtbGlzdCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgLmZlYXR1cmUtaXRlbSB7XG4gICAgICAgIHBhZGRpbmc6IDAuOHJlbSAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gICAgICAgIGdhcDogMXJlbTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICB9XG5cbiAgICAuZmVhdHVyZS1pdGVtOmhvdmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpO1xuICAgIH1cblxuICAgIC5mZWF0dXJlLWljb24ge1xuICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wdXJwbGUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cblxuICAgIC5vbmxpbmUtY2FyZCAuZmVhdHVyZS1pY29uIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHVycGxlKTtcbiAgICB9XG5cbiAgICAuZmVhdHVyZS1pdGVtIHAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgIH1cbiAgIFxuXG4gICAgLy8gLnJlc3VsdHMtc2VjdGlvbjo6YmVmb3JlIHtcbiAgICAvLyAgICAgY29udGVudDogJyc7XG4gICAgLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAvLyAgICAgd2lkdGg6IDUwMHB4O1xuICAgIC8vICAgICBoZWlnaHQ6IDUwMHB4O1xuICAgIC8vICAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCByZ2JhKDE1MSwgMjU1LCA5MiwgMC4xKSAwJSwgdHJhbnNwYXJlbnQgNzAlKTtcbiAgICAvLyAgICAgdG9wOiAtMjUwcHg7XG4gICAgLy8gICAgIHJpZ2h0OiAtMjUwcHg7XG4gICAgLy8gICAgIGFuaW1hdGlvbjogcm90YXRlIDIwcyBsaW5lYXIgaW5maW5pdGU7XG4gICAgLy8gfVxuXG4gICAgQGtleWZyYW1lcyByb3RhdGUge1xuICAgICAgICBmcm9tIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgICAgICAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XG4gICAgfVxuXG4gICAgLnJlc3VsdHMtY29udGVudCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICAucmVzdWx0cy1zZWN0aW9uIGgyIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdKb3N0Jywgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgfVxuXG4gICAgLnJlc3VsdHMtaW50cm8ge1xuICAgICAgICBAaW5jbHVkZSBzdWJ0aXRsZTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIH1cblxuICAgIC8qIFN0YXRzIEdyaWQgKi9cbiAgICAuc3RhdHMtZ3JpZCB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgICAgIGdhcDogMnJlbTtcbiAgICAgICAgbWF4LXdpZHRoOiA5MDBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuXG4gICAgLnN0YXQtY2FyZCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICAgIHBhZGRpbmc6IDJyZW07XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICB9XG5cbiAgIFxuXG4gICAgLnN0YXQtbnVtYmVyIHtcbiAgICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbmVvbi1ncmVlbik7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnSm9zdCcsIHNhbnMtc2VyaWY7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgfVxuXG4gICAgLnN0YXQtbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIG9wYWNpdHk6IDAuOTtcbiAgICB9XG5cbiAgICAuc3RhdC1kZXRhaWwge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgIH1cblxuICAgIC8qIFdoaWNoIHRvIENob29zZSAqL1xuICAgIC5jaG9pY2UtaGVscGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItbGlnaHQtYmcpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICAgICAgICBwYWRkaW5nOiAzcmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDRyZW07XG4gICAgfVxuXG4gICAgLmNob2ljZS1oZWxwZXIgaDMge1xuICAgICAgICBmb250LWZhbWlseTogJ0pvc3QnLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1taWRuaWdodCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgfVxuXG4gICAgLmNob2ljZS1jYXJkcyB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgICAgZ2FwOiAycmVtO1xuICAgICAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG5cbiAgICAuY2hvaWNlLWNhcmQge1xuICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAgICAgcGFkZGluZzogMnJlbTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAxMHB4IDMwcHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICB9XG5cbiAgICAuY2hvaWNlLWNhcmQ6aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDE1cHggNDBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgfVxuXG4gICAgLmNob2ljZS1jYXJkIGg0IHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdKb3N0Jywgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wdXJwbGUpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIH1cblxuICAgIC5jaG9pY2UtY2FyZCBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAvKiBNb2JpbGUgVlMgQmFkZ2UgKi9cbiAgICAubW9iaWxlLXZzIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tY29sb3ItcHVycGxlKSAwJSwgdmFyKC0tY29sb3ItbmVvbi1ncmVlbikgMTAwJSk7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAxMHB4IDMwcHggcmdiYSgxMzUsIDEzLCAyMTcsIDAuMyk7XG4gICAgICAgIG1hcmdpbjogLTQwcHggYXV0byAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDIwO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAvKiBSZXNwb25zaXZlICovXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gICAgICAgIC5jb21wYXJpc29uLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgICAgIGdhcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC52cy1kaXZpZGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAudnMtY2lyY2xlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAubW9iaWxlLXZzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cblxuICAgICAgICAubW9kYWxpdHktY2FyZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1vZGFsaXR5LWNhcmQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuc3RhdHMtZ3JpZCB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgICAgIGdhcDogMS41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNob2ljZS1jYXJkcyB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICBoMSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIH1cblxuICAgICAgICAubW9kYWxpdHktY2FyZCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJlc3VsdHMtc2VjdGlvbiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAzcmVtIDJyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuc3RhdC1udW1iZXIge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgICAgIH1cbiAgICB9XG59IiwiQHVzZSBcIi4uL2Fic3RyYWN0cy92YXJzXCI7XHJcbkBtaXhpbiBtYXgtd2lkdGgge1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIG1heC13aWR0aDogMTYwMHB4O1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDIzMDBweCkge1xyXG4gICAgICAgIG1heC13aWR0aDogMTQ0MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxODAwcHgpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAyNDBweCk7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDE0NDBweCkge1xyXG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDB2dyAtIDE5MHB4KTtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSA4MHB4KTtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwdncpO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwdncpO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMjBweDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGNlbC1tZCB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0NDBweCkge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbXgtdGFibGUge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHRhYmxlIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiB0YWJsZS1leHRyYSB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5NDBweCkge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gZGVza3RvcCB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGRlc2t0b3AtaW50ZXIge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI0MHB4KSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBkZXNrdG9wLW1lZGl1bSB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDQwcHgpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGRlc2t0b3AtZXh0cmEge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTgwMHB4KSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBwe1xyXG4gICAgZm9udC1zaXplOiAxOHB4OyAgIFxyXG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgIGZvbnQtZmFtaWx5OiBcIk51bml0b1wiLCBzYW5zLXNlcmlmO1xyXG4gICAgY29sb3I6IzMwMmUyZTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbn1cclxuQG1peGluIHN1YnRpdGxle1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgbWF4LXdpZHRoOiA3MDBweDtcclxuICAgIFxyXG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcclxuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICBmb250LWZhbWlseTogXCJOdW5pdG9cIiwgc2Fucy1zZXJpZjtcclxuICAgIGNvbG9yOiAjMzAyZTJlO1xyXG5cclxuICAgIEBpbmNsdWRlIHRhYmxlIHtcclxuICAgICAgIFxyXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIH1cclxuXHJcbn1cclxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/