/*!*****************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/style.scss ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************/
.auth-section {
  background: var(--background-color);
  background-image: radial-gradient(at 0% 0%, rgba(99, 102, 241, 0.1) 0, transparent 50%), radial-gradient(at 50% 0%, rgba(139, 92, 246, 0.1) 0, transparent 50%);
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
}

.auth-container {
  display: flex;
  gap: 40px;
  flex-wrap: wrap;
  justify-content: center;
}

.login-box,
.signup-box {
  background: var(--surface-color);
  border-radius: 20px;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05), 0 8px 10px -6px rgba(0, 0, 0, 0.05);
  padding: 40px 50px;
  width: 350px;
  text-align: center;
  border: 1px solid rgba(0, 0, 0, 0.05);
}

.login-box h2,
.signup-box h2 {
  margin-bottom: 25px;
  color: black;
}

input {
  width: 100%;
  padding: 12px;
  margin-bottom: 15px;
  border-radius: 5px;
  border: 1px solid #ddd;
  outline: none;
  font-size: 14px;
}

input:focus {
  border-color: var(--brand-color);
  box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.1);
}

.forgot {
  display: block;
  text-align: left;
  color: var(--brand-color);
  font-size: 14px;
  text-decoration: none;
  margin-bottom: 15px;
}

.forgot:hover {
  text-decoration: underline;
}

.login-box .btn,
.signup-box .btn {
  width: 100%;
}

.btn {
  background: var(--brand-gradient);
  color: white;
  border: none;
  border-radius: 12px;
  padding: 14px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}

.btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(99, 102, 241, 0.25);
  filter: brightness(1.1);
}

.btn-link {
  color: var(--brand-color);
  border: none;
  border-radius: 5px;
  padding: 12px;
  text-decoration: none;
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
}

.btn:hover {
  background: var(--brand-color);
}

p {
  font-size: 14px;
  color: #333;
  margin-top: 20px;
}

p a {
  color: var(--brand-color);
  text-decoration: none;
  font-weight: bold;
}

p a:hover {
  text-decoration: underline;
}

/* AI Assistant Section Styles */
.ai-glow-bg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 120%;
  height: 120%;
  background: radial-gradient(circle, rgba(99, 102, 241, 0.15) 0%, transparent 70%);
  z-index: 0;
}

.status-dot {
  width: 8px;
  height: 8px;
  background: #10b981;
  border-radius: 50%;
}

.pulse-success {
  animation: pulse-green 2s infinite;
}

@keyframes pulse-green {
  0% {
    box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7);
  }
  70% {
    box-shadow: 0 0 0 10px rgba(16, 185, 129, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(16, 185, 129, 0);
  }
}
.bg-primary-gradient {
  background: var(--brand-gradient);
  color: white;
}

.connected-node.center-node {
  cursor: pointer;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.connected-node.center-node:hover {
  transform: scale(1.05);
  box-shadow: 0 10px 30px rgba(99, 102, 241, 0.2);
}
/*!******************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/beauty.scss ***!
  \******************************************************************************************************************************************************************************************************************************************************************************/
/* --- Global Beauty Styles --- */
:root {
  --brand-color: #6366f1;
  --brand-gradient: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
}

.nav-link {
  transition: color 0.3s ease;
  position: relative;
}

.nav-link::before {
  display: none !important;
}

.nav-link::after {
  content: "";
  position: absolute;
  width: 0;
  height: 2px;
  bottom: 0;
  left: 0;
  background: var(--brand-color);
  transition: width 0.3s ease;
}

.nav-link:hover::after {
  width: 100%;
}

.btn-premium-gradient {
  background: var(--brand-gradient);
  border: none;
  color: white !important;
  transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
  box-shadow: 0 4px 15px rgba(99, 102, 241, 0.2);
  border-radius: 12px;
  padding: 10px 24px;
  font-weight: 600;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.btn-premium-gradient:hover {
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 12px 30px rgba(99, 102, 241, 0.35) !important;
  filter: brightness(1.1);
  color: white !important;
}

.btn-premium-gradient:active {
  transform: translateY(-1px) scale(0.98);
  box-shadow: 0 5px 15px rgba(99, 102, 241, 0.25) !important;
  filter: brightness(0.95);
}

.newsletter-form .input-group {
  transition: all 0.3s ease;
  border-radius: 12px;
  overflow: hidden;
}

.newsletter-form .input-group:focus-within {
  border-color: var(--brand-color) !important;
  box-shadow: 0 0 15px rgba(99, 102, 241, 0.2);
  background: rgba(255, 255, 255, 0.06) !important;
}

.newsletter-form button:hover {
  transform: scale(1.05);
  box-shadow: 0 5px 15px rgba(99, 102, 241, 0.4);
}

.animate-fade-in {
  animation: fade-in 0.3s ease-out forwards;
}

@keyframes fade-in {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.tracking-tight {
  letter-spacing: -0.02em;
}

/* --- Admin Form Beauty --- */
.medical-card-admin {
  background: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.05);
  border-radius: 20px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02);
  transition: all 0.3s ease;
}

.medical-input {
  border: 2px solid #f1f5f9 !important;
  border-radius: 12px !important;
  padding: 12px 16px !important;
  transition: all 0.3s ease !important;
  background: #f8fafc !important;
}

.medical-input:focus {
  border-color: var(--brand-color) !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.1) !important;
  outline: none !important;
}

