/* ====================
   DESIGN TOKENS — HIGH-FIDELITY CLAYMORPHISM
==================== */
:root {
    --canvas:       #F4F1FA;
    --card-bg:      rgba(255,255,255,0.72);
    --card-solid:   #ffffff;
    --surface:      #EFEBF5;
    --fg:           #332F3A;
    --muted:        #635F69;
    --accent:       #7C3AED;
    --accent-light: #A78BFA;
    --accent-alt:   #DB2777;
    --sky:          #0EA5E9;
    --emerald:      #10B981;
    --amber:        #F59E0B;
    --accent-glow:  rgba(124,58,237,0.18);
    --accent-dim:   rgba(124,58,237,0.08);
    --ease:         cubic-bezier(0.23, 1, 0.32, 1);
    --spring-ease:  cubic-bezier(0.175, 0.885, 0.32, 1.275);
    --reveal-time:  0.8s;

    /* SHADOW SYSTEM */
    --shadow-deep:
        30px 30px 60px #cdc6d9,
        -30px -30px 60px #ffffff,
        inset 10px 10px 20px rgba(139,92,246,0.05),
        inset -10px -10px 20px rgba(255,255,255,0.8);

    --shadow-card:
        16px 16px 32px rgba(160,150,180,0.2),
        -10px -10px 24px rgba(255,255,255,0.9),
        inset 6px 6px 12px rgba(139,92,246,0.03),
        inset -6px -6px 12px rgba(255,255,255,1);

    --shadow-card-hover:
        24px 24px 48px rgba(160,150,180,0.3),
        -14px -14px 32px rgba(255,255,255,1),
        inset 6px 6px 12px rgba(139,92,246,0.05),
        inset -6px -6px 12px rgba(255,255,255,1);

    --shadow-btn:
        12px 12px 24px rgba(139,92,246,0.3),
        -8px -8px 16px rgba(255,255,255,0.4),
        inset 4px 4px 8px rgba(255,255,255,0.4),
        inset -4px -4px 8px rgba(0,0,0,0.1);

    --shadow-btn-hover:
        16px 16px 32px rgba(139,92,246,0.4),
        -10px -10px 20px rgba(255,255,255,0.5),
        inset 4px 4px 8px rgba(255,255,255,0.5),
        inset -4px -4px 8px rgba(0,0,0,0.12);

    --shadow-pressed:
        inset 10px 10px 20px #d9d4e3,
        inset -10px -10px 20px #ffffff;

    --shadow-nav:
        8px 8px 20px rgba(160,150,180,0.18),
        -6px -6px 14px rgba(255,255,255,0.9),
        inset 2px 2px 6px rgba(139,92,246,0.04),
        inset -2px -2px 6px rgba(255,255,255,0.9);
}

/* ====================
   RESET & BASE
==================== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
@media (pointer: fine) { * { cursor: none; } }
html { scroll-behavior: smooth; }
body {
    background: var(--canvas);
    color: var(--fg);
    font-family: 'DM Sans', sans-serif;
    min-height: 100vh;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
}

/* ====================
   BACKGROUND: ANIMATED BLOBS + GRAIN
==================== */
.blob-bg { position: fixed; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
.blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
}
.blob-1 { width: 55vw; height: 55vw; background: rgba(124,58,237,0.08); top: -15%; left: -15%; animation: bfloat 10s ease-in-out infinite; }
.blob-2 { width: 45vw; height: 45vw; background: rgba(219,39,119,0.07); top: 10%; right: -15%; animation: bfloat 13s ease-in-out infinite reverse; }
.blob-3 { width: 40vw; height: 40vw; background: rgba(14,165,233,0.07); bottom: -10%; left: 30%; animation: bfloat 8s ease-in-out infinite; animation-delay: -4s; }
.blob-4 { width: 30vw; height: 30vw; background: rgba(16,185,129,0.06); bottom: 20%; right: 5%; animation: bfloat 12s ease-in-out infinite; animation-delay: -6s; }

@keyframes bfloat {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-30px) rotate(3deg); }
}

.grain-overlay {
    position: fixed; inset: 0; z-index: 99; pointer-events: none; opacity: 0.03;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ====================
   CUSTOM CURSOR
==================== */
#clay-cursor {
    position: fixed; width: 10px; height: 10px; margin: -5px 0 0 -5px;
    background: var(--accent); border-radius: 50%;
    pointer-events: none; z-index: 99999;
    transition: width .2s var(--ease), height .2s var(--ease), margin .2s var(--ease), background .2s;
    opacity: 0;
}
#clay-cursor-ring {
    position: fixed; width: 36px; height: 36px; margin: -18px 0 0 -18px;
    border: 2px solid rgba(124,58,237,0.35); border-radius: 50%;
    pointer-events: none; z-index: 99998;
    opacity: 0;
    transition: width .25s var(--ease), height .25s var(--ease), margin .25s var(--ease), opacity .3s, border-color .3s;
}

/* ====================
   SCROLL REVEAL UTILS
==================== */
/* Reactive Reveal: Alternating Sides & Scale */
.reveal-hidden {
    opacity: 0;
    transform: translateY(24px) scale(0.94);
    transition: 
        opacity 0.6s cubic-bezier(0.34, 1.56, 0.64, 1), 
        transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
    will-change: transform, opacity;
}

.reveal-left { transform: translateX(-40px) translateY(20px) rotate(-2deg) scale(0.92); opacity: 0; }
.reveal-right { transform: translateX(40px) translateY(20px) rotate(2deg) scale(0.92); opacity: 0; }
.reveal-zoom { transform: scale(0.8); opacity: 0; }

.reveal-visible {
    opacity: 1;
    transform: translateY(0) translateX(0) scale(1) rotate(0);
}

/* Staggered entries */
.stagger-1 { transition-delay: 0.1s; }
.stagger-2 { transition-delay: 0.2s; }
.stagger-3 { transition-delay: 0.3s; }
.stagger-4 { transition-delay: 0.4s; }

/* Text Stagger Effect (No Blur) */
.stagger-text span {
    display: inline-block;
    opacity: 0;
    transform: translateY(20px);
    animation: fadeUpReveal 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}
@keyframes fadeUpReveal {
    to { opacity: 1; transform: translateY(0); }
}

/* ====================
   INTERACTIVE SHINE EFFECT
==================== */
.shine-parent { position: relative; overflow: hidden; }
.shine-parent::after {
    content: "";
    position: absolute;
    top: -50%; left: -50%;
    width: 200%; height: 200%;
    background: linear-gradient(
        45deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0) 40%,
        rgba(255, 255, 255, 0.4) 50%,
        rgba(255, 255, 255, 0) 60%,
        rgba(255, 255, 255, 0) 100%
    );
    transform: rotate(-45deg) translateY(-100%);
    transition: transform 0.6s var(--ease);
    pointer-events: none;
    z-index: 10;
}
.shine-parent:hover::after { transform: rotate(-45deg) translateY(100%); }

/* ====================
   NAVIGATION
==================== */
/* ====================
   PREMIUM LIQUID NAVBAR
 ==================== */
.navbar {
    position: fixed; top: 20px; left: 50%; transform: translateX(-50%);
    z-index: 1000; width: auto;
}
.nav-inner {
    display: flex; align-items: center; justify-content: space-between;
    gap: 12px; padding: 8px 12px;
    background: rgba(255,255,255,0.7);
    backdrop-filter: blur(32px) saturate(1.8);
    border-radius: 100px;
    box-shadow: 
        0 12px 32px rgba(0,0,0,0.05),
        inset 0 0 0 1px rgba(255,255,255,0.8);
    border: 0.5px solid rgba(124,58,237,0.1);
    transition: all 0.4s var(--ease);
}
.nav-logo {
    font-family: 'Nunito', sans-serif; font-weight: 900; font-size: 20px;
    color: var(--accent); text-decoration: none; 
    padding: 8px 16px; border-radius: 100px;
    cursor: pointer; letter-spacing: -0.04em;
    transition: transform 0.3s;
}
.nav-logo:hover { transform: scale(1.05); background: rgba(124,58,237,0.05); }

.nav-links { display: flex; gap: 4px; align-items: center; }

.nav-item {
    font-family: 'DM Mono', monospace; font-size: 10px;
    text-transform: uppercase; letter-spacing: 0.12em;
    color: var(--muted); background: none; border: none;
    padding: 10px 18px; border-radius: 100px;
    transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1); cursor: pointer;
}
.nav-item:hover { color: var(--fg); background: rgba(124,58,237,0.07); transform: translateY(-2px); }
.nav-item.active {
    color: white;
    background: var(--accent);
    box-shadow: 0 8px 16px var(--accent-glow);
}

/* MOBILE TOGGLE OVERHAUL */
.mobile-toggle {
    display: none; width: 44px; height: 44px;
    background: rgba(124,58,237,0.05); border: none;
    color: var(--accent); border-radius: 50%;
    cursor: pointer; position: relative;
    transition: all 0.3s var(--ease);
}
.mobile-toggle span {
    position: absolute; width: 20px; height: 1.5px;
    background: currentColor; left: 12px;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.mobile-toggle span:nth-child(1) { top: 16px; }
.mobile-toggle span:nth-child(2) { top: 22px; width: 14px; }
.mobile-toggle span:nth-child(3) { top: 28px; }

.mobile-toggle.active span:nth-child(1) { transform: rotate(45deg); top: 22px; }
.mobile-toggle.active span:nth-child(2) { opacity: 0; transform: translateX(-10px); }
.mobile-toggle.active span:nth-child(3) { transform: rotate(-45deg); top: 22px; }

/* REFINED MOBILE OVERLAY */
.mobile-overlay {
    position: fixed; inset: 0; z-index: 2000;
    background: rgba(255,255,255,0.7);
    backdrop-filter: blur(100px);
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    opacity: 0; pointer-events: none;
    transition: opacity 0.5s ease;
}
.mobile-overlay.active { opacity: 1; pointer-events: auto; }

.mobile-links {
    display: flex; flex-direction: column; gap: 32px; text-align: center;
}
.m-nav-item {
    font-family: 'Nunito', sans-serif; font-size: 36px; font-weight: 900;
    color: var(--fg); background: none; border: none;
    cursor: pointer; opacity: 0; transform: translateY(20px) scale(0.9);
    transition: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.mobile-overlay.active .m-nav-item { opacity: 1; transform: translateY(0) scale(1); }
.m-nav-item:hover { color: var(--accent); letter-spacing: 0.1em; }

@media (max-width: 1024px) {
    .nav-links { display: none; }
    .mobile-toggle { display: flex; align-items: center; justify-content: center; }
    .navbar { width: 92%; }
    .nav-inner { padding: 4px 6px; }
}

/* ====================
   SECTIONS
==================== */
.section { position: relative; z-index: 1; min-height: 100vh; }
.section:not(#section-home) { padding-top: 120px; }

/* ====================
   HOME SECTION
==================== */
#section-home { overflow: hidden; height: 100vh; }

.kinetic-wrap {
    position: absolute; inset: 0;
    display: flex; flex-direction: column; justify-content: center; align-items: center;
    z-index: 0; overflow: hidden; -webkit-user-select: none; -moz-user-select: none; user-select: none; pointer-events: none;
}
.kinetic-text {
    font-family: 'Nunito', sans-serif; font-weight: 900;
    font-size: clamp(60px, 13vw, 280px);
    line-height: 0.9; white-space: nowrap; text-transform: uppercase;
    letter-spacing: -0.05em;
    color: transparent;
    -webkit-text-stroke: 1px rgba(124,58,237,0.06);
}

#section-home main {
    position: relative; height: 100vh;
    display: flex; flex-direction: column; justify-content: center;
    padding: 0 8%; z-index: 1;
}
.hero-top {
    font-family: 'DM Mono', monospace; font-size: 11px;
    color: var(--accent); letter-spacing: 0.45em; text-transform: uppercase;
    margin-bottom: 20px; display: block;
}
.hero-container {
    display: flex; align-items: center;
    gap: clamp(40px, 8vw, 120px);
}
.hero-title {
    font-family: 'Nunito', sans-serif;
    font-size: clamp(54px, 13vw, 172px);
    font-weight: 900; line-height: 0.85; letter-spacing: -0.05em;
    color: var(--fg);
}
.hero-title .outline {
    color: transparent;
    -webkit-text-stroke: 2px var(--accent);
    font-style: italic;
}

.data-wing {
    display: flex; flex-direction: column; gap: 32px;
    padding-left: 50px;
    border-left: 2px solid rgba(124,58,237,0.12);
    margin-top: 30px;
    animation: fadeInRight 1.2s var(--ease) forwards;
}
@keyframes fadeInRight { from { opacity:0; transform:translateX(30px); } to { opacity:1; transform:translateX(0); } }

.wing-icons { display: flex; gap: 24px; }
.wing-icons i {
    font-size: 36px; color: var(--muted);
    transition: all 0.4s var(--ease);
    padding: 14px;
    background: var(--card-bg);
    border-radius: 20px;
    box-shadow: var(--shadow-card);
}
.wing-icons i:hover {
    color: var(--accent);
    transform: translateY(-8px);
    box-shadow: var(--shadow-card-hover);
}

.wing-visual {
    width: 340px; height: 150px; position: relative;
    background: var(--card-bg);
    border-radius: 24px; overflow: hidden;
    box-shadow: var(--shadow-card);
    backdrop-filter: blur(12px);
}
.scanner {
    position: absolute; top: 0; left: 0; width: 100%; height: 2px;
    background: linear-gradient(90deg, transparent, var(--accent), transparent);
    box-shadow: 0 0 16px rgba(124,58,237,0.5);
    animation: scan 5s infinite ease-in-out; z-index: 5;
}
@keyframes scan { 0%{top:0%;opacity:0} 10%{opacity:1} 90%{opacity:1} 100%{top:100%;opacity:0} }
.illustration-svg { position: absolute; inset: 0; padding: 20px; opacity: 0.5; }
.hex-data {
    font-family: 'DM Mono', monospace; font-size: 11px;
    color: var(--muted); letter-spacing: 0.15em; line-height: 2.2;
    padding: 16px 20px;
}

.hero-footer {
    position: absolute; bottom: 60px; left: 8%; right: 8%;
    display: flex; justify-content: space-between; align-items: flex-end;
}
.desc-box {
    max-width: 400px; font-size: 15px; font-weight: 400;
    color: var(--muted); line-height: 1.8;
    background: var(--card-bg); backdrop-filter: blur(12px);
    padding: 24px 28px; border-radius: 24px;
    box-shadow: var(--shadow-card);
}
.coordinates {
    font-family: 'DM Mono', monospace; font-size: 10px;
    color: rgba(124,58,237,0.3); writing-mode: vertical-rl; letter-spacing: 0.3em;
}

.scroll-trigger {
    position: absolute; bottom: 40px; left: 50%; transform: translateX(-50%);
    display: flex; flex-direction: column; align-items: center; gap: 10px;
    pointer-events: none;
}
.scroll-line {
    width: 2px; height: 50px;
    background: linear-gradient(to bottom, var(--accent), transparent);
    animation: pulseHeight 2s infinite var(--ease);
    border-radius: 2px;
}
@keyframes pulseHeight { 0%{height:0;transform:translateY(0)} 50%{height:36px} 100%{height:0;transform:translateY(36px)} }

/* ====================
   SHARED SECTION LAYOUT
==================== */
.page-wrap { max-width: 1200px; margin: 0 auto; padding: 80px 48px; }
.section-header { margin-bottom: 64px; }
.eyebrow {
    font-family: 'DM Mono', monospace; font-size: 11px;
    letter-spacing: 0.4em; text-transform: uppercase;
    color: var(--accent); display: inline-flex; align-items: center; gap: 10px;
    margin-bottom: 20px;
}
.eyebrow::before {
    content: ''; width: 28px; height: 2px;
    background: linear-gradient(90deg, var(--accent), var(--accent-light));
    border-radius: 2px; display: inline-block;
}
.display-lg {
    font-family: 'Nunito', sans-serif;
    font-size: clamp(40px, 6vw, 72px); font-weight: 900;
    line-height: 1.05; color: var(--fg); margin-bottom: 28px;
    letter-spacing: -0.03em;
}
.display-lg .clay-stroke {
    color: transparent;
    -webkit-text-stroke: 2px var(--accent);
}
.display-md {
    font-family: 'Nunito', sans-serif;
    font-size: clamp(32px, 5vw, 60px); font-weight: 900;
    line-height: 1.1; color: var(--fg); margin-bottom: 60px;
    letter-spacing: -0.03em;
}
.body-text { font-size: 17px; line-height: 1.85; color: var(--muted); max-width: 640px; text-align: justify; }

.section-divider {
    height: 0; position: relative; z-index: 1;
    margin: 0 48px;
}
.section-divider::after {
    content: ''; display: block; height: 1px;
    background: linear-gradient(90deg, transparent, rgba(124,58,237,0.15), transparent);
}

/* ====================
   ABOUT
==================== */
.about-grid { display: grid; grid-template-columns: 1.2fr 1fr; min-height: 80vh; gap: 0; }
.content-chamber {
    padding: 60px 10% 60px 0;
    display: flex; flex-direction: column; justify-content: center;
}
.visual-chamber {
    position: relative;
    display: flex; align-items: center; justify-content: center;
    padding: 80px 60px;
}

.pill-anchor {
    position: relative; width: 300px; height: 450px;
    border-radius: 150px; z-index: 5;
    transition: transform 0.8s var(--ease);
}
.pill-shroud {
    position: absolute; inset: -16px;
    border: 2px solid rgba(124,58,237,0.12);
    border-radius: 170px; z-index: -1;
    background: linear-gradient(135deg, rgba(124,58,237,0.06), transparent);
    backdrop-filter: blur(4px);
    box-shadow: var(--shadow-card);
}
.pill-frame {
    width: 100%; height: 100%; border-radius: 150px;
    overflow: hidden;
    box-shadow:
        20px 30px 60px rgba(124,58,237,0.2),
        -12px -12px 30px rgba(255,255,255,0.9),
        inset 4px 4px 10px rgba(124,58,237,0.06),
        inset -4px -4px 10px rgba(255,255,255,0.8);
}
.pill-frame img {
    width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover;
    filter: saturate(1.05) contrast(1.05);
    transition: all 1.2s var(--ease);
}
.pill-anchor:hover .pill-frame img { transform: scale(1.06); filter: saturate(1.1) contrast(1.08); }

/* ABOUT GALLERY BUTTON */
.about-gallery-btn {
    position: absolute;
    bottom: 40px;
    right: -60px;
    background: var(--card-bg);
    backdrop-filter: blur(24px);
    padding: 22px 18px;
    border-radius: 24px;
    box-shadow: var(--shadow-card);
    text-decoration: none;
    z-index: 20;
    transition: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
    display: block;
    width: 120px;
    border: 1px solid rgba(255,255,255,0.8);
}
.about-gallery-btn .agb-inner {
    display: flex; flex-direction: column; align-items: center; gap: 10px;
    text-align: center;
}
.about-gallery-btn i { 
    font-size: 20px; color: white; 
    width: 44px; height: 44px; background: var(--accent);
    display: flex; align-items: center; justify-content: center;
    border-radius: 12px; box-shadow: var(--shadow-btn);
}
.about-gallery-btn span {
    font-family: 'DM Mono', monospace; font-size: 9px;
    color: var(--muted); font-weight: 600; line-height: 1.3;
    letter-spacing: 0.12em; text-transform: uppercase;
}
.about-gallery-btn:hover {
    transform: scale(1.15) translateX(12px) rotate(3deg);
    box-shadow: var(--shadow-card-hover);
}
.about-gallery-btn:active { transform: scale(0.95); }

.hud-element {
    position: absolute; font-family: 'DM Mono', monospace; font-size: 9px;
    color: rgba(124,58,237,0.25); display: flex; align-items: center;
    gap: 8px; white-space: nowrap;
}
.hud-1 { top: 12%; left: -10px; transform: rotate(-90deg); }
.hud-2 { bottom: 12%; right: -10px; transform: rotate(90deg); }

.badge-line {
    display: flex; align-items: center; gap: 16px; margin-bottom: 32px;
}
.badge-line span {
    font-family: 'DM Mono', monospace; font-size: 11px;
    color: var(--accent); letter-spacing: 0.3em; text-transform: uppercase;
}
.badge-line .line { width: 40px; height: 1.5px; background: rgba(124,58,237,0.2); border-radius: 2px; }

.headline {
    font-family: 'Nunito', sans-serif;
    font-size: clamp(44px, 7vw, 100px); font-weight: 900;
    line-height: 0.9; letter-spacing: -0.04em; margin-bottom: 48px;
    color: var(--fg);
}
.headline em {
    display: block; color: transparent;
    -webkit-text-stroke: 1.5px var(--muted);
    font-style: italic;
}

.narrative-text { max-width: 480px; color: var(--muted); font-size: 16px; font-weight: 400; line-height: 1.85; }

.bio-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 36px; }
.bio-card {
    padding: 22px; border-radius: 20px;
    background: var(--card-bg); backdrop-filter: blur(12px);
    box-shadow: var(--shadow-card);
    transition: all 0.4s var(--ease);
}
.bio-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-card-hover);
}
.bio-card h4 {
    font-family: 'DM Mono', monospace; font-size: 10px;
    color: var(--accent); margin-bottom: 10px;
    text-transform: uppercase; letter-spacing: 0.1em;
}
.bio-card p { font-size: 13px; line-height: 1.7; color: var(--muted); }

