/*!*********************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./resources/css/base/reset.css (layer base) ***!
  \*********************************************************************************************/
@layer base {
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  overflow-x: hidden;
  width: 100%;
}

}
/*!*************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./resources/css/base/variables.css (layer base) ***!
  \*************************************************************************************************/
@layer base {
:root {
  /* Colors */
  --color-bg: #f5f5f4; /* Stone 100 */
  --color-bg-alt: #e7e5e4; /* Stone 200 */
  --color-text: #1c1917; /* Stone 900 */
  --color-text-muted: #78716c;
  --color-accent: #ea580c; /* Burnt Orange */
  --color-white: #ffffff;
  --color-dark: #1c1917;
  --color-input-bg: #fdfdfd;

  /* Typography */
  --font-serif: "Playfair Display", serif;
  --font-sans: "DM Sans", sans-serif;
  --font-size-input: 0.75rem;

  /* Layout / Shapes / Shadows */
  --border-width: 1.5px;
  --border-thin: 1px;
  --border-style: solid;
  --border-color: var(--color-dark);

  /* --- SEMANTIC BORDER TOKENS --- */

  /* Emphasis: High Contrast (Interaction & Focus) */
  --border-strong: var(--border-width) var(--border-style) var(--color-text);
  --border-strong-sm: var(--border-thin) var(--border-style) var(--color-text);
  --border-strong-lg: 2px var(--border-style) var(--color-text);

  /* Foundation: Structural (Containment & Layout) */
  --border-base: var(--border-width) var(--border-style) var(--glass-border);
  --border-subtle: var(--border-thin) var(--border-style) var(--glass-border);
  --border-muted: var(--border-thin) var(--border-style)
    var(--color-border-subtle);

  /* Adaptive: Alpha-based (Glassmorphism & Overlays) */
  --border-alpha-xs: var(--border-thin) var(--border-style)
    rgba(255, 255, 255, 0.1);
  --border-alpha-sm: var(--border-thin) var(--border-style)
    rgba(255, 255, 255, 0.2);
  --border-alpha-md: var(--border-thin) var(--border-style)
    rgba(255, 255, 255, 0.3);
  --border-alpha-lg: var(--border-thin) var(--border-style)
    rgba(255, 255, 255, 0.4);

  /* Dark Adaptive: For structural lines and dark accents */
  --border-dark-alpha-sm: var(--border-thin) var(--border-style)
    rgba(28, 25, 23, 0.2);
  --border-dark-alpha-md: var(--border-thin) var(--border-style)
    rgba(28, 25, 23, 0.3);

  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-pill: 999px;

  /* Transitions */
  --transition-fast: 0.1s ease;
  --transition-base: 0.2s ease;
  --transition-slow: 0.3s ease;

  /* Hard Brutalist Scale (Consistent with 6px base) */
  --shadow-hard-sm: 2px 2px 0px 0px var(--color-dark);
  --shadow-hard: 4px 4px 0px 0px var(--color-dark);
  --shadow-hard-lg: 6px 6px 0px 0px var(--color-dark);
  --shadow-hard-xl: 8px 8px 0px 0px var(--color-dark);

  /* Alert Colors */
  --color-success-bg: #dcfce7;
  --color-success-text: #166534;
  --color-error-bg: #fee2e2;
  --color-error-text: #991b1b;

  /* Brand Integrations */
  --color-whatsapp:        #25d366;
  --color-whatsapp-dark:   #128c7e;
  --color-whatsapp-darker: #075e54;

  /* Urgency / Status */
  --color-urgency-critical:    #ff4757;
  --color-urgency-high:        #ff6b35;
  --color-urgency-warn-bg:     #fffbeb;
  --color-urgency-critical-bg: #fef2f2;
  --color-state-active:        #10b981;

  /* Accent / Premium */
  --color-gold:      #ffd700;
  --color-gold-dark: #ffa500;
  --color-amber:     #fbbf24;

  /* Social */
  --color-instagram-gradient: linear-gradient(135deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);

  /* SPACING CONFIGURATION */
  --spacing-container: 1200px; /* <--- STRICT MAX WIDTH */
  --spacing-gutter: 2rem; /* Side padding for mobile */
  --spacing-section: clamp(4rem, 10vw, 6rem);
  --header-height: 56px;
}

:root {
  /* ========================================================== */
  /* APP SPECIFIC TOKENS (Imported from App Foundation)         */
  /* ========================================================== */

  /* App Colors & States */
  --color-surface: #ffffff;
  --color-accent-glow: rgba(234, 88, 12, 0.1);
  --color-success: #10b981;
  --color-success-border: #10b981;
  --color-warning: #f59e0b;
  --color-warning-bg: #fffbeb;
  --color-warning-border: #f59e0b;
  --color-warning-text: #92400e;
  --color-error: #ef4444;
  --color-error-border: #ef4444;
  --color-info: #3b82f6;
  --color-info-bg: #eff6ff;
  --color-info-border: #3b82f6;
  --color-info-text: #1e3a8a;

  --color-surface-sunken: #f8fafc;
  --color-border-subtle: #f1f5f9;
  --color-interaction-hover: #f5f5f4;
  --color-interaction-active: #e7e5e4;
  --color-interaction-pressed: #d6d3d1;

  /* App Typography */
  --font-display: "Space Grotesk", sans-serif;

  /* Type Scale */
  --font-size-2xs:  0.625rem;  /* 10px */
  --font-size-xs:   0.75rem;   /* 12px */
  --font-size-sm:   0.875rem;  /* 14px */
  --font-size-base: 1rem;      /* 16px */
  --font-size-md:   1.125rem;  /* 18px */
  --font-size-lg:   1.25rem;   /* 20px */
  --font-size-xl:   1.5rem;    /* 24px */
  --font-size-2xl:  2rem;      /* 32px */
  --font-size-3xl:  2.5rem;    /* 40px */

  /* App Spacing Scale */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 16px;
  --space-4: 24px;
  --space-5: 32px;
  --space-6: 48px;
  --space-7: 64px;
  --space-8: 80px;
  --space-9: 96px;
  --space-10: 128px;

  /* App Box Padding Scale */
  --padding-xs: 4px;
  --padding-sm: 8px;
  --padding-md: 16px;
  --padding-lg: 24px;
  --padding-xl: 32px;
  --padding-2xl: 48px;

  /* App Glassmorphism */
  --glass-bg: rgba(255, 255, 255, 0.8);
  --glass-border: rgba(28, 25, 23, 0.08);
  --glass-blur: 10px;

  --overlay-bg: rgba(0, 0, 0, 0.45);
  --overlay-blur: 4px;

  /* Glass Blur Scale */
  --glass-blur-sm:  4px;
  --glass-blur-md:  8px;
  --glass-blur-lg:  12px;
  --glass-blur-xl:  20px;
  --glass-blur-2xl: 25px;

  /* App Shadows (Hybrid) */
  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-sm: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.06);
  --shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.08);

  --shadow-pro-sm: 2px 2px 0px 0px var(--color-text);
  --shadow-pro: 4px 4px 0px 0px var(--color-text);
  --shadow-pro-lg: 8px 8px 0px 0px var(--color-text);

  --shadow-thin: var(--shadow-xs);
  --shadow-soft: var(--shadow-sm);

  /* App Layout Constants */
  --sidebar-width: 240px;
  --sidebar-collapsed-width: 48px;
  --header-height-app: 56px;
  --subheader-height: 54px;
  --bottom-nav-height: 56px;

  /* App Border Radius Scale */
  --radius-xs: 2px;
  --radius-xl: 16px;
  --radius-2xl: 24px;
  --radius-full: 9999px;

  /* App Easing Curves */
  --ease-pro:    cubic-bezier(0.16, 1, 0.3, 1);   /* Spring — primary app motion */
  --ease-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
  --ease-smooth: cubic-bezier(0.4, 0, 0.2, 1);

  /* App Transitions */
  --transition-fast:   all 0.15s var(--ease-pro);
  --transition-base:   all 0.2s  var(--ease-pro);
  --transition-smooth: all 0.3s  var(--ease-smooth);
  /* --- BUTTON SEMANTIC TOKENS --- */
  --btn-font-family: var(--font-sans);
  --btn-font-weight: 800;
  --btn-radius: var(--radius-sm);
  --btn-transition: var(--transition-base);

  /* Primary Action (High Emphasis) */
  --btn-primary-bg: var(--color-accent);
  --btn-primary-text: var(--color-white);
  --btn-primary-border: var(--color-dark);
  --btn-primary-shadow: var(--shadow-pro-sm);
  --btn-primary-hover-shadow: var(--shadow-pro);

  /* Brutal Action (Dynamic/Elevated) */
  --btn-brutal-shadow: var(--shadow-pro);
  --btn-brutal-hover-shadow: var(--shadow-pro-lg);
  --btn-brutal-hover-transform: translate(-2px, -2px);

  /* Secondary / Ghost (Low/Medium Emphasis) */
  --btn-secondary-bg: var(--color-surface-sunken);
  --btn-secondary-text: var(--color-text);
  --btn-secondary-border: var(--border-dark-alpha-sm);
  --btn-secondary-hover-bg: var(--color-interaction-hover);

  /* Destructive / Alert (Critical) */
  --btn-error-bg: var(--color-error);
  --btn-error-text: var(--color-white);
  --btn-error-border: #7f1d1d;
  --btn-error-shadow: 2px 2px 0px 0px #7f1d1d;
}

}
/*!**************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./resources/css/base/typography.css (layer base) ***!
  \**************************************************************************************************/
@layer base {
h1,
h2,
h3,
h4 {
  font-family: var(--font-serif);
  font-weight: 700;
  line-height: 1.1;
}

.space-grotesk {
  font-family: "Space Grotesk", sans-serif;
  font-variation-settings: "opsz" auto;
  font-weight: 700;
  font-style: normal;
}

}
/*!**************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./resources/css/base/animations.css (layer base) ***!
  \**************************************************************************************************/
@layer base {
/* --- PICLERY REVEAL SYSTEM ───────────────────────── 
   Unified animation library for site and app.
   ────────────────────────────────────────────────── */

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(var(--space-4, 24px));
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.reveal {
  opacity: 0;
  animation: fadeInUp 0.7s var(--ease-pro) forwards;
  will-change: transform, opacity;
}

/* Enhancing visibility for scroll-triggered containers */
.reveal.active, 
.reveal-stagger.active {
  opacity: 1 !important;
}

/* Scroll-triggered variant (used by site.js) */
.reveal-transition {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.7s ease-out, transform 0.7s ease-out;
}
.reveal-transition.active {
  opacity: 1;
  transform: translateY(0);
}

/* Stagger Logic */
.reveal-2 { animation-delay: 0.12s; }
.reveal-3 { animation-delay: 0.24s; }
.reveal-4 { animation-delay: 0.36s; }

@keyframes zoomIn {
  from { opacity: 0; transform: scale(0.95); }
  to { opacity: 1; transform: scale(1); }
}

.zoom-in {
  animation: zoomIn 0.4s var(--ease-pro) forwards;
}

/* --- PERCEIVED PERFORMANCE: SHIMMER --- */
@keyframes shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

.skeleton-shimmer {
  background: var(--color-bg-alt);
  background: linear-gradient(
    90deg, 
    var(--color-bg-alt) 25%, 
    rgba(255, 255, 255, 0.5) 50%, 
    var(--color-bg-alt) 75%
  );
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite linear;
  border-radius: var(--radius-sm);
  cursor: wait;
}

/* --- APP SPECIFIC ANIMATIONS --- */

/* Heart Pop (Favorite Feedback) */
@keyframes heartPop {
  0% { transform: scale(0.5); opacity: 0; }
  50% { transform: scale(1.3); opacity: 1; }
  100% { transform: scale(1); opacity: 0; transform: translateY(-30px); }
}

}
/*!**********************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./resources/css/base/global.css (layer base) ***!
  \**********************************************************************************************/
@layer base {
body {
  background-color: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-sans);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  position: relative;
  width: 100%;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

body.nav-open {
  overflow: hidden;
}

a {
  color: inherit;
  text-decoration: none;
  transition: all 0.2s;
}

ul {
  list-style: none;
}

img {
  max-width: 100%;
  display: block;
}

i {
  font-style: normal;
}

}
/*!*********************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./resources/css/utilities/spacing.css (layer utilities) ***!
  \*********************************************************************************************************/