.form-label-premium {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #64748b;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.form-label-premium i {
  color: var(--brand-color);
  font-size: 1rem;
}

.section-divider {
  height: 1px;
  background: linear-gradient(90deg, rgba(99, 102, 241, 0.1) 0%, rgba(99, 102, 241, 0.3) 50%, rgba(99, 102, 241, 0.1) 100%);
  margin: 32px 0;
}

.form-switch .form-check-input {
  width: 3em !important;
  height: 1.5em !important;
  cursor: pointer;
}

.form-switch .form-check-input:checked {
  background-color: var(--brand-color);
  border-color: var(--brand-color);
}

/* --- Bento Grid Redesign (Premium Apple/Modern Style) --- */
.bento-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: 280px;
  grid-gap: 24px;
  margin-top: 40px;
}

/* Mobile-first horizontal scroll for bento on small screens */
@media (max-width: 768px) {
  .bento-grid {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    grid-gap: 16px;
    padding-bottom: 20px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    margin-right: -15px; /* Bleed out of container */
    padding-right: 15px;
  }
  .bento-item {
    flex: 0 0 280px !important; /* Fixed width on mobile */
    height: 400px !important;
    scroll-snap-align: start;
  }
}
.bento-item {
  border-radius: 32px;
  position: relative;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.04);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
  transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  cursor: pointer;
  display: flex;
  flex-direction: column;
  padding: 32px;
}
.bento-item::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at top right, rgba(99, 102, 241, 0.03), transparent);
  z-index: 0;
}
.bento-item:hover {
  transform: translateY(-12px) scale(1.02);
  box-shadow: 0 40px 80px rgba(0, 0, 0, 0.1);
  border-color: rgba(99, 102, 241, 0.2);
}
.bento-item:hover .icon-box {
  transform: scale(1.1) rotate(10deg);
  background: var(--brand-gradient);
  color: white;
}
.bento-item:hover .btn-view-more {
  transform: translateX(5px);
  opacity: 1;
}

.department-card-large {
  grid-column: span 6;
  grid-row: span 2;
  background-color: #0f172a;
  color: white;
  justify-content: flex-end;
}
.department-card-large[style*=background-image]::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(15, 23, 42, 0.95) 0%, rgba(15, 23, 42, 0.4) 50%, transparent 100%);
  z-index: 1;
}
.department-card-large .icon-box, .department-card-large h4, .department-card-large p, .department-card-large .btn-view-more {
  position: relative;
  z-index: 2;
}
.department-card-large .icon-box {
  width: 64px;
  height: 64px;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: auto;
  font-size: 1.6rem;
  transition: all 0.4s ease;
  border: 1px solid rgba(255, 255, 255, 0.1);
}
.department-card-large h4 {
  color: white;
  font-size: 2.5rem;
  font-weight: 800;
  margin-bottom: 16px;
  letter-spacing: -0.03em;
}
.department-card-large p {
  color: rgba(255, 255, 255, 0.7);
  font-size: 1.15rem;
  line-height: 1.6;
  max-width: 90%;
}

.department-card-small {
  grid-column: span 3;
  grid-row: span 1;
}
.department-card-small.blue-theme {
  background: #f8fafc;
}
.department-card-small.blue-theme .icon-box {
  background: #ffffff;
  color: var(--brand-color);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}
.department-card-small[style*=background-image] {
  color: white;
  justify-content: flex-end;
}
.department-card-small[style*=background-image]::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(15, 23, 42, 0.9) 0%, rgba(15, 23, 42, 0.2) 70%, transparent 100%);
  z-index: 1;
}
.department-card-small[style*=background-image] .icon-box, .department-card-small[style*=background-image] h5, .department-card-small[style*=background-image] p, .department-card-small[style*=background-image] .btn-view-more {
  position: relative;
  z-index: 2;
}
.department-card-small[style*=background-image] h5 {
  color: white;
}
.department-card-small[style*=background-image] p {
  color: rgba(255, 255, 255, 0.7);
}
.department-card-small[style*=background-image] .icon-box {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.1);
  color: white;
}
.department-card-small .icon-box {
  width: 52px;
  height: 52px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  font-size: 1.3rem;
  transition: all 0.4s ease;
}
.department-card-small h5 {
  font-weight: 700;
  margin-bottom: 8px;
  font-size: 1.35rem;
  color: #0f172a;
  letter-spacing: -0.02em;
}
.department-card-small p {
  color: #64748b;
  font-size: 1rem;
  line-height: 1.5;
}