.bg-typography {
    position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
    font-family: 'Nunito', sans-serif; font-size: 10vw; font-weight: 900;
    line-height: 1; z-index: 0; color: transparent;
    -webkit-text-stroke: 1px rgba(124,58,237,0.05);
    white-space: nowrap; pointer-events: none;
    text-transform: uppercase;
}
.side-marker {
    position: absolute; right: 24px; top: 50%;
    transform: translateY(-50%) rotate(90deg);
    font-family: 'DM Mono', monospace; font-size: 9px;
    letter-spacing: 0.5em; color: rgba(124,58,237,0.2);
    text-transform: uppercase; z-index: 10;
}

/* ====================
   PASSION
==================== */
.passions-container { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 64px; }
.passion-panel {
    background: var(--card-bg); backdrop-filter: blur(16px);
    padding: 48px 32px; border-radius: 32px;
    position: relative; min-height: 380px; overflow: hidden;
    box-shadow: var(--shadow-card);
    transition: all 0.5s var(--ease);
}
.passion-panel:hover { transform: translateY(-8px); box-shadow: var(--shadow-card-hover); }
.passion-ghost-text {
    position: absolute; bottom: -20px; left: -10px;
    font-family: 'Nunito', sans-serif; font-size: 96px; font-weight: 900;
    color: rgba(124,58,237,0.04); text-transform: uppercase;
    pointer-events: none; -webkit-user-select: none; -moz-user-select: none; user-select: none;
}
.passion-icon {
    font-size: 28px; margin-bottom: 24px;
    width: 62px; height: 62px; border-radius: 20px;
    display: flex; align-items: center; justify-content: center;
    box-shadow: var(--shadow-btn);
}
.passion-panel:nth-child(1) .passion-icon { background: linear-gradient(135deg, #FBD38D, #F6AD55); color: white; }
.passion-panel:nth-child(2) .passion-icon { background: linear-gradient(135deg, #76E4F7, #0EA5E9); color: white; }
.passion-panel:nth-child(3) .passion-icon { background: linear-gradient(135deg, #F687B3, #DB2777); color: white; }
.passion-title {
    font-family: 'Nunito', sans-serif; font-size: 24px; font-weight: 800;
    color: var(--fg); margin-bottom: 14px; letter-spacing: -0.02em;
}
.passion-desc { font-size: 14px; line-height: 1.85; color: var(--muted); }

/* ====================
   SKILLS
==================== */
.skills-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 24px; margin: 64px 0; }
.skill-card {
    background: var(--card-bg); backdrop-filter: blur(16px);
    padding: 44px 32px; border-radius: 32px;
    position: relative; overflow: hidden; min-height: 440px;
    box-shadow: var(--shadow-card);
    transition: all 0.5s var(--ease);
}
.skill-card:hover { transform: translateY(-8px); box-shadow: var(--shadow-card-hover); }
.card-bg-name {
    position: absolute; bottom: -8px; left: -8px;
    font-family: 'Nunito', sans-serif; font-size: 72px; font-weight: 900;
    color: rgba(124,58,237,0.04); -webkit-user-select: none; -moz-user-select: none; user-select: none; pointer-events: none;
}
.card-icon {
    font-size: 26px; margin-bottom: 22px;
    width: 60px; height: 60px; border-radius: 20px;
    display: flex; align-items: center; justify-content: center;
    box-shadow: var(--shadow-btn);
}
.skill-card:nth-child(1) .card-icon { background: linear-gradient(135deg, #A78BFA, #7C3AED); color: white; }
.skill-card:nth-child(2) .card-icon { background: linear-gradient(135deg, #6EE7B7, #10B981); color: white; }
.skill-card:nth-child(3) .card-icon { background: linear-gradient(135deg, #FCA5A5, #EF4444); color: white; }
.card-name {
    font-family: 'Nunito', sans-serif; font-size: 24px; font-weight: 800;
    color: var(--fg); margin-bottom: 14px; letter-spacing: -0.02em;
}
.card-desc { font-size: 14px; line-height: 1.75; color: var(--muted); margin-bottom: 36px; }
.focus-list { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.focus-item {
    display: flex; align-items: center; gap: 12px;
    font-size: 12px; font-family: 'DM Mono', monospace;
    color: var(--muted); text-transform: uppercase; letter-spacing: 0.04em;
}
.focus-item i {
    width: 6px; height: 6px; background: var(--accent);
    border-radius: 50%; flex-shrink: 0;
    box-shadow: 0 0 6px rgba(124,58,237,0.4);
}

.management-card {
    background: var(--card-bg); backdrop-filter: blur(16px);
    border-radius: 32px; padding: 56px;
    display: grid; grid-template-columns: 1fr 1fr; gap: 56px;
    margin-bottom: 80px; box-shadow: var(--shadow-card);
}
.tag-cloud { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 20px; }
.tag {
    padding: 9px 18px;
    background: rgba(124,58,237,0.07);
    border: none; color: var(--accent);
    font-family: 'DM Mono', monospace; font-size: 10px;
    border-radius: 100px; text-transform: uppercase; letter-spacing: 0.08em;
    box-shadow: inset 3px 3px 6px rgba(124,58,237,0.08), inset -3px -3px 6px rgba(255,255,255,0.7);
}

/* ====================
   EFFORTS — PROJECTS
==================== */
.efforts-wrap { max-width: 1200px; margin: 0 auto; padding: 60px 48px; }
.projects-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin-bottom: 100px; }
.project-card {
    background: var(--card-bg); backdrop-filter: blur(16px);
    padding: 36px 32px; border-radius: 28px;
    text-decoration: none; color: inherit;
    display: flex; flex-direction: column;
    box-shadow: var(--shadow-card);
    transition: all 0.4s var(--ease);
}
.project-card:hover { transform: translateY(-8px); box-shadow: var(--shadow-card-hover); }
.project-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.p-tag {
    font-family: 'DM Mono', monospace; font-size: 9px;
    color: var(--accent); text-transform: uppercase; letter-spacing: 1px;
    padding: 5px 12px; border-radius: 100px;
    background: rgba(124,58,237,0.08);
    box-shadow: inset 2px 2px 4px rgba(124,58,237,0.06), inset -2px -2px 4px rgba(255,255,255,0.7);
}
.p-title {
    font-family: 'Nunito', sans-serif; font-size: 24px; font-weight: 800;
    color: var(--fg); margin-bottom: 14px; letter-spacing: -0.02em;
}
.p-desc { font-size: 14px; color: var(--muted); line-height: 1.8; margin-bottom: 32px; }
.link-indicator {
    font-family: 'DM Mono', monospace; font-size: 9px;
    color: var(--accent); text-transform: uppercase; letter-spacing: 1px;
    margin-top: auto; display: flex; align-items: center; gap: 8px;
}

/* WRITINGS */
.writings-list { display: flex; flex-direction: column; gap: 0; margin-bottom: 100px; }
.writing-item {
    display: grid; grid-template-columns: 1fr auto auto;
    align-items: center; gap: 24px;
    padding: 40px 0;
    border-bottom: 1px solid rgba(124,58,237,0.08);
    text-decoration: none; color: inherit;
    transition: all 0.4s var(--ease);
}
.writing-item:hover { padding-left: 18px; }
.w-subtitle {
    font-family: 'DM Mono', monospace; font-size: 9px;
    color: var(--accent); text-transform: uppercase;
    margin-bottom: 8px; display: block; letter-spacing: 0.1em;
}
.w-title {
    font-family: 'Nunito', sans-serif; font-size: 28px;
    font-weight: 800; color: var(--fg); letter-spacing: -0.02em;
}
.writing-item:hover .w-title { color: var(--accent); }
.w-desc { font-size: 14px; color: var(--muted); line-height: 1.8; margin-top: 12px; max-width: 680px; }
.w-icon { font-size: 24px; color: rgba(124,58,237,0.2); }

/* CREATIVE GRID */
.creative-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.creative-card {
    background: var(--card-bg); backdrop-filter: blur(16px);
    padding: 48px 36px; display: flex; flex-direction: column;
    text-decoration: none; color: inherit; border-radius: 28px;
    box-shadow: var(--shadow-card);
    transition: all 0.4s var(--ease);
}
.creative-card:hover { transform: translateY(-8px); box-shadow: var(--shadow-card-hover); }
.c-icon-box {
    width: 80px; height: 80px;
    border-radius: 24px; display: flex; align-items: center;
    justify-content: center; margin-bottom: 40px;
    font-size: 28px; color: white;
    box-shadow: var(--shadow-btn);
}
.creative-card:nth-child(1) .c-icon-box { background: linear-gradient(135deg, #60A5FA, #2563EB); }
.creative-card:nth-child(2) .c-icon-box { background: linear-gradient(135deg, #A78BFA, #7C3AED); }
.creative-card:nth-child(3) .c-icon-box { background: linear-gradient(135deg, #F9A8D4, #DB2777); }
.c-title {
    font-family: 'Nunito', sans-serif; font-size: 22px; font-weight: 800;
    color: var(--fg); margin-bottom: 14px; letter-spacing: -0.02em;
}
.c-desc { font-size: 14px; color: var(--muted); line-height: 1.8; margin-bottom: 36px; }
.c-btn {
    font-family: 'DM Mono', monospace; font-size: 9px;
    color: var(--accent); text-transform: uppercase; letter-spacing: 1px;
    margin-top: auto; display: flex; align-items: center; gap: 8px;
}

/* ====================
   ATTAINMENTS
==================== */
.attainment-list { display: flex; flex-direction: column; gap: 0; }
.attainment-row {
    display: grid; grid-template-columns: 160px 1fr auto;
    align-items: center; padding: 40px 24px;
    border-bottom: 1px solid rgba(124,58,237,0.08);
    border-radius: 0; transition: all 0.4s var(--ease);
}
.attainment-row:hover {
    padding-left: 40px;
    background: rgba(124,58,237,0.04);
    border-radius: 20px;
}
.a-year {
    font-family: 'DM Mono', monospace; font-size: 15px;
    color: rgba(124,58,237,0.35); font-weight: 500;
}
.attainment-row:hover .a-year { color: var(--accent); }
.a-info { display: flex; flex-direction: column; gap: 6px; }
.a-category {
    font-family: 'DM Mono', monospace; font-size: 9px;
    color: var(--accent); text-transform: uppercase; letter-spacing: 1px;
}
.a-title {
    font-family: 'Nunito', sans-serif; font-size: 26px;
    font-weight: 800; color: var(--fg); letter-spacing: -0.02em;
}
.attainment-row:hover .a-title { color: var(--accent); }
.a-icon { font-size: 28px; color: rgba(124,58,237,0.15); }

/* ====================
   EXPLORE
==================== */
.explore-app {
    display: grid; grid-template-columns: 320px 1fr;
    min-height: 100vh;
}
.explore-sidebar {
    padding: 80px 48px;
    display: flex; flex-direction: column; justify-content: space-between;
    background: rgba(255,255,255,0.5); backdrop-filter: blur(20px);
    border-right: 1px solid rgba(124,58,237,0.08);
}
.brand-diamond {
    width: 56px; height: 56px;
    background: linear-gradient(135deg, var(--accent-light), var(--accent));
    display: flex; align-items: center; justify-content: center;
    transform: rotate(45deg); margin-bottom: 48px; border-radius: 14px;
    box-shadow: var(--shadow-btn);
}
.brand-diamond span {
    transform: rotate(-45deg); font-weight: 900;
    color: white; font-family: 'Nunito', sans-serif; font-size: 22px;
}
.sidebar-title {
    font-family: 'Nunito', sans-serif; font-size: 38px; font-weight: 900;
    line-height: 1.05; margin-bottom: 24px; color: var(--fg);
    letter-spacing: -0.03em;
}
.sidebar-desc { font-size: 15px; color: var(--muted); line-height: 1.8; }
.scroll-indicator { display: flex; align-items: center; gap: 16px; margin-top: auto; }
.thin-line { width: 36px; height: 1.5px; background: rgba(124,58,237,0.2); border-radius: 2px; }
.scroll-indicator span {
    font-family: 'DM Mono', monospace; font-size: 9px;
    color: rgba(124,58,237,0.35); text-transform: uppercase; letter-spacing: 2px;
}

.explore-content {
    padding: 80px; display: grid;
    grid-template-columns: repeat(12, 1fr); gap: 24px;
}
.explore-card {
    position: relative;
    background: var(--card-bg); backdrop-filter: blur(16px);
    padding: 52px 40px;
    text-decoration: none; color: inherit;
    display: flex; flex-direction: column;
    border-radius: 28px;
    box-shadow: var(--shadow-card);
    transition: all 0.5s var(--ease); overflow: hidden;
}
.explore-card:hover { transform: translateY(-12px); box-shadow: var(--shadow-card-hover); }
.ecard-1 { grid-column: span 7; grid-row: span 3; }
.ecard-2 { grid-column: span 5; grid-row: span 4; }
.ecard-3 { grid-column: span 5; grid-row: span 3; margin-top: -60px; }
.ecard-4 { grid-column: span 7; grid-row: span 2; }
.card-eyebrow {
    font-family: 'DM Mono', monospace; font-size: 9px;
    color: var(--accent); text-transform: uppercase;
    margin-bottom: 18px; display: block; letter-spacing: 1px;
}
.card-title {
    font-family: 'Nunito', sans-serif; font-size: 28px; font-weight: 800;
    color: var(--fg); margin-bottom: 20px; letter-spacing: -0.02em;
}
.card-desc-e { font-size: 14px; color: var(--muted); line-height: 1.8; margin-bottom: 40px; }
.card-footer-e { margin-top: auto; display: flex; align-items: center; justify-content: space-between; }
.card-num-e {
    font-family: 'DM Mono', monospace; font-size: 10px;
    color: rgba(124,58,237,0.3); letter-spacing: 1px;
}
.card-link {
    font-size: 22px; color: var(--accent);
    transition: transform 0.3s var(--ease);
    width: 48px; height: 48px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    background: rgba(124,58,237,0.08);
    box-shadow: inset 3px 3px 6px rgba(124,58,237,0.08), inset -3px -3px 6px rgba(255,255,255,0.7);
}
.explore-card:hover .card-link { transform: translate(4px,-4px); }

/* Explore card accent stripe */
.ecard-1::before { content:''; position:absolute; top:0; left:0; right:0; height:4px; background: linear-gradient(90deg, var(--accent), var(--accent-alt)); border-radius: 28px 28px 0 0; }
.ecard-2::before { content:''; position:absolute; top:0; left:0; right:0; height:4px; background: linear-gradient(90deg, var(--sky), var(--emerald)); border-radius: 28px 28px 0 0; }
.ecard-3::before { content:''; position:absolute; top:0; left:0; right:0; height:4px; background: linear-gradient(90deg, var(--amber), #F97316); border-radius: 28px 28px 0 0; }
.ecard-4::before { content:''; position:absolute; top:0; left:0; right:0; height:4px; background: linear-gradient(90deg, var(--accent-alt), #9333EA); border-radius: 28px 28px 0 0; }

/* ====================
   CONNECT
==================== */
#section-connect main {
    min-height: 100vh; display: flex; align-items: center;
    justify-content: center; padding: 0 48px;
}
.desktop-row {
    display: flex; align-items: flex-end; justify-content: space-between;
    gap: 80px; max-width: 1300px; width: 100%;
}
.contact-header { max-width: 480px; }
.status-dot {
    display: flex; align-items: center; gap: 12px; margin-bottom: 28px;
    font-family: 'DM Mono', monospace; font-size: 10px;
    color: var(--emerald); text-transform: uppercase; letter-spacing: 1px;
}
.dot-pulse {
    width: 10px; height: 10px; background: var(--emerald);
    border-radius: 50%; box-shadow: 0 0 10px var(--emerald);
    animation: pulse 2s infinite;
}
@keyframes pulse { 0%{transform:scale(1);opacity:1} 50%{transform:scale(2.5);opacity:0} 100%{transform:scale(1);opacity:0} }
.contact-header h1 {
    font-family: 'Nunito', sans-serif; font-size: clamp(60px, 8vw, 100px);
    font-weight: 900; line-height: 0.88; margin-bottom: 20px;
    letter-spacing: -0.04em; color: var(--fg);
}
.contact-header .outline {
    color: transparent; -webkit-text-stroke: 2px var(--accent);
}
.contact-header p { font-size: 16px; color: var(--muted); line-height: 1.8; }

.rs-contact-grid {
    display: grid; grid-template-columns: repeat(4, 1fr);
    gap: 12px; flex: 1; min-width: 460px;
}
.contact-card {
    background: var(--card-bg); backdrop-filter: blur(12px);
    aspect-ratio: 1; display: flex; align-items: center; justify-content: center;
    font-size: 26px; color: var(--muted); text-decoration: none;
    border-radius: 24px; box-shadow: var(--shadow-card);
    transition: all 0.4s var(--ease);
}
.contact-card:hover {
    color: var(--accent); transform: translateY(-8px) scale(1.04);
    box-shadow: var(--shadow-card-hover);
}

.rs-mail-card {
    grid-column: span 4;
    background: linear-gradient(135deg, var(--accent-light), var(--accent));
    color: white; border: none; padding: 44px;
    display: flex; justify-content: space-between; align-items: center;
    cursor: pointer; border-radius: 28px;
    box-shadow: var(--shadow-btn);
    transition: all 0.4s var(--ease);
    position: relative; overflow: hidden;
}
.rs-mail-card::before {
    content: '';
    position: absolute; inset: 0; border-radius: 28px;
    background: linear-gradient(135deg, rgba(255,255,255,0.2), transparent);
    pointer-events: none;
}
.rs-mail-card:hover { transform: translateY(-4px) scale(1.01); box-shadow: var(--shadow-btn-hover); }
.rs-mc-tag {
    font-family: 'DM Mono', monospace; font-size: 10px;
    margin-bottom: 10px; display: flex; align-items: center; gap: 10px;
    text-transform: uppercase; letter-spacing: 1px; font-weight: 700; opacity: 0.85;
}
.rs-mc-pulse {
    width: 8px; height: 8px; background: white; border-radius: 50%; opacity: 0.6;
    animation: rs-pulse 2s infinite;
}
@keyframes rs-pulse { 0%{transform:scale(1);opacity:0.6} 50%{transform:scale(1.6);opacity:0} 100%{transform:scale(1);opacity:0.6} }
.rs-mc-title {
    font-family: 'Nunito', sans-serif; font-size: 42px;
    font-weight: 900; line-height: 0.95; letter-spacing: -0.03em;
}
.rs-mc-title em { font-style: italic; opacity: 0.65; }
.rs-mc-icon { font-size: 44px; }
.rs-mc-arrow { font-size: 22px; opacity: 0.55; margin-top: 8px; }

.system-footer {
    padding: 48px 8%; border-top: 1px solid rgba(124,58,237,0.08);
    display: flex; justify-content: space-between;
    font-family: 'DM Mono', monospace; font-size: 10px;
    color: rgba(124,58,237,0.3); text-transform: uppercase; letter-spacing: 2px;
}

/* ====================
   CONTACT MODAL
==================== */
#contact-modal {
    display: none; position: fixed; inset: 0; z-index: 2000;
    background: rgba(100,80,140,0.25); backdrop-filter: blur(18px);
    align-items: center; justify-content: center; padding: 24px;
    animation: modalIn .4s var(--ease);
}
@keyframes modalIn { from{opacity:0;transform:scale(0.96)} to{opacity:1;transform:scale(1)} }
.cm-box {
    background: rgba(255,255,255,0.88); backdrop-filter: blur(24px);
    padding: 64px; max-width: 640px; width: 100%;
    border-radius: 40px; position: relative;
    box-shadow: var(--shadow-deep);
}
.cm-close {
    position: absolute; top: 24px; right: 24px;
    background: var(--surface); border: none;
    color: var(--muted); font-size: 24px; cursor: pointer;
    width: 44px; height: 44px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    box-shadow: var(--shadow-card);
    transition: all 0.3s var(--ease);
}
.cm-close:hover { color: var(--accent); transform: scale(1.1); }
.cm-title {
    font-family: 'Nunito', sans-serif; font-size: 40px;
    font-weight: 900; margin-bottom: 18px; color: var(--fg);
    letter-spacing: -0.03em;
}
.cm-title em { color: var(--accent); font-style: italic; }
.cm-desc { color: var(--muted); line-height: 1.8; margin-bottom: 40px; font-size: 15px; }
.cm-input {
    background: var(--surface); border: none;
    padding: 18px 22px; color: var(--fg);
    font-family: 'DM Sans', sans-serif; font-size: 15px;
    border-radius: 18px; width: 100%;
    box-shadow: var(--shadow-pressed);
    outline: none; transition: all 0.3s var(--ease);
}
.cm-input:focus { background: white; box-shadow: var(--shadow-card); }
.cm-input::-moz-placeholder { color: var(--muted); }
.cm-input::placeholder { color: var(--muted); }
.cm-submit {
    background: linear-gradient(135deg, var(--accent-light), var(--accent));
    color: white; border: none; padding: 22px 36px;
    font-weight: 700; cursor: pointer;
    text-transform: uppercase; letter-spacing: 2px;
    font-family: 'DM Mono', monospace; font-size: 11px;
    border-radius: 18px; width: 100%;
    box-shadow: var(--shadow-btn);
    transition: all 0.3s var(--ease);
}
.cm-submit:hover { transform: translateY(-3px); box-shadow: var(--shadow-btn-hover); }
.cm-submit:active { transform: scale(0.96); box-shadow: var(--shadow-pressed); }

/* ====================
   AI CHAT — HERO BUTTON
==================== */
.hero-ai-btn {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 18px 28px;
    background: var(--card-bg);
    backdrop-filter: blur(16px);
    border: 1px solid rgba(255,255,255,0.8);
    border-radius: 24px;
    cursor: pointer;
    box-shadow: var(--shadow-card);
    transition: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
    position: relative;
    overflow: hidden;
}
.hero-ai-btn::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 24px;
    background: linear-gradient(135deg, rgba(124,58,237,0.04), transparent);
    pointer-events: none;
}
.hero-ai-btn:hover {
    transform: translateY(-6px) scale(1.03);
    box-shadow: var(--shadow-card-hover);
    border-color: rgba(124,58,237,0.2);
}
.hero-ai-btn:active {
    transform: scale(0.97);
    box-shadow: var(--shadow-pressed);
}

.hero-ai-icon {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    background: linear-gradient(135deg, var(--accent-light), var(--accent));
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    flex-shrink: 0;
    box-shadow: var(--shadow-btn);
    position: relative;
}
.hero-ai-icon svg {
    width: 22px;
    height: 22px;
}
.hero-ai-icon::after {
    content: '';
    position: absolute;
    inset: -3px;
    border-radius: 17px;
    border: 1.5px solid rgba(167,139,250,0.3);
    animation: ai-icon-breathe 3s ease-in-out infinite;
}
@keyframes ai-icon-breathe {
    0%, 100% { opacity: 0.4; transform: scale(1); }
    50% { opacity: 0; transform: scale(1.15); }
}

.hero-ai-text {
    display: flex;
    flex-direction: column;
    gap: 3px;
    text-align: left;
}
.hero-ai-label {
    font-family: 'DM Mono', monospace;
    font-size: 9px;
    letter-spacing: 0.2em;
    color: var(--accent);
    text-transform: uppercase;
    font-weight: 500;
}
.hero-ai-cta {
    font-family: 'Nunito', sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: var(--fg);
    letter-spacing: -0.01em;
}

/* AI CHAT PANEL */
.ai-panel {
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 2500;
    width: 440px;
    height: 600px;
    max-height: calc(100vh - 48px);
    max-width: calc(100vw - 32px);
    background: rgba(255,255,255,0.88);
    backdrop-filter: blur(40px) saturate(1.8);
    border-radius: 32px;
    box-shadow:
        0 32px 100px rgba(124,58,237,0.2),
        0 12px 40px rgba(0,0,0,0.08),
        inset 0 0 0 1px rgba(255,255,255,0.7);
    border: 0.5px solid rgba(124,58,237,0.1);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transform: translate(-50%, -50%) scale(0.9);
    opacity: 0;
    pointer-events: none;
    transition: all 0.45s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.ai-panel.active {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
    pointer-events: auto;
}

/* PANEL BACKDROP */
.ai-backdrop {
    position: fixed;
    inset: 0;
    z-index: 2400;
    background: rgba(100,80,140,0.15);
    backdrop-filter: blur(8px);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.4s var(--ease);
}
.ai-backdrop.active {
    opacity: 1;
    pointer-events: auto;
}

/* PANEL HEADER */
.ai-panel-header {
    padding: 20px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid rgba(124,58,237,0.08);
    background: rgba(255,255,255,0.5);
    flex-shrink: 0;
}
.ai-panel-brand {
    display: flex;
    align-items: center;
    gap: 14px;
}
.ai-avatar {
    width: 40px;
    height: 40px;
    border-radius: 14px;
    background: linear-gradient(135deg, var(--accent-light), var(--accent));
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: var(--shadow-btn);
    flex-shrink: 0;
}
.ai-avatar svg {
    width: 20px;
    height: 20px;
    color: white;
}
.ai-panel-title {
    font-family: 'Nunito', sans-serif;
    font-size: 16px;
    font-weight: 800;
    color: var(--fg);
    letter-spacing: -0.02em;
}
.ai-panel-status {
    font-family: 'DM Mono', monospace;
    font-size: 9px;
    color: var(--emerald);
    text-transform: uppercase;
    letter-spacing: 1px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.ai-status-dot {
    width: 6px;
    height: 6px;
    background: var(--emerald);
    border-radius: 50%;
    box-shadow: 0 0 8px var(--emerald);
    animation: pulse 2s infinite;
    display: inline-block;
}
.ai-panel-close {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: none;
    background: var(--surface);
    color: var(--muted);
    font-size: 20px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: var(--shadow-card);
    transition: all 0.3s var(--ease);
}
.ai-panel-close:hover {
    color: var(--accent);
    transform: scale(1.1);
}

/* MESSAGES */
.ai-messages {
    flex: 1;
    overflow-y: auto;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    scroll-behavior: smooth;
}
.ai-messages::-webkit-scrollbar {
    width: 4px;
}
.ai-messages::-webkit-scrollbar-track {
    background: transparent;
}
.ai-messages::-webkit-scrollbar-thumb {
    background: rgba(124,58,237,0.15);
    border-radius: 4px;
}

.ai-msg {
    display: flex;
    gap: 10px;
    max-width: 92%;
    animation: ai-msg-in 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}
@keyframes ai-msg-in {
    from { opacity: 0; transform: translateY(12px) scale(0.95); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

.ai-msg-bot {
    align-self: flex-start;
}
.ai-msg-user {
    align-self: flex-end;
    flex-direction: row-reverse;
}

.ai-msg-avatar {
    width: 30px;
    height: 30px;
    border-radius: 10px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 2px;
}
.ai-msg-bot .ai-msg-avatar {
    background: linear-gradient(135deg, var(--accent-light), var(--accent));
    box-shadow: 0 4px 12px rgba(124,58,237,0.25);
}
.ai-msg-bot .ai-msg-avatar svg {
    width: 14px;
    height: 14px;
    color: white;
}
.ai-msg-user .ai-msg-avatar {
    background: var(--surface);
    color: var(--accent);
    font-family: 'Nunito', sans-serif;
    font-size: 12px;
    font-weight: 800;
    box-shadow: var(--shadow-card);
}

.ai-msg-bubble {
    padding: 14px 18px;
    font-size: 14px;
    line-height: 1.65;
    color: var(--fg);
    border-radius: 20px;
    word-break: break-word;
}
.ai-msg-bot .ai-msg-bubble {
    background: var(--card-bg);
    border: 1px solid rgba(255,255,255,0.8);
    box-shadow:
        8px 8px 16px rgba(160,150,180,0.12),
        -6px -6px 12px rgba(255,255,255,0.9),
        inset 3px 3px 6px rgba(139,92,246,0.02),
        inset -3px -3px 6px rgba(255,255,255,1);
    border-top-left-radius: 6px;
}
.ai-msg-user .ai-msg-bubble {
    background: linear-gradient(135deg, var(--accent-light), var(--accent));
    color: white;
    box-shadow: 0 6px 20px rgba(124,58,237,0.25);
    border-top-right-radius: 6px;
}

/* TYPING INDICATOR */
.ai-typing {
    display: flex;
    gap: 4px;
    padding: 4px 8px;
    align-items: center;
}
.ai-typing-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--accent-light);
    animation: ai-bounce 1.4s ease-in-out infinite;
}
.ai-typing-dot:nth-child(2) { animation-delay: 0.2s; }
.ai-typing-dot:nth-child(3) { animation-delay: 0.4s; }
@keyframes ai-bounce {
    0%, 80%, 100% { transform: translateY(0); opacity: 0.4; }
    40% { transform: translateY(-8px); opacity: 1; }
}

/* INPUT AREA */
.ai-input-area {
    padding: 16px 20px;
    border-top: 1px solid rgba(124,58,237,0.06);
    display: flex;
    gap: 10px;
    align-items: center;
    background: rgba(255,255,255,0.4);
    flex-shrink: 0;
}
.ai-input {
    flex: 1;
    padding: 14px 18px;
    background: var(--surface);
    border: none;
    border-radius: 16px;
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    color: var(--fg);
    outline: none;
    box-shadow: var(--shadow-pressed);
    transition: all 0.3s var(--ease);
}
.ai-input:focus {
    background: white;
    box-shadow: var(--shadow-card);
}
.ai-input::-moz-placeholder {
    color: var(--muted);
    font-size: 13px;
}
.ai-input::placeholder {
    color: var(--muted);
    font-size: 13px;
}
.ai-send-btn {
    width: 46px;
    height: 46px;
    border-radius: 16px;
    border: none;
    background: linear-gradient(135deg, var(--accent-light), var(--accent));
    color: white;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: var(--shadow-btn);
    transition: all 0.3s var(--ease);
}
.ai-send-btn svg {
    width: 18px;
    height: 18px;
}
.ai-send-btn:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-btn-hover);
}
.ai-send-btn:active {
    transform: scale(0.92);
}
.ai-send-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none;
}

/* ====================
   RESPONSIVE
==================== */
@media (max-width: 1024px) {
    .about-grid { grid-template-columns: 1fr; }
    .visual-chamber { padding: 60px; border-left: none; border-top: 1px solid rgba(124,58,237,0.08); }
    .passions-container { grid-template-columns: 1fr; }
    .creative-grid { grid-template-columns: 1fr; }
    .explore-app { grid-template-columns: 1fr; }
    .desktop-row { flex-direction: column; align-items: flex-start; gap: 40px; }
    .rs-contact-grid { width: 100%; grid-template-columns: repeat(2, 1fr); min-width: 0; }
    .rs-mail-card { grid-column: span 2; }
    .explore-sidebar { height: auto; border-right: none; border-bottom: 1px solid rgba(124,58,237,0.08); }
    .explore-content { padding: 48px; }
    .management-card { grid-template-columns: 1fr; }
    .ecard-1, .ecard-2, .ecard-3, .ecard-4 { grid-column: span 12; grid-row: span 1; margin-top: 0; }
    .ai-panel { width: 400px; height: 540px; }
}
@media (max-width: 768px) {
    .page-wrap { padding: 60px 24px; }
    .efforts-wrap { padding: 40px 24px; }
    .attainment-row { grid-template-columns: 100px 1fr; }
    .a-icon { display: none; }
    .explore-content { padding: 32px 24px; grid-template-columns: 1fr; }
    .skills-grid { grid-template-columns: 1fr; }
    
    /* Hero Section Mobile Enhancements */
    #section-home {
        height: auto;
        min-height: 100vh;
        overflow-y: visible;
    }
    #section-home main {
        height: auto;
        min-height: 100vh;
        justify-content: flex-start;
        padding-top: 130px;
    }
    .hero-container {
        flex-direction: column;
        align-items: flex-start;
        gap: 30px;
        margin-top: 20px;
    }
    .hero-title {
        font-size: clamp(60px, 16vw, 100px);
        line-height: 0.9;
    }
    .data-wing {
        padding-left: 0;
        border-left: none;
        width: 100%;
        align-items: center;
        gap: 20px;
        margin-top: 10px;
    }
    .wing-visual {
        width: 100%;
        max-width: 320px;
        height: 140px;
    }
    .wing-icons {
        width: 100%;
        justify-content: space-between;
        max-width: 320px;
    }
    .wing-icons i {
        padding: 12px;
        font-size: 24px;
    }
    .hero-footer { position: relative; bottom: auto; left: auto; right: auto; margin-top: 32px; flex-direction: column; align-items: flex-start; gap: 16px; margin-bottom: 40px; }
    .scroll-trigger { display: none; }
    .coordinates { writing-mode: horizontal-tb; margin-bottom: 20px; }
    .hero-ai-btn { padding: 14px 20px; gap: 12px; width: 100%; justify-content: center; }
    .hero-ai-icon { width: 38px; height: 38px; }
    .hero-ai-icon svg { width: 18px; height: 18px; }
    .hero-ai-cta { font-size: 13px; }
    .ai-panel {
        width: 100vw; height: 100vh;
        max-width: 100vw; max-height: 100vh;
        border-radius: 0;
    }
    .ai-panel-header { padding: 16px 20px; }
    .ai-messages { padding: 16px; }
    .ai-input-area { padding: 12px 16px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}

/*# sourceMappingURL=data:application/json;base64,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LEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFO0lBQzdLLGtCQUFrQixhQUFhLEVBQUU7SUFDakMsZUFBZSwyQkFBMkIsRUFBRSxtQkFBbUIsRUFBRTtJQUNqRSxlQUFlLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsdUJBQXVCLEVBQUU7SUFDcEYsZ0JBQWdCLFdBQVcsRUFBRSxZQUFZLEVBQUU7SUFDM0Msb0JBQW9CLFdBQVcsRUFBRSxZQUFZLEVBQUU7SUFDL0MsZUFBZSxlQUFlLEVBQUU7SUFDaEM7UUFDSSxZQUFZLEVBQUUsYUFBYTtRQUMzQixnQkFBZ0IsRUFBRSxpQkFBaUI7UUFDbkMsZ0JBQWdCO0lBQ3BCO0lBQ0EsbUJBQW1CLGtCQUFrQixFQUFFO0lBQ3ZDLGVBQWUsYUFBYSxFQUFFO0lBQzlCLGlCQUFpQixrQkFBa0IsRUFBRTtBQUN6Qzs7QUFFQTtJQUNJLHlCQUF5QixxQ0FBcUMsRUFBRSxzQ0FBc0MsRUFBRTtBQUM1RyIsImZpbGUiOiJzdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiA9PT09PT09PT09PT09PT09PT09PVxuICAgREVTSUdOIFRPS0VOUyDigJQgSElHSC1GSURFTElUWSBDTEFZTU9SUEhJU01cbj09PT09PT09PT09PT09PT09PT09ICovXG46cm9vdCB7XG4gICAgLS1jYW52YXM6ICAgICAgICNGNEYxRkE7XG4gICAgLS1jYXJkLWJnOiAgICAgIHJnYmEoMjU1LDI1NSwyNTUsMC43Mik7XG4gICAgLS1jYXJkLXNvbGlkOiAgICNmZmZmZmY7XG4gICAgLS1zdXJmYWNlOiAgICAgICNFRkVCRjU7XG4gICAgLS1mZzogICAgICAgICAgICMzMzJGM0E7XG4gICAgLS1tdXRlZDogICAgICAgICM2MzVGNjk7XG4gICAgLS1hY2NlbnQ6ICAgICAgICM3QzNBRUQ7XG4gICAgLS1hY2NlbnQtbGlnaHQ6ICNBNzhCRkE7XG4gICAgLS1hY2NlbnQtYWx0OiAgICNEQjI3Nzc7XG4gICAgLS1za3k6ICAgICAgICAgICMwRUE1RTk7XG4gICAgLS1lbWVyYWxkOiAgICAgICMxMEI5ODE7XG4gICAgLS1hbWJlcjogICAgICAgICNGNTlFMEI7XG4gICAgLS1hY2NlbnQtZ2xvdzogIHJnYmEoMTI0LDU4LDIzNywwLjE4KTtcbiAgICAtLWFjY2VudC1kaW06ICAgcmdiYSgxMjQsNTgsMjM3LDAuMDgpO1xuICAgIC0tZWFzZTogICAgICAgICBjdWJpYy1iZXppZXIoMC4yMywgMSwgMC4zMiwgMSk7XG4gICAgLS1zcHJpbmctZWFzZTogIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMjc1KTtcbiAgICAtLXJldmVhbC10aW1lOiAgMC44cztcblxuICAgIC8qIFNIQURPVyBTWVNURU0gKi9cbiAgICAtLXNoYWRvdy1kZWVwOlxuICAgICAgICAzMHB4IDMwcHggNjBweCAjY2RjNmQ5LFxuICAgICAgICAtMzBweCAtMzBweCA2MHB4ICNmZmZmZmYsXG4gICAgICAgIGluc2V0IDEwcHggMTBweCAyMHB4IHJnYmEoMTM5LDkyLDI0NiwwLjA1KSxcbiAgICAgICAgaW5zZXQgLTEwcHggLTEwcHggMjBweCByZ2JhKDI1NSwyNTUsMjU1LDAuOCk7XG5cbiAgICAtLXNoYWRvdy1jYXJkOlxuICAgICAgICAxNnB4IDE2cHggMzJweCByZ2JhKDE2MCwxNTAsMTgwLDAuMiksXG4gICAgICAgIC0xMHB4IC0xMHB4IDI0cHggcmdiYSgyNTUsMjU1LDI1NSwwLjkpLFxuICAgICAgICBpbnNldCA2cHggNnB4IDEycHggcmdiYSgxMzksOTIsMjQ2LDAuMDMpLFxuICAgICAgICBpbnNldCAtNnB4IC02cHggMTJweCByZ2JhKDI1NSwyNTUsMjU1LDEpO1xuXG4gICAgLS1zaGFkb3ctY2FyZC1ob3ZlcjpcbiAgICAgICAgMjRweCAyNHB4IDQ4cHggcmdiYSgxNjAsMTUwLDE4MCwwLjMpLFxuICAgICAgICAtMTRweCAtMTRweCAzMnB4IHJnYmEoMjU1LDI1NSwyNTUsMSksXG4gICAgICAgIGluc2V0IDZweCA2cHggMTJweCByZ2JhKDEzOSw5MiwyNDYsMC4wNSksXG4gICAgICAgIGluc2V0IC02cHggLTZweCAxMnB4IHJnYmEoMjU1LDI1NSwyNTUsMSk7XG5cbiAgICAtLXNoYWRvdy1idG46XG4gICAgICAgIDEycHggMTJweCAyNHB4IHJnYmEoMTM5LDkyLDI0NiwwLjMpLFxuICAgICAgICAtOHB4IC04cHggMTZweCByZ2JhKDI1NSwyNTUsMjU1LDAuNCksXG4gICAgICAgIGluc2V0IDRweCA0cHggOHB4IHJnYmEoMjU1LDI1NSwyNTUsMC40KSxcbiAgICAgICAgaW5zZXQgLTRweCAtNHB4IDhweCByZ2JhKDAsMCwwLDAuMSk7XG5cbiAgICAtLXNoYWRvdy1idG4taG92ZXI6XG4gICAgICAgIDE2cHggMTZweCAzMnB4IHJnYmEoMTM5LDkyLDI0NiwwLjQpLFxuICAgICAgICAtMTBweCAtMTBweCAyMHB4IHJnYmEoMjU1LDI1NSwyNTUsMC41KSxcbiAgICAgICAgaW5zZXQgNHB4IDRweCA4cHggcmdiYSgyNTUsMjU1LDI1NSwwLjUpLFxuICAgICAgICBpbnNldCAtNHB4IC00cHggOHB4IHJnYmEoMCwwLDAsMC4xMik7XG5cbiAgICAtLXNoYWRvdy1wcmVzc2VkOlxuICAgICAgICBpbnNldCAxMHB4IDEwcHggMjBweCAjZDlkNGUzLFxuICAgICAgICBpbnNldCAtMTBweCAtMTBweCAyMHB4ICNmZmZmZmY7XG5cbiAgICAtLXNoYWRvdy1uYXY6XG4gICAgICAgIDhweCA4cHggMjBweCByZ2JhKDE2MCwxNTAsMTgwLDAuMTgpLFxuICAgICAgICAtNnB4IC02cHggMTRweCByZ2JhKDI1NSwyNTUsMjU1LDAuOSksXG4gICAgICAgIGluc2V0IDJweCAycHggNnB4IHJnYmEoMTM5LDkyLDI0NiwwLjA0KSxcbiAgICAgICAgaW5zZXQgLTJweCAtMnB4IDZweCByZ2JhKDI1NSwyNTUsMjU1LDAuOSk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09XG4gICBSRVNFVCAmIEJBU0Vcbj09PT09PT09PT09PT09PT09PT09ICovXG4qLCAqOjpiZWZvcmUsICo6OmFmdGVyIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyB9XG5AbWVkaWEgKHBvaW50ZXI6IGZpbmUpIHsgKiB7IGN1cnNvcjogbm9uZTsgfSB9XG5odG1sIHsgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7IH1cbmJvZHkge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNhbnZhcyk7XG4gICAgY29sb3I6IHZhcigtLWZnKTtcbiAgICBmb250LWZhbWlseTogJ0RNIFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT1cbiAgIEJBQ0tHUk9VTkQ6IEFOSU1BVEVEIEJMT0JTICsgR1JBSU5cbj09PT09PT09PT09PT09PT09PT09ICovXG4uYmxvYi1iZyB7IHBvc2l0aW9uOiBmaXhlZDsgaW5zZXQ6IDA7IHotaW5kZXg6IDA7IHBvaW50ZXItZXZlbnRzOiBub25lOyBvdmVyZmxvdzogaGlkZGVuOyB9XG4uYmxvYiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBmaWx0ZXI6IGJsdXIoODBweCk7XG59XG4uYmxvYi0xIHsgd2lkdGg6IDU1dnc7IGhlaWdodDogNTV2dzsgYmFja2dyb3VuZDogcmdiYSgxMjQsNTgsMjM3LDAuMDgpOyB0b3A6IC0xNSU7IGxlZnQ6IC0xNSU7IGFuaW1hdGlvbjogYmZsb2F0IDEwcyBlYXNlLWluLW91dCBpbmZpbml0ZTsgfVxuLmJsb2ItMiB7IHdpZHRoOiA0NXZ3OyBoZWlnaHQ6IDQ1dnc7IGJhY2tncm91bmQ6IHJnYmEoMjE5LDM5LDExOSwwLjA3KTsgdG9wOiAxMCU7IHJpZ2h0OiAtMTUlOyBhbmltYXRpb246IGJmbG9hdCAxM3MgZWFzZS1pbi1vdXQgaW5maW5pdGUgcmV2ZXJzZTsgfVxuLmJsb2ItMyB7IHdpZHRoOiA0MHZ3OyBoZWlnaHQ6IDQwdnc7IGJhY2tncm91bmQ6IHJnYmEoMTQsMTY1LDIzMywwLjA3KTsgYm90dG9tOiAtMTAlOyBsZWZ0OiAzMCU7IGFuaW1hdGlvbjogYmZsb2F0IDhzIGVhc2UtaW4tb3V0IGluZmluaXRlOyBhbmltYXRpb24tZGVsYXk6IC00czsgfVxuLmJsb2ItNCB7IHdpZHRoOiAzMHZ3OyBoZWlnaHQ6IDMwdnc7IGJhY2tncm91bmQ6IHJnYmEoMTYsMTg1LDEyOSwwLjA2KTsgYm90dG9tOiAyMCU7IHJpZ2h0OiA1JTsgYW5pbWF0aW9uOiBiZmxvYXQgMTJzIGVhc2UtaW4tb3V0IGluZmluaXRlOyBhbmltYXRpb24tZGVsYXk6IC02czsgfVxuXG5Aa2V5ZnJhbWVzIGJmbG9hdCB7XG4gICAgMCUsIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlKDBkZWcpOyB9XG4gICAgNTAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMHB4KSByb3RhdGUoM2RlZyk7IH1cbn1cblxuLmdyYWluLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgaW5zZXQ6IDA7IHotaW5kZXg6IDk5OyBwb2ludGVyLWV2ZW50czogbm9uZTsgb3BhY2l0eTogMC4wMztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHZpZXdCb3g9JzAgMCAyMDAgMjAwJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDZmlsdGVyIGlkPSduJyUzRSUzQ2ZlVHVyYnVsZW5jZSB0eXBlPSdmcmFjdGFsTm9pc2UnIGJhc2VGcmVxdWVuY3k9JzAuNjUnIG51bU9jdGF2ZXM9JzMnIHN0aXRjaFRpbGVzPSdzdGl0Y2gnLyUzRSUzQy9maWx0ZXIlM0UlM0NyZWN0IHdpZHRoPScxMDAlMjUnIGhlaWdodD0nMTAwJTI1JyBmaWx0ZXI9J3VybCglMjNuKScvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT1cbiAgIENVU1RPTSBDVVJTT1Jcbj09PT09PT09PT09PT09PT09PT09ICovXG4jY2xheS1jdXJzb3Ige1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgd2lkdGg6IDEwcHg7IGhlaWdodDogMTBweDsgbWFyZ2luOiAtNXB4IDAgMCAtNXB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7IGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgei1pbmRleDogOTk5OTk7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggLjJzIHZhcigtLWVhc2UpLCBoZWlnaHQgLjJzIHZhcigtLWVhc2UpLCBtYXJnaW4gLjJzIHZhcigtLWVhc2UpLCBiYWNrZ3JvdW5kIC4ycztcbiAgICBvcGFjaXR5OiAwO1xufVxuI2NsYXktY3Vyc29yLXJpbmcge1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgd2lkdGg6IDM2cHg7IGhlaWdodDogMzZweDsgbWFyZ2luOiAtMThweCAwIDAgLTE4cHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgxMjQsNTgsMjM3LDAuMzUpOyBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IHotaW5kZXg6IDk5OTk4O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggLjI1cyB2YXIoLS1lYXNlKSwgaGVpZ2h0IC4yNXMgdmFyKC0tZWFzZSksIG1hcmdpbiAuMjVzIHZhcigtLWVhc2UpLCBvcGFjaXR5IC4zcywgYm9yZGVyLWNvbG9yIC4zcztcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT1cbiAgIFNDUk9MTCBSRVZFQUwgVVRJTFNcbj09PT09PT09PT09PT09PT09PT09ICovXG4vKiBSZWFjdGl2ZSBSZXZlYWw6IEFsdGVybmF0aW5nIFNpZGVzICYgU2NhbGUgKi9cbi5yZXZlYWwtaGlkZGVuIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNHB4KSBzY2FsZSgwLjk0KTtcbiAgICB0cmFuc2l0aW9uOiBcbiAgICAgICAgb3BhY2l0eSAwLjZzIGN1YmljLWJlemllcigwLjM0LCAxLjU2LCAwLjY0LCAxKSwgXG4gICAgICAgIHRyYW5zZm9ybSAwLjZzIGN1YmljLWJlemllcigwLjM0LCAxLjU2LCAwLjY0LCAxKTtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5O1xufVxuXG4ucmV2ZWFsLWxlZnQgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwcHgpIHRyYW5zbGF0ZVkoMjBweCkgcm90YXRlKC0yZGVnKSBzY2FsZSgwLjkyKTsgb3BhY2l0eTogMDsgfVxuLnJldmVhbC1yaWdodCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MHB4KSB0cmFuc2xhdGVZKDIwcHgpIHJvdGF0ZSgyZGVnKSBzY2FsZSgwLjkyKTsgb3BhY2l0eTogMDsgfVxuLnJldmVhbC16b29tIHsgdHJhbnNmb3JtOiBzY2FsZSgwLjgpOyBvcGFjaXR5OiAwOyB9XG5cbi5yZXZlYWwtdmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgdHJhbnNsYXRlWCgwKSBzY2FsZSgxKSByb3RhdGUoMCk7XG59XG5cbi8qIFN0YWdnZXJlZCBlbnRyaWVzICovXG4uc3RhZ2dlci0xIHsgdHJhbnNpdGlvbi1kZWxheTogMC4xczsgfVxuLnN0YWdnZXItMiB7IHRyYW5zaXRpb24tZGVsYXk6IDAuMnM7IH1cbi5zdGFnZ2VyLTMgeyB0cmFuc2l0aW9uLWRlbGF5OiAwLjNzOyB9XG4uc3RhZ2dlci00IHsgdHJhbnNpdGlvbi1kZWxheTogMC40czsgfVxuXG4vKiBUZXh0IFN0YWdnZXIgRWZmZWN0IChObyBCbHVyKSAqL1xuLnN0YWdnZXItdGV4dCBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gICAgYW5pbWF0aW9uOiBmYWRlVXBSZXZlYWwgMC42cyBjdWJpYy1iZXppZXIoMC4zNCwgMS41NiwgMC42NCwgMSkgZm9yd2FyZHM7XG59XG5Aa2V5ZnJhbWVzIGZhZGVVcFJldmVhbCB7XG4gICAgdG8geyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT1cbiAgIElOVEVSQUNUSVZFIFNISU5FIEVGRkVDVFxuPT09PT09PT09PT09PT09PT09PT0gKi9cbi5zaGluZS1wYXJlbnQgeyBwb3NpdGlvbjogcmVsYXRpdmU7IG92ZXJmbG93OiBoaWRkZW47IH1cbi5zaGluZS1wYXJlbnQ6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC01MCU7IGxlZnQ6IC01MCU7XG4gICAgd2lkdGg6IDIwMCU7IGhlaWdodDogMjAwJTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgIDQ1ZGVnLFxuICAgICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDAlLFxuICAgICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDQwJSxcbiAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpIDUwJSxcbiAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSA2MCUsXG4gICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJVxuICAgICk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cyB2YXIoLS1lYXNlKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB6LWluZGV4OiAxMDtcbn1cbi5zaGluZS1wYXJlbnQ6aG92ZXI6OmFmdGVyIHsgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGVZKDEwMCUpOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09XG4gICBOQVZJR0FUSU9OXG49PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT1cbiAgIFBSRU1JVU0gTElRVUlEIE5BVkJBUlxuID09PT09PT09PT09PT09PT09PT09ICovXG4ubmF2YmFyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IHRvcDogMjBweDsgbGVmdDogNTAlOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgei1pbmRleDogMTAwMDsgd2lkdGg6IGF1dG87XG59XG4ubmF2LWlubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiAxMnB4OyBwYWRkaW5nOiA4cHggMTJweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuNyk7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDMycHgpIHNhdHVyYXRlKDEuOCk7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICAgYm94LXNoYWRvdzogXG4gICAgICAgIDAgMTJweCAzMnB4IHJnYmEoMCwwLDAsMC4wNSksXG4gICAgICAgIGluc2V0IDAgMCAwIDFweCByZ2JhKDI1NSwyNTUsMjU1LDAuOCk7XG4gICAgYm9yZGVyOiAwLjVweCBzb2xpZCByZ2JhKDEyNCw1OCwyMzcsMC4xKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC40cyB2YXIoLS1lYXNlKTtcbn1cbi5uYXYtbG9nbyB7XG4gICAgZm9udC1mYW1pbHk6ICdOdW5pdG8nLCBzYW5zLXNlcmlmOyBmb250LXdlaWdodDogOTAwOyBmb250LXNpemU6IDIwcHg7XG4gICAgY29sb3I6IHZhcigtLWFjY2VudCk7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgXG4gICAgcGFkZGluZzogOHB4IDE2cHg7IGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjsgbGV0dGVyLXNwYWNpbmc6IC0wLjA0ZW07XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG59XG4ubmF2LWxvZ286aG92ZXIgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpOyBiYWNrZ3JvdW5kOiByZ2JhKDEyNCw1OCwyMzcsMC4wNSk7IH1cblxuLm5hdi1saW5rcyB7IGRpc3BsYXk6IGZsZXg7IGdhcDogNHB4OyBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5uYXYtaXRlbSB7XG4gICAgZm9udC1mYW1pbHk6ICdETSBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDEwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbGV0dGVyLXNwYWNpbmc6IDAuMTJlbTtcbiAgICBjb2xvcjogdmFyKC0tbXV0ZWQpOyBiYWNrZ3JvdW5kOiBub25lOyBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogMTBweCAxOHB4OyBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC40cyBjdWJpYy1iZXppZXIoMC4zNCwgMS41NiwgMC42NCwgMSk7IGN1cnNvcjogcG9pbnRlcjtcbn1cbi5uYXYtaXRlbTpob3ZlciB7IGNvbG9yOiB2YXIoLS1mZyk7IGJhY2tncm91bmQ6IHJnYmEoMTI0LDU4LDIzNywwLjA3KTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpOyB9XG4ubmF2LWl0ZW0uYWN0aXZlIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50KTtcbiAgICBib3gtc2hhZG93OiAwIDhweCAxNnB4IHZhcigtLWFjY2VudC1nbG93KTtcbn1cblxuLyogTU9CSUxFIFRPR0dMRSBPVkVSSEFVTCAqL1xuLm1vYmlsZS10b2dnbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7IHdpZHRoOiA0NHB4OyBoZWlnaHQ6IDQ0cHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMjQsNTgsMjM3LDAuMDUpOyBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6IHZhcigtLWFjY2VudCk7IGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyB2YXIoLS1lYXNlKTtcbn1cbi5tb2JpbGUtdG9nZ2xlIHNwYW4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgd2lkdGg6IDIwcHg7IGhlaWdodDogMS41cHg7XG4gICAgYmFja2dyb3VuZDogY3VycmVudENvbG9yOyBsZWZ0OiAxMnB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMjc1KTtcbn1cbi5tb2JpbGUtdG9nZ2xlIHNwYW46bnRoLWNoaWxkKDEpIHsgdG9wOiAxNnB4OyB9XG4ubW9iaWxlLXRvZ2dsZSBzcGFuOm50aC1jaGlsZCgyKSB7IHRvcDogMjJweDsgd2lkdGg6IDE0cHg7IH1cbi5tb2JpbGUtdG9nZ2xlIHNwYW46bnRoLWNoaWxkKDMpIHsgdG9wOiAyOHB4OyB9XG5cbi5tb2JpbGUtdG9nZ2xlLmFjdGl2ZSBzcGFuOm50aC1jaGlsZCgxKSB7IHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgdG9wOiAyMnB4OyB9XG4ubW9iaWxlLXRvZ2dsZS5hY3RpdmUgc3BhbjpudGgtY2hpbGQoMikgeyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpOyB9XG4ubW9iaWxlLXRvZ2dsZS5hY3RpdmUgc3BhbjpudGgtY2hpbGQoMykgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB0b3A6IDIycHg7IH1cblxuLyogUkVGSU5FRCBNT0JJTEUgT1ZFUkxBWSAqL1xuLm1vYmlsZS1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IGluc2V0OiAwOyB6LWluZGV4OiAyMDAwO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC43KTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTAwcHgpO1xuICAgIGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgb3BhY2l0eTogMDsgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2U7XG59XG4ubW9iaWxlLW92ZXJsYXkuYWN0aXZlIHsgb3BhY2l0eTogMTsgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cblxuLm1vYmlsZS1saW5rcyB7XG4gICAgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAzMnB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ubS1uYXYtaXRlbSB7XG4gICAgZm9udC1mYW1pbHk6ICdOdW5pdG8nLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDM2cHg7IGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgY29sb3I6IHZhcigtLWZnKTsgYmFja2dyb3VuZDogbm9uZTsgYm9yZGVyOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpIHNjYWxlKDAuOSk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgY3ViaWMtYmV6aWVyKDAuMzQsIDEuNTYsIDAuNjQsIDEpO1xufVxuLm1vYmlsZS1vdmVybGF5LmFjdGl2ZSAubS1uYXYtaXRlbSB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBzY2FsZSgxKTsgfVxuLm0tbmF2LWl0ZW06aG92ZXIgeyBjb2xvcjogdmFyKC0tYWNjZW50KTsgbGV0dGVyLXNwYWNpbmc6IDAuMWVtOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAubmF2LWxpbmtzIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIC5tb2JpbGUtdG9nZ2xlIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAubmF2YmFyIHsgd2lkdGg6IDkyJTsgfVxuICAgIC5uYXYtaW5uZXIgeyBwYWRkaW5nOiA0cHggNnB4OyB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09XG4gICBTRUNUSU9OU1xuPT09PT09PT09PT09PT09PT09PT0gKi9cbi5zZWN0aW9uIHsgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiAxOyBtaW4taGVpZ2h0OiAxMDB2aDsgfVxuLnNlY3Rpb246bm90KCNzZWN0aW9uLWhvbWUpIHsgcGFkZGluZy10b3A6IDEyMHB4OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09XG4gICBIT01FIFNFQ1RJT05cbj09PT09PT09PT09PT09PT09PT09ICovXG4jc2VjdGlvbi1ob21lIHsgb3ZlcmZsb3c6IGhpZGRlbjsgaGVpZ2h0OiAxMDB2aDsgfVxuXG4ua2luZXRpYy13cmFwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IGluc2V0OiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGp1c3RpZnktY29udGVudDogY2VudGVyOyBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHotaW5kZXg6IDA7IG92ZXJmbG93OiBoaWRkZW47IHVzZXItc2VsZWN0OiBub25lOyBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5raW5ldGljLXRleHQge1xuICAgIGZvbnQtZmFtaWx5OiAnTnVuaXRvJywgc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBmb250LXNpemU6IGNsYW1wKDYwcHgsIDEzdncsIDI4MHB4KTtcbiAgICBsaW5lLWhlaWdodDogMC45OyB3aGl0ZS1zcGFjZTogbm93cmFwOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wNWVtO1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAtd2Via2l0LXRleHQtc3Ryb2tlOiAxcHggcmdiYSgxMjQsNTgsMjM3LDAuMDYpO1xufVxuXG4jc2VjdGlvbi1ob21lIG1haW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgaGVpZ2h0OiAxMDB2aDtcbiAgICBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwIDglOyB6LWluZGV4OiAxO1xufVxuLmhlcm8tdG9wIHtcbiAgICBmb250LWZhbWlseTogJ0RNIE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTFweDtcbiAgICBjb2xvcjogdmFyKC0tYWNjZW50KTsgbGV0dGVyLXNwYWNpbmc6IDAuNDVlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyBkaXNwbGF5OiBibG9jaztcbn1cbi5oZXJvLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IGNsYW1wKDQwcHgsIDh2dywgMTIwcHgpO1xufVxuLmhlcm8tdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiAnTnVuaXRvJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IGNsYW1wKDU0cHgsIDEzdncsIDE3MnB4KTtcbiAgICBmb250LXdlaWdodDogOTAwOyBsaW5lLWhlaWdodDogMC44NTsgbGV0dGVyLXNwYWNpbmc6IC0wLjA1ZW07XG4gICAgY29sb3I6IHZhcigtLWZnKTtcbn1cbi5oZXJvLXRpdGxlIC5vdXRsaW5lIHtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLXdlYmtpdC10ZXh0LXN0cm9rZTogMnB4IHZhcigtLWFjY2VudCk7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4uZGF0YS13aW5nIHtcbiAgICBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDMycHg7XG4gICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgcmdiYSgxMjQsNTgsMjM3LDAuMTIpO1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgYW5pbWF0aW9uOiBmYWRlSW5SaWdodCAxLjJzIHZhcigtLWVhc2UpIGZvcndhcmRzO1xufVxuQGtleWZyYW1lcyBmYWRlSW5SaWdodCB7IGZyb20geyBvcGFjaXR5OjA7IHRyYW5zZm9ybTp0cmFuc2xhdGVYKDMwcHgpOyB9IHRvIHsgb3BhY2l0eToxOyB0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTsgfSB9XG5cbi53aW5nLWljb25zIHsgZGlzcGxheTogZmxleDsgZ2FwOiAyNHB4OyB9XG4ud2luZy1pY29ucyBpIHtcbiAgICBmb250LXNpemU6IDM2cHg7IGNvbG9yOiB2YXIoLS1tdXRlZCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgdmFyKC0tZWFzZSk7XG4gICAgcGFkZGluZzogMTRweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jYXJkLWJnKTtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1jYXJkKTtcbn1cbi53aW5nLWljb25zIGk6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1hY2NlbnQpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctY2FyZC1ob3Zlcik7XG59XG5cbi53aW5nLXZpc3VhbCB7XG4gICAgd2lkdGg6IDM0MHB4OyBoZWlnaHQ6IDE1MHB4OyBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY2FyZC1iZyk7XG4gICAgYm9yZGVyLXJhZGl1czogMjRweDsgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctY2FyZCk7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEycHgpO1xufVxuLnNjYW5uZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB0cmFuc3BhcmVudCwgdmFyKC0tYWNjZW50KSwgdHJhbnNwYXJlbnQpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAxNnB4IHJnYmEoMTI0LDU4LDIzNywwLjUpO1xuICAgIGFuaW1hdGlvbjogc2NhbiA1cyBpbmZpbml0ZSBlYXNlLWluLW91dDsgei1pbmRleDogNTtcbn1cbkBrZXlmcmFtZXMgc2NhbiB7IDAle3RvcDowJTtvcGFjaXR5OjB9IDEwJXtvcGFjaXR5OjF9IDkwJXtvcGFjaXR5OjF9IDEwMCV7dG9wOjEwMCU7b3BhY2l0eTowfSB9XG4uaWxsdXN0cmF0aW9uLXN2ZyB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDA7IHBhZGRpbmc6IDIwcHg7IG9wYWNpdHk6IDAuNTsgfVxuLmhleC1kYXRhIHtcbiAgICBmb250LWZhbWlseTogJ0RNIE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTFweDtcbiAgICBjb2xvcjogdmFyKC0tbXV0ZWQpOyBsZXR0ZXItc3BhY2luZzogMC4xNWVtOyBsaW5lLWhlaWdodDogMi4yO1xuICAgIHBhZGRpbmc6IDE2cHggMjBweDtcbn1cblxuLmhlcm8tZm9vdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IGJvdHRvbTogNjBweDsgbGVmdDogOCU7IHJpZ2h0OiA4JTtcbiAgICBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbn1cbi5kZXNjLWJveCB7XG4gICAgbWF4LXdpZHRoOiA0MDBweDsgZm9udC1zaXplOiAxNXB4OyBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiB2YXIoLS1tdXRlZCk7IGxpbmUtaGVpZ2h0OiAxLjg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY2FyZC1iZyk7IGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMnB4KTtcbiAgICBwYWRkaW5nOiAyNHB4IDI4cHg7IGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWNhcmQpO1xufVxuLmNvb3JkaW5hdGVzIHtcbiAgICBmb250LWZhbWlseTogJ0RNIE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTBweDtcbiAgICBjb2xvcjogcmdiYSgxMjQsNTgsMjM3LDAuMyk7IHdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7IGxldHRlci1zcGFjaW5nOiAwLjNlbTtcbn1cblxuLnNjcm9sbC10cmlnZ2VyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IGJvdHRvbTogNDBweDsgbGVmdDogNTAlOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxMHB4O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnNjcm9sbC1saW5lIHtcbiAgICB3aWR0aDogMnB4OyBoZWlnaHQ6IDUwcHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgdmFyKC0tYWNjZW50KSwgdHJhbnNwYXJlbnQpO1xuICAgIGFuaW1hdGlvbjogcHVsc2VIZWlnaHQgMnMgaW5maW5pdGUgdmFyKC0tZWFzZSk7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xufVxuQGtleWZyYW1lcyBwdWxzZUhlaWdodCB7IDAle2hlaWdodDowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfSA1MCV7aGVpZ2h0OjM2cHh9IDEwMCV7aGVpZ2h0OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMzZweCl9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT1cbiAgIFNIQVJFRCBTRUNUSU9OIExBWU9VVFxuPT09PT09PT09PT09PT09PT09PT0gKi9cbi5wYWdlLXdyYXAgeyBtYXgtd2lkdGg6IDEyMDBweDsgbWFyZ2luOiAwIGF1dG87IHBhZGRpbmc6IDgwcHggNDhweDsgfVxuLnNlY3Rpb24taGVhZGVyIHsgbWFyZ2luLWJvdHRvbTogNjRweDsgfVxuLmV5ZWJyb3cge1xuICAgIGZvbnQtZmFtaWx5OiAnRE0gTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxMXB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjRlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogdmFyKC0tYWNjZW50KTsgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuLmV5ZWJyb3c6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7IHdpZHRoOiAyOHB4OyBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHZhcigtLWFjY2VudCksIHZhcigtLWFjY2VudC1saWdodCkpO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDsgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLmRpc3BsYXktbGcge1xuICAgIGZvbnQtZmFtaWx5OiAnTnVuaXRvJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IGNsYW1wKDQwcHgsIDZ2dywgNzJweCk7IGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMDU7IGNvbG9yOiB2YXIoLS1mZyk7IG1hcmdpbi1ib3R0b206IDI4cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG59XG4uZGlzcGxheS1sZyAuY2xheS1zdHJva2Uge1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAtd2Via2l0LXRleHQtc3Ryb2tlOiAycHggdmFyKC0tYWNjZW50KTtcbn1cbi5kaXNwbGF5LW1kIHtcbiAgICBmb250LWZhbWlseTogJ051bml0bycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiBjbGFtcCgzMnB4LCA1dncsIDYwcHgpOyBmb250LXdlaWdodDogOTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7IGNvbG9yOiB2YXIoLS1mZyk7IG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG59XG4uYm9keS10ZXh0IHsgZm9udC1zaXplOiAxN3B4OyBsaW5lLWhlaWdodDogMS44NTsgY29sb3I6IHZhcigtLW11dGVkKTsgbWF4LXdpZHRoOiA2NDBweDsgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuXG4uc2VjdGlvbi1kaXZpZGVyIHtcbiAgICBoZWlnaHQ6IDA7IHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTtcbiAgICBtYXJnaW46IDAgNDhweDtcbn1cbi5zZWN0aW9uLWRpdmlkZXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJzsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogMXB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdHJhbnNwYXJlbnQsIHJnYmEoMTI0LDU4LDIzNywwLjE1KSwgdHJhbnNwYXJlbnQpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PVxuICAgQUJPVVRcbj09PT09PT09PT09PT09PT09PT09ICovXG4uYWJvdXQtZ3JpZCB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMS4yZnIgMWZyOyBtaW4taGVpZ2h0OiA4MHZoOyBnYXA6IDA7IH1cbi5jb250ZW50LWNoYW1iZXIge1xuICAgIHBhZGRpbmc6IDYwcHggMTAlIDYwcHggMDtcbiAgICBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi52aXN1YWwtY2hhbWJlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDgwcHggNjBweDtcbn1cblxuLnBpbGwtYW5jaG9yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IHdpZHRoOiAzMDBweDsgaGVpZ2h0OiA0NTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAxNTBweDsgei1pbmRleDogNTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC44cyB2YXIoLS1lYXNlKTtcbn1cbi5waWxsLXNocm91ZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyBpbnNldDogLTE2cHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgxMjQsNTgsMjM3LDAuMTIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDE3MHB4OyB6LWluZGV4OiAtMTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDEyNCw1OCwyMzcsMC4wNiksIHRyYW5zcGFyZW50KTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNHB4KTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctY2FyZCk7XG59XG4ucGlsbC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgYm9yZGVyLXJhZGl1czogMTUwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3gtc2hhZG93OlxuICAgICAgICAyMHB4IDMwcHggNjBweCByZ2JhKDEyNCw1OCwyMzcsMC4yKSxcbiAgICAgICAgLTEycHggLTEycHggMzBweCByZ2JhKDI1NSwyNTUsMjU1LDAuOSksXG4gICAgICAgIGluc2V0IDRweCA0cHggMTBweCByZ2JhKDEyNCw1OCwyMzcsMC4wNiksXG4gICAgICAgIGluc2V0IC00cHggLTRweCAxMHB4IHJnYmEoMjU1LDI1NSwyNTUsMC44KTtcbn1cbi5waWxsLWZyYW1lIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgZmlsdGVyOiBzYXR1cmF0ZSgxLjA1KSBjb250cmFzdCgxLjA1KTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMS4ycyB2YXIoLS1lYXNlKTtcbn1cbi5waWxsLWFuY2hvcjpob3ZlciAucGlsbC1mcmFtZSBpbWcgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMDYpOyBmaWx0ZXI6IHNhdHVyYXRlKDEuMSkgY29udHJhc3QoMS4wOCk7IH1cblxuLyogQUJPVVQgR0FMTEVSWSBCVVRUT04gKi9cbi5hYm91dC1nYWxsZXJ5LWJ0biB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogNDBweDtcbiAgICByaWdodDogLTYwcHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY2FyZC1iZyk7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDI0cHgpO1xuICAgIHBhZGRpbmc6IDIycHggMThweDtcbiAgICBib3JkZXItcmFkaXVzOiAyNHB4O1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1jYXJkKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgei1pbmRleDogMjA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgY3ViaWMtYmV6aWVyKDAuMzQsIDEuNTYsIDAuNjQsIDEpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMjBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuOCk7XG59XG4uYWJvdXQtZ2FsbGVyeS1idG4gLmFnYi1pbm5lciB7XG4gICAgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5hYm91dC1nYWxsZXJ5LWJ0biBpIHsgXG4gICAgZm9udC1zaXplOiAyMHB4OyBjb2xvcjogd2hpdGU7IFxuICAgIHdpZHRoOiA0NHB4OyBoZWlnaHQ6IDQ0cHg7IGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7XG4gICAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDsgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWJ0bik7XG59XG4uYWJvdXQtZ2FsbGVyeS1idG4gc3BhbiB7XG4gICAgZm9udC1mYW1pbHk6ICdETSBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDlweDtcbiAgICBjb2xvcjogdmFyKC0tbXV0ZWQpOyBmb250LXdlaWdodDogNjAwOyBsaW5lLWhlaWdodDogMS4zO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjEyZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4uYWJvdXQtZ2FsbGVyeS1idG46aG92ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xNSkgdHJhbnNsYXRlWCgxMnB4KSByb3RhdGUoM2RlZyk7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWNhcmQtaG92ZXIpO1xufVxuLmFib3V0LWdhbGxlcnktYnRuOmFjdGl2ZSB7IHRyYW5zZm9ybTogc2NhbGUoMC45NSk7IH1cblxuLmh1ZC1lbGVtZW50IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IGZvbnQtZmFtaWx5OiAnRE0gTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiA5cHg7XG4gICAgY29sb3I6IHJnYmEoMTI0LDU4LDIzNywwLjI1KTsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDsgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5odWQtMSB7IHRvcDogMTIlOyBsZWZ0OiAtMTBweDsgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsgfVxuLmh1ZC0yIHsgYm90dG9tOiAxMiU7IHJpZ2h0OiAtMTBweDsgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOyB9XG5cbi5iYWRnZS1saW5lIHtcbiAgICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDE2cHg7IG1hcmdpbi1ib3R0b206IDMycHg7XG59XG4uYmFkZ2UtbGluZSBzcGFuIHtcbiAgICBmb250LWZhbWlseTogJ0RNIE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTFweDtcbiAgICBjb2xvcjogdmFyKC0tYWNjZW50KTsgbGV0dGVyLXNwYWNpbmc6IDAuM2VtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLmJhZGdlLWxpbmUgLmxpbmUgeyB3aWR0aDogNDBweDsgaGVpZ2h0OiAxLjVweDsgYmFja2dyb3VuZDogcmdiYSgxMjQsNTgsMjM3LDAuMik7IGJvcmRlci1yYWRpdXM6IDJweDsgfVxuXG4uaGVhZGxpbmUge1xuICAgIGZvbnQtZmFtaWx5OiAnTnVuaXRvJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IGNsYW1wKDQ0cHgsIDd2dywgMTAwcHgpOyBmb250LXdlaWdodDogOTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAwLjk7IGxldHRlci1zcGFjaW5nOiAtMC4wNGVtOyBtYXJnaW4tYm90dG9tOiA0OHB4O1xuICAgIGNvbG9yOiB2YXIoLS1mZyk7XG59XG4uaGVhZGxpbmUgZW0ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLXdlYmtpdC10ZXh0LXN0cm9rZTogMS41cHggdmFyKC0tbXV0ZWQpO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLm5hcnJhdGl2ZS10ZXh0IHsgbWF4LXdpZHRoOiA0ODBweDsgY29sb3I6IHZhcigtLW11dGVkKTsgZm9udC1zaXplOiAxNnB4OyBmb250LXdlaWdodDogNDAwOyBsaW5lLWhlaWdodDogMS44NTsgfVxuXG4uYmlvLWdyaWQgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7IGdhcDogMTZweDsgbWFyZ2luLXRvcDogMzZweDsgfVxuLmJpby1jYXJkIHtcbiAgICBwYWRkaW5nOiAyMnB4OyBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNhcmQtYmcpOyBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTJweCk7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWNhcmQpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIHZhcigtLWVhc2UpO1xufVxuLmJpby1jYXJkOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWNhcmQtaG92ZXIpO1xufVxuLmJpby1jYXJkIGg0IHtcbiAgICBmb250LWZhbWlseTogJ0RNIE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTBweDtcbiAgICBjb2xvcjogdmFyKC0tYWNjZW50KTsgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBsZXR0ZXItc3BhY2luZzogMC4xZW07XG59XG4uYmlvLWNhcmQgcCB7IGZvbnQtc2l6ZTogMTNweDsgbGluZS1oZWlnaHQ6IDEuNzsgY29sb3I6IHZhcigtLW11dGVkKTsgfVxuXG4uYmctdHlwb2dyYXBoeSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDUwJTsgbGVmdDogNTAlOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xuICAgIGZvbnQtZmFtaWx5OiAnTnVuaXRvJywgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHZ3OyBmb250LXdlaWdodDogOTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB6LWluZGV4OiAwOyBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLXdlYmtpdC10ZXh0LXN0cm9rZTogMXB4IHJnYmEoMTI0LDU4LDIzNywwLjA1KTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLnNpZGUtbWFya2VyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiAyNHB4OyB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDkwZGVnKTtcbiAgICBmb250LWZhbWlseTogJ0RNIE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogOXB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjVlbTsgY29sb3I6IHJnYmEoMTI0LDU4LDIzNywwLjIpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IHotaW5kZXg6IDEwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PVxuICAgUEFTU0lPTlxuPT09PT09PT09PT09PT09PT09PT0gKi9cbi5wYXNzaW9ucy1jb250YWluZXIgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOyBnYXA6IDI0cHg7IG1hcmdpbi10b3A6IDY0cHg7IH1cbi5wYXNzaW9uLXBhbmVsIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jYXJkLWJnKTsgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDE2cHgpO1xuICAgIHBhZGRpbmc6IDQ4cHggMzJweDsgYm9yZGVyLXJhZGl1czogMzJweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IG1pbi1oZWlnaHQ6IDM4MHB4OyBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1jYXJkKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyB2YXIoLS1lYXNlKTtcbn1cbi5wYXNzaW9uLXBhbmVsOmhvdmVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpOyBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctY2FyZC1ob3Zlcik7IH1cbi5wYXNzaW9uLWdob3N0LXRleHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgYm90dG9tOiAtMjBweDsgbGVmdDogLTEwcHg7XG4gICAgZm9udC1mYW1pbHk6ICdOdW5pdG8nLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDk2cHg7IGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgY29sb3I6IHJnYmEoMTI0LDU4LDIzNywwLjA0KTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4ucGFzc2lvbi1pY29uIHtcbiAgICBmb250LXNpemU6IDI4cHg7IG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgd2lkdGg6IDYycHg7IGhlaWdodDogNjJweDsgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctYnRuKTtcbn1cbi5wYXNzaW9uLXBhbmVsOm50aC1jaGlsZCgxKSAucGFzc2lvbi1pY29uIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI0ZCRDM4RCwgI0Y2QUQ1NSk7IGNvbG9yOiB3aGl0ZTsgfVxuLnBhc3Npb24tcGFuZWw6bnRoLWNoaWxkKDIpIC5wYXNzaW9uLWljb24geyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjNzZFNEY3LCAjMEVBNUU5KTsgY29sb3I6IHdoaXRlOyB9XG4ucGFzc2lvbi1wYW5lbDpudGgtY2hpbGQoMykgLnBhc3Npb24taWNvbiB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNGNjg3QjMsICNEQjI3NzcpOyBjb2xvcjogd2hpdGU7IH1cbi5wYXNzaW9uLXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogJ051bml0bycsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMjRweDsgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBjb2xvcjogdmFyKC0tZmcpOyBtYXJnaW4tYm90dG9tOiAxNHB4OyBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbn1cbi5wYXNzaW9uLWRlc2MgeyBmb250LXNpemU6IDE0cHg7IGxpbmUtaGVpZ2h0OiAxLjg1OyBjb2xvcjogdmFyKC0tbXV0ZWQpOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09XG4gICBTS0lMTFNcbj09PT09PT09PT09PT09PT09PT09ICovXG4uc2tpbGxzLWdyaWQgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDI2MHB4LCAxZnIpKTsgZ2FwOiAyNHB4OyBtYXJnaW46IDY0cHggMDsgfVxuLnNraWxsLWNhcmQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNhcmQtYmcpOyBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTZweCk7XG4gICAgcGFkZGluZzogNDRweCAzMnB4OyBib3JkZXItcmFkaXVzOiAzMnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgb3ZlcmZsb3c6IGhpZGRlbjsgbWluLWhlaWdodDogNDQwcHg7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWNhcmQpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIHZhcigtLWVhc2UpO1xufVxuLnNraWxsLWNhcmQ6aG92ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7IGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1jYXJkLWhvdmVyKTsgfVxuLmNhcmQtYmctbmFtZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyBib3R0b206IC04cHg7IGxlZnQ6IC04cHg7XG4gICAgZm9udC1mYW1pbHk6ICdOdW5pdG8nLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDcycHg7IGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgY29sb3I6IHJnYmEoMTI0LDU4LDIzNywwLjA0KTsgdXNlci1zZWxlY3Q6IG5vbmU7IHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmNhcmQtaWNvbiB7XG4gICAgZm9udC1zaXplOiAyNnB4OyBtYXJnaW4tYm90dG9tOiAyMnB4O1xuICAgIHdpZHRoOiA2MHB4OyBoZWlnaHQ6IDYwcHg7IGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWJ0bik7XG59XG4uc2tpbGwtY2FyZDpudGgtY2hpbGQoMSkgLmNhcmQtaWNvbiB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNBNzhCRkEsICM3QzNBRUQpOyBjb2xvcjogd2hpdGU7IH1cbi5za2lsbC1jYXJkOm50aC1jaGlsZCgyKSAuY2FyZC1pY29uIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzZFRTdCNywgIzEwQjk4MSk7IGNvbG9yOiB3aGl0ZTsgfVxuLnNraWxsLWNhcmQ6bnRoLWNoaWxkKDMpIC5jYXJkLWljb24geyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjRkNBNUE1LCAjRUY0NDQ0KTsgY29sb3I6IHdoaXRlOyB9XG4uY2FyZC1uYW1lIHtcbiAgICBmb250LWZhbWlseTogJ051bml0bycsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMjRweDsgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBjb2xvcjogdmFyKC0tZmcpOyBtYXJnaW4tYm90dG9tOiAxNHB4OyBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbn1cbi5jYXJkLWRlc2MgeyBmb250LXNpemU6IDE0cHg7IGxpbmUtaGVpZ2h0OiAxLjc1OyBjb2xvcjogdmFyKC0tbXV0ZWQpOyBtYXJnaW4tYm90dG9tOiAzNnB4OyB9XG4uZm9jdXMtbGlzdCB7IGxpc3Qtc3R5bGU6IG5vbmU7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogMTBweDsgfVxuLmZvY3VzLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTJweDtcbiAgICBmb250LXNpemU6IDEycHg7IGZvbnQtZmFtaWx5OiAnRE0gTW9ubycsIG1vbm9zcGFjZTtcbiAgICBjb2xvcjogdmFyKC0tbXV0ZWQpOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xufVxuLmZvY3VzLWl0ZW0gaSB7XG4gICAgd2lkdGg6IDZweDsgaGVpZ2h0OiA2cHg7IGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlOyBmbGV4LXNocmluazogMDtcbiAgICBib3gtc2hhZG93OiAwIDAgNnB4IHJnYmEoMTI0LDU4LDIzNywwLjQpO1xufVxuXG4ubWFuYWdlbWVudC1jYXJkIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jYXJkLWJnKTsgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDE2cHgpO1xuICAgIGJvcmRlci1yYWRpdXM6IDMycHg7IHBhZGRpbmc6IDU2cHg7XG4gICAgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOyBnYXA6IDU2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogODBweDsgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWNhcmQpO1xufVxuLnRhZy1jbG91ZCB7IGRpc3BsYXk6IGZsZXg7IGdhcDogMTBweDsgZmxleC13cmFwOiB3cmFwOyBtYXJnaW4tdG9wOiAyMHB4OyB9XG4udGFnIHtcbiAgICBwYWRkaW5nOiA5cHggMThweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEyNCw1OCwyMzcsMC4wNyk7XG4gICAgYm9yZGVyOiBub25lOyBjb2xvcjogdmFyKC0tYWNjZW50KTtcbiAgICBmb250LWZhbWlseTogJ0RNIE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMDBweDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAzcHggM3B4IDZweCByZ2JhKDEyNCw1OCwyMzcsMC4wOCksIGluc2V0IC0zcHggLTNweCA2cHggcmdiYSgyNTUsMjU1LDI1NSwwLjcpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PVxuICAgRUZGT1JUUyDigJQgUFJPSkVDVFNcbj09PT09PT09PT09PT09PT09PT09ICovXG4uZWZmb3J0cy13cmFwIHsgbWF4LXdpZHRoOiAxMjAwcHg7IG1hcmdpbjogMCBhdXRvOyBwYWRkaW5nOiA2MHB4IDQ4cHg7IH1cbi5wcm9qZWN0cy1ncmlkIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgzMDBweCwgMWZyKSk7IGdhcDogMjBweDsgbWFyZ2luLWJvdHRvbTogMTAwcHg7IH1cbi5wcm9qZWN0LWNhcmQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNhcmQtYmcpOyBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTZweCk7XG4gICAgcGFkZGluZzogMzZweCAzMnB4OyBib3JkZXItcmFkaXVzOiAyOHB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgY29sb3I6IGluaGVyaXQ7XG4gICAgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctY2FyZCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgdmFyKC0tZWFzZSk7XG59XG4ucHJvamVjdC1jYXJkOmhvdmVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpOyBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctY2FyZC1ob3Zlcik7IH1cbi5wcm9qZWN0LXRhZ3MgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LXdyYXA6IHdyYXA7IGdhcDogOHB4OyBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4ucC10YWcge1xuICAgIGZvbnQtZmFtaWx5OiAnRE0gTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiA5cHg7XG4gICAgY29sb3I6IHZhcigtLWFjY2VudCk7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgcGFkZGluZzogNXB4IDEycHg7IGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTI0LDU4LDIzNywwLjA4KTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAycHggMnB4IDRweCByZ2JhKDEyNCw1OCwyMzcsMC4wNiksIGluc2V0IC0ycHggLTJweCA0cHggcmdiYSgyNTUsMjU1LDI1NSwwLjcpO1xufVxuLnAtdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiAnTnVuaXRvJywgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAyNHB4OyBmb250LXdlaWdodDogODAwO1xuICAgIGNvbG9yOiB2YXIoLS1mZyk7IG1hcmdpbi1ib3R0b206IDE0cHg7IGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xufVxuLnAtZGVzYyB7IGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHZhcigtLW11dGVkKTsgbGluZS1oZWlnaHQ6IDEuODsgbWFyZ2luLWJvdHRvbTogMzJweDsgfVxuLmxpbmstaW5kaWNhdG9yIHtcbiAgICBmb250LWZhbWlseTogJ0RNIE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogOXB4O1xuICAgIGNvbG9yOiB2YXIoLS1hY2NlbnQpOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIG1hcmdpbi10b3A6IGF1dG87IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogOHB4O1xufVxuXG4vKiBXUklUSU5HUyAqL1xuLndyaXRpbmdzLWxpc3QgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDA7IG1hcmdpbi1ib3R0b206IDEwMHB4OyB9XG4ud3JpdGluZy1pdGVtIHtcbiAgICBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvIGF1dG87XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAyNHB4O1xuICAgIHBhZGRpbmc6IDQwcHggMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgxMjQsNTgsMjM3LDAuMDgpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgY29sb3I6IGluaGVyaXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgdmFyKC0tZWFzZSk7XG59XG4ud3JpdGluZy1pdGVtOmhvdmVyIHsgcGFkZGluZy1sZWZ0OiAxOHB4OyB9XG4udy1zdWJ0aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6ICdETSBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDlweDtcbiAgICBjb2xvcjogdmFyKC0tYWNjZW50KTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7IGRpc3BsYXk6IGJsb2NrOyBsZXR0ZXItc3BhY2luZzogMC4xZW07XG59XG4udy10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6ICdOdW5pdG8nLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDI4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDsgY29sb3I6IHZhcigtLWZnKTsgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG59XG4ud3JpdGluZy1pdGVtOmhvdmVyIC53LXRpdGxlIHsgY29sb3I6IHZhcigtLWFjY2VudCk7IH1cbi53LWRlc2MgeyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiB2YXIoLS1tdXRlZCk7IGxpbmUtaGVpZ2h0OiAxLjg7IG1hcmdpbi10b3A6IDEycHg7IG1heC13aWR0aDogNjgwcHg7IH1cbi53LWljb24geyBmb250LXNpemU6IDI0cHg7IGNvbG9yOiByZ2JhKDEyNCw1OCwyMzcsMC4yKTsgfVxuXG4vKiBDUkVBVElWRSBHUklEICovXG4uY3JlYXRpdmUtZ3JpZCB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7IGdhcDogMjRweDsgfVxuLmNyZWF0aXZlLWNhcmQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNhcmQtYmcpOyBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTZweCk7XG4gICAgcGFkZGluZzogNDhweCAzNnB4OyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgY29sb3I6IGluaGVyaXQ7IGJvcmRlci1yYWRpdXM6IDI4cHg7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWNhcmQpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIHZhcigtLWVhc2UpO1xufVxuLmNyZWF0aXZlLWNhcmQ6aG92ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7IGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1jYXJkLWhvdmVyKTsgfVxuLmMtaWNvbi1ib3gge1xuICAgIHdpZHRoOiA4MHB4OyBoZWlnaHQ6IDgwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMjRweDsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICBmb250LXNpemU6IDI4cHg7IGNvbG9yOiB3aGl0ZTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctYnRuKTtcbn1cbi5jcmVhdGl2ZS1jYXJkOm50aC1jaGlsZCgxKSAuYy1pY29uLWJveCB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM2MEE1RkEsICMyNTYzRUIpOyB9XG4uY3JlYXRpdmUtY2FyZDpudGgtY2hpbGQoMikgLmMtaWNvbi1ib3ggeyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjQTc4QkZBLCAjN0MzQUVEKTsgfVxuLmNyZWF0aXZlLWNhcmQ6bnRoLWNoaWxkKDMpIC5jLWljb24tYm94IHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI0Y5QThENCwgI0RCMjc3Nyk7IH1cbi5jLXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogJ051bml0bycsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMjJweDsgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBjb2xvcjogdmFyKC0tZmcpOyBtYXJnaW4tYm90dG9tOiAxNHB4OyBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbn1cbi5jLWRlc2MgeyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiB2YXIoLS1tdXRlZCk7IGxpbmUtaGVpZ2h0OiAxLjg7IG1hcmdpbi1ib3R0b206IDM2cHg7IH1cbi5jLWJ0biB7XG4gICAgZm9udC1mYW1pbHk6ICdETSBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDlweDtcbiAgICBjb2xvcjogdmFyKC0tYWNjZW50KTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICBtYXJnaW4tdG9wOiBhdXRvOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDhweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT1cbiAgIEFUVEFJTk1FTlRTXG49PT09PT09PT09PT09PT09PT09PSAqL1xuLmF0dGFpbm1lbnQtbGlzdCB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogMDsgfVxuLmF0dGFpbm1lbnQtcm93IHtcbiAgICBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDE2MHB4IDFmciBhdXRvO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IHBhZGRpbmc6IDQwcHggMjRweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgxMjQsNTgsMjM3LDAuMDgpO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IHRyYW5zaXRpb246IGFsbCAwLjRzIHZhcigtLWVhc2UpO1xufVxuLmF0dGFpbm1lbnQtcm93OmhvdmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMjQsNTgsMjM3LDAuMDQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG59XG4uYS15ZWFyIHtcbiAgICBmb250LWZhbWlseTogJ0RNIE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTVweDtcbiAgICBjb2xvcjogcmdiYSgxMjQsNTgsMjM3LDAuMzUpOyBmb250LXdlaWdodDogNTAwO1xufVxuLmF0dGFpbm1lbnQtcm93OmhvdmVyIC5hLXllYXIgeyBjb2xvcjogdmFyKC0tYWNjZW50KTsgfVxuLmEtaW5mbyB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogNnB4OyB9XG4uYS1jYXRlZ29yeSB7XG4gICAgZm9udC1mYW1pbHk6ICdETSBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDlweDtcbiAgICBjb2xvcjogdmFyKC0tYWNjZW50KTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbGV0dGVyLXNwYWNpbmc6IDFweDtcbn1cbi5hLXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogJ051bml0bycsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMjZweDtcbiAgICBmb250LXdlaWdodDogODAwOyBjb2xvcjogdmFyKC0tZmcpOyBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbn1cbi5hdHRhaW5tZW50LXJvdzpob3ZlciAuYS10aXRsZSB7IGNvbG9yOiB2YXIoLS1hY2NlbnQpOyB9XG4uYS1pY29uIHsgZm9udC1zaXplOiAyOHB4OyBjb2xvcjogcmdiYSgxMjQsNTgsMjM3LDAuMTUpOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09XG4gICBFWFBMT1JFXG49PT09PT09PT09PT09PT09PT09PSAqL1xuLmV4cGxvcmUtYXBwIHtcbiAgICBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDMyMHB4IDFmcjtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbn1cbi5leHBsb3JlLXNpZGViYXIge1xuICAgIHBhZGRpbmc6IDgwcHggNDhweDtcbiAgICBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjUpOyBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCk7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgxMjQsNTgsMjM3LDAuMDgpO1xufVxuLmJyYW5kLWRpYW1vbmQge1xuICAgIHdpZHRoOiA1NnB4OyBoZWlnaHQ6IDU2cHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tYWNjZW50LWxpZ2h0KSwgdmFyKC0tYWNjZW50KSk7XG4gICAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyBtYXJnaW4tYm90dG9tOiA0OHB4OyBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1idG4pO1xufVxuLmJyYW5kLWRpYW1vbmQgc3BhbiB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBjb2xvcjogd2hpdGU7IGZvbnQtZmFtaWx5OiAnTnVuaXRvJywgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAyMnB4O1xufVxuLnNpZGViYXItdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiAnTnVuaXRvJywgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAzOHB4OyBmb250LXdlaWdodDogOTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjA1OyBtYXJnaW4tYm90dG9tOiAyNHB4OyBjb2xvcjogdmFyKC0tZmcpO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xufVxuLnNpZGViYXItZGVzYyB7IGZvbnQtc2l6ZTogMTVweDsgY29sb3I6IHZhcigtLW11dGVkKTsgbGluZS1oZWlnaHQ6IDEuODsgfVxuLnNjcm9sbC1pbmRpY2F0b3IgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDE2cHg7IG1hcmdpbi10b3A6IGF1dG87IH1cbi50aGluLWxpbmUgeyB3aWR0aDogMzZweDsgaGVpZ2h0OiAxLjVweDsgYmFja2dyb3VuZDogcmdiYSgxMjQsNTgsMjM3LDAuMik7IGJvcmRlci1yYWRpdXM6IDJweDsgfVxuLnNjcm9sbC1pbmRpY2F0b3Igc3BhbiB7XG4gICAgZm9udC1mYW1pbHk6ICdETSBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDlweDtcbiAgICBjb2xvcjogcmdiYSgxMjQsNTgsMjM3LDAuMzUpOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBsZXR0ZXItc3BhY2luZzogMnB4O1xufVxuXG4uZXhwbG9yZS1jb250ZW50IHtcbiAgICBwYWRkaW5nOiA4MHB4OyBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEyLCAxZnIpOyBnYXA6IDI0cHg7XG59XG4uZXhwbG9yZS1jYXJkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY2FyZC1iZyk7IGJhY2tkcm9wLWZpbHRlcjogYmx1cigxNnB4KTtcbiAgICBwYWRkaW5nOiA1MnB4IDQwcHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBjb2xvcjogaW5oZXJpdDtcbiAgICBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGJvcmRlci1yYWRpdXM6IDI4cHg7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWNhcmQpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIHZhcigtLWVhc2UpOyBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmV4cGxvcmUtY2FyZDpob3ZlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTJweCk7IGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1jYXJkLWhvdmVyKTsgfVxuLmVjYXJkLTEgeyBncmlkLWNvbHVtbjogc3BhbiA3OyBncmlkLXJvdzogc3BhbiAzOyB9XG4uZWNhcmQtMiB7IGdyaWQtY29sdW1uOiBzcGFuIDU7IGdyaWQtcm93OiBzcGFuIDQ7IH1cbi5lY2FyZC0zIHsgZ3JpZC1jb2x1bW46IHNwYW4gNTsgZ3JpZC1yb3c6IHNwYW4gMzsgbWFyZ2luLXRvcDogLTYwcHg7IH1cbi5lY2FyZC00IHsgZ3JpZC1jb2x1bW46IHNwYW4gNzsgZ3JpZC1yb3c6IHNwYW4gMjsgfVxuLmNhcmQtZXllYnJvdyB7XG4gICAgZm9udC1mYW1pbHk6ICdETSBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDlweDtcbiAgICBjb2xvcjogdmFyKC0tYWNjZW50KTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW4tYm90dG9tOiAxOHB4OyBkaXNwbGF5OiBibG9jazsgbGV0dGVyLXNwYWNpbmc6IDFweDtcbn1cbi5jYXJkLXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogJ051bml0bycsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMjhweDsgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBjb2xvcjogdmFyKC0tZmcpOyBtYXJnaW4tYm90dG9tOiAyMHB4OyBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbn1cbi5jYXJkLWRlc2MtZSB7IGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHZhcigtLW11dGVkKTsgbGluZS1oZWlnaHQ6IDEuODsgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuLmNhcmQtZm9vdGVyLWUgeyBtYXJnaW4tdG9wOiBhdXRvOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbi5jYXJkLW51bS1lIHtcbiAgICBmb250LWZhbWlseTogJ0RNIE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTBweDtcbiAgICBjb2xvcjogcmdiYSgxMjQsNTgsMjM3LDAuMyk7IGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG4uY2FyZC1saW5rIHtcbiAgICBmb250LXNpemU6IDIycHg7IGNvbG9yOiB2YXIoLS1hY2NlbnQpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIHZhcigtLWVhc2UpO1xuICAgIHdpZHRoOiA0OHB4OyBoZWlnaHQ6IDQ4cHg7IGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEyNCw1OCwyMzcsMC4wOCk7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgM3B4IDNweCA2cHggcmdiYSgxMjQsNTgsMjM3LDAuMDgpLCBpbnNldCAtM3B4IC0zcHggNnB4IHJnYmEoMjU1LDI1NSwyNTUsMC43KTtcbn1cbi5leHBsb3JlLWNhcmQ6aG92ZXIgLmNhcmQtbGluayB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKDRweCwtNHB4KTsgfVxuXG4vKiBFeHBsb3JlIGNhcmQgYWNjZW50IHN0cmlwZSAqL1xuLmVjYXJkLTE6OmJlZm9yZSB7IGNvbnRlbnQ6Jyc7IHBvc2l0aW9uOmFic29sdXRlOyB0b3A6MDsgbGVmdDowOyByaWdodDowOyBoZWlnaHQ6NHB4OyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHZhcigtLWFjY2VudCksIHZhcigtLWFjY2VudC1hbHQpKTsgYm9yZGVyLXJhZGl1czogMjhweCAyOHB4IDAgMDsgfVxuLmVjYXJkLTI6OmJlZm9yZSB7IGNvbnRlbnQ6Jyc7IHBvc2l0aW9uOmFic29sdXRlOyB0b3A6MDsgbGVmdDowOyByaWdodDowOyBoZWlnaHQ6NHB4OyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHZhcigtLXNreSksIHZhcigtLWVtZXJhbGQpKTsgYm9yZGVyLXJhZGl1czogMjhweCAyOHB4IDAgMDsgfVxuLmVjYXJkLTM6OmJlZm9yZSB7IGNvbnRlbnQ6Jyc7IHBvc2l0aW9uOmFic29sdXRlOyB0b3A6MDsgbGVmdDowOyByaWdodDowOyBoZWlnaHQ6NHB4OyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHZhcigtLWFtYmVyKSwgI0Y5NzMxNik7IGJvcmRlci1yYWRpdXM6IDI4cHggMjhweCAwIDA7IH1cbi5lY2FyZC00OjpiZWZvcmUgeyBjb250ZW50OicnOyBwb3NpdGlvbjphYnNvbHV0ZTsgdG9wOjA7IGxlZnQ6MDsgcmlnaHQ6MDsgaGVpZ2h0OjRweDsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB2YXIoLS1hY2NlbnQtYWx0KSwgIzkzMzNFQSk7IGJvcmRlci1yYWRpdXM6IDI4cHggMjhweCAwIDA7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT1cbiAgIENPTk5FQ1Rcbj09PT09PT09PT09PT09PT09PT09ICovXG4jc2VjdGlvbi1jb25uZWN0IG1haW4ge1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyBwYWRkaW5nOiAwIDQ4cHg7XG59XG4uZGVza3RvcC1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogODBweDsgbWF4LXdpZHRoOiAxMzAwcHg7IHdpZHRoOiAxMDAlO1xufVxuLmNvbnRhY3QtaGVhZGVyIHsgbWF4LXdpZHRoOiA0ODBweDsgfVxuLnN0YXR1cy1kb3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTJweDsgbWFyZ2luLWJvdHRvbTogMjhweDtcbiAgICBmb250LWZhbWlseTogJ0RNIE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTBweDtcbiAgICBjb2xvcjogdmFyKC0tZW1lcmFsZCk7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG4uZG90LXB1bHNlIHtcbiAgICB3aWR0aDogMTBweDsgaGVpZ2h0OiAxMHB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1lbWVyYWxkKTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7IGJveC1zaGFkb3c6IDAgMCAxMHB4IHZhcigtLWVtZXJhbGQpO1xuICAgIGFuaW1hdGlvbjogcHVsc2UgMnMgaW5maW5pdGU7XG59XG5Aa2V5ZnJhbWVzIHB1bHNlIHsgMCV7dHJhbnNmb3JtOnNjYWxlKDEpO29wYWNpdHk6MX0gNTAle3RyYW5zZm9ybTpzY2FsZSgyLjUpO29wYWNpdHk6MH0gMTAwJXt0cmFuc2Zvcm06c2NhbGUoMSk7b3BhY2l0eTowfSB9XG4uY29udGFjdC1oZWFkZXIgaDEge1xuICAgIGZvbnQtZmFtaWx5OiAnTnVuaXRvJywgc2Fucy1zZXJpZjsgZm9udC1zaXplOiBjbGFtcCg2MHB4LCA4dncsIDEwMHB4KTtcbiAgICBmb250LXdlaWdodDogOTAwOyBsaW5lLWhlaWdodDogMC44ODsgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDRlbTsgY29sb3I6IHZhcigtLWZnKTtcbn1cbi5jb250YWN0LWhlYWRlciAub3V0bGluZSB7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50OyAtd2Via2l0LXRleHQtc3Ryb2tlOiAycHggdmFyKC0tYWNjZW50KTtcbn1cbi5jb250YWN0LWhlYWRlciBwIHsgZm9udC1zaXplOiAxNnB4OyBjb2xvcjogdmFyKC0tbXV0ZWQpOyBsaW5lLWhlaWdodDogMS44OyB9XG5cbi5ycy1jb250YWN0LWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gICAgZ2FwOiAxMnB4OyBmbGV4OiAxOyBtaW4td2lkdGg6IDQ2MHB4O1xufVxuLmNvbnRhY3QtY2FyZCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY2FyZC1iZyk7IGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMnB4KTtcbiAgICBhc3BlY3QtcmF0aW86IDE7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMjZweDsgY29sb3I6IHZhcigtLW11dGVkKTsgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDI0cHg7IGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1jYXJkKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC40cyB2YXIoLS1lYXNlKTtcbn1cbi5jb250YWN0LWNhcmQ6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1hY2NlbnQpOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCkgc2NhbGUoMS4wNCk7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWNhcmQtaG92ZXIpO1xufVxuXG4ucnMtbWFpbC1jYXJkIHtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA0O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWFjY2VudC1saWdodCksIHZhcigtLWFjY2VudCkpO1xuICAgIGNvbG9yOiB3aGl0ZTsgYm9yZGVyOiBub25lOyBwYWRkaW5nOiA0NHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IGJvcmRlci1yYWRpdXM6IDI4cHg7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWJ0bik7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgdmFyKC0tZWFzZSk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyBvdmVyZmxvdzogaGlkZGVuO1xufVxuLnJzLW1haWwtY2FyZDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IGluc2V0OiAwOyBib3JkZXItcmFkaXVzOiAyOHB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMjU1LDI1NSwyNTUsMC4yKSwgdHJhbnNwYXJlbnQpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnJzLW1haWwtY2FyZDpob3ZlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KSBzY2FsZSgxLjAxKTsgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWJ0bi1ob3Zlcik7IH1cbi5ycy1tYy10YWcge1xuICAgIGZvbnQtZmFtaWx5OiAnRE0gTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBsZXR0ZXItc3BhY2luZzogMXB4OyBmb250LXdlaWdodDogNzAwOyBvcGFjaXR5OiAwLjg1O1xufVxuLnJzLW1jLXB1bHNlIHtcbiAgICB3aWR0aDogOHB4OyBoZWlnaHQ6IDhweDsgYmFja2dyb3VuZDogd2hpdGU7IGJvcmRlci1yYWRpdXM6IDUwJTsgb3BhY2l0eTogMC42O1xuICAgIGFuaW1hdGlvbjogcnMtcHVsc2UgMnMgaW5maW5pdGU7XG59XG5Aa2V5ZnJhbWVzIHJzLXB1bHNlIHsgMCV7dHJhbnNmb3JtOnNjYWxlKDEpO29wYWNpdHk6MC42fSA1MCV7dHJhbnNmb3JtOnNjYWxlKDEuNik7b3BhY2l0eTowfSAxMDAle3RyYW5zZm9ybTpzY2FsZSgxKTtvcGFjaXR5OjAuNn0gfVxuLnJzLW1jLXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogJ051bml0bycsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogNDJweDtcbiAgICBmb250LXdlaWdodDogOTAwOyBsaW5lLWhlaWdodDogMC45NTsgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG59XG4ucnMtbWMtdGl0bGUgZW0geyBmb250LXN0eWxlOiBpdGFsaWM7IG9wYWNpdHk6IDAuNjU7IH1cbi5ycy1tYy1pY29uIHsgZm9udC1zaXplOiA0NHB4OyB9XG4ucnMtbWMtYXJyb3cgeyBmb250LXNpemU6IDIycHg7IG9wYWNpdHk6IDAuNTU7IG1hcmdpbi10b3A6IDhweDsgfVxuXG4uc3lzdGVtLWZvb3RlciB7XG4gICAgcGFkZGluZzogNDhweCA4JTsgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMTI0LDU4LDIzNywwLjA4KTtcbiAgICBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZm9udC1mYW1pbHk6ICdETSBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDEwcHg7XG4gICAgY29sb3I6IHJnYmEoMTI0LDU4LDIzNywwLjMpOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBsZXR0ZXItc3BhY2luZzogMnB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PVxuICAgQ09OVEFDVCBNT0RBTFxuPT09PT09PT09PT09PT09PT09PT0gKi9cbiNjb250YWN0LW1vZGFsIHtcbiAgICBkaXNwbGF5OiBub25lOyBwb3NpdGlvbjogZml4ZWQ7IGluc2V0OiAwOyB6LWluZGV4OiAyMDAwO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTAwLDgwLDE0MCwwLjI1KTsgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDE4cHgpO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBwYWRkaW5nOiAyNHB4O1xuICAgIGFuaW1hdGlvbjogbW9kYWxJbiAuNHMgdmFyKC0tZWFzZSk7XG59XG5Aa2V5ZnJhbWVzIG1vZGFsSW4geyBmcm9te29wYWNpdHk6MDt0cmFuc2Zvcm06c2NhbGUoMC45Nil9IHRve29wYWNpdHk6MTt0cmFuc2Zvcm06c2NhbGUoMSl9IH1cbi5jbS1ib3gge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC44OCk7IGJhY2tkcm9wLWZpbHRlcjogYmx1cigyNHB4KTtcbiAgICBwYWRkaW5nOiA2NHB4OyBtYXgtd2lkdGg6IDY0MHB4OyB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiA0MHB4OyBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWRlZXApO1xufVxuLmNtLWNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMjRweDsgcmlnaHQ6IDI0cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tc3VyZmFjZSk7IGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogdmFyKC0tbXV0ZWQpOyBmb250LXNpemU6IDI0cHg7IGN1cnNvcjogcG9pbnRlcjtcbiAgICB3aWR0aDogNDRweDsgaGVpZ2h0OiA0NHB4OyBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWNhcmQpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIHZhcigtLWVhc2UpO1xufVxuLmNtLWNsb3NlOmhvdmVyIHsgY29sb3I6IHZhcigtLWFjY2VudCk7IHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuLmNtLXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogJ051bml0bycsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogNDBweDtcbiAgICBmb250LXdlaWdodDogOTAwOyBtYXJnaW4tYm90dG9tOiAxOHB4OyBjb2xvcjogdmFyKC0tZmcpO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xufVxuLmNtLXRpdGxlIGVtIHsgY29sb3I6IHZhcigtLWFjY2VudCk7IGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuLmNtLWRlc2MgeyBjb2xvcjogdmFyKC0tbXV0ZWQpOyBsaW5lLWhlaWdodDogMS44OyBtYXJnaW4tYm90dG9tOiA0MHB4OyBmb250LXNpemU6IDE1cHg7IH1cbi5jbS1pbnB1dCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tc3VyZmFjZSk7IGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiAxOHB4IDIycHg7IGNvbG9yOiB2YXIoLS1mZyk7XG4gICAgZm9udC1mYW1pbHk6ICdETSBTYW5zJywgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE4cHg7IHdpZHRoOiAxMDAlO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1wcmVzc2VkKTtcbiAgICBvdXRsaW5lOiBub25lOyB0cmFuc2l0aW9uOiBhbGwgMC4zcyB2YXIoLS1lYXNlKTtcbn1cbi5jbS1pbnB1dDpmb2N1cyB7IGJhY2tncm91bmQ6IHdoaXRlOyBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctY2FyZCk7IH1cbi5jbS1pbnB1dDo6cGxhY2Vob2xkZXIgeyBjb2xvcjogdmFyKC0tbXV0ZWQpOyB9XG4uY20tc3VibWl0IHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1hY2NlbnQtbGlnaHQpLCB2YXIoLS1hY2NlbnQpKTtcbiAgICBjb2xvcjogd2hpdGU7IGJvcmRlcjogbm9uZTsgcGFkZGluZzogMjJweCAzNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgIGZvbnQtZmFtaWx5OiAnRE0gTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxMXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE4cHg7IHdpZHRoOiAxMDAlO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1idG4pO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIHZhcigtLWVhc2UpO1xufVxuLmNtLXN1Ym1pdDpob3ZlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KTsgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWJ0bi1ob3Zlcik7IH1cbi5jbS1zdWJtaXQ6YWN0aXZlIHsgdHJhbnNmb3JtOiBzY2FsZSgwLjk2KTsgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXByZXNzZWQpOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09XG4gICBBSSBDSEFUIOKAlCBIRVJPIEJVVFRPTlxuPT09PT09PT09PT09PT09PT09PT0gKi9cbi5oZXJvLWFpLWJ0biB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTZweDtcbiAgICBwYWRkaW5nOiAxOHB4IDI4cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY2FyZC1iZyk7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDE2cHgpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC44KTtcbiAgICBib3JkZXItcmFkaXVzOiAyNHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctY2FyZCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgY3ViaWMtYmV6aWVyKDAuMzQsIDEuNTYsIDAuNjQsIDEpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmhlcm8tYWktYnRuOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICBib3JkZXItcmFkaXVzOiAyNHB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMTI0LDU4LDIzNywwLjA0KSwgdHJhbnNwYXJlbnQpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmhlcm8tYWktYnRuOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTZweCkgc2NhbGUoMS4wMyk7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWNhcmQtaG92ZXIpO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgxMjQsNTgsMjM3LDAuMik7XG59XG4uaGVyby1haS1idG46YWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTcpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1wcmVzc2VkKTtcbn1cblxuLmhlcm8tYWktaWNvbiB7XG4gICAgd2lkdGg6IDQ0cHg7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tYWNjZW50LWxpZ2h0KSwgdmFyKC0tYWNjZW50KSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctYnRuKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uaGVyby1haS1pY29uIHN2ZyB7XG4gICAgd2lkdGg6IDIycHg7XG4gICAgaGVpZ2h0OiAyMnB4O1xufVxuLmhlcm8tYWktaWNvbjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogLTNweDtcbiAgICBib3JkZXItcmFkaXVzOiAxN3B4O1xuICAgIGJvcmRlcjogMS41cHggc29saWQgcmdiYSgxNjcsMTM5LDI1MCwwLjMpO1xuICAgIGFuaW1hdGlvbjogYWktaWNvbi1icmVhdGhlIDNzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xufVxuQGtleWZyYW1lcyBhaS1pY29uLWJyZWF0aGUge1xuICAgIDAlLCAxMDAlIHsgb3BhY2l0eTogMC40OyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gICAgNTAlIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiBzY2FsZSgxLjE1KTsgfVxufVxuXG4uaGVyby1haS10ZXh0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAzcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi5oZXJvLWFpLWxhYmVsIHtcbiAgICBmb250LWZhbWlseTogJ0RNIE1vbm8nLCBtb25vc3BhY2U7XG4gICAgZm9udC1zaXplOiA5cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMmVtO1xuICAgIGNvbG9yOiB2YXIoLS1hY2NlbnQpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cbi5oZXJvLWFpLWN0YSB7XG4gICAgZm9udC1mYW1pbHk6ICdOdW5pdG8nLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiB2YXIoLS1mZyk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG59XG5cbi8qIEFJIENIQVQgUEFORUwgKi9cbi5haS1wYW5lbCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB6LWluZGV4OiAyNTAwO1xuICAgIHdpZHRoOiA0NDBweDtcbiAgICBoZWlnaHQ6IDYwMHB4O1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSA0OHB4KTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAzMnB4KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuODgpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig0MHB4KSBzYXR1cmF0ZSgxLjgpO1xuICAgIGJvcmRlci1yYWRpdXM6IDMycHg7XG4gICAgYm94LXNoYWRvdzpcbiAgICAgICAgMCAzMnB4IDEwMHB4IHJnYmEoMTI0LDU4LDIzNywwLjIpLFxuICAgICAgICAwIDEycHggNDBweCByZ2JhKDAsMCwwLDAuMDgpLFxuICAgICAgICBpbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsMjU1LDI1NSwwLjcpO1xuICAgIGJvcmRlcjogMC41cHggc29saWQgcmdiYSgxMjQsNTgsMjM3LDAuMSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMC45KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjQ1cyBjdWJpYy1iZXppZXIoMC4zNCwgMS41NiwgMC42NCwgMSk7XG59XG4uYWktcGFuZWwuYWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG4vKiBQQU5FTCBCQUNLRFJPUCAqL1xuLmFpLWJhY2tkcm9wIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgaW5zZXQ6IDA7XG4gICAgei1pbmRleDogMjQwMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEwMCw4MCwxNDAsMC4xNSk7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMgdmFyKC0tZWFzZSk7XG59XG4uYWktYmFja2Ryb3AuYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG4vKiBQQU5FTCBIRUFERVIgKi9cbi5haS1wYW5lbC1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDIwcHggMjRweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDEyNCw1OCwyMzcsMC4wOCk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjUpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuLmFpLXBhbmVsLWJyYW5kIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxNHB4O1xufVxuLmFpLWF2YXRhciB7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tYWNjZW50LWxpZ2h0KSwgdmFyKC0tYWNjZW50KSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1idG4pO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuLmFpLWF2YXRhciBzdmcge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBjb2xvcjogd2hpdGU7XG59XG4uYWktcGFuZWwtdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiAnTnVuaXRvJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBjb2xvcjogdmFyKC0tZmcpO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xufVxuLmFpLXBhbmVsLXN0YXR1cyB7XG4gICAgZm9udC1mYW1pbHk6ICdETSBNb25vJywgbW9ub3NwYWNlO1xuICAgIGZvbnQtc2l6ZTogOXB4O1xuICAgIGNvbG9yOiB2YXIoLS1lbWVyYWxkKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNnB4O1xufVxuLmFpLXN0YXR1cy1kb3Qge1xuICAgIHdpZHRoOiA2cHg7XG4gICAgaGVpZ2h0OiA2cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tZW1lcmFsZCk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJveC1zaGFkb3c6IDAgMCA4cHggdmFyKC0tZW1lcmFsZCk7XG4gICAgYW5pbWF0aW9uOiBwdWxzZSAycyBpbmZpbml0ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4uYWktcGFuZWwtY2xvc2Uge1xuICAgIHdpZHRoOiAzNnB4O1xuICAgIGhlaWdodDogMzZweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXN1cmZhY2UpO1xuICAgIGNvbG9yOiB2YXIoLS1tdXRlZCk7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWNhcmQpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIHZhcigtLWVhc2UpO1xufVxuLmFpLXBhbmVsLWNsb3NlOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tYWNjZW50KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG59XG5cbi8qIE1FU1NBR0VTICovXG4uYWktbWVzc2FnZXMge1xuICAgIGZsZXg6IDE7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDE2cHg7XG4gICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG59XG4uYWktbWVzc2FnZXM6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICB3aWR0aDogNHB4O1xufVxuLmFpLW1lc3NhZ2VzOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4uYWktbWVzc2FnZXM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEyNCw1OCwyMzcsMC4xNSk7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4uYWktbXNnIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMTBweDtcbiAgICBtYXgtd2lkdGg6IDkyJTtcbiAgICBhbmltYXRpb246IGFpLW1zZy1pbiAwLjRzIGN1YmljLWJlemllcigwLjM0LCAxLjU2LCAwLjY0LCAxKTtcbn1cbkBrZXlmcmFtZXMgYWktbXNnLWluIHtcbiAgICBmcm9tIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEycHgpIHNjYWxlKDAuOTUpOyB9XG4gICAgdG8geyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7IH1cbn1cblxuLmFpLW1zZy1ib3Qge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG59XG4uYWktbXNnLXVzZXIge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbn1cblxuLmFpLW1zZy1hdmF0YXIge1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAycHg7XG59XG4uYWktbXNnLWJvdCAuYWktbXNnLWF2YXRhciB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tYWNjZW50LWxpZ2h0KSwgdmFyKC0tYWNjZW50KSk7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDEyNCw1OCwyMzcsMC4yNSk7XG59XG4uYWktbXNnLWJvdCAuYWktbXNnLWF2YXRhciBzdmcge1xuICAgIHdpZHRoOiAxNHB4O1xuICAgIGhlaWdodDogMTRweDtcbiAgICBjb2xvcjogd2hpdGU7XG59XG4uYWktbXNnLXVzZXIgLmFpLW1zZy1hdmF0YXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXN1cmZhY2UpO1xuICAgIGNvbG9yOiB2YXIoLS1hY2NlbnQpO1xuICAgIGZvbnQtZmFtaWx5OiAnTnVuaXRvJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctY2FyZCk7XG59XG5cbi5haS1tc2ctYnViYmxlIHtcbiAgICBwYWRkaW5nOiAxNHB4IDE4cHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY1O1xuICAgIGNvbG9yOiB2YXIoLS1mZyk7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuLmFpLW1zZy1ib3QgLmFpLW1zZy1idWJibGUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNhcmQtYmcpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC44KTtcbiAgICBib3gtc2hhZG93OlxuICAgICAgICA4cHggOHB4IDE2cHggcmdiYSgxNjAsMTUwLDE4MCwwLjEyKSxcbiAgICAgICAgLTZweCAtNnB4IDEycHggcmdiYSgyNTUsMjU1LDI1NSwwLjkpLFxuICAgICAgICBpbnNldCAzcHggM3B4IDZweCByZ2JhKDEzOSw5MiwyNDYsMC4wMiksXG4gICAgICAgIGluc2V0IC0zcHggLTNweCA2cHggcmdiYSgyNTUsMjU1LDI1NSwxKTtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA2cHg7XG59XG4uYWktbXNnLXVzZXIgLmFpLW1zZy1idWJibGUge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWFjY2VudC1saWdodCksIHZhcigtLWFjY2VudCkpO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBib3gtc2hhZG93OiAwIDZweCAyMHB4IHJnYmEoMTI0LDU4LDIzNywwLjI1KTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNnB4O1xufVxuXG4vKiBUWVBJTkcgSU5ESUNBVE9SICovXG4uYWktdHlwaW5nIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogNHB4O1xuICAgIHBhZGRpbmc6IDRweCA4cHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5haS10eXBpbmctZG90IHtcbiAgICB3aWR0aDogN3B4O1xuICAgIGhlaWdodDogN3B4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQtbGlnaHQpO1xuICAgIGFuaW1hdGlvbjogYWktYm91bmNlIDEuNHMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG4uYWktdHlwaW5nLWRvdDpudGgtY2hpbGQoMikgeyBhbmltYXRpb24tZGVsYXk6IDAuMnM7IH1cbi5haS10eXBpbmctZG90Om50aC1jaGlsZCgzKSB7IGFuaW1hdGlvbi1kZWxheTogMC40czsgfVxuQGtleWZyYW1lcyBhaS1ib3VuY2Uge1xuICAgIDAlLCA4MCUsIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IG9wYWNpdHk6IDAuNDsgfVxuICAgIDQwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTsgb3BhY2l0eTogMTsgfVxufVxuXG4vKiBJTlBVVCBBUkVBICovXG4uYWktaW5wdXQtYXJlYSB7XG4gICAgcGFkZGluZzogMTZweCAyMHB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDEyNCw1OCwyMzcsMC4wNik7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDEwcHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuNCk7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG4uYWktaW5wdXQge1xuICAgIGZsZXg6IDE7XG4gICAgcGFkZGluZzogMTRweCAxOHB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXN1cmZhY2UpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIGZvbnQtZmFtaWx5OiAnRE0gU2FucycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiB2YXIoLS1mZyk7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctcHJlc3NlZCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgdmFyKC0tZWFzZSk7XG59XG4uYWktaW5wdXQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1jYXJkKTtcbn1cbi5haS1pbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiB2YXIoLS1tdXRlZCk7XG4gICAgZm9udC1zaXplOiAxM3B4O1xufVxuLmFpLXNlbmQtYnRuIHtcbiAgICB3aWR0aDogNDZweDtcbiAgICBoZWlnaHQ6IDQ2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tYWNjZW50LWxpZ2h0KSwgdmFyKC0tYWNjZW50KSk7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWJ0bik7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgdmFyKC0tZWFzZSk7XG59XG4uYWktc2VuZC1idG4gc3ZnIHtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG59XG4uYWktc2VuZC1idG46aG92ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctYnRuLWhvdmVyKTtcbn1cbi5haS1zZW5kLWJ0bjphY3RpdmUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45Mik7XG59XG4uYWktc2VuZC1idG46ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT1cbiAgIFJFU1BPTlNJVkVcbj09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgLmFib3V0LWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfVxuICAgIC52aXN1YWwtY2hhbWJlciB7IHBhZGRpbmc6IDYwcHg7IGJvcmRlci1sZWZ0OiBub25lOyBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxMjQsNTgsMjM3LDAuMDgpOyB9XG4gICAgLnBhc3Npb25zLWNvbnRhaW5lciB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9XG4gICAgLmNyZWF0aXZlLWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfVxuICAgIC5leHBsb3JlLWFwcCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9XG4gICAgLmRlc2t0b3Atcm93IHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IGdhcDogNDBweDsgfVxuICAgIC5ycy1jb250YWN0LWdyaWQgeyB3aWR0aDogMTAwJTsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgbWluLXdpZHRoOiAwOyB9XG4gICAgLnJzLW1haWwtY2FyZCB7IGdyaWQtY29sdW1uOiBzcGFuIDI7IH1cbiAgICAuZXhwbG9yZS1zaWRlYmFyIHsgaGVpZ2h0OiBhdXRvOyBib3JkZXItcmlnaHQ6IG5vbmU7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDEyNCw1OCwyMzcsMC4wOCk7IH1cbiAgICAuZXhwbG9yZS1jb250ZW50IHsgcGFkZGluZzogNDhweDsgfVxuICAgIC5tYW5hZ2VtZW50LWNhcmQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfVxuICAgIC5lY2FyZC0xLCAuZWNhcmQtMiwgLmVjYXJkLTMsIC5lY2FyZC00IHsgZ3JpZC1jb2x1bW46IHNwYW4gMTI7IGdyaWQtcm93OiBzcGFuIDE7IG1hcmdpbi10b3A6IDA7IH1cbiAgICAuYWktcGFuZWwgeyB3aWR0aDogNDAwcHg7IGhlaWdodDogNTQwcHg7IH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5wYWdlLXdyYXAgeyBwYWRkaW5nOiA2MHB4IDI0cHg7IH1cbiAgICAuZWZmb3J0cy13cmFwIHsgcGFkZGluZzogNDBweCAyNHB4OyB9XG4gICAgLmF0dGFpbm1lbnQtcm93IHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDBweCAxZnI7IH1cbiAgICAuYS1pY29uIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIC5leHBsb3JlLWNvbnRlbnQgeyBwYWRkaW5nOiAzMnB4IDI0cHg7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9XG4gICAgLnNraWxscy1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH1cbiAgICBcbiAgICAvKiBIZXJvIFNlY3Rpb24gTW9iaWxlIEVuaGFuY2VtZW50cyAqL1xuICAgICNzZWN0aW9uLWhvbWUge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuICAgIH1cbiAgICAjc2VjdGlvbi1ob21lIG1haW4ge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMzBweDtcbiAgICB9XG4gICAgLmhlcm8tY29udGFpbmVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGdhcDogMzBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB9XG4gICAgLmhlcm8tdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IGNsYW1wKDYwcHgsIDE2dncsIDEwMHB4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDAuOTtcbiAgICB9XG4gICAgLmRhdGEtd2luZyB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDIwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgfVxuICAgIC53aW5nLXZpc3VhbCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDMyMHB4O1xuICAgICAgICBoZWlnaHQ6IDE0MHB4O1xuICAgIH1cbiAgICAud2luZy1pY29ucyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIG1heC13aWR0aDogMzIwcHg7XG4gICAgfVxuICAgIC53aW5nLWljb25zIGkge1xuICAgICAgICBwYWRkaW5nOiAxMnB4O1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgfVxuICAgIC5oZXJvLWZvb3RlciB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgYm90dG9tOiBhdXRvOyBsZWZ0OiBhdXRvOyByaWdodDogYXV0bzsgbWFyZ2luLXRvcDogMzJweDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IGdhcDogMTZweDsgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAgIC5zY3JvbGwtdHJpZ2dlciB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY29vcmRpbmF0ZXMgeyB3cml0aW5nLW1vZGU6IGhvcml6b250YWwtdGI7IG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICAuaGVyby1haS1idG4geyBwYWRkaW5nOiAxNHB4IDIwcHg7IGdhcDogMTJweDsgd2lkdGg6IDEwMCU7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLmhlcm8tYWktaWNvbiB7IHdpZHRoOiAzOHB4OyBoZWlnaHQ6IDM4cHg7IH1cbiAgICAuaGVyby1haS1pY29uIHN2ZyB7IHdpZHRoOiAxOHB4OyBoZWlnaHQ6IDE4cHg7IH1cbiAgICAuaGVyby1haS1jdGEgeyBmb250LXNpemU6IDEzcHg7IH1cbiAgICAuYWktcGFuZWwge1xuICAgICAgICB3aWR0aDogMTAwdnc7IGhlaWdodDogMTAwdmg7XG4gICAgICAgIG1heC13aWR0aDogMTAwdnc7IG1heC1oZWlnaHQ6IDEwMHZoO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cbiAgICAuYWktcGFuZWwtaGVhZGVyIHsgcGFkZGluZzogMTZweCAyMHB4OyB9XG4gICAgLmFpLW1lc3NhZ2VzIHsgcGFkZGluZzogMTZweDsgfVxuICAgIC5haS1pbnB1dC1hcmVhIHsgcGFkZGluZzogMTJweCAxNnB4OyB9XG59XG5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgKiwgKjo6YmVmb3JlLCAqOjphZnRlciB7IGFuaW1hdGlvbi1kdXJhdGlvbjogMC4wMW1zICFpbXBvcnRhbnQ7IHRyYW5zaXRpb24tZHVyYXRpb246IDAuMDFtcyAhaW1wb3J0YW50OyB9XG59XG4iXX0= */