@layer utilities {
/* --- SPACING (From Site Utilities) --- */
.mt-4 {
  margin-top: 1rem;
}
.mb-4 {
  margin-bottom: 1rem;
}

/* --- APP SPECIFIC MARGINS --- */
.m-0 { margin: 0 !important; }
.m-1 { margin: var(--space-1) !important; }
.m-2 { margin: var(--space-2) !important; }
.m-3 { margin: var(--space-3) !important; }
.m-4 { margin: var(--space-4) !important; }
.m-5 { margin: var(--space-5) !important; }

.mt-1 { margin-top: var(--space-1) !important; }
.mt-2 { margin-top: var(--space-2) !important; }
.mt-3 { margin-top: var(--space-3) !important; }
.mt-4 { margin-top: var(--space-4) !important; }
.mt-5 { margin-top: var(--space-5) !important; }
.mt-6 { margin-top: var(--space-6) !important; }
.mt-10 { margin-top: var(--space-10) !important; }

.mb-1 { margin-bottom: var(--space-1) !important; }
/* .mb-4 is already above */
.mb-2 { margin-bottom: var(--space-2) !important; }
.mb-3 { margin-bottom: var(--space-3) !important; }
.mb-5 { margin-bottom: var(--space-5) !important; }

.ml-1 { margin-left: var(--space-1) !important; }
.ml-2 { margin-left: var(--space-2) !important; }
.mr-1 { margin-right: var(--space-1) !important; }
.mr-2 { margin-right: var(--space-2) !important; }

/* --- APP SPECIFIC PADDING --- */
.p-0 { padding: 0 !important; }
.p-1 { padding: var(--space-1) !important; }
.p-2 { padding: var(--space-2) !important; }
.p-3 { padding: var(--space-3) !important; }
.p-4 { padding: var(--space-4) !important; }
.p-5 { padding: var(--space-5) !important; }

.pt-1 { padding-top: var(--space-1) !important; }
.pt-2 { padding-top: var(--space-2) !important; }
.pb-1 { padding-bottom: var(--space-1) !important; }
.pb-2 { padding-bottom: var(--space-2) !important; }

/* APP SEMANTIC SPACING */
.p-view { padding: var(--space-6) !important; }
.m-view-header { margin-bottom: var(--space-6) !important; }
.p-card { padding: var(--space-5) !important; }
.p-card-sm { padding: var(--space-3) !important; }
.mb-card { margin-bottom: var(--space-5) !important; }
.mb-field { margin-bottom: var(--space-4) !important; }
.mb-section { margin-bottom: var(--space-10) !important; }
.mt-section { margin-top: var(--space-10) !important; }

}
/*!******************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./resources/css/utilities/flex.css (layer utilities) ***!
  \******************************************************************************************************/
@layer utilities {
/* --- FLEXBOX --- */
.flex-col {
  flex-direction: column !important;
}
.items-center {
  align-items: center !important;
}
.items-start {
  align-items: flex-start !important;
}
.items-end {
  align-items: flex-end !important;
}
.justify-center {
  justify-content: center !important;
}
.justify-between {
  justify-content: space-between !important;
}
.justify-end {
  justify-content: flex-end !important;
}
.flex-1 {
  flex: 1 !important;
}
.flex-wrap {
  flex-wrap: wrap !important;
}

/* --- GAPS --- */
.gap-1 {
  gap: var(--space-1) !important;
}
.gap-2 {
  gap: var(--space-2) !important;
}
.gap-3 {
  gap: var(--space-3) !important;
}
.gap-4 {
  gap: var(--space-4) !important;
}
.gap-5 {
  gap: var(--space-5) !important;
}

/* App Specific Semantic Gaps */
.gap-view {
  gap: var(--space-6) !important;
}
.gap-card {
  gap: var(--space-5) !important;
}
.gap-field {
  gap: var(--space-4) !important;
}

}
/*!******************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./resources/css/utilities/grid.css (layer utilities) ***!
  \******************************************************************************************************/
@layer utilities {
/* --- ATOMIC GRID HELPERS --- */
.d-grid { display: grid !important; }

/* Columns Scale */
.grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)) !important; }
.grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }

/* Span Scale */
.col-span-1 { grid-column: span 1 / span 1 !important; }
.col-span-2 { grid-column: span 2 / span 2 !important; }
.col-span-full { grid-column: 1 / -1 !important; }

/* Alignment */
.place-center { place-items: center !important; }
.content-center { align-content: center !important; }

}
/*!******************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./resources/css/utilities/text.css (layer utilities) ***!
  \******************************************************************************************************/
@layer utilities {
.text-center {
  text-align: center;
}

/* --- TYPOGRAPHY UTILITIES --- */
.font-serif-italic {
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
}
.font-mono-smart {
  font-family: "Space Grotesk", monospace;
  font-weight: 500;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-size: 0.85rem;
  color: var(--color-text-muted);
}
.text-balance {
  text-wrap: balance;
}
.text-gradient {
  background: linear-gradient(
    135deg,
    var(--color-text) 0%,
    var(--color-accent) 100%
  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.highlight-whatsapp {
  text-decoration: underline;
  text-decoration-color: var(--color-whatsapp);
  text-decoration-thickness: 4px;
}

/* --- APP SPECIFIC TEXT UTILITIES --- */
.text-right { text-align: right !important; }
.text-left { text-align: left !important; }

/* Colors */
.text-muted { color: var(--color-text-muted) !important; }
.text-accent { color: var(--color-accent) !important; }
.text-white { color: white !important; }

.text-success { color: var(--color-success-text) !important; }
.text-warning { color: var(--color-warning-text) !important; }
.text-error { color: var(--color-error-text) !important; }
.text-info { color: var(--color-info-text) !important; }

/* Sizes */
.text-2xs { font-size: var(--font-size-2xs) !important; }
.text-xs  { font-size: var(--font-size-xs)  !important; }
.text-sm  { font-size: var(--font-size-sm)  !important; }
.text-base{ font-size: var(--font-size-base)!important; }
.text-lg  { font-size: var(--font-size-lg)  !important; }
.text-xl  { font-size: var(--font-size-xl)  !important; }

/* Truncation */
.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Weights & Transforms */
.font-bold { font-weight: 700 !important; }
.font-black { font-weight: 900 !important; }
.uppercase { text-transform: uppercase !important; }

/* Semantic Typo Patterns */
.text-label {
  font-weight: 800 !important;
  font-size: 0.65rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

.text-pro {
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
}


}
/*!*********************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./resources/css/utilities/display.css (layer utilities) ***!
  \*********************************************************************************************************/
@layer utilities {
/* --- DISPLAY UTILITIES --- */
.d-none { display: none !important; }
.d-block { display: block !important; }
.d-inline { display: inline !important; }
.d-flex { display: flex !important; }
.d-grid { display: grid !important; }

/* --- GLASS EFFECTS --- */
.glass-dark {
  background: rgba(41, 37, 36, 0.85) !important;
  backdrop-filter: blur(var(--overlay-blur));
  -webkit-backdrop-filter: blur(var(--overlay-blur));
  border: var(--border-alpha-xs);
}

.glass {
  background: rgba(255, 255, 255, 0.6) !important;
  backdrop-filter: blur(var(--overlay-blur));
  -webkit-backdrop-filter: blur(var(--overlay-blur));
  border: var(--border-alpha-lg);
}

}
/*!************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./resources/css/utilities/visibility.css (layer utilities) ***!
  \************************************************************************************************************/
@layer utilities {
/* --- VISIBILITY & DISPLAY --- */
.d-block { display: block !important; }
.d-flex { display: flex !important; }
.d-inline-flex { display: inline-flex !important; }
.d-none { display: none !important; }

/* --- ACCESSIBILITY --- */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border-width: 0;
}

.visually-hidden-focusable:active,
.visually-hidden-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  padding: 0;
  margin: 0;
  overflow: visible;
  clip: auto;
  clip-path: none;
  white-space: normal;
}

/* --- WIDTHS/HEIGHTS --- */
.w-full { width: 100% !important; }
.h-full { height: 100% !important; }

/* --- STATE CLASSES (Ready CSS) --- */
.state-active {
  opacity: 1 !important;
  visibility: visible !important;
}
.state-hidden {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* --- RESPONSIVE VISIBILITY --- */
.mobile-only {
  display: none !important;
}

@media (max-width: 768px) {
  .mobile-only { display: flex !important; }
  .desktop-only { display: none !important; }
}

/* --- APP BORDERS/BACKGROUNDS (Semantic) --- */
.border-none { border: none !important; }
.border-subtle { border: 1px solid var(--color-border-subtle) !important; }

.radius-sm { border-radius: var(--radius-sm) !important; }
.radius-md { border-radius: var(--radius-md) !important; }
.radius-full { border-radius: var(--radius-full) !important; }

.bg-success { background: var(--color-success-bg) !important; }
.border-success { border-color: var(--color-success-border) !important; }

.bg-warning { background: var(--color-warning-bg) !important; }
.border-warning { border-color: var(--color-warning-border) !important; }

.bg-error { background: var(--color-error-bg) !important; }
.border-error { border-color: var(--color-error-border) !important; }

.bg-info { background: var(--color-info-bg) !important; }
.border-info { border-color: var(--color-info-border) !important; }

}
/*!*************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./resources/css/layout/shared/containers.css (layer layout) ***!
  \*************************************************************************************************************/
@layer layout {
.container {
  max-width: var(--spacing-container);
  margin: 0 auto;
  padding: 0 var(--spacing-gutter);
  width: 100%;
}

}
/*!*******************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./resources/css/layout/site/layout.css (layer layout) ***!
  \*******************************************************************************************************/
@layer layout {
/* ──────── SITE-WIDE SCAFFOLDING ──────── 
   Handles the primary offset for fixed headers
   across all marketing and auth pages.
   ─────────────────────────────────────── */

.site-main,
.auth-layout-container {
  padding-top: var(--header-height);
  flex: 1;
}

}
/*!**************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./resources/css/components/base/brand.css (layer components) ***!
  \**************************************************************************************************************/
@layer components {
/* ── PICLERY BRAND SYSTEM ───────────────────────── 
   Unified Brand Logos, Typography, and Marks.
   ────────────────────────────────────────────────── */

.brand-group {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  text-decoration: none;
  color: inherit;
  flex-shrink: 0;
  transition: opacity 0.2s ease;
  user-select: none;
}

.brand-group:hover {
  opacity: 0.85;
}

.brand-group img,
.brand-group .brand-logo {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  display: block;
  border-radius: var(--radius-sm);
}

.brand-group span,
.brand-group .brand-name {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--color-text);
  line-height: 1;
  letter-spacing: -0.02em;
}

/* BRAND MODIFIERS ──────────────────────────────────── */
.brand-lg {
  gap: var(--space-3);
}

.brand-lg img,
.brand-lg .brand-logo {
  width: 36px;
  height: 36px;
}

.brand-lg span,
.brand-lg .brand-name {
  font-size: 1.75rem;
  letter-spacing: -0.03em;
}

/* BRAND ICON ONLY (For collapsed states) ────────────── */
.brand-mark {
  width: 38px;
  height: 38px;
  background: var(--color-text);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-md);
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 1.25rem;
  text-decoration: none;
}

}
/*!****************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./resources/css/components/base/buttons.css (layer components) ***!
  \****************************************************************************************************************/