.btn-view-more {
  margin-top: 24px;
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  font-size: 0.9rem;
  color: var(--brand-color);
  transition: all 0.3s ease;
  opacity: 0.8;
}
.btn-view-more::after {
  content: "\f138"; /* bi-arrow-right-circle-fill */
  font-family: "bootstrap-icons";
  font-size: 1.2rem;
}

.department-card-large .btn-view-more {
  color: white;
  opacity: 0.6;
}

/* Hide scrollbar for bento grid on mobile */
.bento-grid::-webkit-scrollbar {
  display: none;
}

.bento-grid {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* Select2 Beauty */
.select2-container--default .select2-selection--multiple {
  border: 2px solid #f1f5f9 !important;
  border-radius: 12px !important;
  padding: 6px 10px !important;
  background: #f8fafc !important;
  transition: all 0.3s ease !important;
  min-height: 50px !important;
}

.select2-container--default.select2-container--focus .select2-selection--multiple {
  border-color: var(--brand-color) !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.1) !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
  background: var(--brand-gradient) !important;
  border: none !important;
  border-radius: 8px !important;
  color: white !important;
  padding: 4px 12px !important;
  margin-top: 6px !important;
  font-weight: 600 !important;
  font-size: 0.85rem !important;
  box-shadow: 0 2px 5px rgba(99, 102, 241, 0.2) !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  color: white !important;
  margin-right: 8px !important;
  border: none !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
  background: rgba(255, 255, 255, 0.2) !important;
}

.select2-dropdown {
  border: none !important;
  border-radius: 16px !important;
  box-shadow: 0 15px 50px rgba(0, 0, 0, 0.1) !important;
  overflow: hidden !important;
  margin-top: 8px !important;
}

.select2-results__option {
  padding: 12px 20px !important;
  transition: all 0.2s ease !important;
}

.select2-results__option--highlighted[aria-selected] {
  background-color: var(--brand-color) !important;
}

/* Checkbox Beauty */
.form-check-input {
  border: 2px solid #cbd5e1 !important;
  width: 1.25em !important;
  height: 1.25em !important;
}

