/* SurpriseCalendar Design System */
/* Gold-based color palette with Forest Green and Burgundy complements */

:root {
  /* ============================================
     COLOR PALETTE
     ============================================ */
  
  /* Primary: Gold */
  --color-primary: #D4A853;
  --color-primary-light: #E8C97A;
  --color-primary-dark: #B8922E;
  
  /* Secondary: Deep Forest Green (triadic complement) */
  --color-secondary: #2D6B5C;
  --color-secondary-light: #3D8B78;
  --color-secondary-dark: #1D4B3C;
  
  /* Accent: Warm Burgundy (split-complementary) */
  --color-accent: #8B3A4D;
  --color-accent-light: #A85A6D;
  --color-accent-dark: #6B2A3D;
  
  /* Semantic Colors */
  --color-success: #2D6B5C;
  --color-warning: #D4A853;
  --color-error: #8B3A4D;
  
  /* Text Colors */
  --color-text: #2d3748;
  --color-text-muted: #718096;
  --color-text-light: #a0aec0;
  
  /* Background Colors */
  --color-bg: #FFFBF5;
  --color-bg-white: #ffffff;
  --color-bg-dark: #1a202c;
  --color-bg-warm: #FDF8F0;
  
  /* Border */
  --color-border: #e2e8f0;
  
  /* ============================================
     GRADIENTS
     ============================================ */
  --gradient-primary: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
  --gradient-hero: linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 50%, var(--color-accent) 100%);
  --gradient-gold: linear-gradient(135deg, #E8C97A 0%, #D4A853 50%, #B8922E 100%);
  --gradient-elegant: linear-gradient(135deg, var(--color-secondary) 0%, var(--color-accent) 100%);
  
  /* ============================================
     TYPOGRAPHY
     ============================================ */
  
  /* Font Families */
  --font-heading: 'Playfair Display', Georgia, serif;
  --font-subheading: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-body: 'Nunito', -apple-system, BlinkMacSystemFont, sans-serif;
  
  /* Legacy support */
  --font-family: var(--font-body);
  
  /* Font Sizes */
  --font-size-xs: 0.75rem;
  --font-size-sm: 0.875rem;
  --font-size-base: 1rem;
  --font-size-lg: 1.125rem;
  --font-size-xl: 1.25rem;
  --font-size-2xl: 1.5rem;
  --font-size-3xl: 2rem;
  --font-size-4xl: 2.5rem;
  --font-size-5xl: 3rem;
  
  /* ============================================
     SPACING
     ============================================ */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  
  /* ============================================
     BORDER RADIUS
     ============================================ */
  --radius-sm: 0.25rem;
  --radius-md: 0.5rem;
  --radius-lg: 1rem;
  --radius-xl: 1.5rem;
  --radius-full: 9999px;
  
  /* ============================================
     SHADOWS
     ============================================ */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1);
  --shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.15);
  --shadow-gold: 0 4px 14px rgba(212, 168, 83, 0.3);
  
  /* ============================================
     TRANSITIONS
     ============================================ */
  --transition-fast: 150ms ease;
  --transition-base: 250ms ease;
  --transition-slow: 350ms ease;
  
  /* ============================================
     CONTAINER
     ============================================ */
  --container-max: 1200px;
  --container-fluid-padding: var(--space-4);
}

/* Reset */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-family);
  font-size: var(--font-size-base);
  line-height: 1.6;
  color: var(--color-text);
  background: var(--color-bg);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

main {
  flex: 1;
  background: var(--color-bg);
  position: relative;
  z-index: 1;
}

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

a {
  color: var(--color-primary);
  text-decoration: none;
  transition: color var(--transition-fast);
}

a:hover {
  color: var(--color-primary-dark);
}

/* ============================================
   TYPOGRAPHY HIERARCHY
   ============================================ */

/* Headings - Playfair Display (elegant serif) */
h1, h2 {
  font-family: var(--font-heading);
  font-weight: 700;
  line-height: 1.2;
  color: var(--color-text);
}

/* Subheadings - Poppins (modern sans-serif) */
h3, h4, h5, h6 {
  font-family: var(--font-subheading);
  font-weight: 600;
  line-height: 1.3;
  color: var(--color-text);
}

/* Body text - Nunito (friendly, readable) */
p, li, td, th, label, span {
  font-family: var(--font-body);
}

/* Buttons and interactive elements - Poppins */
button, .btn, input[type="submit"], input[type="button"] {
  font-family: var(--font-subheading);
}

/* Container */
.container {
  width: 100%;
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 var(--space-4);
}

.container-fluid {
  width: 100%;
  padding: 0 var(--container-fluid-padding);
}

/* Buttons */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-6);
  font-size: var(--font-size-base);
  font-weight: 600;
  border: none;
  border-radius: var(--radius-lg);
  cursor: pointer;
  transition: all var(--transition-base);
  text-decoration: none;
}

.btn-primary {
  background: var(--gradient-primary);
  color: white;
  box-shadow: var(--shadow-md);
}

.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-lg);
  color: white;
}

.btn-secondary {
  background: var(--color-bg-white);
  color: var(--color-text);
  border: 2px solid var(--color-border);
}

.btn-secondary:hover {
  border-color: var(--color-primary);
  color: var(--color-primary);
}

.btn-lg {
  padding: var(--space-4) var(--space-8);
  font-size: var(--font-size-lg);
}

/* Cards */
.card {
  background: var(--color-bg-white);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-md);
  overflow: hidden;
  transition: all var(--transition-base);
}

.card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-xl);
}

/* Form Elements */
input[type="text"],
input[type="email"],
input[type="tel"],
textarea,
select {
  width: 100%;
  padding: var(--space-3) var(--space-4);
  font-size: var(--font-size-base);
  font-family: var(--font-family);
  border: 2px solid var(--color-border);
  border-radius: var(--radius-md);
  transition: border-color var(--transition-fast);
  background: var(--color-bg-white);
}

input:focus,
textarea:focus,
select:focus {
  outline: none;
  border-color: var(--color-primary);
}

/* Grid */
.grid {
  display: grid;
  gap: var(--space-4);
}

.grid-2 { grid-template-columns: repeat(2, 1fr); }
.grid-3 { grid-template-columns: repeat(3, 1fr); }
.grid-4 { grid-template-columns: repeat(4, 1fr); }

@media (max-width: 768px) {
  .grid-2,
  .grid-3,
  .grid-4 {
    grid-template-columns: 1fr;
  }
}

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