@layer components {
/* --- BUTTONS (From Site components) --- */
.btn {
  display: inline-block;
  padding: 0.4rem 1.5rem;
  font-family: var(--btn-font-family);
  font-weight: var(--btn-font-weight);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-size: 0.85rem;
  border: var(--border-strong);
  cursor: pointer;
  transition: var(--btn-transition);
  text-align: center;
  border-radius: var(--btn-radius);
  text-decoration: none; /* In case it's an <a> tag */
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}

/* SENIOR UX: Haptic feedback on press */
.btn:active:not(:disabled) {
  transform: scale(0.96) !important;
  transition-duration: 0.05s; /* Snappier response */
}

.btn-primary {
  background-color: var(--btn-primary-bg);
  color: var(--btn-primary-text);
  box-shadow: var(--btn-primary-shadow);
  border-color: var(--btn-primary-border);
}

.btn-primary:hover:not(:disabled) {
  box-shadow: var(--btn-primary-hover-shadow);
  filter: brightness(1.05); /* Simple lift effect */
}

/* --- BRUTAL VARIANT (With Motion) --- */
.btn-primary-brutal {
  background-color: var(--color-accent);
  color: var(--color-white);
  box-shadow: var(--btn-brutal-shadow);
  border-color: var(--color-dark);
}

.btn-primary-brutal:hover:not(:disabled) {
  transform: var(--btn-brutal-hover-transform);
  box-shadow: var(--btn-brutal-hover-shadow);
  filter: brightness(1.05);
}

.btn-block {
  display: block;
  width: 100%;
  text-align: center;
  box-sizing: border-box;
}

.btn-start-event {
  padding: 0.3rem;
  background-color: var(--color-accent);
  color: var(--color-white);
  box-shadow: var(--shadow-hard);
  border-color: var(--color-dark);
}

.btn-secondary {
  background-color: var(--btn-secondary-bg);
  color: var(--btn-secondary-text);
  box-shadow: var(--btn-primary-shadow);
}

.btn-secondary:hover:not(:disabled) {
  background-color: var(--btn-secondary-hover-bg);
  box-shadow: var(--btn-primary-hover-shadow);
}

/* --- BRUTAL SECONDARY --- */
.btn-secondary-brutal {
  background-color: var(--btn-secondary-bg);
  color: var(--btn-secondary-text);
  box-shadow: var(--btn-brutal-shadow);
}

.btn-secondary-brutal:hover:not(:disabled) {
  transform: var(--btn-brutal-hover-transform);
  box-shadow: var(--btn-brutal-hover-shadow);
  background-color: var(--btn-secondary-hover-bg);
}

/* --- WHATSAPP (Core Sharing) --- */
.btn-whatsapp {
  background-color: var(--color-whatsapp);
  color: white;
  border-color: var(--color-whatsapp-dark);
  box-shadow: 2px 2px 0px 0px var(--color-whatsapp-darker);
}
.btn-whatsapp:hover:not(:disabled) {
  background-color: var(--color-whatsapp-dark);
  transform: translate(-2px, -2px);
  box-shadow: 4px 4px 0px 0px var(--color-whatsapp-darker);
}

/* --- ELITE (Forever / Premium) --- */
.btn-elite {
  background: linear-gradient(135deg, var(--color-gold), var(--color-gold-dark));
  color: #000;
  border-color: #000;
  box-shadow: var(--shadow-hard);
}
.btn-elite:hover:not(:disabled) {
  background: linear-gradient(135deg, #fff000, var(--color-gold));
  transform: translate(-3px, -3px);
  box-shadow: var(--shadow-hard-xl);
}

/* --- OUTLINE --- */
.btn-outline {
  background: transparent;
  border-color: var(--color-dark);
  color: var(--color-dark);
}
.btn-outline:hover:not(:disabled) {
  background: var(--color-dark);
  color: white;
  transform: translate(-2px, -2px);
  box-shadow: var(--shadow-hard);
}

/* --- WARNING (Grace Period / Caution) --- */
.btn-warning {
  background-color: var(--color-amber);
  color: #000;
  border-color: #000;
  box-shadow: 2px 2px 0px 0px #92400e;
}
.btn-warning:hover:not(:disabled) {
  background-color: #f59e0b;
  transform: translate(-1.5px, -1.5px);
  box-shadow: 4px 4px 0px 0px #92400e;
}

/* --- DARK (For High Contrast Actions) --- */
.btn-dark {
  background-color: var(--color-dark);
  color: var(--color-white);
  box-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 0.4);
}
.btn-dark:hover:not(:disabled) {
  background-color: #000;
  transform: translate(-2px, -2px);
  box-shadow: 4px 4px 0px 0px rgba(0, 0, 0, 0.6);
}

.btn-text {
  background: none;
  border: none;
  padding: 0.5rem 1rem;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 0.75rem;
  cursor: pointer;
}
.btn-text:hover {
  text-decoration: underline;
}

/* ========================================================== */
/* APP SPECIFIC BUTTON VARIANTS                               */
/* ========================================================== */

/* --- FLEX SUPPORT FOR APP ICONS --- */
/* The app uses inline-flex a lot for buttons with icons */
.btn-flex {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
}

/* --- GHOST --- */
.btn-ghost {
  background: transparent;
  color: var(--color-text-muted);
}
.btn-ghost:hover:not(:disabled) {
  background: rgba(0, 0, 0, 0.03);
  color: var(--color-text);
}

/* --- DESTRUCTIVE / DANGER --- */
.btn-destructive {
  background: white;
  border-color: var(--color-error);
  color: var(--color-error);
}
.btn-destructive:hover:not(:disabled) {
  background: var(--color-error);
  color: white;
  transform: translate(-1.5px, -1.5px);
  box-shadow: 2px 2px 0px 0px #7f1d1d;
}

/* --- SUCCESS --- */
.btn-success {
  background: white;
  border-color: var(--color-success);
  color: var(--color-success);
}
.btn-success:hover:not(:disabled) {
  background: var(--color-success);
  color: white;
  transform: translate(-1.5px, -1.5px);
  box-shadow: 2px 2px 0px 0px #065f46;
}

/* --- SIZES --- */
.btn-sm {
  padding: 0.25rem 0.75rem;
  font-size: 0.75rem;
  box-shadow: 1.5px 1.5px 0px 0px var(--color-text); /* Standardized tight shadow for sm buttons */
}

.btn-sm:hover:not(:disabled) {
  transform: translate(-1px, -1px);
  box-shadow: 2px 2px 0px 0px var(--color-text);
}

.btn-secondary.btn-sm {
  box-shadow: none;
}

.btn-secondary.btn-sm:hover {
  box-shadow: none;
  transform: none;
  background-color: var(--btn-secondary-hover-bg);
}
.btn-lg {
  padding: 0.75rem 2rem;
  font-size: 1rem;
}

/* --- ICON ONLY BUTTONS --- */
.btn-icon {
  width: 40px;
  height: 40px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: none !important;
}
.btn-icon.btn-sm {
  width: 32px;
  height: 32px;
  box-shadow: none !important;
}
.btn-icon.btn-lg {
  width: 48px;
  height: 48px;
  box-shadow: none !important;
}

/* --- SPINNERS / STATES --- */
.btn:active:not(:disabled) {
  transform: scale(0.96);
  box-shadow: none;
}

.btn:disabled,
.btn.disabled {
  opacity: 0.5;
  cursor: not-allowed;
  filter: grayscale(1);
  box-shadow: none !important;
}

.btn-loading {
  position: relative;
  color: transparent !important;
  pointer-events: none;
}

.btn-loading::after {
  content: "";
  position: absolute;
  width: 16px;
  height: 16px;
  top: 50%;
  left: 50%;
  margin: -8px 0 0 -8px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  border-top-color: currentColor;
  animation: btn-spin 0.6s linear infinite;
}

.btn-secondary.btn-loading::after {
  border-top-color: var(--color-text);
  border-color: rgba(0, 0, 0, 0.1);
}

@keyframes btn-spin {
  to {
    transform: rotate(360deg);
  }
}

}
/*!**************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./resources/css/components/base/forms.css (layer components) ***!
  \**************************************************************************************************************/
@layer components {
/* --- FORMS (From Site components) --- */
.form-group {
  margin-bottom: 0.75rem;
}

.form-row {
  display: flex;
  gap: 0.75rem;
}

.form-row > .form-group {
  flex: 1;
}

@media (max-width: 480px) {
  .form-row {
    flex-direction: column;
    gap: 0;
  }
}

.form-label {
  display: block;
  margin-bottom: 0.35rem; /* Match compact design */
  font-weight: 700;
  font-size: 0.825rem;
  color: var(--color-dark);
}

.form-label-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.25rem;
}

.form-link {
  font-size: 0.8rem;
  color: var(--color-accent);
  font-weight: 500;
  text-decoration: none;
}

.form-link:hover {
  text-decoration: underline;
}

.form-control {
  width: 100%;
  max-width: none;
  height: 35px;
  padding: 0 0.75rem;
  background: var(--color-input-bg);
  border: var(--border-strong);
  border-radius: var(--radius-sm);
  font-family: var(--font-sans);
  font-size: var(--font-size-input);
  color: var(--color-text);
  transition: var(--transition-base);
  outline: none;
  box-sizing: border-box;
}

/* Specific normalization for iOS and cross-browser date inputs */
input[type="date"].form-control,
input[type="datetime-local"].form-control,
input[type="time"].form-control {
  appearance: auto; /* Required on iOS to see the native placeholder format */
  -webkit-appearance: listbox; /* Forces the format tip to show on some iOS versions */
  min-height: 35px;
  display: flex !important;
  align-items: center;
  padding-top: 0;
  padding-bottom: 0;
}

/* Ensure the internal text is centered and visible */
input::-webkit-datetime-edit {
  display: flex;
  padding: 0;
  color: var(--color-text);
}

input::-webkit-calendar-picker-indicator {
  cursor: pointer;
  opacity: 0.6;
  filter: brightness(0.5); /* Make the icon stand out */
}

/* Webkit browser reset for date picker icons */
.form-control::-webkit-calendar-picker-indicator {
  opacity: 0.5;
  cursor: pointer;
  height: 14px;
  width: 14px;
}

.form-control:focus {
  border-color: var(--color-accent);
}

/* --- OTP INPUTS --- */
.otp-container {
  display: flex;
  gap: 0.5rem;
  justify-content: center;
  margin: 1.25rem 0;
}

.otp-input {
  width: 36px;
  height: 48px;
  text-align: center;
  font-size: 1.25rem;
  font-weight: 700;
  border: var(--border-strong);
  border-radius: var(--radius-sm);
  background: var(--color-white);
  color: var(--color-dark);
  transition: var(--transition-fast);
}

.otp-input:focus {
  outline: none;
  transform: translateY(-2px);
  box-shadow: 0 0 0 4px var(--color-dark);
}

/* --- FORM HELPERS (From site utilities) --- */
.form-control-sm {
  height: 28px;
  font-size: var(--font-size-input);
  padding: 0 0.5rem;
}

.form-control-lg {
  height: 48px;
  font-size: 1rem;
  padding: 0 1rem;
}

.form-control.is-invalid {
  border-color: var(--color-error);
  background-color: var(--color-error-bg);
}

.form-control.is-invalid:focus {
  box-shadow: 2px 2px 0px 0px var(--color-error);
}

.form-control.is-valid {
  border-color: var(--color-success);
  background-color: var(--color-success-bg);
}

.form-control-ghost {
  background: transparent;
  border-color: rgba(28, 25, 23, 0.2);
}

.form-control-ghost:focus {
  background: rgba(255, 255, 255, 0.1);
  border-color: var(--color-accent);
}

@media (max-width: 899px) {
  .date-input {
    width: 100%;
    display: grid;
    gap: var(--space-4);
  }
}

/* ========================================================== */
/* APP SPECIFIC FORM COMPONENTS (Merged Standard)             */
/* ========================================================== */

/* --- EXTENDED LABELS & INPUTS --- */
.pro-label {
  display: block;
  font-weight: 800;
  font-size: 0.68rem;
  color: var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 4px;
  padding-left: 2px;
}

select.form-control {
  appearance: none; /* Required for custom background icon */
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27none%27 viewBox=%270 0 24 24%27 stroke=%27%2344403c%27%3E%3Cpath stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27M19 9l-7 7-7-7%27%3E%3C/path%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 0.9rem;
  cursor: pointer;
}

textarea.form-control {
  min-height: 100px;
  line-height: 1.6;
  resize: vertical;
}

.form-control:disabled {
  background: var(--color-surface-sunken);
  cursor: not-allowed;
  opacity: 0.6;
  border-style: dashed;
}

/* --- VALIDATION ADDITIONS --- */
.invalid-feedback,
.form-hint--error {
  display: none;
  font-size: var(--font-size-input);
  font-weight: 700;
  color: var(--color-error);
  margin-top: 4px;
}
.form-control.is-invalid + .invalid-feedback {
  display: block;
}

/* --- FORM LAYOUTS --- */
.form-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-4);
}

@media (max-width: 640px) {
  .form-split {
    grid-template-columns: 1fr;
  }
}

/* --- CHECKBOX / RADIO (CUSTOM PICLERY STYLE) --- */
.pic-check-group {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  cursor: pointer;
  user-select: none;
  font-size: 0.82rem;
  font-weight: 600;
}

.pic-check-input {
  width: 20px;
  height: 20px;
  border: var(--border-strong);
  display: grid;
  place-content: center;
  transition: var(--transition-base);
}

.pic-check-group input:checked + .pic-check-input {
  background: var(--color-text);
  box-shadow: 2px 2px 0px 0px var(--color-accent);
}

.pic-check-input::after {
  content: "\f00c";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 0.7rem;
  color: white;
  display: none;
}

.pic-check-group input:checked + .pic-check-input::after {
  display: block;
}

/* Hide actual checkbox but maintain focus/accessability */
.pic-check-group input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

/* --- SEARCH PILL (GLOBAL) --- */
.search-pill {
  position: relative;
  width: 100%;
  max-width: 350px;
  transition: max-width 0.3s var(--ease-pro);
}

.search-pill:focus-within {
  max-width: 420px;
}

.search-pill i {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--color-text-muted);
  font-size: 0.9rem;
  pointer-events: none;
  z-index: 1;
}

.search-pill input {
  width: 100%;
  height: 30px;
  background: var(--color-surface-sunken);
  border: var(--border-subtle);
  padding: 0 12px 0 40px;
  border-radius: var(--radius-xl);
  font-size: var(--font-size-input);
  font-weight: 400;
  color: var(--color-text);
  transition: var(--transition-base);
  font-family: var(--font-sans);
}

.search-pill input:focus {
  background: white;
  border-color: var(--color-text);
  box-shadow: 0 0 0 4px var(--color-accent-glow);
  outline: none;
}

/* --- SEGMENTED PICKER (REUSABLE OPTION SELECTOR) --- */
.segmented-picker {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
  gap: 6px;
}

.picker-item {
  margin: 0;
  cursor: pointer;
}

.picker-radio {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}