.form-check-input:checked {
  background-color: var(--brand-color) !important;
  border-color: var(--brand-color) !important;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNzcyIsIm1hcHBpbmdzIjoiOzs7QUFBQTtFQUNJO0VBQ0EsK0pBQ0k7RUFFSjtFQUNBO0VBQ0E7RUFDQTtBQURKOztBQUlBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUFESjs7QUFJQTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQURKOztBQUlBOztFQUVJO0VBQ0E7QUFESjs7QUFJQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBREo7O0FBSUE7RUFDSTtFQUNBO0FBREo7O0FBSUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFESjs7QUFJQTtFQUNJO0FBREo7O0FBSUE7O0VBRUk7QUFESjs7QUFJQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQURKOztBQUlBO0VBQ0k7RUFDQTtFQUNBO0FBREo7O0FBSUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBREo7O0FBSUE7RUFDSTtBQURKOztBQUlBO0VBQ0k7RUFDQTtFQUNBO0FBREo7O0FBSUE7RUFDSTtFQUNBO0VBQ0E7QUFESjs7QUFJQTtFQUNJO0FBREo7O0FBSUE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFESjs7QUFHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FBQUo7O0FBRUE7RUFDSTtBQUNKOztBQUNBO0VBQ0k7SUFBSztFQUdQO0VBRkU7SUFBTTtFQUtSO0VBSkU7SUFBTztFQU9UO0FBQ0Y7QUFOQTtFQUNJO0VBQ0E7QUFRSjs7QUFOQTtFQUNJO0VBQ0E7QUFTSjs7QUFQQTtFQUNJO0VBQ0E7QUFVSixDOzs7O0FDbEtBO0FBQ0E7RUFDSTtFQUNBO0FBQ0o7O0FBRUE7RUFDSTtFQUNBO0FBQ0o7O0FBRUE7RUFDSTtBQUNKOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUNKOztBQUVBO0VBQ0k7QUFDSjs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUNKOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUFDSjs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtBQUNKOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0FBQ0o7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7QUFDSjs7QUFFQTtFQUNJO0VBQ0E7QUFDSjs7QUFFQTtFQUNJO0FBQ0o7O0FBRUE7RUFDSTtJQUFPO0lBQVk7RUFHckI7RUFGRTtJQUFLO0lBQVk7RUFNbkI7QUFDRjtBQUpBO0VBQ0k7QUFNSjs7QUFIQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQU1KOztBQUhBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQU1KOztBQUhBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUFNSjs7QUFIQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQU1KOztBQUhBO0VBQ0k7RUFDQTtBQU1KOztBQUhBO0VBQ0k7RUFDQTtFQUNBO0FBTUo7O0FBSEE7RUFDSTtFQUNBO0VBQ0E7QUFNSjs7QUFIQTtFQUNJO0VBQ0E7QUFNSjs7QUFIQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQU1KOztBQUhBO0FBQ0E7RUFDSTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFQU1OO0VBSEU7SUFDSTtJQUNBO0lBQ0E7RUFLTjtBQUNGO0FBRkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBSUo7QUFGSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFJUjtBQURJO0VBQ0k7RUFDQTtFQUNBO0FBR1I7QUFEUTtFQUNJO0VBQ0E7RUFDQTtBQUdaO0FBQVE7RUFDSTtFQUNBO0FBRVo7O0FBR0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBQUo7QUFHUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFEWjtBQUtJO0VBQW1DO0VBQW9CO0FBRDNEO0FBR0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQURSO0FBSUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBRlI7QUFLSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FBSFI7O0FBT0E7RUFDSTtFQUNBO0FBSko7QUFNSTtFQUNJO0FBSlI7QUFLUTtFQUFZO0VBQXFCO0VBQTJCO0FBQXBFO0FBR0k7RUFDSTtFQUNBO0FBRFI7QUFFUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFBWjtBQUVRO0VBQW1DO0VBQW9CO0FBRS9EO0FBRFE7RUFBSztBQUliO0FBSFE7RUFBSTtBQU1aO0FBTFE7RUFBWTtFQUFzQztFQUF3QztBQVVsRztBQVBJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBU1I7QUFOSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFRUjtBQUxJO0VBQ0k7RUFDQTtFQUNBO0FBT1I7O0FBSEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFNSjtBQUpJO0VBQ0k7RUFDQTtFQUNBO0FBTVI7O0FBRkE7RUFDSTtFQUNBO0FBS0o7O0FBRkE7QUFDQTtFQUNJO0FBS0o7O0FBSEE7RUFDSTtFQUNBO0FBTUo7O0FBSEE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQU1KOztBQUhBO0VBQ0k7RUFDQTtFQUNBO0FBTUo7O0FBSEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFNSjs7QUFIQTtFQUNJO0VBQ0E7RUFDQTtBQU1KOztBQUhBO0VBQ0k7QUFNSjs7QUFIQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFNSjs7QUFIQTtFQUNJO0VBQ0E7QUFNSjs7QUFIQTtFQUNJO0FBTUo7O0FBSEE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtBQU1KOztBQUhBO0VBQ0k7RUFDQTtBQU1KLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL3N0eWxlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9iZWF1dHkuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIuYXV0aC1zZWN0aW9uIHtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtY29sb3IpO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogXHJcbiAgICAgICAgcmFkaWFsLWdyYWRpZW50KGF0IDAlIDAlLCByZ2JhKDk5LCAxMDIsIDI0MSwgMC4xKSAwLCB0cmFuc3BhcmVudCA1MCUpLCBcclxuICAgICAgICByYWRpYWwtZ3JhZGllbnQoYXQgNTAlIDAlLCByZ2JhKDEzOSwgOTIsIDI0NiwgMC4xKSAwLCB0cmFuc3BhcmVudCA1MCUpO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGhlaWdodDogMTAwdmg7XHJcbn1cclxuXHJcbi5hdXRoLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZ2FwOiA0MHB4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi5sb2dpbi1ib3gsXHJcbi5zaWdudXAtYm94IHtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLXN1cmZhY2UtY29sb3IpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcclxuICAgIGJveC1zaGFkb3c6IDAgMTBweCAyNXB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjA1KSwgMCA4cHggMTBweCAtNnB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XHJcbiAgICBwYWRkaW5nOiA0MHB4IDUwcHg7XHJcbiAgICB3aWR0aDogMzUwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xyXG59XHJcblxyXG4ubG9naW4tYm94IGgyLFxyXG4uc2lnbnVwLWJveCBoMiB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG4gICAgY29sb3I6IGJsYWNrO1xyXG59XHJcblxyXG5pbnB1dCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBhZGRpbmc6IDEycHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbn1cclxuXHJcbmlucHV0OmZvY3VzIHtcclxuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYnJhbmQtY29sb3IpO1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoOTksIDEwMiwgMjQxLCAwLjEpO1xyXG59XHJcblxyXG4uZm9yZ290IHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIGNvbG9yOiB2YXIoLS1icmFuZC1jb2xvcik7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG59XHJcblxyXG4uZm9yZ290OmhvdmVyIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG59XHJcblxyXG4ubG9naW4tYm94IC5idG4sXHJcbi5zaWdudXAtYm94IC5idG4ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5idG4ge1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtZ3JhZGllbnQpO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcclxuICAgIHBhZGRpbmc6IDE0cHg7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcclxufVxyXG5cclxuLmJ0bjpob3ZlciB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XHJcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoOTksIDEwMiwgMjQxLCAwLjI1KTtcclxuICAgIGZpbHRlcjogYnJpZ2h0bmVzcygxLjEpO1xyXG59XHJcblxyXG4uYnRuLWxpbmsge1xyXG4gICAgY29sb3I6IHZhcigtLWJyYW5kLWNvbG9yKTtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIHBhZGRpbmc6IDEycHg7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmJ0bjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZC1jb2xvcik7XHJcbn1cclxuXHJcbnAge1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgY29sb3I6ICMzMzM7XHJcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG59XHJcblxyXG5wIGEge1xyXG4gICAgY29sb3I6IHZhcigtLWJyYW5kLWNvbG9yKTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG5wIGE6aG92ZXIge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbn1cclxuXHJcbi8qIEFJIEFzc2lzdGFudCBTZWN0aW9uIFN0eWxlcyAqL1xyXG4uYWktZ2xvdy1iZyB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgd2lkdGg6IDEyMCU7XHJcbiAgICBoZWlnaHQ6IDEyMCU7XHJcbiAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCByZ2JhKDk5LCAxMDIsIDI0MSwgMC4xNSkgMCUsIHRyYW5zcGFyZW50IDcwJSk7XHJcbiAgICB6LWluZGV4OiAwO1xyXG59XHJcbi5zdGF0dXMtZG90IHtcclxuICAgIHdpZHRoOiA4cHg7XHJcbiAgICBoZWlnaHQ6IDhweDtcclxuICAgIGJhY2tncm91bmQ6ICMxMGI5ODE7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbn1cclxuLnB1bHNlLXN1Y2Nlc3Mge1xyXG4gICAgYW5pbWF0aW9uOiBwdWxzZS1ncmVlbiAycyBpbmZpbml0ZTtcclxufVxyXG5Aa2V5ZnJhbWVzIHB1bHNlLWdyZWVuIHtcclxuICAgIDAlIHsgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDE2LCAxODUsIDEyOSwgMC43KTsgfVxyXG4gICAgNzAlIHsgYm94LXNoYWRvdzogMCAwIDAgMTBweCByZ2JhKDE2LCAxODUsIDEyOSwgMCk7IH1cclxuICAgIDEwMCUgeyBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMTYsIDE4NSwgMTI5LCAwKTsgfVxyXG59XHJcbi5iZy1wcmltYXJ5LWdyYWRpZW50IHtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWJyYW5kLWdyYWRpZW50KTtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxufVxyXG4uY29ubmVjdGVkLW5vZGUuY2VudGVyLW5vZGUge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZSwgYm94LXNoYWRvdyAwLjNzIGVhc2U7XHJcbn1cclxuLmNvbm5lY3RlZC1ub2RlLmNlbnRlci1ub2RlOmhvdmVyIHtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XHJcbiAgICBib3gtc2hhZG93OiAwIDEwcHggMzBweCByZ2JhKDk5LCAxMDIsIDI0MSwgMC4yKTtcclxufVxyIiwiLyogLS0tIEdsb2JhbCBCZWF1dHkgU3R5bGVzIC0tLSAqL1xyXG46cm9vdCB7XHJcbiAgICAtLWJyYW5kLWNvbG9yOiAjNjM2NmYxO1xyXG4gICAgLS1icmFuZC1ncmFkaWVudDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzYzNjZmMSAwJSwgIzhiNWNmNiAxMDAlKTtcclxufVxyXG5cclxuLm5hdi1saW5rIHtcclxuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLm5hdi1saW5rOjpiZWZvcmUge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubmF2LWxpbms6OmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgd2lkdGg6IDA7XHJcbiAgICBoZWlnaHQ6IDJweDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZC1jb2xvcik7XHJcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGVhc2U7XHJcbn1cclxuXHJcbi5uYXYtbGluazpob3Zlcjo6YWZ0ZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5idG4tcHJlbWl1bS1ncmFkaWVudCB7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZC1ncmFkaWVudCk7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSk7XHJcbiAgICBib3gtc2hhZG93OiAwIDRweCAxNXB4IHJnYmEoOTksIDEwMiwgMjQxLCAwLjIpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcclxuICAgIHBhZGRpbmc6IDEwcHggMjRweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICB0ZXh0LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxufVxyXG5cclxuLmJ0bi1wcmVtaXVtLWdyYWRpZW50OmhvdmVyIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KSBzY2FsZSgxLjAyKTtcclxuICAgIGJveC1zaGFkb3c6IDAgMTJweCAzMHB4IHJnYmEoOTksIDEwMiwgMjQxLCAwLjM1KSAhaW1wb3J0YW50O1xyXG4gICAgZmlsdGVyOiBicmlnaHRuZXNzKDEuMSk7XHJcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJ0bi1wcmVtaXVtLWdyYWRpZW50OmFjdGl2ZSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCkgc2NhbGUoMC45OCk7XHJcbiAgICBib3gtc2hhZG93OiAwIDVweCAxNXB4IHJnYmEoOTksIDEwMiwgMjQxLCAwLjI1KSAhaW1wb3J0YW50O1xyXG4gICAgZmlsdGVyOiBicmlnaHRuZXNzKDAuOTUpO1xyXG59XHJcblxyXG4ubmV3c2xldHRlci1mb3JtIC5pbnB1dC1ncm91cCB7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5uZXdzbGV0dGVyLWZvcm0gLmlucHV0LWdyb3VwOmZvY3VzLXdpdGhpbiB7XHJcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJyYW5kLWNvbG9yKSAhaW1wb3J0YW50O1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDE1cHggcmdiYSg5OSwgMTAyLCAyNDEsIDAuMik7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDYpICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5uZXdzbGV0dGVyLWZvcm0gYnV0dG9uOmhvdmVyIHtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XHJcbiAgICBib3gtc2hhZG93OiAwIDVweCAxNXB4IHJnYmEoOTksIDEwMiwgMjQxLCAwLjQpO1xyXG59XHJcblxyXG4uYW5pbWF0ZS1mYWRlLWluIHtcclxuICAgIGFuaW1hdGlvbjogZmFkZS1pbiAwLjNzIGVhc2Utb3V0IGZvcndhcmRzO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGUtaW4ge1xyXG4gICAgZnJvbSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTsgfVxyXG4gICAgdG8geyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cclxufVxyXG5cclxuLnRyYWNraW5nLXRpZ2h0IHtcclxuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xyXG59XHJcblxyXG4vKiAtLS0gQWRtaW4gRm9ybSBCZWF1dHkgLS0tICovXHJcbi5tZWRpY2FsLWNhcmQtYWRtaW4ge1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wNSk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDMwcHggcmdiYSgwLCAwLCAwLCAwLjAyKTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XHJcbn1cclxuXHJcbi5tZWRpY2FsLWlucHV0IHtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkICNmMWY1ZjkgIWltcG9ydGFudDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEycHggIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmc6IDEycHggMTZweCAhaW1wb3J0YW50O1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZSAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZDogI2Y4ZmFmYyAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubWVkaWNhbC1pbnB1dDpmb2N1cyB7XHJcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJyYW5kLWNvbG9yKSAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZiAhaW1wb3J0YW50O1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoOTksIDEwMiwgMjQxLCAwLjEpICFpbXBvcnRhbnQ7XHJcbiAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5mb3JtLWxhYmVsLXByZW1pdW0ge1xyXG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xyXG4gICAgY29sb3I6ICM2NDc0OGI7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGdhcDogOHB4O1xyXG59XHJcblxyXG4uZm9ybS1sYWJlbC1wcmVtaXVtIGkge1xyXG4gICAgY29sb3I6IHZhcigtLWJyYW5kLWNvbG9yKTtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxufVxyXG5cclxuLnNlY3Rpb24tZGl2aWRlciB7XHJcbiAgICBoZWlnaHQ6IDFweDtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSg5OSwgMTAyLCAyNDEsIDAuMSkgMCUsIHJnYmEoOTksIDEwMiwgMjQxLCAwLjMpIDUwJSwgcmdiYSg5OSwgMTAyLCAyNDEsIDAuMSkgMTAwJSk7XHJcbiAgICBtYXJnaW46IDMycHggMDtcclxufVxyXG5cclxuLmZvcm0tc3dpdGNoIC5mb3JtLWNoZWNrLWlucHV0IHtcclxuICAgIHdpZHRoOiAzZW0gIWltcG9ydGFudDtcclxuICAgIGhlaWdodDogMS41ZW0gIWltcG9ydGFudDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmZvcm0tc3dpdGNoIC5mb3JtLWNoZWNrLWlucHV0OmNoZWNrZWQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtY29sb3IpO1xyXG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icmFuZC1jb2xvcik7XHJcbn1cclxuXHJcbi8qIC0tLSBCZW50byBHcmlkIFJlZGVzaWduIChQcmVtaXVtIEFwcGxlL01vZGVybiBTdHlsZSkgLS0tICovXHJcbi5iZW50by1ncmlkIHtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMiwgMWZyKTtcclxuICAgIGdyaWQtYXV0by1yb3dzOiAyODBweDtcclxuICAgIGdyaWQtZ2FwOiAyNHB4O1xyXG4gICAgbWFyZ2luLXRvcDogNDBweDtcclxufVxyXG5cclxuLyogTW9iaWxlLWZpcnN0IGhvcml6b250YWwgc2Nyb2xsIGZvciBiZW50byBvbiBzbWFsbCBzY3JlZW5zICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG4gICAgLmJlbnRvLWdyaWQge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcclxuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50O1xyXG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgICBncmlkLWdhcDogMTZweDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgICAgICBzY3JvbGwtc25hcC10eXBlOiB4IG1hbmRhdG9yeTtcclxuICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTVweDsgLyogQmxlZWQgb3V0IG9mIGNvbnRhaW5lciAqL1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmJlbnRvLWl0ZW0ge1xyXG4gICAgICAgIGZsZXg6IDAgMCAyODBweCAhaW1wb3J0YW50OyAvKiBGaXhlZCB3aWR0aCBvbiBtb2JpbGUgKi9cclxuICAgICAgICBoZWlnaHQ6IDQwMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgc2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0O1xyXG4gICAgfVxyXG59XHJcblxyXG4uYmVudG8taXRlbSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAzMnB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMDQpO1xyXG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDMwcHggcmdiYSgwLCAwLCAwLCAwLjAzKTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzIGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBwYWRkaW5nOiAzMnB4O1xyXG5cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGluc2V0OiAwO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgdG9wIHJpZ2h0LCByZ2JhKDk5LCAxMDIsIDI0MSwgMC4wMyksIHRyYW5zcGFyZW50KTtcclxuICAgICAgICB6LWluZGV4OiAwO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTJweCkgc2NhbGUoMS4wMik7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCA0MHB4IDgwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSg5OSwgMTAyLCAyNDEsIDAuMik7XHJcblxyXG4gICAgICAgIC5pY29uLWJveCB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoMTBkZWcpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZC1ncmFkaWVudCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5idG4tdmlldy1tb3JlIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCk7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uZGVwYXJ0bWVudC1jYXJkLWxhcmdlIHtcclxuICAgIGdyaWQtY29sdW1uOiBzcGFuIDY7XHJcbiAgICBncmlkLXJvdzogc3BhbiAyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzBmMTcyYTtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcblxyXG4gICAgJltzdHlsZSo9XCJiYWNrZ3JvdW5kLWltYWdlXCJdIHtcclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGluc2V0OiAwO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDE1LCAyMywgNDIsIDAuOTUpIDAlLCByZ2JhKDE1LCAyMywgNDIsIDAuNCkgNTAlLCB0cmFuc3BhcmVudCAxMDAlKTtcclxuICAgICAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmljb24tYm94LCBoNCwgcCwgLmJ0bi12aWV3LW1vcmUgeyBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDI7IH1cclxuXHJcbiAgICAuaWNvbi1ib3gge1xyXG4gICAgICAgIHdpZHRoOiA2NHB4O1xyXG4gICAgICAgIGhlaWdodDogNjRweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XHJcbiAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xyXG4gICAgICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IGF1dG87XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XHJcbiAgICB9XHJcblxyXG4gICAgaDQge1xyXG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICBmb250LXNpemU6IDIuNXJlbTtcclxuICAgICAgICBmb250LXdlaWdodDogODAwO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XHJcbiAgICB9XHJcblxyXG4gICAgcCB7XHJcbiAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcclxuICAgICAgICBmb250LXNpemU6IDEuMTVyZW07XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcclxuICAgICAgICBtYXgtd2lkdGg6IDkwJTtcclxuICAgIH1cclxufVxyXG5cclxuLmRlcGFydG1lbnQtY2FyZC1zbWFsbCB7XHJcbiAgICBncmlkLWNvbHVtbjogc3BhbiAzO1xyXG4gICAgZ3JpZC1yb3c6IHNwYW4gMTtcclxuICAgIFxyXG4gICAgJi5ibHVlLXRoZW1lIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xyXG4gICAgICAgIC5pY29uLWJveCB7IGJhY2tncm91bmQ6ICNmZmZmZmY7IGNvbG9yOiB2YXIoLS1icmFuZC1jb2xvcik7IGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLDAsMCwwLjA1KTsgfVxyXG4gICAgfVxyXG5cclxuICAgICZbc3R5bGUqPVwiYmFja2dyb3VuZC1pbWFnZVwiXSB7XHJcbiAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBpbnNldDogMDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgxNSwgMjMsIDQyLCAwLjkpIDAlLCByZ2JhKDE1LCAyMywgNDIsIDAuMikgNzAlLCB0cmFuc3BhcmVudCAxMDAlKTtcclxuICAgICAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmljb24tYm94LCBoNSwgcCwgLmJ0bi12aWV3LW1vcmUgeyBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDI7IH1cclxuICAgICAgICBoNSB7IGNvbG9yOiB3aGl0ZTsgfVxyXG4gICAgICAgIHAgeyBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XHJcbiAgICAgICAgLmljb24tYm94IHsgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpOyBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTsgY29sb3I6IHdoaXRlOyB9XHJcbiAgICB9XHJcblxyXG4gICAgLmljb24tYm94IHtcclxuICAgICAgICB3aWR0aDogNTJweDtcclxuICAgICAgICBoZWlnaHQ6IDUycHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTZweDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlO1xyXG4gICAgfVxyXG5cclxuICAgIGg1IHtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcclxuICAgICAgICBmb250LXNpemU6IDEuMzVyZW07XHJcbiAgICAgICAgY29sb3I6ICMwZjE3MmE7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XHJcbiAgICB9XHJcblxyXG4gICAgcCB7XHJcbiAgICAgICAgY29sb3I6ICM2NDc0OGI7XHJcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5idG4tdmlldy1tb3JlIHtcclxuICAgIG1hcmdpbi10b3A6IDI0cHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGdhcDogOHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xyXG4gICAgY29sb3I6IHZhcigtLWJyYW5kLWNvbG9yKTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XHJcbiAgICBvcGFjaXR5OiAwLjg7XHJcblxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICdcXEYxMzgnOyAvKiBiaS1hcnJvdy1yaWdodC1jaXJjbGUtZmlsbCAqL1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImJvb3RzdHJhcC1pY29uc1wiO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZGVwYXJ0bWVudC1jYXJkLWxhcmdlIC5idG4tdmlldy1tb3JlIHtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIG9wYWNpdHk6IDAuNjtcclxufVxyXG5cclxuLyogSGlkZSBzY3JvbGxiYXIgZm9yIGJlbnRvIGdyaWQgb24gbW9iaWxlICovXHJcbi5iZW50by1ncmlkOjotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcbi5iZW50by1ncmlkIHtcclxuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTtcclxuICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTtcclxufVxyXG5cclxuLyogU2VsZWN0MiBCZWF1dHkgKi9cclxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgI2YxZjVmOSAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTJweCAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZzogNnB4IDEwcHggIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQ6ICNmOGZhZmMgIWltcG9ydGFudDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UgIWltcG9ydGFudDtcclxuICAgIG1pbi1oZWlnaHQ6IDUwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1mb2N1cyAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcclxuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYnJhbmQtY29sb3IpICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmICFpbXBvcnRhbnQ7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSg5OSwgMTAyLCAyNDEsIDAuMSkgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2Uge1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtZ3JhZGllbnQpICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweCAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICBwYWRkaW5nOiA0cHggMTJweCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luLXRvcDogNnB4ICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXdlaWdodDogNjAwICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXNpemU6IDAuODVyZW0gIWltcG9ydGFudDtcclxuICAgIGJveC1zaGFkb3c6IDAgMnB4IDVweCByZ2JhKDk5LCAxMDIsIDI0MSwgMC4yKSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZV9fcmVtb3ZlIHtcclxuICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA4cHggIWltcG9ydGFudDtcclxuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZV9fcmVtb3ZlOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uc2VsZWN0Mi1kcm9wZG93biB7XHJcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDE2cHggIWltcG9ydGFudDtcclxuICAgIGJveC1zaGFkb3c6IDAgMTVweCA1MHB4IHJnYmEoMCwgMCwgMCwgMC4xKSAhaW1wb3J0YW50O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luLXRvcDogOHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiB7XHJcbiAgICBwYWRkaW5nOiAxMnB4IDIwcHggIWltcG9ydGFudDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uLS1oaWdobGlnaHRlZFthcmlhLXNlbGVjdGVkXSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1jb2xvcikgIWltcG9ydGFudDtcclxufVxyXG5cclxuLyogQ2hlY2tib3ggQmVhdXR5ICovXHJcbi5mb3JtLWNoZWNrLWlucHV0IHtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkICNjYmQ1ZTEgIWltcG9ydGFudDtcclxuICAgIHdpZHRoOiAxLjI1ZW0gIWltcG9ydGFudDtcclxuICAgIGhlaWdodDogMS4yNWVtICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5mb3JtLWNoZWNrLWlucHV0OmNoZWNrZWQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtY29sb3IpICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJyYW5kLWNvbG9yKSAhaW1wb3J0YW50O1xyXG59XHJcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/