/* css/gallery.css */
:root {
  --crt-black: #0a0806;
  --crt-dark: #1a1612;
  --crt-amber: #ffb000;
  --crt-amber-dim: #996600;
  --crt-green: #33ff33;
  --crt-red: #ff3333;
  --kodak-yellow: #ffd700;
  --kodak-red: #c41e3a;
  --film-border: #2a2420;
  --paper-cream: #f5f0e6;
  --paper-aged: #e8e0d0;
  --font-mono:
    "Share Tech Mono",
    "Courier New",
    monospace;
  --font-display: "VT323", monospace;
  --spacing-xs: 4px;
  --spacing-sm: 8px;
  --spacing-md: 12px;
  --spacing-lg: 16px;
  --spacing-xl: 24px;
  --touch-target-min: 44px;
}
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
.no-select {
  -webkit-user-select: none;
  user-select: none;
}
.app-shell {
  position: fixed;
  inset: 0;
  background: var(--crt-black);
  color: var(--crt-amber);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  font-family: var(--font-mono);
  font-size: 11px;
}
.app-shell.theme-terminal::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background: repeating-linear-gradient(0deg, transparent 0px, transparent 2px, rgba(0, 0, 0, 0.15) 2px, rgba(0, 0, 0, 0.15) 4px);
  z-index: 9999;
}
.app-shell.sidebar-hidden .sidebar {
  display: none;
}
.header-bar {
  background: linear-gradient(180deg, #2a2622 0%, #1a1612 100%);
  border-bottom: 2px solid #3a3632;
  padding: 6px 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-shrink: 0;
}
.header-brand {
  font-family: var(--font-display);
  font-size: 16px;
  letter-spacing: 3px;
  color: var(--crt-amber);
  text-shadow: 0 0 10px rgba(255, 176, 0, 0.5);
}
.header-status {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 10px;
}
.rec-indicator {
  display: flex;
  align-items: center;
  gap: 4px;
  color: var(--crt-red);
}
.rec-dot {
  width: 8px;
  height: 8px;
  background: var(--crt-red);
  border-radius: 50%;
}
.rec-dot.active {
  animation: blink-rec 1s infinite;
}
.rec-indicator.inactive {
  color: var(--crt-amber-dim);
}
.rec-indicator.inactive .rec-dot {
  background: var(--crt-amber-dim);
}
@keyframes blink-rec {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.3;
  }
}
.stage {
  flex: 1;
  min-height: 0;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  background: var(--crt-black);
  padding: var(--spacing-sm);
  overflow: hidden;
}
.stage .nav-controls {
  width: 100%;
  border-top: none;
  border-bottom: 2px solid #3a3632;
}
.stage .hero-wrapper {
  flex: 1;
  min-height: 0;
}
.hero-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: calc(100% - 16px);
  max-height: calc(100% - 16px);
  background: var(--film-border);
  padding: 4px;
  box-shadow: inset 0 0 30px rgba(0, 0, 0, 0.5), 0 0 20px rgba(255, 176, 0, 0.1);
}
.stage img.hero {
  max-width: 100%;
  max-height: calc(100vh - 200px);
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}
.tap-zone {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 25%;
  z-index: 50;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.tap-zone.prev {
  left: 0;
}
.tap-zone.next {
  right: 0;
}
.tap-zone:active {
  background: rgba(255, 176, 0, 0.1);
}
.date-stamp {
  position: absolute;
  bottom: 12px;
  right: 12px;
  font-family: var(--font-display);
  font-size: 14px;
  color: var(--kodak-red);
  background: rgba(255, 215, 0, 0.9);
  padding: 2px 8px;
  letter-spacing: 1px;
}
.frame-counter {
  position: absolute;
  top: 8px;
  left: 8px;
  font-family: var(--font-display);
  font-size: 12px;
  color: var(--crt-amber);
  background: rgba(0, 0, 0, 0.7);
  padding: 2px 6px;
  letter-spacing: 2px;
}
.banner {
  position: absolute;
  top: 8px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 100;
  background: var(--crt-red);
  color: white;
  padding: 4px 16px;
  font-family: var(--font-display);
  font-size: 14px;
  letter-spacing: 2px;
  text-transform: uppercase;
  animation: flash-banner 2s infinite;
}
@keyframes flash-banner {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.7;
  }
}
.filter-banner {
  position: absolute;
  bottom: 8px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 100;
  background: var(--crt-green);
  color: var(--crt-black);
  padding: 4px 12px;
  font-family: var(--font-display);
  font-size: 12px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.filter-banner button {
  background: var(--crt-black);
  border: none;
  color: var(--crt-green);
  padding: 2px 8px;
  font-family: inherit;
  cursor: pointer;
}
.filter-banner.object-filter {
  background: var(--crt-amber);
  color: var(--crt-black);
}
.filter-banner.object-filter button {
  color: var(--crt-amber);
}
.download-all-btn {
  background: #f0c060;
  color: #0a0a0a;
  padding: 4px 12px;
  margin: 0 8px;
  text-decoration: none;
  font-weight: bold;
  border-radius: 4px;
}
.download-all-btn:hover {
  background: #ffd080;
}
.sidebar {
  background: var(--crt-dark);
  border-top: 2px solid #3a3632;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  height: 160px;
  padding-bottom: 45px;
}
.sidebar.hidden {
  display: none;
}
.strip-header {
  background: var(--film-border);
  padding: 4px 8px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 9px;
  color: var(--crt-amber-dim);
  text-transform: uppercase;
  letter-spacing: 1px;
  border-bottom: 1px solid #3a3632;
}
.scroll-wrapper {
  flex: 1;
  overflow-x: auto;
  overflow-y: hidden;
  background: var(--film-border);
  -webkit-overflow-scrolling: touch;
}
.grid {
  display: flex;
  gap: 2px;
  padding: 4px 16px;
  height: 100%;
}
.scroll-wrapper::before,
.scroll-wrapper::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 14px;
  background: repeating-linear-gradient(180deg, var(--film-border) 0px, var(--film-border) 6px, #0a0806 6px, #0a0806 12px);
  z-index: 10;
}
.thumb {
  flex-shrink: 0;
  width: 70px;
  height: 100%;
  position: relative;
  cursor: pointer;
  background: #1a1410;
  padding: 2px;
  opacity: 0.6;
}
.thumb.active {
  opacity: 1;
  outline: 2px solid var(--crt-amber);
  outline-offset: 1px;
}
.thumb picture {
  display: contents;
}
.thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #0a0806;
}
.thumb::after {
  content: attr(data-frame);
  position: absolute;
  bottom: 1px;
  right: 2px;
  font-size: 8px;
  color: var(--kodak-red);
  font-family: var(--font-display);
}
.nav-controls {
  background: linear-gradient(180deg, #2a2622 0%, #1a1612 100%);
  border-top: 2px solid #3a3632;
  padding: 6px 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  height: 48px;
  position: relative;
  z-index: 150;
}
.nav-btn {
  background: linear-gradient(180deg, #3a3632 0%, #2a2622 50%, #1a1612 100%);
  border: 2px solid #4a4642;
  border-bottom-color: #1a1612;
  border-right-color: #1a1612;
  color: var(--crt-amber);
  font-family: var(--font-display);
  font-size: 16px;
  padding: 6px 10px;
  cursor: pointer;
  min-width: 36px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
}
.nav-btn:active {
  border-color: #1a1612;
  border-top-color: #4a4642;
  border-left-color: #4a4642;
  background: linear-gradient(180deg, #1a1612 0%, #2a2622 50%, #3a3632 100%);
}
.nav-btn.active {
  color: var(--crt-green);
  text-shadow: 0 0 8px var(--crt-green);
}
.nav-btn.icon-btn {
  display: none;
}
.nav-spacer {
  display: none;
}
.date-display {
  background: #1a0a00;
  border: 3px inset #3a2a1a;
  padding: 4px 12px;
  cursor: pointer;
  min-width: 100px;
  text-align: center;
}
.date-text {
  font-family: var(--font-display);
  font-size: 14px;
  color: var(--crt-amber);
  text-shadow: 0 0 8px var(--crt-amber);
  letter-spacing: 1px;
  display: block;
}
.date-detail {
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--crt-amber-dim);
  margin-top: 2px;
}
.search-container {
  display: none;
  position: relative;
}
.search-container.active {
  display: flex;
  align-items: center;
}
.search-input {
  background: var(--crt-black);
  border: 2px solid var(--crt-amber);
  color: var(--crt-amber);
  font-family: var(--font-display);
  font-size: 14px;
  padding: 4px 8px;
  width: 150px;
  outline: none;
}
.search-input::placeholder {
  color: rgba(255, 176, 0, 0.5);
}
.search-input:focus {
  border-color: var(--crt-green);
  box-shadow: 0 0 8px rgba(51, 255, 51, 0.3);
}
.search-results-count {
  color: var(--crt-amber);
  font-family: var(--font-display);
  font-size: 12px;
  margin-left: 4px;
  opacity: 0.7;
}
.search-banner {
  background: linear-gradient(180deg, #2a2622 0%, #1a1612 100%);
  border: 1px solid var(--crt-amber);
  padding: 4px 12px;
  margin: 4px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-family: var(--font-display);
  color: var(--crt-amber);
  font-size: 14px;
}
.search-banner button {
  background: none;
  border: 1px solid var(--crt-amber);
  color: var(--crt-amber);
  font-family: var(--font-display);
  font-size: 12px;
  padding: 2px 8px;
  cursor: pointer;
  margin-left: 8px;
}
.search-banner button:hover {
  background: rgba(255, 176, 0, 0.2);
}
.date-select {
  background: #1a0a00;
  border: 3px inset #3a2a1a;
  padding: 8px 12px;
  color: var(--crt-amber);
  font-family: var(--font-display);
  font-size: 18px;
  text-shadow: 0 0 8px var(--crt-amber);
  cursor: pointer;
  min-width: 140px;
  text-align: center;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.date-select option {
  background: #1a0a00;
  color: var(--crt-amber);
  font-size: 16px;
  padding: 8px;
}
.meta-display {
  display: none;
  background: linear-gradient(180deg, #e8e0d0 0%, #d0c8b8 100%);
  border: 1px solid #a09080;
  padding: 8px 10px;
  color: #1a1a1a;
  font-size: 9px;
  position: relative;
}
.meta-display::before {
  content: "PHOTO DATA";
  position: absolute;
  top: -8px;
  left: 8px;
  background: #d0c8b8;
  padding: 0 4px;
  font-size: 8px;
  color: #666;
  letter-spacing: 1px;
}
.meta-row {
  display: flex;
  justify-content: space-between;
  padding: 2px 0;
  border-bottom: 1px dotted #a09080;
}
.meta-row:last-child {
  border-bottom: none;
}
.meta-val {
  font-weight: bold;
  color: var(--kodak-red);
  font-family: var(--font-display);
}
.meta-id {
  color: #333;
}
.desktop-exposure {
  display: none;
  margin-top: 6px;
}
.meta-tags,
.meta-objects {
  margin-top: 6px;
  flex-wrap: wrap;
}
.meta-tags-val,
.meta-objects-val {
  font-size: 8px;
  line-height: 1.4;
}
.meta-scene {
  margin-top: 6px;
  flex-direction: column;
  align-items: flex-start;
}
.meta-scene > span:first-child {
  margin-bottom: 2px;
}
.meta-scene-val {
  font-size: 8px;
  line-height: 1.3;
  max-width: 100%;
  white-space: normal;
  word-wrap: break-word;
}
.download-panel {
  display: none;
  padding: 8px;
  background: var(--crt-dark);
  border-top: 1px solid #3a3632;
}
.download-btn {
  display: block;
  width: 100%;
  text-align: center;
  background: var(--kodak-yellow);
  color: var(--kodak-red);
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: bold;
  padding: 10px;
  text-transform: uppercase;
  letter-spacing: 2px;
  text-decoration: none;
  border: 2px solid var(--kodak-red);
}
.download-btn:active {
  background: var(--kodak-red);
  color: var(--kodak-yellow);
}
.share-panel {
  display: none;
  padding: 8px;
  background: var(--crt-dark);
  border-top: 1px solid #3a3632;
}
.share-btn {
  display: block;
  width: 100%;
  text-align: center;
  background: #2a4a2a;
  color: #60f060;
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: bold;
  padding: 10px;
  text-transform: uppercase;
  letter-spacing: 2px;
  border: 2px solid #60f060;
  cursor: pointer;
}
.share-btn:hover {
  background: #3a5a3a;
}
.share-btn:active {
  background: #60f060;
  color: #2a4a2a;
}
.share-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.85);
  z-index: 600;
}
.share-modal {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  max-width: 450px;
  background: #1a1a1a;
  border: 2px solid #60f060;
  z-index: 601;
  font-family: var(--font-display);
}
.share-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  background: #2a4a2a;
  color: #60f060;
  font-size: 16px;
  letter-spacing: 2px;
}
.share-modal-header button {
  background: transparent;
  border: 1px solid #60f060;
  color: #60f060;
  padding: 4px 10px;
  cursor: pointer;
  font-family: var(--font-display);
}
.share-modal-header button:hover {
  background: #60f060;
  color: #1a1a1a;
}
.share-modal-content {
  padding: 20px;
}
.share-description {
  color: #aaa;
  font-size: 14px;
  margin-bottom: 16px;
  line-height: 1.5;
}
.share-url-container {
  display: flex;
  gap: 8px;
  margin-bottom: 8px;
}
.share-url-input {
  flex: 1;
  background: #0a0a0a;
  border: 1px solid #444;
  color: #f0c060;
  padding: 10px 12px;
  font-family:
    "SF Mono",
    Monaco,
    monospace;
  font-size: 12px;
}
.copy-btn {
  background: #f0c060;
  color: #1a1a1a;
  border: none;
  padding: 10px 16px;
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: bold;
  cursor: pointer;
  letter-spacing: 1px;
}
.copy-btn:hover {
  background: #ffd080;
}
.copy-btn.copied {
  background: #60f060;
}
.share-copy-feedback {
  color: #60f060;
  font-size: 12px;
  min-height: 18px;
  margin-bottom: 12px;
}
.share-section-label {
  color: #666;
  font-size: 11px;
  letter-spacing: 1px;
  margin-bottom: 8px;
  margin-top: 8px;
}
.share-email-form {
  margin-bottom: 8px;
}
.share-email-container {
  display: flex;
  gap: 8px;
}
.share-email-input {
  flex: 1;
  background: #0a0a0a;
  border: 1px solid #444;
  color: #fff;
  padding: 10px 12px;
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    sans-serif;
  font-size: 14px;
}
.share-email-input::placeholder {
  color: #666;
}
.share-email-input:focus {
  outline: none;
  border-color: #60f060;
}
.send-btn {
  background: #60f060;
  color: #1a1a1a;
  border: none;
  padding: 10px 20px;
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: bold;
  cursor: pointer;
  letter-spacing: 1px;
  min-width: 70px;
}
.send-btn:hover {
  background: #80ff80;
}
.send-btn:disabled {
  background: #444;
  color: #888;
  cursor: not-allowed;
}
.share-email-feedback {
  font-size: 12px;
  margin-top: 8px;
  margin-bottom: 8px;
}
.share-email-feedback.success {
  color: #60f060;
}
.share-email-feedback.error {
  color: #ff6b6b;
}
.share-note {
  color: #666;
  font-size: 12px;
  text-align: center;
}
.info-modal {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.95);
  z-index: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.info-content {
  max-width: 400px;
  width: 100%;
  background: var(--paper-cream);
  color: #1a1a1a;
  padding: 20px;
  font-family:
    "Courier Prime",
    "Courier New",
    monospace;
  border: 3px double #1a1a1a;
  max-height: 90vh;
  overflow-y: auto;
}
.info-header {
  border-bottom: 2px solid #1a1a1a;
  padding-bottom: 10px;
  margin-bottom: 15px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.info-title {
  font-family: "Times New Roman", serif;
  font-size: 18px;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 3px;
}
.close-btn {
  background: #1a1a1a;
  border: none;
  color: var(--paper-cream);
  padding: 5px 10px;
  font-family: var(--font-display);
  font-size: 12px;
  cursor: pointer;
}
.info-text {
  font-size: 12px;
  line-height: 1.6;
  margin-bottom: 15px;
}
.shortcut-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 11px;
}
.shortcut-table td {
  padding: 6px 0;
  border-bottom: 1px dotted #999;
}
.shortcut-key {
  background: #1a1a1a;
  color: var(--paper-cream);
  padding: 2px 6px;
  font-family: var(--font-display);
  font-size: 12px;
}
.desktop-only {
  display: none;
}
.date-picker {
  position: fixed;
  top: 80px;
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #2a2622 0%, #1a1612 100%);
  border: 3px solid var(--crt-amber);
  padding: 12px;
  z-index: 300;
  font-family: var(--font-display);
}
.date-picker select {
  background: #1a0a00;
  border: 2px inset #3a2a1a;
  color: var(--crt-amber);
  padding: 8px;
  font-size: 14px;
  font-family: var(--font-display);
  width: 200px;
}
.date-picker select option {
  background: #1a0a00;
  color: var(--crt-amber);
  padding: 4px;
}
.date-picker-btns {
  display: flex;
  gap: 8px;
  margin-top: 10px;
}
.date-picker-btns button {
  flex: 1;
  background: var(--crt-amber);
  border: none;
  color: var(--crt-black);
  padding: 8px;
  font-family: inherit;
  font-size: 14px;
  font-weight: bold;
  cursor: pointer;
}
.face-container {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.face-box {
  position: absolute;
  border: 2px solid var(--crt-green);
  background: rgba(51, 255, 51, 0.1);
  cursor: pointer;
  pointer-events: auto;
}
.face-box .face-label {
  position: absolute;
  bottom: -16px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--crt-black);
  color: var(--crt-green);
  font-family: var(--font-display);
  font-size: 10px;
  padding: 1px 6px;
  white-space: nowrap;
  opacity: 0;
}
.face-box:active .face-label {
  opacity: 1;
}
.object-container {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.object-box {
  position: absolute;
  border: 2px solid var(--crt-amber);
  background: rgba(255, 176, 0, 0.15);
  cursor: pointer;
  pointer-events: auto;
}
.object-box .object-label {
  position: absolute;
  bottom: -18px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--crt-black);
  color: var(--crt-amber);
  font-family: var(--font-display);
  font-size: 10px;
  padding: 2px 6px;
  white-space: nowrap;
  opacity: 0;
  max-width: 150px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.object-box:hover .object-label,
.object-box:active .object-label {
  opacity: 1;
}
.video-container {
  position: relative;
  width: 100%;
  height: 100%;
  background: var(--crt-black);
}
.video-container video {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #000;
}
.video-container::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  box-shadow: inset 0 0 100px rgba(255, 176, 0, 0.03);
  z-index: 1;
}
.vcr-controls {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
  padding: 40px 15px 15px;
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: var(--font-display);
  opacity: 0;
  transition: opacity 0.3s;
  z-index: 10;
}
.video-container:hover .vcr-controls,
.video-container.controls-visible .vcr-controls {
  opacity: 1;
}
.vcr-btn {
  background: transparent;
  border: 2px solid var(--crt-amber);
  color: var(--crt-amber);
  padding: 6px 12px;
  font-family: var(--font-display);
  font-size: 14px;
  cursor: pointer;
  text-shadow: 0 0 5px var(--crt-amber);
}
.vcr-btn:hover {
  background: var(--crt-amber);
  color: var(--crt-black);
}
.vcr-btn.active {
  background: var(--crt-green);
  border-color: var(--crt-green);
  color: var(--crt-black);
  text-shadow: none;
}
.vcr-timeline {
  flex: 1;
  height: 8px;
  background: var(--crt-dark);
  border: 1px solid var(--crt-amber-dim);
  cursor: pointer;
  position: relative;
}
.vcr-timeline-progress {
  height: 100%;
  background: var(--crt-amber);
  box-shadow: 0 0 8px var(--crt-amber);
  width: 0%;
  transition: width 0.1s linear;
}
.vcr-timeline-handle {
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 12px;
  height: 12px;
  background: var(--crt-amber);
  border: 2px solid var(--crt-black);
  box-shadow: 0 0 8px var(--crt-amber);
}
.vcr-time {
  color: var(--crt-amber);
  font-size: 14px;
  min-width: 90px;
  text-align: center;
  text-shadow: 0 0 5px var(--crt-amber);
  letter-spacing: 1px;
}
.vcr-volume {
  display: flex;
  align-items: center;
  gap: 6px;
}
.vcr-volume-slider {
  width: 60px;
  height: 6px;
  background: var(--crt-dark);
  border: 1px solid var(--crt-amber-dim);
  appearance: none;
  cursor: pointer;
}
.vcr-volume-slider::-webkit-slider-thumb {
  appearance: none;
  width: 10px;
  height: 14px;
  background: var(--crt-amber);
  border: 1px solid var(--crt-black);
  box-shadow: 0 0 5px var(--crt-amber);
  cursor: pointer;
}
.vcr-muted-indicator {
  position: absolute;
  top: 15px;
  right: 15px;
  background: rgba(0, 0, 0, 0.7);
  border: 2px solid var(--crt-red);
  color: var(--crt-red);
  padding: 5px 10px;
  font-family: var(--font-display);
  font-size: 12px;
  text-shadow: 0 0 5px var(--crt-red);
  z-index: 10;
  animation: blink 1s ease-in-out infinite;
}
@keyframes blink {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
.vcr-waveform {
  position: absolute;
  bottom: 70px;
  left: 15px;
  right: 15px;
  height: 30px;
  display: flex;
  align-items: flex-end;
  gap: 2px;
  opacity: 0;
  transition: opacity 0.3s;
}
.video-container:hover .vcr-waveform,
.video-container.controls-visible .vcr-waveform {
  opacity: 0.7;
}
.vcr-waveform-bar {
  flex: 1;
  background: var(--crt-green);
  box-shadow: 0 0 4px var(--crt-green);
  min-height: 2px;
  transition: height 0.05s;
}
.vcr-rec {
  position: absolute;
  top: 15px;
  left: 15px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--crt-red);
  font-family: var(--font-display);
  font-size: 14px;
  text-shadow: 0 0 8px var(--crt-red);
  z-index: 10;
}
.vcr-rec-dot {
  width: 10px;
  height: 10px;
  background: var(--crt-red);
  border-radius: 50%;
  box-shadow: 0 0 8px var(--crt-red);
  animation: blink 1s ease-in-out infinite;
}
.vcr-timestamp {
  position: absolute;
  top: 15px;
  left: 50%;
  transform: translateX(-50%);
  color: var(--crt-amber);
  font-family: var(--font-display);
  font-size: 14px;
  text-shadow: 0 0 5px var(--crt-amber);
  background: rgba(0, 0, 0, 0.5);
  padding: 3px 8px;
  z-index: 10;
}
.video-touch-area {
  position: absolute;
  inset: 0;
  z-index: 5;
  cursor: pointer;
}
.video-play-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.3);
  z-index: 6;
  cursor: pointer;
}
.video-play-overlay .play-icon {
  width: 80px;
  height: 80px;
  border: 4px solid var(--crt-amber);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--crt-amber);
  font-size: 40px;
  text-shadow: 0 0 20px var(--crt-amber);
  box-shadow: 0 0 30px rgba(255, 176, 0, 0.3);
}
.video-play-overlay:hover .play-icon {
  background: var(--crt-amber);
  color: var(--crt-black);
  text-shadow: none;
}
.sidebar-toggle {
  position: fixed;
  bottom: 60px;
  right: 10px;
  z-index: 150;
  background: var(--crt-amber);
  border: 2px solid var(--crt-black);
  color: var(--crt-black);
  padding: 8px 12px;
  font-family: var(--font-display);
  font-size: 12px;
  cursor: pointer;
}
.pin-screen {
  position: fixed;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: var(--crt-black);
  z-index: 1000;
  padding: 20px;
}
.pin-screen h1 {
  font-family: var(--font-display);
  font-size: 18px;
  color: var(--crt-amber-dim);
  letter-spacing: 4px;
  margin-bottom: 30px;
}
.pin-screen h2 {
  font-family: var(--font-display);
  font-size: 24px;
  color: var(--crt-amber);
  letter-spacing: 3px;
  margin-bottom: 25px;
  text-shadow: 0 0 10px var(--crt-amber);
}
.pin-screen form {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
}
.pin-screen input {
  background: #1a0a00;
  border: 3px inset #3a2a1a;
  color: var(--crt-amber);
  padding: 16px;
  font-size: 32px;
  font-family: var(--font-display);
  text-align: center;
  letter-spacing: 10px;
  width: 220px;
}
.pin-screen .submit-btn {
  background: linear-gradient(180deg, #3a3632 0%, #2a2622 50%, #1a1612 100%);
  border: 3px solid var(--crt-amber);
  color: var(--crt-amber);
  font-family: var(--font-display);
  font-size: 20px;
  padding: 12px 40px;
  cursor: pointer;
  letter-spacing: 2px;
  text-shadow: 0 0 8px var(--crt-amber);
}
.pin-screen .submit-btn:active {
  background: linear-gradient(180deg, #1a1612 0%, #2a2622 50%, #3a3632 100%);
}
.pin-screen .error {
  color: var(--crt-red);
  margin-top: 10px;
  font-family: var(--font-display);
  font-size: 18px;
}
.pin-screen .hint {
  color: var(--crt-amber-dim);
  margin-top: 25px;
  font-size: 14px;
  font-family: var(--font-display);
}
.contact-sheet-toggle {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(180deg, #2a2622 0%, #1a1612 100%);
  border-top: 2px solid var(--crt-amber);
  padding: 8px;
  text-align: center;
  cursor: pointer;
  z-index: 100;
}
.contact-sheet-toggle span {
  color: var(--crt-amber);
  font-family: var(--font-display);
  font-size: 16px;
}
.contact-sheet {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: 70vh;
  background: var(--crt-black);
  border-top: 3px solid var(--crt-amber);
  z-index: 200;
  display: flex;
  flex-direction: column;
  animation: slideUp 0.2s ease-out;
}
@keyframes slideUp {
  from {
    transform: translateY(100%);
  }
  to {
    transform: translateY(0);
  }
}
.contact-sheet-header {
  background: linear-gradient(180deg, #2a2622 0%, #1a1612 100%);
  padding: 10px 15px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 2px solid #3a3632;
}
.contact-sheet-header span {
  color: var(--crt-amber);
  font-family: var(--font-display);
  font-size: 16px;
}
.contact-sheet-header button {
  background: none;
  border: 2px solid var(--crt-amber);
  color: var(--crt-amber);
  font-family: var(--font-display);
  font-size: 14px;
  padding: 4px 12px;
  cursor: pointer;
}
.contact-sheet-grid {
  flex: 1;
  overflow-y: auto;
  padding: 10px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
.contact-sheet-grid picture {
  display: contents;
}
.contact-sheet-grid img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  cursor: pointer;
  border: 2px solid transparent;
}
.contact-sheet-grid img.selected {
  border-color: var(--crt-amber);
  box-shadow: 0 0 10px var(--crt-amber);
}
.contact-sheet-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
  z-index: 150;
}
@media (min-width: 768px) {
  .contact-sheet-toggle {
    display: none;
  }
  .contact-sheet {
    display: none;
  }
  .contact-sheet-overlay {
    display: none;
  }
  .sidebar {
    padding-bottom: 0;
  }
  .app-shell {
    flex-direction: row;
  }
  .header-bar {
    display: none;
  }
  .stage {
    padding: 20px;
    justify-content: center;
  }
  .stage .nav-controls {
    order: 10 !important;
    border-top: 2px solid #3a3632;
    border-bottom: none;
  }
  .stage .hero-wrapper {
    flex: none;
  }
  .stage img.hero {
    max-height: calc(100vh - 60px);
  }
  .sidebar {
    width: 300px;
    height: 100%;
    border-top: none;
    border-left: 2px solid #3a3632;
    flex-direction: column;
  }
  .scroll-wrapper {
    overflow-y: auto;
    overflow-x: hidden;
    flex: 1;
  }
  .grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3px;
    padding: 8px;
    height: auto;
  }
  .thumb {
    width: auto;
    height: auto;
    aspect-ratio: 1;
  }
  .nav-controls {
    flex-wrap: wrap;
    height: auto;
    padding: 10px;
    gap: 6px;
  }
  .nav-btn {
    padding: 8px 12px;
    font-size: 14px;
  }
  .nav-btn.icon-btn {
    display: block;
  }
  .nav-spacer {
    display: block;
    flex: 1;
  }
  .meta-display {
    display: block;
  }
  .desktop-exposure {
    display: block;
  }
  .download-panel {
    display: block;
  }
  .share-panel {
    display: block;
  }
  .desktop-only {
    display: block;
  }
  .date-display {
    min-width: 120px;
    padding: 6px 16px;
  }
  .date-text {
    font-size: 16px;
  }
}
@media (min-width: 1200px) {
  .sidebar {
    width: 360px;
  }
  .grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .stage {
    padding: 30px;
  }
  .meta-tags-val,
  .meta-objects-val {
    font-size: 14px;
    line-height: 1.5;
  }
  .meta-scene-val {
    font-size: 14px;
    line-height: 1.4;
  }
}
@media (orientation: landscape) and (max-height: 500px) {
  .app-shell {
    flex-direction: row;
  }
  .header-bar {
    display: none;
  }
  .sidebar {
    width: 130px;
    height: 100%;
    border-top: none;
    border-left: 2px solid #3a3632;
  }
  .scroll-wrapper {
    overflow-y: auto;
    overflow-x: hidden;
  }
  .grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2px;
    padding: 4px;
    height: auto;
  }
  .thumb {
    width: auto;
    height: auto;
    aspect-ratio: 1;
  }
  .strip-header {
    display: none;
  }
  .meta-display {
    display: none;
  }
  .download-panel {
    display: none;
  }
  .nav-controls {
    padding: 4px;
    gap: 2px;
    height: 40px;
  }
  .nav-btn {
    padding: 4px 8px;
    font-size: 12px;
    min-width: 28px;
  }
  .date-display {
    padding: 2px 8px;
    min-width: 80px;
  }
  .date-text {
    font-size: 12px;
  }
  .date-detail {
    display: none;
  }
}
@media (max-width: 400px) {
  .header-bar {
    padding: 8px 12px;
  }
  .header-brand {
    font-size: 16px;
  }
  .header-status {
    font-size: 14px;
    gap: 8px;
  }
  .nav-controls {
    padding: 10px 8px;
    gap: 6px;
  }
  .nav-btn {
    font-size: 18px;
    padding: 10px 14px;
    min-width: 44px;
  }
  .date-display {
    padding: 8px 12px;
  }
  .date-text {
    font-size: 16px;
  }
  .date-detail {
    font-size: 12px;
  }
  .date-stamp {
    font-size: 14px;
    padding: 4px 10px;
  }
  .frame-counter {
    font-size: 12px;
    padding: 3px 8px;
  }
  .face-box,
  .object-box {
    min-width: 44px;
    min-height: 44px;
  }
}
@media (max-width: 320px) {
  .nav-btn {
    font-size: 16px;
    padding: 8px 10px;
    min-width: 40px;
  }
  .date-text {
    font-size: 14px;
  }
  .date-detail {
    display: none;
  }
}
@media (hover: none) and (pointer: coarse) {
  .face-box .face-label {
    opacity: 1;
  }
  .object-box .object-label {
    opacity: 1;
  }
}
.meta-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  padding: 8px 12px;
  background: rgba(0, 0, 0, 0.3);
  border-bottom: 1px solid var(--crt-amber-dim);
}
.meta-header:hover {
  background: rgba(0, 0, 0, 0.5);
}
.meta-toggle {
  color: var(--crt-amber);
  font-size: 12px;
}
.meta-display.collapsed {
}
.meta-display.collapsed .meta-row,
.meta-display.collapsed .desktop-exposure {
  display: none;
}
.load-more-container {
  padding: 12px;
  text-align: center;
}
.load-more-btn {
  width: 100%;
  padding: 12px;
  background: var(--crt-black);
  border: 1px solid var(--crt-amber);
  color: var(--crt-amber);
  font-family: "VT323", monospace;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s;
}
.load-more-btn:hover {
  background: var(--crt-amber);
  color: var(--crt-black);
}

/* css/theme_modern.css */
.theme-modern,
.app-shell.theme-modern {
  --crt-black: #ffffff;
  --crt-dark: #f8f9fa;
  --crt-amber: #2563eb;
  --crt-amber-dim: #93c5fd;
  --crt-green: #22c55e;
  --crt-red: #ef4444;
  --kodak-yellow: #fbbf24;
  --kodak-red: #1f2937;
  --film-border: #e5e7eb;
  --paper-cream: #ffffff;
  --paper-aged: #f3f4f6;
  --font-mono:
    "JetBrains Mono",
    "SF Mono",
    monospace;
  --font-display:
    "Inter",
    -apple-system,
    BlinkMacSystemFont,
    sans-serif;
}
.theme-modern .app-shell::before {
  display: none;
}
.theme-modern .header-brand {
  text-shadow: none;
  color: #1f2937;
  letter-spacing: 0;
  font-weight: 600;
}
.theme-modern .date-text {
  text-shadow: none;
}
.theme-modern .nav-btn {
  text-shadow: none;
}
.theme-modern .app-shell {
  background: var(--crt-black);
  color: #1f2937;
  font-family: var(--font-display);
  font-size: 14px;
}
.theme-modern .header-bar {
  background: #ffffff;
  border-bottom: 1px solid #e5e7eb;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}
.theme-modern .rec-indicator {
  color: #6b7280;
}
.theme-modern .rec-indicator.inactive {
  color: #9ca3af;
}
.theme-modern .rec-dot {
  background: #22c55e;
}
.theme-modern .rec-indicator.inactive .rec-dot {
  background: #d1d5db;
}
.theme-modern .nav-controls {
  background: #ffffff;
  border-top: 1px solid #e5e7eb;
  border-bottom: none;
}
.theme-modern .nav-btn {
  background: #f3f4f6;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  color: #374151;
  font-family: var(--font-display);
  font-weight: 500;
  transition: all 0.15s ease;
}
.theme-modern .nav-btn:hover {
  background: #e5e7eb;
  border-color: #d1d5db;
}
.theme-modern .nav-btn:active {
  background: #d1d5db;
}
.theme-modern .nav-btn.active {
  background: var(--crt-amber);
  border-color: var(--crt-amber);
  color: #ffffff;
}
.theme-modern .date-display {
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
}
.theme-modern .date-text {
  color: #1f2937;
  font-weight: 600;
}
.theme-modern .date-detail {
  color: #6b7280;
}
.theme-modern .date-select {
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  color: #1f2937;
  font-family: var(--font-display);
}
.theme-modern .sidebar {
  background: #f9fafb;
  border-top: 1px solid #e5e7eb;
  border-left: 1px solid #e5e7eb;
}
.theme-modern .strip-header {
  background: #ffffff;
  border-bottom: 1px solid #e5e7eb;
  color: #6b7280;
}
.theme-modern .scroll-wrapper {
  background: #f9fafb;
}
.theme-modern .scroll-wrapper::before,
.theme-modern .scroll-wrapper::after {
  display: none;
}
.theme-modern .thumb {
  background: #ffffff;
  border-radius: 4px;
  padding: 0;
  opacity: 0.8;
  transition: all 0.15s ease;
}
.theme-modern .thumb:hover {
  opacity: 1;
}
.theme-modern .thumb.active {
  opacity: 1;
  outline: 2px solid var(--crt-amber);
  outline-offset: 2px;
  border-radius: 4px;
}
.theme-modern .thumb::after {
  display: none;
}
.theme-modern .stage {
  background: #f3f4f6;
}
.theme-modern .hero-wrapper {
  background: transparent;
  padding: 0;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  overflow: hidden;
}
.theme-modern .date-stamp {
  display: none;
}
.theme-modern .frame-counter {
  display: none;
}
.theme-modern .banner {
  background: var(--crt-amber);
  color: #ffffff;
  border-radius: 20px;
  animation: none;
  font-family: var(--font-display);
  font-weight: 500;
}
.theme-modern .filter-banner {
  background: #22c55e;
  color: #ffffff;
  border-radius: 20px;
  font-family: var(--font-display);
}
.theme-modern .filter-banner button {
  background: rgba(255, 255, 255, 0.2);
  color: #ffffff;
  border-radius: 4px;
}
.theme-modern .meta-display {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  color: #374151;
}
.theme-modern .meta-display::before {
  background: #ffffff;
  color: #6b7280;
}
.theme-modern .meta-row {
  border-bottom: 1px solid #f3f4f6;
}
.theme-modern .meta-val {
  color: #1e40af;
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 15px;
}
.theme-modern .meta-val a {
  color: #2563eb;
  font-weight: 400;
}
.theme-modern .desktop-exposure {
  font-size: 15px;
  color: #374151;
  font-weight: 400;
}
.theme-modern .tag-list {
  color: #4b5563;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.6;
}
.theme-modern .description-text {
  color: #4b5563;
  font-weight: 400;
  font-size: 15px;
  line-height: 1.6;
}
.theme-modern .download-panel {
  background: #ffffff;
  border-top: 1px solid #e5e7eb;
}
.theme-modern .download-btn {
  background: var(--crt-amber);
  color: #ffffff;
  border: none;
  border-radius: 8px;
  font-family: var(--font-display);
  font-weight: 600;
  transition: all 0.15s ease;
}
.theme-modern .download-btn:hover {
  background: #1d4ed8;
}
.theme-modern .share-panel {
  background: #ffffff;
  border-top: 1px solid #e5e7eb;
}
.theme-modern .share-btn {
  background: #22c55e;
  color: #ffffff;
  border: none;
  border-radius: 8px;
  font-family: var(--font-display);
  font-weight: 600;
}
.theme-modern .share-btn:hover {
  background: #16a34a;
}
.theme-modern .info-modal {
  background: rgba(0, 0, 0, 0.5);
}
.theme-modern .info-content {
  background: #ffffff;
  border: none;
  border-radius: 12px;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  font-family: var(--font-display);
}
.theme-modern .info-header {
  border-bottom: 1px solid #e5e7eb;
}
.theme-modern .info-title {
  font-family: var(--font-display);
  font-weight: 600;
  letter-spacing: 0;
}
.theme-modern .close-btn {
  background: #f3f4f6;
  color: #374151;
  border-radius: 6px;
  font-family: var(--font-display);
}
.theme-modern .shortcut-key {
  background: #f3f4f6;
  color: #374151;
  border-radius: 4px;
  font-family: var(--font-mono);
}
.theme-modern .face-box {
  border: 2px solid #22c55e;
  background: rgba(34, 197, 94, 0.1);
  border-radius: 4px;
}
.theme-modern .face-box .face-label {
  background: #22c55e;
  color: #ffffff;
  border-radius: 4px;
  font-family: var(--font-display);
}
.theme-modern .object-box {
  border: 2px solid var(--crt-amber);
  background: rgba(37, 99, 235, 0.1);
  border-radius: 4px;
}
.theme-modern .object-box .object-label {
  background: var(--crt-amber);
  color: #ffffff;
  border-radius: 4px;
  font-family: var(--font-display);
}
.theme-modern .contact-sheet-toggle {
  background: #ffffff;
  border-top: 1px solid #e5e7eb;
}
.theme-modern .contact-sheet-toggle span {
  color: #374151;
  font-family: var(--font-display);
}
.theme-modern .contact-sheet {
  background: #ffffff;
  border-top: 1px solid #e5e7eb;
  border-radius: 16px 16px 0 0;
}
.theme-modern .contact-sheet-header {
  background: #f9fafb;
  border-bottom: 1px solid #e5e7eb;
}
.theme-modern .contact-sheet-header span {
  color: #374151;
  font-family: var(--font-display);
}
.theme-modern .contact-sheet-header button {
  background: #f3f4f6;
  border: 1px solid #e5e7eb;
  color: #374151;
  border-radius: 6px;
  font-family: var(--font-display);
}
.theme-modern .contact-sheet-grid img {
  border-radius: 4px;
}
.theme-modern .contact-sheet-grid img.selected {
  border-color: var(--crt-amber);
  box-shadow: 0 0 0 2px var(--crt-amber);
}
.theme-modern .pin-screen {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
.theme-modern .pin-screen h1 {
  color: rgba(255, 255, 255, 0.7);
  font-family: var(--font-display);
  letter-spacing: 0;
}
.theme-modern .pin-screen h2 {
  color: #ffffff;
  text-shadow: none;
  font-family: var(--font-display);
  letter-spacing: 0;
}
.theme-modern .pin-screen input {
  background: rgba(255, 255, 255, 0.9);
  border: none;
  border-radius: 12px;
  color: #1f2937;
  font-family: var(--font-mono);
}
.theme-modern .pin-screen .submit-btn {
  background: #ffffff;
  border: none;
  border-radius: 8px;
  color: #7c3aed;
  font-family: var(--font-display);
  font-weight: 600;
  text-shadow: none;
}
.theme-modern .pin-screen .error {
  color: #fecaca;
  font-family: var(--font-display);
}
.theme-modern .pin-screen .hint {
  color: rgba(255, 255, 255, 0.7);
  font-family: var(--font-display);
}
.theme-modern .search-input {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  color: #1f2937;
  font-family: var(--font-display);
}
.theme-modern .search-input:focus {
  border-color: var(--crt-amber);
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}
.theme-modern .search-input::placeholder {
  color: #9ca3af;
}
.theme-modern .search-results-count {
  color: #6b7280;
  font-family: var(--font-display);
}
.theme-modern-dark,
.app-shell.theme-modern-dark {
  --crt-black: #0f172a;
  --crt-dark: #1e293b;
  --crt-amber: #7dd3fc;
  --crt-amber-dim: #38bdf8;
  --crt-green: #4ade80;
  --crt-red: #f87171;
  --kodak-yellow: #fcd34d;
  --kodak-red: #f1f5f9;
  --film-border: #475569;
  --paper-cream: #1e293b;
  --paper-aged: #0f172a;
  --font-mono:
    "JetBrains Mono",
    "SF Mono",
    monospace;
  --font-display:
    "Inter",
    -apple-system,
    BlinkMacSystemFont,
    sans-serif;
}
.theme-modern-dark .app-shell::before {
  display: none;
}
.theme-modern-dark .header-brand {
  text-shadow: none;
  color: #f1f5f9;
  letter-spacing: 0;
  font-weight: 600;
}
.theme-modern-dark .date-text {
  text-shadow: none;
}
.theme-modern-dark .nav-btn {
  text-shadow: none;
}
.theme-modern-dark .app-shell {
  background: var(--crt-black);
  color: #e2e8f0;
  font-family: var(--font-display);
  font-size: 14px;
}
.theme-modern-dark .header-bar {
  background: #1e293b;
  border-bottom: 1px solid #334155;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}
.theme-modern-dark .rec-indicator {
  color: #94a3b8;
}
.theme-modern-dark .rec-indicator.inactive {
  color: #64748b;
}
.theme-modern-dark .rec-dot {
  background: #22c55e;
}
.theme-modern-dark .rec-indicator.inactive .rec-dot {
  background: #475569;
}
.theme-modern-dark .nav-controls {
  background: #1e293b;
  border-top: 1px solid #334155;
  border-bottom: none;
}
.theme-modern-dark .nav-btn {
  background: #334155;
  border: 1px solid #475569;
  border-radius: 6px;
  color: #e2e8f0;
  font-family: var(--font-display);
  font-weight: 500;
  transition: all 0.15s ease;
}
.theme-modern-dark .nav-btn:hover {
  background: #475569;
  border-color: #64748b;
}
.theme-modern-dark .nav-btn:active {
  background: #64748b;
}
.theme-modern-dark .nav-btn.active {
  background: var(--crt-amber);
  border-color: var(--crt-amber);
  color: #0f172a;
}
.theme-modern-dark .date-display {
  background: #1e293b;
  border: 1px solid #334155;
  border-radius: 8px;
}
.theme-modern-dark .date-text {
  color: #f1f5f9;
  font-weight: 500;
  font-size: 18px;
}
.theme-modern-dark .date-detail {
  color: #94a3b8;
  font-size: 14px;
}
.theme-modern-dark .date-select {
  background: #1e293b;
  border: 1px solid #334155;
  border-radius: 8px;
  color: #f1f5f9;
  font-family: var(--font-display);
  font-size: 16px;
}
.theme-modern-dark .sidebar {
  background: #1e293b;
  border-top: 1px solid #334155;
  border-left: 1px solid #334155;
}
.theme-modern-dark .strip-header {
  background: #0f172a;
  border-bottom: 1px solid #334155;
  color: #94a3b8;
}
.theme-modern-dark .scroll-wrapper {
  background: #1e293b;
}
.theme-modern-dark .scroll-wrapper::before,
.theme-modern-dark .scroll-wrapper::after {
  display: none;
}
.theme-modern-dark .thumb {
  background: #334155;
  border-radius: 4px;
  padding: 0;
  opacity: 0.8;
  transition: all 0.15s ease;
}
.theme-modern-dark .thumb:hover {
  opacity: 1;
}
.theme-modern-dark .thumb.active {
  opacity: 1;
  outline: 2px solid var(--crt-amber);
  outline-offset: 2px;
  border-radius: 4px;
}
.theme-modern-dark .thumb::after {
  display: none;
}
.theme-modern-dark .stage {
  background: #0f172a;
}
.theme-modern-dark .hero-wrapper {
  background: transparent;
  padding: 0;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.4);
  border-radius: 8px;
  overflow: hidden;
}
.theme-modern-dark .date-stamp {
  display: none;
}
.theme-modern-dark .frame-counter {
  display: none;
}
.theme-modern-dark .banner {
  background: var(--crt-amber);
  color: #0f172a;
  border-radius: 20px;
  animation: none;
  font-family: var(--font-display);
  font-weight: 500;
}
.theme-modern-dark .filter-banner {
  background: #22c55e;
  color: #ffffff;
  border-radius: 20px;
  font-family: var(--font-display);
}
.theme-modern-dark .filter-banner button {
  background: rgba(255, 255, 255, 0.2);
  color: #ffffff;
  border-radius: 4px;
}
.theme-modern-dark .meta-display {
  background: #1e293b;
  border: 1px solid #334155;
  border-radius: 8px;
  color: #94a3b8;
  font-weight: 400;
  font-size: 15px;
}
.theme-modern-dark .meta-display::before {
  background: #1e293b;
  color: #64748b;
  font-weight: 500;
  font-size: 12px;
}
.theme-modern-dark .meta-row {
  border-bottom: 1px solid #334155;
  padding: 8px 12px;
}
.theme-modern-dark .meta-label {
  color: #64748b;
  font-weight: 400;
  font-size: 13px;
}
.theme-modern-dark .meta-val {
  color: #e2e8f0;
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 15px;
}
.theme-modern-dark .meta-val a {
  color: var(--crt-amber);
  font-weight: 400;
}
.theme-modern-dark .desktop-exposure {
  font-size: 15px;
  color: #e2e8f0;
  font-weight: 400;
}
.theme-modern-dark .tag-list {
  color: #cbd5e1;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.6;
}
.theme-modern-dark .description-text {
  color: #cbd5e1;
  font-weight: 400;
  font-size: 15px;
  line-height: 1.6;
}
.theme-modern-dark .download-panel {
  background: #1e293b;
  border-top: 1px solid #334155;
}
.theme-modern-dark .download-btn {
  background: var(--crt-amber);
  color: #0f172a;
  border: none;
  border-radius: 8px;
  font-family: var(--font-display);
  font-weight: 600;
  transition: all 0.15s ease;
}
.theme-modern-dark .download-btn:hover {
  background: #38bdf8;
}
.theme-modern-dark .share-panel {
  background: #1e293b;
  border-top: 1px solid #334155;
}
.theme-modern-dark .share-btn {
  background: #22c55e;
  color: #ffffff;
  border: none;
  border-radius: 8px;
  font-family: var(--font-display);
  font-weight: 600;
}
.theme-modern-dark .share-btn:hover {
  background: #16a34a;
}
.theme-modern-dark .info-modal {
  background: rgba(0, 0, 0, 0.7);
}
.theme-modern-dark .info-content {
  background: #1e293b;
  border: 1px solid #334155;
  border-radius: 12px;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
  font-family: var(--font-display);
  color: #e2e8f0;
}
.theme-modern-dark .info-header {
  border-bottom: 1px solid #334155;
}
.theme-modern-dark .info-title {
  font-family: var(--font-display);
  font-weight: 600;
  letter-spacing: 0;
  color: #f1f5f9;
}
.theme-modern-dark .close-btn {
  background: #334155;
  color: #e2e8f0;
  border-radius: 6px;
  font-family: var(--font-display);
}
.theme-modern-dark .shortcut-key {
  background: #334155;
  color: #e2e8f0;
  border-radius: 4px;
  font-family: var(--font-mono);
}
.theme-modern-dark .face-box {
  border: 2px solid #22c55e;
  background: rgba(34, 197, 94, 0.15);
  border-radius: 4px;
}
.theme-modern-dark .face-box .face-label {
  background: #22c55e;
  color: #ffffff;
  border-radius: 4px;
  font-family: var(--font-display);
}
.theme-modern-dark .object-box {
  border: 2px solid var(--crt-amber);
  background: rgba(125, 211, 252, 0.15);
  border-radius: 4px;
}
.theme-modern-dark .object-box .object-label {
  background: var(--crt-amber);
  color: #0f172a;
  border-radius: 4px;
  font-family: var(--font-display);
}
.theme-modern-dark .contact-sheet-toggle {
  background: #1e293b;
  border-top: 1px solid #334155;
}
.theme-modern-dark .contact-sheet-toggle span {
  color: #e2e8f0;
  font-family: var(--font-display);
}
.theme-modern-dark .contact-sheet {
  background: #1e293b;
  border-top: 1px solid #334155;
  border-radius: 16px 16px 0 0;
}
.theme-modern-dark .contact-sheet-header {
  background: #0f172a;
  border-bottom: 1px solid #334155;
}
.theme-modern-dark .contact-sheet-header span {
  color: #e2e8f0;
  font-family: var(--font-display);
}
.theme-modern-dark .contact-sheet-header button {
  background: #334155;
  border: 1px solid #475569;
  color: #e2e8f0;
  border-radius: 6px;
  font-family: var(--font-display);
}
.theme-modern-dark .contact-sheet-grid img {
  border-radius: 4px;
}
.theme-modern-dark .contact-sheet-grid img.selected {
  border-color: var(--crt-amber);
  box-shadow: 0 0 0 2px var(--crt-amber);
}
.theme-modern-dark .pin-screen {
  background:
    radial-gradient(ellipse at 20% 0%, rgba(56, 189, 248, 0.15) 0%, transparent 50%),
    radial-gradient(ellipse at 80% 100%, rgba(139, 92, 246, 0.15) 0%, transparent 50%),
    linear-gradient(180deg, #0c1222 0%, #0f172a 50%, #1e1b4b 100%);
  overflow: hidden;
}
.theme-modern-dark .pin-screen::before {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle at 30% 30%, rgba(56, 189, 248, 0.08) 0%, transparent 40%), radial-gradient(circle at 70% 70%, rgba(167, 139, 250, 0.08) 0%, transparent 40%);
  animation: pinScreenGlow 20s ease-in-out infinite;
  pointer-events: none;
}
@keyframes pinScreenGlow {
  0%, 100% {
    transform: translate(0, 0) rotate(0deg);
  }
  25% {
    transform: translate(2%, 2%) rotate(5deg);
  }
  50% {
    transform: translate(-1%, 3%) rotate(-3deg);
  }
  75% {
    transform: translate(3%, -2%) rotate(2deg);
  }
}
.theme-modern-dark .pin-screen form {
  background: rgba(255, 255, 255, 0.03);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 24px;
  padding: 48px 40px;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255, 255, 255, 0.05) inset;
  position: relative;
  z-index: 1;
}
.theme-modern-dark .pin-screen h1 {
  color: rgba(255, 255, 255, 0.5);
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 3px;
  text-transform: uppercase;
  margin-bottom: 8px;
}
.theme-modern-dark .pin-screen h2 {
  color: #ffffff;
  text-shadow: none;
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 600;
  letter-spacing: -0.5px;
  margin-bottom: 40px;
}
.theme-modern-dark .pin-screen h2::before {
  content: "\25c8";
  display: block;
  font-size: 48px;
  margin-bottom: 16px;
  background: linear-gradient(135deg, #38bdf8 0%, #a78bfa 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.theme-modern-dark .pin-screen input {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  color: #ffffff;
  font-family: var(--font-mono);
  font-size: 28px;
  padding: 20px 24px;
  width: 240px;
  text-align: center;
  letter-spacing: 12px;
  transition: all 0.2s ease;
}
.theme-modern-dark .pin-screen input::placeholder {
  color: rgba(255, 255, 255, 0.2);
  letter-spacing: 8px;
}
.theme-modern-dark .pin-screen input:focus {
  outline: none;
  border-color: rgba(56, 189, 248, 0.5);
  box-shadow: 0 0 0 4px rgba(56, 189, 248, 0.1), 0 0 30px rgba(56, 189, 248, 0.1);
  background: rgba(255, 255, 255, 0.08);
}
.theme-modern-dark .pin-screen .submit-btn {
  background: linear-gradient(135deg, #38bdf8 0%, #818cf8 100%);
  border: none;
  border-radius: 12px;
  color: #ffffff;
  font-family: var(--font-display);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 1px;
  padding: 16px 48px;
  text-shadow: none;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 4px 15px rgba(56, 189, 248, 0.3), 0 0 0 1px rgba(255, 255, 255, 0.1) inset;
}
.theme-modern-dark .pin-screen .submit-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(56, 189, 248, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.15) inset;
}
.theme-modern-dark .pin-screen .submit-btn:active {
  transform: translateY(0);
  box-shadow: 0 2px 10px rgba(56, 189, 248, 0.3), 0 0 0 1px rgba(255, 255, 255, 0.1) inset;
}
.theme-modern-dark .pin-screen .error {
  color: #f87171;
  font-family: var(--font-display);
  font-size: 14px;
  margin-top: 16px;
  padding: 12px 20px;
  background: rgba(239, 68, 68, 0.1);
  border-radius: 8px;
  border: 1px solid rgba(239, 68, 68, 0.2);
}
.theme-modern-dark .pin-screen .hint {
  color: rgba(255, 255, 255, 0.4);
  font-family: var(--font-display);
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-top: 32px;
}
.theme-modern-dark .search-input {
  background: #334155;
  border: 1px solid #475569;
  border-radius: 6px;
  color: #f1f5f9;
  font-family: var(--font-display);
}
.theme-modern-dark .search-input:focus {
  border-color: var(--crt-amber);
  box-shadow: 0 0 0 3px rgba(125, 211, 252, 0.25);
}
.theme-modern-dark .search-input::placeholder {
  color: #64748b;
}
.theme-modern-dark .search-results-count {
  color: #94a3b8;
  font-family: var(--font-display);
}
.theme-modern .admin-page {
  min-height: 100vh;
  background: #f8fafc;
  color: #1f2937;
  font-family: var(--font-display);
  font-size: 14px;
}
.theme-modern .admin-nav {
  background: #ffffff;
  border-bottom: 1px solid #e5e7eb;
  padding: 0 20px;
  display: flex;
  align-items: center;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}
.theme-modern .admin-nav-brand {
  font-size: 16px;
  font-weight: 600;
  padding: 16px 20px 16px 0;
  border-right: 1px solid #e5e7eb;
  margin-right: 10px;
  color: #2563eb;
  text-decoration: none;
}
.theme-modern .admin-nav-item {
  padding: 16px 16px;
  color: #6b7280;
  text-decoration: none;
  border-bottom: 3px solid transparent;
  font-weight: 500;
  transition: all 0.15s ease;
}
.theme-modern .admin-nav-item:hover {
  background: #f3f4f6;
  color: #374151;
}
.theme-modern .admin-nav-item.active {
  color: #2563eb;
  border-bottom-color: #2563eb;
  background: #eff6ff;
}
.theme-modern .admin-nav-spacer {
  flex-grow: 1;
}
.theme-modern .admin-nav-back {
  padding: 10px 15px;
  color: #6b7280;
  text-decoration: none;
  font-size: 13px;
}
.theme-modern .admin-nav-back:hover {
  color: #2563eb;
}
.theme-modern .admin-content {
  padding: 24px;
  max-width: 1400px;
  margin: 0 auto;
}
.theme-modern .admin-title {
  font-size: 24px;
  font-weight: 600;
  color: #1f2937;
  margin-bottom: 24px;
}
.theme-modern .admin-section {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 20px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}
.theme-modern .admin-section h2 {
  font-size: 16px;
  font-weight: 600;
  color: #374151;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid #f3f4f6;
}
.theme-modern .admin-btn {
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 500;
  padding: 10px 20px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.15s ease;
  border: none;
}
.theme-modern .admin-btn-primary {
  background: #2563eb;
  color: #ffffff;
}
.theme-modern .admin-btn-primary:hover {
  background: #1d4ed8;
}
.theme-modern .admin-btn-secondary {
  background: #f3f4f6;
  color: #374151;
  border: 1px solid #e5e7eb;
}
.theme-modern .admin-btn-secondary:hover {
  background: #e5e7eb;
}
.theme-modern .admin-btn-danger {
  background: #fef2f2;
  color: #dc2626;
  border: 1px solid #fecaca;
}
.theme-modern .admin-btn-danger:hover {
  background: #fee2e2;
}
.theme-modern .admin-btn-success {
  background: #22c55e;
  color: #ffffff;
}
.theme-modern .admin-btn-success:hover {
  background: #16a34a;
}
.theme-modern .admin-input,
.theme-modern .admin-select,
.theme-modern .admin-textarea {
  font-family: var(--font-display);
  font-size: 14px;
  background: #ffffff;
  color: #1f2937;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  padding: 10px 14px;
  width: 100%;
  transition: all 0.15s ease;
}
.theme-modern .admin-input:focus,
.theme-modern .admin-select:focus,
.theme-modern .admin-textarea:focus {
  outline: none;
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}
.theme-modern .admin-input::placeholder {
  color: #9ca3af;
}
.theme-modern .admin-stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 16px;
  margin-bottom: 24px;
}
.theme-modern .admin-stat-card {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 20px;
  text-align: center;
}
.theme-modern .admin-stat-value {
  font-size: 32px;
  font-weight: 600;
  color: #2563eb;
  margin-bottom: 4px;
}
.theme-modern .admin-stat-label {
  font-size: 13px;
  color: #6b7280;
}
.theme-modern .admin-table {
  width: 100%;
  border-collapse: collapse;
}
.theme-modern .admin-table th,
.theme-modern .admin-table td {
  padding: 12px 16px;
  text-align: left;
  border-bottom: 1px solid #f3f4f6;
}
.theme-modern .admin-table th {
  background: #f9fafb;
  color: #6b7280;
  font-weight: 500;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.theme-modern .admin-table tr:hover {
  background: #f9fafb;
}
.theme-modern .admin-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}
.theme-modern .admin-modal {
  background: #ffffff;
  border-radius: 16px;
  padding: 24px;
  max-width: 600px;
  width: 90%;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}
.theme-modern .admin-modal-title {
  font-size: 18px;
  font-weight: 600;
  color: #1f2937;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid #e5e7eb;
}
.theme-modern .admin-badge {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 500;
}
.theme-modern .admin-badge-success {
  background: #dcfce7;
  color: #166534;
}
.theme-modern .admin-badge-warning {
  background: #fef3c7;
  color: #92400e;
}
.theme-modern .admin-badge-danger {
  background: #fee2e2;
  color: #dc2626;
}
.theme-modern .admin-badge-info {
  background: #dbeafe;
  color: #1e40af;
}
.theme-modern .admin-pin-screen {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
.theme-modern .admin-pin-card {
  background: rgba(255, 255, 255, 0.95);
  border-radius: 20px;
  padding: 48px 40px;
  text-align: center;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  max-width: 400px;
  width: 90%;
}
.theme-modern .admin-pin-title {
  font-size: 24px;
  font-weight: 600;
  color: #1f2937;
  margin-bottom: 8px;
}
.theme-modern .admin-pin-subtitle {
  color: #6b7280;
  font-size: 14px;
  margin-bottom: 32px;
}
.theme-modern .admin-pin-input {
  font-family: var(--font-mono);
  font-size: 24px;
  text-align: center;
  background: #f3f4f6;
  border: 2px solid #e5e7eb;
  border-radius: 12px;
  padding: 16px 24px;
  width: 200px;
  letter-spacing: 8px;
  color: #1f2937;
  transition: all 0.15s ease;
}
.theme-modern .admin-pin-input:focus {
  outline: none;
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}
.theme-modern .admin-pin-error {
  color: #dc2626;
  font-size: 14px;
  margin-top: 16px;
}
.theme-modern-dark .admin-page {
  min-height: 100vh;
  background: #0f172a;
  color: #e2e8f0;
  font-family: var(--font-display);
  font-size: 14px;
}
.theme-modern-dark .admin-nav {
  background: #1e293b;
  border-bottom: 1px solid #334155;
  padding: 0 20px;
  display: flex;
  align-items: center;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}
.theme-modern-dark .admin-nav-brand {
  font-size: 16px;
  font-weight: 600;
  padding: 16px 20px 16px 0;
  border-right: 1px solid #334155;
  margin-right: 10px;
  color: #7dd3fc;
  text-decoration: none;
}
.theme-modern-dark .admin-nav-item {
  padding: 16px 16px;
  color: #94a3b8;
  text-decoration: none;
  border-bottom: 3px solid transparent;
  font-weight: 500;
  transition: all 0.15s ease;
}
.theme-modern-dark .admin-nav-item:hover {
  background: #334155;
  color: #e2e8f0;
}
.theme-modern-dark .admin-nav-item.active {
  color: #7dd3fc;
  border-bottom-color: #7dd3fc;
  background: rgba(125, 211, 252, 0.1);
}
.theme-modern-dark .admin-nav-spacer {
  flex-grow: 1;
}
.theme-modern-dark .admin-nav-back {
  padding: 10px 15px;
  color: #94a3b8;
  text-decoration: none;
  font-size: 13px;
}
.theme-modern-dark .admin-nav-back:hover {
  color: #7dd3fc;
}
.theme-modern-dark .admin-content {
  padding: 24px;
  max-width: 1400px;
  margin: 0 auto;
}
.theme-modern-dark .admin-title {
  font-size: 24px;
  font-weight: 600;
  color: #f1f5f9;
  margin-bottom: 24px;
}
.theme-modern-dark .admin-section {
  background: #1e293b;
  border: 1px solid #334155;
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 20px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}
.theme-modern-dark .admin-section h2 {
  font-size: 16px;
  font-weight: 600;
  color: #e2e8f0;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid #334155;
}
.theme-modern-dark .admin-btn {
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 500;
  padding: 10px 20px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.15s ease;
  border: none;
}
.theme-modern-dark .admin-btn-primary {
  background: #7dd3fc;
  color: #0f172a;
}
.theme-modern-dark .admin-btn-primary:hover {
  background: #38bdf8;
}
.theme-modern-dark .admin-btn-secondary {
  background: #334155;
  color: #e2e8f0;
  border: 1px solid #475569;
}
.theme-modern-dark .admin-btn-secondary:hover {
  background: #475569;
}
.theme-modern-dark .admin-btn-danger {
  background: rgba(239, 68, 68, 0.1);
  color: #f87171;
  border: 1px solid rgba(239, 68, 68, 0.3);
}
.theme-modern-dark .admin-btn-danger:hover {
  background: rgba(239, 68, 68, 0.2);
}
.theme-modern-dark .admin-btn-success {
  background: #22c55e;
  color: #ffffff;
}
.theme-modern-dark .admin-btn-success:hover {
  background: #16a34a;
}
.theme-modern-dark .admin-input,
.theme-modern-dark .admin-select,
.theme-modern-dark .admin-textarea {
  font-family: var(--font-display);
  font-size: 14px;
  background: #0f172a;
  color: #e2e8f0;
  border: 1px solid #475569;
  border-radius: 8px;
  padding: 10px 14px;
  width: 100%;
  transition: all 0.15s ease;
}
.theme-modern-dark .admin-input:focus,
.theme-modern-dark .admin-select:focus,
.theme-modern-dark .admin-textarea:focus {
  outline: none;
  border-color: #7dd3fc;
  box-shadow: 0 0 0 3px rgba(125, 211, 252, 0.15);
}
.theme-modern-dark .admin-input::placeholder {
  color: #64748b;
}
.theme-modern-dark .admin-stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 16px;
  margin-bottom: 24px;
}
.theme-modern-dark .admin-stat-card {
  background: #1e293b;
  border: 1px solid #334155;
  border-radius: 12px;
  padding: 20px;
  text-align: center;
}
.theme-modern-dark .admin-stat-value {
  font-size: 32px;
  font-weight: 600;
  color: #7dd3fc;
  margin-bottom: 4px;
}
.theme-modern-dark .admin-stat-label {
  font-size: 13px;
  color: #94a3b8;
}
.theme-modern-dark .admin-table {
  width: 100%;
  border-collapse: collapse;
}
.theme-modern-dark .admin-table th,
.theme-modern-dark .admin-table td {
  padding: 12px 16px;
  text-align: left;
  border-bottom: 1px solid #334155;
}
.theme-modern-dark .admin-table th {
  background: #0f172a;
  color: #94a3b8;
  font-weight: 500;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.theme-modern-dark .admin-table tr:hover {
  background: rgba(125, 211, 252, 0.05);
}
.theme-modern-dark .admin-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}
.theme-modern-dark .admin-modal {
  background: #1e293b;
  border: 1px solid #334155;
  border-radius: 16px;
  padding: 24px;
  max-width: 600px;
  width: 90%;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
}
.theme-modern-dark .admin-modal-title {
  font-size: 18px;
  font-weight: 600;
  color: #f1f5f9;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid #334155;
}
.theme-modern-dark .admin-badge {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 500;
}
.theme-modern-dark .admin-badge-success {
  background: rgba(34, 197, 94, 0.15);
  color: #4ade80;
}
.theme-modern-dark .admin-badge-warning {
  background: rgba(251, 191, 36, 0.15);
  color: #fcd34d;
}
.theme-modern-dark .admin-badge-danger {
  background: rgba(239, 68, 68, 0.15);
  color: #f87171;
}
.theme-modern-dark .admin-badge-info {
  background: rgba(125, 211, 252, 0.15);
  color: #7dd3fc;
}
.theme-modern-dark .admin-pin-screen {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(ellipse at 20% 0%, rgba(56, 189, 248, 0.15) 0%, transparent 50%),
    radial-gradient(ellipse at 80% 100%, rgba(139, 92, 246, 0.15) 0%, transparent 50%),
    linear-gradient(180deg, #0c1222 0%, #0f172a 50%, #1e1b4b 100%);
  overflow: hidden;
}
.theme-modern-dark .admin-pin-screen::before {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle at 30% 30%, rgba(56, 189, 248, 0.08) 0%, transparent 40%), radial-gradient(circle at 70% 70%, rgba(167, 139, 250, 0.08) 0%, transparent 40%);
  animation: pinScreenGlow 20s ease-in-out infinite;
  pointer-events: none;
}
.theme-modern-dark .admin-pin-card {
  background: rgba(255, 255, 255, 0.03);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 24px;
  padding: 48px 40px;
  text-align: center;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255, 255, 255, 0.05) inset;
  position: relative;
  z-index: 1;
  max-width: 400px;
  width: 90%;
}
.theme-modern-dark .admin-pin-title {
  font-size: 24px;
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 8px;
}
.theme-modern-dark .admin-pin-subtitle {
  color: rgba(255, 255, 255, 0.5);
  font-size: 14px;
  margin-bottom: 32px;
}
.theme-modern-dark .admin-pin-input {
  font-family: var(--font-mono);
  font-size: 24px;
  text-align: center;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  padding: 16px 24px;
  width: 220px;
  letter-spacing: 8px;
  color: #ffffff;
  transition: all 0.15s ease;
}
.theme-modern-dark .admin-pin-input:focus {
  outline: none;
  border-color: rgba(56, 189, 248, 0.5);
  box-shadow: 0 0 0 4px rgba(56, 189, 248, 0.1), 0 0 30px rgba(56, 189, 248, 0.1);
  background: rgba(255, 255, 255, 0.08);
}
.theme-modern-dark .admin-pin-input::placeholder {
  color: rgba(255, 255, 255, 0.2);
}
.theme-modern-dark .admin-pin-error {
  color: #f87171;
  font-size: 14px;
  margin-top: 16px;
  padding: 12px 20px;
  background: rgba(239, 68, 68, 0.1);
  border-radius: 8px;
  border: 1px solid rgba(239, 68, 68, 0.2);
}
.theme-modern-dark .cluster-stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px;
  margin-bottom: 20px;
}
.theme-modern-dark .cluster-stat-card {
  background: #0f172a;
  border: 1px solid #334155;
  border-radius: 8px;
  padding: 16px;
  text-align: center;
}
.theme-modern-dark .cluster-stat-value {
  font-size: 28px;
  font-weight: 600;
  color: #7dd3fc;
  margin-bottom: 4px;
}
.theme-modern-dark .cluster-stat-label {
  font-size: 12px;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.theme-modern-dark .worker-card {
  background: #0f172a;
  border: 1px solid #334155;
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}
.theme-modern-dark .worker-card.online {
  border-color: #22c55e;
  border-left: 4px solid #22c55e;
}
.theme-modern-dark .worker-card.offline {
  border-color: #f87171;
  border-left: 4px solid #f87171;
  opacity: 0.7;
}
.theme-modern-dark .worker-card.unknown {
  border-color: #fcd34d;
  border-left: 4px solid #fcd34d;
}
.theme-modern-dark .worker-info {
  flex: 1;
}
.theme-modern-dark .worker-info h3 {
  font-size: 16px;
  font-weight: 600;
  color: #f1f5f9;
  margin-bottom: 4px;
}
.theme-modern-dark .worker-meta {
  font-size: 13px;
  color: #94a3b8;
}
.theme-modern-dark .status-badge {
  display: inline-block;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.theme-modern-dark .status-badge.online {
  background: rgba(34, 197, 94, 0.15);
  color: #4ade80;
}
.theme-modern-dark .status-badge.offline {
  background: rgba(248, 113, 113, 0.15);
  color: #f87171;
}
.theme-modern-dark .status-badge.unknown {
  background: rgba(252, 211, 77, 0.15);
  color: #fcd34d;
}
.theme-modern-dark .capabilities {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 8px;
}
.theme-modern-dark .capability-tag {
  background: rgba(125, 211, 252, 0.1);
  border: 1px solid rgba(125, 211, 252, 0.3);
  color: #7dd3fc;
  padding: 3px 8px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 500;
}
.theme-modern-dark .recommendation-box {
  background: rgba(251, 191, 36, 0.05);
  border: 1px solid rgba(251, 191, 36, 0.2);
  border-radius: 8px;
  padding: 16px;
  margin-top: 16px;
}
.theme-modern-dark .recommendation-box h3 {
  color: #fcd34d;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 12px;
}
.theme-modern-dark .feature-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 8px;
}
.theme-modern-dark .feature-row {
  display: flex;
  justify-content: space-between;
  padding: 8px 12px;
  background: rgba(0, 0, 0, 0.2);
  border-radius: 4px;
}
.theme-modern-dark .feature-status.recommended {
  color: #4ade80;
}
.theme-modern-dark .feature-status.possible {
  color: #fcd34d;
}
.theme-modern-dark .feature-status.not_recommended {
  color: #f87171;
}
.theme-modern-dark .add-worker-form {
  display: flex;
  gap: 8px;
  margin-top: 16px;
  flex-wrap: wrap;
}
.theme-modern-dark .add-worker-form input {
  background: #0f172a;
  border: 1px solid #475569;
  border-radius: 6px;
  color: #e2e8f0;
  padding: 10px 14px;
  font-size: 14px;
}
.theme-modern-dark .add-worker-form input:focus {
  outline: none;
  border-color: #7dd3fc;
  box-shadow: 0 0 0 2px rgba(125, 211, 252, 0.15);
}
.theme-modern-dark .add-worker-form button {
  background: #7dd3fc;
  color: #0f172a;
  border: none;
  border-radius: 6px;
  padding: 10px 20px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.15s ease;
}
.theme-modern-dark .add-worker-form button:hover {
  background: #38bdf8;
}
.theme-modern-dark .remove-btn {
  background: rgba(239, 68, 68, 0.1);
  color: #f87171;
  border: 1px solid rgba(239, 68, 68, 0.3);
  border-radius: 6px;
  padding: 6px 12px;
  cursor: pointer;
  font-size: 12px;
  font-weight: 500;
  transition: all 0.15s ease;
}
.theme-modern-dark .remove-btn:hover {
  background: rgba(239, 68, 68, 0.2);
}
.theme-modern-dark .cluster-header-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
  flex-wrap: wrap;
  gap: 16px;
}
.theme-modern-dark .cluster-header-row h1 {
  font-size: 24px;
  font-weight: 600;
  color: #f1f5f9;
  margin: 0;
}
.theme-modern-dark .refresh-btn {
  background: #334155;
  color: #e2e8f0;
  border: 1px solid #475569;
  border-radius: 6px;
  padding: 8px 16px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s ease;
}
.theme-modern-dark .refresh-btn:hover {
  background: #475569;
}
.theme-modern-dark .last-refresh {
  font-size: 13px;
  color: #64748b;
  margin-left: 12px;
}
.theme-modern-dark .cluster-loading {
  text-align: center;
  padding: 60px 20px;
  color: #94a3b8;
  font-size: 16px;
}
.theme-modern-dark .cluster-loading::after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 2px solid #475569;
  border-top-color: #7dd3fc;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin-left: 12px;
  vertical-align: middle;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
.theme-modern-dark .event-card {
  background: #1e293b;
  border: 1px solid #334155;
  padding: 20px;
  margin-bottom: 12px;
  border-radius: 8px;
  transition: border-color 0.15s ease;
}
.theme-modern-dark .event-card:hover {
  border-color: #7dd3fc;
}
.theme-modern-dark .event-card.exclusive {
  border-left: 3px solid #f87171;
}
.theme-modern-dark .event-card.hidden {
  opacity: 0.6;
}
.theme-modern-dark .event-name {
  font-size: 16px;
  font-weight: 600;
  color: #f1f5f9;
  cursor: pointer;
}
.theme-modern-dark .event-name:hover {
  color: #7dd3fc;
}
.theme-modern-dark .event-dates {
  font-size: 13px;
  color: #94a3b8;
  margin-bottom: 8px;
}
.theme-modern-dark .event-description {
  font-size: 13px;
  color: #cbd5e1;
  margin-bottom: 8px;
}
.theme-modern-dark .event-badge {
  display: inline-block;
  padding: 2px 8px;
  font-size: 11px;
  font-weight: 500;
  border-radius: 4px;
  margin-left: 8px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.theme-modern-dark .event-badge-exclusive {
  background: rgba(248, 113, 113, 0.2);
  color: #f87171;
  border: 1px solid rgba(248, 113, 113, 0.3);
}
.theme-modern-dark .event-badge-hidden {
  background: rgba(148, 163, 184, 0.2);
  color: #94a3b8;
  border: 1px solid rgba(148, 163, 184, 0.3);
}
.theme-modern-dark .event-badge-pin {
  background: rgba(45, 212, 191, 0.2);
  color: #2dd4bf;
  border: 1px solid rgba(45, 212, 191, 0.3);
}
.theme-modern-dark .event-input {
  background: #0f172a;
  border: 1px solid #334155;
  color: #f1f5f9;
  padding: 10px 14px;
  width: 100%;
  font-size: 14px;
  border-radius: 6px;
  transition: border-color 0.15s ease;
}
.theme-modern-dark .event-input:focus {
  border-color: #7dd3fc;
  outline: none;
}
.theme-modern-dark .event-input::placeholder {
  color: #64748b;
}
.theme-modern-dark .event-label {
  display: block;
  font-size: 12px;
  font-weight: 500;
  color: #94a3b8;
  margin-bottom: 6px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.theme-modern-dark .event-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-left: 16px;
}
.theme-modern-dark .event-btn {
  padding: 6px 12px;
  font-size: 12px;
  font-weight: 500;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
  white-space: nowrap;
}
.theme-modern-dark .event-btn-view {
  background: rgba(125, 211, 252, 0.1);
  color: #7dd3fc;
  border: 1px solid rgba(125, 211, 252, 0.3);
}
.theme-modern-dark .event-btn-view:hover {
  background: rgba(125, 211, 252, 0.2);
}
.theme-modern-dark .event-btn-toggle {
  background: transparent;
  color: #94a3b8;
  border: 1px solid #475569;
}
.theme-modern-dark .event-btn-toggle:hover {
  background: #334155;
  color: #f1f5f9;
}
.theme-modern-dark .event-btn-toggle.active {
  background: rgba(248, 113, 113, 0.1);
  color: #f87171;
  border-color: rgba(248, 113, 113, 0.3);
}
.theme-modern-dark .event-btn-delete {
  background: rgba(239, 68, 68, 0.1);
  color: #f87171;
  border: 1px solid rgba(239, 68, 68, 0.3);
}
.theme-modern-dark .event-btn-delete:hover {
  background: rgba(239, 68, 68, 0.2);
}
.theme-modern-dark .event-create-form {
  background: #1e293b;
  border: 1px solid #334155;
  border-radius: 8px;
  padding: 24px;
  margin-bottom: 24px;
}
.theme-modern-dark .event-create-form h3 {
  margin: 0 0 20px 0;
  font-size: 16px;
  font-weight: 600;
  color: #f1f5f9;
}
.theme-modern-dark .event-form-grid {
  display: grid;
  gap: 16px;
}
.theme-modern-dark .event-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.theme-modern-dark .event-form-actions {
  display: flex;
  gap: 12px;
  margin-top: 16px;
}
.theme-modern-dark .events-help-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.7);
  z-index: 999;
}
.theme-modern-dark .events-help-modal {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #1e293b;
  border: 1px solid #334155;
  border-radius: 12px;
  padding: 24px;
  max-width: 500px;
  max-height: 80vh;
  overflow-y: auto;
  z-index: 1000;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.5);
}
.theme-modern-dark .events-help-modal h2 {
  margin: 0 0 16px 0;
  font-size: 18px;
  font-weight: 600;
  color: #f1f5f9;
}
.theme-modern-dark .events-help-modal h3 {
  font-size: 14px;
  font-weight: 600;
  color: #e2e8f0;
  margin: 20px 0 8px 0;
}
.theme-modern-dark .events-help-modal p,
.theme-modern-dark .events-help-modal li {
  font-size: 13px;
  color: #94a3b8;
  line-height: 1.6;
}
.theme-modern-dark .events-help-modal ul {
  padding-left: 20px;
  margin: 0;
}
.theme-modern-dark .events-empty {
  text-align: center;
  padding: 60px 20px;
  color: #64748b;
}
.theme-modern-dark .events-empty p {
  margin: 8px 0;
}
.theme-modern-dark .events-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
}
.theme-modern-dark .events-count {
  color: #94a3b8;
  font-size: 14px;
}
.admin-page {
  --admin-bg: #0f172a;
  --admin-surface: #1e293b;
  --admin-surface-elevated: #334155;
  --admin-border: #475569;
  --admin-text: #e2e8f0;
  --admin-text-muted: #94a3b8;
  --admin-text-dim: #64748b;
  --admin-accent-primary: #7dd3fc;
  --admin-accent-secondary: #4ade80;
  --admin-accent-tertiary: #fbbf24;
  --admin-accent-danger: #f87171;
  --admin-accent-primary-bg: rgba(125, 211, 252, 0.1);
  --admin-accent-secondary-bg: rgba(74, 222, 128, 0.1);
  --admin-accent-tertiary-bg: rgba(251, 191, 36, 0.1);
  --admin-accent-danger-bg: rgba(248, 113, 113, 0.1);
}
.admin-section--primary {
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-left: 3px solid var(--admin-accent-primary);
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 20px;
}
.admin-section--secondary {
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-left: 3px solid var(--admin-accent-secondary);
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 20px;
}
.admin-section--tertiary {
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-left: 3px solid var(--admin-accent-tertiary);
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 20px;
}
.admin-section--danger {
  background: var(--admin-surface);
  border: 1px solid var(--admin-accent-danger);
  border-left: 3px solid var(--admin-accent-danger);
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 20px;
}
.admin-section--neutral {
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 20px;
}
.admin-section__header {
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--admin-border);
}
.admin-section--primary .admin-section__header {
  color: var(--admin-accent-primary);
}
.admin-section--secondary .admin-section__header {
  color: var(--admin-accent-secondary);
}
.admin-section--tertiary .admin-section__header {
  color: var(--admin-accent-tertiary);
}
.admin-section--danger .admin-section__header {
  color: var(--admin-accent-danger);
}
.admin-section__desc {
  font-size: 12px;
  color: var(--admin-text-muted);
  margin: 8px 0 16px 0;
  line-height: 1.5;
}
.admin-btn--primary {
  background: var(--admin-accent-primary);
  color: var(--admin-bg);
  border: none;
  padding: 10px 20px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.15s ease;
}
.admin-btn--primary:hover {
  background: #38bdf8;
}
.admin-btn--secondary {
  background: var(--admin-surface-elevated);
  color: var(--admin-text);
  border: 1px solid var(--admin-border);
  padding: 10px 20px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s ease;
}
.admin-btn--secondary:hover {
  background: #475569;
  border-color: #64748b;
}
.admin-btn--success {
  background: var(--admin-accent-secondary);
  color: var(--admin-bg);
  border: none;
  padding: 10px 20px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
}
.admin-btn--success:hover {
  background: #22c55e;
}
.admin-btn--warning {
  background: var(--admin-accent-tertiary-bg);
  color: var(--admin-accent-tertiary);
  border: 1px solid var(--admin-accent-tertiary);
  padding: 10px 20px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
}
.admin-btn--warning:hover {
  background: rgba(251, 191, 36, 0.2);
}
.admin-btn--danger {
  background: var(--admin-accent-danger-bg);
  color: var(--admin-accent-danger);
  border: 1px solid rgba(248, 113, 113, 0.3);
  padding: 10px 20px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
}
.admin-btn--danger:hover {
  background: rgba(248, 113, 113, 0.2);
}
.admin-btn--toggle {
  background: var(--admin-surface);
  color: var(--admin-text-muted);
  border: 1px solid var(--admin-border);
  padding: 10px 20px;
  border-radius: 6px;
  font-size: 13px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.admin-btn--toggle.active {
  background: var(--admin-accent-secondary-bg);
  color: var(--admin-accent-secondary);
  border-color: var(--admin-accent-secondary);
}
.admin-btn--toggle.active-warning {
  background: var(--admin-accent-tertiary-bg);
  color: var(--admin-accent-tertiary);
  border-color: var(--admin-accent-tertiary);
}
.admin-btn--toggle.active-danger {
  background: var(--admin-accent-danger-bg);
  color: var(--admin-accent-danger);
  border-color: var(--admin-accent-danger);
}
.admin-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--admin-text-dim);
}
.admin-status-dot.active {
  background: var(--admin-accent-secondary);
}
.admin-status-dot.warning {
  background: var(--admin-accent-tertiary);
  animation: pulse 1s infinite;
}
.admin-status-dot.danger {
  background: var(--admin-accent-danger);
  animation: pulse 1s infinite;
}
@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
.admin-theme-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
@media (max-width: 768px) {
  .admin-theme-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
.admin-theme-btn {
  padding: 12px 8px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 500;
  text-align: center;
  cursor: pointer;
  border: 2px solid transparent;
  transition: all 0.15s ease;
  background: var(--admin-surface);
  color: var(--admin-text);
}
.admin-theme-btn:hover {
  border-color: var(--admin-border);
}
.admin-theme-btn.selected {
  border-color: var(--admin-accent-primary);
  box-shadow: 0 0 12px rgba(125, 211, 252, 0.3);
}
.admin-theme-btn[data-theme=kodak] {
  background: #fbbf24;
  color: #dc2626;
}
.admin-theme-btn[data-theme=fuji] {
  background: #006b3c;
  color: #fff;
}
.admin-theme-btn[data-theme=polaroid] {
  background: #f5f5f5;
  color: #333;
}
.admin-theme-btn[data-theme=noir] {
  background: #000;
  color: #fff;
}
.admin-theme-btn[data-theme=playboy] {
  background: #000;
  color: #d4af37;
}
.admin-theme-btn[data-theme=penthouse] {
  background: #1a1a2e;
  color: #c9a227;
}
.admin-theme-btn[data-theme=hustler] {
  background: #8b0000;
  color: #ffd700;
}
.admin-theme-btn[data-theme=instagram] {
  background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
  color: #fff;
}
.admin-theme-btn[data-theme=web1] {
  background: #c0c0c0;
  color: #000080;
}
.admin-theme-btn[data-theme=ww2] {
  background: #2d2a1f;
  color: #d4c9a8;
}
.admin-stats-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin: 16px 0;
}
@media (max-width: 768px) {
  .admin-stats-row {
    grid-template-columns: repeat(2, 1fr);
  }
}
.admin-stat {
  background: var(--admin-bg);
  border: 1px solid var(--admin-border);
  border-radius: 6px;
  padding: 12px;
  text-align: center;
}
.admin-stat__label {
  font-size: 10px;
  color: var(--admin-text-dim);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 4px;
}
.admin-stat__value {
  font-size: 20px;
  font-weight: 600;
  color: var(--admin-accent-primary);
}
.admin-stat__value.success {
  color: var(--admin-accent-secondary);
}
.admin-stat__value.warning {
  color: var(--admin-accent-tertiary);
}
.admin-stat__value.danger {
  color: var(--admin-accent-danger);
}
.admin-page {
  font-size: 14px;
  line-height: 1.5;
}
.admin-text-xs {
  font-size: 12px;
}
.admin-text-sm {
  font-size: 13px;
}
.admin-text-base {
  font-size: 14px;
}
.admin-text-lg {
  font-size: 16px;
}
.admin-text-xl {
  font-size: 18px;
}
.admin-text-muted {
  color: var(--admin-text-muted);
}
.admin-text-dim {
  color: var(--admin-text-dim);
}
.admin-input {
  background: var(--admin-bg);
  border: 1px solid var(--admin-border);
  border-radius: 6px;
  padding: 10px 14px;
  font-size: 14px;
  color: var(--admin-text);
  width: 100%;
}
.admin-input:focus {
  outline: none;
  border-color: var(--admin-accent-primary);
  box-shadow: 0 0 0 3px var(--admin-accent-primary-bg);
}
.admin-input::placeholder {
  color: var(--admin-text-dim);
}
.admin-label {
  display: block;
  font-size: 12px;
  color: var(--admin-text-muted);
  margin-bottom: 6px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
.admin-btn-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
@media (max-width: 768px) {
  .admin-btn-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 768px) {
  .admin-page {
    font-size: 16px;
  }
  .admin-section__header {
    font-size: 15px;
  }
  .admin-btn--primary,
  .admin-btn--secondary,
  .admin-btn--toggle {
    padding: 14px 20px;
    font-size: 15px;
    min-height: 48px;
  }
  .admin-input {
    padding: 14px;
    font-size: 16px;
    min-height: 48px;
  }
  .admin-nav,
  .theme-modern .admin-nav,
  .theme-modern-dark .admin-nav {
    flex-wrap: wrap !important;
    padding: 8px !important;
    height: auto !important;
    gap: 2px;
    width: 100% !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
    box-sizing: border-box;
  }
  .admin-nav-brand,
  .theme-modern .admin-nav-brand,
  .theme-modern-dark .admin-nav-brand {
    width: 100% !important;
    text-align: center;
    padding: 8px !important;
    margin: 0 !important;
    border-right: none !important;
    border-bottom: 1px solid rgba(128, 128, 128, 0.2);
    box-sizing: border-box;
  }
  .admin-nav-item,
  .theme-modern .admin-nav-item,
  .theme-modern-dark .admin-nav-item {
    padding: 6px 8px !important;
    min-height: 40px;
    font-size: 11px !important;
    flex: 0 0 auto;
    white-space: nowrap;
  }
  .admin-nav-spacer,
  .theme-modern .admin-nav-spacer,
  .theme-modern-dark .admin-nav-spacer {
    display: none !important;
  }
  .admin-nav-back,
  .theme-modern .admin-nav-back,
  .theme-modern-dark .admin-nav-back {
    width: 100% !important;
    text-align: center;
    margin-top: 4px;
    padding: 8px !important;
    box-sizing: border-box;
  }
  .admin-page,
  body {
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }
  .admin-content,
  .theme-modern .admin-content,
  .theme-modern-dark .admin-content {
    padding: 8px !important;
    max-width: 100% !important;
  }
  .admin-section {
    padding: 12px;
    margin: 8px 0;
  }
  .admin-stats-grid,
  .cluster-stats-grid,
  .admin-button-group {
    grid-template-columns: 1fr !important;
  }
  .admin-image-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px;
  }
  .admin-table-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .vhs-controls {
    flex-direction: column;
    gap: 8px;
  }
  .vhs-control {
    min-height: 44px;
    width: 100%;
  }
  .led-display {
    font-size: 11px;
    padding: 4px 8px;
  }
  .floppy-grid {
    grid-template-columns: 1fr !important;
  }
}
.flex-1 {
  flex: 1;
}

/* css/ai_collab.css */
.hn-page {
  background: #f6f6ef;
  min-height: 100vh;
  font-family:
    Verdana,
    Geneva,
    sans-serif;
  font-size: 10pt;
}
.hn-content {
  max-width: 1200px;
  margin: 0 auto;
  padding: 10px;
}
.hn-header {
  background: #ff6600;
  padding: 2px 10px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.hn-logo {
  font-weight: bold;
  color: #000;
  font-size: 11pt;
}
.hn-nav {
  display: flex;
  gap: 8px;
  flex: 1;
}
.hn-nav a,
.hn-tab {
  color: #000;
  text-decoration: none;
  cursor: pointer;
  padding: 2px 6px;
}
.hn-tab.active {
  background: #fff;
  border-radius: 2px;
}
.hn-tab:hover {
  text-decoration: underline;
}
.hn-user {
  color: #000;
}
.hn-clock-bar {
  background: #f0f0e8;
  padding: 6px 10px;
  margin-bottom: 2px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  font-size: 9pt;
  border-bottom: 1px solid #e0e0d8;
}
.hn-clock {
  font-family: "Courier New", monospace;
  font-size: 11pt;
  color: #333;
  font-weight: bold;
  letter-spacing: 0.5px;
}
.hn-tz-select {
  background: #fff;
  border: 1px solid #ccc;
  padding: 2px 6px;
  font-size: 8pt;
  color: #666;
  cursor: pointer;
  border-radius: 2px;
}
.hn-tz-select:hover {
  border-color: #ff6600;
}
.hn-tz-select:focus {
  outline: none;
  border-color: #ff6600;
}
.hn-stats {
  background: #f0f0e8;
  padding: 8px 10px;
  margin-bottom: 10px;
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  font-size: 9pt;
  color: #666;
}
.hn-stat {
  display: flex;
  gap: 4px;
  align-items: center;
  cursor: pointer;
  padding: 2px 6px;
  border-radius: 3px;
  transition: background 0.15s;
}
.hn-stat:hover {
  background: rgba(0, 0, 0, 0.05);
}
.hn-stat.active {
  background: rgba(255, 102, 0, 0.15);
}
.hn-stat-label {
  color: #888;
}
.hn-stat-val {
  font-weight: bold;
}
.hn-stat-val.claude {
  color: #6366f1;
}
.hn-stat-val.gemini {
  color: #059669;
}
.hn-stat-val.kimi {
  color: #7c3aed;
}
.hn-stat-val.gpt {
  color: #f97316;
}
.hn-cycle {
  background: #ffffcc;
  border: 1px solid #e6e6b8;
  padding: 8px 10px;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.hn-cycle.waiting {
  background: #fff3cd;
  border-color: #ffc107;
}
.hn-cycle-icon {
  font-size: 14pt;
}
.hn-cycle-text {
  flex: 1;
  font-size: 9pt;
}
.hn-cycle-text strong {
  color: #b45309;
}
.hn-cycle-btn {
  background: #ff6600;
  color: #fff;
  border: none;
  padding: 4px 12px;
  cursor: pointer;
  font-size: 9pt;
}
.hn-cycle-btn:hover {
  background: #e55c00;
}
.hn-cycle-btn.reset {
  background: #888;
}
.hn-cycle-btn.trigger {
  background: #22c55e;
  font-weight: bold;
}
.hn-cycle-btn.trigger:hover {
  background: #16a34a;
}
.hn-tabs {
  border-bottom: 1px solid #e0e0d8;
  margin-bottom: 10px;
  display: flex;
  gap: 0;
}
.hn-tab-btn {
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  padding: 8px 16px;
  cursor: pointer;
  font-size: 10pt;
  color: #666;
}
.hn-tab-btn:hover {
  color: #000;
}
.hn-tab-btn.active {
  border-bottom-color: #ff6600;
  color: #000;
  font-weight: bold;
}
.hn-thread {
  background: #fff;
  border: 1px solid #e0e0d8;
}
.hn-msg {
  border-bottom: 1px solid #f0f0e8;
  padding: 8px 10px;
}
.hn-msg:last-child {
  border-bottom: none;
}
.hn-msg-header {
  display: flex;
  gap: 6px;
  align-items: baseline;
  font-size: 8pt;
  color: #888;
  margin-bottom: 4px;
  flex-wrap: wrap;
}
.hn-msg-author {
  font-weight: bold;
}
.hn-msg-author.claude {
  color: #6366f1;
}
.hn-msg-author.gemini {
  color: #059669;
}
.hn-msg-author.kimi {
  color: #7c3aed;
}
.hn-msg-author.gpt {
  color: #f97316;
}
.hn-msg-to {
  color: #999;
}
.hn-msg-time {
  color: #999;
}
.hn-msg-subject {
  color: #000;
  font-size: 10pt;
  margin-bottom: 4px;
}
.hn-msg-subject a {
  color: #000;
  text-decoration: none;
}
.hn-msg-subject a:hover {
  text-decoration: underline;
}
.hn-msg-body {
  font-size: 9pt;
  color: #444;
  line-height: 1.4;
  max-height: 100px;
  overflow: hidden;
}
.hn-msg-body.expanded {
  max-height: none;
}
.hn-msg-toggle {
  font-size: 8pt;
  color: #888;
  cursor: pointer;
  margin-top: 4px;
}
.hn-msg-toggle:hover {
  color: #000;
  text-decoration: underline;
}
.hn-proposals {
  background: #fff;
  border: 1px solid #e0e0d8;
}
.hn-prop {
  display: flex;
  gap: 10px;
  padding: 6px 10px;
  border-bottom: 1px solid #f0f0e8;
  align-items: center;
}
.hn-prop:last-child {
  border-bottom: none;
}
.hn-prop-status {
  font-size: 7pt;
  padding: 2px 6px;
  border-radius: 2px;
  text-transform: uppercase;
  font-weight: bold;
}
.hn-prop-status.approved {
  background: #d4edda;
  color: #155724;
}
.hn-prop-status.ready {
  background: #fff3cd;
  color: #856404;
}
.hn-prop-status.draft {
  background: #e2e3e5;
  color: #383d41;
}
.hn-prop-name {
  flex: 1;
  font-size: 9pt;
  color: #000;
}
.hn-prop-priority {
  font-size: 8pt;
  color: #666;
}
.hn-prop-date {
  font-size: 8pt;
  color: #999;
}
.hn-todos {
  background: #fff;
  border: 1px solid #e0e0d8;
}
.hn-todo {
  display: flex;
  gap: 8px;
  padding: 6px 10px;
  border-bottom: 1px solid #f0f0e8;
  font-size: 9pt;
}
.hn-todo:last-child {
  border-bottom: none;
}
.hn-todo-check {
  color: #888;
}
.hn-todo-text {
  flex: 1;
  color: #444;
}
.hn-todo-src {
  font-size: 8pt;
  color: #999;
}
.hn-empty {
  padding: 20px;
  text-align: center;
  color: #888;
  font-size: 9pt;
}
.hn-pin-form {
  max-width: 300px;
  margin: 50px auto;
  background: #fff;
  border: 1px solid #e0e0d8;
  padding: 20px;
}
.hn-pin-form h2 {
  font-size: 12pt;
  margin: 0 0 10px 0;
}
.hn-pin-form input {
  width: 100%;
  padding: 8px;
  margin: 10px 0;
  border: 1px solid #ccc;
  font-size: 12pt;
  text-align: center;
}
.hn-pin-form button {
  width: 100%;
  background: #ff6600;
  color: #fff;
  border: none;
  padding: 10px;
  cursor: pointer;
  font-size: 10pt;
}
.hn-filter-banner {
  padding: 8px 10px;
  background: #fff3cd;
  border: 1px solid #ffc107;
  margin-bottom: 10px;
  font-size: 9pt;
}
.hn-filter-clear {
  color: #ff6600;
  cursor: pointer;
  margin-left: 10px;
}
.hn-filter-clear:hover {
  text-decoration: underline;
}
.hn-sync-cards {
  display: flex;
  gap: 10px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}
.hn-sync-card {
  background: #fff;
  border: 1px solid #e0e0d8;
  border-radius: 4px;
  padding: 10px 15px;
  min-width: 140px;
  cursor: pointer;
  transition: all 0.15s ease;
}
.hn-sync-card:hover {
  border-color: #ff6600;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.hn-sync-card.synced {
  border-left: 3px solid #22c55e;
}
.hn-sync-card.behind {
  border-left: 3px solid #f59e0b;
  background: #fffbeb;
}
.hn-sync-card.offline {
  border-left: 3px solid #ef4444;
  background: #fef2f2;
}
.hn-sync-bot {
  font-weight: bold;
  font-size: 10pt;
  margin-bottom: 4px;
}
.hn-sync-card:nth-child(1) .hn-sync-bot {
  color: #3b82f6;
}
.hn-sync-card:nth-child(2) .hn-sync-bot {
  color: #22c55e;
}
.hn-sync-card:nth-child(3) .hn-sync-bot {
  color: #a855f7;
}
.hn-sync-status {
  font-size: 9pt;
  margin-bottom: 2px;
}
.hn-sync-status.synced {
  color: #16a34a;
}
.hn-sync-status.behind {
  color: #d97706;
}
.hn-sync-status.offline {
  color: #dc2626;
}
.hn-sync-time {
  font-size: 8pt;
  color: #888;
}
.hn-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}
.hn-modal {
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 4px;
  max-width: 500px;
  width: 90%;
  max-height: 80vh;
  overflow: auto;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}
.hn-modal-header {
  background: #ff6600;
  color: #fff;
  padding: 10px 15px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: bold;
}
.hn-modal-close {
  background: none;
  border: none;
  color: #fff;
  font-size: 20px;
  cursor: pointer;
  padding: 0 5px;
}
.hn-modal-close:hover {
  color: #000;
}
.hn-modal-body {
  padding: 15px;
}
.hn-modal-body p {
  margin: 0 0 10px 0;
  font-size: 10pt;
}
.hn-unread-list {
  background: #f6f6ef;
  border: 1px solid #e0e0d8;
  padding: 8px;
  margin: 10px 0;
}
.hn-unread-item {
  display: flex;
  justify-content: space-between;
  padding: 4px 0;
  font-size: 9pt;
  border-bottom: 1px solid #e0e0d8;
}
.hn-unread-item:last-child {
  border-bottom: none;
}
.hn-unread-file {
  font-family: monospace;
  color: #333;
}
.hn-unread-count {
  color: #d97706;
  font-weight: bold;
}
.hn-catchup-prompt {
  margin-top: 15px;
}
.hn-catchup-prompt label {
  display: block;
  font-size: 9pt;
  color: #666;
  margin-bottom: 5px;
}
.hn-catchup-prompt textarea {
  width: 100%;
  min-height: 120px;
  font-family: monospace;
  font-size: 9pt;
  padding: 8px;
  border: 1px solid #ccc;
  background: #f9f9f9;
  resize: vertical;
}
.hn-catchup-prompt button {
  margin-top: 8px;
  background: #ff6600;
  color: #fff;
  border: none;
  padding: 8px 16px;
  cursor: pointer;
  font-size: 9pt;
}
.hn-catchup-prompt button:hover {
  background: #e55c00;
}
.hn-sync-detail {
  color: #888;
  font-size: 9pt;
}
.hn-warning-banner {
  background: #fef2f2;
  border: 1px solid #ef4444;
  border-left: 4px solid #ef4444;
  padding: 10px 15px;
  margin-bottom: 10px;
  font-size: 9pt;
  color: #991b1b;
}
.hn-warning-banner strong {
  color: #dc2626;
}
.hn-warning-banner ul {
  margin: 5px 0 5px 20px;
  padding: 0;
}
.hn-warning-banner li {
  margin: 2px 0;
}
.hn-warning-banner small {
  color: #666;
  font-style: italic;
}
@media (max-width: 767px) {
  .hn-sync-cards {
    flex-direction: column;
  }
  .hn-sync-card {
    min-width: auto;
    width: 100%;
  }
  .hn-stats {
    flex-direction: column;
    gap: 8px;
  }
  .hn-header {
    flex-wrap: wrap;
    padding: 8px 10px;
  }
  .hn-nav {
    flex-wrap: wrap;
    width: 100%;
    justify-content: flex-start;
    gap: 4px;
  }
  .hn-tabs {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .hn-cycle {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  .hn-cycle-btn {
    width: 100%;
    text-align: center;
  }
  .hn-modal {
    width: 95%;
    margin: 10px;
    max-height: 90vh;
  }
  .hn-clock-bar {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }
  .hn-msg-header {
    flex-direction: column;
    gap: 2px;
  }
  .hn-tab-btn,
  .hn-cycle-btn,
  .hn-stat,
  .hn-sync-card,
  .hn-tab {
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    -webkit-tap-highlight-color: transparent;
  }
  .hn-page {
    font-size: 11pt;
  }
  .hn-msg-body {
    font-size: 10pt;
  }
  .hn-pin-form {
    max-width: none;
    margin: 20px 10px;
  }
  .hn-prop {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }
  .hn-prop-name {
    font-size: 10pt;
  }
  .hn-todo {
    flex-direction: column;
    align-items: flex-start;
  }
}
@media (min-width: 768px) {
  .hn-sync-cards {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
  }
  .hn-sync-card {
    min-width: 140px;
    flex: 1;
  }
  .hn-page {
    font-size: 10pt;
  }
}
.hn-gpt-heartbeat {
  margin-top: 4px;
  font-size: 9pt;
  padding: 2px 6px;
  background: rgba(249, 115, 22, 0.15);
  border-radius: 3px;
}
.gpt-countdown {
  color: #f97316;
  font-family: monospace;
}
.gpt-processing {
  color: #22c55e;
  animation: pulse 1s infinite;
}
.gpt-stopped {
  color: #6b7280;
}
.gpt-unknown {
  color: #ff6600;
}
@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}

/* css/admin.css */
:root {
  --admin-bg: #1a1a2e;
  --admin-bg-alt: #16213e;
  --admin-surface: #1f2937;
  --admin-surface-hover: #374151;
  --admin-border: #374151;
  --admin-accent: #e94560;
  --admin-accent-hover: #ff6b6b;
  --admin-primary: #3b82f6;
  --admin-primary-hover: #60a5fa;
  --admin-text: #f3f4f6;
  --admin-text-muted: #9ca3af;
  --admin-text-dim: #6b7280;
  --admin-success: #10b981;
  --admin-success-bg: rgba(16, 185, 129, 0.1);
  --admin-warning: #f59e0b;
  --admin-warning-bg: rgba(245, 158, 11, 0.1);
  --admin-error: #ef4444;
  --admin-error-bg: rgba(239, 68, 68, 0.1);
  --admin-info: #3b82f6;
  --admin-info-bg: rgba(59, 130, 246, 0.1);
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --admin-font:
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    "Helvetica Neue",
    Arial,
    sans-serif;
  --admin-font-mono:
    "SF Mono",
    "Monaco",
    "Inconsolata",
    "Fira Code",
    monospace;
  --admin-text-xs: 0.75rem;
  --admin-text-sm: 0.875rem;
  --admin-text-base: 1rem;
  --admin-text-lg: 1.125rem;
  --admin-text-xl: 1.25rem;
  --admin-text-2xl: 1.5rem;
  --admin-text-3xl: 1.875rem;
  --admin-radius: 8px;
  --admin-radius-sm: 4px;
  --admin-radius-lg: 12px;
  --admin-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3), 0 2px 4px -1px rgba(0, 0, 0, 0.2);
  --admin-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.3), 0 4px 6px -2px rgba(0, 0, 0, 0.2);
  --admin-transition: 150ms ease-in-out;
}
.admin-layout {
  min-height: 100vh;
  background: var(--admin-bg);
  color: var(--admin-text);
  font-family: var(--admin-font);
  font-size: var(--admin-text-base);
  line-height: 1.5;
}
.admin-layout * {
  box-sizing: border-box;
}
.admin-nav {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-4);
  background: var(--admin-bg-alt);
  border-bottom: 1px solid var(--admin-border);
  position: sticky;
  top: 0;
  z-index: 100;
}
.admin-nav-brand {
  font-weight: 700;
  font-size: var(--admin-text-lg);
  color: var(--admin-accent);
  text-decoration: none;
  padding: var(--space-2) var(--space-3);
  margin-right: var(--space-4);
}
.admin-nav-brand:hover {
  color: var(--admin-accent-hover);
}
.admin-nav-dropdown {
  position: relative;
}
.admin-nav-dropdown-trigger {
  display: flex;
  align-items: center;
  gap: var(--space-1);
  padding: var(--space-2) var(--space-3);
  color: var(--admin-text-muted);
  background: transparent;
  border: none;
  border-radius: var(--admin-radius-sm);
  cursor: pointer;
  font-size: var(--admin-text-sm);
  font-family: inherit;
  transition: all var(--admin-transition);
}
.admin-nav-dropdown-trigger:hover,
.admin-nav-dropdown-trigger.active {
  color: var(--admin-text);
  background: var(--admin-surface);
}
.admin-nav-dropdown-trigger::after {
  content: "";
  border: 4px solid transparent;
  border-top-color: currentColor;
  margin-top: 2px;
}
.admin-nav-dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 180px;
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  box-shadow: var(--admin-shadow-lg);
  padding: var(--space-2) 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: all var(--admin-transition);
  z-index: 200;
}
.admin-nav-dropdown:hover .admin-nav-dropdown-menu,
.admin-nav-dropdown:focus-within .admin-nav-dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.admin-nav-dropdown-item {
  display: block;
  padding: var(--space-2) var(--space-4);
  color: var(--admin-text-muted);
  text-decoration: none;
  font-size: var(--admin-text-sm);
  transition: all var(--admin-transition);
}
.admin-nav-dropdown-item:hover {
  color: var(--admin-text);
  background: var(--admin-surface-hover);
}
.admin-nav-dropdown-item.active {
  color: var(--admin-accent);
  background: var(--admin-surface-hover);
}
.admin-nav-item {
  padding: var(--space-2) var(--space-3);
  color: var(--admin-text-muted);
  text-decoration: none;
  border-radius: var(--admin-radius-sm);
  font-size: var(--admin-text-sm);
  transition: all var(--admin-transition);
}
.admin-nav-item:hover {
  color: var(--admin-text);
  background: var(--admin-surface);
}
.admin-nav-item.active {
  color: var(--admin-accent);
  background: var(--admin-surface);
}
.admin-nav-spacer {
  flex: 1;
}
.admin-nav-back {
  padding: var(--space-2) var(--space-3);
  color: var(--admin-text-dim);
  text-decoration: none;
  font-size: var(--admin-text-sm);
  transition: color var(--admin-transition);
}
.admin-nav-back:hover {
  color: var(--admin-text);
}
.admin-nav-left {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  flex: 1;
  flex-wrap: wrap;
}
.admin-nav-right {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}
.admin-nav-caret {
  font-size: 0.7em;
  opacity: 0.7;
  margin-left: var(--space-1);
}
.admin-nav-dropdown-item {
  display: flex;
  flex-direction: column;
  padding: var(--space-2) var(--space-4);
  color: var(--admin-text-muted);
  text-decoration: none;
  font-size: var(--admin-text-sm);
  transition: all var(--admin-transition);
}
.admin-nav-dropdown-icon {
  display: inline;
  margin-right: var(--space-2);
}
.admin-nav-dropdown-desc {
  display: block;
  font-size: var(--admin-text-xs);
  color: var(--admin-text-dim);
  margin-top: var(--space-1);
  padding-left: calc(var(--space-4) + 4px);
}
.admin-nav-dropdown-item:hover .admin-nav-dropdown-desc {
  color: var(--admin-text-muted);
}
.admin-nav-logout {
  color: var(--admin-text-dim);
  padding: var(--space-2) var(--space-3);
  text-decoration: none;
  font-size: var(--admin-text-sm);
  border-radius: var(--admin-radius-sm);
  transition: all var(--admin-transition);
}
.admin-nav-logout:hover {
  color: var(--admin-error);
  background: var(--admin-error-bg);
}
.admin-main {
  padding: var(--space-6);
  max-width: 1600px;
  margin: 0 auto;
}
.admin-content {
  padding: var(--space-6);
  max-width: 1600px;
  margin: 0 auto;
}
.admin-header {
  margin-bottom: var(--space-6);
}
.admin-title {
  font-size: var(--admin-text-2xl);
  font-weight: 700;
  color: var(--admin-text);
  margin: 0 0 var(--space-2) 0;
}
.admin-subtitle {
  font-size: var(--admin-text-base);
  color: var(--admin-text-muted);
  margin: 0;
}
.admin-grid {
  display: grid;
  gap: var(--space-4);
}
.admin-grid-2 {
  grid-template-columns: repeat(2, 1fr);
}
.admin-grid-3 {
  grid-template-columns: repeat(3, 1fr);
}
.admin-grid-4 {
  grid-template-columns: repeat(4, 1fr);
}
.admin-flex {
  display: flex;
  gap: var(--space-4);
}
.admin-flex-col {
  flex-direction: column;
}
.admin-flex-wrap {
  flex-wrap: wrap;
}
.admin-flex-1 {
  flex: 1;
}
.admin-card {
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  box-shadow: var(--admin-shadow);
  overflow: hidden;
}
.admin-card-header {
  padding: var(--space-4);
  border-bottom: 1px solid var(--admin-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.admin-card-title {
  font-size: var(--admin-text-lg);
  font-weight: 600;
  color: var(--admin-text);
  margin: 0;
}
.admin-card-body {
  padding: var(--space-4);
}
.admin-card-footer {
  padding: var(--space-3) var(--space-4);
  border-top: 1px solid var(--admin-border);
  background: var(--admin-bg-alt);
}
.admin-stats-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: var(--space-4);
  margin-bottom: var(--space-6);
}
.admin-stat-card {
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  padding: var(--space-4);
  text-align: center;
  text-decoration: none;
  display: block;
  transition: all var(--admin-transition);
}
.admin-stat-card:hover {
  border-color: var(--admin-primary);
  background: var(--admin-bg-alt);
  transform: translateY(-2px);
  box-shadow: var(--admin-shadow);
}
.admin-stat-card:hover .admin-stat-value {
  color: var(--admin-primary);
}
.admin-stat-value {
  font-size: var(--admin-text-3xl);
  font-weight: 700;
  color: var(--admin-text);
  line-height: 1.2;
  transition: color var(--admin-transition);
}
.admin-stat-label {
  font-size: var(--admin-text-sm);
  color: var(--admin-text-muted);
  margin-top: var(--space-1);
}
.admin-stat-card.success {
  border-left: 4px solid var(--admin-success);
}
.admin-stat-card.warning {
  border-left: 4px solid var(--admin-warning);
}
.admin-stat-card.error {
  border-left: 4px solid var(--admin-error);
}
.admin-stat-card.info {
  border-left: 4px solid var(--admin-info);
}
.admin-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--admin-text-sm);
}
.admin-table th,
.admin-table td {
  padding: var(--space-3) var(--space-4);
  text-align: left;
  border-bottom: 1px solid var(--admin-border);
}
.admin-table th {
  font-weight: 600;
  color: var(--admin-text-muted);
  background: var(--admin-bg-alt);
  text-transform: uppercase;
  font-size: var(--admin-text-xs);
  letter-spacing: 0.05em;
}
.admin-table tbody tr:hover {
  background: var(--admin-surface-hover);
}
.admin-table tbody tr:last-child td {
  border-bottom: none;
}
.admin-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-4);
  font-size: var(--admin-text-sm);
  font-weight: 500;
  font-family: inherit;
  border-radius: var(--admin-radius-sm);
  border: 1px solid transparent;
  cursor: pointer;
  transition: all var(--admin-transition);
  text-decoration: none;
}
.admin-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.admin-btn-primary {
  background: var(--admin-primary);
  color: white;
}
.admin-btn-primary:hover:not(:disabled) {
  background: var(--admin-primary-hover);
}
.admin-btn-accent {
  background: var(--admin-accent);
  color: white;
}
.admin-btn-accent:hover:not(:disabled) {
  background: var(--admin-accent-hover);
}
.admin-btn-secondary {
  background: var(--admin-surface);
  color: var(--admin-text);
  border-color: var(--admin-border);
}
.admin-btn-secondary:hover:not(:disabled) {
  background: var(--admin-surface-hover);
}
.admin-btn-danger {
  background: var(--admin-error);
  color: white;
}
.admin-btn-danger:hover:not(:disabled) {
  background: #dc2626;
}
.admin-btn-sm {
  padding: var(--space-1) var(--space-2);
  font-size: var(--admin-text-xs);
}
.admin-btn-lg {
  padding: var(--space-3) var(--space-6);
  font-size: var(--admin-text-base);
}
.admin-btn-success {
  background: var(--admin-success);
  border-color: var(--admin-success);
  color: white;
}
.admin-btn-success:hover:not(:disabled) {
  background: #16a34a;
}
.admin-btn-info {
  background: var(--admin-info);
  border-color: var(--admin-info);
  color: white;
}
.admin-btn-info:hover:not(:disabled) {
  background: #7c3aed;
}
.admin-btn-warning {
  background: var(--admin-warning);
  border-color: var(--admin-warning);
  color: #1f2937;
}
.admin-btn-warning:hover:not(:disabled) {
  background: #d97706;
}
.admin-form-group {
  margin-bottom: var(--space-4);
}
.admin-label {
  display: block;
  font-size: var(--admin-text-sm);
  font-weight: 500;
  color: var(--admin-text);
  margin-bottom: var(--space-2);
}
.admin-input,
.admin-select,
.admin-textarea {
  width: 100%;
  padding: var(--space-2) var(--space-3);
  font-size: var(--admin-text-base);
  font-family: inherit;
  color: var(--admin-text);
  background: var(--admin-bg);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-sm);
  transition: border-color var(--admin-transition), box-shadow var(--admin-transition);
}
.admin-input:focus,
.admin-select:focus,
.admin-textarea:focus {
  outline: none;
  border-color: var(--admin-primary);
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2);
}
.admin-input::placeholder {
  color: var(--admin-text-dim);
}
.admin-textarea {
  min-height: 100px;
  resize: vertical;
}
.admin-badge {
  display: inline-flex;
  align-items: center;
  padding: var(--space-1) var(--space-2);
  font-size: var(--admin-text-xs);
  font-weight: 500;
  border-radius: 9999px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.admin-badge-success {
  background: var(--admin-success-bg);
  color: var(--admin-success);
}
.admin-badge-warning {
  background: var(--admin-warning-bg);
  color: var(--admin-warning);
}
.admin-badge-error {
  background: var(--admin-error-bg);
  color: var(--admin-error);
}
.admin-badge-info {
  background: var(--admin-info-bg);
  color: var(--admin-info);
}
.admin-badge-neutral {
  background: var(--admin-surface);
  color: var(--admin-text-muted);
}
.admin-alert {
  padding: var(--space-3) var(--space-4);
  border-radius: var(--admin-radius);
  margin-bottom: var(--space-4);
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
}
.admin-alert-success {
  background: var(--admin-success-bg);
  border: 1px solid var(--admin-success);
  color: var(--admin-success);
}
.admin-alert-warning {
  background: var(--admin-warning-bg);
  border: 1px solid var(--admin-warning);
  color: var(--admin-warning);
}
.admin-alert-error {
  background: var(--admin-error-bg);
  border: 1px solid var(--admin-error);
  color: var(--admin-error);
}
.admin-alert-info {
  background: var(--admin-info-bg);
  border: 1px solid var(--admin-info);
  color: var(--admin-info);
}
.admin-empty {
  text-align: center;
  padding: var(--space-12) var(--space-4);
  color: var(--admin-text-muted);
}
.admin-empty-icon {
  font-size: 3rem;
  margin-bottom: var(--space-4);
  opacity: 0.5;
}
.admin-empty-title {
  font-size: var(--admin-text-lg);
  font-weight: 600;
  color: var(--admin-text);
  margin-bottom: var(--space-2);
}
.admin-empty-description {
  font-size: var(--admin-text-sm);
  margin-bottom: var(--space-4);
}
.admin-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-8);
}
.admin-spinner {
  width: 32px;
  height: 32px;
  border: 3px solid var(--admin-border);
  border-top-color: var(--admin-primary);
  border-radius: 50%;
  animation: admin-spin 0.8s linear infinite;
}
@keyframes admin-spin {
  to {
    transform: rotate(360deg);
  }
}
.admin-text-muted {
  color: var(--admin-text-muted);
}
.admin-text-success {
  color: var(--admin-success);
}
.admin-text-warning {
  color: var(--admin-warning);
}
.admin-text-error {
  color: var(--admin-error);
}
.admin-text-info {
  color: var(--admin-info);
}
.admin-text-sm {
  font-size: var(--admin-text-sm);
}
.admin-text-xs {
  font-size: var(--admin-text-xs);
}
.admin-text-lg {
  font-size: var(--admin-text-lg);
}
.admin-font-mono {
  font-family: var(--admin-font-mono);
}
.admin-font-bold {
  font-weight: 700;
}
.admin-mt-2 {
  margin-top: var(--space-2);
}
.admin-mt-4 {
  margin-top: var(--space-4);
}
.admin-mb-2 {
  margin-bottom: var(--space-2);
}
.admin-mb-4 {
  margin-bottom: var(--space-4);
}
.admin-p-4 {
  padding: var(--space-4);
}
.admin-p-6 {
  padding: var(--space-6);
}
.admin-hidden {
  display: none !important;
}
.admin-text-dim {
  color: var(--admin-text-dim);
}
.admin-code {
  background: rgba(0, 0, 0, 0.2);
  padding: 2px 6px;
  border-radius: var(--admin-radius-sm);
  font-family: var(--admin-font-mono);
  font-size: var(--admin-text-sm);
}
.admin-card-link {
  display: block;
  text-decoration: none;
  color: inherit;
  transition: all var(--admin-transition);
}
.admin-card-link:hover {
  transform: translateY(-2px);
  border-color: var(--admin-primary);
  box-shadow: var(--admin-shadow-lg);
}
.admin-card-link h3 {
  margin: 0 0 var(--space-2) 0;
  color: var(--admin-text);
}
.admin-card-link p {
  margin: 0;
}
.admin-btn-block {
  display: block;
  width: 100%;
}
.admin-badge-lg {
  font-size: var(--admin-text-lg);
  padding: var(--space-3) var(--space-6);
}
.admin-dashboard-grid {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: var(--space-6);
  margin-top: var(--space-4);
}
.admin-dashboard-main {
  min-width: 0;
}
.admin-dashboard-sidebar {
  min-width: 0;
}
@media (max-width: 1400px) {
  .admin-stats-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 1024px) {
  .admin-stats-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .admin-dashboard-grid {
    grid-template-columns: 1fr;
  }
  .admin-grid-4 {
    grid-template-columns: repeat(2, 1fr);
  }
  .admin-grid-3 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .admin-nav {
    flex-wrap: wrap;
    padding: var(--space-2);
    gap: var(--space-1);
  }
  .admin-nav-left {
    width: 100%;
    justify-content: center;
  }
  .admin-nav-right {
    width: 100%;
    justify-content: center;
    margin-top: var(--space-2);
    padding-top: var(--space-2);
    border-top: 1px solid var(--admin-border);
  }
  .admin-nav-brand {
    width: 100%;
    text-align: center;
    margin-right: 0;
    margin-bottom: var(--space-2);
    padding-bottom: var(--space-2);
    border-bottom: 1px solid var(--admin-border);
  }
  .admin-nav-dropdown,
  .admin-nav-item {
    flex: 1 1 auto;
    min-width: calc(33% - var(--space-2));
  }
  .admin-nav-dropdown-trigger,
  .admin-nav-item {
    justify-content: center;
    text-align: center;
    min-height: 44px;
  }
  .admin-nav-spacer {
    display: none;
  }
  .admin-nav-dropdown-desc {
    display: none;
  }
  .admin-nav-back {
    width: 100%;
    text-align: center;
    margin-top: var(--space-2);
    padding-top: var(--space-2);
    border-top: 1px solid var(--admin-border);
  }
  .admin-content {
    padding: var(--space-4);
  }
  .admin-stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .admin-grid-2,
  .admin-grid-3,
  .admin-grid-4 {
    grid-template-columns: 1fr;
  }
  .admin-flex:not(.admin-flex-col) {
    flex-direction: column;
  }
  .admin-table-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .admin-btn {
    min-height: 44px;
    padding: var(--space-3) var(--space-4);
  }
}
@media (max-width: 480px) {
  .admin-stats-grid {
    grid-template-columns: 1fr;
  }
  .admin-nav-dropdown,
  .admin-nav-item {
    min-width: calc(50% - var(--space-1));
  }
  .admin-stat-value {
    font-size: var(--admin-text-2xl);
  }
}
.worker-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: var(--space-4);
}
.worker-card {
  background: var(--admin-bg);
  border: 1px solid var(--admin-border);
  border-radius: var(--radius-lg);
  padding: var(--space-4);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.worker-card.worker-online {
  border-left: 3px solid #22c55e;
}
.worker-card.worker-offline {
  border-left: 3px solid #ef4444;
  opacity: 0.8;
}
.worker-card:hover {
  border-color: var(--admin-border-active);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
.worker-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--space-3);
}
.worker-identity {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}
.worker-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.worker-status-dot.online {
  background: #22c55e;
  box-shadow: 0 0 6px rgba(34, 197, 94, 0.6);
}
.worker-status-dot.offline {
  background: #ef4444;
}
.worker-name {
  font-weight: 600;
  font-size: 15px;
  color: var(--admin-text);
}
.worker-meta {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}
.worker-source {
  font-size: 10px;
  font-weight: 500;
  color: var(--admin-text-muted);
  background: var(--admin-bg-subtle);
  padding: 2px 6px;
  border-radius: var(--radius-sm);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.worker-latency {
  font-size: 11px;
  color: #22c55e;
  font-weight: 500;
  font-family: var(--font-mono);
}
.worker-specs {
  margin-bottom: var(--space-3);
  padding: var(--space-2) var(--space-3);
  background: var(--admin-bg-subtle);
  border-radius: var(--radius-md);
}
.worker-spec-main {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin-bottom: 4px;
}
.spec-icon {
  color: #22c55e;
  font-size: 12px;
}
.spec-value {
  font-size: 13px;
  font-weight: 500;
  color: var(--admin-text);
  flex: 1;
}
.spec-vram {
  font-size: 12px;
  font-weight: 600;
  color: #60a5fa;
  background: rgba(96, 165, 250, 0.15);
  padding: 2px 6px;
  border-radius: var(--radius-sm);
  font-family: var(--font-mono);
}
.worker-endpoint {
  font-size: 11px;
  color: var(--admin-text-muted);
  font-family: var(--font-mono);
}
.worker-caps {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: var(--space-3);
}
.cap-badge {
  font-size: 10px;
  font-weight: 500;
  padding: 3px 8px;
  border-radius: var(--radius-sm);
  text-transform: lowercase;
  letter-spacing: 0.3px;
}
.cap-vision {
  background: rgba(139, 92, 246, 0.2);
  color: #a78bfa;
  border: 1px solid rgba(139, 92, 246, 0.3);
}
.cap-llm {
  background: rgba(34, 197, 94, 0.15);
  color: #4ade80;
  border: 1px solid rgba(34, 197, 94, 0.3);
}
.cap-other {
  background: rgba(148, 163, 184, 0.15);
  color: #94a3b8;
  border: 1px solid rgba(148, 163, 184, 0.3);
}
.worker-error {
  font-size: 11px;
  color: #fca5a5;
  background: rgba(239, 68, 68, 0.15);
  border: 1px solid rgba(239, 68, 68, 0.3);
  padding: var(--space-2) var(--space-3);
  border-radius: var(--radius-md);
  font-family: var(--font-mono);
  margin-bottom: var(--space-3);
}
.worker-actions {
  padding-top: var(--space-3);
  border-top: 1px solid var(--admin-border);
}
@media (max-width: 768px) {
  .worker-grid {
    grid-template-columns: 1fr;
  }
  .worker-card {
    padding: var(--space-3);
  }
}
.cap-toggle {
  font-size: 10px;
  font-weight: 500;
  padding: 4px 10px;
  border-radius: var(--radius-sm);
  text-transform: lowercase;
  letter-spacing: 0.3px;
  border: none;
  cursor: pointer;
  transition: all 0.15s ease;
}
.cap-toggle:hover {
  transform: scale(1.05);
}
.cap-toggle.cap-disabled {
  opacity: 0.4;
  text-decoration: line-through;
}
.cap-toggle.cap-vision {
  background: rgba(139, 92, 246, 0.2);
  color: #a78bfa;
}
.cap-toggle.cap-vision:hover {
  background: rgba(139, 92, 246, 0.35);
}
.cap-toggle.cap-llm {
  background: rgba(34, 197, 94, 0.15);
  color: #4ade80;
}
.cap-toggle.cap-llm:hover {
  background: rgba(34, 197, 94, 0.3);
}
.cap-toggle.cap-other {
  background: rgba(148, 163, 184, 0.15);
  color: #94a3b8;
}
.cap-toggle.cap-other:hover {
  background: rgba(148, 163, 184, 0.3);
}
.worker-error-box {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin-bottom: var(--space-3);
}
.worker-error-box .worker-error {
  flex: 1;
  margin-bottom: 0;
}
.worker-retry-btn {
  background: rgba(239, 68, 68, 0.2);
  color: #fca5a5;
  border: 1px solid rgba(239, 68, 68, 0.3);
  padding: 4px 10px;
  border-radius: var(--radius-sm);
  font-size: 11px;
  cursor: pointer;
  transition: all 0.15s ease;
  white-space: nowrap;
}
.worker-retry-btn:hover {
  background: rgba(239, 68, 68, 0.35);
  color: #fff;
}
.worker-actions {
  display: flex;
  gap: var(--space-2);
  padding-top: var(--space-3);
  border-top: 1px solid var(--admin-border);
  flex-wrap: wrap;
}
.worker-toggle-btn,
.worker-test-btn,
.worker-remove-btn {
  font-size: 11px;
  padding: 6px 12px;
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: all 0.15s ease;
  border: 1px solid transparent;
}
.worker-toggle-btn {
  background: rgba(34, 197, 94, 0.15);
  color: #4ade80;
  border-color: rgba(34, 197, 94, 0.3);
}
.worker-toggle-btn:hover {
  background: rgba(34, 197, 94, 0.3);
}
.worker-toggle-btn.disabled {
  background: rgba(251, 191, 36, 0.15);
  color: #fbbf24;
  border-color: rgba(251, 191, 36, 0.3);
}
.worker-test-btn {
  background: rgba(96, 165, 250, 0.15);
  color: #60a5fa;
  border-color: rgba(96, 165, 250, 0.3);
}
.worker-test-btn:hover {
  background: rgba(96, 165, 250, 0.3);
}
.worker-remove-btn {
  background: rgba(239, 68, 68, 0.1);
  color: #f87171;
  border-color: rgba(239, 68, 68, 0.2);
}
.worker-remove-btn:hover {
  background: rgba(239, 68, 68, 0.25);
}
.admin-section--primary {
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  padding: var(--space-4);
  margin-bottom: var(--space-4);
}
.admin-section--secondary {
  background: var(--admin-bg);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  padding: var(--space-4);
  margin-bottom: var(--space-4);
}
.admin-section--tertiary {
  background: rgba(250, 204, 21, 0.05);
  border: 1px solid rgba(250, 204, 21, 0.3);
  border-radius: var(--admin-radius);
  padding: var(--space-4);
  margin-bottom: var(--space-4);
}
.admin-section--danger {
  background: rgba(239, 68, 68, 0.05);
  border: 1px solid rgba(239, 68, 68, 0.3);
  border-radius: var(--admin-radius);
  padding: var(--space-4);
  margin-bottom: var(--space-4);
}
.admin-section--neutral {
  background: var(--admin-bg-alt);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  padding: var(--space-4);
  margin-bottom: var(--space-4);
}
.admin-section__header {
  font-size: var(--admin-text-sm);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--admin-text);
  padding-bottom: var(--space-2);
  border-bottom: 1px solid var(--admin-border);
  margin-bottom: var(--space-3);
}
.admin-section__desc {
  font-size: var(--admin-text-sm);
  color: var(--admin-text-muted);
  margin: 0 0 var(--space-3) 0;
  line-height: 1.5;
}
.admin-btn--toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-4);
  font-size: var(--admin-text-sm);
  font-weight: 500;
  font-family: inherit;
  border-radius: var(--admin-radius-sm);
  border: 1px solid var(--admin-border);
  background: var(--admin-surface);
  color: var(--admin-text-muted);
  cursor: pointer;
  transition: all var(--admin-transition);
}
.admin-btn--toggle:hover {
  background: var(--admin-surface-hover);
  color: var(--admin-text);
}
.admin-btn--toggle.active {
  background: var(--admin-primary);
  border-color: var(--admin-primary);
  color: white;
}
.admin-status-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  margin-right: var(--space-2);
  background: var(--admin-text-dim);
}
.admin-status-dot.on {
  background: var(--admin-success);
  box-shadow: 0 0 6px rgba(16, 185, 129, 0.6);
}
.admin-status-dot.warning {
  background: var(--admin-warning);
  box-shadow: 0 0 6px rgba(245, 158, 11, 0.6);
  animation: admin-blink 1s infinite;
}
.admin-status-dot.danger {
  background: var(--admin-error);
  box-shadow: 0 0 6px rgba(239, 68, 68, 0.6);
  animation: admin-blink 1s infinite;
}
@keyframes admin-blink {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.4;
  }
}
.admin-ctrl-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-4);
  font-size: var(--admin-text-sm);
  font-weight: 500;
  font-family: inherit;
  border-radius: var(--admin-radius-sm);
  border: 1px solid var(--admin-border);
  background: var(--admin-surface);
  color: var(--admin-text);
  cursor: pointer;
  transition: all var(--admin-transition);
  width: 100%;
}
.admin-ctrl-btn:hover {
  background: var(--admin-surface-hover);
}
.admin-ctrl-btn.on-success {
  background: rgba(16, 185, 129, 0.15);
  border-color: var(--admin-success);
  color: var(--admin-success);
}
.admin-ctrl-btn.on-danger {
  background: rgba(239, 68, 68, 0.15);
  border-color: var(--admin-error);
  color: var(--admin-error);
}
.admin-ctrl-btn.on-warning {
  background: rgba(250, 204, 21, 0.15);
  border-color: var(--admin-warning);
  color: var(--admin-warning);
}
.admin-stats-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-3);
  padding: var(--space-3);
  background: var(--admin-bg);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-sm);
  margin-top: var(--space-3);
}
.admin-stats-row__item {
  text-align: center;
}
.admin-stats-row__label {
  font-size: var(--admin-text-xs);
  color: var(--admin-text-dim);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: var(--space-1);
}
.admin-stats-row__value {
  font-size: var(--admin-text-lg);
  font-weight: 700;
  color: var(--admin-text);
  font-family: var(--admin-font-mono);
}
.admin-stats-row__value.warning {
  color: var(--admin-warning);
}
.admin-stats-row__value.success {
  color: var(--admin-success);
}
.admin-stats-row__value.danger {
  color: var(--admin-error);
}
.admin-image-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  gap: var(--space-2);
}
.admin-image-cell {
  position: relative;
  aspect-ratio: 1;
  cursor: pointer;
  border-radius: var(--admin-radius-sm);
  overflow: hidden;
  border: 2px solid transparent;
  transition: all var(--admin-transition);
}
.admin-image-cell:hover {
  border-color: var(--admin-primary);
}
.admin-image-cell img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.admin-image-cell.hidden {
  opacity: 0.3;
}
.admin-image-cell.delete-mode {
  background: rgba(239, 68, 68, 0.2);
}
.admin-image-cell.delete-mode:hover {
  border-color: var(--admin-error);
}
.admin-image-cell__actions {
  position: absolute;
  top: var(--space-1);
  right: var(--space-1);
  left: var(--space-1);
  display: flex;
  justify-content: space-between;
  gap: var(--space-1);
}
.admin-image-btn {
  padding: 2px 6px;
  font-size: 9px;
  font-family: var(--admin-font-mono);
  border-radius: 2px;
  border: 1px solid;
  cursor: pointer;
  transition: all var(--admin-transition);
}
.admin-image-btn--visible {
  background: rgba(16, 185, 129, 0.9);
  border-color: var(--admin-success);
  color: white;
}
.admin-image-btn--hidden {
  background: rgba(239, 68, 68, 0.9);
  border-color: var(--admin-error);
  color: white;
}
.admin-image-btn--share {
  background: rgba(59, 130, 246, 0.9);
  border-color: var(--admin-primary);
  color: white;
}
.admin-image-cell__delete-overlay {
  position: absolute;
  inset: 0;
  background: rgba(239, 68, 68, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
}
.admin-image-cell__hidden-banner {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(239, 68, 68, 0.85);
  color: white;
  font-size: 8px;
  text-align: center;
  padding: 2px;
  font-family: var(--admin-font-mono);
}
.admin-form-inline {
  display: flex;
  gap: var(--space-2);
  align-items: stretch;
}
.admin-form-inline .admin-input {
  flex: 1;
}
.admin-syntax-help {
  font-size: var(--admin-text-xs);
  color: var(--admin-text-dim);
  font-family: var(--admin-font-mono);
  line-height: 1.8;
  margin-top: var(--space-2);
}
.admin-syntax-help code {
  background: rgba(59, 130, 246, 0.1);
  color: var(--admin-primary);
  padding: 1px 4px;
  border-radius: 2px;
}
.admin-share-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--admin-text-xs);
  font-family: var(--admin-font-mono);
}
.admin-share-table th {
  background: var(--admin-bg-alt);
  color: var(--admin-text-muted);
  padding: var(--space-2) var(--space-3);
  text-align: left;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-bottom: 1px solid var(--admin-border);
}
.admin-share-table td {
  padding: var(--space-2) var(--space-3);
  border-bottom: 1px solid var(--admin-border);
  color: var(--admin-text-muted);
}
.admin-share-table tr.expired {
  opacity: 0.4;
}
.admin-date-pins-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--admin-text-sm);
}
.admin-date-pins-table th {
  background: var(--admin-bg-alt);
  color: var(--admin-text-muted);
  padding: var(--space-2) var(--space-3);
  text-align: left;
  font-weight: 500;
  border-bottom: 1px solid var(--admin-border);
}
.admin-date-pins-table td {
  padding: var(--space-2) var(--space-3);
  border-bottom: 1px solid var(--admin-border);
}
.admin-date-pins-table tr.disabled {
  opacity: 0.5;
}
@media (max-width: 768px) {
  .admin-stats-row {
    grid-template-columns: repeat(2, 1fr);
  }
  .admin-form-inline {
    flex-direction: column;
  }
  .admin-image-grid {
    grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
  }
}
.admin-header-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-4);
}
.admin-header-controls {
  display: flex;
  gap: var(--space-3);
  align-items: center;
}
.admin-pagination {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}
.person-card {
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  box-shadow: var(--admin-shadow);
  overflow: hidden;
}
.person-card__thumb {
  position: relative;
  width: 100%;
  padding-top: 100%;
  background: var(--admin-bg);
  overflow: hidden;
}
.person-card__thumb-link {
  position: absolute;
  inset: 0;
  display: block;
  overflow: hidden;
}
.person-card__thumb-img {
  position: absolute;
  object-fit: cover;
}
.person-card__thumb-placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 48px;
  opacity: 0.3;
}
.person-card__badge {
  position: absolute;
  top: var(--space-2);
}
.person-card__badge--left {
  left: var(--space-2);
}
.person-card__badge--right {
  right: var(--space-2);
}
.person-card__body {
  padding: var(--space-3);
}
.person-card__name {
  font-weight: 500;
  color: var(--admin-text);
  margin-bottom: var(--space-2);
  cursor: text;
  min-height: 24px;
}
.person-card__name-input {
  width: 100%;
  font-weight: 500;
}
.person-card__meta {
  font-size: var(--admin-text-sm);
  color: var(--admin-text-muted);
  margin-bottom: var(--space-3);
}
.person-card__actions {
  display: flex;
  gap: var(--space-2);
  flex-wrap: wrap;
}
.person-card__pin-form {
  display: inline-flex;
  margin: 0;
}
.person-card__pin-input {
  width: 50px;
  padding: var(--space-1) var(--space-2);
  font-size: var(--admin-text-xs);
  border-radius: var(--admin-radius-sm) 0 0 var(--admin-radius-sm);
}
.person-card__pin-btn {
  border-radius: 0 var(--admin-radius-sm) var(--admin-radius-sm) 0;
}
.admin-empty-large {
  text-align: center;
  padding: var(--space-12) var(--space-4);
}
.admin-empty-large__icon {
  font-size: 48px;
  margin-bottom: var(--space-4);
  opacity: 0.3;
}

/* css/app.css */
.alert {
  padding: 15px;
  margin-bottom: 20px;
  border: 1px solid transparent;
  border-radius: 4px;
}
.alert-info {
  color: #31708f;
  background-color: #d9edf7;
  border-color: #bce8f1;
}
.alert-warning {
  color: #8a6d3b;
  background-color: #fcf8e3;
  border-color: #faebcc;
}
.alert-danger {
  color: #a94442;
  background-color: #f2dede;
  border-color: #ebccd1;
}
.alert p {
  margin-bottom: 0;
}
.alert:empty {
  display: none;
}
.invalid-feedback {
  color: #a94442;
  display: block;
  margin: -1rem 0 2rem;
}
.phx-no-feedback.invalid-feedback,
.phx-no-feedback .invalid-feedback {
  display: none;
}
.phx-click-loading {
  opacity: 0.5;
  transition: opacity 1s ease-out;
}
.phx-disconnected {
  cursor: wait;
}
.phx-disconnected * {
  pointer-events: none;
}
.phx-modal {
  opacity: 1 !important;
  position: fixed;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgb(0, 0, 0);
  background-color: rgba(0, 0, 0, 0.4);
}
.phx-modal-content {
  background-color: #fefefe;
  margin: 15vh auto;
  padding: 20px;
  border: 1px solid #888;
  width: 80%;
}
.phx-modal-close {
  color: #aaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
}
.phx-modal-close:hover,
.phx-modal-close:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}
/*# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vYXNzZXRzL2Nzcy9nYWxsZXJ5LmNzcyIsICIuLi8uLi8uLi9hc3NldHMvY3NzL3RoZW1lX21vZGVybi5jc3MiLCAiLi4vLi4vLi4vYXNzZXRzL2Nzcy9haV9jb2xsYWIuY3NzIiwgIi4uLy4uLy4uL2Fzc2V0cy9jc3MvYWRtaW4uY3NzIiwgIi4uLy4uLy4uL2Fzc2V0cy9jc3MvYXBwLmNzcyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogU0NBTkVYIEdBTExFUlkgLSBNYWluIEdhbGxlcnkgU3R5bGVzaGVldFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqXG4gKiBUaGVtZTogUmV0cm8gVkhTIC8gQ1JUIC8gRmlsbSBhZXN0aGV0aWNcbiAqXG4gKiBUaGlzIGZpbGUgY29udGFpbnMgYWxsIHN0eWxlcyBmb3IgdGhlIG1haW4gcGhvdG8gZ2FsbGVyeSB2aWV3LlxuICogT3JpZ2luYWxseSBleHRyYWN0ZWQgZnJvbSBpbmxpbmUgc3R5bGVzIGluIGhvbWVwYWdlX2xpdmUuaHRtbC5oZWV4XG4gKlxuICogU0VDVElPTlM6XG4gKiAxLiBDU1MgVmFyaWFibGVzIChUaGVtZSBDb2xvcnMgJiBGb250cylcbiAqIDIuIFJlc2V0ICYgQmFzZSBTdHlsZXNcbiAqIDMuIEFwcCBTaGVsbCAoTWFpbiBMYXlvdXQgQ29udGFpbmVyKVxuICogNC4gSGVhZGVyIEJhciAoVkNSLXN0eWxlIHRvcCBiYXIpXG4gKiA1LiBNYWluIFN0YWdlIChIZXJvIEltYWdlIERpc3BsYXkpXG4gKiA2LiBTaWRlYmFyIChUaHVtYm5haWwgU3RyaXApXG4gKiA3LiBOYXZpZ2F0aW9uIENvbnRyb2xzIChWQ1IgVHJhbnNwb3J0IEJ1dHRvbnMpXG4gKiA4LiBDYWxlbmRhci9EYXRlIFBpY2tlclxuICogOS4gSW5mbyBNb2RhbCAoSW1hZ2UgRGV0YWlscylcbiAqIDEwLiBGYWNlIERldGVjdGlvbiBPdmVybGF5c1xuICogMTEuIE9iamVjdCBEZXRlY3Rpb24gT3ZlcmxheXNcbiAqIDEyLiBDb250YWN0IFNoZWV0IChQdWxsLXVwIFBhbmVsKVxuICogMTMuIFNoYXJlIE1vZGFsXG4gKiAxNC4gU2VhcmNoIEludGVyZmFjZVxuICogMTUuIERlc2t0b3AgT3ZlcnJpZGVzICg3NjhweCspXG4gKiAxNi4gTGFyZ2UgRGVza3RvcCAoMTIwMHB4KylcbiAqIDE3LiBNb2JpbGUgTGFuZHNjYXBlXG4gKiAxOC4gU21hbGwgTW9iaWxlICg0MDBweC0pXG4gKiAxOS4gVG91Y2ggRGV2aWNlIE92ZXJyaWRlc1xuICpcbiAqIEFSQ0hJVEVDVFVSRSBOT1RFUzpcbiAqIC0gTW9iaWxlLWZpcnN0IGRlc2lnbiAoYmFzZSBzdHlsZXMgYXJlIG1vYmlsZSlcbiAqIC0gRGVza3RvcCBzdHlsZXMgdXNlIG1pbi13aWR0aCBtZWRpYSBxdWVyaWVzXG4gKiAtIFRvdWNoIGRldmljZXMgZ2V0IHNwZWNpYWwgdHJlYXRtZW50IHZpYSAoaG92ZXI6IG5vbmUpIHF1ZXJpZXNcbiAqIC0gQWxsIGNvbG9ycyB1c2UgQ1NTIHZhcmlhYmxlcyBmb3IgZWFzeSB0aGVtaW5nXG4gKlxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMS4gQ1NTIFZBUklBQkxFUyAtIFRoZW1lIENvbG9ycyAmIEZvbnRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICBDb2xvciBuYW1pbmcgY29udmVudGlvbjpcbiAgIC0gY3J0LSogOiBDUlQgbW9uaXRvciBjb2xvcnMgKGFtYmVyLCBncmVlbiBmb3IgdGVybWluYWwgZmVlbClcbiAgIC0ga29kYWstKiA6IEtvZGFrIGZpbG0gY29sb3JzICh5ZWxsb3csIHJlZCBmb3IgZGF0ZSBzdGFtcHMpXG4gICAtIGZpbG0tKiA6IEZpbG0gc3RyaXAgY29sb3JzIChib3JkZXJzLCBiYWNrZ3JvdW5kcylcbiAgIC0gcGFwZXItKiA6IE5ld3NwYXBlci9wcmludCBjb2xvcnMgKGNyZWFtIGJhY2tncm91bmRzKVxuKi9cblxuLyogRm9udHMgbG9hZGVkIHZpYSA8bGluaz4gaW4gcm9vdC5odG1sLmhlZXggd2l0aCBmb250LWRpc3BsYXk6IHN3YXAgZm9yIG5vbi1ibG9ja2luZyByZW5kZXIgKi9cblxuOnJvb3Qge1xuICAvKiA9PT0gQ1JUIE1vbml0b3IgQ29sb3JzID09PSAqL1xuICAtLWNydC1ibGFjazogIzBhMDgwNjsgICAgICAgLyogRGVlcCB3YXJtIGJsYWNrIChsaWtlIG9sZCBDUlQpICovXG4gIC0tY3J0LWRhcms6ICMxYTE2MTI7ICAgICAgICAvKiBEYXJrIGJyb3duLWJsYWNrIGZvciBwYW5lbHMgKi9cbiAgLS1jcnQtYW1iZXI6ICNmZmIwMDA7ICAgICAgIC8qIENsYXNzaWMgYW1iZXIgdGVybWluYWwgY29sb3IgKi9cbiAgLS1jcnQtYW1iZXItZGltOiAjOTk2NjAwOyAgIC8qIERpbW1lZCBhbWJlciBmb3IgaW5hY3RpdmUgc3RhdGVzICovXG4gIC0tY3J0LWdyZWVuOiAjMzNmZjMzOyAgICAgICAvKiBDbGFzc2ljIGdyZWVuIHRlcm1pbmFsIGNvbG9yICovXG4gIC0tY3J0LXJlZDogI2ZmMzMzMzsgICAgICAgICAvKiBBbGVydC9yZWNvcmRpbmcgcmVkICovXG5cbiAgLyogPT09IEtvZGFrIEZpbG0gQ29sb3JzID09PSAqL1xuICAtLWtvZGFrLXllbGxvdzogI2ZmZDcwMDsgICAgLyogS29kYWsgbG9nbyB5ZWxsb3cgKi9cbiAgLS1rb2Rhay1yZWQ6ICNjNDFlM2E7ICAgICAgIC8qIEtvZGFrIGRhdGUgc3RhbXAgcmVkICovXG5cbiAgLyogPT09IEZpbG0gU3RyaXAgQ29sb3JzID09PSAqL1xuICAtLWZpbG0tYm9yZGVyOiAjMmEyNDIwOyAgICAgLyogRmlsbSBzdHJpcCBib3JkZXIvc3Byb2NrZXQgYXJlYSAqL1xuXG4gIC8qID09PSBQYXBlci9QcmludCBDb2xvcnMgPT09ICovXG4gIC0tcGFwZXItY3JlYW06ICNmNWYwZTY7ICAgICAvKiBOZXdzcGFwZXIgYmFja2dyb3VuZCAqL1xuICAtLXBhcGVyLWFnZWQ6ICNlOGUwZDA7ICAgICAgLyogQWdlZCBwYXBlciAqL1xuXG4gIC8qID09PSBUeXBvZ3JhcGh5ID09PSAqL1xuICAtLWZvbnQtbW9ubzogJ1NoYXJlIFRlY2ggTW9ubycsICdDb3VyaWVyIE5ldycsIG1vbm9zcGFjZTtcbiAgLS1mb250LWRpc3BsYXk6ICdWVDMyMycsIG1vbm9zcGFjZTtcblxuICAvKiA9PT0gU3BhY2luZyA9PT0gKi9cbiAgLS1zcGFjaW5nLXhzOiA0cHg7XG4gIC0tc3BhY2luZy1zbTogOHB4O1xuICAtLXNwYWNpbmctbWQ6IDEycHg7XG4gIC0tc3BhY2luZy1sZzogMTZweDtcbiAgLS1zcGFjaW5nLXhsOiAyNHB4O1xuXG4gIC8qID09PSBUb3VjaCBUYXJnZXRzIChhY2Nlc3NpYmlsaXR5KSA9PT0gKi9cbiAgLS10b3VjaC10YXJnZXQtbWluOiA0NHB4OyAgIC8qIFdDQUcgbWluaW11bSB0b3VjaCB0YXJnZXQgKi9cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMi4gUkVTRVQgJiBCQVNFIFNUWUxFU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbioge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qIFByZXZlbnQgdGV4dCBzZWxlY3Rpb24gb24gVUkgZWxlbWVudHMgKGJ1dCBhbGxvdyBvbiBjb250ZW50KSAqL1xuLm5vLXNlbGVjdCB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAzLiBBUFAgU0hFTEwgLSBNYWluIExheW91dCBDb250YWluZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgIFRoZSBhcHAgc2hlbGwgaXMgYSBmaXhlZCwgZnVsbC12aWV3cG9ydCBjb250YWluZXIgdXNpbmcgZmxleGJveC5cbiAgIExheW91dDogSGVhZGVyIC0+IFN0YWdlIChoZXJvKSAtPiBTaWRlYmFyICh0aHVtYm5haWxzKVxuXG4gICBPbiBtb2JpbGU6IHZlcnRpY2FsIHN0YWNrXG4gICBPbiBkZXNrdG9wOiBzaWRlYmFyIG1vdmVzIHRvIGxlZnQgc2lkZVxuKi9cblxuLmFwcC1zaGVsbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogRmlsbHMgZW50aXJlIHZpZXdwb3J0ICovXG4gIGJhY2tncm91bmQ6IHZhcigtLWNydC1ibGFjayk7XG4gIGNvbG9yOiB2YXIoLS1jcnQtYW1iZXIpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgZm9udC1zaXplOiAxMXB4OyAgICAgICAgICAgICAgICAgICAgICAgLyogQmFzZSBzaXplIGZvciBtb2JpbGUgKi9cbn1cblxuLyogQ1JUIFNjYW5saW5lcyBPdmVybGF5IEVmZmVjdCAoVGVybWluYWwgdGhlbWUgb25seSlcbiAgIENyZWF0ZXMgaG9yaXpvbnRhbCBsaW5lcyBsaWtlIGFuIG9sZCBDUlQgbW9uaXRvci5cbiAgIFVzZXMgcHNldWRvLWVsZW1lbnQgdG8gYXZvaWQgYWZmZWN0aW5nIGNvbnRlbnQgaW50ZXJhY3Rpb24uXG4qL1xuLmFwcC1zaGVsbC50aGVtZS10ZXJtaW5hbDo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyAgICAgICAgICAgICAgICAgIC8qIENsaWNrLXRocm91Z2ggKi9cbiAgYmFja2dyb3VuZDogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudChcbiAgICAwZGVnLFxuICAgIHRyYW5zcGFyZW50IDBweCxcbiAgICB0cmFuc3BhcmVudCAycHgsXG4gICAgcmdiYSgwLCAwLCAwLCAwLjE1KSAycHgsXG4gICAgcmdiYSgwLCAwLCAwLCAwLjE1KSA0cHhcbiAgKTtcbiAgei1pbmRleDogOTk5OTsgICAgICAgICAgICAgICAgICAgICAgICAgLyogQWJvdmUgZXZlcnl0aGluZyAqL1xufVxuXG4vKiBTdGF0ZTogc2lkZWJhciBoaWRkZW4gKi9cbi5hcHAtc2hlbGwuc2lkZWJhci1oaWRkZW4gLnNpZGViYXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICA0LiBIRUFERVIgQkFSIC0gVkNSIFN0YXR1cyBTdHlsZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgVG9wIGJhciBzaG93aW5nOlxuICAgLSBCcmFuZCBuYW1lIChsZWZ0KVxuICAgLSBTdGF0dXMgaW5kaWNhdG9yczogTElWRS9SRUMsIGZyYW1lIGNvdW50IChyaWdodClcbiovXG5cbi5oZWFkZXItYmFyIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzJhMjYyMiAwJSwgIzFhMTYxMiAxMDAlKTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMzYTM2MzI7XG4gIHBhZGRpbmc6IDZweCAxMnB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtc2hyaW5rOiAwOyAgICAgICAgICAgICAgICAgICAgICAgIC8qIERvbid0IGNvbXByZXNzICovXG59XG5cbi5oZWFkZXItYnJhbmQge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsZXR0ZXItc3BhY2luZzogM3B4O1xuICBjb2xvcjogdmFyKC0tY3J0LWFtYmVyKTtcbiAgdGV4dC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMjU1LCAxNzYsIDAsIDAuNSk7ICAvKiBHbG93IGVmZmVjdCAqL1xufVxuXG4uaGVhZGVyLXN0YXR1cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTJweDtcbiAgZm9udC1zaXplOiAxMHB4O1xufVxuXG4vKiBSZWNvcmRpbmcgaW5kaWNhdG9yIChyZWQgZG90ICsgXCJMSVZFXCIgb3IgXCJSRUNcIikgKi9cbi5yZWMtaW5kaWNhdG9yIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA0cHg7XG4gIGNvbG9yOiB2YXIoLS1jcnQtcmVkKTtcbn1cblxuLnJlYy1kb3Qge1xuICB3aWR0aDogOHB4O1xuICBoZWlnaHQ6IDhweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3J0LXJlZCk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLnJlYy1kb3QuYWN0aXZlIHtcbiAgYW5pbWF0aW9uOiBibGluay1yZWMgMXMgaW5maW5pdGU7XG59XG5cbi5yZWMtaW5kaWNhdG9yLmluYWN0aXZlIHtcbiAgY29sb3I6IHZhcigtLWNydC1hbWJlci1kaW0pO1xufVxuXG4ucmVjLWluZGljYXRvci5pbmFjdGl2ZSAucmVjLWRvdCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNydC1hbWJlci1kaW0pO1xufVxuXG5Aa2V5ZnJhbWVzIGJsaW5rLXJlYyB7XG4gIDAlLCAxMDAlIHsgb3BhY2l0eTogMTsgfVxuICA1MCUgeyBvcGFjaXR5OiAwLjM7IH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgNS4gTUFJTiBTVEFHRSAtIEhlcm8gSW1hZ2UgRGlzcGxheVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgQ2VudGVyIGFyZWEgd2hlcmUgdGhlIHNlbGVjdGVkIHBob3RvIGlzIGRpc3BsYXllZC5cbiAgIENvbnRhaW5zOlxuICAgLSBIZXJvIGltYWdlIHdyYXBwZXIgKGZpbG0gZnJhbWUgZWZmZWN0KVxuICAgLSBUYXAgem9uZXMgZm9yIHByZXYvbmV4dCBuYXZpZ2F0aW9uXG4gICAtIERhdGUgc3RhbXAgb3ZlcmxheSAoS29kYWsgc3R5bGUpXG4gICAtIEZyYW1lIGNvdW50ZXJcbiAgIC0gQnJvYWRjYXN0IGJhbm5lclxuICAgLSBQZXJzb24gZmlsdGVyIGJhbm5lclxuKi9cblxuLnN0YWdlIHtcbiAgZmxleDogMTtcbiAgbWluLWhlaWdodDogMDsgICAgICAgICAgICAgICAgICAgICAgICAgLyogQWxsb3cgc2hyaW5raW5nIGluIGZsZXhib3ggKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNydC1ibGFjayk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctc20pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBNb2JpbGU6IG5hdiBhdCB0b3AsIGJvcmRlciBvbiBib3R0b20gKi9cbi5zdGFnZSAubmF2LWNvbnRyb2xzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjM2EzNjMyO1xufVxuXG4uc3RhZ2UgLmhlcm8td3JhcHBlciB7XG4gIGZsZXg6IDE7XG4gIG1pbi1oZWlnaHQ6IDA7XG59XG5cbi8qIEZpbG0gRnJhbWUgQm9yZGVyXG4gICBDcmVhdGVzIGEgZnJhbWUgYXJvdW5kIHRoZSBoZXJvIGltYWdlIGxpa2UgYSBmaWxtIG5lZ2F0aXZlXG4qL1xuLmhlcm8td3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gMTZweCk7XG4gIG1heC1oZWlnaHQ6IGNhbGMoMTAwJSAtIDE2cHgpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1maWxtLWJvcmRlcik7XG4gIHBhZGRpbmc6IDRweDtcbiAgYm94LXNoYWRvdzpcbiAgICBpbnNldCAwIDAgMzBweCByZ2JhKDAsMCwwLDAuNSksICAgICAgIC8qIElubmVyIHNoYWRvdyAqL1xuICAgIDAgMCAyMHB4IHJnYmEoMjU1LCAxNzYsIDAsIDAuMSk7ICAgICAgIC8qIE91dGVyIGdsb3cgKi9cbn1cblxuLyogSGVybyBJbWFnZSAqL1xuLnN0YWdlIGltZy5oZXJvIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjAwcHgpOyAgICAgICAgLyogTGVhdmUgcm9vbSBmb3IgVUkgKi9cbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIFRhcCBab25lcyBmb3IgTmF2aWdhdGlvblxuICAgSW52aXNpYmxlIGFyZWFzIG9uIGxlZnQvcmlnaHQgc2lkZXMgZm9yIHByZXYvbmV4dCBuYXZpZ2F0aW9uXG4qL1xuLnRhcC16b25lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDI1JTtcbiAgei1pbmRleDogNTA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgIC8qIFJlbW92ZSBpT1MgdGFwIGhpZ2hsaWdodCAqL1xufVxuXG4udGFwLXpvbmUucHJldiB7IGxlZnQ6IDA7IH1cbi50YXAtem9uZS5uZXh0IHsgcmlnaHQ6IDA7IH1cbi50YXAtem9uZTphY3RpdmUgeyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMTc2LCAwLCAwLjEpOyB9XG5cbi8qIERhdGUgU3RhbXAgKEtvZGFrIHN0eWxlLCBib3R0b20tcmlnaHQgb2YgaW1hZ2UpICovXG4uZGF0ZS1zdGFtcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAxMnB4O1xuICByaWdodDogMTJweDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY29sb3I6IHZhcigtLWtvZGFrLXJlZCk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyMTUsIDAsIDAuOSk7XG4gIHBhZGRpbmc6IDJweCA4cHg7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG5cbi8qIEZyYW1lIENvdW50ZXIgKHRvcC1sZWZ0KSAqL1xuLmZyYW1lLWNvdW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogOHB4O1xuICBsZWZ0OiA4cHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiB2YXIoLS1jcnQtYW1iZXIpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gIHBhZGRpbmc6IDJweCA2cHg7XG4gIGxldHRlci1zcGFjaW5nOiAycHg7XG59XG5cbi8qIEJyb2FkY2FzdCBCYW5uZXIgKGNlbnRlcmVkLCB0b3ApICovXG4uYmFubmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDhweDtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIHotaW5kZXg6IDEwMDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3J0LXJlZCk7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogNHB4IDE2cHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxldHRlci1zcGFjaW5nOiAycHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGFuaW1hdGlvbjogZmxhc2gtYmFubmVyIDJzIGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIGZsYXNoLWJhbm5lciB7XG4gIDAlLCAxMDAlIHsgb3BhY2l0eTogMTsgfVxuICA1MCUgeyBvcGFjaXR5OiAwLjc7IH1cbn1cblxuLyogUGVyc29uL09iamVjdCBGaWx0ZXIgQmFubmVyIChjZW50ZXJlZCwgYm90dG9tKSAqL1xuLmZpbHRlci1iYW5uZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogOHB4O1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgei1pbmRleDogMTAwO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcnQtZ3JlZW4pO1xuICBjb2xvcjogdmFyKC0tY3J0LWJsYWNrKTtcbiAgcGFkZGluZzogNHB4IDEycHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDEycHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xufVxuXG4uZmlsdGVyLWJhbm5lciBidXR0b24ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcnQtYmxhY2spO1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiB2YXIoLS1jcnQtZ3JlZW4pO1xuICBwYWRkaW5nOiAycHggOHB4O1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZmlsdGVyLWJhbm5lci5vYmplY3QtZmlsdGVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3J0LWFtYmVyKTtcbiAgY29sb3I6IHZhcigtLWNydC1ibGFjayk7XG59XG5cbi5maWx0ZXItYmFubmVyLm9iamVjdC1maWx0ZXIgYnV0dG9uIHtcbiAgY29sb3I6IHZhcigtLWNydC1hbWJlcik7XG59XG5cbi8qIERvd25sb2FkIEFsbCBCdXR0b24gKGluIGZpbHRlciBiYW5uZXIpICovXG4uZG93bmxvYWQtYWxsLWJ0biB7XG4gIGJhY2tncm91bmQ6ICNmMGMwNjA7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBwYWRkaW5nOiA0cHggMTJweDtcbiAgbWFyZ2luOiAwIDhweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4uZG93bmxvYWQtYWxsLWJ0bjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmZmQwODA7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDYuIFNJREVCQVIgLSBUaHVtYm5haWwgU3RyaXAgKEZpbG0gUm9sbClcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgIEhvcml6b250YWwgc2Nyb2xsaW5nIHN0cmlwIG9mIHRodW1ibmFpbCBpbWFnZXMuXG4gICBTdHlsZWQgbGlrZSBhIGZpbG0gcm9sbCB3aXRoIHNwcm9ja2V0IGhvbGVzIG9uIGVkZ2VzLlxuKi9cblxuLnNpZGViYXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcnQtZGFyayk7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjM2EzNjMyO1xuICBmbGV4LXNocmluazogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgaGVpZ2h0OiAxNjBweDtcbiAgcGFkZGluZy1ib3R0b206IDQ1cHg7ICAgICAgICAgICAgICAgICAgLyogU3BhY2UgZm9yIGNvbnRhY3Qgc2hlZXQgdG9nZ2xlICovXG59XG5cbi5zaWRlYmFyLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEZpbG0gU3RyaXAgSGVhZGVyIChzaG93cyBmcmFtZSBjb3VudCkgKi9cbi5zdHJpcC1oZWFkZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1maWxtLWJvcmRlcik7XG4gIHBhZGRpbmc6IDRweCA4cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZm9udC1zaXplOiA5cHg7XG4gIGNvbG9yOiB2YXIoLS1jcnQtYW1iZXItZGltKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMzYTM2MzI7XG59XG5cbi8qIFRodW1ibmFpbCBTY3JvbGwgQXJlYSAqL1xuLnNjcm9sbC13cmFwcGVyIHtcbiAgZmxleDogMTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1maWxtLWJvcmRlcik7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgICAgIC8qIFNtb290aCBzY3JvbGwgb24gaU9TICovXG59XG5cbi5ncmlkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAycHg7XG4gIHBhZGRpbmc6IDRweCAxNnB4O1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi8qIEZpbG0gU3Byb2NrZXQgRWZmZWN0IChkZWNvcmF0aXZlIGhvbGVzIG9uIHNpZGVzKVxuICAgTm90ZTogVGhpcyB1c2VzIGFic29sdXRlIHBvc2l0aW9uaW5nIHNvIG5lZWRzIHBhcmVudCB0byBiZSByZWxhdGl2ZVxuKi9cbi5zY3JvbGwtd3JhcHBlcjo6YmVmb3JlLFxuLnNjcm9sbC13cmFwcGVyOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTRweDtcbiAgYmFja2dyb3VuZDogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudChcbiAgICAxODBkZWcsXG4gICAgdmFyKC0tZmlsbS1ib3JkZXIpIDBweCxcbiAgICB2YXIoLS1maWxtLWJvcmRlcikgNnB4LFxuICAgICMwYTA4MDYgNnB4LFxuICAgICMwYTA4MDYgMTJweFxuICApO1xuICB6LWluZGV4OiAxMDtcbn1cblxuLyogSW5kaXZpZHVhbCBUaHVtYm5haWwgKi9cbi50aHVtYiB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogNzBweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogIzFhMTQxMDtcbiAgcGFkZGluZzogMnB4O1xuICBvcGFjaXR5OiAwLjY7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBEaW0gdW5zZWxlY3RlZCAqL1xufVxuXG4udGh1bWIuYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbiAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWNydC1hbWJlcik7XG4gIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG59XG5cbi50aHVtYiBwaWN0dXJlIHtcbiAgZGlzcGxheTogY29udGVudHM7ICAgICAgICAgICAgICAgICAgICAgICAvKiBQaWN0dXJlIGRvZXNuJ3QgYWZmZWN0IGxheW91dCAqL1xufVxuXG4udGh1bWIgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgYmFja2dyb3VuZDogIzBhMDgwNjtcbn1cblxuLyogRnJhbWUgTnVtYmVyIG9uIFRodW1ibmFpbCAoYm90dG9tLXJpZ2h0KSAqL1xuLnRodW1iOjphZnRlciB7XG4gIGNvbnRlbnQ6IGF0dHIoZGF0YS1mcmFtZSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAxcHg7XG4gIHJpZ2h0OiAycHg7XG4gIGZvbnQtc2l6ZTogOHB4O1xuICBjb2xvcjogdmFyKC0ta29kYWstcmVkKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDcuIE5BVklHQVRJT04gQ09OVFJPTFMgLSBWQ1IgVHJhbnNwb3J0IEJ1dHRvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgIEJvdHRvbSBjb250cm9sIGJhciB3aXRoOlxuICAgLSBQcmV2L05leHQgYXJyb3dzXG4gICAtIERhdGUgcGlja2VyXG4gICAtIFNvcnQgdG9nZ2xlXG4gICAtIEljb24gYnV0dG9ucyAoaW5mbywgZmFjZXMsIHNlYXJjaCwgZXRjLilcbiovXG5cbi5uYXYtY29udHJvbHMge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjMmEyNjIyIDAlLCAjMWExNjEyIDEwMCUpO1xuICBib3JkZXItdG9wOiAycHggc29saWQgIzNhMzYzMjtcbiAgcGFkZGluZzogNnB4IDEwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDRweDtcbiAgaGVpZ2h0OiA0OHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE1MDtcbn1cblxuLyogVkNSLXN0eWxlIEJ1dHRvbiAqL1xuLm5hdi1idG4ge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjM2EzNjMyIDAlLCAjMmEyNjIyIDUwJSwgIzFhMTYxMiAxMDAlKTtcbiAgYm9yZGVyOiAycHggc29saWQgIzRhNDY0MjtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzFhMTYxMjtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjMWExNjEyO1xuICBjb2xvcjogdmFyKC0tY3J0LWFtYmVyKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgcGFkZGluZzogNnB4IDEwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbWluLXdpZHRoOiAzNnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKiBCdXR0b24gcHJlc3MgZWZmZWN0IChpbnZlcnRlZCBiZXZlbCkgKi9cbi5uYXYtYnRuOmFjdGl2ZSB7XG4gIGJvcmRlci1jb2xvcjogIzFhMTYxMjtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzRhNDY0MjtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICM0YTQ2NDI7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMxYTE2MTIgMCUsICMyYTI2MjIgNTAlLCAjM2EzNjMyIDEwMCUpO1xufVxuXG4vKiBBY3RpdmUgc3RhdGUgKGdyZWVuIGdsb3cpICovXG4ubmF2LWJ0bi5hY3RpdmUge1xuICBjb2xvcjogdmFyKC0tY3J0LWdyZWVuKTtcbiAgdGV4dC1zaGFkb3c6IDAgMCA4cHggdmFyKC0tY3J0LWdyZWVuKTtcbn1cblxuLyogSWNvbiBidXR0b25zIC0gaGlkZGVuIG9uIG1vYmlsZSBieSBkZWZhdWx0ICovXG4ubmF2LWJ0bi5pY29uLWJ0biB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5uYXYtc3BhY2VyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogRGF0ZSBEaXNwbGF5IChMRUQtc3R5bGUpICovXG4uZGF0ZS1kaXNwbGF5IHtcbiAgYmFja2dyb3VuZDogIzFhMGEwMDtcbiAgYm9yZGVyOiAzcHggaW5zZXQgIzNhMmExYTtcbiAgcGFkZGluZzogNHB4IDEycHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbWluLXdpZHRoOiAxMDBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZGF0ZS10ZXh0IHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY29sb3I6IHZhcigtLWNydC1hbWJlcik7XG4gIHRleHQtc2hhZG93OiAwIDAgOHB4IHZhcigtLWNydC1hbWJlcik7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uZGF0ZS1kZXRhaWwge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBjb2xvcjogdmFyKC0tY3J0LWFtYmVyLWRpbSk7XG4gIG1hcmdpbi10b3A6IDJweDtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgOC4gU0VBUkNIIElOVEVSRkFDRVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi5zZWFyY2gtY29udGFpbmVyIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uc2VhcmNoLWNvbnRhaW5lci5hY3RpdmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uc2VhcmNoLWlucHV0IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3J0LWJsYWNrKTtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tY3J0LWFtYmVyKTtcbiAgY29sb3I6IHZhcigtLWNydC1hbWJlcik7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBhZGRpbmc6IDRweCA4cHg7XG4gIHdpZHRoOiAxNTBweDtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLnNlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogcmdiYSgyNTUsIDE3NiwgMCwgMC41KTtcbn1cblxuLnNlYXJjaC1pbnB1dDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3J0LWdyZWVuKTtcbiAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDUxLCAyNTUsIDUxLCAwLjMpO1xufVxuXG4uc2VhcmNoLXJlc3VsdHMtY291bnQge1xuICBjb2xvcjogdmFyKC0tY3J0LWFtYmVyKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgb3BhY2l0eTogMC43O1xufVxuXG4uc2VhcmNoLWJhbm5lciB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMyYTI2MjIgMCUsICMxYTE2MTIgMTAwJSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNydC1hbWJlcik7XG4gIHBhZGRpbmc6IDRweCAxMnB4O1xuICBtYXJnaW46IDRweCAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBjb2xvcjogdmFyKC0tY3J0LWFtYmVyKTtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4uc2VhcmNoLWJhbm5lciBidXR0b24ge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jcnQtYW1iZXIpO1xuICBjb2xvcjogdmFyKC0tY3J0LWFtYmVyKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgcGFkZGluZzogMnB4IDhweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBtYXJnaW4tbGVmdDogOHB4O1xufVxuXG4uc2VhcmNoLWJhbm5lciBidXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMTc2LCAwLCAwLjIpO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICA5LiBEQVRFIFNFTEVDVCBEUk9QRE9XTlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgRGlyZWN0IGRhdGUgbmF2aWdhdGlvbiBkcm9wZG93biBzdHlsZWQgbGlrZSBMRUQgZGlzcGxheS5cbiAgIFJlcGxhY2VzIHRoZSBkYXRlIHBpY2tlciBtb2RhbCBvbiBzbWFsbGVyIHNjcmVlbnMuXG4qL1xuXG4uZGF0ZS1zZWxlY3Qge1xuICBiYWNrZ3JvdW5kOiAjMWEwYTAwO1xuICBib3JkZXI6IDNweCBpbnNldCAjM2EyYTFhO1xuICBwYWRkaW5nOiA4cHggMTJweDtcbiAgY29sb3I6IHZhcigtLWNydC1hbWJlcik7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDE4cHg7XG4gIHRleHQtc2hhZG93OiAwIDAgOHB4IHZhcigtLWNydC1hbWJlcik7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbWluLXdpZHRoOiAxNDBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLmRhdGUtc2VsZWN0IG9wdGlvbiB7XG4gIGJhY2tncm91bmQ6ICMxYTBhMDA7XG4gIGNvbG9yOiB2YXIoLS1jcnQtYW1iZXIpO1xuICBmb250LXNpemU6IDE2cHg7XG4gIHBhZGRpbmc6IDhweDtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMTAuIE1FVEEgRElTUExBWSAtIEZsb3BweSBEaXNrIExhYmVsIFN0eWxlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICBTaG93cyBFWElGIGRhdGEsIHRhZ3MsIGFuZCBzY2VuZSBkZXNjcmlwdGlvbi5cbiAgIFN0eWxlZCBsaWtlIGFuIG9sZCAzLjVcIiBmbG9wcHkgZGlzayBsYWJlbC5cbiAgIEhpZGRlbiBvbiBtb2JpbGUsIHNob3duIG9uIGRlc2t0b3Agc2lkZWJhci5cbiovXG5cbi5tZXRhLWRpc3BsYXkge1xuICBkaXNwbGF5OiBub25lOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEhpZGRlbiBvbiBtb2JpbGUgKi9cbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI2U4ZTBkMCAwJSwgI2QwYzhiOCAxMDAlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2EwOTA4MDtcbiAgcGFkZGluZzogOHB4IDEwcHg7XG4gIGNvbG9yOiAjMWExYTFhO1xuICBmb250LXNpemU6IDlweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKiBcIlBIT1RPIERBVEFcIiBsYWJlbCBhdCB0b3AtbGVmdCAqL1xuLm1ldGEtZGlzcGxheTo6YmVmb3JlIHtcbiAgY29udGVudDogJ1BIT1RPIERBVEEnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLThweDtcbiAgbGVmdDogOHB4O1xuICBiYWNrZ3JvdW5kOiAjZDBjOGI4O1xuICBwYWRkaW5nOiAwIDRweDtcbiAgZm9udC1zaXplOiA4cHg7XG4gIGNvbG9yOiAjNjY2O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xufVxuXG4ubWV0YS1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IDJweCAwO1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICNhMDkwODA7XG59XG5cbi5tZXRhLXJvdzpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLm1ldGEtdmFsIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiB2YXIoLS1rb2Rhay1yZWQpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbn1cblxuLm1ldGEtaWQge1xuICBjb2xvcjogIzMzMztcbn1cblxuLyogRGVza3RvcC1vbmx5IGV4cG9zdXJlIGRhdGEgKi9cbi5kZXNrdG9wLWV4cG9zdXJlIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogNnB4O1xufVxuXG4vKiBDTElQIHRhZ3MgYW5kIHNjZW5lIGRlc2NyaXB0aW9uICovXG4ubWV0YS10YWdzLFxuLm1ldGEtb2JqZWN0cyB7XG4gIG1hcmdpbi10b3A6IDZweDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4ubWV0YS10YWdzLXZhbCxcbi5tZXRhLW9iamVjdHMtdmFsIHtcbiAgZm9udC1zaXplOiA4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi5tZXRhLXNjZW5lIHtcbiAgbWFyZ2luLXRvcDogNnB4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLm1ldGEtc2NlbmUgPiBzcGFuOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMnB4O1xufVxuXG4ubWV0YS1zY2VuZS12YWwge1xuICBmb250LXNpemU6IDhweDtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDExLiBET1dOTE9BRCBQQU5FTCAtIEZpbG0gQ2FuaXN0ZXIgU3R5bGVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgIEtvZGFrLXN0eWxlZCBkb3dubG9hZCBidXR0b24uXG4gICBIaWRkZW4gb24gbW9iaWxlLCBzaG93biBpbiBkZXNrdG9wIHNpZGViYXIuXG4qL1xuXG4uZG93bmxvYWQtcGFuZWwge1xuICBkaXNwbGF5OiBub25lOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEhpZGRlbiBvbiBtb2JpbGUgKi9cbiAgcGFkZGluZzogOHB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcnQtZGFyayk7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjM2EzNjMyO1xufVxuXG4uZG93bmxvYWQtYnRuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IHZhcigtLWtvZGFrLXllbGxvdyk7XG4gIGNvbG9yOiB2YXIoLS1rb2Rhay1yZWQpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogMTBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1rb2Rhay1yZWQpO1xufVxuXG4uZG93bmxvYWQtYnRuOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWtvZGFrLXJlZCk7XG4gIGNvbG9yOiB2YXIoLS1rb2Rhay15ZWxsb3cpO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAxMi4gU0hBUkUgUEFORUwgJiBNT0RBTCAtIEFkbWluIEZlYXR1cmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgIEFsbG93cyBhZG1pbiB0byBzaGFyZSBhIGRpcmVjdCBwdXJjaGFzZSBsaW5rIHdpdGggcGhvdG8gc3ViamVjdHMuXG4gICBHcmVlbiBjb2xvciBzY2hlbWUgKGRpc3Rpbmd1aXNoZXMgZnJvbSBhbWJlci9rb2RhayBwYWxldHRlKS5cbiovXG5cbi5zaGFyZS1wYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogSGlkZGVuIG9uIG1vYmlsZSAqL1xuICBwYWRkaW5nOiA4cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNydC1kYXJrKTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMzYTM2MzI7XG59XG5cbi5zaGFyZS1idG4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogIzJhNGEyYTtcbiAgY29sb3I6ICM2MGYwNjA7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwYWRkaW5nOiAxMHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAjNjBmMDYwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5zaGFyZS1idG46aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjM2E1YTNhO1xufVxuXG4uc2hhcmUtYnRuOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICM2MGYwNjA7XG4gIGNvbG9yOiAjMmE0YTJhO1xufVxuXG4vKiBNb2RhbCBPdmVybGF5IChkYXJrZW5zIGJhY2tncm91bmQpICovXG4uc2hhcmUtbW9kYWwtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44NSk7XG4gIHotaW5kZXg6IDYwMDtcbn1cblxuLyogTW9kYWwgQ29udGFpbmVyICovXG4uc2hhcmUtbW9kYWwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB3aWR0aDogOTAlO1xuICBtYXgtd2lkdGg6IDQ1MHB4O1xuICBiYWNrZ3JvdW5kOiAjMWExYTFhO1xuICBib3JkZXI6IDJweCBzb2xpZCAjNjBmMDYwO1xuICB6LWluZGV4OiA2MDE7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xufVxuXG4uc2hhcmUtbW9kYWwtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAxMnB4IDE2cHg7XG4gIGJhY2tncm91bmQ6ICMyYTRhMmE7XG4gIGNvbG9yOiAjNjBmMDYwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxldHRlci1zcGFjaW5nOiAycHg7XG59XG5cbi5zaGFyZS1tb2RhbC1oZWFkZXIgYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM2MGYwNjA7XG4gIGNvbG9yOiAjNjBmMDYwO1xuICBwYWRkaW5nOiA0cHggMTBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbn1cblxuLnNoYXJlLW1vZGFsLWhlYWRlciBidXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjNjBmMDYwO1xuICBjb2xvcjogIzFhMWExYTtcbn1cblxuLnNoYXJlLW1vZGFsLWNvbnRlbnQge1xuICBwYWRkaW5nOiAyMHB4O1xufVxuXG4uc2hhcmUtZGVzY3JpcHRpb24ge1xuICBjb2xvcjogI2FhYTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4vKiBVUkwgQ29weSBTZWN0aW9uICovXG4uc2hhcmUtdXJsLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogOHB4O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi5zaGFyZS11cmwtaW5wdXQge1xuICBmbGV4OiAxO1xuICBiYWNrZ3JvdW5kOiAjMGEwYTBhO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNDQ0O1xuICBjb2xvcjogI2YwYzA2MDtcbiAgcGFkZGluZzogMTBweCAxMnB4O1xuICBmb250LWZhbWlseTogJ1NGIE1vbm8nLCBNb25hY28sIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4uY29weS1idG4ge1xuICBiYWNrZ3JvdW5kOiAjZjBjMDYwO1xuICBjb2xvcjogIzFhMWExYTtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAxMHB4IDE2cHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG5cbi5jb3B5LWJ0bjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmZmQwODA7XG59XG5cbi5jb3B5LWJ0bi5jb3BpZWQge1xuICBiYWNrZ3JvdW5kOiAjNjBmMDYwO1xufVxuXG4uc2hhcmUtY29weS1mZWVkYmFjayB7XG4gIGNvbG9yOiAjNjBmMDYwO1xuICBmb250LXNpemU6IDEycHg7XG4gIG1pbi1oZWlnaHQ6IDE4cHg7XG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG59XG5cbi8qIEVtYWlsIFNlY3Rpb24gKi9cbi5zaGFyZS1zZWN0aW9uLWxhYmVsIHtcbiAgY29sb3I6ICM2NjY7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICBtYXJnaW4tdG9wOiA4cHg7XG59XG5cbi5zaGFyZS1lbWFpbC1mb3JtIHtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4uc2hhcmUtZW1haWwtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiA4cHg7XG59XG5cbi5zaGFyZS1lbWFpbC1pbnB1dCB7XG4gIGZsZXg6IDE7XG4gIGJhY2tncm91bmQ6ICMwYTBhMGE7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM0NDQ7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAxMHB4IDEycHg7XG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLnNoYXJlLWVtYWlsLWlucHV0OjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjNjY2O1xufVxuXG4uc2hhcmUtZW1haWwtaW5wdXQ6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXItY29sb3I6ICM2MGYwNjA7XG59XG5cbi5zZW5kLWJ0biB7XG4gIGJhY2tncm91bmQ6ICM2MGYwNjA7XG4gIGNvbG9yOiAjMWExYTFhO1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgbWluLXdpZHRoOiA3MHB4O1xufVxuXG4uc2VuZC1idG46aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjODBmZjgwO1xufVxuXG4uc2VuZC1idG46ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kOiAjNDQ0O1xuICBjb2xvcjogIzg4ODtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLnNoYXJlLWVtYWlsLWZlZWRiYWNrIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLnNoYXJlLWVtYWlsLWZlZWRiYWNrLnN1Y2Nlc3Mge1xuICBjb2xvcjogIzYwZjA2MDtcbn1cblxuLnNoYXJlLWVtYWlsLWZlZWRiYWNrLmVycm9yIHtcbiAgY29sb3I6ICNmZjZiNmI7XG59XG5cbi5zaGFyZS1ub3RlIHtcbiAgY29sb3I6ICM2NjY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAxMy4gSU5GTyBNT0RBTCAtIE5ld3NwYXBlciBTdHlsZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgRnVsbC1zY3JlZW4gaW5mbyBvdmVybGF5IHNob3dpbmc6XG4gICAtIFNpdGUgaW5mby9iaW9cbiAgIC0gS2V5Ym9hcmQgc2hvcnRjdXRzIChkZXNrdG9wKVxuXG4gICBTdHlsZWQgbGlrZSBhIHZpbnRhZ2UgbmV3c3BhcGVyIGNsaXBwaW5nLlxuKi9cblxuLmluZm8tbW9kYWwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGluc2V0OiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xuICB6LWluZGV4OiA1MDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAyMHB4O1xufVxuXG4uaW5mby1jb250ZW50IHtcbiAgbWF4LXdpZHRoOiA0MDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLWNyZWFtKTtcbiAgY29sb3I6ICMxYTFhMWE7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGZvbnQtZmFtaWx5OiAnQ291cmllciBQcmltZScsICdDb3VyaWVyIE5ldycsIG1vbm9zcGFjZTtcbiAgYm9yZGVyOiAzcHggZG91YmxlICMxYTFhMWE7XG4gIG1heC1oZWlnaHQ6IDkwdmg7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi5pbmZvLWhlYWRlciB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMWExYTFhO1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uaW5mby10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJywgc2VyaWY7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAzcHg7XG59XG5cbi5jbG9zZS1idG4ge1xuICBiYWNrZ3JvdW5kOiAjMWExYTFhO1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiB2YXIoLS1wYXBlci1jcmVhbSk7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5pbmZvLXRleHQge1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbi8qIEtleWJvYXJkIFNob3J0Y3V0IFRhYmxlICovXG4uc2hvcnRjdXQtdGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgZm9udC1zaXplOiAxMXB4O1xufVxuXG4uc2hvcnRjdXQtdGFibGUgdGQge1xuICBwYWRkaW5nOiA2cHggMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjOTk5O1xufVxuXG4uc2hvcnRjdXQta2V5IHtcbiAgYmFja2dyb3VuZDogIzFhMWExYTtcbiAgY29sb3I6IHZhcigtLXBhcGVyLWNyZWFtKTtcbiAgcGFkZGluZzogMnB4IDZweDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLyogRGVza3RvcC1vbmx5IGNvbnRlbnQgKGtleWJvYXJkIHNob3J0Y3V0cywgZXRjKSAqL1xuLmRlc2t0b3Atb25seSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDE0LiBEQVRFIFBJQ0tFUiBNT0RBTFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgUG9wLXVwIGNhbGVuZGFyIGZvciBkaXJlY3QgZGF0ZSBzZWxlY3Rpb24uXG4gICBVc2VzIHRlcm1pbmFsIGFtYmVyIGNvbG9yIHNjaGVtZS5cbiovXG5cbi5kYXRlLXBpY2tlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiA4MHB4O1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzJhMjYyMiAwJSwgIzFhMTYxMiAxMDAlKTtcbiAgYm9yZGVyOiAzcHggc29saWQgdmFyKC0tY3J0LWFtYmVyKTtcbiAgcGFkZGluZzogMTJweDtcbiAgei1pbmRleDogMzAwO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbn1cblxuLmRhdGUtcGlja2VyIHNlbGVjdCB7XG4gIGJhY2tncm91bmQ6ICMxYTBhMDA7XG4gIGJvcmRlcjogMnB4IGluc2V0ICMzYTJhMWE7XG4gIGNvbG9yOiB2YXIoLS1jcnQtYW1iZXIpO1xuICBwYWRkaW5nOiA4cHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIHdpZHRoOiAyMDBweDtcbn1cblxuLmRhdGUtcGlja2VyIHNlbGVjdCBvcHRpb24ge1xuICBiYWNrZ3JvdW5kOiAjMWEwYTAwO1xuICBjb2xvcjogdmFyKC0tY3J0LWFtYmVyKTtcbiAgcGFkZGluZzogNHB4O1xufVxuXG4uZGF0ZS1waWNrZXItYnRucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogOHB4O1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4uZGF0ZS1waWNrZXItYnRucyBidXR0b24ge1xuICBmbGV4OiAxO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcnQtYW1iZXIpO1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiB2YXIoLS1jcnQtYmxhY2spO1xuICBwYWRkaW5nOiA4cHg7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDE1LiBGQUNFIERFVEVDVElPTiBPVkVSTEFZU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgR3JlZW4gYm91bmRpbmcgYm94ZXMgYXJvdW5kIGRldGVjdGVkIGZhY2VzLlxuICAgQ2xpY2tpbmcgbmF2aWdhdGVzIHRvIG90aGVyIHBob3RvcyBvZiB0aGF0IHBlcnNvbi5cbiAgIExhYmVscyBoaWRkZW4gYnkgZGVmYXVsdCwgc2hvd24gb24gaG92ZXIvdGFwLlxuKi9cblxuLmZhY2UtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7ICAgICAgICAgICAgICAgICAgICAvKiBDbGljayB0aHJvdWdoIHRvIGltYWdlICovXG59XG5cbi5mYWNlLWJveCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tY3J0LWdyZWVuKTtcbiAgYmFja2dyb3VuZDogcmdiYSg1MSwgMjU1LCA1MSwgMC4xKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb2ludGVyLWV2ZW50czogYXV0bzsgICAgICAgICAgICAgICAgICAgIC8qIEJveGVzIEFSRSBjbGlja2FibGUgKi9cbn1cblxuLmZhY2UtYm94IC5mYWNlLWxhYmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC0xNnB4O1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3J0LWJsYWNrKTtcbiAgY29sb3I6IHZhcigtLWNydC1ncmVlbik7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDEwcHg7XG4gIHBhZGRpbmc6IDFweCA2cHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG9wYWNpdHk6IDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogSGlkZGVuIGJ5IGRlZmF1bHQgKi9cbn1cblxuLmZhY2UtYm94OmFjdGl2ZSAuZmFjZS1sYWJlbCB7XG4gIG9wYWNpdHk6IDE7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDE2LiBPQkpFQ1QgREVURUNUSU9OIE9WRVJMQVlTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICBBbWJlciBib3VuZGluZyBib3hlcyBhcm91bmQgZGV0ZWN0ZWQgb2JqZWN0cyAoY2FycywgYW5pbWFscywgZXRjKS5cbiAgIENsaWNraW5nIG5hdmlnYXRlcyB0byBvdGhlciBwaG90b3Mgd2l0aCBzYW1lIG9iamVjdCB0eXBlLlxuICAgU2FtZSBwYXR0ZXJuIGFzIGZhY2UgYm94ZXMgYnV0IGRpZmZlcmVudCBjb2xvci5cbiovXG5cbi5vYmplY3QtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5vYmplY3QtYm94IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jcnQtYW1iZXIpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMTc2LCAwLCAwLjE1KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuLm9iamVjdC1ib3ggLm9iamVjdC1sYWJlbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAtMThweDtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNydC1ibGFjayk7XG4gIGNvbG9yOiB2YXIoLS1jcnQtYW1iZXIpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBwYWRkaW5nOiAycHggNnB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvcGFjaXR5OiAwO1xuICBtYXgtd2lkdGg6IDE1MHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLm9iamVjdC1ib3g6aG92ZXIgLm9iamVjdC1sYWJlbCxcbi5vYmplY3QtYm94OmFjdGl2ZSAub2JqZWN0LWxhYmVsIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMTcuIFZJREVPIFBMQVlFUiAtIFZDUiBTdHlsZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgRnVsbCBDUlQvVkNSIGFlc3RoZXRpYyBmb3IgdmlkZW8gcGxheWJhY2s6XG4gICAtIFBob3NwaG9yIGdsb3cgZWZmZWN0XG4gICAtIFZDUiB0cmFuc3BvcnQgY29udHJvbHMgKHBsYXksIHBhdXNlLCBzY3J1YmJlcilcbiAgIC0gVGltZSBkaXNwbGF5XG4gICAtIFZvbHVtZSBzbGlkZXJcbiAgIC0gTXV0ZSBpbmRpY2F0b3JcbiAgIC0gQXVkaW8gd2F2ZWZvcm0gdmlzdWFsaXphdGlvblxuKi9cblxuLnZpZGVvLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3J0LWJsYWNrKTtcbn1cblxuLnZpZGVvLWNvbnRhaW5lciB2aWRlbyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gIGJhY2tncm91bmQ6ICMwMDA7XG59XG5cbi8qIFBob3NwaG9yIGdsb3cgZWZmZWN0IG9uIHZpZGVvICovXG4udmlkZW8tY29udGFpbmVyOjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAxMDBweCByZ2JhKDI1NSwgMTc2LCAwLCAwLjAzKTtcbiAgei1pbmRleDogMTtcbn1cblxuLyogVkNSIENvbnRyb2wgQmFyIChib3R0b20gZ3JhZGllbnQpICovXG4udmNyLWNvbnRyb2xzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQsIHJnYmEoMCwwLDAsMC44KSk7XG4gIHBhZGRpbmc6IDQwcHggMTVweCAxNXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDEycHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBvcGFjaXR5OiAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEhpZGRlbiB1bnRpbCBob3ZlciAqL1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XG4gIHotaW5kZXg6IDEwO1xufVxuXG4udmlkZW8tY29udGFpbmVyOmhvdmVyIC52Y3ItY29udHJvbHMsXG4udmlkZW8tY29udGFpbmVyLmNvbnRyb2xzLXZpc2libGUgLnZjci1jb250cm9scyB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi8qIFZDUiBUcmFuc3BvcnQgQnV0dG9uICovXG4udmNyLWJ0biB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jcnQtYW1iZXIpO1xuICBjb2xvcjogdmFyKC0tY3J0LWFtYmVyKTtcbiAgcGFkZGluZzogNnB4IDEycHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1zaGFkb3c6IDAgMCA1cHggdmFyKC0tY3J0LWFtYmVyKTtcbn1cblxuLnZjci1idG46aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcnQtYW1iZXIpO1xuICBjb2xvcjogdmFyKC0tY3J0LWJsYWNrKTtcbn1cblxuLnZjci1idG4uYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3J0LWdyZWVuKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcnQtZ3JlZW4pO1xuICBjb2xvcjogdmFyKC0tY3J0LWJsYWNrKTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qIFRpbWVsaW5lIFNjcnViYmVyICovXG4udmNyLXRpbWVsaW5lIHtcbiAgZmxleDogMTtcbiAgaGVpZ2h0OiA4cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNydC1kYXJrKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY3J0LWFtYmVyLWRpbSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udmNyLXRpbWVsaW5lLXByb2dyZXNzIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcnQtYW1iZXIpO1xuICBib3gtc2hhZG93OiAwIDAgOHB4IHZhcigtLWNydC1hbWJlcik7XG4gIHdpZHRoOiAwJTtcbiAgdHJhbnNpdGlvbjogd2lkdGggMC4xcyBsaW5lYXI7XG59XG5cbi52Y3ItdGltZWxpbmUtaGFuZGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHdpZHRoOiAxMnB4O1xuICBoZWlnaHQ6IDEycHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNydC1hbWJlcik7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWNydC1ibGFjayk7XG4gIGJveC1zaGFkb3c6IDAgMCA4cHggdmFyKC0tY3J0LWFtYmVyKTtcbn1cblxuLyogVGltZSBEaXNwbGF5ICovXG4udmNyLXRpbWUge1xuICBjb2xvcjogdmFyKC0tY3J0LWFtYmVyKTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBtaW4td2lkdGg6IDkwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1zaGFkb3c6IDAgMCA1cHggdmFyKC0tY3J0LWFtYmVyKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbn1cblxuLyogVm9sdW1lIENvbnRyb2wgKi9cbi52Y3Itdm9sdW1lIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA2cHg7XG59XG5cbi52Y3Itdm9sdW1lLXNsaWRlciB7XG4gIHdpZHRoOiA2MHB4O1xuICBoZWlnaHQ6IDZweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3J0LWRhcmspO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jcnQtYW1iZXItZGltKTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4udmNyLXZvbHVtZS1zbGlkZXI6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogMTRweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3J0LWFtYmVyKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY3J0LWJsYWNrKTtcbiAgYm94LXNoYWRvdzogMCAwIDVweCB2YXIoLS1jcnQtYW1iZXIpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qIE11dGUgSW5kaWNhdG9yIChmbGFzaGluZyByZWQpICovXG4udmNyLW11dGVkLWluZGljYXRvciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxNXB4O1xuICByaWdodDogMTVweDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjcpO1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jcnQtcmVkKTtcbiAgY29sb3I6IHZhcigtLWNydC1yZWQpO1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgdGV4dC1zaGFkb3c6IDAgMCA1cHggdmFyKC0tY3J0LXJlZCk7XG4gIHotaW5kZXg6IDEwO1xuICBhbmltYXRpb246IGJsaW5rIDFzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIGJsaW5rIHtcbiAgMCUsIDEwMCUgeyBvcGFjaXR5OiAxOyB9XG4gIDUwJSB7IG9wYWNpdHk6IDAuNTsgfVxufVxuXG4vKiBBdWRpbyBXYXZlZm9ybSBWaXN1YWxpemF0aW9uICovXG4udmNyLXdhdmVmb3JtIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDcwcHg7XG4gIGxlZnQ6IDE1cHg7XG4gIHJpZ2h0OiAxNXB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgZ2FwOiAycHg7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbn1cblxuLnZpZGVvLWNvbnRhaW5lcjpob3ZlciAudmNyLXdhdmVmb3JtLFxuLnZpZGVvLWNvbnRhaW5lci5jb250cm9scy12aXNpYmxlIC52Y3Itd2F2ZWZvcm0ge1xuICBvcGFjaXR5OiAwLjc7XG59XG5cbi52Y3Itd2F2ZWZvcm0tYmFyIHtcbiAgZmxleDogMTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3J0LWdyZWVuKTtcbiAgYm94LXNoYWRvdzogMCAwIDRweCB2YXIoLS1jcnQtZ3JlZW4pO1xuICBtaW4taGVpZ2h0OiAycHg7XG4gIHRyYW5zaXRpb246IGhlaWdodCAwLjA1cztcbn1cblxuLyogUmVjb3JkaW5nIEluZGljYXRvciAobGl2ZSBzdHJlYW1zKSAqL1xuLnZjci1yZWMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTVweDtcbiAgbGVmdDogMTVweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIGNvbG9yOiB2YXIoLS1jcnQtcmVkKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgdGV4dC1zaGFkb3c6IDAgMCA4cHggdmFyKC0tY3J0LXJlZCk7XG4gIHotaW5kZXg6IDEwO1xufVxuXG4udmNyLXJlYy1kb3Qge1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAxMHB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcnQtcmVkKTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3gtc2hhZG93OiAwIDAgOHB4IHZhcigtLWNydC1yZWQpO1xuICBhbmltYXRpb246IGJsaW5rIDFzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xufVxuXG4vKiBUaW1lc3RhbXAgT3ZlcmxheSAqL1xuLnZjci10aW1lc3RhbXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTVweDtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIGNvbG9yOiB2YXIoLS1jcnQtYW1iZXIpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICB0ZXh0LXNoYWRvdzogMCAwIDVweCB2YXIoLS1jcnQtYW1iZXIpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNSk7XG4gIHBhZGRpbmc6IDNweCA4cHg7XG4gIHotaW5kZXg6IDEwO1xufVxuXG4vKiBNb2JpbGUgVG91Y2ggQXJlYSAqL1xuLnZpZGVvLXRvdWNoLWFyZWEge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICB6LWluZGV4OiA1O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qIEJpZyBQbGF5IEJ1dHRvbiBPdmVybGF5ICovXG4udmlkZW8tcGxheS1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4zKTtcbiAgei1pbmRleDogNjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4udmlkZW8tcGxheS1vdmVybGF5IC5wbGF5LWljb24ge1xuICB3aWR0aDogODBweDtcbiAgaGVpZ2h0OiA4MHB4O1xuICBib3JkZXI6IDRweCBzb2xpZCB2YXIoLS1jcnQtYW1iZXIpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjb2xvcjogdmFyKC0tY3J0LWFtYmVyKTtcbiAgZm9udC1zaXplOiA0MHB4O1xuICB0ZXh0LXNoYWRvdzogMCAwIDIwcHggdmFyKC0tY3J0LWFtYmVyKTtcbiAgYm94LXNoYWRvdzogMCAwIDMwcHggcmdiYSgyNTUsIDE3NiwgMCwgMC4zKTtcbn1cblxuLnZpZGVvLXBsYXktb3ZlcmxheTpob3ZlciAucGxheS1pY29uIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3J0LWFtYmVyKTtcbiAgY29sb3I6IHZhcigtLWNydC1ibGFjayk7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAxOC4gU0lERUJBUiBUT0dHTEUgQlVUVE9OXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICBGaXhlZCBidXR0b24gdG8gc2hvdy9oaWRlIHRoZSB0aHVtYm5haWwgc2lkZWJhci5cbiovXG5cbi5zaWRlYmFyLXRvZ2dsZSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiA2MHB4OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBBYm92ZSBuYXYtY29udHJvbHMgKi9cbiAgcmlnaHQ6IDEwcHg7XG4gIHotaW5kZXg6IDE1MDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3J0LWFtYmVyKTtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tY3J0LWJsYWNrKTtcbiAgY29sb3I6IHZhcigtLWNydC1ibGFjayk7XG4gIHBhZGRpbmc6IDhweCAxMnB4O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDE5LiBQSU4gU0NSRUVOIC0gQXV0aGVudGljYXRpb24gT3ZlcmxheVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgRnVsbC1zY3JlZW4gUElOIGVudHJ5IGZvciBwcm90ZWN0ZWQgZ2FsbGVyaWVzLlxuICAgTEVELXN0eWxlIGlucHV0IGZpZWxkIHdpdGggVkNSIGJ1dHRvbi5cbiovXG5cbi5waW4tc2NyZWVuIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBpbnNldDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNydC1ibGFjayk7XG4gIHotaW5kZXg6IDEwMDA7XG4gIHBhZGRpbmc6IDIwcHg7XG59XG5cbi5waW4tc2NyZWVuIGgxIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgY29sb3I6IHZhcigtLWNydC1hbWJlci1kaW0pO1xuICBsZXR0ZXItc3BhY2luZzogNHB4O1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4ucGluLXNjcmVlbiBoMiB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDI0cHg7XG4gIGNvbG9yOiB2YXIoLS1jcnQtYW1iZXIpO1xuICBsZXR0ZXItc3BhY2luZzogM3B4O1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICB0ZXh0LXNoYWRvdzogMCAwIDEwcHggdmFyKC0tY3J0LWFtYmVyKTtcbn1cblxuLnBpbi1zY3JlZW4gZm9ybSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTVweDtcbn1cblxuLnBpbi1zY3JlZW4gaW5wdXQge1xuICBiYWNrZ3JvdW5kOiAjMWEwYTAwO1xuICBib3JkZXI6IDNweCBpbnNldCAjM2EyYTFhO1xuICBjb2xvcjogdmFyKC0tY3J0LWFtYmVyKTtcbiAgcGFkZGluZzogMTZweDtcbiAgZm9udC1zaXplOiAzMnB4O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsZXR0ZXItc3BhY2luZzogMTBweDtcbiAgd2lkdGg6IDIyMHB4O1xufVxuXG4ucGluLXNjcmVlbiAuc3VibWl0LWJ0biB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMzYTM2MzIgMCUsICMyYTI2MjIgNTAlLCAjMWExNjEyIDEwMCUpO1xuICBib3JkZXI6IDNweCBzb2xpZCB2YXIoLS1jcnQtYW1iZXIpO1xuICBjb2xvcjogdmFyKC0tY3J0LWFtYmVyKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgcGFkZGluZzogMTJweCA0MHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGxldHRlci1zcGFjaW5nOiAycHg7XG4gIHRleHQtc2hhZG93OiAwIDAgOHB4IHZhcigtLWNydC1hbWJlcik7XG59XG5cbi5waW4tc2NyZWVuIC5zdWJtaXQtYnRuOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMxYTE2MTIgMCUsICMyYTI2MjIgNTAlLCAjM2EzNjMyIDEwMCUpO1xufVxuXG4ucGluLXNjcmVlbiAuZXJyb3Ige1xuICBjb2xvcjogdmFyKC0tY3J0LXJlZCk7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDE4cHg7XG59XG5cbi5waW4tc2NyZWVuIC5oaW50IHtcbiAgY29sb3I6IHZhcigtLWNydC1hbWJlci1kaW0pO1xuICBtYXJnaW4tdG9wOiAyNXB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAyMC4gQ09OVEFDVCBTSEVFVCAtIFB1bGwtVXAgVGh1bWJuYWlsIFBhbmVsIChNb2JpbGUpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICBGdWxsLWhlaWdodCBwYW5lbCB3aXRoIGdyaWQgb2YgYWxsIHRodW1ibmFpbHMuXG4gICBTbGlkZXMgdXAgZnJvbSBib3R0b20gb24gbW9iaWxlIGRldmljZXMuXG4gICBIaWRkZW4gb24gdGFibGV0cy9kZXNrdG9wICh0aGV5IGhhdmUgc2lkZWJhcikuXG4qL1xuXG4vKiBUb2dnbGUgQmFyIGF0IEJvdHRvbSAqL1xuLmNvbnRhY3Qtc2hlZXQtdG9nZ2xlIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjMmEyNjIyIDAlLCAjMWExNjEyIDEwMCUpO1xuICBib3JkZXItdG9wOiAycHggc29saWQgdmFyKC0tY3J0LWFtYmVyKTtcbiAgcGFkZGluZzogOHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogMTAwO1xufVxuXG4uY29udGFjdC1zaGVldC10b2dnbGUgc3BhbiB7XG4gIGNvbG9yOiB2YXIoLS1jcnQtYW1iZXIpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxNnB4O1xufVxuXG4vKiBUaGUgUGFuZWwgSXRzZWxmICovXG4uY29udGFjdC1zaGVldCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiA3MHZoO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcnQtYmxhY2spO1xuICBib3JkZXItdG9wOiAzcHggc29saWQgdmFyKC0tY3J0LWFtYmVyKTtcbiAgei1pbmRleDogMjAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbmltYXRpb246IHNsaWRlVXAgMC4ycyBlYXNlLW91dDtcbn1cblxuQGtleWZyYW1lcyBzbGlkZVVwIHtcbiAgZnJvbSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsgfVxuICB0byB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxufVxuXG4uY29udGFjdC1zaGVldC1oZWFkZXIge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjMmEyNjIyIDAlLCAjMWExNjEyIDEwMCUpO1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMzYTM2MzI7XG59XG5cbi5jb250YWN0LXNoZWV0LWhlYWRlciBzcGFuIHtcbiAgY29sb3I6IHZhcigtLWNydC1hbWJlcik7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDE2cHg7XG59XG5cbi5jb250YWN0LXNoZWV0LWhlYWRlciBidXR0b24ge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jcnQtYW1iZXIpO1xuICBjb2xvcjogdmFyKC0tY3J0LWFtYmVyKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgcGFkZGluZzogNHB4IDEycHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLyogVGh1bWJuYWlsIEdyaWQgKi9cbi5jb250YWN0LXNoZWV0LWdyaWQge1xuICBmbGV4OiAxO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBwYWRkaW5nOiAxMHB4O1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICBnYXA6IDhweDtcbn1cblxuLmNvbnRhY3Qtc2hlZXQtZ3JpZCBwaWN0dXJlIHtcbiAgZGlzcGxheTogY29udGVudHM7ICAgICAgICAgICAgICAgICAgICAgICAvKiBQaWN0dXJlIGRvZXNuJ3QgYWZmZWN0IGxheW91dCAqL1xufVxuXG4uY29udGFjdC1zaGVldC1ncmlkIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBhc3BlY3QtcmF0aW86IDE7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG4uY29udGFjdC1zaGVldC1ncmlkIGltZy5zZWxlY3RlZCB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3J0LWFtYmVyKTtcbiAgYm94LXNoYWRvdzogMCAwIDEwcHggdmFyKC0tY3J0LWFtYmVyKTtcbn1cblxuLyogT3ZlcmxheSAoZGFya2VucyBiYWNrZ3JvdW5kIHdoZW4gc2hlZXQgaXMgb3BlbikgKi9cbi5jb250YWN0LXNoZWV0LW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGluc2V0OiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gIHotaW5kZXg6IDE1MDtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMjEuIFJFU1BPTlNJVkUgLSBUYWJsZXRzICYgRGVza3RvcCAoNzY4cHgrKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgTWFqb3IgbGF5b3V0IHNoaWZ0OlxuICAgLSBIb3Jpem9udGFsIGxheW91dCAoc2lkZWJhciBvbiBsZWZ0KVxuICAgLSBIZWFkZXIgYmFyIGhpZGRlbiAoaW5mbyBpbiBzaWRlYmFyKVxuICAgLSBTaWRlYmFyIGJlY29tZXMgdmVydGljYWwgc2Nyb2xsXG4gICAtIENvbnRhY3Qgc2hlZXQgaGlkZGVuICh1c2Ugc2lkZWJhciBpbnN0ZWFkKVxuKi9cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC8qIEhpZGUgbW9iaWxlLW9ubHkgZWxlbWVudHMgKi9cbiAgLmNvbnRhY3Qtc2hlZXQtdG9nZ2xlIHsgZGlzcGxheTogbm9uZTsgfVxuICAuY29udGFjdC1zaGVldCB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNvbnRhY3Qtc2hlZXQtb3ZlcmxheSB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgLnNpZGViYXIgeyBwYWRkaW5nLWJvdHRvbTogMDsgfSAgICAgICAgICAvKiBSZW1vdmUgbW9iaWxlIHBhZGRpbmcgKi9cblxuICAvKiBIb3Jpem9udGFsIGxheW91dCAqL1xuICAuYXBwLXNoZWxsIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG5cbiAgLmhlYWRlci1iYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFVzZSBzaWRlYmFyIGluZm8gaW5zdGVhZCAqL1xuICB9XG5cbiAgLnN0YWdlIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgLyogTmF2IGNvbnRyb2xzIGF0IGJvdHRvbSBvbiBkZXNrdG9wICovXG4gIC5zdGFnZSAubmF2LWNvbnRyb2xzIHtcbiAgICBvcmRlcjogMTAgIWltcG9ydGFudDtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgIzNhMzYzMjtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICB9XG5cbiAgLnN0YWdlIC5oZXJvLXdyYXBwZXIge1xuICAgIGZsZXg6IG5vbmU7XG4gIH1cblxuICAuc3RhZ2UgaW1nLmhlcm8ge1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSA2MHB4KTtcbiAgfVxuXG4gIC8qIFNpZGViYXI6IGZpeGVkIHdpZHRoLCB2ZXJ0aWNhbCBzY3JvbGwgKi9cbiAgLnNpZGViYXIge1xuICAgIHdpZHRoOiAzMDBweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICMzYTM2MzI7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG4gIC5zY3JvbGwtd3JhcHBlciB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgZmxleDogMTtcbiAgfVxuXG4gIC8qIFRodW1ibmFpbCBncmlkICgyIGNvbHVtbnMpICovXG4gIC5ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgZ2FwOiAzcHg7XG4gICAgcGFkZGluZzogOHB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIC50aHVtYiB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGFzcGVjdC1yYXRpbzogMTtcbiAgfVxuXG4gIC8qIE5hdiBjb250cm9scyB3cmFwICovXG4gIC5uYXYtY29udHJvbHMge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBnYXA6IDZweDtcbiAgfVxuXG4gIC5uYXYtYnRuIHtcbiAgICBwYWRkaW5nOiA4cHggMTJweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cblxuICAubmF2LWJ0bi5pY29uLWJ0biB7XG4gICAgZGlzcGxheTogYmxvY2s7ICAgICAgICAgICAgICAgICAgICAgICAgLyogU2hvdyBpY29uIGJ1dHRvbnMgb24gZGVza3RvcCAqL1xuICB9XG5cbiAgLm5hdi1zcGFjZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsZXg6IDE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFB1c2ggcmlnaHQtc2lkZSBidXR0b25zICovXG4gIH1cblxuICAvKiBTaG93IGRlc2t0b3Atb25seSBwYW5lbHMgKi9cbiAgLm1ldGEtZGlzcGxheSB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5kZXNrdG9wLWV4cG9zdXJlIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgLmRvd25sb2FkLXBhbmVsIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgLnNoYXJlLXBhbmVsIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgLmRlc2t0b3Atb25seSB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbiAgLyogTGFyZ2VyIGRhdGUgZGlzcGxheSAqL1xuICAuZGF0ZS1kaXNwbGF5IHtcbiAgICBtaW4td2lkdGg6IDEyMHB4O1xuICAgIHBhZGRpbmc6IDZweCAxNnB4O1xuICB9XG5cbiAgLmRhdGUtdGV4dCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDIyLiBSRVNQT05TSVZFIC0gTGFyZ2UgRGVza3RvcCAoMTIwMHB4KylcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5zaWRlYmFyIHtcbiAgICB3aWR0aDogMzYwcHg7XG4gIH1cblxuICAuZ3JpZCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsgIC8qIDMtY29sdW1uIGdyaWQgKi9cbiAgfVxuXG4gIC5zdGFnZSB7XG4gICAgcGFkZGluZzogMzBweDtcbiAgfVxuXG4gIC8qIExhcmdlciB0ZXh0IGZvciBtZXRhZGF0YSAqL1xuICAubWV0YS10YWdzLXZhbCxcbiAgLm1ldGEtb2JqZWN0cy12YWwge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICB9XG5cbiAgLm1ldGEtc2NlbmUtdmFsIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgfVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAyMy4gUkVTUE9OU0lWRSAtIExhbmRzY2FwZSBQaG9uZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgIFNwZWNpYWwgaGFuZGxpbmcgZm9yIHBob25lcyByb3RhdGVkIHRvIGxhbmRzY2FwZS5cbiAgIFNpZGViYXIgYmVjb21lcyBuYXJyb3cgdmVydGljYWwgc3RyaXAgb24gcmlnaHQuXG4qL1xuXG5AbWVkaWEgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIGFuZCAobWF4LWhlaWdodDogNTAwcHgpIHtcbiAgLmFwcC1zaGVsbCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuXG4gIC5oZWFkZXItYmFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLnNpZGViYXIge1xuICAgIHdpZHRoOiAxMzBweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICMzYTM2MzI7XG4gIH1cblxuICAuc2Nyb2xsLXdyYXBwZXIge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICB9XG5cbiAgLmdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7ICAgICAgICAgICAgLyogU2luZ2xlIGNvbHVtbiAqL1xuICAgIGdhcDogMnB4O1xuICAgIHBhZGRpbmc6IDRweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAudGh1bWIge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBhc3BlY3QtcmF0aW86IDE7XG4gIH1cblxuICAuc3RyaXAtaGVhZGVyIHsgZGlzcGxheTogbm9uZTsgfVxuICAubWV0YS1kaXNwbGF5IHsgZGlzcGxheTogbm9uZTsgfVxuICAuZG93bmxvYWQtcGFuZWwgeyBkaXNwbGF5OiBub25lOyB9XG5cbiAgLm5hdi1jb250cm9scyB7XG4gICAgcGFkZGluZzogNHB4O1xuICAgIGdhcDogMnB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgfVxuXG4gIC5uYXYtYnRuIHtcbiAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBtaW4td2lkdGg6IDI4cHg7XG4gIH1cblxuICAuZGF0ZS1kaXNwbGF5IHtcbiAgICBwYWRkaW5nOiAycHggOHB4O1xuICAgIG1pbi13aWR0aDogODBweDtcbiAgfVxuXG4gIC5kYXRlLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgfVxuXG4gIC5kYXRlLWRldGFpbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAyNC4gUkVTUE9OU0lWRSAtIFNtYWxsL05hcnJvdyBTY3JlZW5zICg0MDBweCBhbmQgYmVsb3cpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICBGb3IgZm9sZGFibGVzIChsaWtlIFJhenIpIGFuZCBzbWFsbCBwaG9uZXMuXG4gICBJbmNyZWFzZXMgdG91Y2ggdGFyZ2V0cyBhbmQgZm9udCBzaXplcyBmb3IgYmV0dGVyIHVzYWJpbGl0eS5cbiovXG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0MDBweCkge1xuICAuaGVhZGVyLWJhciB7XG4gICAgcGFkZGluZzogOHB4IDEycHg7XG4gIH1cblxuICAuaGVhZGVyLWJyYW5kIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cblxuICAuaGVhZGVyLXN0YXR1cyB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGdhcDogOHB4O1xuICB9XG5cbiAgLm5hdi1jb250cm9scyB7XG4gICAgcGFkZGluZzogMTBweCA4cHg7XG4gICAgZ2FwOiA2cHg7XG4gIH1cblxuICAubmF2LWJ0biB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIHBhZGRpbmc6IDEwcHggMTRweDtcbiAgICBtaW4td2lkdGg6IDQ0cHg7ICAgICAgICAgICAgICAgICAgICAgICAvKiBXQ0FHIHRvdWNoIHRhcmdldCBtaW5pbXVtICovXG4gIH1cblxuICAuZGF0ZS1kaXNwbGF5IHtcbiAgICBwYWRkaW5nOiA4cHggMTJweDtcbiAgfVxuXG4gIC5kYXRlLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxuXG4gIC5kYXRlLWRldGFpbCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICB9XG5cbiAgLmRhdGUtc3RhbXAge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBwYWRkaW5nOiA0cHggMTBweDtcbiAgfVxuXG4gIC5mcmFtZS1jb3VudGVyIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgcGFkZGluZzogM3B4IDhweDtcbiAgfVxuXG4gIC8qIExhcmdlciB0b3VjaCB0YXJnZXRzIGZvciBvdmVybGF5cyAqL1xuICAuZmFjZS1ib3gsXG4gIC5vYmplY3QtYm94IHtcbiAgICBtaW4td2lkdGg6IDQ0cHg7XG4gICAgbWluLWhlaWdodDogNDRweDtcbiAgfVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAyNS4gUkVTUE9OU0lWRSAtIFZlcnkgU21hbGwgU2NyZWVucyAoMzIwcHggYW5kIGJlbG93KVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgRXh0cmEgY29tcGFjdCBsYXlvdXQgZm9yIHZlcnkgbmFycm93IGRldmljZXMuXG4qL1xuXG5AbWVkaWEgKG1heC13aWR0aDogMzIwcHgpIHtcbiAgLm5hdi1idG4ge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBwYWRkaW5nOiA4cHggMTBweDtcbiAgICBtaW4td2lkdGg6IDQwcHg7XG4gIH1cblxuICAuZGF0ZS10ZXh0IHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cblxuICAuZGF0ZS1kZXRhaWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMjYuIFRPVUNIIERFVklDRSBPVkVSUklERVNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgIE9uIHRvdWNoIGRldmljZXMgKG5vIGhvdmVyIGNhcGFiaWxpdHkpOlxuICAgLSBMYWJlbHMgYXJlIGFsd2F5cyB2aXNpYmxlIChjYW4ndCBob3ZlciB0byByZXZlYWwpXG4qL1xuXG5AbWVkaWEgKGhvdmVyOiBub25lKSBhbmQgKHBvaW50ZXI6IGNvYXJzZSkge1xuICAuZmFjZS1ib3ggLmZhY2UtbGFiZWwge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAub2JqZWN0LWJveCAub2JqZWN0LWxhYmVsIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDI3LiBNRVRBIFBBTkVMIFRPR0dMRVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi5tZXRhLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nOiA4cHggMTJweDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjMpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY3J0LWFtYmVyLWRpbSk7XG59XG5cbi5tZXRhLWhlYWRlcjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cblxuLm1ldGEtdG9nZ2xlIHtcbiAgY29sb3I6IHZhcigtLWNydC1hbWJlcik7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLm1ldGEtZGlzcGxheS5jb2xsYXBzZWQge1xuICAvKiBXaGVuIGNvbGxhcHNlZCwganVzdCBzaG93IHRoZSBoZWFkZXIgKi9cbn1cblxuLm1ldGEtZGlzcGxheS5jb2xsYXBzZWQgLm1ldGEtcm93LFxuLm1ldGEtZGlzcGxheS5jb2xsYXBzZWQgLmRlc2t0b3AtZXhwb3N1cmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMjguIExPQUQgTU9SRSBCVVRUT05cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4ubG9hZC1tb3JlLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDEycHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmxvYWQtbW9yZS1idG4ge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMTJweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3J0LWJsYWNrKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY3J0LWFtYmVyKTtcbiAgY29sb3I6IHZhcigtLWNydC1hbWJlcik7XG4gIGZvbnQtZmFtaWx5OiAnVlQzMjMnLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbn1cblxuLmxvYWQtbW9yZS1idG46aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcnQtYW1iZXIpO1xuICBjb2xvcjogdmFyKC0tY3J0LWJsYWNrKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEVORCBPRiBHQUxMRVJZIFNUWUxFU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgRm9yIGN1c3RvbWl6YXRpb24sIGVkaXQgY3VzdG9tLmNzcyAobm90IHRoaXMgZmlsZSkuXG4gICBTZWUgZG9jcy9DU1NfQVJDSElURUNUVVJFLm1kIGZvciBndWlkYW5jZS5cbiovXG4iLCAiLyoqXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogU0NBTkVYIEdBTExFUlkgLSBNb2Rlcm4gVGhlbWVcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKlxuICogQSBjbGVhbiwgbWluaW1hbCB0aGVtZSBmb3IgYSBjb250ZW1wb3JhcnkgbG9vay5cbiAqIEFwcGx5IGJ5IGFkZGluZyBjbGFzcz1cInRoZW1lLW1vZGVyblwiIHRvIDxib2R5PlxuICpcbiAqIFRoaXMgb3ZlcnJpZGVzIHRoZSBkZWZhdWx0IHRlcm1pbmFsL1ZDUiBhZXN0aGV0aWMgd2l0aDpcbiAqIC0gQ2xlYW4gd2hpdGVzIGFuZCBncmF5c1xuICogLSBTdWJ0bGUgc2hhZG93cyBpbnN0ZWFkIG9mIGdsb3dzXG4gKiAtIFNhbnMtc2VyaWYgdHlwb2dyYXBoeVxuICogLSBNaW5pbWFsIHZpc3VhbCBub2lzZSAobm8gc2NhbmxpbmVzKVxuICpcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKi9cblxuLyogRm9udHMgbG9hZGVkIHZpYSA8bGluaz4gaW4gcm9vdC5odG1sLmhlZXggd2l0aCBmb250LWRpc3BsYXk6IHN3YXAgZm9yIG5vbi1ibG9ja2luZyByZW5kZXIgKi9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1vZGVybiBUaGVtZSBWYXJpYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4udGhlbWUtbW9kZXJuLFxuLmFwcC1zaGVsbC50aGVtZS1tb2Rlcm4ge1xuICAvKiA9PT0gQmFja2dyb3VuZCBDb2xvcnMgPT09ICovXG4gIC0tY3J0LWJsYWNrOiAjZmZmZmZmOyAgICAgICAgIC8qIFdoaXRlIGJhY2tncm91bmQgKi9cbiAgLS1jcnQtZGFyazogI2Y4ZjlmYTsgICAgICAgICAgLyogTGlnaHQgZ3JheSBwYW5lbHMgKi9cbiAgLS1jcnQtYW1iZXI6ICMyNTYzZWI7ICAgICAgICAgLyogQmx1ZSBhY2NlbnQgKHdhcyBhbWJlcikgKi9cbiAgLS1jcnQtYW1iZXItZGltOiAjOTNjNWZkOyAgICAgLyogTGlnaHQgYmx1ZSBmb3IgaW5hY3RpdmUgKi9cbiAgLS1jcnQtZ3JlZW46ICMyMmM1NWU7ICAgICAgICAgLyogU3VjY2VzcyBncmVlbiAqL1xuICAtLWNydC1yZWQ6ICNlZjQ0NDQ7ICAgICAgICAgICAvKiBBbGVydCByZWQgKi9cblxuICAvKiA9PT0gQWNjZW50IENvbG9ycyA9PT0gKi9cbiAgLS1rb2Rhay15ZWxsb3c6ICNmYmJmMjQ7ICAgICAgLyogV2FybSB5ZWxsb3cgYWNjZW50ICovXG4gIC0ta29kYWstcmVkOiAjMWYyOTM3OyAgICAgICAgIC8qIERhcmsgdGV4dCAod2FzIHJlZCkgKi9cblxuICAvKiA9PT0gU3VyZmFjZSBDb2xvcnMgPT09ICovXG4gIC0tZmlsbS1ib3JkZXI6ICNlNWU3ZWI7ICAgICAgIC8qIExpZ2h0IGJvcmRlciAqL1xuICAtLXBhcGVyLWNyZWFtOiAjZmZmZmZmOyAgICAgICAvKiBXaGl0ZSAqL1xuICAtLXBhcGVyLWFnZWQ6ICNmM2Y0ZjY7ICAgICAgICAvKiBMaWdodCBncmF5ICovXG5cbiAgLyogPT09IFR5cG9ncmFwaHkgPT09ICovXG4gIC0tZm9udC1tb25vOiAnSmV0QnJhaW5zIE1vbm8nLCAnU0YgTW9ubycsIG1vbm9zcGFjZTtcbiAgLS1mb250LWRpc3BsYXk6ICdJbnRlcicsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgc2Fucy1zZXJpZjtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUmVtb3ZlIENSVC9WSFMgRWZmZWN0c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi8qIE5vIHNjYW5saW5lcyAqL1xuLnRoZW1lLW1vZGVybiAuYXBwLXNoZWxsOjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBDbGVhbiBzaGFkb3dzIGluc3RlYWQgb2YgZ2xvd3MgKi9cbi50aGVtZS1tb2Rlcm4gLmhlYWRlci1icmFuZCB7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBjb2xvcjogIzFmMjkzNztcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmRhdGUtdGV4dCB7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG4udGhlbWUtbW9kZXJuIC5uYXYtYnRuIHtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1vZGVybiBBcHAgU2hlbGxcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4udGhlbWUtbW9kZXJuIC5hcHAtc2hlbGwge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcnQtYmxhY2spO1xuICBjb2xvcjogIzFmMjkzNztcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTW9kZXJuIEhlYWRlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi50aGVtZS1tb2Rlcm4gLmhlYWRlci1iYXIge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTdlYjtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG59XG5cbi50aGVtZS1tb2Rlcm4gLnJlYy1pbmRpY2F0b3Ige1xuICBjb2xvcjogIzZiNzI4MDtcbn1cblxuLnRoZW1lLW1vZGVybiAucmVjLWluZGljYXRvci5pbmFjdGl2ZSB7XG4gIGNvbG9yOiAjOWNhM2FmO1xufVxuXG4udGhlbWUtbW9kZXJuIC5yZWMtZG90IHtcbiAgYmFja2dyb3VuZDogIzIyYzU1ZTtcbn1cblxuLnRoZW1lLW1vZGVybiAucmVjLWluZGljYXRvci5pbmFjdGl2ZSAucmVjLWRvdCB7XG4gIGJhY2tncm91bmQ6ICNkMWQ1ZGI7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1vZGVybiBOYXZpZ2F0aW9uXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuLnRoZW1lLW1vZGVybiAubmF2LWNvbnRyb2xzIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU3ZWI7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi50aGVtZS1tb2Rlcm4gLm5hdi1idG4ge1xuICBiYWNrZ3JvdW5kOiAjZjNmNGY2O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTVlN2ViO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGNvbG9yOiAjMzc0MTUxO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XG59XG5cbi50aGVtZS1tb2Rlcm4gLm5hdi1idG46aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZTVlN2ViO1xuICBib3JkZXItY29sb3I6ICNkMWQ1ZGI7XG59XG5cbi50aGVtZS1tb2Rlcm4gLm5hdi1idG46YWN0aXZlIHtcbiAgYmFja2dyb3VuZDogI2QxZDVkYjtcbn1cblxuLnRoZW1lLW1vZGVybiAubmF2LWJ0bi5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcnQtYW1iZXIpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNydC1hbWJlcik7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNb2Rlcm4gRGF0ZSBEaXNwbGF5XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuLnRoZW1lLW1vZGVybiAuZGF0ZS1kaXNwbGF5IHtcbiAgYmFja2dyb3VuZDogI2Y5ZmFmYjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTdlYjtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xufVxuXG4udGhlbWUtbW9kZXJuIC5kYXRlLXRleHQge1xuICBjb2xvcjogIzFmMjkzNztcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnRoZW1lLW1vZGVybiAuZGF0ZS1kZXRhaWwge1xuICBjb2xvcjogIzZiNzI4MDtcbn1cblxuLnRoZW1lLW1vZGVybiAuZGF0ZS1zZWxlY3Qge1xuICBiYWNrZ3JvdW5kOiAjZjlmYWZiO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTVlN2ViO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGNvbG9yOiAjMWYyOTM3O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTW9kZXJuIFNpZGViYXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4udGhlbWUtbW9kZXJuIC5zaWRlYmFyIHtcbiAgYmFja2dyb3VuZDogI2Y5ZmFmYjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU3ZWI7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2U1ZTdlYjtcbn1cblxuLnRoZW1lLW1vZGVybiAuc3RyaXAtaGVhZGVyIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU3ZWI7XG4gIGNvbG9yOiAjNmI3MjgwO1xufVxuXG4udGhlbWUtbW9kZXJuIC5zY3JvbGwtd3JhcHBlciB7XG4gIGJhY2tncm91bmQ6ICNmOWZhZmI7XG59XG5cbi8qIE5vIGZpbG0gc3Byb2NrZXQgZWZmZWN0ICovXG4udGhlbWUtbW9kZXJuIC5zY3JvbGwtd3JhcHBlcjo6YmVmb3JlLFxuLnRoZW1lLW1vZGVybiAuc2Nyb2xsLXdyYXBwZXI6OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRoZW1lLW1vZGVybiAudGh1bWIge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIHBhZGRpbmc6IDA7XG4gIG9wYWNpdHk6IDAuODtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XG59XG5cbi50aGVtZS1tb2Rlcm4gLnRodW1iOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnRoZW1lLW1vZGVybiAudGh1bWIuYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbiAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWNydC1hbWJlcik7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLyogTm8gZnJhbWUgbnVtYmVycyAqL1xuLnRoZW1lLW1vZGVybiAudGh1bWI6OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTW9kZXJuIEhlcm8vU3RhZ2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4udGhlbWUtbW9kZXJuIC5zdGFnZSB7XG4gIGJhY2tncm91bmQ6ICNmM2Y0ZjY7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmhlcm8td3JhcHBlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAwO1xuICBib3gtc2hhZG93OiAwIDRweCA2cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogTm8gZGF0ZSBzdGFtcCBvdmVybGF5ICovXG4udGhlbWUtbW9kZXJuIC5kYXRlLXN0YW1wIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogTm8gZnJhbWUgY291bnRlciAqL1xuLnRoZW1lLW1vZGVybiAuZnJhbWUtY291bnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1vZGVybiBCYW5uZXJzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuLnRoZW1lLW1vZGVybiAuYmFubmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3J0LWFtYmVyKTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIGFuaW1hdGlvbjogbm9uZTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmZpbHRlci1iYW5uZXIge1xuICBiYWNrZ3JvdW5kOiAjMjJjNTVlO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmZpbHRlci1iYW5uZXIgYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNb2Rlcm4gTWV0YSBEaXNwbGF5XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuLnRoZW1lLW1vZGVybiAubWV0YS1kaXNwbGF5IHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTdlYjtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBjb2xvcjogIzM3NDE1MTtcbn1cblxuLnRoZW1lLW1vZGVybiAubWV0YS1kaXNwbGF5OjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBjb2xvcjogIzZiNzI4MDtcbn1cblxuLnRoZW1lLW1vZGVybiAubWV0YS1yb3cge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YzZjRmNjtcbn1cblxuLnRoZW1lLW1vZGVybiAubWV0YS12YWwge1xuICBjb2xvcjogIzFlNDBhZjsgIC8qIEJsdWUgODAwIGZvciBsaWdodCB0aGVtZSAqL1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxNXB4O1xufVxuXG4udGhlbWUtbW9kZXJuIC5tZXRhLXZhbCBhIHtcbiAgY29sb3I6ICMyNTYzZWI7ICAvKiBCbHVlIDYwMCAqL1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4vKiBFeHBvc3VyZSBkYXRhIC0gY29uc2lzdGVudCBzaXppbmcgKi9cbi50aGVtZS1tb2Rlcm4gLmRlc2t0b3AtZXhwb3N1cmUge1xuICBmb250LXNpemU6IDE1cHg7XG4gIGNvbG9yOiAjMzc0MTUxOyAgLyogR3JheSA3MDAgKi9cbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLyogVGFncyBhbmQgZGVzY3JpcHRpb24gLSByZWFkYWJsZSAqL1xuLnRoZW1lLW1vZGVybiAudGFnLWxpc3Qge1xuICBjb2xvcjogIzRiNTU2MzsgIC8qIEdyYXkgNjAwICovXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuLnRoZW1lLW1vZGVybiAuZGVzY3JpcHRpb24tdGV4dCB7XG4gIGNvbG9yOiAjNGI1NTYzO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDE1cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1vZGVybiBEb3dubG9hZCAmIFNoYXJlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuLnRoZW1lLW1vZGVybiAuZG93bmxvYWQtcGFuZWwge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTdlYjtcbn1cblxuLnRoZW1lLW1vZGVybiAuZG93bmxvYWQtYnRuIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3J0LWFtYmVyKTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmRvd25sb2FkLWJ0bjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMxZDRlZDg7XG59XG5cbi50aGVtZS1tb2Rlcm4gLnNoYXJlLXBhbmVsIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU3ZWI7XG59XG5cbi50aGVtZS1tb2Rlcm4gLnNoYXJlLWJ0biB7XG4gIGJhY2tncm91bmQ6ICMyMmM1NWU7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi50aGVtZS1tb2Rlcm4gLnNoYXJlLWJ0bjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMxNmEzNGE7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1vZGVybiBNb2RhbHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4udGhlbWUtbW9kZXJuIC5pbmZvLW1vZGFsIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xufVxuXG4udGhlbWUtbW9kZXJuIC5pbmZvLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIGJveC1zaGFkb3c6IDAgMjVweCA1MHB4IC0xMnB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xufVxuXG4udGhlbWUtbW9kZXJuIC5pbmZvLWhlYWRlciB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlN2ViO1xufVxuXG4udGhlbWUtbW9kZXJuIC5pbmZvLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xufVxuXG4udGhlbWUtbW9kZXJuIC5jbG9zZS1idG4ge1xuICBiYWNrZ3JvdW5kOiAjZjNmNGY2O1xuICBjb2xvcjogIzM3NDE1MTtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbn1cblxuLnRoZW1lLW1vZGVybiAuc2hvcnRjdXQta2V5IHtcbiAgYmFja2dyb3VuZDogI2YzZjRmNjtcbiAgY29sb3I6ICMzNzQxNTE7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1vZGVybiBGYWNlL09iamVjdCBPdmVybGF5c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi50aGVtZS1tb2Rlcm4gLmZhY2UtYm94IHtcbiAgYm9yZGVyOiAycHggc29saWQgIzIyYzU1ZTtcbiAgYmFja2dyb3VuZDogcmdiYSgzNCwgMTk3LCA5NCwgMC4xKTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4udGhlbWUtbW9kZXJuIC5mYWNlLWJveCAuZmFjZS1sYWJlbCB7XG4gIGJhY2tncm91bmQ6ICMyMmM1NWU7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xufVxuXG4udGhlbWUtbW9kZXJuIC5vYmplY3QtYm94IHtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tY3J0LWFtYmVyKTtcbiAgYmFja2dyb3VuZDogcmdiYSgzNywgOTksIDIzNSwgMC4xKTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4udGhlbWUtbW9kZXJuIC5vYmplY3QtYm94IC5vYmplY3QtbGFiZWwge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcnQtYW1iZXIpO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTW9kZXJuIENvbnRhY3QgU2hlZXRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4udGhlbWUtbW9kZXJuIC5jb250YWN0LXNoZWV0LXRvZ2dsZSB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlN2ViO1xufVxuXG4udGhlbWUtbW9kZXJuIC5jb250YWN0LXNoZWV0LXRvZ2dsZSBzcGFuIHtcbiAgY29sb3I6ICMzNzQxNTE7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xufVxuXG4udGhlbWUtbW9kZXJuIC5jb250YWN0LXNoZWV0IHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU3ZWI7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHggMTZweCAwIDA7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmNvbnRhY3Qtc2hlZXQtaGVhZGVyIHtcbiAgYmFja2dyb3VuZDogI2Y5ZmFmYjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU3ZWI7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmNvbnRhY3Qtc2hlZXQtaGVhZGVyIHNwYW4ge1xuICBjb2xvcjogIzM3NDE1MTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmNvbnRhY3Qtc2hlZXQtaGVhZGVyIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICNmM2Y0ZjY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNWU3ZWI7XG4gIGNvbG9yOiAjMzc0MTUxO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xufVxuXG4udGhlbWUtbW9kZXJuIC5jb250YWN0LXNoZWV0LWdyaWQgaW1nIHtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4udGhlbWUtbW9kZXJuIC5jb250YWN0LXNoZWV0LWdyaWQgaW1nLnNlbGVjdGVkIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcnQtYW1iZXIpO1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0tY3J0LWFtYmVyKTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTW9kZXJuIFBJTiBTY3JlZW5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4udGhlbWUtbW9kZXJuIC5waW4tc2NyZWVuIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzY2N2VlYSAwJSwgIzc2NGJhMiAxMDAlKTtcbn1cblxuLnRoZW1lLW1vZGVybiAucGluLXNjcmVlbiBoMSB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbn1cblxuLnRoZW1lLW1vZGVybiAucGluLXNjcmVlbiBoMiB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xufVxuXG4udGhlbWUtbW9kZXJuIC5waW4tc2NyZWVuIGlucHV0IHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIGNvbG9yOiAjMWYyOTM3O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbn1cblxuLnRoZW1lLW1vZGVybiAucGluLXNjcmVlbiAuc3VibWl0LWJ0biB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBjb2xvcjogIzdjM2FlZDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG4udGhlbWUtbW9kZXJuIC5waW4tc2NyZWVuIC5lcnJvciB7XG4gIGNvbG9yOiAjZmVjYWNhO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbn1cblxuLnRoZW1lLW1vZGVybiAucGluLXNjcmVlbiAuaGludCB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNb2Rlcm4gU2VhcmNoXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuLnRoZW1lLW1vZGVybiAuc2VhcmNoLWlucHV0IHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTdlYjtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBjb2xvcjogIzFmMjkzNztcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG59XG5cbi50aGVtZS1tb2Rlcm4gLnNlYXJjaC1pbnB1dDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3J0LWFtYmVyKTtcbiAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoMzcsIDk5LCAyMzUsIDAuMSk7XG59XG5cbi50aGVtZS1tb2Rlcm4gLnNlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzljYTNhZjtcbn1cblxuLnRoZW1lLW1vZGVybiAuc2VhcmNoLXJlc3VsdHMtY291bnQge1xuICBjb2xvcjogIzZiNzI4MDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1PREVSTiBEQVJLIFRIRU1FXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU2FtZSBjbGVhbiBhZXN0aGV0aWMgYXMgbW9kZXJuLWxpZ2h0LCBidXQgd2l0aCBkYXJrIGJhY2tncm91bmRzLlxuICAgQXBwbHkgd2l0aCBjbGFzcz1cInRoZW1lLW1vZGVybi1kYXJrXCIgb24gYm9keS5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4udGhlbWUtbW9kZXJuLWRhcmssXG4uYXBwLXNoZWxsLnRoZW1lLW1vZGVybi1kYXJrIHtcbiAgLyogPT09IEJhY2tncm91bmQgQ29sb3JzID09PSAqL1xuICAtLWNydC1ibGFjazogIzBmMTcyYTsgICAgICAgICAgIC8qIFNsYXRlIDkwMCAtIGRlZXAgZGFyayAqL1xuICAtLWNydC1kYXJrOiAjMWUyOTNiOyAgICAgICAgICAgIC8qIFNsYXRlIDgwMCAtIHBhbmVscyAqL1xuICAtLWNydC1hbWJlcjogIzdkZDNmYzsgICAgICAgICAgIC8qIFNreSAzMDAgLSBicmlnaHQgYWNjZW50IChoaWdoIGNvbnRyYXN0KSAqL1xuICAtLWNydC1hbWJlci1kaW06ICMzOGJkZjg7ICAgICAgIC8qIFNreSA0MDAgLSBzbGlnaHRseSBkaW1tZXIgKi9cbiAgLS1jcnQtZ3JlZW46ICM0YWRlODA7ICAgICAgICAgICAvKiBHcmVlbiA0MDAgLSBicmlnaHRlciBmb3IgZGFyayBiZyAqL1xuICAtLWNydC1yZWQ6ICNmODcxNzE7ICAgICAgICAgICAgIC8qIFJlZCA0MDAgLSBicmlnaHRlciBmb3IgZGFyayBiZyAqL1xuXG4gIC8qID09PSBBY2NlbnQgQ29sb3JzID09PSAqL1xuICAtLWtvZGFrLXllbGxvdzogI2ZjZDM0ZDsgICAgICAgIC8qIEFtYmVyIDMwMCAtIGJyaWdodGVyIHllbGxvdyAqL1xuICAtLWtvZGFrLXJlZDogI2YxZjVmOTsgICAgICAgICAgIC8qIFNsYXRlIDEwMCAtIGJyaWdodGVyIHRleHQgKi9cblxuICAvKiA9PT0gU3VyZmFjZSBDb2xvcnMgPT09ICovXG4gIC0tZmlsbS1ib3JkZXI6ICM0NzU1Njk7ICAgICAgICAgLyogU2xhdGUgNjAwIC0gYnJpZ2h0ZXIgYm9yZGVycyAqL1xuICAtLXBhcGVyLWNyZWFtOiAjMWUyOTNiOyAgICAgICAgIC8qIFNsYXRlIDgwMCAqL1xuICAtLXBhcGVyLWFnZWQ6ICMwZjE3MmE7ICAgICAgICAgIC8qIFNsYXRlIDkwMCAqL1xuXG4gIC8qID09PSBUeXBvZ3JhcGh5ID09PSAqL1xuICAtLWZvbnQtbW9ubzogJ0pldEJyYWlucyBNb25vJywgJ1NGIE1vbm8nLCBtb25vc3BhY2U7XG4gIC0tZm9udC1kaXNwbGF5OiAnSW50ZXInLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIHNhbnMtc2VyaWY7XG59XG5cbi8qIE5vIHNjYW5saW5lcyBpbiBkYXJrIG1vZGUgZWl0aGVyICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFwcC1zaGVsbDo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5oZWFkZXItYnJhbmQge1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgY29sb3I6ICNmMWY1Zjk7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmRhdGUtdGV4dCB7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLm5hdi1idG4ge1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLyogPT09IERhcmsgQXBwIFNoZWxsID09PSAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5hcHAtc2hlbGwge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcnQtYmxhY2spO1xuICBjb2xvcjogI2UyZThmMDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLyogPT09IERhcmsgSGVhZGVyID09PSAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5oZWFkZXItYmFyIHtcbiAgYmFja2dyb3VuZDogIzFlMjkzYjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMzMzQxNTU7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAucmVjLWluZGljYXRvciB7XG4gIGNvbG9yOiAjOTRhM2I4O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLnJlYy1pbmRpY2F0b3IuaW5hY3RpdmUge1xuICBjb2xvcjogIzY0NzQ4Yjtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5yZWMtZG90IHtcbiAgYmFja2dyb3VuZDogIzIyYzU1ZTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5yZWMtaW5kaWNhdG9yLmluYWN0aXZlIC5yZWMtZG90IHtcbiAgYmFja2dyb3VuZDogIzQ3NTU2OTtcbn1cblxuLyogPT09IERhcmsgTmF2aWdhdGlvbiA9PT0gKi9cbi50aGVtZS1tb2Rlcm4tZGFyayAubmF2LWNvbnRyb2xzIHtcbiAgYmFja2dyb3VuZDogIzFlMjkzYjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMzMzQxNTU7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAubmF2LWJ0biB7XG4gIGJhY2tncm91bmQ6ICMzMzQxNTU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM0NzU1Njk7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgY29sb3I6ICNlMmU4ZjA7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXdlaWdodDogNTAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5uYXYtYnRuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzQ3NTU2OTtcbiAgYm9yZGVyLWNvbG9yOiAjNjQ3NDhiO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLm5hdi1idG46YWN0aXZlIHtcbiAgYmFja2dyb3VuZDogIzY0NzQ4Yjtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5uYXYtYnRuLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNydC1hbWJlcik7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3J0LWFtYmVyKTtcbiAgY29sb3I6ICMwZjE3MmE7ICAvKiBEYXJrIHRleHQgb24gYnJpZ2h0IGN5YW4gKi9cbn1cblxuLyogPT09IERhcmsgRGF0ZSBEaXNwbGF5ID09PSAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5kYXRlLWRpc3BsYXkge1xuICBiYWNrZ3JvdW5kOiAjMWUyOTNiO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMzM0MTU1O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuZGF0ZS10ZXh0IHtcbiAgY29sb3I6ICNmMWY1Zjk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMThweDsgIC8qIExhcmdlciBkYXRlIHRleHQgKi9cbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5kYXRlLWRldGFpbCB7XG4gIGNvbG9yOiAjOTRhM2I4O1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuZGF0ZS1zZWxlY3Qge1xuICBiYWNrZ3JvdW5kOiAjMWUyOTNiO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMzM0MTU1O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGNvbG9yOiAjZjFmNWY5O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxNnB4OyAgLyogTGFyZ2VyIGRyb3Bkb3duICovXG59XG5cbi8qID09PSBEYXJrIFNpZGViYXIgPT09ICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLnNpZGViYXIge1xuICBiYWNrZ3JvdW5kOiAjMWUyOTNiO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzMzNDE1NTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjMzM0MTU1O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLnN0cmlwLWhlYWRlciB7XG4gIGJhY2tncm91bmQ6ICMwZjE3MmE7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMzM0MTU1O1xuICBjb2xvcjogIzk0YTNiODtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5zY3JvbGwtd3JhcHBlciB7XG4gIGJhY2tncm91bmQ6ICMxZTI5M2I7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuc2Nyb2xsLXdyYXBwZXI6OmJlZm9yZSxcbi50aGVtZS1tb2Rlcm4tZGFyayAuc2Nyb2xsLXdyYXBwZXI6OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC50aHVtYiB7XG4gIGJhY2tncm91bmQ6ICMzMzQxNTU7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgcGFkZGluZzogMDtcbiAgb3BhY2l0eTogMC44O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC50aHVtYjpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAudGh1bWIuYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbiAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWNydC1hbWJlcik7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC50aHVtYjo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiA9PT0gRGFyayBIZXJvL1N0YWdlID09PSAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5zdGFnZSB7XG4gIGJhY2tncm91bmQ6ICMwZjE3MmE7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuaGVyby13cmFwcGVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDA7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDZweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmRhdGUtc3RhbXAge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmZyYW1lLWNvdW50ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiA9PT0gRGFyayBCYW5uZXJzID09PSAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5iYW5uZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcnQtYW1iZXIpO1xuICBjb2xvcjogIzBmMTcyYTsgIC8qIERhcmsgdGV4dCBvbiBicmlnaHQgY3lhbiAqL1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBhbmltYXRpb246IG5vbmU7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmZpbHRlci1iYW5uZXIge1xuICBiYWNrZ3JvdW5kOiAjMjJjNTVlO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuZmlsdGVyLWJhbm5lciBidXR0b24ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi8qID09PSBEYXJrIE1ldGEgRGlzcGxheSA9PT0gKi9cbi50aGVtZS1tb2Rlcm4tZGFyayAubWV0YS1kaXNwbGF5IHtcbiAgYmFja2dyb3VuZDogIzFlMjkzYjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzMzNDE1NTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBjb2xvcjogIzk0YTNiODsgIC8qIFNvZnRlciBncmF5IGZvciBsYWJlbHMgKi9cbiAgZm9udC13ZWlnaHQ6IDQwMDsgIC8qIE5vcm1hbCB3ZWlnaHQgKi9cbiAgZm9udC1zaXplOiAxNXB4OyAgLyogU2xpZ2h0bHkgbGFyZ2VyIGJhc2UgKi9cbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5tZXRhLWRpc3BsYXk6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICMxZTI5M2I7XG4gIGNvbG9yOiAjNjQ3NDhiOyAgLyogU3VidGxlIGhlYWRlciAqL1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDEycHg7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAubWV0YS1yb3cge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzMzNDE1NTtcbiAgcGFkZGluZzogOHB4IDEycHg7ICAvKiBNb3JlIHBhZGRpbmcgZm9yIHJlYWRhYmlsaXR5ICovXG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAubWV0YS1sYWJlbCB7XG4gIGNvbG9yOiAjNjQ3NDhiOyAgLyogRGltIGxhYmVscyAqL1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDEzcHg7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAubWV0YS12YWwge1xuICBjb2xvcjogI2UyZThmMDsgIC8qIFNsYXRlIDIwMCAtIGJyaWdodGVyIGZvciByZWFkYWJpbGl0eSAqL1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTsgIC8qIFVzZSBzYW5zLXNlcmlmLCBub3QgbW9ubyAqL1xuICBmb250LXdlaWdodDogNDAwOyAgLyogTm9ybWFsLCBub3QgYm9sZCAqL1xuICBmb250LXNpemU6IDE1cHg7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAubWV0YS12YWwgYSB7XG4gIGNvbG9yOiB2YXIoLS1jcnQtYW1iZXIpOyAgLyogTGlua3Mgc3RheSBjeWFuICovXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi8qIEV4cG9zdXJlIGRhdGEgLSBsYXJnZXIgYW5kIGNsZWFyZXIgKi9cbi50aGVtZS1tb2Rlcm4tZGFyayAuZGVza3RvcC1leHBvc3VyZSB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgY29sb3I6ICNlMmU4ZjA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi8qIFRhZ3MgYW5kIGRlc2NyaXB0aW9uIC0gcmVhZGFibGUgKi9cbi50aGVtZS1tb2Rlcm4tZGFyayAudGFnLWxpc3Qge1xuICBjb2xvcjogI2NiZDVlMTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmRlc2NyaXB0aW9uLXRleHQge1xuICBjb2xvcjogI2NiZDVlMTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuXG4vKiA9PT0gRGFyayBEb3dubG9hZCAmIFNoYXJlID09PSAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5kb3dubG9hZC1wYW5lbCB7XG4gIGJhY2tncm91bmQ6ICMxZTI5M2I7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMzM0MTU1O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmRvd25sb2FkLWJ0biB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNydC1hbWJlcik7XG4gIGNvbG9yOiAjMGYxNzJhOyAgLyogRGFyayB0ZXh0IG9uIGJyaWdodCBjeWFuICovXG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuZG93bmxvYWQtYnRuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzM4YmRmODsgIC8qIFNreSA0MDAgLSBzbGlnaHRseSBkYXJrZXIgb24gaG92ZXIgKi9cbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5zaGFyZS1wYW5lbCB7XG4gIGJhY2tncm91bmQ6ICMxZTI5M2I7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMzM0MTU1O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLnNoYXJlLWJ0biB7XG4gIGJhY2tncm91bmQ6ICMyMmM1NWU7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuc2hhcmUtYnRuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzE2YTM0YTtcbn1cblxuLyogPT09IERhcmsgTW9kYWxzID09PSAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5pbmZvLW1vZGFsIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjcpO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmluZm8tY29udGVudCB7XG4gIGJhY2tncm91bmQ6ICMxZTI5M2I7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMzMzQxNTU7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIGJveC1zaGFkb3c6IDAgMjVweCA1MHB4IC0xMnB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGNvbG9yOiAjZTJlOGYwO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmluZm8taGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMzMzQxNTU7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuaW5mby10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgY29sb3I6ICNmMWY1Zjk7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuY2xvc2UtYnRuIHtcbiAgYmFja2dyb3VuZDogIzMzNDE1NTtcbiAgY29sb3I6ICNlMmU4ZjA7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuc2hvcnRjdXQta2V5IHtcbiAgYmFja2dyb3VuZDogIzMzNDE1NTtcbiAgY29sb3I6ICNlMmU4ZjA7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG59XG5cbi8qID09PSBEYXJrIEZhY2UvT2JqZWN0IE92ZXJsYXlzID09PSAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5mYWNlLWJveCB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMyMmM1NWU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMzQsIDE5NywgOTQsIDAuMTUpO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuZmFjZS1ib3ggLmZhY2UtbGFiZWwge1xuICBiYWNrZ3JvdW5kOiAjMjJjNTVlO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5vYmplY3QtYm94IHtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tY3J0LWFtYmVyKTtcbiAgYmFja2dyb3VuZDogcmdiYSgxMjUsIDIxMSwgMjUyLCAwLjE1KTsgIC8qIFNreSAzMDAgd2l0aCBhbHBoYSAqL1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAub2JqZWN0LWJveCAub2JqZWN0LWxhYmVsIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3J0LWFtYmVyKTtcbiAgY29sb3I6ICMwZjE3MmE7ICAvKiBEYXJrIHRleHQgb24gYnJpZ2h0IGN5YW4gKi9cbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbn1cblxuLyogPT09IERhcmsgQ29udGFjdCBTaGVldCA9PT0gKi9cbi50aGVtZS1tb2Rlcm4tZGFyayAuY29udGFjdC1zaGVldC10b2dnbGUge1xuICBiYWNrZ3JvdW5kOiAjMWUyOTNiO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzMzNDE1NTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5jb250YWN0LXNoZWV0LXRvZ2dsZSBzcGFuIHtcbiAgY29sb3I6ICNlMmU4ZjA7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmNvbnRhY3Qtc2hlZXQge1xuICBiYWNrZ3JvdW5kOiAjMWUyOTNiO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzMzNDE1NTtcbiAgYm9yZGVyLXJhZGl1czogMTZweCAxNnB4IDAgMDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5jb250YWN0LXNoZWV0LWhlYWRlciB7XG4gIGJhY2tncm91bmQ6ICMwZjE3MmE7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMzM0MTU1O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmNvbnRhY3Qtc2hlZXQtaGVhZGVyIHNwYW4ge1xuICBjb2xvcjogI2UyZThmMDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuY29udGFjdC1zaGVldC1oZWFkZXIgYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogIzMzNDE1NTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzQ3NTU2OTtcbiAgY29sb3I6ICNlMmU4ZjA7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuY29udGFjdC1zaGVldC1ncmlkIGltZyB7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5jb250YWN0LXNoZWV0LWdyaWQgaW1nLnNlbGVjdGVkIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcnQtYW1iZXIpO1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0tY3J0LWFtYmVyKTtcbn1cblxuLyogPT09IERhcmsgUElOIFNjcmVlbiAtIFNsZWVrICYgU29waGlzdGljYXRlZCA9PT0gKi9cbi50aGVtZS1tb2Rlcm4tZGFyayAucGluLXNjcmVlbiB7XG4gIGJhY2tncm91bmQ6XG4gICAgcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgMjAlIDAlLCByZ2JhKDU2LCAxODksIDI0OCwgMC4xNSkgMCUsIHRyYW5zcGFyZW50IDUwJSksXG4gICAgcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgODAlIDEwMCUsIHJnYmEoMTM5LCA5MiwgMjQ2LCAwLjE1KSAwJSwgdHJhbnNwYXJlbnQgNTAlKSxcbiAgICBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjMGMxMjIyIDAlLCAjMGYxNzJhIDUwJSwgIzFlMWI0YiAxMDAlKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogQW5pbWF0ZWQgZ3JhZGllbnQgb3JicyAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5waW4tc2NyZWVuOjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC01MCU7XG4gIGxlZnQ6IC01MCU7XG4gIHdpZHRoOiAyMDAlO1xuICBoZWlnaHQ6IDIwMCU7XG4gIGJhY2tncm91bmQ6XG4gICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAzMCUgMzAlLCByZ2JhKDU2LCAxODksIDI0OCwgMC4wOCkgMCUsIHRyYW5zcGFyZW50IDQwJSksXG4gICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCA3MCUgNzAlLCByZ2JhKDE2NywgMTM5LCAyNTAsIDAuMDgpIDAlLCB0cmFuc3BhcmVudCA0MCUpO1xuICBhbmltYXRpb246IHBpblNjcmVlbkdsb3cgMjBzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuQGtleWZyYW1lcyBwaW5TY3JlZW5HbG93IHtcbiAgMCUsIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSByb3RhdGUoMGRlZyk7IH1cbiAgMjUlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMiUsIDIlKSByb3RhdGUoNWRlZyk7IH1cbiAgNTAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTElLCAzJSkgcm90YXRlKC0zZGVnKTsgfVxuICA3NSUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgzJSwgLTIlKSByb3RhdGUoMmRlZyk7IH1cbn1cblxuLyogR2xhc3MgY2FyZCBjb250YWluZXIgKi9cbi50aGVtZS1tb2Rlcm4tZGFyayAucGluLXNjcmVlbiBmb3JtIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAzKTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDIwcHgpO1xuICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigyMHB4KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbiAgYm9yZGVyLXJhZGl1czogMjRweDtcbiAgcGFkZGluZzogNDhweCA0MHB4O1xuICBib3gtc2hhZG93OlxuICAgIDAgMjVweCA1MHB4IC0xMnB4IHJnYmEoMCwgMCwgMCwgMC41KSxcbiAgICAwIDAgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KSBpbnNldDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLnBpbi1zY3JlZW4gaDEge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBsZXR0ZXItc3BhY2luZzogM3B4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAucGluLXNjcmVlbiBoMiB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjVweDtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cblxuLyogTG9jayBpY29uIGJlZm9yZSB0aXRsZSAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5waW4tc2NyZWVuIGgyOjpiZWZvcmUge1xuICBjb250ZW50OiAnXHUyNUM4JztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogNDhweDtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzM4YmRmOCAwJSwgI2E3OGJmYSAxMDAlKTtcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLnBpbi1zY3JlZW4gaW5wdXQge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBwYWRkaW5nOiAyMHB4IDI0cHg7XG4gIHdpZHRoOiAyNDBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsZXR0ZXItc3BhY2luZzogMTJweDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5waW4tc2NyZWVuIGlucHV0OjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGxldHRlci1zcGFjaW5nOiA4cHg7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAucGluLXNjcmVlbiBpbnB1dDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogcmdiYSg1NiwgMTg5LCAyNDgsIDAuNSk7XG4gIGJveC1zaGFkb3c6XG4gICAgMCAwIDAgNHB4IHJnYmEoNTYsIDE4OSwgMjQ4LCAwLjEpLFxuICAgIDAgMCAzMHB4IHJnYmEoNTYsIDE4OSwgMjQ4LCAwLjEpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLnBpbi1zY3JlZW4gLnN1Ym1pdC1idG4ge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMzhiZGY4IDAlLCAjODE4Y2Y4IDEwMCUpO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICBwYWRkaW5nOiAxNnB4IDQ4cHg7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gIGJveC1zaGFkb3c6XG4gICAgMCA0cHggMTVweCByZ2JhKDU2LCAxODksIDI0OCwgMC4zKSxcbiAgICAwIDAgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpIGluc2V0O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLnBpbi1zY3JlZW4gLnN1Ym1pdC1idG46aG92ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gIGJveC1zaGFkb3c6XG4gICAgMCA4cHggMjVweCByZ2JhKDU2LCAxODksIDI0OCwgMC40KSxcbiAgICAwIDAgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSBpbnNldDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5waW4tc2NyZWVuIC5zdWJtaXQtYnRuOmFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgYm94LXNoYWRvdzpcbiAgICAwIDJweCAxMHB4IHJnYmEoNTYsIDE4OSwgMjQ4LCAwLjMpLFxuICAgIDAgMCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSkgaW5zZXQ7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAucGluLXNjcmVlbiAuZXJyb3Ige1xuICBjb2xvcjogI2Y4NzE3MTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbWFyZ2luLXRvcDogMTZweDtcbiAgcGFkZGluZzogMTJweCAyMHB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjEpO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjM5LCA2OCwgNjgsIDAuMik7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAucGluLXNjcmVlbiAuaGludCB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxldHRlci1zcGFjaW5nOiAycHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbi10b3A6IDMycHg7XG59XG5cbi8qID09PSBEYXJrIFNlYXJjaCA9PT0gKi9cbi50aGVtZS1tb2Rlcm4tZGFyayAuc2VhcmNoLWlucHV0IHtcbiAgYmFja2dyb3VuZDogIzMzNDE1NTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzQ3NTU2OTtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBjb2xvcjogI2YxZjVmOTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuc2VhcmNoLWlucHV0OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcnQtYW1iZXIpO1xuICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgxMjUsIDIxMSwgMjUyLCAwLjI1KTsgIC8qIFNreSAzMDAgZ2xvdyAqL1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLnNlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzY0NzQ4Yjtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5zZWFyY2gtcmVzdWx0cy1jb3VudCB7XG4gIGNvbG9yOiAjOTRhM2I4O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQURNSU4gUEFHRSBTVFlMRVMgLSBNb2Rlcm4gVGhlbWUgKExpZ2h0KVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbnNpc3RlbnQgc3R5bGluZyBmb3IgYWxsIGFkbWluIHBhZ2VzOlxuICAgL3NlY3JldGFkbWluLCAvc2VjcmV0YWRtaW4vZ2FsbGVyeSwgL3NlY3JldGFkbWluL2NsdXN0ZXIsIC9zZWNyZXRhZG1pbi9ub2RlcyxcbiAgIC9zZWNyZXRhZG1pbi9wZW9wbGUsIC9zZWNyZXRhZG1pbi9ldmVudHMsIC9zdXBlcmFkbWluLCAvdXBsb2FkLCAvY2xhaW0sIC9hdWRpdFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi8qIEFkbWluIHBhZ2Ugd3JhcHBlciAqL1xuLnRoZW1lLW1vZGVybiAuYWRtaW4tcGFnZSB7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xuICBjb2xvcjogIzFmMjkzNztcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLyogQWRtaW4gTmF2aWdhdGlvbiBCYXIgKi9cbi50aGVtZS1tb2Rlcm4gLmFkbWluLW5hdiB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlN2ViO1xuICBwYWRkaW5nOiAwIDIwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xufVxuXG4udGhlbWUtbW9kZXJuIC5hZG1pbi1uYXYtYnJhbmQge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHBhZGRpbmc6IDE2cHggMjBweCAxNnB4IDA7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlNWU3ZWI7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgY29sb3I6ICMyNTYzZWI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnRoZW1lLW1vZGVybiAuYWRtaW4tbmF2LWl0ZW0ge1xuICBwYWRkaW5nOiAxNnB4IDE2cHg7XG4gIGNvbG9yOiAjNmI3MjgwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmFkbWluLW5hdi1pdGVtOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2YzZjRmNjtcbiAgY29sb3I6ICMzNzQxNTE7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmFkbWluLW5hdi1pdGVtLmFjdGl2ZSB7XG4gIGNvbG9yOiAjMjU2M2ViO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjMjU2M2ViO1xuICBiYWNrZ3JvdW5kOiAjZWZmNmZmO1xufVxuXG4udGhlbWUtbW9kZXJuIC5hZG1pbi1uYXYtc3BhY2VyIHtcbiAgZmxleC1ncm93OiAxO1xufVxuXG4udGhlbWUtbW9kZXJuIC5hZG1pbi1uYXYtYmFjayB7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgY29sb3I6ICM2YjcyODA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC1zaXplOiAxM3B4O1xufVxuXG4udGhlbWUtbW9kZXJuIC5hZG1pbi1uYXYtYmFjazpob3ZlciB7XG4gIGNvbG9yOiAjMjU2M2ViO1xufVxuXG4vKiBBZG1pbiBDb250ZW50IEFyZWEgKi9cbi50aGVtZS1tb2Rlcm4gLmFkbWluLWNvbnRlbnQge1xuICBwYWRkaW5nOiAyNHB4O1xuICBtYXgtd2lkdGg6IDE0MDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi8qIEFkbWluIFBhZ2UgVGl0bGUgKi9cbi50aGVtZS1tb2Rlcm4gLmFkbWluLXRpdGxlIHtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogIzFmMjkzNztcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbn1cblxuLyogQWRtaW4gU2VjdGlvbnMvQ2FyZHMgKi9cbi50aGVtZS1tb2Rlcm4gLmFkbWluLXNlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTVlN2ViO1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICBwYWRkaW5nOiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbn1cblxuLnRoZW1lLW1vZGVybiAuYWRtaW4tc2VjdGlvbiBoMiB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICMzNzQxNTE7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMnB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YzZjRmNjtcbn1cblxuLyogQWRtaW4gQnV0dG9ucyAqL1xuLnRoZW1lLW1vZGVybiAuYWRtaW4tYnRuIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLnRoZW1lLW1vZGVybiAuYWRtaW4tYnRuLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjMjU2M2ViO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLnRoZW1lLW1vZGVybiAuYWRtaW4tYnRuLXByaW1hcnk6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMWQ0ZWQ4O1xufVxuXG4udGhlbWUtbW9kZXJuIC5hZG1pbi1idG4tc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZDogI2YzZjRmNjtcbiAgY29sb3I6ICMzNzQxNTE7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNWU3ZWI7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmFkbWluLWJ0bi1zZWNvbmRhcnk6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZTVlN2ViO1xufVxuXG4udGhlbWUtbW9kZXJuIC5hZG1pbi1idG4tZGFuZ2VyIHtcbiAgYmFja2dyb3VuZDogI2ZlZjJmMjtcbiAgY29sb3I6ICNkYzI2MjY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZWNhY2E7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmFkbWluLWJ0bi1kYW5nZXI6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZmVlMmUyO1xufVxuXG4udGhlbWUtbW9kZXJuIC5hZG1pbi1idG4tc3VjY2VzcyB7XG4gIGJhY2tncm91bmQ6ICMyMmM1NWU7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4udGhlbWUtbW9kZXJuIC5hZG1pbi1idG4tc3VjY2Vzczpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMxNmEzNGE7XG59XG5cbi8qIEFkbWluIEZvcm0gRWxlbWVudHMgKi9cbi50aGVtZS1tb2Rlcm4gLmFkbWluLWlucHV0LFxuLnRoZW1lLW1vZGVybiAuYWRtaW4tc2VsZWN0LFxuLnRoZW1lLW1vZGVybiAuYWRtaW4tdGV4dGFyZWEge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBjb2xvcjogIzFmMjkzNztcbiAgYm9yZGVyOiAxcHggc29saWQgI2QxZDVkYjtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBwYWRkaW5nOiAxMHB4IDE0cHg7XG4gIHdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcbn1cblxuLnRoZW1lLW1vZGVybiAuYWRtaW4taW5wdXQ6Zm9jdXMsXG4udGhlbWUtbW9kZXJuIC5hZG1pbi1zZWxlY3Q6Zm9jdXMsXG4udGhlbWUtbW9kZXJuIC5hZG1pbi10ZXh0YXJlYTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogIzI1NjNlYjtcbiAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoMzcsIDk5LCAyMzUsIDAuMSk7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmFkbWluLWlucHV0OjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjOWNhM2FmO1xufVxuXG4vKiBBZG1pbiBTdGF0cyBHcmlkICovXG4udGhlbWUtbW9kZXJuIC5hZG1pbi1zdGF0cy1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxODBweCwgMWZyKSk7XG4gIGdhcDogMTZweDtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbn1cblxuLnRoZW1lLW1vZGVybiAuYWRtaW4tc3RhdC1jYXJkIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTdlYjtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgcGFkZGluZzogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGhlbWUtbW9kZXJuIC5hZG1pbi1zdGF0LXZhbHVlIHtcbiAgZm9udC1zaXplOiAzMnB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogIzI1NjNlYjtcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xufVxuXG4udGhlbWUtbW9kZXJuIC5hZG1pbi1zdGF0LWxhYmVsIHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBjb2xvcjogIzZiNzI4MDtcbn1cblxuLyogQWRtaW4gVGFibGVzICovXG4udGhlbWUtbW9kZXJuIC5hZG1pbi10YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xufVxuXG4udGhlbWUtbW9kZXJuIC5hZG1pbi10YWJsZSB0aCxcbi50aGVtZS1tb2Rlcm4gLmFkbWluLXRhYmxlIHRkIHtcbiAgcGFkZGluZzogMTJweCAxNnB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YzZjRmNjtcbn1cblxuLnRoZW1lLW1vZGVybiAuYWRtaW4tdGFibGUgdGgge1xuICBiYWNrZ3JvdW5kOiAjZjlmYWZiO1xuICBjb2xvcjogIzZiNzI4MDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmFkbWluLXRhYmxlIHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2Y5ZmFmYjtcbn1cblxuLyogQWRtaW4gTW9kYWxzICovXG4udGhlbWUtbW9kZXJuIC5hZG1pbi1tb2RhbC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBpbnNldDogMDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgei1pbmRleDogMTAwMDtcbn1cblxuLnRoZW1lLW1vZGVybiAuYWRtaW4tbW9kYWwge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICBwYWRkaW5nOiAyNHB4O1xuICBtYXgtd2lkdGg6IDYwMHB4O1xuICB3aWR0aDogOTAlO1xuICBtYXgtaGVpZ2h0OiA5MHZoO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBib3gtc2hhZG93OiAwIDI1cHggNTBweCAtMTJweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xufVxuXG4udGhlbWUtbW9kZXJuIC5hZG1pbi1tb2RhbC10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICMxZjI5Mzc7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxNnB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTdlYjtcbn1cblxuLyogQWRtaW4gQmFkZ2VzL1RhZ3MgKi9cbi50aGVtZS1tb2Rlcm4gLmFkbWluLWJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiA0cHggMTBweDtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmFkbWluLWJhZGdlLXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kOiAjZGNmY2U3O1xuICBjb2xvcjogIzE2NjUzNDtcbn1cblxuLnRoZW1lLW1vZGVybiAuYWRtaW4tYmFkZ2Utd2FybmluZyB7XG4gIGJhY2tncm91bmQ6ICNmZWYzYzc7XG4gIGNvbG9yOiAjOTI0MDBlO1xufVxuXG4udGhlbWUtbW9kZXJuIC5hZG1pbi1iYWRnZS1kYW5nZXIge1xuICBiYWNrZ3JvdW5kOiAjZmVlMmUyO1xuICBjb2xvcjogI2RjMjYyNjtcbn1cblxuLnRoZW1lLW1vZGVybiAuYWRtaW4tYmFkZ2UtaW5mbyB7XG4gIGJhY2tncm91bmQ6ICNkYmVhZmU7XG4gIGNvbG9yOiAjMWU0MGFmO1xufVxuXG4vKiBBZG1pbiBQSU4gU2NyZWVuIChzdGFuZGFsb25lIHBhZ2VzIGxpa2UgL3VwbG9hZCwgYWRtaW4gbG9naW4pICovXG4udGhlbWUtbW9kZXJuIC5hZG1pbi1waW4tc2NyZWVuIHtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjNjY3ZWVhIDAlLCAjNzY0YmEyIDEwMCUpO1xufVxuXG4udGhlbWUtbW9kZXJuIC5hZG1pbi1waW4tY2FyZCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45NSk7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIHBhZGRpbmc6IDQ4cHggNDBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3gtc2hhZG93OiAwIDI1cHggNTBweCAtMTJweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICBtYXgtd2lkdGg6IDQwMHB4O1xuICB3aWR0aDogOTAlO1xufVxuXG4udGhlbWUtbW9kZXJuIC5hZG1pbi1waW4tdGl0bGUge1xuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjMWYyOTM3O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmFkbWluLXBpbi1zdWJ0aXRsZSB7XG4gIGNvbG9yOiAjNmI3MjgwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIG1hcmdpbi1ib3R0b206IDMycHg7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmFkbWluLXBpbi1pbnB1dCB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuICBmb250LXNpemU6IDI0cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogI2YzZjRmNjtcbiAgYm9yZGVyOiAycHggc29saWQgI2U1ZTdlYjtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgcGFkZGluZzogMTZweCAyNHB4O1xuICB3aWR0aDogMjAwcHg7XG4gIGxldHRlci1zcGFjaW5nOiA4cHg7XG4gIGNvbG9yOiAjMWYyOTM3O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcbn1cblxuLnRoZW1lLW1vZGVybiAuYWRtaW4tcGluLWlucHV0OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiAjMjU2M2ViO1xuICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgzNywgOTksIDIzNSwgMC4xKTtcbn1cblxuLnRoZW1lLW1vZGVybiAuYWRtaW4tcGluLWVycm9yIHtcbiAgY29sb3I6ICNkYzI2MjY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbWFyZ2luLXRvcDogMTZweDtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQURNSU4gUEFHRSBTVFlMRVMgLSBNb2Rlcm4gRGFyayBUaGVtZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi8qIEFkbWluIHBhZ2Ugd3JhcHBlciAtIGRhcmsgKi9cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tcGFnZSB7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kOiAjMGYxNzJhO1xuICBjb2xvcjogI2UyZThmMDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLyogQWRtaW4gTmF2aWdhdGlvbiBCYXIgLSBkYXJrICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLW5hdiB7XG4gIGJhY2tncm91bmQ6ICMxZTI5M2I7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMzM0MTU1O1xuICBwYWRkaW5nOiAwIDIwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tbmF2LWJyYW5kIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBwYWRkaW5nOiAxNnB4IDIwcHggMTZweCAwO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjMzM0MTU1O1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIGNvbG9yOiAjN2RkM2ZjO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tbmF2LWl0ZW0ge1xuICBwYWRkaW5nOiAxNnB4IDE2cHg7XG4gIGNvbG9yOiAjOTRhM2I4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tbmF2LWl0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMzM0MTU1O1xuICBjb2xvcjogI2UyZThmMDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1uYXYtaXRlbS5hY3RpdmUge1xuICBjb2xvcjogIzdkZDNmYztcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzdkZDNmYztcbiAgYmFja2dyb3VuZDogcmdiYSgxMjUsIDIxMSwgMjUyLCAwLjEpO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLW5hdi1zcGFjZXIge1xuICBmbGV4LWdyb3c6IDE7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tbmF2LWJhY2sge1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIGNvbG9yOiAjOTRhM2I4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtc2l6ZTogMTNweDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1uYXYtYmFjazpob3ZlciB7XG4gIGNvbG9yOiAjN2RkM2ZjO1xufVxuXG4vKiBBZG1pbiBDb250ZW50IEFyZWEgLSBkYXJrICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLWNvbnRlbnQge1xuICBwYWRkaW5nOiAyNHB4O1xuICBtYXgtd2lkdGg6IDE0MDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi8qIEFkbWluIFBhZ2UgVGl0bGUgLSBkYXJrICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLXRpdGxlIHtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogI2YxZjVmOTtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbn1cblxuLyogQWRtaW4gU2VjdGlvbnMvQ2FyZHMgLSBkYXJrICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLXNlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAjMWUyOTNiO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMzM0MTU1O1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICBwYWRkaW5nOiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLXNlY3Rpb24gaDIge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjZTJlOGYwO1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTJweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMzMzQxNTU7XG59XG5cbi8qIEFkbWluIEJ1dHRvbnMgLSBkYXJrICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLWJ0biB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xuICBib3JkZXI6IG5vbmU7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tYnRuLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjN2RkM2ZjO1xuICBjb2xvcjogIzBmMTcyYTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1idG4tcHJpbWFyeTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMzOGJkZjg7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tYnRuLXNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQ6ICMzMzQxNTU7XG4gIGNvbG9yOiAjZTJlOGYwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNDc1NTY5O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLWJ0bi1zZWNvbmRhcnk6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjNDc1NTY5O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLWJ0bi1kYW5nZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjEpO1xuICBjb2xvcjogI2Y4NzE3MTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMzksIDY4LCA2OCwgMC4zKTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1idG4tZGFuZ2VyOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4yKTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1idG4tc3VjY2VzcyB7XG4gIGJhY2tncm91bmQ6ICMyMmM1NWU7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLWJ0bi1zdWNjZXNzOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzE2YTM0YTtcbn1cblxuLyogQWRtaW4gRm9ybSBFbGVtZW50cyAtIGRhcmsgKi9cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4taW5wdXQsXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLXNlbGVjdCxcbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tdGV4dGFyZWEge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBiYWNrZ3JvdW5kOiAjMGYxNzJhO1xuICBjb2xvcjogI2UyZThmMDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzQ3NTU2OTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBwYWRkaW5nOiAxMHB4IDE0cHg7XG4gIHdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1pbnB1dDpmb2N1cyxcbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tc2VsZWN0OmZvY3VzLFxuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi10ZXh0YXJlYTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogIzdkZDNmYztcbiAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoMTI1LCAyMTEsIDI1MiwgMC4xNSk7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4taW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM2NDc0OGI7XG59XG5cbi8qIEFkbWluIFN0YXRzIEdyaWQgLSBkYXJrICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLXN0YXRzLWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDE4MHB4LCAxZnIpKTtcbiAgZ2FwOiAxNnB4O1xuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLXN0YXQtY2FyZCB7XG4gIGJhY2tncm91bmQ6ICMxZTI5M2I7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMzMzQxNTU7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1zdGF0LXZhbHVlIHtcbiAgZm9udC1zaXplOiAzMnB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogIzdkZDNmYztcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLXN0YXQtbGFiZWwge1xuICBmb250LXNpemU6IDEzcHg7XG4gIGNvbG9yOiAjOTRhM2I4O1xufVxuXG4vKiBBZG1pbiBUYWJsZXMgLSBkYXJrICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLXRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tdGFibGUgdGgsXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLXRhYmxlIHRkIHtcbiAgcGFkZGluZzogMTJweCAxNnB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzMzNDE1NTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi10YWJsZSB0aCB7XG4gIGJhY2tncm91bmQ6ICMwZjE3MmE7XG4gIGNvbG9yOiAjOTRhM2I4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDEycHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi10YWJsZSB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTI1LCAyMTEsIDI1MiwgMC4wNSk7XG59XG5cbi8qIEFkbWluIE1vZGFscyAtIGRhcmsgKi9cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tbW9kYWwtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHotaW5kZXg6IDEwMDA7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tbW9kYWwge1xuICBiYWNrZ3JvdW5kOiAjMWUyOTNiO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMzM0MTU1O1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICBwYWRkaW5nOiAyNHB4O1xuICBtYXgtd2lkdGg6IDYwMHB4O1xuICB3aWR0aDogOTAlO1xuICBtYXgtaGVpZ2h0OiA5MHZoO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBib3gtc2hhZG93OiAwIDI1cHggNTBweCAtMTJweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tbW9kYWwtdGl0bGUge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjZjFmNWY5O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTZweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMzMzQxNTU7XG59XG5cbi8qIEFkbWluIEJhZGdlcy9UYWdzIC0gZGFyayAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogNHB4IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLWJhZGdlLXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDM0LCAxOTcsIDk0LCAwLjE1KTtcbiAgY29sb3I6ICM0YWRlODA7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tYmFkZ2Utd2FybmluZyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjUxLCAxOTEsIDM2LCAwLjE1KTtcbiAgY29sb3I6ICNmY2QzNGQ7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tYmFkZ2UtZGFuZ2VyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4xNSk7XG4gIGNvbG9yOiAjZjg3MTcxO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLWJhZGdlLWluZm8ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDEyNSwgMjExLCAyNTIsIDAuMTUpO1xuICBjb2xvcjogIzdkZDNmYztcbn1cblxuLyogQWRtaW4gUElOIFNjcmVlbiAtIGRhcmsgKHNsZWVrIGdsYXNzIG1vcnBoaXNtKSAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1waW4tc2NyZWVuIHtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBiYWNrZ3JvdW5kOlxuICAgIHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IDIwJSAwJSwgcmdiYSg1NiwgMTg5LCAyNDgsIDAuMTUpIDAlLCB0cmFuc3BhcmVudCA1MCUpLFxuICAgIHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IDgwJSAxMDAlLCByZ2JhKDEzOSwgOTIsIDI0NiwgMC4xNSkgMCUsIHRyYW5zcGFyZW50IDUwJSksXG4gICAgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzBjMTIyMiAwJSwgIzBmMTcyYSA1MCUsICMxZTFiNGIgMTAwJSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tcGluLXNjcmVlbjo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtNTAlO1xuICBsZWZ0OiAtNTAlO1xuICB3aWR0aDogMjAwJTtcbiAgaGVpZ2h0OiAyMDAlO1xuICBiYWNrZ3JvdW5kOlxuICAgIHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgMzAlIDMwJSwgcmdiYSg1NiwgMTg5LCAyNDgsIDAuMDgpIDAlLCB0cmFuc3BhcmVudCA0MCUpLFxuICAgIHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgNzAlIDcwJSwgcmdiYSgxNjcsIDEzOSwgMjUwLCAwLjA4KSAwJSwgdHJhbnNwYXJlbnQgNDAlKTtcbiAgYW5pbWF0aW9uOiBwaW5TY3JlZW5HbG93IDIwcyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tcGluLWNhcmQge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDMpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCk7XG4gIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDIwcHgpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xuICBib3JkZXItcmFkaXVzOiAyNHB4O1xuICBwYWRkaW5nOiA0OHB4IDQwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm94LXNoYWRvdzpcbiAgICAwIDI1cHggNTBweCAtMTJweCByZ2JhKDAsIDAsIDAsIDAuNSksXG4gICAgMCAwIDAgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSkgaW5zZXQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgbWF4LXdpZHRoOiA0MDBweDtcbiAgd2lkdGg6IDkwJTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1waW4tdGl0bGUge1xuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tcGluLXN1YnRpdGxlIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBtYXJnaW4tYm90dG9tOiAzMnB4O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLXBpbi1pbnB1dCB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuICBmb250LXNpemU6IDI0cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICBwYWRkaW5nOiAxNnB4IDI0cHg7XG4gIHdpZHRoOiAyMjBweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDhweDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLXBpbi1pbnB1dDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogcmdiYSg1NiwgMTg5LCAyNDgsIDAuNSk7XG4gIGJveC1zaGFkb3c6XG4gICAgMCAwIDAgNHB4IHJnYmEoNTYsIDE4OSwgMjQ4LCAwLjEpLFxuICAgIDAgMCAzMHB4IHJnYmEoNTYsIDE4OSwgMjQ4LCAwLjEpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLXBpbi1pbnB1dDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLXBpbi1lcnJvciB7XG4gIGNvbG9yOiAjZjg3MTcxO1xuICBmb250LXNpemU6IDE0cHg7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG4gIHBhZGRpbmc6IDEycHggMjBweDtcbiAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4xKTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIzOSwgNjgsIDY4LCAwLjIpO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBHUFUgQ0xVU1RFUiBQQUdFIFNUWUxFU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNwZWNpZmljIHN0eWxlcyBmb3IgL3NlY3JldGFkbWluL2NsdXN0ZXIgR1BVIG1vbml0b3JpbmcgZGFzaGJvYXJkLlxuICAgVXNlcyBhZG1pbi0qIGJhc2UgY2xhc3NlcyB3aXRoIGNsdXN0ZXItKiBleHRlbnNpb25zLlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi8qIENsdXN0ZXIgc3RhdHMgZ3JpZCAtIHNpbWlsYXIgdG8gYWRtaW4tc3RhdHMtZ3JpZCBidXQgd2l0aCBtb3JlIGNvbHVtbnMgKi9cbi50aGVtZS1tb2Rlcm4tZGFyayAuY2x1c3Rlci1zdGF0cy1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxNTBweCwgMWZyKSk7XG4gIGdhcDogMTJweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5jbHVzdGVyLXN0YXQtY2FyZCB7XG4gIGJhY2tncm91bmQ6ICMwZjE3MmE7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMzMzQxNTU7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgcGFkZGluZzogMTZweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmNsdXN0ZXItc3RhdC12YWx1ZSB7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICM3ZGQzZmM7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5jbHVzdGVyLXN0YXQtbGFiZWwge1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAjNjQ3NDhiO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG59XG5cbi8qIFdvcmtlciBjYXJkcyAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC53b3JrZXItY2FyZCB7XG4gIGJhY2tncm91bmQ6ICMwZjE3MmE7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMzMzQxNTU7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgcGFkZGluZzogMTZweDtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDE2cHg7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAud29ya2VyLWNhcmQub25saW5lIHtcbiAgYm9yZGVyLWNvbG9yOiAjMjJjNTVlO1xuICBib3JkZXItbGVmdDogNHB4IHNvbGlkICMyMmM1NWU7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAud29ya2VyLWNhcmQub2ZmbGluZSB7XG4gIGJvcmRlci1jb2xvcjogI2Y4NzE3MTtcbiAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjZjg3MTcxO1xuICBvcGFjaXR5OiAwLjc7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAud29ya2VyLWNhcmQudW5rbm93biB7XG4gIGJvcmRlci1jb2xvcjogI2ZjZDM0ZDtcbiAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjZmNkMzRkO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLndvcmtlci1pbmZvIHtcbiAgZmxleDogMTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC53b3JrZXItaW5mbyBoMyB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICNmMWY1Zjk7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC53b3JrZXItbWV0YSB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgY29sb3I6ICM5NGEzYjg7XG59XG5cbi8qIFN0YXR1cyBiYWRnZXMgKi9cbi50aGVtZS1tb2Rlcm4tZGFyayAuc3RhdHVzLWJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiA2cHggMTJweDtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5zdGF0dXMtYmFkZ2Uub25saW5lIHtcbiAgYmFja2dyb3VuZDogcmdiYSgzNCwgMTk3LCA5NCwgMC4xNSk7XG4gIGNvbG9yOiAjNGFkZTgwO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLnN0YXR1cy1iYWRnZS5vZmZsaW5lIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNDgsIDExMywgMTEzLCAwLjE1KTtcbiAgY29sb3I6ICNmODcxNzE7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuc3RhdHVzLWJhZGdlLnVua25vd24ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1MiwgMjExLCA3NywgMC4xNSk7XG4gIGNvbG9yOiAjZmNkMzRkO1xufVxuXG4vKiBDYXBhYmlsaXR5IHRhZ3MgKi9cbi50aGVtZS1tb2Rlcm4tZGFyayAuY2FwYWJpbGl0aWVzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiA2cHg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXRvcDogOHB4O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmNhcGFiaWxpdHktdGFnIHtcbiAgYmFja2dyb3VuZDogcmdiYSgxMjUsIDIxMSwgMjUyLCAwLjEpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEyNSwgMjExLCAyNTIsIDAuMyk7XG4gIGNvbG9yOiAjN2RkM2ZjO1xuICBwYWRkaW5nOiAzcHggOHB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLyogRmVhdHVyZSByZWNvbW1lbmRhdGlvbnMgKi9cbi50aGVtZS1tb2Rlcm4tZGFyayAucmVjb21tZW5kYXRpb24tYm94IHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTEsIDE5MSwgMzYsIDAuMDUpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1MSwgMTkxLCAzNiwgMC4yKTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBwYWRkaW5nOiAxNnB4O1xuICBtYXJnaW4tdG9wOiAxNnB4O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLnJlY29tbWVuZGF0aW9uLWJveCBoMyB7XG4gIGNvbG9yOiAjZmNkMzRkO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuZmVhdHVyZS1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyNTBweCwgMWZyKSk7XG4gIGdhcDogOHB4O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmZlYXR1cmUtcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiA4cHggMTJweDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuZmVhdHVyZS1zdGF0dXMucmVjb21tZW5kZWQgeyBjb2xvcjogIzRhZGU4MDsgfVxuLnRoZW1lLW1vZGVybi1kYXJrIC5mZWF0dXJlLXN0YXR1cy5wb3NzaWJsZSB7IGNvbG9yOiAjZmNkMzRkOyB9XG4udGhlbWUtbW9kZXJuLWRhcmsgLmZlYXR1cmUtc3RhdHVzLm5vdF9yZWNvbW1lbmRlZCB7IGNvbG9yOiAjZjg3MTcxOyB9XG5cbi8qIEFkZCB3b3JrZXIgZm9ybSAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5hZGQtd29ya2VyLWZvcm0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDhweDtcbiAgbWFyZ2luLXRvcDogMTZweDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkZC13b3JrZXItZm9ybSBpbnB1dCB7XG4gIGJhY2tncm91bmQ6ICMwZjE3MmE7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM0NzU1Njk7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgY29sb3I6ICNlMmU4ZjA7XG4gIHBhZGRpbmc6IDEwcHggMTRweDtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkZC13b3JrZXItZm9ybSBpbnB1dDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogIzdkZDNmYztcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoMTI1LCAyMTEsIDI1MiwgMC4xNSk7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRkLXdvcmtlci1mb3JtIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICM3ZGQzZmM7XG4gIGNvbG9yOiAjMGYxNzJhO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkZC13b3JrZXItZm9ybSBidXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMzhiZGY4O1xufVxuXG4vKiBSZW1vdmUgd29ya2VyIGJ1dHRvbiAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5yZW1vdmUtYnRuIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4xKTtcbiAgY29sb3I6ICNmODcxNzE7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjM5LCA2OCwgNjgsIDAuMyk7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNnB4IDEycHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5yZW1vdmUtYnRuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4yKTtcbn1cblxuLyogSGVhZGVyIHJvdyB3aXRoIHJlZnJlc2ggKi9cbi50aGVtZS1tb2Rlcm4tZGFyayAuY2x1c3Rlci1oZWFkZXItcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogMTZweDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5jbHVzdGVyLWhlYWRlci1yb3cgaDEge1xuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjZjFmNWY5O1xuICBtYXJnaW46IDA7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAucmVmcmVzaC1idG4ge1xuICBiYWNrZ3JvdW5kOiAjMzM0MTU1O1xuICBjb2xvcjogI2UyZThmMDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzQ3NTU2OTtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBwYWRkaW5nOiA4cHggMTZweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5yZWZyZXNoLWJ0bjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM0NzU1Njk7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAubGFzdC1yZWZyZXNoIHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBjb2xvcjogIzY0NzQ4YjtcbiAgbWFyZ2luLWxlZnQ6IDEycHg7XG59XG5cbi8qIExvYWRpbmcgc3RhdGUgKi9cbi50aGVtZS1tb2Rlcm4tZGFyayAuY2x1c3Rlci1sb2FkaW5nIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiA2MHB4IDIwcHg7XG4gIGNvbG9yOiAjOTRhM2I4O1xuICBmb250LXNpemU6IDE2cHg7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuY2x1c3Rlci1sb2FkaW5nOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICM0NzU1Njk7XG4gIGJvcmRlci10b3AtY29sb3I6ICM3ZGQzZmM7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYW5pbWF0aW9uOiBzcGluIDFzIGxpbmVhciBpbmZpbml0ZTtcbiAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbkBrZXlmcmFtZXMgc3BpbiB7XG4gIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRVZFTlRTIFBBR0UgU1RZTEVTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBFdmVudCBjYXJkICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLmV2ZW50LWNhcmQge1xuICBiYWNrZ3JvdW5kOiAjMWUyOTNiO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMzM0MTU1O1xuICBwYWRkaW5nOiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBlYXNlO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmV2ZW50LWNhcmQ6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICM3ZGQzZmM7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuZXZlbnQtY2FyZC5leGNsdXNpdmUge1xuICBib3JkZXItbGVmdDogM3B4IHNvbGlkICNmODcxNzE7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuZXZlbnQtY2FyZC5oaWRkZW4ge1xuICBvcGFjaXR5OiAwLjY7XG59XG5cbi8qIEV2ZW50IG5hbWUgKi9cbi50aGVtZS1tb2Rlcm4tZGFyayAuZXZlbnQtbmFtZSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICNmMWY1Zjk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5ldmVudC1uYW1lOmhvdmVyIHtcbiAgY29sb3I6ICM3ZGQzZmM7XG59XG5cbi8qIEV2ZW50IGRhdGUgcmFuZ2UgKi9cbi50aGVtZS1tb2Rlcm4tZGFyayAuZXZlbnQtZGF0ZXMge1xuICBmb250LXNpemU6IDEzcHg7XG4gIGNvbG9yOiAjOTRhM2I4O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi8qIEV2ZW50IGRlc2NyaXB0aW9uICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLmV2ZW50LWRlc2NyaXB0aW9uIHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBjb2xvcjogI2NiZDVlMTtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4vKiBFdmVudCBiYWRnZXMgKi9cbi50aGVtZS1tb2Rlcm4tZGFyayAuZXZlbnQtYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDJweCA4cHg7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBtYXJnaW4tbGVmdDogOHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuZXZlbnQtYmFkZ2UtZXhjbHVzaXZlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNDgsIDExMywgMTEzLCAwLjIpO1xuICBjb2xvcjogI2Y4NzE3MTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNDgsIDExMywgMTEzLCAwLjMpO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmV2ZW50LWJhZGdlLWhpZGRlbiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4yKTtcbiAgY29sb3I6ICM5NGEzYjg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4zKTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5ldmVudC1iYWRnZS1waW4ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDQ1LCAyMTIsIDE5MSwgMC4yKTtcbiAgY29sb3I6ICMyZGQ0YmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNDUsIDIxMiwgMTkxLCAwLjMpO1xufVxuXG4vKiBFdmVudCBmb3JtIGlucHV0cyAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5ldmVudC1pbnB1dCB7XG4gIGJhY2tncm91bmQ6ICMwZjE3MmE7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMzMzQxNTU7XG4gIGNvbG9yOiAjZjFmNWY5O1xuICBwYWRkaW5nOiAxMHB4IDE0cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2U7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuZXZlbnQtaW5wdXQ6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICM3ZGQzZmM7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuZXZlbnQtaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM2NDc0OGI7XG59XG5cbi8qIEV2ZW50IGZvcm0gbGFiZWxzICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLmV2ZW50LWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICM5NGEzYjg7XG4gIG1hcmdpbi1ib3R0b206IDZweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xufVxuXG4vKiBFdmVudCBhY3Rpb24gYnV0dG9ucyAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5ldmVudC1hY3Rpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA4cHg7XG4gIG1hcmdpbi1sZWZ0OiAxNnB4O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmV2ZW50LWJ0biB7XG4gIHBhZGRpbmc6IDZweCAxMnB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5ldmVudC1idG4tdmlldyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTI1LCAyMTEsIDI1MiwgMC4xKTtcbiAgY29sb3I6ICM3ZGQzZmM7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI1LCAyMTEsIDI1MiwgMC4zKTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5ldmVudC1idG4tdmlldzpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTI1LCAyMTEsIDI1MiwgMC4yKTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5ldmVudC1idG4tdG9nZ2xlIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjOTRhM2I4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjNDc1NTY5O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmV2ZW50LWJ0bi10b2dnbGU6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMzM0MTU1O1xuICBjb2xvcjogI2YxZjVmOTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5ldmVudC1idG4tdG9nZ2xlLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjQ4LCAxMTMsIDExMywgMC4xKTtcbiAgY29sb3I6ICNmODcxNzE7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNDgsIDExMywgMTEzLCAwLjMpO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmV2ZW50LWJ0bi1kZWxldGUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjEpO1xuICBjb2xvcjogI2Y4NzE3MTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMzksIDY4LCA2OCwgMC4zKTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5ldmVudC1idG4tZGVsZXRlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4yKTtcbn1cblxuLyogQ3JlYXRlIGV2ZW50IGZvcm0gKi9cbi50aGVtZS1tb2Rlcm4tZGFyayAuZXZlbnQtY3JlYXRlLWZvcm0ge1xuICBiYWNrZ3JvdW5kOiAjMWUyOTNiO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMzM0MTU1O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHBhZGRpbmc6IDI0cHg7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuZXZlbnQtY3JlYXRlLWZvcm0gaDMge1xuICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICNmMWY1Zjk7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuZXZlbnQtZm9ybS1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiAxNnB4O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmV2ZW50LWZvcm0tcm93IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICBnYXA6IDE2cHg7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuZXZlbnQtZm9ybS1hY3Rpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAxMnB4O1xuICBtYXJnaW4tdG9wOiAxNnB4O1xufVxuXG4vKiBIZWxwIG1vZGFsICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLmV2ZW50cy1oZWxwLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjcpO1xuICB6LWluZGV4OiA5OTk7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuZXZlbnRzLWhlbHAtbW9kYWwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBiYWNrZ3JvdW5kOiAjMWUyOTNiO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMzM0MTU1O1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICBwYWRkaW5nOiAyNHB4O1xuICBtYXgtd2lkdGg6IDUwMHB4O1xuICBtYXgtaGVpZ2h0OiA4MHZoO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB6LWluZGV4OiAxMDAwO1xuICBib3gtc2hhZG93OiAwIDRweCAzMHB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5ldmVudHMtaGVscC1tb2RhbCBoMiB7XG4gIG1hcmdpbjogMCAwIDE2cHggMDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogI2YxZjVmOTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5ldmVudHMtaGVscC1tb2RhbCBoMyB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICNlMmU4ZjA7XG4gIG1hcmdpbjogMjBweCAwIDhweCAwO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmV2ZW50cy1oZWxwLW1vZGFsIHAsXG4udGhlbWUtbW9kZXJuLWRhcmsgLmV2ZW50cy1oZWxwLW1vZGFsIGxpIHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBjb2xvcjogIzk0YTNiODtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5ldmVudHMtaGVscC1tb2RhbCB1bCB7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKiBFbXB0eSBzdGF0ZSAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5ldmVudHMtZW1wdHkge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDYwcHggMjBweDtcbiAgY29sb3I6ICM2NDc0OGI7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuZXZlbnRzLWVtcHR5IHAge1xuICBtYXJnaW46IDhweCAwO1xufVxuXG4vKiBFdmVudCBoZWFkZXIgKi9cbi50aGVtZS1tb2Rlcm4tZGFyayAuZXZlbnRzLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5ldmVudHMtY291bnQge1xuICBjb2xvcjogIzk0YTNiODtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQURNSU4gR0FMTEVSWSBVTklGSUVEIERFU0lHTiBTWVNURU1cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb25zb2xpZGF0ZXMgdGhlIHJhaW5ib3cgYm9yZGVyIGNoYW9zIGludG8gYSBjb2hlc2l2ZSAzLWNvbG9yIGhpZXJhcmNoeS5cbiAgIFJlcGxhY2VzIGlubGluZSBzdHlsZXMgaW4gYWRtaW5fbGl2ZS5odG1sLmhlZXggd2l0aCBwcm9wZXIgQ1NTIGNsYXNzZXMuXG5cbiAgIENvbG9yIFBhbGV0dGU6XG4gICAtIFByaW1hcnkgKEN5YW4pOiAjN2RkM2ZjIC0gTWFpbiBjb250cm9scywgYWN0aXZlIHN0YXRlc1xuICAgLSBTZWNvbmRhcnkgKEdyZWVuKTogIzRhZGU4MCAtIFN1Y2Nlc3Mgc3RhdGVzLCBjb25maXJtYXRpb25zXG4gICAtIFRlcnRpYXJ5IChBbWJlcik6ICNmYmJmMjQgLSBXYXJuaW5ncywgc3BlY2lhbCBtb2Rlc1xuICAgLSBEYW5nZXIgKFJlZCk6ICNmODcxNzEgLSBEZXN0cnVjdGl2ZSBhY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuLyogQWRtaW4gQ29sb3IgVmFyaWFibGVzICovXG4uYWRtaW4tcGFnZSB7XG4gIC0tYWRtaW4tYmc6ICMwZjE3MmE7XG4gIC0tYWRtaW4tc3VyZmFjZTogIzFlMjkzYjtcbiAgLS1hZG1pbi1zdXJmYWNlLWVsZXZhdGVkOiAjMzM0MTU1O1xuICAtLWFkbWluLWJvcmRlcjogIzQ3NTU2OTtcbiAgLS1hZG1pbi10ZXh0OiAjZTJlOGYwO1xuICAtLWFkbWluLXRleHQtbXV0ZWQ6ICM5NGEzYjg7XG4gIC0tYWRtaW4tdGV4dC1kaW06ICM2NDc0OGI7XG5cbiAgLyogQWNjZW50IENvbG9ycyAtIDMtY29sb3IgaGllcmFyY2h5ICovXG4gIC0tYWRtaW4tYWNjZW50LXByaW1hcnk6ICM3ZGQzZmM7ICAgIC8qIEN5YW4gLSBtYWluIGFjdGlvbnMgKi9cbiAgLS1hZG1pbi1hY2NlbnQtc2Vjb25kYXJ5OiAjNGFkZTgwOyAgLyogR3JlZW4gLSBzdWNjZXNzL2FjdGl2ZSAqL1xuICAtLWFkbWluLWFjY2VudC10ZXJ0aWFyeTogI2ZiYmYyNDsgICAvKiBBbWJlciAtIHdhcm5pbmdzL3NwZWNpYWwgKi9cbiAgLS1hZG1pbi1hY2NlbnQtZGFuZ2VyOiAjZjg3MTcxOyAgICAgLyogUmVkIC0gZGVzdHJ1Y3RpdmUgKi9cblxuICAvKiBBY2NlbnQgQmFja2dyb3VuZHMgKDEwJSBvcGFjaXR5KSAqL1xuICAtLWFkbWluLWFjY2VudC1wcmltYXJ5LWJnOiByZ2JhKDEyNSwgMjExLCAyNTIsIDAuMSk7XG4gIC0tYWRtaW4tYWNjZW50LXNlY29uZGFyeS1iZzogcmdiYSg3NCwgMjIyLCAxMjgsIDAuMSk7XG4gIC0tYWRtaW4tYWNjZW50LXRlcnRpYXJ5LWJnOiByZ2JhKDI1MSwgMTkxLCAzNiwgMC4xKTtcbiAgLS1hZG1pbi1hY2NlbnQtZGFuZ2VyLWJnOiByZ2JhKDI0OCwgMTEzLCAxMTMsIDAuMSk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBBZG1pbiBTZWN0aW9uIENhcmRzIC0gVW5pZmllZCBCb3JkZXIgSGllcmFyY2h5XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuLmFkbWluLXNlY3Rpb24tLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1hZG1pbi1hY2NlbnQtcHJpbWFyeSk7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgcGFkZGluZzogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLmFkbWluLXNlY3Rpb24tLXNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLWFkbWluLWFjY2VudC1zZWNvbmRhcnkpO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5hZG1pbi1zZWN0aW9uLS10ZXJ0aWFyeSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLWFkbWluLWFjY2VudC10ZXJ0aWFyeSk7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgcGFkZGluZzogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLmFkbWluLXNlY3Rpb24tLWRhbmdlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1hY2NlbnQtZGFuZ2VyKTtcbiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1hZG1pbi1hY2NlbnQtZGFuZ2VyKTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBwYWRkaW5nOiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4uYWRtaW4tc2VjdGlvbi0tbmV1dHJhbCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi8qIFNlY3Rpb24gSGVhZGVycyAqL1xuLmFkbWluLXNlY3Rpb25fX2hlYWRlciB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTJweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG59XG5cbi5hZG1pbi1zZWN0aW9uLS1wcmltYXJ5IC5hZG1pbi1zZWN0aW9uX19oZWFkZXIge1xuICBjb2xvcjogdmFyKC0tYWRtaW4tYWNjZW50LXByaW1hcnkpO1xufVxuXG4uYWRtaW4tc2VjdGlvbi0tc2Vjb25kYXJ5IC5hZG1pbi1zZWN0aW9uX19oZWFkZXIge1xuICBjb2xvcjogdmFyKC0tYWRtaW4tYWNjZW50LXNlY29uZGFyeSk7XG59XG5cbi5hZG1pbi1zZWN0aW9uLS10ZXJ0aWFyeSAuYWRtaW4tc2VjdGlvbl9faGVhZGVyIHtcbiAgY29sb3I6IHZhcigtLWFkbWluLWFjY2VudC10ZXJ0aWFyeSk7XG59XG5cbi5hZG1pbi1zZWN0aW9uLS1kYW5nZXIgLmFkbWluLXNlY3Rpb25fX2hlYWRlciB7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1hY2NlbnQtZGFuZ2VyKTtcbn1cblxuLyogU2VjdGlvbiBEZXNjcmlwdGlvbiAqL1xuLmFkbWluLXNlY3Rpb25fX2Rlc2Mge1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbiAgbWFyZ2luOiA4cHggMCAxNnB4IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBBZG1pbiBCdXR0b25zIC0gVW5pZmllZCBTdHlsaW5nXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuLmFkbWluLWJ0bi0tcHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWFjY2VudC1wcmltYXJ5KTtcbiAgY29sb3I6IHZhcigtLWFkbWluLWJnKTtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZTtcbn1cblxuLmFkbWluLWJ0bi0tcHJpbWFyeTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMzOGJkZjg7XG59XG5cbi5hZG1pbi1idG4tLXNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UtZWxldmF0ZWQpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XG59XG5cbi5hZG1pbi1idG4tLXNlY29uZGFyeTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM0NzU1Njk7XG4gIGJvcmRlci1jb2xvcjogIzY0NzQ4Yjtcbn1cblxuLmFkbWluLWJ0bi0tc3VjY2VzcyB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWFjY2VudC1zZWNvbmRhcnkpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tYmcpO1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmFkbWluLWJ0bi0tc3VjY2Vzczpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMyMmM1NWU7XG59XG5cbi5hZG1pbi1idG4tLXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1hY2NlbnQtdGVydGlhcnktYmcpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tYWNjZW50LXRlcnRpYXJ5KTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYWNjZW50LXRlcnRpYXJ5KTtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uYWRtaW4tYnRuLS13YXJuaW5nOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTEsIDE5MSwgMzYsIDAuMik7XG59XG5cbi5hZG1pbi1idG4tLWRhbmdlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWFjY2VudC1kYW5nZXItYmcpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tYWNjZW50LWRhbmdlcik7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjQ4LCAxMTMsIDExMywgMC4zKTtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uYWRtaW4tYnRuLS1kYW5nZXI6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI0OCwgMTEzLCAxMTMsIDAuMik7XG59XG5cbi8qIFRvZ2dsZSBidXR0b24gYWN0aXZlIHN0YXRlcyAqL1xuLmFkbWluLWJ0bi0tdG9nZ2xlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VyZmFjZSk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG59XG5cbi5hZG1pbi1idG4tLXRvZ2dsZS5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1hY2NlbnQtc2Vjb25kYXJ5LWJnKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLWFjY2VudC1zZWNvbmRhcnkpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWFkbWluLWFjY2VudC1zZWNvbmRhcnkpO1xufVxuXG4uYWRtaW4tYnRuLS10b2dnbGUuYWN0aXZlLXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1hY2NlbnQtdGVydGlhcnktYmcpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tYWNjZW50LXRlcnRpYXJ5KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1hY2NlbnQtdGVydGlhcnkpO1xufVxuXG4uYWRtaW4tYnRuLS10b2dnbGUuYWN0aXZlLWRhbmdlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWFjY2VudC1kYW5nZXItYmcpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tYWNjZW50LWRhbmdlcik7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWRtaW4tYWNjZW50LWRhbmdlcik7XG59XG5cbi8qIFN0YXR1cyBpbmRpY2F0b3IgZG90ICovXG4uYWRtaW4tc3RhdHVzLWRvdCB7XG4gIHdpZHRoOiA4cHg7XG4gIGhlaWdodDogOHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXRleHQtZGltKTtcbn1cblxuLmFkbWluLXN0YXR1cy1kb3QuYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYWNjZW50LXNlY29uZGFyeSk7XG59XG5cbi5hZG1pbi1zdGF0dXMtZG90Lndhcm5pbmcge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1hY2NlbnQtdGVydGlhcnkpO1xuICBhbmltYXRpb246IHB1bHNlIDFzIGluZmluaXRlO1xufVxuXG4uYWRtaW4tc3RhdHVzLWRvdC5kYW5nZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1hY2NlbnQtZGFuZ2VyKTtcbiAgYW5pbWF0aW9uOiBwdWxzZSAxcyBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyBwdWxzZSB7XG4gIDAlLCAxMDAlIHsgb3BhY2l0eTogMTsgfVxuICA1MCUgeyBvcGFjaXR5OiAwLjU7IH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRoZW1lIFNlbGVjdG9yIEJ1dHRvbnMgLSBVbmlmaWVkIEdyaWRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4uYWRtaW4tdGhlbWUtZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gIGdhcDogOHB4O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmFkbWluLXRoZW1lLWdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gIH1cbn1cblxuLmFkbWluLXRoZW1lLWJ0biB7XG4gIHBhZGRpbmc6IDEycHggOHB4O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VyZmFjZSk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbn1cblxuLmFkbWluLXRoZW1lLWJ0bjpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWRtaW4tYm9yZGVyKTtcbn1cblxuLmFkbWluLXRoZW1lLWJ0bi5zZWxlY3RlZCB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWRtaW4tYWNjZW50LXByaW1hcnkpO1xuICBib3gtc2hhZG93OiAwIDAgMTJweCByZ2JhKDEyNSwgMjExLCAyNTIsIDAuMyk7XG59XG5cbi8qIFRoZW1lLXNwZWNpZmljIGNvbG9ycyAoYXBwbGllZCB2aWEgZGF0YSBhdHRyaWJ1dGUgb3IgaW5saW5lKSAqL1xuLmFkbWluLXRoZW1lLWJ0bltkYXRhLXRoZW1lPVwia29kYWtcIl0geyBiYWNrZ3JvdW5kOiAjZmJiZjI0OyBjb2xvcjogI2RjMjYyNjsgfVxuLmFkbWluLXRoZW1lLWJ0bltkYXRhLXRoZW1lPVwiZnVqaVwiXSB7IGJhY2tncm91bmQ6ICMwMDZiM2M7IGNvbG9yOiAjZmZmOyB9XG4uYWRtaW4tdGhlbWUtYnRuW2RhdGEtdGhlbWU9XCJwb2xhcm9pZFwiXSB7IGJhY2tncm91bmQ6ICNmNWY1ZjU7IGNvbG9yOiAjMzMzOyB9XG4uYWRtaW4tdGhlbWUtYnRuW2RhdGEtdGhlbWU9XCJub2lyXCJdIHsgYmFja2dyb3VuZDogIzAwMDsgY29sb3I6ICNmZmY7IH1cbi5hZG1pbi10aGVtZS1idG5bZGF0YS10aGVtZT1cInBsYXlib3lcIl0geyBiYWNrZ3JvdW5kOiAjMDAwOyBjb2xvcjogI2Q0YWYzNzsgfVxuLmFkbWluLXRoZW1lLWJ0bltkYXRhLXRoZW1lPVwicGVudGhvdXNlXCJdIHsgYmFja2dyb3VuZDogIzFhMWEyZTsgY29sb3I6ICNjOWEyMjc7IH1cbi5hZG1pbi10aGVtZS1idG5bZGF0YS10aGVtZT1cImh1c3RsZXJcIl0geyBiYWNrZ3JvdW5kOiAjOGIwMDAwOyBjb2xvcjogI2ZmZDcwMDsgfVxuLmFkbWluLXRoZW1lLWJ0bltkYXRhLXRoZW1lPVwiaW5zdGFncmFtXCJdIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCAjZjA5NDMzLCAjZTY2ODNjLCAjZGMyNzQzLCAjY2MyMzY2LCAjYmMxODg4KTtcbiAgY29sb3I6ICNmZmY7XG59XG4uYWRtaW4tdGhlbWUtYnRuW2RhdGEtdGhlbWU9XCJ3ZWIxXCJdIHsgYmFja2dyb3VuZDogI2MwYzBjMDsgY29sb3I6ICMwMDAwODA7IH1cbi5hZG1pbi10aGVtZS1idG5bZGF0YS10aGVtZT1cInd3MlwiXSB7IGJhY2tncm91bmQ6ICMyZDJhMWY7IGNvbG9yOiAjZDRjOWE4OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBBZG1pbiBTdGF0cyBHcmlkXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuLmFkbWluLXN0YXRzLXJvdyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gIGdhcDogMTJweDtcbiAgbWFyZ2luOiAxNnB4IDA7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuYWRtaW4tc3RhdHMtcm93IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICB9XG59XG5cbi5hZG1pbi1zdGF0IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYmcpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDEycHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmFkbWluLXN0YXRfX2xhYmVsIHtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1kaW0pO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbn1cblxuLmFkbWluLXN0YXRfX3ZhbHVlIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tYWNjZW50LXByaW1hcnkpO1xufVxuXG4uYWRtaW4tc3RhdF9fdmFsdWUuc3VjY2VzcyB7IGNvbG9yOiB2YXIoLS1hZG1pbi1hY2NlbnQtc2Vjb25kYXJ5KTsgfVxuLmFkbWluLXN0YXRfX3ZhbHVlLndhcm5pbmcgeyBjb2xvcjogdmFyKC0tYWRtaW4tYWNjZW50LXRlcnRpYXJ5KTsgfVxuLmFkbWluLXN0YXRfX3ZhbHVlLmRhbmdlciB7IGNvbG9yOiB2YXIoLS1hZG1pbi1hY2NlbnQtZGFuZ2VyKTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQWRtaW4gVHlwb2dyYXBoeSBTY2FsZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1pbmltdW0gMTJweCBmb3IgcmVhZGFiaWxpdHkuIEJhc2UgMTRweC5cbiovXG5cbi5hZG1pbi1wYWdlIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4uYWRtaW4tdGV4dC14cyB7IGZvbnQtc2l6ZTogMTJweDsgfSAgLyogTWluaW11bSAqL1xuLmFkbWluLXRleHQtc20geyBmb250LXNpemU6IDEzcHg7IH1cbi5hZG1pbi10ZXh0LWJhc2UgeyBmb250LXNpemU6IDE0cHg7IH1cbi5hZG1pbi10ZXh0LWxnIHsgZm9udC1zaXplOiAxNnB4OyB9XG4uYWRtaW4tdGV4dC14bCB7IGZvbnQtc2l6ZTogMThweDsgfVxuXG4uYWRtaW4tdGV4dC1tdXRlZCB7IGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTsgfVxuLmFkbWluLXRleHQtZGltIHsgY29sb3I6IHZhcigtLWFkbWluLXRleHQtZGltKTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQWRtaW4gRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4uYWRtaW4taW5wdXQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1iZyk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogMTBweCAxNHB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZG1pbi1pbnB1dDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWRtaW4tYWNjZW50LXByaW1hcnkpO1xuICBib3gtc2hhZG93OiAwIDAgMCAzcHggdmFyKC0tYWRtaW4tYWNjZW50LXByaW1hcnktYmcpO1xufVxuXG4uYWRtaW4taW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtZGltKTtcbn1cblxuLmFkbWluLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpO1xuICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjNweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEFkbWluIEJ1dHRvbiBHcmlkICgzLWNvbCBsYXlvdXQgZm9yIGNvbnRyb2xzKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi5hZG1pbi1idG4tZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gIGdhcDogMTJweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5hZG1pbi1idG4tZ3JpZCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1vYmlsZSBSZXNwb25zaXZlIEFkanVzdG1lbnRzIChwZXIgR2VtaW5pIGRlc2lnbiByZXZpZXcpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5hZG1pbi1wYWdlIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cblxuICAuYWRtaW4tc2VjdGlvbl9faGVhZGVyIHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gIH1cblxuICAuYWRtaW4tYnRuLS1wcmltYXJ5LFxuICAuYWRtaW4tYnRuLS1zZWNvbmRhcnksXG4gIC5hZG1pbi1idG4tLXRvZ2dsZSB7XG4gICAgcGFkZGluZzogMTRweCAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBtaW4taGVpZ2h0OiA0OHB4O1xuICB9XG5cbiAgLmFkbWluLWlucHV0IHtcbiAgICBwYWRkaW5nOiAxNHB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBtaW4taGVpZ2h0OiA0OHB4O1xuICB9XG5cbiAgLyogQWRtaW4gbmF2OiB3cmFwIGFuZCBzdGFjayBvbiBtb2JpbGUgKi9cbiAgLmFkbWluLW5hdixcbiAgLnRoZW1lLW1vZGVybiAuYWRtaW4tbmF2LFxuICAudGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLW5hdiB7XG4gICAgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogOHB4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgZ2FwOiAycHg7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC5hZG1pbi1uYXYtYnJhbmQsXG4gIC50aGVtZS1tb2Rlcm4gLmFkbWluLW5hdi1icmFuZCxcbiAgLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1uYXYtYnJhbmQge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDhweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yaWdodDogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDEyOCwxMjgsMTI4LDAuMik7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC5hZG1pbi1uYXYtaXRlbSxcbiAgLnRoZW1lLW1vZGVybiAuYWRtaW4tbmF2LWl0ZW0sXG4gIC50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tbmF2LWl0ZW0ge1xuICAgIHBhZGRpbmc6IDZweCA4cHggIWltcG9ydGFudDtcbiAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgIGZvbnQtc2l6ZTogMTFweCAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cblxuICAuYWRtaW4tbmF2LXNwYWNlcixcbiAgLnRoZW1lLW1vZGVybiAuYWRtaW4tbmF2LXNwYWNlcixcbiAgLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1uYXYtc3BhY2VyIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWRtaW4tbmF2LWJhY2ssXG4gIC50aGVtZS1tb2Rlcm4gLmFkbWluLW5hdi1iYWNrLFxuICAudGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLW5hdi1iYWNrIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgcGFkZGluZzogOHB4ICFpbXBvcnRhbnQ7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8qIFByZXZlbnQgaG9yaXpvbnRhbCBvdmVyZmxvdyAqL1xuICAuYWRtaW4tcGFnZSxcbiAgYm9keSB7XG4gICAgbWF4LXdpZHRoOiAxMDB2dyAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbiAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFkbWluLWNvbnRlbnQsXG4gIC50aGVtZS1tb2Rlcm4gLmFkbWluLWNvbnRlbnQsXG4gIC50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tY29udGVudCB7XG4gICAgcGFkZGluZzogOHB4ICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvKiBTZWN0aW9uczogZnVsbCB3aWR0aCwgbGVzcyBwYWRkaW5nICovXG4gIC5hZG1pbi1zZWN0aW9uIHtcbiAgICBwYWRkaW5nOiAxMnB4O1xuICAgIG1hcmdpbjogOHB4IDA7XG4gIH1cblxuICAvKiBHcmlkczogc2luZ2xlIGNvbHVtbiAqL1xuICAuYWRtaW4tc3RhdHMtZ3JpZCxcbiAgLmNsdXN0ZXItc3RhdHMtZ3JpZCxcbiAgLmFkbWluLWJ1dHRvbi1ncm91cCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8qIEltYWdlIGdyaWQ6IDIgY29sdW1ucyBvbiBtb2JpbGUgKi9cbiAgLmFkbWluLWltYWdlLWdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcikgIWltcG9ydGFudDtcbiAgICBnYXA6IDhweDtcbiAgfVxuXG4gIC8qIFRhYmxlczogaG9yaXpvbnRhbCBzY3JvbGwgKi9cbiAgLmFkbWluLXRhYmxlLXdyYXBwZXIge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICB9XG5cbiAgLyogVkhTIGNvbnRyb2xzOiBzdGFjayAqL1xuICAudmhzLWNvbnRyb2xzIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogOHB4O1xuICB9XG5cbiAgLnZocy1jb250cm9sIHtcbiAgICBtaW4taGVpZ2h0OiA0NHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLyogTEVEIGRpc3BsYXlzOiBzbWFsbGVyIG9uIG1vYmlsZSAqL1xuICAubGVkLWRpc3BsYXkge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBwYWRkaW5nOiA0cHggOHB4O1xuICB9XG5cbiAgLyogRmxvcHB5IGxhYmVsczogc3RhY2sgKi9cbiAgLmZsb3BweS1ncmlkIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qIFV0aWxpdHk6IGZsZXgtMSAqL1xuLmZsZXgtMSB7IGZsZXg6IDE7IH1cbiIsICIvKiBBSSBDb2xsYWIgRGFzaGJvYXJkIC0gSE4tU3R5bGUgKi9cbi8qIEV4dHJhY3RlZCBmcm9tIGFpX2NvbGxhYl9saXZlLmV4IGZvciBiZXR0ZXIgY2FjaGluZyAqL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogUGFnZSBMYXlvdXQgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5obi1wYWdlIHtcbiAgYmFja2dyb3VuZDogI2Y2ZjZlZjtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIGZvbnQtZmFtaWx5OiBWZXJkYW5hLCBHZW5ldmEsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTBwdDtcbn1cblxuLmhuLWNvbnRlbnQge1xuICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDEwcHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBIZWFkZXIgJiBOYXZpZ2F0aW9uICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uaG4taGVhZGVyIHtcbiAgYmFja2dyb3VuZDogI2ZmNjYwMDtcbiAgcGFkZGluZzogMnB4IDEwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTBweDtcbn1cblxuLmhuLWxvZ28ge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMTFwdDtcbn1cblxuLmhuLW5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogOHB4O1xuICBmbGV4OiAxO1xufVxuXG4uaG4tbmF2IGEsXG4uaG4tdGFiIHtcbiAgY29sb3I6ICMwMDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nOiAycHggNnB4O1xufVxuXG4uaG4tdGFiLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbn1cblxuLmhuLXRhYjpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uaG4tdXNlciB7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogQ2xvY2sgQmFyICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uaG4tY2xvY2stYmFyIHtcbiAgYmFja2dyb3VuZDogI2YwZjBlODtcbiAgcGFkZGluZzogNnB4IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDJweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgZ2FwOiAxMHB4O1xuICBmb250LXNpemU6IDlwdDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMGUwZDg7XG59XG5cbi5obi1jbG9jayB7XG4gIGZvbnQtZmFtaWx5OiAnQ291cmllciBOZXcnLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMTFwdDtcbiAgY29sb3I6ICMzMzM7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG59XG5cbi5obi10ei1zZWxlY3Qge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBwYWRkaW5nOiAycHggNnB4O1xuICBmb250LXNpemU6IDhwdDtcbiAgY29sb3I6ICM2NjY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xufVxuXG4uaG4tdHotc2VsZWN0OmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmY2NjAwO1xufVxuXG4uaG4tdHotc2VsZWN0OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiAjZmY2NjAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogU3RhdHMgQmFyIC0gQ2xpY2thYmxlICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uaG4tc3RhdHMge1xuICBiYWNrZ3JvdW5kOiAjZjBmMGU4O1xuICBwYWRkaW5nOiA4cHggMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAyMHB4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZvbnQtc2l6ZTogOXB0O1xuICBjb2xvcjogIzY2Njtcbn1cblxuLmhuLXN0YXQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDRweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nOiAycHggNnB4O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXM7XG59XG5cbi5obi1zdGF0OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbn1cblxuLmhuLXN0YXQuYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDEwMiwgMCwgMC4xNSk7XG59XG5cbi5obi1zdGF0LWxhYmVsIHtcbiAgY29sb3I6ICM4ODg7XG59XG5cbi5obi1zdGF0LXZhbCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uaG4tc3RhdC12YWwuY2xhdWRlIHtcbiAgY29sb3I6ICM2MzY2ZjE7XG59XG5cbi5obi1zdGF0LXZhbC5nZW1pbmkge1xuICBjb2xvcjogIzA1OTY2OTtcbn1cblxuLmhuLXN0YXQtdmFsLmtpbWkge1xuICBjb2xvcjogIzdjM2FlZDtcbn1cblxuLmhuLXN0YXQtdmFsLmdwdCB7XG4gIGNvbG9yOiAjZjk3MzE2O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogQ3ljbGUgU3RhdHVzIEJhbm5lciAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmhuLWN5Y2xlIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZjYztcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZiODtcbiAgcGFkZGluZzogOHB4IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTBweDtcbn1cblxuLmhuLWN5Y2xlLndhaXRpbmcge1xuICBiYWNrZ3JvdW5kOiAjZmZmM2NkO1xuICBib3JkZXItY29sb3I6ICNmZmMxMDc7XG59XG5cbi5obi1jeWNsZS1pY29uIHtcbiAgZm9udC1zaXplOiAxNHB0O1xufVxuXG4uaG4tY3ljbGUtdGV4dCB7XG4gIGZsZXg6IDE7XG4gIGZvbnQtc2l6ZTogOXB0O1xufVxuXG4uaG4tY3ljbGUtdGV4dCBzdHJvbmcge1xuICBjb2xvcjogI2I0NTMwOTtcbn1cblxuLmhuLWN5Y2xlLWJ0biB7XG4gIGJhY2tncm91bmQ6ICNmZjY2MDA7XG4gIGNvbG9yOiAjZmZmO1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDRweCAxMnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogOXB0O1xufVxuXG4uaG4tY3ljbGUtYnRuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2U1NWMwMDtcbn1cblxuLmhuLWN5Y2xlLWJ0bi5yZXNldCB7XG4gIGJhY2tncm91bmQ6ICM4ODg7XG59XG5cbi5obi1jeWNsZS1idG4udHJpZ2dlciB7XG4gIGJhY2tncm91bmQ6ICMyMmM1NWU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uaG4tY3ljbGUtYnRuLnRyaWdnZXI6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMTZhMzRhO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogVGFicyAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmhuLXRhYnMge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UwZTBkODtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAwO1xufVxuXG4uaG4tdGFiLWJ0biB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiA4cHggMTZweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDEwcHQ7XG4gIGNvbG9yOiAjNjY2O1xufVxuXG4uaG4tdGFiLWJ0bjpob3ZlciB7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4uaG4tdGFiLWJ0bi5hY3RpdmUge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmY2NjAwO1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBUaHJlYWQgVmlldyAtIEhOIFN0eWxlICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uaG4tdGhyZWFkIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2UwZTBkODtcbn1cblxuLmhuLW1zZyB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjBmMGU4O1xuICBwYWRkaW5nOiA4cHggMTBweDtcbn1cblxuLmhuLW1zZzpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLmhuLW1zZy1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDZweDtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICBmb250LXNpemU6IDhwdDtcbiAgY29sb3I6ICM4ODg7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4uaG4tbXNnLWF1dGhvciB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uaG4tbXNnLWF1dGhvci5jbGF1ZGUge1xuICBjb2xvcjogIzYzNjZmMTtcbn1cblxuLmhuLW1zZy1hdXRob3IuZ2VtaW5pIHtcbiAgY29sb3I6ICMwNTk2Njk7XG59XG5cbi5obi1tc2ctYXV0aG9yLmtpbWkge1xuICBjb2xvcjogIzdjM2FlZDtcbn1cblxuLmhuLW1zZy1hdXRob3IuZ3B0IHtcbiAgY29sb3I6ICNmOTczMTY7XG59XG5cbi5obi1tc2ctdG8ge1xuICBjb2xvcjogIzk5OTtcbn1cblxuLmhuLW1zZy10aW1lIHtcbiAgY29sb3I6ICM5OTk7XG59XG5cbi5obi1tc2ctc3ViamVjdCB7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDEwcHQ7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbn1cblxuLmhuLW1zZy1zdWJqZWN0IGEge1xuICBjb2xvcjogIzAwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uaG4tbXNnLXN1YmplY3QgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uaG4tbXNnLWJvZHkge1xuICBmb250LXNpemU6IDlwdDtcbiAgY29sb3I6ICM0NDQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1heC1oZWlnaHQ6IDEwMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uaG4tbXNnLWJvZHkuZXhwYW5kZWQge1xuICBtYXgtaGVpZ2h0OiBub25lO1xufVxuXG4uaG4tbXNnLXRvZ2dsZSB7XG4gIGZvbnQtc2l6ZTogOHB0O1xuICBjb2xvcjogIzg4ODtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBtYXJnaW4tdG9wOiA0cHg7XG59XG5cbi5obi1tc2ctdG9nZ2xlOmhvdmVyIHtcbiAgY29sb3I6ICMwMDA7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogUHJvcG9zYWxzIExpc3QgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5obi1wcm9wb3NhbHMge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTBlMGQ4O1xufVxuXG4uaG4tcHJvcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMTBweDtcbiAgcGFkZGluZzogNnB4IDEwcHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjBmMGU4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uaG4tcHJvcDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLmhuLXByb3Atc3RhdHVzIHtcbiAgZm9udC1zaXplOiA3cHQ7XG4gIHBhZGRpbmc6IDJweCA2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5obi1wcm9wLXN0YXR1cy5hcHByb3ZlZCB7XG4gIGJhY2tncm91bmQ6ICNkNGVkZGE7XG4gIGNvbG9yOiAjMTU1NzI0O1xufVxuXG4uaG4tcHJvcC1zdGF0dXMucmVhZHkge1xuICBiYWNrZ3JvdW5kOiAjZmZmM2NkO1xuICBjb2xvcjogIzg1NjQwNDtcbn1cblxuLmhuLXByb3Atc3RhdHVzLmRyYWZ0IHtcbiAgYmFja2dyb3VuZDogI2UyZTNlNTtcbiAgY29sb3I6ICMzODNkNDE7XG59XG5cbi5obi1wcm9wLW5hbWUge1xuICBmbGV4OiAxO1xuICBmb250LXNpemU6IDlwdDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi5obi1wcm9wLXByaW9yaXR5IHtcbiAgZm9udC1zaXplOiA4cHQ7XG4gIGNvbG9yOiAjNjY2O1xufVxuXG4uaG4tcHJvcC1kYXRlIHtcbiAgZm9udC1zaXplOiA4cHQ7XG4gIGNvbG9yOiAjOTk5O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogVE9ET3MgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5obi10b2RvcyB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlMGUwZDg7XG59XG5cbi5obi10b2RvIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiA4cHg7XG4gIHBhZGRpbmc6IDZweCAxMHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YwZjBlODtcbiAgZm9udC1zaXplOiA5cHQ7XG59XG5cbi5obi10b2RvOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4uaG4tdG9kby1jaGVjayB7XG4gIGNvbG9yOiAjODg4O1xufVxuXG4uaG4tdG9kby10ZXh0IHtcbiAgZmxleDogMTtcbiAgY29sb3I6ICM0NDQ7XG59XG5cbi5obi10b2RvLXNyYyB7XG4gIGZvbnQtc2l6ZTogOHB0O1xuICBjb2xvcjogIzk5OTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEVtcHR5IFN0YXRlICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uaG4tZW1wdHkge1xuICBwYWRkaW5nOiAyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjODg4O1xuICBmb250LXNpemU6IDlwdDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFBJTiBGb3JtICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uaG4tcGluLWZvcm0ge1xuICBtYXgtd2lkdGg6IDMwMHB4O1xuICBtYXJnaW46IDUwcHggYXV0bztcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2UwZTBkODtcbiAgcGFkZGluZzogMjBweDtcbn1cblxuLmhuLXBpbi1mb3JtIGgyIHtcbiAgZm9udC1zaXplOiAxMnB0O1xuICBtYXJnaW46IDAgMCAxMHB4IDA7XG59XG5cbi5obi1waW4tZm9ybSBpbnB1dCB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiA4cHg7XG4gIG1hcmdpbjogMTBweCAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBmb250LXNpemU6IDEycHQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmhuLXBpbi1mb3JtIGJ1dHRvbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZmY2NjAwO1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAxMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMTBwdDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEZpbHRlciBCYW5uZXIgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5obi1maWx0ZXItYmFubmVyIHtcbiAgcGFkZGluZzogOHB4IDEwcHg7XG4gIGJhY2tncm91bmQ6ICNmZmYzY2Q7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZmMxMDc7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGZvbnQtc2l6ZTogOXB0O1xufVxuXG4uaG4tZmlsdGVyLWNsZWFyIHtcbiAgY29sb3I6ICNmZjY2MDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG59XG5cbi5obi1maWx0ZXItY2xlYXI6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFN5bmMgU3RhdHVzIENhcmRzIChwZXIgR2VtaW5pJ3MgZGVzaWduIHNwZWMpICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uaG4tc3luYy1jYXJkcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4uaG4tc3luYy1jYXJkIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2UwZTBkODtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIG1pbi13aWR0aDogMTQwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XG59XG5cbi5obi1zeW5jLWNhcmQ6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICNmZjY2MDA7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsMCwwLDAuMSk7XG59XG5cbi5obi1zeW5jLWNhcmQuc3luY2VkIHtcbiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjMjJjNTVlO1xufVxuXG4uaG4tc3luYy1jYXJkLmJlaGluZCB7XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2Y1OWUwYjtcbiAgYmFja2dyb3VuZDogI2ZmZmJlYjtcbn1cblxuLmhuLXN5bmMtY2FyZC5vZmZsaW5lIHtcbiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjZWY0NDQ0O1xuICBiYWNrZ3JvdW5kOiAjZmVmMmYyO1xufVxuXG4uaG4tc3luYy1ib3Qge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAxMHB0O1xuICBtYXJnaW4tYm90dG9tOiA0cHg7XG59XG5cbi5obi1zeW5jLWNhcmQ6bnRoLWNoaWxkKDEpIC5obi1zeW5jLWJvdCB7IGNvbG9yOiAjM2I4MmY2OyB9ICAvKiBDbGF1ZGUgLSBCbHVlICovXG4uaG4tc3luYy1jYXJkOm50aC1jaGlsZCgyKSAuaG4tc3luYy1ib3QgeyBjb2xvcjogIzIyYzU1ZTsgfSAgLyogR2VtaW5pIC0gR3JlZW4gKi9cbi5obi1zeW5jLWNhcmQ6bnRoLWNoaWxkKDMpIC5obi1zeW5jLWJvdCB7IGNvbG9yOiAjYTg1NWY3OyB9ICAvKiBLaW1pIC0gUHVycGxlICovXG5cbi5obi1zeW5jLXN0YXR1cyB7XG4gIGZvbnQtc2l6ZTogOXB0O1xuICBtYXJnaW4tYm90dG9tOiAycHg7XG59XG5cbi5obi1zeW5jLXN0YXR1cy5zeW5jZWQge1xuICBjb2xvcjogIzE2YTM0YTtcbn1cblxuLmhuLXN5bmMtc3RhdHVzLmJlaGluZCB7XG4gIGNvbG9yOiAjZDk3NzA2O1xufVxuXG4uaG4tc3luYy1zdGF0dXMub2ZmbGluZSB7XG4gIGNvbG9yOiAjZGMyNjI2O1xufVxuXG4uaG4tc3luYy10aW1lIHtcbiAgZm9udC1zaXplOiA4cHQ7XG4gIGNvbG9yOiAjODg4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogQ2F0Y2gtdXAgTW9kYWwgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5obi1tb2RhbC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC41KTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHotaW5kZXg6IDEwMDA7XG59XG5cbi5obi1tb2RhbCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgbWF4LXdpZHRoOiA1MDBweDtcbiAgd2lkdGg6IDkwJTtcbiAgbWF4LWhlaWdodDogODB2aDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIGJveC1zaGFkb3c6IDAgNHB4IDIwcHggcmdiYSgwLDAsMCwwLjIpO1xufVxuXG4uaG4tbW9kYWwtaGVhZGVyIHtcbiAgYmFja2dyb3VuZDogI2ZmNjYwMDtcbiAgY29sb3I6ICNmZmY7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmhuLW1vZGFsLWNsb3NlIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBhZGRpbmc6IDAgNXB4O1xufVxuXG4uaG4tbW9kYWwtY2xvc2U6aG92ZXIge1xuICBjb2xvcjogIzAwMDtcbn1cblxuLmhuLW1vZGFsLWJvZHkge1xuICBwYWRkaW5nOiAxNXB4O1xufVxuXG4uaG4tbW9kYWwtYm9keSBwIHtcbiAgbWFyZ2luOiAwIDAgMTBweCAwO1xuICBmb250LXNpemU6IDEwcHQ7XG59XG5cbi5obi11bnJlYWQtbGlzdCB7XG4gIGJhY2tncm91bmQ6ICNmNmY2ZWY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlMGUwZDg7XG4gIHBhZGRpbmc6IDhweDtcbiAgbWFyZ2luOiAxMHB4IDA7XG59XG5cbi5obi11bnJlYWQtaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogNHB4IDA7XG4gIGZvbnQtc2l6ZTogOXB0O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UwZTBkODtcbn1cblxuLmhuLXVucmVhZC1pdGVtOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4uaG4tdW5yZWFkLWZpbGUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICBjb2xvcjogIzMzMztcbn1cblxuLmhuLXVucmVhZC1jb3VudCB7XG4gIGNvbG9yOiAjZDk3NzA2O1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmhuLWNhdGNodXAtcHJvbXB0IHtcbiAgbWFyZ2luLXRvcDogMTVweDtcbn1cblxuLmhuLWNhdGNodXAtcHJvbXB0IGxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogOXB0O1xuICBjb2xvcjogIzY2NjtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4uaG4tY2F0Y2h1cC1wcm9tcHQgdGV4dGFyZWEge1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMTIwcHg7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogOXB0O1xuICBwYWRkaW5nOiA4cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIGJhY2tncm91bmQ6ICNmOWY5Zjk7XG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbi5obi1jYXRjaHVwLXByb21wdCBidXR0b24ge1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIGJhY2tncm91bmQ6ICNmZjY2MDA7XG4gIGNvbG9yOiAjZmZmO1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDhweCAxNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogOXB0O1xufVxuXG4uaG4tY2F0Y2h1cC1wcm9tcHQgYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2U1NWMwMDtcbn1cblxuLmhuLXN5bmMtZGV0YWlsIHtcbiAgY29sb3I6ICM4ODg7XG4gIGZvbnQtc2l6ZTogOXB0O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogV2FybmluZyBCYW5uZXIgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5obi13YXJuaW5nLWJhbm5lciB7XG4gIGJhY2tncm91bmQ6ICNmZWYyZjI7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZjQ0NDQ7XG4gIGJvcmRlci1sZWZ0OiA0cHggc29saWQgI2VmNDQ0NDtcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBmb250LXNpemU6IDlwdDtcbiAgY29sb3I6ICM5OTFiMWI7XG59XG5cbi5obi13YXJuaW5nLWJhbm5lciBzdHJvbmcge1xuICBjb2xvcjogI2RjMjYyNjtcbn1cblxuLmhuLXdhcm5pbmctYmFubmVyIHVsIHtcbiAgbWFyZ2luOiA1cHggMCA1cHggMjBweDtcbiAgcGFkZGluZzogMDtcbn1cblxuLmhuLXdhcm5pbmctYmFubmVyIGxpIHtcbiAgbWFyZ2luOiAycHggMDtcbn1cblxuLmhuLXdhcm5pbmctYmFubmVyIHNtYWxsIHtcbiAgY29sb3I6ICM2NjY7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIE1vYmlsZSBSZXNwb25zaXZlIChwZXIgR2VtaW5pIGRlc2lnbiByZXZpZXcpICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiAtLS0gQmFzZSBNb2JpbGUgU3R5bGVzICg8IDc2OHB4KSAtLS0gKi9cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC8qIEZvcmNlIHNpbmdsZS1jb2x1bW4gbGF5b3V0IGZvciBhbGwgZ3JpZHMgKi9cbiAgLmhuLXN5bmMtY2FyZHMge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cblxuICAuaG4tc3luYy1jYXJkIHtcbiAgICBtaW4td2lkdGg6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvKiBTdGF0cyB3cmFwIHZlcnRpY2FsbHkgKi9cbiAgLmhuLXN0YXRzIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogOHB4O1xuICB9XG5cbiAgLyogSGVhZGVyIHdyYXBzIG9uIG1vYmlsZSAqL1xuICAuaG4taGVhZGVyIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcGFkZGluZzogOHB4IDEwcHg7XG4gIH1cblxuICAuaG4tbmF2IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogNHB4O1xuICB9XG5cbiAgLyogVGFicyBzY3JvbGwgaG9yaXpvbnRhbGx5ICovXG4gIC5obi10YWJzIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgfVxuXG4gIC8qIEN5Y2xlIGJhbm5lciBzdGFja3MgKi9cbiAgLmhuLWN5Y2xlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogOHB4O1xuICB9XG5cbiAgLmhuLWN5Y2xlLWJ0biB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLyogTW9kYWwgdGFrZXMgbW9yZSBzY3JlZW4gKi9cbiAgLmhuLW1vZGFsIHtcbiAgICB3aWR0aDogOTUlO1xuICAgIG1hcmdpbjogMTBweDtcbiAgICBtYXgtaGVpZ2h0OiA5MHZoO1xuICB9XG5cbiAgLyogQ2xvY2sgYmFyIHN0YWNrcyAqL1xuICAuaG4tY2xvY2stYmFyIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogNnB4O1xuICB9XG5cbiAgLyogTWVzc2FnZSBoZWFkZXJzIHdyYXAgYmV0dGVyICovXG4gIC5obi1tc2ctaGVhZGVyIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMnB4O1xuICB9XG5cbiAgLyogVG91Y2ggdGFyZ2V0IGltcHJvdmVtZW50cyAqL1xuICAuaG4tdGFiLWJ0bixcbiAgLmhuLWN5Y2xlLWJ0bixcbiAgLmhuLXN0YXQsXG4gIC5obi1zeW5jLWNhcmQsXG4gIC5obi10YWIge1xuICAgIG1pbi1oZWlnaHQ6IDQ0cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAvKiBJbmNyZWFzZSBiYXNlIGZvbnQgZm9yIHJlYWRhYmlsaXR5ICovXG4gIC5obi1wYWdlIHtcbiAgICBmb250LXNpemU6IDExcHQ7XG4gIH1cblxuICAuaG4tbXNnLWJvZHkge1xuICAgIGZvbnQtc2l6ZTogMTBwdDtcbiAgfVxuXG4gIC8qIFBJTiBmb3JtIGZ1bGwgd2lkdGggKi9cbiAgLmhuLXBpbi1mb3JtIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgbWFyZ2luOiAyMHB4IDEwcHg7XG4gIH1cblxuICAvKiBQcm9wb3NhbHMgbGlzdCByZWFkYWJsZSAqL1xuICAuaG4tcHJvcCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IDRweDtcbiAgfVxuXG4gIC5obi1wcm9wLW5hbWUge1xuICAgIGZvbnQtc2l6ZTogMTBwdDtcbiAgfVxuXG4gIC8qIFRPRE9zIHJlYWRhYmxlICovXG4gIC5obi10b2RvIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB9XG59XG5cbi8qIC0tLSBEZXNrdG9wIEJyZWFrcG9pbnQgKG1pbi13aWR0aDogNzY4cHgpIC0tLSAqL1xuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLyogUmUtaW50cm9kdWNlIG11bHRpLWNvbHVtbiBsYXlvdXRzICovXG4gIC5obi1zeW5jLWNhcmRzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgLmhuLXN5bmMtY2FyZCB7XG4gICAgbWluLXdpZHRoOiAxNDBweDtcbiAgICBmbGV4OiAxO1xuICB9XG5cbiAgLyogUmVzdG9yZSBkZXNrdG9wIGZvbnQgc2l6ZXMgKi9cbiAgLmhuLXBhZ2Uge1xuICAgIGZvbnQtc2l6ZTogMTBwdDtcbiAgfVxufVxuXG4vKiAtLS0gR1BUIEhlYXJ0YmVhdCBDb3VudGRvd24gLS0tICovXG5cbi5obi1ncHQtaGVhcnRiZWF0IHtcbiAgbWFyZ2luLXRvcDogNHB4O1xuICBmb250LXNpemU6IDlwdDtcbiAgcGFkZGluZzogMnB4IDZweDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNDksIDExNSwgMjIsIDAuMTUpO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG59XG5cbi5ncHQtY291bnRkb3duIHtcbiAgY29sb3I6ICNmOTczMTY7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG59XG5cbi5ncHQtcHJvY2Vzc2luZyB7XG4gIGNvbG9yOiAjMjJjNTVlO1xuICBhbmltYXRpb246IHB1bHNlIDFzIGluZmluaXRlO1xufVxuXG4uZ3B0LXN0b3BwZWQge1xuICBjb2xvcjogIzZiNzI4MDtcbn1cblxuLmdwdC11bmtub3duIHtcbiAgY29sb3I6ICNmZjY2MDA7XG59XG5cbkBrZXlmcmFtZXMgcHVsc2Uge1xuICAwJSwgMTAwJSB7IG9wYWNpdHk6IDE7IH1cbiAgNTAlIHsgb3BhY2l0eTogMC41OyB9XG59XG4iLCAiLypcbiAqIFNjYW5leCBBZG1pbiBQb3J0YWwgRGVzaWduIFN5c3RlbVxuICpcbiAqIFBlciBHZW1pbmkncyBkZXNpZ24gZGVjaXNpb25zICgyMDI2LTAxLTI5KTpcbiAqIC0gRGFyayB0aGVtZSBvbmx5ICgjMWExYTJlKVxuICogLSBEcm9wZG93biBuYXYgZ3JvdXBzXG4gKiAtIENhcmQtYmFzZWQgbGF5b3V0c1xuICogLSBTdGFja2VkIG5hdiBvbiBtb2JpbGUgKGZsZXgtd3JhcClcbiAqL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMS4gQ1NTIFZBUklBQkxFU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuOnJvb3Qge1xuICAvKiBDb2xvcnMgLSBEYXJrIFRoZW1lICovXG4gIC0tYWRtaW4tYmc6ICMxYTFhMmU7XG4gIC0tYWRtaW4tYmctYWx0OiAjMTYyMTNlO1xuICAtLWFkbWluLXN1cmZhY2U6ICMxZjI5Mzc7XG4gIC0tYWRtaW4tc3VyZmFjZS1ob3ZlcjogIzM3NDE1MTtcbiAgLS1hZG1pbi1ib3JkZXI6ICMzNzQxNTE7XG5cbiAgLyogQWNjZW50IENvbG9ycyAqL1xuICAtLWFkbWluLWFjY2VudDogI2U5NDU2MDtcbiAgLS1hZG1pbi1hY2NlbnQtaG92ZXI6ICNmZjZiNmI7XG4gIC0tYWRtaW4tcHJpbWFyeTogIzNiODJmNjtcbiAgLS1hZG1pbi1wcmltYXJ5LWhvdmVyOiAjNjBhNWZhO1xuXG4gIC8qIFRleHQgQ29sb3JzICovXG4gIC0tYWRtaW4tdGV4dDogI2YzZjRmNjtcbiAgLS1hZG1pbi10ZXh0LW11dGVkOiAjOWNhM2FmO1xuICAtLWFkbWluLXRleHQtZGltOiAjNmI3MjgwO1xuXG4gIC8qIFN0YXR1cyBDb2xvcnMgKi9cbiAgLS1hZG1pbi1zdWNjZXNzOiAjMTBiOTgxO1xuICAtLWFkbWluLXN1Y2Nlc3MtYmc6IHJnYmEoMTYsIDE4NSwgMTI5LCAwLjEpO1xuICAtLWFkbWluLXdhcm5pbmc6ICNmNTllMGI7XG4gIC0tYWRtaW4td2FybmluZy1iZzogcmdiYSgyNDUsIDE1OCwgMTEsIDAuMSk7XG4gIC0tYWRtaW4tZXJyb3I6ICNlZjQ0NDQ7XG4gIC0tYWRtaW4tZXJyb3ItYmc6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMSk7XG4gIC0tYWRtaW4taW5mbzogIzNiODJmNjtcbiAgLS1hZG1pbi1pbmZvLWJnOiByZ2JhKDU5LCAxMzAsIDI0NiwgMC4xKTtcblxuICAvKiBTcGFjaW5nIFNjYWxlICovXG4gIC0tc3BhY2UtMTogMC4yNXJlbTtcbiAgLS1zcGFjZS0yOiAwLjVyZW07XG4gIC0tc3BhY2UtMzogMC43NXJlbTtcbiAgLS1zcGFjZS00OiAxcmVtO1xuICAtLXNwYWNlLTU6IDEuMjVyZW07XG4gIC0tc3BhY2UtNjogMS41cmVtO1xuICAtLXNwYWNlLTg6IDJyZW07XG4gIC0tc3BhY2UtMTA6IDIuNXJlbTtcbiAgLS1zcGFjZS0xMjogM3JlbTtcblxuICAvKiBUeXBvZ3JhcGh5ICovXG4gIC0tYWRtaW4tZm9udDogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBSb2JvdG8sICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAtLWFkbWluLWZvbnQtbW9ubzogJ1NGIE1vbm8nLCAnTW9uYWNvJywgJ0luY29uc29sYXRhJywgJ0ZpcmEgQ29kZScsIG1vbm9zcGFjZTtcbiAgLS1hZG1pbi10ZXh0LXhzOiAwLjc1cmVtO1xuICAtLWFkbWluLXRleHQtc206IDAuODc1cmVtO1xuICAtLWFkbWluLXRleHQtYmFzZTogMXJlbTtcbiAgLS1hZG1pbi10ZXh0LWxnOiAxLjEyNXJlbTtcbiAgLS1hZG1pbi10ZXh0LXhsOiAxLjI1cmVtO1xuICAtLWFkbWluLXRleHQtMnhsOiAxLjVyZW07XG4gIC0tYWRtaW4tdGV4dC0zeGw6IDEuODc1cmVtO1xuXG4gIC8qIEVmZmVjdHMgKi9cbiAgLS1hZG1pbi1yYWRpdXM6IDhweDtcbiAgLS1hZG1pbi1yYWRpdXMtc206IDRweDtcbiAgLS1hZG1pbi1yYWRpdXMtbGc6IDEycHg7XG4gIC0tYWRtaW4tc2hhZG93OiAwIDRweCA2cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMyksIDAgMnB4IDRweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgLS1hZG1pbi1zaGFkb3ctbGc6IDAgMTBweCAxNXB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjMpLCAwIDRweCA2cHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIC0tYWRtaW4tdHJhbnNpdGlvbjogMTUwbXMgZWFzZS1pbi1vdXQ7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAyLiBCQVNFIFNUWUxFU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmFkbWluLWxheW91dCB7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1iZyk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWFkbWluLWZvbnQpO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtYmFzZSk7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5hZG1pbi1sYXlvdXQgKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAzLiBOQVZJR0FUSU9OXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYWRtaW4tbmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMykgdmFyKC0tc3BhY2UtNCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWJnLWFsdCk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDEwMDtcbn1cblxuLmFkbWluLW5hdi1icmFuZCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC1sZyk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1hY2NlbnQpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTIpIHZhcigtLXNwYWNlLTMpO1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLTQpO1xufVxuXG4uYWRtaW4tbmF2LWJyYW5kOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWFkbWluLWFjY2VudC1ob3Zlcik7XG59XG5cbi8qIERyb3Bkb3duIENvbnRhaW5lciAqL1xuLmFkbWluLW5hdi1kcm9wZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmFkbWluLW5hdi1kcm9wZG93bi10cmlnZ2VyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0xKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMikgdmFyKC0tc3BhY2UtMyk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLXNtKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtc20pO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWFkbWluLXRyYW5zaXRpb24pO1xufVxuXG4uYWRtaW4tbmF2LWRyb3Bkb3duLXRyaWdnZXI6aG92ZXIsXG4uYWRtaW4tbmF2LWRyb3Bkb3duLXRyaWdnZXIuYWN0aXZlIHtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbn1cblxuLmFkbWluLW5hdi1kcm9wZG93bi10cmlnZ2VyOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXI6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcC1jb2xvcjogY3VycmVudENvbG9yO1xuICBtYXJnaW4tdG9wOiAycHg7XG59XG5cbi5hZG1pbi1uYXYtZHJvcGRvd24tbWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICBtaW4td2lkdGg6IDE4MHB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tYWRtaW4tc2hhZG93LWxnKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMikgMDtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7XG4gIHRyYW5zaXRpb246IGFsbCB2YXIoLS1hZG1pbi10cmFuc2l0aW9uKTtcbiAgei1pbmRleDogMjAwO1xufVxuXG4uYWRtaW4tbmF2LWRyb3Bkb3duOmhvdmVyIC5hZG1pbi1uYXYtZHJvcGRvd24tbWVudSxcbi5hZG1pbi1uYXYtZHJvcGRvd246Zm9jdXMtd2l0aGluIC5hZG1pbi1uYXYtZHJvcGRvd24tbWVudSB7XG4gIG9wYWNpdHk6IDE7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuLmFkbWluLW5hdi1kcm9wZG93bi1pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTIpIHZhcigtLXNwYWNlLTQpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWFkbWluLXRyYW5zaXRpb24pO1xufVxuXG4uYWRtaW4tbmF2LWRyb3Bkb3duLWl0ZW06aG92ZXIge1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UtaG92ZXIpO1xufVxuXG4uYWRtaW4tbmF2LWRyb3Bkb3duLWl0ZW0uYWN0aXZlIHtcbiAgY29sb3I6IHZhcigtLWFkbWluLWFjY2VudCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UtaG92ZXIpO1xufVxuXG4vKiBTaW1wbGUgTmF2IEl0ZW1zIChub24tZHJvcGRvd24pICovXG4uYWRtaW4tbmF2LWl0ZW0ge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yKSB2YXIoLS1zcGFjZS0zKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cy1zbSk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC1zbSk7XG4gIHRyYW5zaXRpb246IGFsbCB2YXIoLS1hZG1pbi10cmFuc2l0aW9uKTtcbn1cblxuLmFkbWluLW5hdi1pdGVtOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbn1cblxuLmFkbWluLW5hdi1pdGVtLmFjdGl2ZSB7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1hY2NlbnQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbn1cblxuLmFkbWluLW5hdi1zcGFjZXIge1xuICBmbGV4OiAxO1xufVxuXG4uYWRtaW4tbmF2LWJhY2sge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yKSB2YXIoLS1zcGFjZS0zKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtZGltKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtc20pO1xuICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1hZG1pbi10cmFuc2l0aW9uKTtcbn1cblxuLmFkbWluLW5hdi1iYWNrOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xufVxuXG4vKiBOYXYgTGF5b3V0ICovXG4uYWRtaW4tbmF2LWxlZnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xuICBmbGV4OiAxO1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5hZG1pbi1uYXYtcmlnaHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xufVxuXG4vKiBOYXYgQ2FyZXQgKi9cbi5hZG1pbi1uYXYtY2FyZXQge1xuICBmb250LXNpemU6IDAuN2VtO1xuICBvcGFjaXR5OiAwLjc7XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS0xKTtcbn1cblxuLyogRW5oYW5jZWQgRHJvcGRvd24gSXRlbXMgKi9cbi5hZG1pbi1uYXYtZHJvcGRvd24taXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTIpIHZhcigtLXNwYWNlLTQpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWFkbWluLXRyYW5zaXRpb24pO1xufVxuXG4uYWRtaW4tbmF2LWRyb3Bkb3duLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5hZG1pbi1uYXYtZHJvcGRvd24tZGVzYyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQteHMpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1kaW0pO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0xKTtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLXNwYWNlLTQpICsgNHB4KTtcbn1cblxuLmFkbWluLW5hdi1kcm9wZG93bi1pdGVtOmhvdmVyIC5hZG1pbi1uYXYtZHJvcGRvd24tZGVzYyB7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbn1cblxuLyogTG9nb3V0IExpbmsgKi9cbi5hZG1pbi1uYXYtbG9nb3V0IHtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtZGltKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMikgdmFyKC0tc3BhY2UtMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLXNtKTtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWFkbWluLXRyYW5zaXRpb24pO1xufVxuXG4uYWRtaW4tbmF2LWxvZ291dDpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1lcnJvcik7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWVycm9yLWJnKTtcbn1cblxuLyogTWFpbiBDb250ZW50IEFyZWEgKi9cbi5hZG1pbi1tYWluIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNik7XG4gIG1heC13aWR0aDogMTYwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDQuIExBWU9VVFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmFkbWluLWNvbnRlbnQge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS02KTtcbiAgbWF4LXdpZHRoOiAxNjAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uYWRtaW4taGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNik7XG59XG5cbi5hZG1pbi10aXRsZSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC0yeGwpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG4gIG1hcmdpbjogMCAwIHZhcigtLXNwYWNlLTIpIDA7XG59XG5cbi5hZG1pbi1zdWJ0aXRsZSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC1iYXNlKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpO1xuICBtYXJnaW46IDA7XG59XG5cbi5hZG1pbi1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLmFkbWluLWdyaWQtMiB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH1cbi5hZG1pbi1ncmlkLTMgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOyB9XG4uYWRtaW4tZ3JpZC00IHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTsgfVxuXG4uYWRtaW4tZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5hZG1pbi1mbGV4LWNvbCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5hZG1pbi1mbGV4LXdyYXAge1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5hZG1pbi1mbGV4LTEgeyBmbGV4OiAxOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICA1LiBDQVJEU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmFkbWluLWNhcmQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tYWRtaW4tc2hhZG93KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmFkbWluLWNhcmQtaGVhZGVyIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNCk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5hZG1pbi1jYXJkLXRpdGxlIHtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LWxnKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xuICBtYXJnaW46IDA7XG59XG5cbi5hZG1pbi1jYXJkLWJvZHkge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLmFkbWluLWNhcmQtZm9vdGVyIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMykgdmFyKC0tc3BhY2UtNCk7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1iZy1hbHQpO1xufVxuXG4vKiBTdGF0cyBHcmlkIC0gcmVzcG9uc2l2ZSA2LWNvbHVtbiBsYXlvdXQgKi9cbi5hZG1pbi1zdGF0cy1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNiwgMWZyKTtcbiAgZ2FwOiB2YXIoLS1zcGFjZS00KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNik7XG59XG5cbi8qIFN0YXQgQ2FyZHMgKi9cbi5hZG1pbi1zdGF0LWNhcmQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWFkbWluLXRyYW5zaXRpb24pO1xufVxuXG4uYWRtaW4tc3RhdC1jYXJkOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1wcmltYXJ5KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYmctYWx0KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICBib3gtc2hhZG93OiB2YXIoLS1hZG1pbi1zaGFkb3cpO1xufVxuXG4uYWRtaW4tc3RhdC1jYXJkOmhvdmVyIC5hZG1pbi1zdGF0LXZhbHVlIHtcbiAgY29sb3I6IHZhcigtLWFkbWluLXByaW1hcnkpO1xufVxuXG4uYWRtaW4tc3RhdC12YWx1ZSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC0zeGwpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWFkbWluLXRyYW5zaXRpb24pO1xufVxuXG4uYWRtaW4tc3RhdC1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC1zbSk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMSk7XG59XG5cbi5hZG1pbi1zdGF0LWNhcmQuc3VjY2VzcyB7IGJvcmRlci1sZWZ0OiA0cHggc29saWQgdmFyKC0tYWRtaW4tc3VjY2Vzcyk7IH1cbi5hZG1pbi1zdGF0LWNhcmQud2FybmluZyB7IGJvcmRlci1sZWZ0OiA0cHggc29saWQgdmFyKC0tYWRtaW4td2FybmluZyk7IH1cbi5hZG1pbi1zdGF0LWNhcmQuZXJyb3IgeyBib3JkZXItbGVmdDogNHB4IHNvbGlkIHZhcigtLWFkbWluLWVycm9yKTsgfVxuLmFkbWluLXN0YXQtY2FyZC5pbmZvIHsgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB2YXIoLS1hZG1pbi1pbmZvKTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgNi4gVEFCTEVTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYWRtaW4tdGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTtcbn1cblxuLmFkbWluLXRhYmxlIHRoLFxuLmFkbWluLXRhYmxlIHRkIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMykgdmFyKC0tc3BhY2UtNCk7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xufVxuXG4uYWRtaW4tdGFibGUgdGgge1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWJnLWFsdCk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC14cyk7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG59XG5cbi5hZG1pbi10YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UtaG92ZXIpO1xufVxuXG4uYWRtaW4tdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICA3LiBCVVRUT05TXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYWRtaW4tYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yKSB2YXIoLS1zcGFjZS00KTtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cy1zbSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCB2YXIoLS1hZG1pbi10cmFuc2l0aW9uKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYWRtaW4tYnRuOmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uYWRtaW4tYnRuLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1wcmltYXJ5KTtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4uYWRtaW4tYnRuLXByaW1hcnk6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1wcmltYXJ5LWhvdmVyKTtcbn1cblxuLmFkbWluLWJ0bi1hY2NlbnQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1hY2NlbnQpO1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi5hZG1pbi1idG4tYWNjZW50OmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYWNjZW50LWhvdmVyKTtcbn1cblxuLmFkbWluLWJ0bi1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWFkbWluLWJvcmRlcik7XG59XG5cbi5hZG1pbi1idG4tc2Vjb25kYXJ5OmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VyZmFjZS1ob3Zlcik7XG59XG5cbi5hZG1pbi1idG4tZGFuZ2VyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tZXJyb3IpO1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi5hZG1pbi1idG4tZGFuZ2VyOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZDogI2RjMjYyNjtcbn1cblxuLmFkbWluLWJ0bi1zbSB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTEpIHZhcigtLXNwYWNlLTIpO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQteHMpO1xufVxuXG4uYWRtaW4tYnRuLWxnIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMykgdmFyKC0tc3BhY2UtNik7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC1iYXNlKTtcbn1cblxuLmFkbWluLWJ0bi1zdWNjZXNzIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VjY2Vzcyk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWRtaW4tc3VjY2Vzcyk7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLmFkbWluLWJ0bi1zdWNjZXNzOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZDogIzE2YTM0YTtcbn1cblxuLmFkbWluLWJ0bi1pbmZvIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4taW5mbyk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWRtaW4taW5mbyk7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLmFkbWluLWJ0bi1pbmZvOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZDogIzdjM2FlZDtcbn1cblxuLmFkbWluLWJ0bi13YXJuaW5nIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4td2FybmluZyk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWRtaW4td2FybmluZyk7XG4gIGNvbG9yOiAjMWYyOTM3O1xufVxuXG4uYWRtaW4tYnRuLXdhcm5pbmc6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kOiAjZDk3NzA2O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgOC4gRk9STVNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5hZG1pbi1mb3JtLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5hZG1pbi1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtc20pO1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTIpO1xufVxuXG4uYWRtaW4taW5wdXQsXG4uYWRtaW4tc2VsZWN0LFxuLmFkbWluLXRleHRhcmVhIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTIpIHZhcigtLXNwYWNlLTMpO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtYmFzZSk7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWJnKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLXNtKTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIHZhcigtLWFkbWluLXRyYW5zaXRpb24pLCBib3gtc2hhZG93IHZhcigtLWFkbWluLXRyYW5zaXRpb24pO1xufVxuXG4uYWRtaW4taW5wdXQ6Zm9jdXMsXG4uYWRtaW4tc2VsZWN0OmZvY3VzLFxuLmFkbWluLXRleHRhcmVhOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1wcmltYXJ5KTtcbiAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoNTksIDEzMCwgMjQ2LCAwLjIpO1xufVxuXG4uYWRtaW4taW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtZGltKTtcbn1cblxuLmFkbWluLXRleHRhcmVhIHtcbiAgbWluLWhlaWdodDogMTAwcHg7XG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICA5LiBCQURHRVNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5hZG1pbi1iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0xKSB2YXIoLS1zcGFjZS0yKTtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXhzKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgYm9yZGVyLXJhZGl1czogOTk5OXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xufVxuXG4uYWRtaW4tYmFkZ2Utc3VjY2VzcyB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1Y2Nlc3MtYmcpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tc3VjY2Vzcyk7XG59XG5cbi5hZG1pbi1iYWRnZS13YXJuaW5nIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4td2FybmluZy1iZyk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi13YXJuaW5nKTtcbn1cblxuLmFkbWluLWJhZGdlLWVycm9yIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tZXJyb3ItYmcpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tZXJyb3IpO1xufVxuXG4uYWRtaW4tYmFkZ2UtaW5mbyB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWluZm8tYmcpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4taW5mbyk7XG59XG5cbi5hZG1pbi1iYWRnZS1uZXV0cmFsIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VyZmFjZSk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDEwLiBBTEVSVFMgLyBGTEFTSCBNRVNTQUdFU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmFkbWluLWFsZXJ0IHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMykgdmFyKC0tc3BhY2UtNCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cyk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTQpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLmFkbWluLWFsZXJ0LXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdWNjZXNzLWJnKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tc3VjY2Vzcyk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1zdWNjZXNzKTtcbn1cblxuLmFkbWluLWFsZXJ0LXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi13YXJuaW5nLWJnKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4td2FybmluZyk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi13YXJuaW5nKTtcbn1cblxuLmFkbWluLWFsZXJ0LWVycm9yIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tZXJyb3ItYmcpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1lcnJvcik7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1lcnJvcik7XG59XG5cbi5hZG1pbi1hbGVydC1pbmZvIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4taW5mby1iZyk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFkbWluLWluZm8pO1xuICBjb2xvcjogdmFyKC0tYWRtaW4taW5mbyk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAxMS4gRU1QVFkgU1RBVEVTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYWRtaW4tZW1wdHkge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTEyKSB2YXIoLS1zcGFjZS00KTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpO1xufVxuXG4uYWRtaW4tZW1wdHktaWNvbiB7XG4gIGZvbnQtc2l6ZTogM3JlbTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNCk7XG4gIG9wYWNpdHk6IDAuNTtcbn1cblxuLmFkbWluLWVtcHR5LXRpdGxlIHtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LWxnKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLmFkbWluLWVtcHR5LWRlc2NyaXB0aW9uIHtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAxMi4gTE9BRElORyBTVEFURVNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5hZG1pbi1sb2FkaW5nIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTgpO1xufVxuXG4uYWRtaW4tc3Bpbm5lciB7XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIGJvcmRlcjogM3B4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIGJvcmRlci10b3AtY29sb3I6IHZhcigtLWFkbWluLXByaW1hcnkpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGFuaW1hdGlvbjogYWRtaW4tc3BpbiAwLjhzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyBhZG1pbi1zcGluIHtcbiAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAxMy4gVVRJTElUSUVTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYWRtaW4tdGV4dC1tdXRlZCB7IGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTsgfVxuLmFkbWluLXRleHQtc3VjY2VzcyB7IGNvbG9yOiB2YXIoLS1hZG1pbi1zdWNjZXNzKTsgfVxuLmFkbWluLXRleHQtd2FybmluZyB7IGNvbG9yOiB2YXIoLS1hZG1pbi13YXJuaW5nKTsgfVxuLmFkbWluLXRleHQtZXJyb3IgeyBjb2xvcjogdmFyKC0tYWRtaW4tZXJyb3IpOyB9XG4uYWRtaW4tdGV4dC1pbmZvIHsgY29sb3I6IHZhcigtLWFkbWluLWluZm8pOyB9XG5cbi5hZG1pbi10ZXh0LXNtIHsgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTsgfVxuLmFkbWluLXRleHQteHMgeyBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQteHMpOyB9XG4uYWRtaW4tdGV4dC1sZyB7IGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC1sZyk7IH1cblxuLmFkbWluLWZvbnQtbW9ubyB7IGZvbnQtZmFtaWx5OiB2YXIoLS1hZG1pbi1mb250LW1vbm8pOyB9XG4uYWRtaW4tZm9udC1ib2xkIHsgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4uYWRtaW4tbXQtMiB7IG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTIpOyB9XG4uYWRtaW4tbXQtNCB7IG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTQpOyB9XG4uYWRtaW4tbWItMiB7IG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTIpOyB9XG4uYWRtaW4tbWItNCB7IG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTQpOyB9XG5cbi5hZG1pbi1wLTQgeyBwYWRkaW5nOiB2YXIoLS1zcGFjZS00KTsgfVxuLmFkbWluLXAtNiB7IHBhZGRpbmc6IHZhcigtLXNwYWNlLTYpOyB9XG5cbi5hZG1pbi1oaWRkZW4geyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLyogVGV4dCB1dGlsaXRpZXMgKi9cbi5hZG1pbi10ZXh0LWRpbSB7IGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LWRpbSk7IH1cblxuLyogQ29kZSBpbmxpbmUgKi9cbi5hZG1pbi1jb2RlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjIpO1xuICBwYWRkaW5nOiAycHggNnB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMtc20pO1xuICBmb250LWZhbWlseTogdmFyKC0tYWRtaW4tZm9udC1tb25vKTtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTtcbn1cblxuLyogQ2FyZCBsaW5rIHZhcmlhbnQgKi9cbi5hZG1pbi1jYXJkLWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWFkbWluLXRyYW5zaXRpb24pO1xufVxuXG4uYWRtaW4tY2FyZC1saW5rOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWFkbWluLXByaW1hcnkpO1xuICBib3gtc2hhZG93OiB2YXIoLS1hZG1pbi1zaGFkb3ctbGcpO1xufVxuXG4uYWRtaW4tY2FyZC1saW5rIGgzIHtcbiAgbWFyZ2luOiAwIDAgdmFyKC0tc3BhY2UtMikgMDtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xufVxuXG4uYWRtaW4tY2FyZC1saW5rIHAge1xuICBtYXJnaW46IDA7XG59XG5cbi8qIEJ1dHRvbiBibG9jayB2YXJpYW50ICovXG4uYWRtaW4tYnRuLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiBCYWRnZSBzaXplIHZhcmlhbnRzICovXG4uYWRtaW4tYmFkZ2UtbGcge1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtbGcpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKSB2YXIoLS1zcGFjZS02KTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDEzLiBEQVNIQk9BUkQgTEFZT1VUXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYWRtaW4tZGFzaGJvYXJkLWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAzODBweDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS02KTtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5hZG1pbi1kYXNoYm9hcmQtbWFpbiB7XG4gIG1pbi13aWR0aDogMDtcbn1cblxuLmFkbWluLWRhc2hib2FyZC1zaWRlYmFyIHtcbiAgbWluLXdpZHRoOiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMTQuIFJFU1BPTlNJVkVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxNDAwcHgpIHtcbiAgLmFkbWluLXN0YXRzLWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOyB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgLmFkbWluLXN0YXRzLWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOyB9XG4gIC5hZG1pbi1kYXNoYm9hcmQtZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9XG4gIC5hZG1pbi1ncmlkLTQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9XG4gIC5hZG1pbi1ncmlkLTMgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAvKiBOYXYgc3RhY2tzIGFuZCB3cmFwcyAqL1xuICAuYWRtaW4tbmF2IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMik7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0xKTtcbiAgfVxuXG4gIC5hZG1pbi1uYXYtbGVmdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAuYWRtaW4tbmF2LXJpZ2h0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0yKTtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtMik7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIH1cblxuICAuYWRtaW4tbmF2LWJyYW5kIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTIpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS0yKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgfVxuXG4gIC5hZG1pbi1uYXYtZHJvcGRvd24sXG4gIC5hZG1pbi1uYXYtaXRlbSB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgbWluLXdpZHRoOiBjYWxjKDMzJSAtIHZhcigtLXNwYWNlLTIpKTtcbiAgfVxuXG4gIC5hZG1pbi1uYXYtZHJvcGRvd24tdHJpZ2dlcixcbiAgLmFkbWluLW5hdi1pdGVtIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWluLWhlaWdodDogNDRweDtcbiAgfVxuXG4gIC5hZG1pbi1uYXYtc3BhY2VyIHsgZGlzcGxheTogbm9uZTsgfVxuXG4gIC8qIEhpZGUgZGVzY3JpcHRpb24gdGV4dCBvbiBtb2JpbGUgKi9cbiAgLmFkbWluLW5hdi1kcm9wZG93bi1kZXNjIHsgZGlzcGxheTogbm9uZTsgfVxuXG4gIC5hZG1pbi1uYXYtYmFjayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTIpO1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS0yKTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgfVxuXG4gIC8qIENvbnRlbnQgYWRqdXN0bWVudHMgKi9cbiAgLmFkbWluLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTQpO1xuICB9XG5cbiAgLmFkbWluLXN0YXRzLWdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gIH1cblxuICAuYWRtaW4tZ3JpZC0yLFxuICAuYWRtaW4tZ3JpZC0zLFxuICAuYWRtaW4tZ3JpZC00IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgfVxuXG4gIC5hZG1pbi1mbGV4Om5vdCguYWRtaW4tZmxleC1jb2wpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG5cbiAgLyogVGFibGUgc2Nyb2xscyAqL1xuICAuYWRtaW4tdGFibGUtd3JhcHBlciB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIH1cblxuICAvKiBMYXJnZXIgdG91Y2ggdGFyZ2V0cyAqL1xuICAuYWRtaW4tYnRuIHtcbiAgICBtaW4taGVpZ2h0OiA0NHB4O1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpIHZhcigtLXNwYWNlLTQpO1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAuYWRtaW4tc3RhdHMtZ3JpZCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIH1cblxuICAuYWRtaW4tbmF2LWRyb3Bkb3duLFxuICAuYWRtaW4tbmF2LWl0ZW0ge1xuICAgIG1pbi13aWR0aDogY2FsYyg1MCUgLSB2YXIoLS1zcGFjZS0xKSk7XG4gIH1cblxuICAuYWRtaW4tc3RhdC12YWx1ZSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LTJ4bCk7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEdQVSBXT1JLRVJTIC0gQ29tcGFjdCBDYXJkIExheW91dFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLndvcmtlci1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMzIwcHgsIDFmcikpO1xuICBnYXA6IHZhcigtLXNwYWNlLTQpO1xufVxuXG4ud29ya2VyLWNhcmQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1iZyk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTQpO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgZWFzZSwgYm94LXNoYWRvdyAwLjE1cyBlYXNlO1xufVxuXG4ud29ya2VyLWNhcmQud29ya2VyLW9ubGluZSB7XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgIzIyYzU1ZTtcbn1cblxuLndvcmtlci1jYXJkLndvcmtlci1vZmZsaW5lIHtcbiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjZWY0NDQ0O1xuICBvcGFjaXR5OiAwLjg7XG59XG5cbi53b3JrZXItY2FyZDpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWRtaW4tYm9yZGVyLWFjdGl2ZSk7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xufVxuXG4vKiBIZWFkZXI6IE5hbWUgKyBTdGF0dXMgZG90ICsgTWV0YSAqL1xuLndvcmtlci1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTMpO1xufVxuXG4ud29ya2VyLWlkZW50aXR5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLndvcmtlci1zdGF0dXMtZG90IHtcbiAgd2lkdGg6IDhweDtcbiAgaGVpZ2h0OiA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgZmxleC1zaHJpbms6IDA7XG59XG5cbi53b3JrZXItc3RhdHVzLWRvdC5vbmxpbmUge1xuICBiYWNrZ3JvdW5kOiAjMjJjNTVlO1xuICBib3gtc2hhZG93OiAwIDAgNnB4IHJnYmEoMzQsIDE5NywgOTQsIDAuNik7XG59XG5cbi53b3JrZXItc3RhdHVzLWRvdC5vZmZsaW5lIHtcbiAgYmFja2dyb3VuZDogI2VmNDQ0NDtcbn1cblxuLndvcmtlci1uYW1lIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG59XG5cbi53b3JrZXItbWV0YSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi53b3JrZXItc291cmNlIHtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWJnLXN1YnRsZSk7XG4gIHBhZGRpbmc6IDJweCA2cHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbn1cblxuLndvcmtlci1sYXRlbmN5IHtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBjb2xvcjogIzIyYzU1ZTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG59XG5cbi8qIFNwZWNzOiBHUFUgKyBWUkFNICsgRW5kcG9pbnQgaW4gb25lIGNvbXBhY3QgYXJlYSAqL1xuLndvcmtlci1zcGVjcyB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTMpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yKSB2YXIoLS1zcGFjZS0zKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYmctc3VidGxlKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTtcbn1cblxuLndvcmtlci1zcGVjLW1haW4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xuICBtYXJnaW4tYm90dG9tOiA0cHg7XG59XG5cbi5zcGVjLWljb24ge1xuICBjb2xvcjogIzIyYzU1ZTtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4uc3BlYy12YWx1ZSB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xuICBmbGV4OiAxO1xufVxuXG4uc3BlYy12cmFtIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogIzYwYTVmYTtcbiAgYmFja2dyb3VuZDogcmdiYSg5NiwgMTY1LCAyNTAsIDAuMTUpO1xuICBwYWRkaW5nOiAycHggNnB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbn1cblxuLndvcmtlci1lbmRwb2ludCB7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbn1cblxuLyogQ2FwYWJpbGl0aWVzOiBDb21wYWN0IGNvbG9yLWNvZGVkIGJhZGdlcyAqL1xuLndvcmtlci1jYXBzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDRweDtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5jYXAtYmFkZ2Uge1xuICBmb250LXNpemU6IDEwcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHBhZGRpbmc6IDNweCA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjNweDtcbn1cblxuLyogVmlzaW9uIGNhcGFiaWxpdGllczogZmFjZXMsIGNsaXAsIHBvc2UgKi9cbi5jYXAtdmlzaW9uIHtcbiAgYmFja2dyb3VuZDogcmdiYSgxMzksIDkyLCAyNDYsIDAuMik7XG4gIGNvbG9yOiAjYTc4YmZhO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEzOSwgOTIsIDI0NiwgMC4zKTtcbn1cblxuLyogTExNIGNhcGFiaWxpdGllczogc2NlbmUgYW5hbHlzaXMsIGNhcHRpb25zICovXG4uY2FwLWxsbSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMzQsIDE5NywgOTQsIDAuMTUpO1xuICBjb2xvcjogIzRhZGU4MDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzNCwgMTk3LCA5NCwgMC4zKTtcbn1cblxuLyogT3RoZXIgY2FwYWJpbGl0aWVzICovXG4uY2FwLW90aGVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgxNDgsIDE2MywgMTg0LCAwLjE1KTtcbiAgY29sb3I6ICM5NGEzYjg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4zKTtcbn1cblxuLyogRXJyb3IgZGlzcGxheSAqL1xuLndvcmtlci1lcnJvciB7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgY29sb3I6ICNmY2E1YTU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMTUpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIzOSwgNjgsIDY4LCAwLjMpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yKSB2YXIoLS1zcGFjZS0zKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTMpO1xufVxuXG4vKiBBY3Rpb25zICovXG4ud29ya2VyLWFjdGlvbnMge1xuICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtMyk7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xufVxuXG4vKiBSZXNwb25zaXZlICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLndvcmtlci1ncmlkIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgfVxuXG4gIC53b3JrZXItY2FyZCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMyk7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEdQVSBXT1JLRVJTIC0gSW50ZXJhY3RpdmUgRWxlbWVudHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIENhcGFiaWxpdHkgdG9nZ2xlcyBpbnN0ZWFkIG9mIHN0YXRpYyBiYWRnZXMgKi9cbi5jYXAtdG9nZ2xlIHtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBwYWRkaW5nOiA0cHggMTBweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuM3B4O1xuICBib3JkZXI6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XG59XG5cbi5jYXAtdG9nZ2xlOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbn1cblxuLmNhcC10b2dnbGUuY2FwLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC40O1xuICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbn1cblxuLmNhcC10b2dnbGUuY2FwLXZpc2lvbiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTM5LCA5MiwgMjQ2LCAwLjIpO1xuICBjb2xvcjogI2E3OGJmYTtcbn1cblxuLmNhcC10b2dnbGUuY2FwLXZpc2lvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTM5LCA5MiwgMjQ2LCAwLjM1KTtcbn1cblxuLmNhcC10b2dnbGUuY2FwLWxsbSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMzQsIDE5NywgOTQsIDAuMTUpO1xuICBjb2xvcjogIzRhZGU4MDtcbn1cblxuLmNhcC10b2dnbGUuY2FwLWxsbTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMzQsIDE5NywgOTQsIDAuMyk7XG59XG5cbi5jYXAtdG9nZ2xlLmNhcC1vdGhlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4xNSk7XG4gIGNvbG9yOiAjOTRhM2I4O1xufVxuXG4uY2FwLXRvZ2dsZS5jYXAtb3RoZXI6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE0OCwgMTYzLCAxODQsIDAuMyk7XG59XG5cbi8qIEVycm9yIGJveCB3aXRoIHJldHJ5ICovXG4ud29ya2VyLWVycm9yLWJveCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTMpO1xufVxuXG4ud29ya2VyLWVycm9yLWJveCAud29ya2VyLWVycm9yIHtcbiAgZmxleDogMTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLndvcmtlci1yZXRyeS1idG4ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjIpO1xuICBjb2xvcjogI2ZjYTVhNTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMzksIDY4LCA2OCwgMC4zKTtcbiAgcGFkZGluZzogNHB4IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLndvcmtlci1yZXRyeS1idG46aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjM1KTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi8qIFdvcmtlciBhY3Rpb24gYnV0dG9ucyAqL1xuLndvcmtlci1hY3Rpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLTMpO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4ud29ya2VyLXRvZ2dsZS1idG4sXG4ud29ya2VyLXRlc3QtYnRuLFxuLndvcmtlci1yZW1vdmUtYnRuIHtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBwYWRkaW5nOiA2cHggMTJweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbi53b3JrZXItdG9nZ2xlLWJ0biB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMzQsIDE5NywgOTQsIDAuMTUpO1xuICBjb2xvcjogIzRhZGU4MDtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDM0LCAxOTcsIDk0LCAwLjMpO1xufVxuXG4ud29ya2VyLXRvZ2dsZS1idG46aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDM0LCAxOTcsIDk0LCAwLjMpO1xufVxuXG4ud29ya2VyLXRvZ2dsZS1idG4uZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1MSwgMTkxLCAzNiwgMC4xNSk7XG4gIGNvbG9yOiAjZmJiZjI0O1xuICBib3JkZXItY29sb3I6IHJnYmEoMjUxLCAxOTEsIDM2LCAwLjMpO1xufVxuXG4ud29ya2VyLXRlc3QtYnRuIHtcbiAgYmFja2dyb3VuZDogcmdiYSg5NiwgMTY1LCAyNTAsIDAuMTUpO1xuICBjb2xvcjogIzYwYTVmYTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDk2LCAxNjUsIDI1MCwgMC4zKTtcbn1cblxuLndvcmtlci10ZXN0LWJ0bjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoOTYsIDE2NSwgMjUwLCAwLjMpO1xufVxuXG4ud29ya2VyLXJlbW92ZS1idG4ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjEpO1xuICBjb2xvcjogI2Y4NzE3MTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjIpO1xufVxuXG4ud29ya2VyLXJlbW92ZS1idG46aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjI1KTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEFETUlOIEdBTExFUlkgUEFHRSAtIFNlY3Rpb25zICYgQ29udHJvbHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIFNlY3Rpb24gdmFyaWFudHMgZm9yIGdhbGxlcnkgYWRtaW4gcGFuZWxzICovXG4uYWRtaW4tc2VjdGlvbi0tcHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS00KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5hZG1pbi1zZWN0aW9uLS1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1iZyk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cyk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTQpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLmFkbWluLXNlY3Rpb24tLXRlcnRpYXJ5IHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTAsIDIwNCwgMjEsIDAuMDUpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1MCwgMjA0LCAyMSwgMC4zKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTQpO1xufVxuXG4uYWRtaW4tc2VjdGlvbi0tZGFuZ2VyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4wNSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjM5LCA2OCwgNjgsIDAuMyk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cyk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTQpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLmFkbWluLXNlY3Rpb24tLW5ldXRyYWwge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1iZy1hbHQpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS00KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5hZG1pbi1zZWN0aW9uX19oZWFkZXIge1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtc20pO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS0yKTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTMpO1xufVxuXG4uYWRtaW4tc2VjdGlvbl9fZGVzYyB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC1zbSk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbiAgbWFyZ2luOiAwIDAgdmFyKC0tc3BhY2UtMykgMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLyogVG9nZ2xlIGJ1dHRvbnMgKE9OL09GRiBzdGF0ZXMpICovXG4uYWRtaW4tYnRuLS10b2dnbGUge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpIHZhcigtLXNwYWNlLTQpO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtc20pO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLXNtKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VyZmFjZSk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tYWRtaW4tdHJhbnNpdGlvbik7XG59XG5cbi5hZG1pbi1idG4tLXRvZ2dsZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UtaG92ZXIpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG59XG5cbi5hZG1pbi1idG4tLXRvZ2dsZS5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1wcmltYXJ5KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1wcmltYXJ5KTtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4vKiBTdGF0dXMgaW5kaWNhdG9yIGRvdHMgKi9cbi5hZG1pbi1zdGF0dXMtZG90IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogOHB4O1xuICBoZWlnaHQ6IDhweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLTIpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi10ZXh0LWRpbSk7XG59XG5cbi5hZG1pbi1zdGF0dXMtZG90Lm9uIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VjY2Vzcyk7XG4gIGJveC1zaGFkb3c6IDAgMCA2cHggcmdiYSgxNiwgMTg1LCAxMjksIDAuNik7XG59XG5cbi5hZG1pbi1zdGF0dXMtZG90Lndhcm5pbmcge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi13YXJuaW5nKTtcbiAgYm94LXNoYWRvdzogMCAwIDZweCByZ2JhKDI0NSwgMTU4LCAxMSwgMC42KTtcbiAgYW5pbWF0aW9uOiBhZG1pbi1ibGluayAxcyBpbmZpbml0ZTtcbn1cblxuLmFkbWluLXN0YXR1cy1kb3QuZGFuZ2VyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tZXJyb3IpO1xuICBib3gtc2hhZG93OiAwIDAgNnB4IHJnYmEoMjM5LCA2OCwgNjgsIDAuNik7XG4gIGFuaW1hdGlvbjogYWRtaW4tYmxpbmsgMXMgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgYWRtaW4tYmxpbmsge1xuICAwJSwgMTAwJSB7IG9wYWNpdHk6IDE7IH1cbiAgNTAlIHsgb3BhY2l0eTogMC40OyB9XG59XG5cbi8qIENvbnRyb2wgYnV0dG9ucyB3aXRoIHN0YXRlIHZhcmlhbnRzICovXG4uYWRtaW4tY3RybC1idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMykgdmFyKC0tc3BhY2UtNCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC1zbSk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMtc20pO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCB2YXIoLS1hZG1pbi10cmFuc2l0aW9uKTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hZG1pbi1jdHJsLWJ0bjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UtaG92ZXIpO1xufVxuXG4uYWRtaW4tY3RybC1idG4ub24tc3VjY2VzcyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTYsIDE4NSwgMTI5LCAwLjE1KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1zdWNjZXNzKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXN1Y2Nlc3MpO1xufVxuXG4uYWRtaW4tY3RybC1idG4ub24tZGFuZ2VyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4xNSk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWRtaW4tZXJyb3IpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tZXJyb3IpO1xufVxuXG4uYWRtaW4tY3RybC1idG4ub24td2FybmluZyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjUwLCAyMDQsIDIxLCAwLjE1KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi13YXJuaW5nKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXdhcm5pbmcpO1xufVxuXG4vKiBTdGF0cyBkaXNwbGF5IHJvdyAqL1xuLmFkbWluLXN0YXRzLXJvdyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gIGdhcDogdmFyKC0tc3BhY2UtMyk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1iZyk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cy1zbSk7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTMpO1xufVxuXG4uYWRtaW4tc3RhdHMtcm93X19pdGVtIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYWRtaW4tc3RhdHMtcm93X19sYWJlbCB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC14cyk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LWRpbSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTEpO1xufVxuXG4uYWRtaW4tc3RhdHMtcm93X192YWx1ZSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC1sZyk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWFkbWluLWZvbnQtbW9ubyk7XG59XG5cbi5hZG1pbi1zdGF0cy1yb3dfX3ZhbHVlLndhcm5pbmcgeyBjb2xvcjogdmFyKC0tYWRtaW4td2FybmluZyk7IH1cbi5hZG1pbi1zdGF0cy1yb3dfX3ZhbHVlLnN1Y2Nlc3MgeyBjb2xvcjogdmFyKC0tYWRtaW4tc3VjY2Vzcyk7IH1cbi5hZG1pbi1zdGF0cy1yb3dfX3ZhbHVlLmRhbmdlciB7IGNvbG9yOiB2YXIoLS1hZG1pbi1lcnJvcik7IH1cblxuLyogSW1hZ2UgbWFuYWdlbWVudCBncmlkICovXG4uYWRtaW4taW1hZ2UtZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDEwMHB4LCAxZnIpKTtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLmFkbWluLWltYWdlLWNlbGwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGFzcGVjdC1yYXRpbzogMTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMtc20pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWFkbWluLXRyYW5zaXRpb24pO1xufVxuXG4uYWRtaW4taW1hZ2UtY2VsbDpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWRtaW4tcHJpbWFyeSk7XG59XG5cbi5hZG1pbi1pbWFnZS1jZWxsIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmFkbWluLWltYWdlLWNlbGwuaGlkZGVuIHtcbiAgb3BhY2l0eTogMC4zO1xufVxuXG4uYWRtaW4taW1hZ2UtY2VsbC5kZWxldGUtbW9kZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMik7XG59XG5cbi5hZG1pbi1pbWFnZS1jZWxsLmRlbGV0ZS1tb2RlOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1lcnJvcik7XG59XG5cbi8qIEltYWdlIGNlbGwgb3ZlcmxheSBidXR0b25zICovXG4uYWRtaW4taW1hZ2UtY2VsbF9fYWN0aW9ucyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiB2YXIoLS1zcGFjZS0xKTtcbiAgcmlnaHQ6IHZhcigtLXNwYWNlLTEpO1xuICBsZWZ0OiB2YXIoLS1zcGFjZS0xKTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBnYXA6IHZhcigtLXNwYWNlLTEpO1xufVxuXG4uYWRtaW4taW1hZ2UtYnRuIHtcbiAgcGFkZGluZzogMnB4IDZweDtcbiAgZm9udC1zaXplOiA5cHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1hZG1pbi1mb250LW1vbm8pO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCB2YXIoLS1hZG1pbi10cmFuc2l0aW9uKTtcbn1cblxuLmFkbWluLWltYWdlLWJ0bi0tdmlzaWJsZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTYsIDE4NSwgMTI5LCAwLjkpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWFkbWluLXN1Y2Nlc3MpO1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi5hZG1pbi1pbWFnZS1idG4tLWhpZGRlbiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuOSk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWRtaW4tZXJyb3IpO1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi5hZG1pbi1pbWFnZS1idG4tLXNoYXJlIHtcbiAgYmFja2dyb3VuZDogcmdiYSg1OSwgMTMwLCAyNDYsIDAuOSk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWRtaW4tcHJpbWFyeSk7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLyogRGVsZXRlIG92ZXJsYXkgKi9cbi5hZG1pbi1pbWFnZS1jZWxsX19kZWxldGUtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuNCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmb250LXNpemU6IDI0cHg7XG59XG5cbi8qIEhpZGRlbiBmcm9tIHB1YmxpYyBiYW5uZXIgKi9cbi5hZG1pbi1pbWFnZS1jZWxsX19oaWRkZW4tYmFubmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjg1KTtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LXNpemU6IDhweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAycHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1hZG1pbi1mb250LW1vbm8pO1xufVxuXG4vKiBGb3JtIGlucHV0cyBzdHlsZWQgZm9yIGdhbGxlcnkgYWRtaW4gKi9cbi5hZG1pbi1mb3JtLWlubGluZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xufVxuXG4uYWRtaW4tZm9ybS1pbmxpbmUgLmFkbWluLWlucHV0IHtcbiAgZmxleDogMTtcbn1cblxuLyogUXVlcnkgc3ludGF4IGhlbHBlciAqL1xuLmFkbWluLXN5bnRheC1oZWxwIHtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXhzKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtZGltKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWFkbWluLWZvbnQtbW9ubyk7XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTIpO1xufVxuXG4uYWRtaW4tc3ludGF4LWhlbHAgY29kZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoNTksIDEzMCwgMjQ2LCAwLjEpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tcHJpbWFyeSk7XG4gIHBhZGRpbmc6IDFweCA0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbn1cblxuLyogU2hhcmUgbGlua3MgdGFibGUgaW1wcm92ZW1lbnRzICovXG4uYWRtaW4tc2hhcmUtdGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXhzKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWFkbWluLWZvbnQtbW9ubyk7XG59XG5cbi5hZG1pbi1zaGFyZS10YWJsZSB0aCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWJnLWFsdCk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMikgdmFyKC0tc3BhY2UtMyk7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xufVxuXG4uYWRtaW4tc2hhcmUtdGFibGUgdGQge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yKSB2YXIoLS1zcGFjZS0zKTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbn1cblxuLmFkbWluLXNoYXJlLXRhYmxlIHRyLmV4cGlyZWQge1xuICBvcGFjaXR5OiAwLjQ7XG59XG5cbi8qIERhdGUgUElOIHRhYmxlICovXG4uYWRtaW4tZGF0ZS1waW5zLXRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC1zbSk7XG59XG5cbi5hZG1pbi1kYXRlLXBpbnMtdGFibGUgdGgge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1iZy1hbHQpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTIpIHZhcigtLXNwYWNlLTMpO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LXdlaWdodDogNTAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbn1cblxuLmFkbWluLWRhdGUtcGlucy10YWJsZSB0ZCB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTIpIHZhcigtLXNwYWNlLTMpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbn1cblxuLmFkbWluLWRhdGUtcGlucy10YWJsZSB0ci5kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNTtcbn1cblxuLyogUmVzcG9uc2l2ZSBhZGp1c3RtZW50cyBmb3IgZ2FsbGVyeSBhZG1pbiAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5hZG1pbi1zdGF0cy1yb3cge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gIH1cblxuICAuYWRtaW4tZm9ybS1pbmxpbmUge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cblxuICAuYWRtaW4taW1hZ2UtZ3JpZCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoODBweCwgMWZyKSk7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFBFT1BMRSBQQUdFIC0gRmFjZSBHcmlkIENhcmRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBIZWFkZXIgd2l0aCB0aXRsZSArIGNvbnRyb2xzIG9uIHNhbWUgbGluZSAqL1xuLmFkbWluLWhlYWRlci1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLmFkbWluLWhlYWRlci1jb250cm9scyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0tc3BhY2UtMyk7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5hZG1pbi1wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLyogUGVyc29uIGNhcmQgLSBubyBwYWRkaW5nLCBsZXQgc2VjdGlvbnMgZGVmaW5lIHRoZWlyIG93biAqL1xuLnBlcnNvbi1jYXJkIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VyZmFjZSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cyk7XG4gIGJveC1zaGFkb3c6IHZhcigtLWFkbWluLXNoYWRvdyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEZhY2UgdGh1bWJuYWlsIC0gc3F1YXJlIGFzcGVjdCByYXRpbyBjb250YWluZXIgKi9cbi5wZXJzb24tY2FyZF9fdGh1bWIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXRvcDogMTAwJTsgLyogU3F1YXJlIGFzcGVjdCByYXRpbyAqL1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1iZyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5wZXJzb24tY2FyZF9fdGh1bWItbGluayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucGVyc29uLWNhcmRfX3RodW1iLWltZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi5wZXJzb24tY2FyZF9fdGh1bWItcGxhY2Vob2xkZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZm9udC1zaXplOiA0OHB4O1xuICBvcGFjaXR5OiAwLjM7XG59XG5cbi8qIEJhZGdlcyBwb3NpdGlvbmVkIG9uIHRodW1ibmFpbCAqL1xuLnBlcnNvbi1jYXJkX19iYWRnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLnBlcnNvbi1jYXJkX19iYWRnZS0tbGVmdCB7XG4gIGxlZnQ6IHZhcigtLXNwYWNlLTIpO1xufVxuXG4ucGVyc29uLWNhcmRfX2JhZGdlLS1yaWdodCB7XG4gIHJpZ2h0OiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLyogQ2FyZCBib2R5IHdpdGggaW5mbyBhbmQgYWN0aW9ucyAqL1xuLnBlcnNvbi1jYXJkX19ib2R5IHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5wZXJzb24tY2FyZF9fbmFtZSB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMik7XG4gIGN1cnNvcjogdGV4dDtcbiAgbWluLWhlaWdodDogMjRweDtcbn1cblxuLnBlcnNvbi1jYXJkX19uYW1lLWlucHV0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5wZXJzb24tY2FyZF9fbWV0YSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC1zbSk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5wZXJzb24tY2FyZF9fYWN0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLyogSW5saW5lIFBJTiBmb3JtICovXG4ucGVyc29uLWNhcmRfX3Bpbi1mb3JtIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIG1hcmdpbjogMDtcbn1cblxuLnBlcnNvbi1jYXJkX19waW4taW5wdXQge1xuICB3aWR0aDogNTBweDtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMSkgdmFyKC0tc3BhY2UtMik7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC14cyk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cy1zbSkgMCAwIHZhcigtLWFkbWluLXJhZGl1cy1zbSk7XG59XG5cbi5wZXJzb24tY2FyZF9fcGluLWJ0biB7XG4gIGJvcmRlci1yYWRpdXM6IDAgdmFyKC0tYWRtaW4tcmFkaXVzLXNtKSB2YXIoLS1hZG1pbi1yYWRpdXMtc20pIDA7XG59XG5cbi8qIEVtcHR5IHN0YXRlIGZvciBwZW9wbGUgcGFnZSAqL1xuLmFkbWluLWVtcHR5LWxhcmdlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0xMikgdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5hZG1pbi1lbXB0eS1sYXJnZV9faWNvbiB7XG4gIGZvbnQtc2l6ZTogNDhweDtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNCk7XG4gIG9wYWNpdHk6IDAuMztcbn1cbiIsICIvKiBUaGlzIGZpbGUgaXMgZm9yIHlvdXIgbWFpbiBhcHBsaWNhdGlvbiBDU1MgKi9cbi8qIEFsbCBDU1MgaXMgYnVuZGxlZCB2aWEgZXNidWlsZCAtIGltcG9ydGVkIGluIGFwcC5qcyAqL1xuQGltcG9ydCBcIi4vZ2FsbGVyeS5jc3NcIjtcbkBpbXBvcnQgXCIuL3RoZW1lX21vZGVybi5jc3NcIjtcbkBpbXBvcnQgXCIuL2FpX2NvbGxhYi5jc3NcIjtcbkBpbXBvcnQgXCIuL2FkbWluLmNzc1wiO1xuXG4vKiBBbGVydHMgYW5kIGZvcm0gZXJyb3JzIHVzZWQgYnkgcGh4Lm5ldyAqL1xuLmFsZXJ0IHtcbiAgcGFkZGluZzogMTVweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cbi5hbGVydC1pbmZvIHtcbiAgY29sb3I6ICMzMTcwOGY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOWVkZjc7XG4gIGJvcmRlci1jb2xvcjogI2JjZThmMTtcbn1cbi5hbGVydC13YXJuaW5nIHtcbiAgY29sb3I6ICM4YTZkM2I7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmY2Y4ZTM7XG4gIGJvcmRlci1jb2xvcjogI2ZhZWJjYztcbn1cbi5hbGVydC1kYW5nZXIge1xuICBjb2xvcjogI2E5NDQ0MjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZGVkZTtcbiAgYm9yZGVyLWNvbG9yOiAjZWJjY2QxO1xufVxuLmFsZXJ0IHAge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmFsZXJ0OmVtcHR5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5pbnZhbGlkLWZlZWRiYWNrIHtcbiAgY29sb3I6ICNhOTQ0NDI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IC0xcmVtIDAgMnJlbTtcbn1cblxuLyogTGl2ZVZpZXcgc3BlY2lmaWMgY2xhc3NlcyBmb3IgeW91ciBjdXN0b21pemF0aW9uICovXG4ucGh4LW5vLWZlZWRiYWNrLmludmFsaWQtZmVlZGJhY2ssXG4ucGh4LW5vLWZlZWRiYWNrIC5pbnZhbGlkLWZlZWRiYWNrIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnBoeC1jbGljay1sb2FkaW5nIHtcbiAgb3BhY2l0eTogMC41O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDFzIGVhc2Utb3V0O1xufVxuXG4ucGh4LWRpc2Nvbm5lY3RlZHtcbiAgY3Vyc29yOiB3YWl0O1xufVxuLnBoeC1kaXNjb25uZWN0ZWQgKntcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5waHgtbW9kYWwge1xuICBvcGFjaXR5OiAxIWltcG9ydGFudDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCwwLDApO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuNCk7XG59XG5cbi5waHgtbW9kYWwtY29udGVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIG1hcmdpbjogMTV2aCBhdXRvO1xuICBwYWRkaW5nOiAyMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjODg4O1xuICB3aWR0aDogODAlO1xufVxuXG4ucGh4LW1vZGFsLWNsb3NlIHtcbiAgY29sb3I6ICNhYWE7XG4gIGZsb2F0OiByaWdodDtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLnBoeC1tb2RhbC1jbG9zZTpob3Zlcixcbi5waHgtbW9kYWwtY2xvc2U6Zm9jdXMge1xuICBjb2xvcjogYmxhY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjtBQXFEQTtBQUVFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUdBO0FBQ0E7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQUE7QUFTRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQUE7QUFlRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBT0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBT0E7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQWFGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFBQTtBQUNhO0FBQUE7QUFBQTtBQUNMO0FBQUE7QUFBQTtBQWtCUjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFNRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBTUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQU1GO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFtQjtBQUFBO0FBR25CO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUNhO0FBQUE7QUFBQTtBQUNMO0FBQUE7QUFBQTtBQUlSO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQVlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBTUY7QUFBQTtBQUVFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU9BO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFlRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBU0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBWUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBYUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQUE7QUFFRTtBQUNBO0FBQUE7QUFHRjtBQUFBO0FBRUU7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBWUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFZRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFlRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQUE7QUFZRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBYUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFhRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFFRTtBQUFBO0FBaUJGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUFBO0FBRUU7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUFBO0FBQ2E7QUFBQTtBQUFBO0FBQ0w7QUFBQTtBQUFBO0FBSVI7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUVFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFXRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQVlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQWNGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFDUztBQUFBO0FBQUE7QUFDRjtBQUFBO0FBQUE7QUFHUDtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBZUY7QUFFRTtBQUF3QjtBQUFBO0FBQ3hCO0FBQWlCO0FBQUE7QUFDakI7QUFBeUI7QUFBQTtBQUN6QjtBQUFXO0FBQUE7QUFHWDtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFBZ0I7QUFBQTtBQUNoQjtBQUFvQjtBQUFBO0FBQ3BCO0FBQWtCO0FBQUE7QUFDbEI7QUFBZTtBQUFBO0FBQ2Y7QUFBZ0I7QUFBQTtBQUdoQjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUFBO0FBVUo7QUFDRTtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUFBO0FBRUU7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFBQTtBQWFKO0FBQ0U7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUFnQjtBQUFBO0FBQ2hCO0FBQWdCO0FBQUE7QUFDaEI7QUFBa0I7QUFBQTtBQUVsQjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBQUE7QUFhSjtBQUNFO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQUE7QUFFRTtBQUNBO0FBQUE7QUFBQTtBQVlKO0FBQ0U7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUFBO0FBYUo7QUFDRTtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFBQTtBQVVKO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUlBO0FBQUE7QUFFRTtBQUFBO0FBUUY7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7OztBQzltRUY7QUFBQTtBQUdFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVVGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQVNGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQVNGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFTRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBU0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFTRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQUE7QUFFRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQUE7QUFTRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQVNGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBU0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFTRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQVNGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQVNGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBU0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQVNGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFTRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFZRjtBQUFBO0FBR0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFBQTtBQUVFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUNhO0FBQUE7QUFBQTtBQUNMO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUlSO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUdBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFLRjtBQUNFO0FBQ0E7QUFBQTtBQUtGO0FBQ0U7QUFDQTtBQUFBO0FBS0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBY0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFBQTtBQUFBO0FBR0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUFBO0FBQUE7QUFHRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFFRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQVVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQUE7QUFBQTtBQUdFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUFBO0FBR0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUFBO0FBRUU7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFHQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBYUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBaUQ7QUFBQTtBQUNqRDtBQUE4QztBQUFBO0FBQzlDO0FBQXFEO0FBQUE7QUFHckQ7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUNPO0FBQUE7QUFBQTtBQVFQO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFFRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBa0JGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFRRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFRRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFDYTtBQUFBO0FBQUE7QUFDTDtBQUFBO0FBQUE7QUFRUjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNFO0FBQUE7QUFBQTtBQUlKO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFBdUM7QUFBcUI7QUFBQTtBQUM1RDtBQUFzQztBQUFxQjtBQUFBO0FBQzNEO0FBQTBDO0FBQXFCO0FBQUE7QUFDL0Q7QUFBc0M7QUFBa0I7QUFBQTtBQUN4RDtBQUF5QztBQUFrQjtBQUFBO0FBQzNEO0FBQTJDO0FBQXFCO0FBQUE7QUFDaEU7QUFBeUM7QUFBcUI7QUFBQTtBQUM5RDtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQXNDO0FBQXFCO0FBQUE7QUFDM0Q7QUFBcUM7QUFBcUI7QUFBQTtBQU8xRDtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0U7QUFBQTtBQUFBO0FBSUo7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUE2QjtBQUFBO0FBQzdCO0FBQTZCO0FBQUE7QUFDN0I7QUFBNEI7QUFBQTtBQVE1QjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFtQjtBQUFBO0FBQ25CO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUVqQjtBQUFvQjtBQUFBO0FBQ3BCO0FBQWtCO0FBQUE7QUFPbEI7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFRRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNFO0FBQUE7QUFBQTtBQVNKO0FBQ0U7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFBQTtBQUFBO0FBR0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFBQTtBQUFBO0FBR0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUFBO0FBR0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFBQTtBQUdFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFBQTtBQUdFO0FBQUE7QUFHRjtBQUFBO0FBQUE7QUFHRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUFBO0FBRUU7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUFBO0FBR0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUFBO0FBQUE7QUFHRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQUFBO0FBS0o7QUFBVTtBQUFBOzs7QUNoaEdWO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFPRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUVFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQU9GO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBT0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFPRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBT0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQU9GO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBT0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFPRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQU9GO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQU9GO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBT0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBT0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQTBDO0FBQUE7QUFDMUM7QUFBMEM7QUFBQTtBQUMxQztBQUEwQztBQUFBO0FBRTFDO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFPRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFPRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBU0Y7QUFFRTtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQUE7QUFBQTtBQU1KO0FBRUU7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBQUE7QUFNSjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUFBO0FBQ2E7QUFBQTtBQUFBO0FBQ0w7QUFBQTtBQUFBOzs7QUN4NEJSO0FBRUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBT0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQU9GO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFFRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFFRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQU9GO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUFnQjtBQUFBO0FBQ2hCO0FBQWdCO0FBQUE7QUFDaEI7QUFBZ0I7QUFBQTtBQUVoQjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQWdCO0FBQUE7QUFNaEI7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQTJCO0FBQUE7QUFDM0I7QUFBMkI7QUFBQTtBQUMzQjtBQUF5QjtBQUFBO0FBQ3pCO0FBQXdCO0FBQUE7QUFNeEI7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFFRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFPRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBT0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUFBO0FBQUE7QUFHRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFBQTtBQUdFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFPRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFPRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQU9GO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFPRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUNPO0FBQUE7QUFBQTtBQU9QO0FBQW9CO0FBQUE7QUFDcEI7QUFBc0I7QUFBQTtBQUN0QjtBQUFzQjtBQUFBO0FBQ3RCO0FBQW9CO0FBQUE7QUFDcEI7QUFBbUI7QUFBQTtBQUVuQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUVqQjtBQUFtQjtBQUFBO0FBQ25CO0FBQW1CO0FBQUE7QUFFbkI7QUFBYztBQUFBO0FBQ2Q7QUFBYztBQUFBO0FBQ2Q7QUFBYztBQUFBO0FBQ2Q7QUFBYztBQUFBO0FBRWQ7QUFBYTtBQUFBO0FBQ2I7QUFBYTtBQUFBO0FBRWI7QUFBZ0I7QUFBQTtBQUdoQjtBQUFrQjtBQUFBO0FBR2xCO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFBQTtBQU9GO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQU9GO0FBQ0U7QUFBb0I7QUFBQTtBQUFBO0FBR3RCO0FBQ0U7QUFBb0I7QUFBQTtBQUNwQjtBQUF3QjtBQUFBO0FBQ3hCO0FBQWdCO0FBQUE7QUFDaEI7QUFBZ0I7QUFBQTtBQUFBO0FBR2xCO0FBRUU7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUVFO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFFRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQW9CO0FBQUE7QUFHcEI7QUFBMkI7QUFBQTtBQUUzQjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQUE7QUFBQTtBQUdFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUFBO0FBQUE7QUFJSjtBQUNFO0FBQ0U7QUFBQTtBQUdGO0FBQUE7QUFFRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBQUE7QUFRSjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFBQTtBQVNKO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUFBO0FBQUE7QUFHRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFRRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUNhO0FBQUE7QUFBQTtBQUNMO0FBQUE7QUFBQTtBQUlSO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQWtDO0FBQUE7QUFDbEM7QUFBa0M7QUFBQTtBQUNsQztBQUFpQztBQUFBO0FBR2pDO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFBQTtBQVNKO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBOzs7QUN4eURGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUFBO0FBRUU7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUFBO0FBRUU7QUFDQTtBQUNBO0FBQUE7IiwKICAibmFtZXMiOiBbXQp9Cg== */