.picker-btn {
  padding: 6px 4px;
  border: var(--border-subtle);
  border-radius: var(--radius-sm);
  background: var(--color-surface-sunken);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  transition: all 0.15s;
  user-select: none;
}

.picker-btn i {
  font-size: 0.9rem;
  color: var(--color-text-muted);
}

.picker-btn span {
  font-size: var(--font-size-input);
  font-weight: 700;
  color: var(--color-text);
}

/* Selected State */
.picker-radio:checked + .picker-btn {
  border-color: var(--color-text);
  background: var(--color-surface);
  box-shadow: var(--shadow-pro-sm);
}

.picker-radio:checked + .picker-btn i {
  color: var(--color-text);
}

.picker-btn:hover:not(.picker-radio:checked + .picker-btn) {
  border-color: var(--color-text-muted);
  background: var(--color-surface);
}

}
/*!**************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./resources/css/components/base/cards.css (layer components) ***!
  \**************************************************************************************************************/
@layer components {
/* ── PICLERY UNIFIED CARD SYSTEM ───────────────────────── 
   A versatile, visual container system with variants.
   Supporting Dashboard Metrics, Interaction Rows, and Content blocks.
   ────────────────────────────────────────────────── */

/* BASE CARD ──────────────────────────────────────────── */
/* BASE CARD ──────────────────────────────────────────── */
.pic-card,
.metric-card, 
.stat-card, 
.event-dash-card, 
.event-row {
    background: var(--color-surface);
    border: var(--border-base);
    border-radius: var(--radius-md);
    padding: var(--space-4);
    position: relative;
    overflow: hidden;
    transition: var(--transition-base);
    color: var(--color-text);
    text-decoration: none;
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    user-select: none;
    -webkit-tap-highlight-color: transparent;
}

/* SENIOR UX: Haptic feedback on press */
.pic-card:active,
.metric-card:active,
.stat-card:active,
.event-dash-card:active,
.event-row:active,
.list-row:active {
    transform: scale(0.985);
    transition-duration: 0.08s;
}

/* VARIANT: Glass (Dashboard-style) Refined ────────────── */
.pic-card--glass {
    background: var(--glass-bg);
    backdrop-filter: blur(var(--glass-blur));
    -webkit-backdrop-filter: blur(var(--glass-blur));
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    border: 1.5px solid rgba(255, 255, 255, 0.5); /* Inner highlight */
}

/* VARIANT: Elevated (Brutalist-style) ─────────────────── */
.pic-card--elevated {
    border: var(--border-strong-lg);
    box-shadow: var(--shadow-pro-sm);
}
.pic-card--elevated:hover {
    transform: translate(-2px, -2px);
    box-shadow: var(--shadow-pro);
}

/* VARIANT: Accent Row (Event-style) ───────────────────── */
.pic-card--accented::before {
    content: '';
    position: absolute;
    left: 0; top: 20%; bottom: 20%;
    width: 4px;
    border-radius: 0 4px 4px 0;
    background: var(--color-accent);
}

/* CARD INNER STRUCTURE (Bootstrap-like) ──────────────── */
.pic-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: var(--space-2);
    border-bottom: var(--border-subtle);
    margin-bottom: var(--space-2);
}

.pic-card-title {
    font-size: 0.9rem;
    font-weight: 800;
    color: var(--color-text);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 0;
}

.pic-card-body {
    flex: 1;
}

.pic-card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: var(--space-3);
    margin-top: auto;
    border-top: 1px dashed var(--glass-border);
    font-size: 0.72rem;
    font-weight: 700;
}

/* ROW CARDS (High-density lists) ────────────────────── */
.pic-card-row {
    display: grid;
    align-items: center;
    padding: var(--space-3) var(--space-4);
    background: var(--color-surface);
    border: var(--border-base);
    border-radius: var(--radius-md);
    transition: var(--transition-base);
    position: relative;
    color: var(--color-text);
    text-decoration: none;
    gap: var(--space-4);
}

.pic-card-row:hover {
    border-color: var(--color-text);
    box-shadow: var(--shadow-pro-sm);
    transform: translateX(4px);
    background: #fff;
    z-index: 2;
}

/* --- PREMIUM EMPTY STATES --- */
.db-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: var(--space-8) var(--space-4);
    background: var(--color-surface-sunken);
    border: 2px dashed var(--color-bg-alt);
    border-radius: var(--radius-lg);
    color: var(--color-text-muted);
}

.db-empty i {
    font-size: 2.5rem;
    margin-bottom: var(--space-4);
    opacity: 0.3;
}

.db-empty p {
    font-size: 0.85rem;
    max-width: 300px;
    margin: 0;
    line-height: 1.5;
}

.metric-card:hover, .stat-card:hover { border-color: var(--color-text); }

/* --- STATISTICAL CARDS --- */
.stat-card {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    padding: var(--space-4);
    background: white;
    border: var(--border-strong-lg);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-pro-sm);
    transition: var(--transition-base);
}

.stat-card:hover {
    transform: translate(-2.5px, -2.5px);
    box-shadow: var(--shadow-pro);
}

.stat-card.centered {
    align-items: center;
    text-align: center;
}

.stat-card.health {
    border-left: 6px solid var(--color-accent);
}

.stat-label {
    font-size: 0.65rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--color-text-muted);
    margin-bottom: 2px;
}

.stat-value {
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 800;
    line-height: 1;
    color: var(--color-text);
}

.stat-footer {
    margin-top: auto;
    padding-top: var(--space-2);
    border-top: var(--border-subtle);
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.7rem;
    color: var(--color-text-muted);
}

/* --- LIST ROW ITEM --- */
.list-row {
    display: flex;
    align-items: center;
    padding: var(--space-4);
    background: white;
    border: var(--border-strong-lg);
    border-radius: var(--radius-lg);
    margin-bottom: var(--space-3);
    transition: var(--transition-base);
    box-shadow: var(--shadow-pro-sm);
    text-decoration: none;
    color: inherit;
}

.list-row:hover {
    transform: translateX(4px);
    box-shadow: var(--shadow-pro-sm);
}

.list-icon {
    width: 44px;
    height: 44px;
    border-radius: var(--radius-md);
    background: var(--color-surface-sunken);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    margin-right: var(--space-4);
    color: var(--color-text);
    border: var(--border-strong);
}

.list-content {
    flex: 1;
    min-width: 0;
}

.list-title {
    font-weight: 800;
    font-size: 0.95rem;
    color: var(--color-text);
    margin-bottom: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.list-subtitle {
    font-size: 0.78rem;
    color: var(--color-text-muted);
}

.list-action {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: var(--color-text);
    cursor: pointer;
    transition: all 0.2s;
}

.list-action:hover {
    background: var(--color-text);
    color: white;
}

}
/*!*****************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./resources/css/components/base/feedback.css (layer components) ***!
  \*****************************************************************************************************************/
@layer components {
/* ── PICLERY FEEDBACK SYSTEM ───────────────────────── 
   Alerts, Badges, Toasts, and Progress.
   ────────────────────────────────────────────────── */

/* BADGES (Bootstrap-style system) ────────────────────── */
.badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 3px 10px;
    border-radius: var(--radius-full);
    font-size: 0.65rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border: 1.5px solid transparent;
    white-space: nowrap;
    line-height: 1;
}

.badge-active   { background-color: var(--color-success-bg); color: var(--color-success-text); border-color: transparent; }
.badge-draft    { background-color: var(--color-surface-sunken); color: var(--color-text-muted); border: var(--border-subtle); }
.badge-expired  { background-color: var(--color-error-bg); color: var(--color-error-text); border-color: transparent; }
.badge-warning  { background-color: var(--color-warning-bg); color: var(--color-warning-text); border-color: transparent; }
.badge-primary  { background-color: var(--color-interaction-hover); color: var(--color-text); border: var(--border-subtle); }

/* ALERT BLOCKS ───────────────────────────────────────── */
.alert-block {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4) var(--space-5);
    border-radius: var(--radius-md);
    margin-bottom: var(--space-5);
    border: 1.5px solid transparent;
    position: relative;
    overflow: hidden;
    animation: alertSlideDown 0.4s var(--ease-pro);
}

.alert-success { background: var(--color-success-bg); border-color: var(--color-success); color: var(--color-success-text); }
.alert-warning { background: var(--color-warning-bg); border-color: var(--color-warning); color: var(--color-warning-text); }
.alert-danger  { background: var(--color-error-bg);   border-color: var(--color-error);   color: var(--color-error-text);   }
.alert-info    { background: var(--color-info-bg);    border-color: var(--color-info);    color: var(--color-info-text);    }

.alert-icon-wrapper {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: white;
    display: grid;
    place-content: center;
    font-size: 0.9rem;
    flex-shrink: 0;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.alert-body {
    flex: 1;
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1.5;
}

.alert-cta {
    font-size: 0.72rem;
    font-weight: 800;
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 4px;
    margin-left: var(--space-2);
}

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

/* PROGRESS SYSTEM ────────────────────────────────────── */
.prog-container {
    width: 100%;
    height: 8px;
    background: var(--color-surface-sunken);
    border-radius: var(--radius-full);
    overflow: hidden;
    border: var(--border-subtle);
}

.prog-bar {
    height: 100%;
    background: var(--color-text);
    transition: width 0.4s ease;
    border-radius: inherit;
}

.prog-bar.warning { background-color: var(--color-warning); }
.prog-bar.danger  { background-color: var(--color-error);   }
.prog-bar.success { background-color: var(--color-success); }

/* TOAST / SNACKBAR NOTIFICATIONS ─────────────────────── */
.toast {
    position: fixed;
    bottom: var(--space-6);
    right: var(--space-6);
    background: var(--color-text);
    color: white;
    padding: var(--space-3) var(--space-5);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-pro-lg);
    display: flex;
    align-items: center;
    gap: var(--space-3);
    z-index: 10000;
    font-size: 0.82rem;
    font-weight: 700;
    border: var(--border-strong-lg);
    border-color: white; /* Contrast exception for dark toasts */
    animation: toastSlideIn 0.4s var(--ease-pro) forwards;
}

@keyframes toastSlideIn {
    from { transform: translateX(100%) scale(0.9); opacity: 0; }
    to   { transform: translateX(0)    scale(1);   opacity: 1; }
}

@keyframes toastSlideUp {
    from { transform: translateY(120%); opacity: 0; }
    to   { transform: translateY(0);    opacity: 1; }
}

@keyframes toastSlideDown {
    from { transform: translateY(0);    opacity: 1; }
    to   { transform: translateY(120%); opacity: 0; }
}

/* ── FLASH MESSAGES (Global App Level) ───────────────── */
.flash-container {
    position: fixed;
    top: calc(var(--header-height) + 12px);
    right: var(--space-4);
    z-index: 2000;
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    pointer-events: none;
    min-width: 320px;
}

.flash-message {
    pointer-events: all;
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: 12px var(--space-4);
    border-radius: var(--radius-md);
    background: white;
    box-shadow: var(--shadow-lg), var(--shadow-pro-sm);
    border: var(--border-strong-lg);
    font-size: 0.82rem;
    font-weight: 700;
    animation: flashSlideIn 0.3s var(--ease-pro) forwards;
}

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

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

.flash-message.closing {
    animation: flashSlideOut 0.3s var(--ease-pro) forwards;
}

@media (max-width: 768px) {
    .flash-container {
        top: auto;
        bottom: calc(var(--bottom-nav-height, 64px) + env(safe-area-inset-bottom, 0px) + 12px);
        left: var(--space-3);
        right: var(--space-3);
        min-width: 0;
    }

    .flash-message {
        animation-name: flashSlideUpIn;
    }

    .flash-message.closing {
        animation-name: flashSlideUpOut;
    }

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

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

.flash-message i { font-size: 1.1rem; }
.flash-message span { flex: 1; }

.flash-close {
    background: none;
    border: none;
    font-size: 1.25rem;
    cursor: pointer;
    opacity: 0.5;
    color: inherit;
    transition: opacity 0.2s;
}

.flash-close:hover { opacity: 1; }

.flash-success { background: var(--color-success-bg); color: var(--color-success-text); border-color: var(--color-success); }
.flash-error   { background: var(--color-error-bg);   color: var(--color-error-text);   border-color: var(--color-error);   }
.flash-info    { background: var(--color-info-bg);    color: var(--color-info-text);    border-color: var(--color-info);    }


/* --- EMPTY STATES --- */
.empty-state {
    text-align: center;
    padding: var(--space-10) 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-3);
    color: var(--color-text-muted);
}

.empty-state-icon {
    font-size: 3.5rem;
    opacity: 0.15;
    margin-bottom: var(--space-2);
}

.empty-state h3 {
    font-family: var(--font-display);
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--color-text);
    margin: 0;
}

.empty-state p {
    font-size: 0.9rem;
    max-width: 320px;
    margin: 0 auto;
    line-height: 1.6;
}

/* --- PLACEHOLDERS / SKELETONS --- */
.skeleton {
    background: var(--color-surface-sunken);
    background: linear-gradient(90deg, 
        var(--color-surface-sunken) 25%, 
        rgba(0,0,0,0.05) 50%, 
        var(--color-surface-sunken) 75%);
    background-size: 200% 100%;
    animation: skeletonLoading 1.5s infinite;
    border-radius: var(--radius-sm);
}

@keyframes skeletonLoading {
    from { background-position: 200% 0; }
    to { background-position: -200% 0; }
}

.album-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--color-surface-sunken);
    color: var(--color-text-muted);
    font-size: 2.5rem;
    opacity: 0.5;
    border-radius: var(--radius-sm);
}

}
/*!***************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./resources/css/components/base/modals.css (layer components) ***!
  \***************************************************************************************************************/
@layer components {
/* ── PICLERY MODAL SYSTEM ───────────────────────── 
   Focus-inducing, premium dialogs and overlays.
   ────────────────────────────────────────────────── */

.modal-overlay {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh; /* Fallback for older browsers */
  height: 100dvh; /* Dynamic Height for Mobile browsers (Android/iOS) */
  background: var(--overlay-bg);
  backdrop-filter: blur(var(--overlay-blur));
  -webkit-backdrop-filter: blur(var(--overlay-blur));
  display: flex;
  align-items: center; /* Balanced centering */
  justify-content: center;
  z-index: 10001;
  opacity: 0;
  pointer-events: none;
  transition: var(--transition-smooth);
  padding: var(--space-8) var(--space-4);
  overflow-y: auto; /* Required for the content to move on mobile */
  -webkit-overflow-scrolling: touch; /* Momentum scroll for iOS */
}

/* Prevent body scroll when modal is open */
html.modal-open,
body.modal-open,
body.lightbox-open {
  overflow: hidden !important;
  height: 100% !important;
  position: relative;
  touch-action: none; /* Prevents touch scrolling on mobile */
}

/* Restore touch action inside modal */
.modal-overlay.show .modal-body {
  touch-action: auto !important;
}

.modal-content {
  background: var(--color-surface);
  width: 100%;
  max-width: 480px;
  /* max-height: calc(100vh - var(--space-8)); */
  /* max-height: calc(100dvh - var(--space-10)); */
  max-height: 100%;
  border-radius: var(--radius-lg);
  /* box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15), var(--shadow-pro-sm); */
  border: var(--border-width) var(--border-style) var(--color-text);
  transform: translateY(30px) scale(0.95);
  transition: var(--transition-slow);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/* Ensure forms inside modals stretch to fill height */
.modal-content form {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
}

/* ACTIVATION (Using .show class or checkbox hacks) ───── */
.modal-overlay.show {
  opacity: 1;
  pointer-events: auto;
}

.modal-overlay.show .modal-content {
  transform: translateY(0) scale(1);
}

/* MODAL STRUCTURE ────────────────────────────────────── */
.modal-header {
  padding: var(--space-4) var(--space-5);
  border-bottom: var(--border-thin) var(--border-style) var(--glass-border);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.modal-header h3 {
  font-family: var(--font-display);
  font-size: 1.15rem;
  font-weight: 800;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.modal-close {
  background: none;
  border: none;
  font-size: 1.25rem;
  color: var(--color-text-muted);
  cursor: pointer;
  transition: color 0.2s ease;
  padding: 0;
}

.modal-close:hover {
  color: var(--color-text);
}

.modal-body {
  padding: var(--space-5);
  font-size: 0.88rem;
  line-height: 1.6;
  color: var(--color-text-muted);
  overflow-y: auto; /* Enable internal scrolling */
  flex: 1; /* Grow to fill available space */
  scrollbar-width: thin;
  scrollbar-color: var(--color-border-subtle) transparent;
  overscroll-behavior: contain; /* Prevents scroll chaining to the body */
}

.modal-body::-webkit-scrollbar {
  width: 6px;
}

.modal-body::-webkit-scrollbar-track {
  background: transparent;
}

.modal-body::-webkit-scrollbar-thumb {
  background-color: var(--color-border-subtle);
  border-radius: 10px;
}

.modal-footer {
  padding: var(--space-4) var(--space-5);
  background: var(--color-surface-sunken);
  border-top: var(--border-thin) var(--border-style) var(--glass-border);
  border-radius: 0 0 var(--radius-lg) var(--radius-lg);
  display: flex;
  justify-content: center;
  gap: var(--space-3);
}

/* MODIFIER: Small / Large Modal ──────────────────────── */
.modal-sm {
  max-width: 360px;
}
.modal-lg {
  max-width: 720px;
}

/* RESPONSIVE Overrides */
@media (max-width: 600px) {
  .modal-overlay {
    padding: var(--space-4); /* Tighten padding on mobile to save vertical space */
  }
  
  .modal-content {
    max-width: calc(100vw - var(--space-4) * 2);
  }
}

}
/*!*****************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./resources/css/components/base/carousel.css (layer components) ***!
  \*****************************************************************************************************************/
@layer components {
/* ── PICLERY CAROUSEL SYSTEM ───────────────────────── 
   A high-performance, scroll-snap based carousel.
   Used on the Dashboard and Module Indexes.
   ────────────────────────────────────────────────── */

.carousel-container {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 10px 0;
  overflow: visible; /* To allow arrows to stick out slightly if needed */
}

.carousel-track {
  display: flex;
  gap: var(--space-1);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 20px; /* Space for scrollbar if visible */
  padding-top: 4px;
  padding-left: 2px;
  padding-right: 2px;

  /* Hide scrollbar by default */
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.carousel-track::-webkit-scrollbar {
  display: none;
}

.carousel-item {
  flex: 0 0 calc(25% - (var(--space-3) * 3 / 4)); /* 4 cards on desktop */
  scroll-snap-align: start;
  transition: transform 0.3s ease;
}

@media (max-width: 1024px) {
  .carousel-item {
    flex: 0 0 calc(50% - (var(--space-3) / 2)); /* 2 cards on tablet */
  }
}

@media (max-width: 640px) {
  .carousel-item {
    flex: 0 0 calc(50% - (var(--space-3) / 2)); /* Show 2 cards on mobile */
  }
}

/* CAROUSEL NAVIGATION (DESKTOP) ───────────────────────── */
.carousel-nav {
  position: absolute;
  top: 50%;
  left: -20px;
  right: -20px;
  transform: translateY(-50%);
  display: flex;
  justify-content: space-between;
  pointer-events: none;
  z-index: 100;
  opacity: 0;
  transition: var(--transition-smooth);
}

.carousel-container:hover .carousel-nav {
  opacity: 1;
  left: -10px;
  right: -10px;
}

.carousel-arrow {
  width: 44px;
  height: 44px;
  background: white;
  border: 2px solid var(--color-text);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  pointer-events: auto;
  box-shadow: var(--shadow-pro-sm);
  color: var(--color-text);
  transition: var(--transition-base);
  font-size: 0.9rem;
}

.carousel-arrow:hover {
  background: var(--color-text);
  color: white;
  transform: scale(1.1);
  box-shadow: var(--shadow-pro);
}

.carousel-arrow:active {
  transform: scale(0.95);
}

.carousel-arrow i {
  pointer-events: none;
}

@media (max-width: 1024px) {
  .carousel-nav {
    display: none;
  }
}

}
/*!******************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./resources/css/components/site/marketing.css (layer components) ***!
  \******************************************************************************************************************/
@layer components {
/* --- PILL TAGS --- */
.pill-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: 2.5rem;
}

.pill-tag {
  display: inline-block;
  padding: 0.35rem 1rem;
  border: var(--border-width) solid var(--color-dark);
  font-family: var(--font-sans);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  background: var(--color-white);
  cursor: default;
  transition: var(--transition-slow);
  border-radius: var(--radius-pill);
}

.pill-tag:nth-child(odd) {
  transform: rotate(-2deg);
}
.pill-tag:nth-child(even) {
  transform: rotate(1.5deg);
}
.pill-tag:nth-child(3n) {
  transform: rotate(-3deg);
}

.pill-tag:hover {
  background: var(--color-accent);
  color: var(--color-white);
  transform: rotate(0deg) scale(1.08);
  box-shadow: var(--shadow-hard);
}

/* --- HERO BANNER --- */
.hero-banner {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.6rem 1.25rem;
  background: var(--color-accent);
  color: var(--color-white);
  border: var(--border-width) solid var(--color-dark);
  box-shadow: var(--shadow-hard);
  font-family: var(--font-sans);
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 2rem;
  border-radius: var(--radius-sm);
}

.hero-banner i {
  font-size: 1.2rem;
}

/* --- PHONE MOCKUP STYLES --- */
.phone-mockup {
  width: 320px;
  height: 580px;
  background: #111;
  border-radius: 40px;
  padding: 12px;
  box-shadow:
    0 20px 40px -10px rgba(0, 0, 0, 0.5),
    25px 25px 0 rgba(0, 0, 0, 0.1);
  border: 4px solid #333;
  position: relative;
  margin: 0 auto;
  transform: rotate(-3deg);
  transition: transform 0.4s ease;
}

.phone-mockup:hover {
  transform: rotate(0deg) scale(1.02);
}

.phone-screen {
  width: 100%;
  height: 100%;
  background: #e5ddd5;
  border-radius: 30px;
  overflow: hidden;
  position: relative;
  display: flex;
  flex-direction: column;
}

.chat-header {
  background: var(--color-whatsapp-darker);
  color: white;
  padding: 15px 15px;
  display: flex;
  align-items: center;
  gap: 10px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  z-index: 2;
}

.chat-avatar {
  width: 35px;
  height: 35px;
  background: #fff;
  border-radius: 50%;
  color: var(--color-whatsapp-darker);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 1.1rem;
}

.chat-info {
  display: flex;
  flex-direction: column;
}

.chat-name {
  font-weight: 600;
  font-size: 0.95rem;
}

.chat-status {
  font-size: 0.7rem;
  opacity: 0.8;
}

.chat-body {
  flex: 1;
  padding: 15px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  overflow-y: hidden;
  background-image: url("https://user-images.githubusercontent.com/15075759/28719144-86dc0f70-73b1-11e7-911d-60d70fcded21.png");
  background-size: 300px;
}

.msg-bubble {
  max-width: 85%;
  padding: 8px 10px;
  border-radius: 8px;
  font-size: 0.85rem;
  line-height: 1.4;
  position: relative;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
}

.msg-received {
  align-self: flex-start;
  background: white;
  border-top-left-radius: 0;
}

.msg-sent {
  align-self: flex-end;
  background: #d9fdd3;
  border-top-right-radius: 0;
}

.msg-sent-img {
  align-self: flex-end;
  background: #d9fdd3;
  padding: 4px;
  border-top-right-radius: 0;
}

.msg-sent-img img {
  border-radius: 6px;
  width: 100%;
  height: auto;
  outline: 1px solid rgba(0, 0, 0, 0.05);
}

.msg-time {
  display: block;
  text-align: right;
  font-size: 0.65rem;
  color: #999;
  margin-top: 4px;
}

}
/*!*******************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./resources/css/layout/site/navbar.css (layer layout) ***!
  \*******************************************************************************************************/
@layer layout {
/* --- NAVBAR (From Site layout) --- */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--header-height);
  background: rgba(245, 245, 244, 0.95);
  backdrop-filter: blur(var(--overlay-blur));
  -webkit-backdrop-filter: blur(var(--overlay-blur));
  border-bottom: var(--border-thin) var(--border-style) rgba(28, 25, 23, 0.1);
  z-index: 2000;
  display: flex;
  align-items: center;
}

.navbar-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100%;
}

/* Redundant brand definitions removed - using shared brand.css */

.nav-links {
  display: none;
  gap: 2rem;
}
.nav-link {
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--color-text-muted);
}
.nav-link:hover {
  color: var(--color-text);
}

.header-actions {
  width: fit-content;
  height: 100%;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

@media (max-width: 899px) {
  /* Hide desktop buttons in the header on mobile */
  .header-actions .btn-text,
  .header-actions .btn-start-event {
    display: none;
  }
}

/* --- HAMBURGER BUTTON --- */
.hamburger {
  display: none; /* hidden by default; shown via mobile media query */
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 40px;
  height: 40px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  flex-shrink: 0;
}

.hamburger-bar {
  display: block;
  width: 22px;
  height: 2px;
  background-color: var(--color-text);
  border-radius: 2px;
  transition:
    transform 0.25s ease,
    opacity 0.25s ease;
  transform-origin: center;
}

/* Hamburger Animation - Open State */
.hamburger[aria-expanded="true"] .hamburger-bar:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}
.hamburger[aria-expanded="true"] .hamburger-bar:nth-child(2) {
  opacity: 0;
}
.hamburger[aria-expanded="true"] .hamburger-bar:nth-child(3) {
  transform: rotate(-45deg) translate(5px, -5px);
}

/* --- MOBILE NAV OVERLAY --- */
.mobile-nav-overlay {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(var(--glass-blur-sm));
  -webkit-backdrop-filter: blur(var(--glass-blur-sm));
  z-index: 1100;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

.mobile-nav-overlay.is-visible {
  opacity: 1;
  pointer-events: all;
}

/* --- MOBILE NAV DRAWER --- */
.mobile-nav {
  position: fixed;
  top: var(--header-height);
  left: 0;
  width: 100%;
  height: calc(100dvh - var(--header-height));
  max-height: calc(100vh - var(--header-height));
  background-color: var(--color-bg);
  z-index: 1200;
  display: flex;
  flex-direction: column;
  padding: 1rem 0 calc(1.5rem + env(safe-area-inset-bottom));
  gap: .5rem;
  transform: translateX(-100%);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.mobile-nav.is-open {
  transform: translateX(0);
}

.mobile-nav-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 1rem;
  border-bottom: var(--border-thin) var(--border-style) rgba(28, 25, 23, 0.15);
}

/* Mobile Nav Close Button */
.mobile-nav-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: rgba(0, 0, 0, 0.05);
  border: none;
  border-radius: 8px;
  cursor: pointer;
  color: var(--color-text);
  font-size: 1.25rem;
  transition: all 0.2s ease;
  flex-shrink: 0;
}

.mobile-nav-close:hover {
  background: rgba(0, 0, 0, 0.1);
  color: var(--color-accent);
}

/* Mobile Nav Language Switcher */
.mobile-nav-language {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 0;
  border-top: 1px solid rgba(28, 25, 23, 0.1);
  border-bottom: 1px solid rgba(28, 25, 23, 0.1);
}

.mobile-nav-lang-label {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-text-muted);
  font-weight: 600;
}

.mobile-nav-lang-switcher {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background: rgba(0, 0, 0, 0.05);
  padding: 0.4rem 0.8rem;
  border-radius: 100px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  font-size: 0.85rem;
  font-weight: 700;
}

.mobile-nav-lang-link {
  color: var(--color-text-muted);
  text-decoration: none;
  transition: color 0.2s;
}

.mobile-nav-lang-link:hover {
  color: var(--color-text);
}

.mobile-nav-lang-link.active {
  color: #fbbf24;
}

.mobile-nav-lang-sep {
  color: rgba(0, 0, 0, 0.15);
}

.mobile-nav-links {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  flex: 1;
}

.mobile-nav-link {
  display: block;
  font-family: var(--font-sans);
  font-size: 1rem;
  font-weight: 600;
  color: var(--color-text);
  padding: 0.4rem 2rem;
  transition: color 0.2s;
  line-height: 1.2;
  border-bottom: 1px solid rgba(28, 25, 23, 0.08);
}

.mobile-nav-link:hover {
  color: var(--color-accent);
}

.mobile-nav-link.is-active {
  color: var(--color-accent);
  font-weight: 700;
}

/* Desktop Nav Link Active State */
.nav-link.is-active {
  color: var(--color-accent);
}

/* Mobile Nav Footer */
.mobile-nav-footer {
  display: flex;
  flex-direction: row;
  gap: 0.75rem;
  margin-top: auto;
  padding: 1.5rem 2rem 0; /* Horizontal padding added here */
  border-top: 1px solid rgba(28, 25, 23, 0.1);
}

.mobile-nav-footer .btn-block {
  flex: 1;
  padding: var(--padding-sm) var(--padding-md);
  text-align: center;
  font-size: 0.8rem;
  white-space: nowrap;
}

/* --- HEADER SWITCHER --- */
.header-switcher {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background: rgba(0, 0, 0, 0.05);
  padding: 0.35rem 0.7rem;
  border-radius: 100px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  font-size: 0.7rem;
  font-weight: 700;
  margin-right: 0.5rem;
}

.header-switcher .lang-link {
  color: var(--color-text-muted, #71717a);
  text-decoration: none;
  transition: color 0.2s;
}

.header-switcher .lang-link:hover {
  color: var(--color-text, #18181b);
}

.header-switcher .lang-link.active {
  color: #fbbf24; /* Primary High Contrast */
}

.header-switcher .lang-sep {
  color: rgba(0, 0, 0, 0.15);
}

/* --- MOBILE NAV STYLES --- */
@media (max-width: 899px) {
  .hamburger {
    display: flex; /* Show hamburger on mobile */
  }

  .nav-links {
    display: none; /* Hide desktop nav */
  }

  .header-switcher {
    display: none; /* Hide in header on mobile to avoid clutter */
  }
}

}
/*!*******************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./resources/css/layout/site/footer.css (layer layout) ***!
  \*******************************************************************************************************/
@layer layout {
/* --- SIMPLE FOOTER (From Site layout) --- */
.site-footer-simple {
  background-color: var(--color-dark);
  color: #a8a29e;
  padding: 3rem 0;
  border-top: 1px solid #44403c;
  font-family: var(--font-sans);
}
.footer-inner {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  align-items: center;
  text-align: center;
}
.brand-footer-group {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  align-items: center;
}
.brand-footer-group .brand-group {
  margin-bottom: 0.25rem;
}
.brand-footer-group .brand-logo {
  width: 28px;
  height: 28px;
}
.brand-footer-group .brand-name {
  font-size: 1.5rem;
  color: white;
}
.footer-nav {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
  justify-content: center;
}
.footer-nav a {
  display: inline-block;
  font-size: 0.875rem;
  color: #a8a29e;
  padding: 0.5rem 0.75rem; /* Expanded tap target */
  margin: -0.5rem; /* Offset padding visually */
}
.footer-nav a:hover {
  color: white;
  text-decoration: underline;
}
.footer-copy {
  font-size: 0.75rem;
  font-family: monospace;
  color: #57534e;
  margin-top: 0.25rem;
}

@media (min-width: 900px) {
  .footer-inner {
    flex-direction: row;
    justify-content: space-between;
    text-align: left;
    gap: 2rem;
  }
  .footer-copy {
    margin-top: 0;
  }
  .footer-tagline {
    margin-top: 0.75rem;
  }
  .footer-actions {
    align-items: flex-end;
  }
  .brand-footer-group {
    align-items: flex-start;
  }
}

/* --- LANGUAGE SWITCHER --- */
.language-switcher {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background: rgba(255, 255, 255, 0.05);
  padding: 0.4rem 0.8rem;
  border-radius: 100px;
  border: var(--border-alpha-xs);
  font-size: 0.75rem;
  font-weight: 600;
  flex-wrap: wrap;
  justify-content: center;
}

.lang-label {
  color: #78716c;
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.lang-link {
  color: #a8a29e;
  text-decoration: none;
  transition: color 0.2s;
  cursor: pointer;
}

.lang-link:hover {
  color: white;
}

.lang-link.active {
  color: #fbbf24; /* Primary Yellow */
}

.lang-sep {
  color: #44403c;
}

/* Footer Tagline */
.footer-tagline {
  font-size: 0.8rem;
  color: #78716c;
  margin-top: 0.5rem;
  max-width: 280px;
  line-height: 1.4;
}

/* Footer Actions (Social + Language) */
.footer-actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}

/* Footer Social Links */
.footer-social {
  display: flex;
  gap: 0.75rem;
}

.social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  color: #a8a29e;
  font-size: 1.1rem;
  transition: all 0.2s ease;
}

.social-link:hover {
  background: rgba(255, 255, 255, 0.15);
  color: white;
  transform: translateY(-2px);
}

.social-link.fa-instagram:hover {
  background: linear-gradient(135deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
}

.social-link.fa-tiktok:hover {
  background: #000;
}

.social-link.fa-facebook:hover {
  background: #1877f2;
}

}
/*!***************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./resources/css/pages/site/home.css (layer pages) ***!
  \***************************************************************************************************/
@layer pages {
/* --- HERO SECTION --- */
.hero {
  padding: 6rem 0;
  display: flex;
  align-items: center;
}

@media (min-width: 900px) {
  .hero {
    padding: 6rem 0; /* Balanced padding */
    border-bottom: var(--border-width) solid var(--color-text);
  }
}

.hero-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 4rem;
  align-items: center;
}

.hero-title {
  font-size: clamp(2.5rem, 5.5vw, 4.5rem); /* Slightly smaller */
  margin-bottom: 1.25rem; /* Reduced from 2rem */
  letter-spacing: -1.5px;
}

.hero-title span {
  font-weight: 400;
  font-style: italic;
  color: var(--color-text-muted);
  display: block;
}

.hero-lead {
  font-size: 1.15rem;
  max-width: 500px;
  margin-bottom: 1.5rem; /* Reduced from 3rem to tighten button gap */
  border-left: 4px solid var(--color-accent);
  padding-left: 1.5rem;
}

.hero-visual {
  display: none;
  position: relative;
  height: 480px;
}

.hero-img {
  position: absolute;
  width: 280px;
  height: 400px;
  object-fit: cover;
  border: var(--border-width) solid var(--color-text);
  transition: transform 0.3s ease;
  box-shadow: 10px 10px 0 rgba(0, 0, 0, 0.1);
  border-radius: 4px;
}
.hero-img-1 {
  right: 30px;
  top: 0px; /* Moved up from 40px */
  transform: rotate(3deg);
  z-index: 3;
}
.hero-img-2 {
  right: 140px;
  top: 10px; /* Moved up from 80px */
  transform: rotate(-6deg);
  z-index: 2;
  filter: grayscale(100%);
}
.hero-img-3 {
  right: 220px;
  top: -20px; /* Moved up from 50px */
  transform: rotate(6deg);
  z-index: 1;
}
/* Dynamic Hover Effects */
.hero-visual:hover .hero-img-1 {
  transform: scale(1.05) rotate(0deg);
  z-index: 10;
}
.hero-visual:hover .hero-img-2 {
  transform: translateX(-30px) rotate(-10deg) scale(1.02);
  filter: grayscale(0%);
  z-index: 9;
}
.hero-visual:hover .hero-img-3 {
  transform: translateX(-50px) rotate(10deg) scale(1.02);
  z-index: 8;
}

.hero-actions {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  margin-top: 2rem;
}

/* Marquee */
.marquee-container {
  width: 100%;
  background-color: var(--color-accent);
  color: var(--color-white);
  border-top: var(--border-width) solid var(--color-text);
  border-bottom: var(--border-width) solid var(--color-text);
  overflow: hidden;
  padding: 0.75rem 0;
}
.marquee-content {
  display: flex;
  white-space: nowrap;
  animation: marquee 30s linear infinite;
}
.marquee-item {
  font-family: monospace;
  text-transform: uppercase;
  font-weight: bold;
  padding: 0 2rem;
}
@keyframes marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* --- PROBLEM SECTION --- */
.problem-section {
  background-color: var(--color-dark);
  color: var(--color-bg);
  padding: 4rem 0; /* Reduced from default section spacing */
}

.problem-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 4rem;
}
.problem-header .section-title {
  margin-bottom: 1.25rem;
}
.problem-header span {
  font-style: italic;
  color: var(--color-text-muted);
}
.problem-header p {
  color: #a8a29e;
  font-size: 1rem;
  max-width: 400px;
}

.problem-cards {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.problem-card {
  background-color: #292524;
  border: 1px solid #44403c;
  padding: 1.5rem;
  border-radius: 4px;
}
.problem-card h3 {
  font-size: 1.1rem;
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.problem-card p {
  color: #d6d3d1;
  font-size: 0.9rem;
}
.card-icon {
  color: var(--color-accent);
}

/* --- SOLUTION SECTION --- */
.solution-section {
  padding: 4rem 0; /* Reduced */
  background-color: var(--color-white);
  border-bottom: var(--border-width) solid var(--color-text);
}

.section-title {
  font-size: clamp(1.75rem, 4vw, 2.25rem); /* Reduced from 2.75rem */
  line-height: 1.2;
  letter-spacing: -0.01em;
  font-weight: 700;
  text-wrap: balance;
}

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

.solution-title {
  max-width: 800px;
  margin: 0 auto;
}

.steps-grid {
  display: grid;
  grid-template-columns: 1fr;
  border: 1px solid #44403c;
  border-radius: 24px;
  overflow: hidden;
  background-color: #44403c; /* Divider color */
  gap: 1px;
  margin-top: 3rem;
}

@media (min-width: 900px) {
  .steps-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.step-card {
  background-color: #141414; /* Deep dark */
  padding: 3rem 2rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  text-align: left;
}

.step-card:hover {
  z-index: 2;
  background-color: #1c1c1c;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
}

.step-icon {
  width: 48px;
  height: 48px;
  color: var(--color-accent);
  flex-shrink: 0;
}

.step-card h3 {
  color: var(--color-white);
  font-size: 1.35rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
  transition: color 0.3s ease;
}

.step-card:hover h3 {
  color: var(--color-accent);
}

.step-card p {
  color: #a1a1aa;
  font-size: 1rem;
  line-height: 1.6;
  margin: 0;
}

/* --- GALLERY SECTION --- */
.gallery-section {
  padding: 3.5rem 0; /* Reduced */
  overflow: hidden;
}
.gallery-header {
  gap: 3rem;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 3rem;
}

.scroller {
  min-height: 400px;
  display: flex;
  align-items: center;
  justify-content: center; /* Center items on desktop */
  gap: 1.5rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -ms-overflow-style: none;
  scrollbar-width: none;
  /* Allow scrolling to start from container edge if it overflows */
  padding-left: max(1.5rem, calc((100vw - var(--spacing-container)) / 2));
  padding-right: max(1.5rem, calc((100vw - var(--spacing-container)) / 2));
}

@media (max-width: 899px) {
  .scroller {
    justify-content: flex-start; /* Keep normal scrolling on mobile */
  }
}

.scroller::-webkit-scrollbar {
  display: none;
}

.gallery-figure {
  flex: 0 0 260px;
  max-width: 80vw;
  height: 380px;
  border: var(--border-width) solid var(--color-text);
  background: var(--color-white);
  padding: 0.5rem;
  scroll-snap-align: center;
  position: relative;
  border-radius: 4px;
}
.gallery-figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(100%);
  transition: 0.5s;
}
.gallery-figure:hover img {
  filter: grayscale(0);
}
.gallery-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  background: var(--color-text);
  color: white;
  padding: 0.5rem;
  font-family: monospace;
  font-size: 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.gallery-caption i {
  color: var(--color-whatsapp);
  font-size: 0.85rem;
}

/* --- PRICING SECTION --- */
.pricing-section {
  padding: 4rem 0; /* Reduced */
  background-color: #e7e5e4;
  border-top: var(--border-width) solid var(--color-text);
}

.pricing-header {
  text-align: center;
  margin-bottom: 2rem;
}
.pricing-header .section-title {
  margin-bottom: 0.5rem;
}
.pricing-subtitle {
  font-size: 1rem;
  color: var(--color-text-muted);
}

/* --- Pricing Tabs --- */
.pricing-tabs {
  display: flex;
  justify-content: center;
  gap: 0;
  margin: 2rem auto 0;
  max-width: 420px;
  background: var(--color-bg);
  border: var(--border-width) solid var(--color-text);
  border-radius: 40px;
  padding: 4px;
}

.pricing-tab {
  flex: 1;
  padding: 0.65rem 1.25rem;
  font-family: var(--font-sans);
  font-size: 0.85rem;
  font-weight: 600;
  background: transparent;
  border: none;
  border-radius: 40px;
  cursor: pointer;
  color: var(--color-text-muted);
  transition:
    background-color 0.25s ease,
    color 0.25s ease,
    box-shadow 0.25s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
}

.pricing-tab:hover {
  color: var(--color-text);
}

.pricing-tab.is-active {
  background-color: var(--color-text);
  color: var(--color-bg);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.pricing-tab i {
  font-size: 0.8rem;
}

/* --- Pricing Panels --- */
.pricing-panel {
  display: none;
}

.pricing-panel.is-active {
  display: block;
  animation: pricingFadeIn 0.35s ease;
}

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

.pricing-panel-desc {
  text-align: center;
  font-size: 0.9rem;
  color: var(--color-text-muted);
  margin: 1.5rem 0 2rem;
  font-style: italic;
}

.pricing-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  max-width: 1100px;
  margin: 0 auto;
}

.pricing-card {
  border: var(--border-width) solid var(--color-text);
  padding: 2.5rem 2rem 2rem; /* Extra top padding accounts for badge overflow on all cards */
  background: var(--color-bg);
  display: flex;
  flex-direction: column;
  border-radius: 4px;
  position: relative;
}

.pricing-card.highlight {
  background-color: var(--color-dark);
  color: var(--color-white);
  box-shadow: var(--shadow-hard);
}

.badge-popular {
  position: absolute;
  top: -15px;
  right: 20px;
  background-color: var(--color-accent);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 0.3rem 1rem;
  border-radius: 20px;
  border: var(--border-width) solid var(--color-text);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.badge-best-value {
  position: absolute;
  top: -15px;
  right: 20px;
  background-color: var(--color-text);
  color: var(--color-bg);
  font-size: 0.75rem;
  font-weight: 700;
  padding: 0.3rem 1rem;
  border-radius: 20px;
  border: var(--border-width) solid var(--color-text);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.pricing-card-studio {
  border-color: var(--color-text);
}

.pricing-card-header h3 {
  font-size: 1.1rem;
  margin-bottom: 0.25rem;
}

.highlight-text {
  color: var(--color-accent) !important;
}

.price {
  font-family: var(--font-serif);
  font-size: 2.5rem;
  font-weight: 700;
  margin: 0.75rem 0;
  line-height: 1;
}

.price span {
  font-family: var(--font-sans);
  font-size: 1rem;
  color: var(--color-text-muted);
  font-weight: 400;
  margin-left: 0.25rem;
}

.pricing-card.highlight .price span {
  color: #a8a29e;
}

.features {
  flex-grow: 1;
  margin-bottom: 1.5rem;
}

.features li {
  margin-bottom: 0.6rem;
  display: flex;
  gap: 0.5rem;
  font-size: 0.9rem;
  align-items: center;
}

.features i {
  font-size: 0.8rem;
  margin-top: 1px;
}

.pricing-footer {
  margin-top: auto;
}

.highlight-whatsapp {
  text-decoration: underline;
  text-decoration-color: var(--color-whatsapp);
  text-decoration-thickness: 4px;
  text-underline-offset: 6px; /* Added offset for premium feel */
}

.feature-locked {
  opacity: 0.35;
  text-decoration: line-through;
  text-decoration-color: currentColor;
}

.trust-note {
  margin-top: 0.75rem;
  font-size: 0.75rem;
  color: var(--color-text-muted);
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
}

.trust-note-dark {
  color: #a8a29e;
}

.pricing-guarantee {
  text-align: center;
  margin-top: 2rem;
  font-size: 0.85rem;
  color: var(--color-text-muted);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}

.pricing-guarantee a {
  color: var(--color-text);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.pricing-guarantee a:hover {
  color: var(--color-accent);
}

/* --- FAQ SECTION --- */
.faq-section {
  padding: 4rem 0; /* Reduced */
  background-color: var(--color-bg);
  border-top: var(--border-width) solid var(--color-text);
}

.faq-header {
  text-align: center;
  margin-bottom: 3rem;
}

.faq-header .section-title {
  margin-bottom: 0.75rem;
}

.faq-subtitle {
  font-size: 1rem;
  color: var(--color-text-muted);
  max-width: 500px;
  margin: 0 auto;
}

.faq-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  max-width: 800px;
  margin: 0 auto;
}

.faq-item {
  border: var(--border-width) solid var(--color-text);
  border-radius: 4px;
  background: var(--color-white);
  overflow: hidden;
}

.faq-question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.25rem 1.5rem;
  font-weight: 600;
  font-size: 1rem;
  cursor: pointer;
  list-style: none;
  transition: background-color 0.2s ease;
}

.faq-question::-webkit-details-marker {
  display: none;
}

.faq-question:hover {
  background-color: var(--color-bg-alt);
}

.faq-question i {
  color: var(--color-text-muted);
  transition: transform 0.3s ease;
  flex-shrink: 0;
  margin-left: 1rem;
}

.faq-item[open] .faq-question i {
  transform: rotate(180deg);
}

.faq-answer {
  padding: 0 1.5rem 1.25rem;
  color: var(--color-text-muted);
  line-height: 1.6;
  border-top: 1px solid var(--color-bg-alt);
  margin: 0 1.5rem;
  padding-top: 1rem;
}

.faq-answer p {
  margin: 0;
  font-size: 0.95rem;
}

@media (min-width: 900px) {
  .faq-grid {
    grid-template-columns: 1fr 1fr;
  }
}

/* --- RESPONSIVE MEDIA QUERIES --- */
@media (min-width: 900px) {
  .hero-grid {
    grid-template-columns: 1.2fr 1fr;
    grid-template-rows: auto auto; /* Two logical rows for text content */
    align-items: start; /* Align to top to prevent stretching */
    column-gap: 4rem;
    row-gap: 0;
  }

  .hero-text-group {
    grid-column: 1;
    grid-row: 1;
  }

  .hero-actions {
    grid-column: 1;
    grid-row: 2;
    margin-top: 1rem; /* Spacing between lead and buttons */
  }

  .hero-visual {
    display: block;
    grid-column: 2;
    grid-row: 1 / span 2; /* Span text rows only */
    width: 100%;
    height: auto; /* Allow mockup to define height */
    display: flex; /* Center the phone */
    justify-content: center;
    align-items: center;
  }

  .problem-grid {
    grid-template-columns: 1fr 1fr;
  }
  .problem-header {
    position: sticky;
    top: 120px;
    height: fit-content;
  }

  .steps-grid {
    grid-template-columns: 1fr 1fr 1fr;
  }

  .pricing-grid {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

/* Mobile Adjustments */
@media (max-width: 899px) {
  /* Login + Start Event live inside the drawer on mobile — hide them from the header */
  .header-actions .btn-text,
  .header-actions .btn-start-event {
    display: none;
  }
  .hero {
    padding: 2rem 0 0rem; /* Added bottom padding */
  }
  .hero-title {
    font-size: 3rem;
  }
  .hero-grid {
    gap: 1.5rem;
  }
  /* Base Mobile Image Style */
  .hero-img {
    position: relative;
    width: 210px;
    height: 300px;
    margin: 0 auto;
    display: block;
    top: auto;
    right: auto;
    left: auto;
    /* box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1); */
  }

  .hero-visual {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 2rem 0 3.5rem; /* Increased bottom margin */
    height: auto;
    width: 100%;
    text-align: center;
  }

  .hero-img-1 {
    z-index: 3;
    transform: rotate(3deg);
    margin-bottom: -260px;
  }

  .hero-img-2 {
    z-index: 2;
    transform: rotate(-4deg) translateX(-10%);
    margin-bottom: -260px;
  }

  .hero-img-3 {
    z-index: 1;
    transform: rotate(2deg) translateX(10%);
    margin-bottom: 0px;
  }
  .nav-links {
    display: none;
  } /* Ensure menu is hidden on mobile */

  /* Pill tags: tighter on mobile and centered */
  .pill-tags {
    margin-top: 1.5rem;
    justify-content: center; /* Center tags on mobile */
  }
  .pill-tag {
    font-size: 0.7rem;
    padding: 0.3rem 0.75rem;
  }

  /* Banner: full width on mobile and centered */
  .hero-banner {
    font-size: 0.7rem;
    padding: 0.5rem 1rem;
    margin: 0 auto 1.5rem; /* Center banner */
    display: inline-flex; /* Maintain inline-flex behavior */
  }

  /* Center buttons on mobile */
  .hero-actions {
    justify-content: center !important;
    margin-bottom: 2rem;
  }

  .date-input {
    width: 100%;
    display: grid;
    /* grid-template-columns: 1fr 1fr; */
    gap: var(--space-4);
  }
}
/* Staggered Reveal Animation for Gallery */
.reveal-stagger .gallery-figure {
  opacity: 0;
  transform: translateY(20px);
  transition:
    opacity 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94),
    transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.reveal-stagger.active .gallery-figure {
  opacity: 1;
  transform: translateY(0);
}

.reveal-stagger.active .gallery-figure:nth-child(1) {
  transition-delay: 0.1s;
}
.reveal-stagger.active .gallery-figure:nth-child(2) {
  transition-delay: 0.3s;
}
.reveal-stagger.active .gallery-figure:nth-child(3) {
  transition-delay: 0.5s;
}
.reveal-stagger.active .gallery-figure:nth-child(4) {
  transition-delay: 0.7s;
}

/* Override generic reveal for staggered container so parent is visible but children are hidden */
.reveal.reveal-stagger {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

/* --- TABLET ADJUSTMENTS --- */
@media (min-width: 600px) and (max-width: 899px) {
  .hero {
    padding: 6rem 0 4rem;
  }
  .hero-grid {
    gap: 3rem;
  }
  .steps-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .pricing-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
  }
}

/* --- MOBILE LANDSCAPE (STRICT OVERRIDE) --- */
@media (max-width: 1180px) and (orientation: landscape) {
  .hero-grid {
    grid-template-columns: 1fr 1.3fr !important;
    text-align: left;
    align-items: center;
    gap: 2rem;
  }
  .hero {
    padding: 2rem 0;
  }

  .hero-content {
    padding: 0.5rem 0;
  }
  .hero-title {
    font-size: 2.2rem;
    margin-bottom: 0.5rem;
  }
  .hero-lead {
    font-size: 0.9rem;
    margin-bottom: 1rem;
    border-left-width: 3px;
  }
  .hero-actions {
    margin-top: 0.5rem;
  }

  .hero-visual {
    position: relative;
    height: 280px;
    margin: 0;
  }
  .hero-img {
    width: 189px;
    height: 270px;
    position: absolute;
    margin: 0;
  }
  .hero-img-1 {
    right: 150px;
    transform: rotate(3deg);
  }
  .hero-img-2 {
    right: 200px;
    transform: rotate(-6deg);
  }
  .hero-img-3 {
    right: 250px;
    transform: rotate(6deg);
  }

  .problem-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 2.5rem;
  }
  .steps-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 1px;
  }
  .pricing-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 0.75rem;
  }

  .step-card {
    padding: 1.25rem 1rem;
  }
  .pricing-card {
    padding: 1.25rem 0.75rem;
  }
  .price {
    font-size: 1.5rem;
  }
  .price span {
    font-size: 0.85rem;
  }
  .features li {
    font-size: 0.76rem;
    line-height: 1.2;
    margin-bottom: 0.35rem;
    gap: 0.35rem;
  }
}

}
/*!***************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./resources/css/pages/site/auth.css (layer pages) ***!
  \***************************************************************************************************/
@layer pages {
/* 
  PICLERY AUTH SYSTEM
  Modern Glass-Brutalist Design
*/

:root {
  --auth-glass-bg: rgba(255, 255, 255, 0.75);
  --auth-glass-border: rgba(28, 25, 23, 0.12);
  --auth-glow: rgba(234, 88, 12, 0.15);
}

/* --- AUTH SITE HEADER --- */
.auth-site-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: 1.25rem 0;
  /* background-color: rgba(245, 245, 244, 0.95); */
  backdrop-filter: blur(var(--glass-blur-lg));
  -webkit-backdrop-filter: blur(var(--glass-blur-lg));
  z-index: 1000;
  transition: var(--transition-base);
}

.auth-site-header .container {
  display: flex !important;
  justify-content: space-between;
  align-items: center;
}

/* --- AUTH LAYOUT --- */
.auth-dynamic-bg {
  position: fixed;
  inset: 0;
  z-index: -1;
  background-color: var(
    --color-bg
  ); /* Match landing page background (#f5f5f4) */
  overflow: hidden;
}

/* Orbs and overlays removed for the cleanest possible look */
.orb,
.noise-overlay {
  display: none !important;
}

.auth-layout-container {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.auth-wrapper {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem 1.5rem;
}

/* --- AUTH CARD --- */
.auth-card {
  background: var(--color-white);
  border: var(--border-width) solid var(--color-text);
  box-shadow: var(--shadow-hard);
  padding: 3rem;
  width: 100%;
  max-width: 400px;
  border-radius: var(--radius-sm);
  position: relative;
  transition: transform 0.2s ease;
}

.auth-header {
  text-align: center;
  margin-bottom: 1.5rem;
}

.auth-brand {
  font-family: var(--font-display);
  font-size: 1.75rem;
  font-weight: 800;
  margin-bottom: 0.25rem;
  letter-spacing: -0.04em;
  color: var(--color-text);
}

.auth-subtitle {
  color: var(--color-text-muted);
  font-size: 0.85rem;
  line-height: 1.4;
  font-weight: 500;
}

/* --- FORM ENHANCEMENTS --- */

.form-label {
  display: block;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.4rem;
  color: var(--color-text);
}

/* Using standardized .form-control from forms.css for a single source of truth */

fieldset.form-row {
  min-width: 0;
}

.auth-actions {
  margin-top: 1.5rem;
}

.auth-actions .btn {
  padding: 0.4rem 0.4rem;
}

.auth-card-footer {
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px dashed var(--auth-glass-border);
  text-align: center;
  color: var(--color-text-muted);
}

.auth-card-footer a {
  color: var(--color-accent);
  font-weight: 700;
  text-decoration: none;
  position: relative;
}

.auth-card-footer a::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 2px;
  background: var(--color-accent);
  transform: scaleX(0);
  transition: transform 0.3s ease;
  transform-origin: right;
}

.auth-card-footer a:hover::after {
  transform: scaleX(1);
  transform-origin: left;
}

/* --- ALERTS --- */
.alert {
  padding: 1rem;
  border-radius: 8px;
  margin-bottom: 1.5rem;
  font-size: 0.9rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  border: 1px solid transparent;
}

.alert-error {
  background: var(--color-error-bg);
  color: var(--color-error-text);
  border: var(--border-width) solid var(--color-text);
  box-shadow: 2px 2px 0px 0px var(--color-text);
}

.alert-success {
  background: var(--color-success-bg);
  color: var(--color-success-text);
  border: var(--border-width) solid var(--color-text);
  box-shadow: 2px 2px 0px 0px var(--color-text);
}

.alert-warning {
  background: #fff7ed;
  color: #9a3412;
  border: var(--border-width) solid var(--color-text);
  box-shadow: 2px 2px 0px 0px var(--color-text);
}

.alert-info {
  background: #eff6ff;
  color: #1e40af;
  border: var(--border-width) solid var(--color-text);
  box-shadow: 2px 2px 0px 0px var(--color-text);
}

/* --- STEPPER & TRANSITIONS --- */
.registration-stepper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 2.5rem;
  position: relative;
  padding: 0 0.5rem;
}

.step-indicator {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--color-white);
  border: var(--border-width) solid var(--color-text);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 0.85rem;
  z-index: 2;
  transition: var(--transition-smooth);
  position: relative;
}

.step-indicator.active {
  background: var(--color-accent);
  color: var(--color-white);
  transform: scale(1.1);
  box-shadow: 3px 3px 0px 0px var(--color-text);
}

.step-indicator.completed {
  background: var(--color-text);
  color: var(--color-white);
}

.stepper-line {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--color-text);
  transform: translateY(-50%);
  z-index: 1;
  opacity: 0.2;
}

.stepper-line-progress {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background: var(--color-text);
  width: 0%;
  transition: width 0.4s ease;
}

.form-step {
  animation: slideIn 0.4s var(--ease-pro) forwards;
}

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

/* --- MOBILE OPTIMIZATION --- */
@media (max-width: 480px) {
  .auth-card {
    padding: 1.5rem; /* Reduced from 2.5rem for more room */
    border: none;
    box-shadow: none;
    border-radius: 0;
  }

  .auth-wrapper {
    align-items: center; /* Center vertically on mobile if possible */
  }

  .auth-dynamic-bg {
    background-color: var(--color-white) !important;
  }

  .auth-brand {
    font-size: 1.5rem;
  }

  .auth-header {
    margin-bottom: 2rem;
  }

  .auth-actions {
    margin-top: 1.5rem;
  }

  .auth-card-footer {
    margin-top: 2rem;
    padding-top: 1.5rem;
  }

  /* Utility for compact mobile forms */
  .mobile-grid-cols-1 {
    grid-template-columns: 1fr !important;
    gap: 0.5rem !important;
  }
}

/* --- SUCCESS SCREEN --- */
.auth-success-screen {
  text-align: center;
  padding: 1rem 0;
  animation: cardReveal 0.6s var(--ease-pro) forwards;
}

.success-icon {
  font-size: 3.5rem;
  color: var(--color-accent);
  margin-bottom: 1.5rem;
}

.text-underline {
  text-decoration: underline !important;
}

/* --- UTILITIES --- */
.d-none {
  display: none !important;
}
.w-full {
  width: 100% !important;
}
.mb-6 {
  margin-bottom: 1.5rem !important;
}
.mt-6 {
  margin-top: 1.5rem !important;
}

/* --- OTP INPUTS --- */
.otp-container {
  display: flex;
  justify-content: center;
  gap: 0.75rem;
  margin: 1.5rem 0 2rem;
}

.otp-input {
  width: 35px;
  height: 35px;
  text-align: center;
  font-size: 1.1rem;
  font-weight: 800;
  font-family: var(--font-display);
  border: var(--border-width) solid var(--color-text);
  border-radius: var(--radius-xs);
  background: var(--color-white);
  transition: var(--transition-base);
}

.otp-input:focus {
  outline: none;
  background: white;
  border-color: var(--color-accent);
  box-shadow: none;
  transform: translateY(-2px);
}

.otp-input:not(:placeholder-shown) {
  border-color: var(--color-text);
  background: white;
}

}
/*!*****************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./resources/css/pages/site/upload.css (layer pages) ***!
  \*****************************************************************************************************/
@layer pages {
.upload-section {
  padding: 4rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: calc(100vh - var(--header-height));
  background-color: var(--color-bg);
}

.upload-card {
  width: 100%;
  max-width: 500px;
  background: var(--color-white);
  padding: 4rem;
  border: var(--border-width) solid var(--color-dark);
  border-radius: 8px;
  box-shadow: var(--shadow-hard);
  text-align: center;
}

.upload-header {
  margin-bottom: 2rem;
}

.upload-header i {
  font-size: 2.5rem;
  color: var(--color-accent);
  margin-bottom: 1rem;
}

.upload-header h1 {
  font-size: 2rem;
  margin-bottom: 0.5rem;
}

.upload-header p {
  color: var(--color-text-muted);
}

.whatsapp-box {
  margin-bottom: 2rem;
  padding: 1.5rem;
  border: var(--border-width) solid var(--color-dark);
  background-color: #f0fdf4;
  border-radius: 6px;
  text-align: left;
  position: relative;
  box-shadow: var(--shadow-hard-sm);
}

.whatsapp-box-content {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}

.whatsapp-icon {
  font-size: 2.5rem;
  color: var(--color-whatsapp);
}

.whatsapp-info {
  flex: 1;
}

.whatsapp-info strong {
  display: block;
  font-size: 1.1rem;
  margin-bottom: 0.25rem;
}

.whatsapp-info .whatsapp-details {
  font-size: 0.95rem;
  margin-bottom: 1rem;
  color: #14532d;
}

.whatsapp-code-pill {
  background: white;
  padding: 2px 6px;
  border: var(--border-width) solid var(--color-dark);
  border-radius: 4px;
  font-weight: 800;
  color: var(--color-text);
  font-family: monospace;
  box-shadow: var(--shadow-hard-sm);
}

.upload-separator {
  position: relative;
  text-align: center;
  margin-bottom: 2rem;
}

.upload-separator hr {
  border: none;
  border-top: var(--border-width) solid var(--color-text-muted);
  opacity: 0.3;
}

.upload-separator span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: var(--color-white);
  padding: 0 1rem;
  font-weight: 700;
  color: var(--color-text-muted);
  font-size: 0.85rem;
  letter-spacing: 1px;
}

.drop-area {
  padding: 2rem 1rem;
  border: 2px dashed var(--color-dark);
  border-radius: 8px;
  background-color: var(--color-bg);
  transition: all 0.2s ease;
  cursor: pointer;
  position: relative;
  margin-bottom: 1.5rem;
}

.drop-area i {
  font-size: 2.5rem;
  color: var(--color-text-muted);
  margin-bottom: 1rem;
}

.drop-area-title {
  font-weight: 700;
  margin-bottom: 0.25rem;
  font-size: 1.1rem;
}

.drop-area-subtitle {
  color: var(--color-text-muted);
  font-size: 0.9rem;
}

.file-input {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}

.file-status-label {
  display: block;
  margin-bottom: 1.5rem;
  font-size: 0.9rem;
  color: var(--color-text-muted);
  font-style: italic;
}

.file-preview-list {
  margin-bottom: 1.5rem;
  text-align: left;
  font-size: 0.9rem;
  color: var(--color-text-muted);
  max-height: 150px;
  overflow-y: auto;
  padding: 1rem;
  border: var(--border-width) solid var(--color-dark);
  background: #fdfdfd;
  border-radius: 4px;
}

.btn-submit-upload {
  font-size: 1.1rem;
  padding: 1rem;
}

}
/*!*************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./resources/css/themes/light.css (layer themes) ***!
  \*************************************************************************************************/
@layer themes {
/* --- PICLERY LIGHT THEME (Default) --- */
:root {
  /* Core Brand Colors */
  --color-bg: #f5f5f4;
  --color-surface: #ffffff;
  --color-text: #1c1917;
  --color-text-muted: #78716c;

  /* App Specific Surfaces */
  --color-surface-sunken: #f8fafc;
  --color-border-subtle: #f1f5f9;
  
  /* Glassmorphism */
  --glass-bg: rgba(255, 255, 255, 0.8);
  --glass-border: rgba(28, 25, 23, 0.08);
}

}
/*!********************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./resources/css/site.css ***!
  \********************************************************************************************************************/
/* ──────── PICLERY SITE MANIFEST ──────── */
/* Exact reconstruction from original modules structure */

/* Layer order declaration — later layers win */
@layer base, layout, components, utilities, pages, themes;

/* 1. Base Foundation (Global Reset & Tokens) */

/* 2. Utility Classes (Helpers) */

/* 3. Global Layout (Scaffolding) */

/* 4. Base Components (Unified UI Widgets) */

/* 5. Site-Specific Components */

/* 6. Layout Scaffold */

/* 7. Page-Specific Views */

/* 8. Theme Overrides */
/* @import 'themes/dark.css' layer(themes); */


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