mirror of
https://github.com/taskgenius/taskgenius-plugin.git
synced 2026-07-22 06:40:25 +00:00
- Remove debug console.log statements from workflow handlers - Add proper TypeScript type definitions (WorkflowInfo, ResolvedWorkflowInfo) - Extract regex patterns and magic strings as constants - Create helper functions for cleaner code (getIndentation, getEditorFromView) - Improve error handling with bounds checking - Enhance time parsing service with better fallback logic - Add fallback property names for date fields in file task manager - Fix test import paths for relocated modules - Consolidate duplicate code in workflow stage transitions - Improve indentation handling in parent task updater Breaking changes: None
17808 lines
1.3 MiB
17808 lines
1.3 MiB
/* @settings
|
|
|
|
name: Task Genius
|
|
id: task-genius
|
|
settings:
|
|
-
|
|
id: task-colors-heading
|
|
title: Checkbox Status Colors
|
|
type: heading
|
|
level: 1
|
|
-
|
|
id: task-completed-color
|
|
title: Completed Task Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#4caf50'
|
|
default-dark: '#4caf50'
|
|
-
|
|
id: task-doing-color
|
|
title: Doing Task Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#80dee5'
|
|
default-dark: '#379fa7'
|
|
-
|
|
id: task-in-progress-color
|
|
title: In Progress Task Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#f9d923'
|
|
default-dark: '#ffc107'
|
|
-
|
|
id: task-abandoned-color
|
|
title: Abandoned Task Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#eb5353'
|
|
default-dark: '#f44336'
|
|
-
|
|
id: task-planned-color
|
|
title: Planned Task Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#9c27b0'
|
|
default-dark: '#ce93d8'
|
|
-
|
|
id: task-question-color
|
|
title: Question Task Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#2196f3'
|
|
default-dark: '#42a5f5'
|
|
-
|
|
id: task-important-color
|
|
title: Important Task Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#f44336'
|
|
default-dark: '#ef5350'
|
|
-
|
|
id: task-star-color
|
|
title: Star Task Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#ffc107'
|
|
default-dark: '#ffd54f'
|
|
-
|
|
id: task-quote-color
|
|
title: Quote Task Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#607d8b'
|
|
default-dark: '#90a4ae'
|
|
-
|
|
id: task-location-color
|
|
title: Location Task Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#795548'
|
|
default-dark: '#8d6e63'
|
|
-
|
|
id: task-bookmark-color
|
|
title: Bookmark Task Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#ff9800'
|
|
default-dark: '#ffb74d'
|
|
-
|
|
id: task-information-color
|
|
title: Information Task Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#00bcd4'
|
|
default-dark: '#26c6da'
|
|
-
|
|
id: task-idea-color
|
|
title: Idea Task Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#9c27b0'
|
|
default-dark: '#ce93d8'
|
|
-
|
|
id: task-pros-color
|
|
title: Pros Task Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#4caf50'
|
|
default-dark: '#66bb6a'
|
|
-
|
|
id: task-cons-color
|
|
title: Cons Task Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#f44336'
|
|
default-dark: '#ef5350'
|
|
-
|
|
id: task-fire-color
|
|
title: Fire Task Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#ff5722'
|
|
default-dark: '#ff7043'
|
|
-
|
|
id: task-key-color
|
|
title: Key Task Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#ffd700'
|
|
default-dark: '#ffd700'
|
|
-
|
|
id: task-win-color
|
|
title: Win Task Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#66bb6a'
|
|
default-dark: '#81c784'
|
|
-
|
|
id: task-up-color
|
|
title: Up Task Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#4caf50'
|
|
default-dark: '#66bb6a'
|
|
-
|
|
id: task-down-color
|
|
title: Down Task Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#f44336'
|
|
default-dark: '#ef5350'
|
|
-
|
|
id: task-note-color
|
|
title: Note Task Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#9e9e9e'
|
|
default-dark: '#bdbdbd'
|
|
-
|
|
id: task-amount-color
|
|
title: Amount/Savings Task Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#8bc34a'
|
|
default-dark: '#aed581'
|
|
-
|
|
id: task-speech-color
|
|
title: Speech Bubble Task Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#03a9f4'
|
|
default-dark: '#29b6f6'
|
|
-
|
|
id: progress-bar-colors
|
|
title: Progress Bar Colors
|
|
type: heading
|
|
level: 1
|
|
-
|
|
id: progress-0-color
|
|
title: 0% Progress Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#ae431e'
|
|
default-dark: '#ae431e'
|
|
-
|
|
id: progress-25-color
|
|
title: 25% Progress Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#e5890a'
|
|
default-dark: '#e5890a'
|
|
-
|
|
id: progress-50-color
|
|
title: 50% Progress Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#b4c6a6'
|
|
default-dark: '#b4c6a6'
|
|
-
|
|
id: progress-75-color
|
|
title: 75% Progress Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#6bcb77'
|
|
default-dark: '#6bcb77'
|
|
-
|
|
id: progress-100-color
|
|
title: 100% Progress Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#4d96ff'
|
|
default-dark: '#4d96ff'
|
|
-
|
|
id: progress-background-color
|
|
title: Progress Bar Background Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#f1f1f1'
|
|
default-dark: '#f1f1f1'
|
|
*/
|
|
|
|
/* src/styles/progressbar.css */
|
|
.cm-task-progress-bar {
|
|
display: inline-block;
|
|
position: relative;
|
|
margin-left: 5px;
|
|
margin-bottom: 1px;
|
|
}
|
|
.no-progress-bar .cm-task-progress-bar {
|
|
display: none !important;
|
|
}
|
|
.HyperMD-header .cm-task-progress-bar {
|
|
display: inline-block;
|
|
position: relative;
|
|
margin-left: 5px;
|
|
margin-bottom: 5px;
|
|
}
|
|
.progress-bar-inline {
|
|
height: 8px;
|
|
position: relative;
|
|
}
|
|
.progress-bar-inline-empty {
|
|
background-color: var(--progress-background-color);
|
|
}
|
|
.progress-bar-inline-0 {
|
|
background-color: var(--progress-0-color);
|
|
}
|
|
.progress-bar-inline-1 {
|
|
background-color: var(--progress-25-color);
|
|
}
|
|
.progress-bar-inline-2 {
|
|
background-color: var(--progress-50-color);
|
|
}
|
|
.progress-bar-inline-3 {
|
|
background-color: var(--progress-75-color);
|
|
}
|
|
.progress-bar-inline-complete {
|
|
background-color: var(--progress-100-color);
|
|
}
|
|
.progress-completed {
|
|
background-color: var(--task-completed-color);
|
|
z-index: 3;
|
|
}
|
|
.progress-in-progress {
|
|
background-color: var(--task-in-progress-color);
|
|
z-index: 2;
|
|
position: absolute;
|
|
top: 0;
|
|
height: 100%;
|
|
}
|
|
.progress-abandoned {
|
|
background-color: var(--task-abandoned-color);
|
|
z-index: 1;
|
|
position: absolute;
|
|
top: 0;
|
|
height: 100%;
|
|
}
|
|
.progress-planned {
|
|
background-color: var(--task-planned-color);
|
|
z-index: 1;
|
|
position: absolute;
|
|
top: 0;
|
|
height: 100%;
|
|
}
|
|
.progress-bar-inline-background {
|
|
color: #000 !important;
|
|
background-color: var(--progress-background-color);
|
|
border-radius: 10px;
|
|
flex-direction: row;
|
|
justify-content: flex-start;
|
|
align-items: center;
|
|
width: 85px;
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
.progress-bar-inline-background.hidden {
|
|
display: none;
|
|
}
|
|
.cm-task-progress-bar .task-status-indicator {
|
|
display: inline-block;
|
|
margin-right: 2px;
|
|
}
|
|
.cm-task-progress-bar .completed-indicator {
|
|
color: var(--task-completed-color);
|
|
}
|
|
.cm-task-progress-bar .in-progress-indicator {
|
|
color: var(--task-in-progress-color);
|
|
}
|
|
.cm-task-progress-bar .abandoned-indicator {
|
|
color: var(--task-abandoned-color);
|
|
}
|
|
.cm-task-progress-bar .planned-indicator {
|
|
color: var(--task-planned-color);
|
|
}
|
|
.cm-task-progress-bar.with-number {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
}
|
|
.HyperMD-header .cm-task-progress-bar.with-number .progress-bar-inline-background,
|
|
.HyperMD-header .cm-task-progress-bar.with-number .progress-status {
|
|
margin-bottom: 5px;
|
|
}
|
|
.cm-task-progress-bar.with-number .progress-bar-inline-background {
|
|
margin-bottom: -2px;
|
|
width: 42px;
|
|
}
|
|
.cm-task-progress-bar.with-number .progress-status {
|
|
font-size: 13px;
|
|
margin-left: 3px;
|
|
}
|
|
.theme-dark .progress-completed {
|
|
background-color: var(--task-completed-color);
|
|
}
|
|
.theme-dark .progress-in-progress {
|
|
background-color: var(--task-in-progress-color);
|
|
}
|
|
.theme-dark .progress-abandoned {
|
|
background-color: var(--task-abandoned-color);
|
|
}
|
|
.theme-dark .progress-planned {
|
|
background-color: var(--task-planned-color);
|
|
}
|
|
.task-progress-bar-popover {
|
|
width: 400px;
|
|
}
|
|
|
|
/* src/styles/modal.css */
|
|
.confirm-modal-buttons {
|
|
display: flex;
|
|
gap: var(--size-4-3);
|
|
justify-content: flex-end;
|
|
margin-top: var(--size-4-3);
|
|
}
|
|
.list-config-modal {
|
|
min-width: 400px;
|
|
max-width: 600px;
|
|
}
|
|
.list-config-description {
|
|
margin-bottom: var(--size-4-3);
|
|
color: var(--text-muted);
|
|
font-size: var(--font-smaller);
|
|
}
|
|
.list-config-container {
|
|
margin: var(--size-4-3) 0;
|
|
max-height: 300px;
|
|
overflow-y: auto;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
padding: var(--size-2-3);
|
|
}
|
|
.list-config-empty {
|
|
text-align: center;
|
|
padding: var(--size-4-6);
|
|
}
|
|
.list-config-empty-text {
|
|
color: var(--text-muted);
|
|
font-style: italic;
|
|
margin: 0;
|
|
}
|
|
.list-config-item {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-2-2);
|
|
margin-bottom: var(--size-2-2);
|
|
}
|
|
.list-config-item:last-child {
|
|
margin-bottom: 0;
|
|
}
|
|
.list-config-input {
|
|
flex: 1;
|
|
padding: var(--size-2-1) var(--size-2-3);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
background: var(--background-primary);
|
|
color: var(--text-normal);
|
|
font-size: var(--font-ui-small);
|
|
}
|
|
.list-config-input:focus {
|
|
outline: none;
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
.list-config-delete-btn {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 24px;
|
|
height: 24px;
|
|
border: none;
|
|
background: var(--background-modifier-error);
|
|
color: var(--text-on-accent);
|
|
border-radius: var(--radius-s);
|
|
cursor: pointer;
|
|
transition: background-color 0.2s ease;
|
|
}
|
|
.list-config-delete-btn:hover {
|
|
background: var(--background-modifier-error-hover);
|
|
}
|
|
.list-config-delete-icon {
|
|
font-size: 14px;
|
|
font-weight: bold;
|
|
line-height: 1;
|
|
}
|
|
|
|
/* src/styles/date-picker.css */
|
|
.date-picker-root-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
width: 100%;
|
|
min-width: 500px;
|
|
max-width: 600px;
|
|
}
|
|
.date-picker-root-container .date-picker-main-panel {
|
|
display: flex;
|
|
gap: var(--size-2-3);
|
|
padding: var(--size-2-3);
|
|
}
|
|
.date-picker-root-container .date-picker-left-panel {
|
|
flex: 1;
|
|
min-width: 200px;
|
|
border-right: 1px solid var(--background-modifier-border);
|
|
}
|
|
.date-picker-root-container .date-picker-right-panel {
|
|
flex: 1;
|
|
min-width: 250px;
|
|
}
|
|
.date-picker-root-container .date-picker-section-title {
|
|
font-size: var(--font-ui-medium);
|
|
font-weight: var(--font-bold);
|
|
margin-bottom: var(--size-4-2);
|
|
color: var(--text-normal);
|
|
}
|
|
.date-picker-root-container .quick-options-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-2-1);
|
|
max-height: 195px;
|
|
overflow: auto;
|
|
overflow-x: hidden;
|
|
}
|
|
.date-picker-root-container .quick-option-item {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: var(--size-2-2) var(--size-4-2);
|
|
cursor: pointer;
|
|
transition: background-color 0.2s ease;
|
|
}
|
|
.date-picker-root-container .quick-option-item:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.date-picker-root-container .quick-option-item.selected {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.date-picker-root-container .quick-option-item.clear-option {
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
margin-top: var(--size-2-2);
|
|
padding-top: var(--size-2-3);
|
|
color: var(--text-error);
|
|
}
|
|
.date-picker-root-container .quick-option-item.clear-option:hover {
|
|
color: var(--text-on-accent);
|
|
background-color: var(--background-modifier-error-hover);
|
|
}
|
|
.date-picker-root-container .quick-option-label {
|
|
font-size: var(--font-ui-small);
|
|
font-weight: var(--font-medium);
|
|
}
|
|
.date-picker-root-container .quick-option-date {
|
|
font-size: var(--font-ui-smaller);
|
|
color: var(--text-muted);
|
|
font-family: var(--font-monospace);
|
|
}
|
|
.date-picker-root-container .quick-option-item.selected .quick-option-date {
|
|
color: var(--text-on-accent);
|
|
}
|
|
.date-picker-root-container .calendar-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
.date-picker-root-container .calendar-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
margin-bottom: var(--size-4-2);
|
|
padding: 0 var(--size-2-2);
|
|
}
|
|
.date-picker-root-container .calendar-nav-btn {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 32px;
|
|
height: 32px;
|
|
border-radius: var(--radius-s);
|
|
cursor: pointer;
|
|
transition: background-color 0.2s ease;
|
|
}
|
|
.date-picker-root-container .calendar-nav-btn:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.date-picker-root-container .calendar-month-year {
|
|
font-size: var(--font-ui-medium);
|
|
font-weight: var(--font-bold);
|
|
color: var(--text-normal);
|
|
}
|
|
.date-picker-root-container .calendar-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(7, 1fr);
|
|
gap: 1px;
|
|
background-color: var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
overflow: hidden;
|
|
}
|
|
.date-picker-root-container .calendar-day-header {
|
|
background-color: var(--background-secondary);
|
|
padding: var(--size-2-2);
|
|
text-align: center;
|
|
font-size: var(--font-ui-smaller);
|
|
font-weight: var(--font-bold);
|
|
color: var(--text-muted);
|
|
}
|
|
.date-picker-root-container .calendar-day {
|
|
background-color: var(--background-primary);
|
|
padding: var(--size-2-2);
|
|
text-align: center;
|
|
font-size: var(--font-ui-small);
|
|
cursor: pointer;
|
|
transition: background-color 0.2s ease;
|
|
min-height: 32px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.date-picker-root-container .calendar-day:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.date-picker-root-container .calendar-day.other-month {
|
|
color: var(--text-faint);
|
|
background-color: var(--background-secondary);
|
|
}
|
|
.date-picker-root-container .calendar-day.today {
|
|
background-color: var(--interactive-accent-hover);
|
|
color: var(--text-on-accent);
|
|
font-weight: var(--font-bold);
|
|
}
|
|
.date-picker-root-container .calendar-day.selected {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
font-weight: var(--font-bold);
|
|
}
|
|
.date-picker-root-container .calendar-day.today.selected {
|
|
background-color: var(--interactive-accent);
|
|
box-shadow: inset 0 0 0 2px var(--text-on-accent);
|
|
}
|
|
.date-picker-popover.tg-menu {
|
|
z-index: 20;
|
|
position: fixed;
|
|
background-color: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
box-shadow: var(--shadow-l);
|
|
max-height: 80vh;
|
|
overflow: auto;
|
|
}
|
|
.date-picker-popover.tg-menu .date-picker-popover-content {
|
|
padding: 0;
|
|
}
|
|
@media (max-width: 768px) {
|
|
.date-picker-root-container .date-picker-main-panel {
|
|
flex-direction: column;
|
|
gap: var(--size-4-2);
|
|
}
|
|
.date-picker-root-container .date-picker-left-panel {
|
|
border-right: none;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
padding-right: 0;
|
|
padding-bottom: var(--size-4-2);
|
|
}
|
|
.date-picker-root-container {
|
|
min-width: 300px;
|
|
max-width: 400px;
|
|
}
|
|
.date-picker-root-container .calendar-day {
|
|
min-height: 40px;
|
|
font-size: var(--font-ui-medium);
|
|
}
|
|
}
|
|
.date-picker-root-container .date-picker-widget-error {
|
|
color: var(--text-error);
|
|
background-color: var(--background-modifier-error);
|
|
padding: var(--size-2-1) var(--size-2-2);
|
|
border-radius: var(--radius-s);
|
|
font-size: var(--font-ui-smaller);
|
|
}
|
|
|
|
/* src/styles/task-details.css */
|
|
.task-details .panel-toggle-container {
|
|
left: 10px;
|
|
}
|
|
.task-details {
|
|
width: 300px;
|
|
flex-shrink: 0;
|
|
border-left: 1px solid var(--background-modifier-border);
|
|
height: 100%;
|
|
overflow-y: auto;
|
|
display: flex;
|
|
flex-direction: column;
|
|
transition: all 0.3s ease-in-out;
|
|
position: relative;
|
|
min-width: 250px;
|
|
max-width: 400px;
|
|
background-color: var(--background-secondary);
|
|
order: 1;
|
|
}
|
|
.task-genius-container.details-hidden .task-details {
|
|
width: 0;
|
|
opacity: 0;
|
|
margin-right: -300px;
|
|
overflow: hidden;
|
|
}
|
|
.task-genius-container.details-visible .task-details {
|
|
width: 350px;
|
|
opacity: 1;
|
|
margin-right: 0;
|
|
}
|
|
.is-phone .task-details,
|
|
.is-mobile .task-details {
|
|
position: absolute;
|
|
right: 0;
|
|
top: 0;
|
|
height: 100%;
|
|
width: 100%;
|
|
max-width: 100%;
|
|
z-index: 10;
|
|
transform: translateX(100%);
|
|
}
|
|
.is-phone .task-genius-container.details-hidden .task-details,
|
|
.is-mobile .task-genius-container.details-hidden .task-details,
|
|
.is-mobile .tg-fluent-container.details-hidden .task-details {
|
|
width: 100%;
|
|
margin-right: 0;
|
|
transform: translateX(100%);
|
|
}
|
|
.is-phone .task-genius-container.details-visible .task-details,
|
|
.is-mobile .task-genius-container.details-visible .task-details,
|
|
.is-mobile .tg-fluent-container.details-visible .task-details {
|
|
width: calc(100% - var(--size-4-12));
|
|
transform: translateX(0);
|
|
}
|
|
.is-phone .task-genius-container.details-visible::before,
|
|
.is-mobile .task-genius-container.details-visible::before,
|
|
.is-mobile .tg-fluent-container.details-visible::before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
background-color: var(--background-modifier-cover);
|
|
opacity: 0.5;
|
|
z-index: 5;
|
|
transition: opacity 0.3s ease-in-out;
|
|
}
|
|
.is-phone .details-close-btn,
|
|
.is-mobile .details-close-btn {
|
|
width: 24px;
|
|
height: 24px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.is-phone .details-header,
|
|
.is-mobile .details-header {
|
|
padding: var(--size-4-4);
|
|
}
|
|
.details-empty {
|
|
display: flex;
|
|
height: 100%;
|
|
align-items: center;
|
|
justify-content: center;
|
|
text-align: center;
|
|
color: var(--text-muted);
|
|
padding: 20px;
|
|
}
|
|
.details-header {
|
|
padding: var(--size-4-4);
|
|
padding-bottom: var(--size-4-3);
|
|
padding-top: var(--size-4-3);
|
|
font-weight: 600;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
font-size: 1.1em;
|
|
}
|
|
.details-content {
|
|
padding: var(--size-4-4);
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-2);
|
|
overflow-y: auto;
|
|
padding-bottom: max(var(--safe-area-inset-bottom), var(--size-4-8));
|
|
}
|
|
.details-name {
|
|
margin: 0 0 8px 0;
|
|
padding: 0;
|
|
font-size: 1.3em;
|
|
line-height: 1.3;
|
|
}
|
|
.details-status-container {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
}
|
|
.details-status-label {
|
|
text-transform: uppercase;
|
|
font-size: var(--font-ui-small);
|
|
}
|
|
.details-status {
|
|
display: inline-block;
|
|
padding: 4px 8px;
|
|
border-radius: 4px;
|
|
background-color: var(--color-accent);
|
|
color: var(--text-on-accent);
|
|
font-size: var(--font-ui-small);
|
|
}
|
|
.details-status-selector {
|
|
display: flex;
|
|
justify-content: space-evenly;
|
|
align-items: center;
|
|
}
|
|
.menu-item-title:has(.status-option) {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 4px;
|
|
}
|
|
.menu-item:has(.status-option-checkbox) .menu-item-icon {
|
|
display: none;
|
|
}
|
|
.menu-item:has(.status-option-icon) .menu-item-icon {
|
|
display: none;
|
|
}
|
|
.status-option-icon {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
margin-right: var(--size-2-2);
|
|
}
|
|
.status-option-checkbox {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.status-option {
|
|
display: flex;
|
|
justify-content: center;
|
|
text-transform: uppercase;
|
|
}
|
|
.status-option.current {
|
|
outline-offset: 2px;
|
|
outline: 1px solid hsl(var(--accent-h), var(--accent-s), var(--accent-l), 0.3);
|
|
outline-style: dashed;
|
|
}
|
|
.status-option:not(.current) {
|
|
opacity: 0.8;
|
|
}
|
|
.status-option:not(.current):hover {
|
|
opacity: 1;
|
|
}
|
|
.status-option input.task-list-item-checkbox {
|
|
margin-inline-end: 0;
|
|
}
|
|
.details-metadata {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-2);
|
|
margin-top: var(--size-4-2);
|
|
margin-bottom: var(--size-4-2);
|
|
}
|
|
.metadata-field {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 2px;
|
|
}
|
|
.metadata-label {
|
|
font-size: 0.8em;
|
|
color: var(--text-muted);
|
|
}
|
|
.metadata-value {
|
|
word-break: break-word;
|
|
font-size: 0.95em;
|
|
}
|
|
.details-actions {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: flex-start;
|
|
gap: 8px;
|
|
margin-bottom: var(--size-4-4);
|
|
}
|
|
.details-edit-btn,
|
|
.details-toggle-btn {
|
|
background-color: var(--interactive-normal);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 4px;
|
|
padding: 6px 12px;
|
|
color: var(--text-normal);
|
|
cursor: pointer;
|
|
font-size: var(--font-ui-small);
|
|
}
|
|
.details-edit-btn:hover,
|
|
.details-toggle-btn:hover {
|
|
background-color: var(--interactive-hover);
|
|
}
|
|
.details-toggle-btn {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.details-edit-form {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 12px;
|
|
}
|
|
.details-form-field {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 4px;
|
|
}
|
|
.details-form-label {
|
|
font-size: 0.8em;
|
|
color: var(--text-muted);
|
|
font-weight: 500;
|
|
}
|
|
.details-form-input {
|
|
width: 100%;
|
|
}
|
|
.details-edit-content {
|
|
font-weight: 500;
|
|
}
|
|
.details-form-input input,
|
|
.details-form-input select {
|
|
width: 100%;
|
|
padding: 6px 8px;
|
|
border-radius: 4px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
background-color: var(--background-primary);
|
|
}
|
|
.date-input {
|
|
width: 100%;
|
|
padding: 6px 8px;
|
|
border-radius: 4px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
background-color: var(--background-primary);
|
|
color: var(--text-normal);
|
|
}
|
|
.field-description {
|
|
font-size: 0.7em;
|
|
color: var(--text-muted);
|
|
margin-top: 2px;
|
|
}
|
|
.details-form-buttons {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
margin-top: 16px;
|
|
gap: 8px;
|
|
}
|
|
.details-form-buttons button {
|
|
flex: 1;
|
|
justify-content: center;
|
|
}
|
|
.details-form-error {
|
|
color: var(--text-error);
|
|
font-size: 0.8em;
|
|
margin-top: 8px;
|
|
padding: 8px;
|
|
background-color: var(--background-modifier-error);
|
|
border-radius: 4px;
|
|
}
|
|
.details-edit-file-btn {
|
|
background-color: var(--interactive-normal);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 4px;
|
|
padding: 6px 12px;
|
|
color: var(--text-normal);
|
|
cursor: pointer;
|
|
font-size: var(--font-ui-small);
|
|
}
|
|
.details-edit-file-btn:hover {
|
|
background-color: var(--interactive-hover);
|
|
}
|
|
.is-mobile .tg-fluent-container .task-details {
|
|
position: fixed;
|
|
right: 0;
|
|
top: 0;
|
|
bottom: 0;
|
|
height: 100vh;
|
|
width: 85vw;
|
|
max-width: 400px;
|
|
z-index: 1001;
|
|
background-color: var(--background-secondary);
|
|
box-shadow: -4px 0 20px rgba(0, 0, 0, 0.2);
|
|
}
|
|
.is-mobile .task-details .details-close-btn:hover {
|
|
background-color: var(--background-modifier-active-hover);
|
|
}
|
|
.is-mobile .details-content {
|
|
padding-bottom: var(--size-4-12);
|
|
}
|
|
@media screen and (max-width: 768px) {
|
|
.task-omnifocus-container {
|
|
flex-direction: column;
|
|
}
|
|
.task-sidebar {
|
|
width: 100%;
|
|
max-width: 100%;
|
|
height: auto;
|
|
border-right: none;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
}
|
|
.task-content {
|
|
width: 100%;
|
|
flex: 1;
|
|
}
|
|
.task-details {
|
|
width: 100%;
|
|
max-width: 100%;
|
|
border-left: none;
|
|
}
|
|
}
|
|
.project-source-indicator {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 4px;
|
|
margin-top: 4px;
|
|
padding: 4px 8px;
|
|
border-radius: 4px;
|
|
font-size: 0.85em;
|
|
line-height: 1.2;
|
|
}
|
|
.project-source-indicator .indicator-icon {
|
|
font-size: 0.9em;
|
|
}
|
|
.project-source-indicator .indicator-text {
|
|
color: var(--text-muted);
|
|
}
|
|
.project-source-indicator.readonly-indicator {
|
|
border: 1px solid var(--background-modifier-error);
|
|
}
|
|
.project-source-indicator.readonly-indicator .indicator-text {
|
|
color: var(--text-error);
|
|
font-weight: 500;
|
|
}
|
|
.project-source-indicator.override-indicator {
|
|
border: 1px solid var(--background-modifier-accent);
|
|
}
|
|
.project-source-indicator.override-indicator .indicator-text {
|
|
color: var(--text-accent);
|
|
}
|
|
.field-description.readonly-description {
|
|
color: var(--text-error);
|
|
font-size: 0.8em;
|
|
margin-top: 4px;
|
|
font-style: italic;
|
|
}
|
|
.field-description.override-description {
|
|
color: var(--text-accent);
|
|
font-size: 0.8em;
|
|
margin-top: 4px;
|
|
font-style: italic;
|
|
}
|
|
.project-source-indicator.inline-indicator {
|
|
position: absolute;
|
|
top: 100%;
|
|
left: 0;
|
|
right: 0;
|
|
z-index: 10;
|
|
margin-top: 2px;
|
|
padding: 2px 6px;
|
|
font-size: 0.75em;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
.project-source-indicator.table-indicator {
|
|
position: absolute;
|
|
top: 2px;
|
|
right: 2px;
|
|
padding: 1px 3px;
|
|
font-size: 0.7em;
|
|
border-radius: 2px;
|
|
z-index: 5;
|
|
}
|
|
.project-source-indicator.table-indicator .indicator-icon {
|
|
font-size: 0.8em;
|
|
}
|
|
.task-table-cell.readonly-cell {
|
|
background-color: var(--background-modifier-error-hover);
|
|
opacity: 0.8;
|
|
}
|
|
.project-container.project-readonly {
|
|
position: relative;
|
|
}
|
|
.project-container.project-readonly .project-source-indicator {
|
|
margin-top: 8px;
|
|
}
|
|
|
|
/* src/styles/onCompletion.css */
|
|
.oncompletion-configurator {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 12px;
|
|
padding: 12px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 6px;
|
|
background-color: var(--background-secondary);
|
|
}
|
|
.oncompletion-action-type {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 6px;
|
|
}
|
|
.oncompletion-label {
|
|
font-weight: 600;
|
|
color: var(--text-normal);
|
|
font-size: 0.9em;
|
|
}
|
|
.oncompletion-config {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 10px;
|
|
margin-top: 8px;
|
|
padding-top: 8px;
|
|
border-top: 1px solid var(--background-modifier-border-hover);
|
|
}
|
|
.oncompletion-field {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 4px;
|
|
}
|
|
.oncompletion-description {
|
|
font-size: 0.8em;
|
|
color: var(--text-muted);
|
|
font-style: italic;
|
|
margin-top: 2px;
|
|
}
|
|
.oncompletion-action-type .dropdown {
|
|
width: 100%;
|
|
}
|
|
.oncompletion-field .text-input {
|
|
width: 100%;
|
|
padding: 6px 8px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 4px;
|
|
background-color: var(--background-primary);
|
|
color: var(--text-normal);
|
|
}
|
|
.oncompletion-field .text-input:focus {
|
|
border-color: var(--interactive-accent);
|
|
outline: none;
|
|
box-shadow: 0 0 0 2px var(--interactive-accent-hover);
|
|
}
|
|
.oncompletion-field .checkbox-container {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
}
|
|
.task-id-suggestion {
|
|
font-weight: 600;
|
|
color: var(--text-accent);
|
|
}
|
|
.task-content-preview {
|
|
font-size: 0.85em;
|
|
color: var(--text-muted);
|
|
margin-top: 2px;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
max-width: 300px;
|
|
}
|
|
.file-name {
|
|
font-weight: 500;
|
|
color: var(--text-normal);
|
|
}
|
|
.file-path {
|
|
font-size: 0.8em;
|
|
color: var(--text-muted);
|
|
margin-top: 2px;
|
|
}
|
|
.action-type-suggestion {
|
|
font-weight: 600;
|
|
color: var(--text-accent);
|
|
}
|
|
.action-description {
|
|
font-size: 0.8em;
|
|
color: var(--text-muted);
|
|
margin-top: 2px;
|
|
}
|
|
.oncompletion-configurator.invalid {
|
|
border-color: var(--text-error);
|
|
background-color: var(--background-modifier-error);
|
|
}
|
|
.oncompletion-configurator.valid {
|
|
border-color: var(--text-success);
|
|
}
|
|
.oncompletion-validation-message {
|
|
font-size: 0.8em;
|
|
margin-top: 4px;
|
|
padding: 4px 6px;
|
|
border-radius: 3px;
|
|
}
|
|
.oncompletion-validation-message.error {
|
|
color: var(--text-error);
|
|
background-color: var(--background-modifier-error);
|
|
}
|
|
.oncompletion-validation-message.success {
|
|
color: var(--text-success);
|
|
}
|
|
.task-details .oncompletion-configurator {
|
|
margin-top: 8px;
|
|
border: none;
|
|
background-color: transparent;
|
|
padding: 0;
|
|
}
|
|
.task-details .oncompletion-field {
|
|
margin-bottom: 8px;
|
|
}
|
|
@media (max-width: 768px) {
|
|
.oncompletion-configurator {
|
|
padding: 8px;
|
|
gap: 8px;
|
|
}
|
|
.oncompletion-config {
|
|
gap: 8px;
|
|
}
|
|
.task-content-preview {
|
|
max-width: 200px;
|
|
}
|
|
}
|
|
.theme-dark .oncompletion-configurator {
|
|
background-color: var(--background-primary-alt);
|
|
}
|
|
.theme-dark .oncompletion-field .text-input {
|
|
background-color: var(--background-secondary);
|
|
border-color: var(--background-modifier-border-hover);
|
|
}
|
|
@media (prefers-contrast: high) {
|
|
.oncompletion-configurator {
|
|
border-width: 2px;
|
|
}
|
|
.oncompletion-field .text-input {
|
|
border-width: 2px;
|
|
}
|
|
.oncompletion-field .text-input:focus {
|
|
box-shadow: 0 0 0 3px var(--interactive-accent-hover);
|
|
}
|
|
}
|
|
.oncompletion-config {
|
|
transition: all 0.2s ease-in-out;
|
|
}
|
|
.oncompletion-field {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
transition: opacity 0.2s ease-in-out, transform 0.2s ease-in-out;
|
|
}
|
|
.oncompletion-field.entering {
|
|
opacity: 0;
|
|
transform: translateY(-10px);
|
|
}
|
|
.oncompletion-field.exiting {
|
|
opacity: 0;
|
|
transform: translateY(10px);
|
|
}
|
|
.oncompletion-modal {
|
|
--dialog-width: 600px;
|
|
--dialog-max-width: 90vw;
|
|
--dialog-max-height: 80vh;
|
|
}
|
|
.oncompletion-modal .modal-content {
|
|
padding: 0;
|
|
max-height: var(--dialog-max-height);
|
|
overflow-y: auto;
|
|
}
|
|
.oncompletion-modal-content {
|
|
padding: 20px;
|
|
max-height: 60vh;
|
|
overflow-y: auto;
|
|
}
|
|
.oncompletion-modal-buttons {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
gap: 8px;
|
|
padding: 16px 20px;
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
background-color: var(--background-secondary);
|
|
}
|
|
.oncompletion-modal-buttons button {
|
|
min-width: 80px;
|
|
}
|
|
.inline-oncompletion-button-container {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
}
|
|
.inline-oncompletion-config-button {
|
|
padding: 4px 8px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 4px;
|
|
background-color: var(--background-primary);
|
|
color: var(--text-normal);
|
|
font-family: inherit;
|
|
font-size: var(--font-ui-small);
|
|
cursor: pointer;
|
|
transition: all 0.15s ease;
|
|
min-width: 100px;
|
|
text-align: left;
|
|
}
|
|
.inline-oncompletion-config-button:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
.inline-oncompletion-config-button:focus {
|
|
outline: none;
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 0 0 2px var(--interactive-accent-hover);
|
|
}
|
|
.inline-oncompletion-config-button:active {
|
|
background-color: var(--background-modifier-active);
|
|
transform: scale(0.98);
|
|
}
|
|
@media (max-width: 768px) {
|
|
.oncompletion-modal {
|
|
--dialog-width: 95vw;
|
|
--dialog-max-height: 85vh;
|
|
}
|
|
.oncompletion-modal-content {
|
|
padding: 16px;
|
|
max-height: 65vh;
|
|
}
|
|
.oncompletion-modal-buttons {
|
|
padding: 12px 16px;
|
|
flex-direction: column-reverse;
|
|
}
|
|
.oncompletion-modal-buttons button {
|
|
width: 100%;
|
|
min-width: unset;
|
|
}
|
|
}
|
|
|
|
/* src/styles/universal-suggest.css */
|
|
.universal-suggest-item {
|
|
display: flex;
|
|
align-items: center;
|
|
cursor: pointer;
|
|
border-radius: 4px;
|
|
transition: background-color 0.1s ease;
|
|
}
|
|
.universal-suggest-item:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.universal-suggest-item.is-selected {
|
|
background-color: var(--background-modifier-active-hover);
|
|
}
|
|
.universal-suggest-container {
|
|
display: flex;
|
|
flex-direction: row;
|
|
align-items: center;
|
|
justify-content: flex-start;
|
|
overflow: hidden;
|
|
}
|
|
.universal-suggest-icon {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 20px;
|
|
height: 20px;
|
|
margin-right: 12px;
|
|
color: var(--text-muted);
|
|
flex-shrink: 0;
|
|
}
|
|
.universal-suggest-content {
|
|
flex: 1;
|
|
min-width: 0;
|
|
}
|
|
.universal-suggest-label {
|
|
font-weight: 500;
|
|
color: var(--text-normal);
|
|
margin-bottom: 2px;
|
|
}
|
|
.universal-suggest-description {
|
|
font-size: 0.85em;
|
|
color: var(--text-muted);
|
|
line-height: 1.3;
|
|
}
|
|
.cm-editor .cm-line .universal-suggest-trigger {
|
|
background-color: var(--background-modifier-accent);
|
|
color: var(--text-accent);
|
|
border-radius: 2px;
|
|
padding: 1px 2px;
|
|
}
|
|
.suggestion-container .universal-suggest-item {
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
}
|
|
.suggestion-container .universal-suggest-item:last-child {
|
|
border-bottom: none;
|
|
}
|
|
.theme-dark .universal-suggest-item:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.theme-dark .universal-suggest-item.is-selected {
|
|
background-color: var(--background-modifier-active-hover);
|
|
}
|
|
@media (prefers-contrast: high) {
|
|
.universal-suggest-item {
|
|
border: 1px solid var(--background-modifier-border);
|
|
margin-bottom: 2px;
|
|
}
|
|
.universal-suggest-item:hover,
|
|
.universal-suggest-item.is-selected {
|
|
border-color: var(--text-accent);
|
|
}
|
|
}
|
|
|
|
/* src/styles/kanban/kanban.css */
|
|
.tg-kanban-view {
|
|
display: flex;
|
|
flex-direction: column;
|
|
height: 100%;
|
|
width: 100%;
|
|
overflow: hidden;
|
|
}
|
|
.tg-kanban-filters {
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
flex-shrink: 0;
|
|
display: flex;
|
|
flex-direction: row-reverse;
|
|
gap: 8px;
|
|
padding: 8px;
|
|
padding-bottom: 0;
|
|
padding-top: 0;
|
|
}
|
|
.tg-kanban-controls-container {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
flex-wrap: wrap;
|
|
}
|
|
.tg-kanban-sort-container {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 4px;
|
|
}
|
|
.tg-kanban-sort-button {
|
|
padding: 4px 8px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
background-color: var(--background-primary);
|
|
color: var(--text-normal);
|
|
cursor: pointer;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 4px;
|
|
font-size: var(--font-ui-small);
|
|
}
|
|
.tg-kanban-sort-button:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
border-color: var(--background-modifier-border-hover);
|
|
}
|
|
.tg-kanban-toggle-container {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 4px;
|
|
}
|
|
.tg-kanban-toggle-label {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-normal);
|
|
cursor: pointer;
|
|
}
|
|
.tg-kanban-toggle-checkbox {
|
|
margin: 0;
|
|
}
|
|
.tg-kanban-filter-input {
|
|
flex-grow: 1;
|
|
padding: 6px 10px;
|
|
font-size: var(--font-ui-small);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
background-color: var(--background-primary);
|
|
margin-right: 10px;
|
|
}
|
|
.tg-kanban-filter-input:focus {
|
|
outline: none;
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 0 0 1px var(--interactive-accent);
|
|
}
|
|
.tg-kanban-column-container {
|
|
display: flex;
|
|
flex-grow: 1;
|
|
overflow-x: auto;
|
|
overflow-y: hidden;
|
|
padding: 10px;
|
|
gap: 10px;
|
|
height: 100%;
|
|
-webkit-overflow-scrolling: touch;
|
|
overscroll-behavior-x: auto;
|
|
scroll-snap-type: x proximity;
|
|
scroll-behavior: smooth;
|
|
}
|
|
@media (hover: hover) and (pointer: fine) {
|
|
.tg-kanban-column-container {
|
|
overscroll-behavior-x: none;
|
|
scroll-snap-type: none;
|
|
}
|
|
}
|
|
.tg-kanban-column {
|
|
flex: 0 0 280px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
background-color: var(--background-secondary);
|
|
border-radius: var(--radius-m);
|
|
height: 100%;
|
|
max-height: 100%;
|
|
overflow: hidden;
|
|
border: 1px solid var(--background-modifier-border);
|
|
scroll-snap-align: start;
|
|
}
|
|
@media (hover: hover) and (pointer: fine) {
|
|
.tg-kanban-column {
|
|
scroll-snap-align: none;
|
|
}
|
|
}
|
|
.tg-kanban-column-header {
|
|
padding: 8px 12px;
|
|
font-size: var(--font-ui-mediumn);
|
|
font-weight: 600;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
flex-shrink: 0;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
text-transform: uppercase;
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
.tg-kanban-column-content {
|
|
flex-grow: 1;
|
|
overflow-y: auto;
|
|
padding: 8px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 8px;
|
|
background-color: var(--background-secondary-alt);
|
|
-webkit-overflow-scrolling: touch;
|
|
overscroll-behavior: contain;
|
|
scroll-behavior: smooth;
|
|
}
|
|
@media (hover: hover) and (pointer: fine) {
|
|
.tg-kanban-column-content {
|
|
overscroll-behavior: none;
|
|
}
|
|
}
|
|
.tg-kanban-card {
|
|
background-color: var(--background-primary);
|
|
border-radius: var(--radius-s);
|
|
padding: 10px 12px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
font-size: var(--font-ui-small);
|
|
cursor: grab;
|
|
transition: box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out;
|
|
max-width: 100%;
|
|
box-sizing: border-box;
|
|
white-space: nowrap;
|
|
text-overflow: ellipsis;
|
|
touch-action: manipulation;
|
|
user-select: none;
|
|
-webkit-user-select: none;
|
|
-moz-user-select: none;
|
|
-ms-user-select: none;
|
|
}
|
|
.tg-kanban-card .tg-kanban-card-content {
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
max-width: 100%;
|
|
}
|
|
.tg-kanban-card:hover {
|
|
border-color: var(--background-modifier-border-hover);
|
|
box-shadow: var(--shadow-m);
|
|
}
|
|
.tg-kanban-card.task-completed {
|
|
background-color: var(--background-secondary);
|
|
opacity: 0.7;
|
|
}
|
|
.tg-kanban-card.task-completed .tg-kanban-card-content {
|
|
text-decoration: line-through;
|
|
color: var(--text-muted);
|
|
}
|
|
.tg-kanban-card-container {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
margin-bottom: 6px;
|
|
}
|
|
.tg-kanban-card-content p:last-child {
|
|
margin-bottom: 0;
|
|
margin-block-end: 0;
|
|
margin-block-start: 0;
|
|
}
|
|
.tg-kanban-card-metadata {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 4px 8px;
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-muted);
|
|
}
|
|
.tg-kanban-card-metadata .task-date,
|
|
.tg-kanban-card-metadata .task-tags-container,
|
|
.tg-kanban-card-metadata .task-priority {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 4px;
|
|
padding: 2px 5px;
|
|
background-color: var(--background-secondary);
|
|
border-radius: var(--radius-s);
|
|
margin-inline-start: 0;
|
|
margin-inline-end: 0;
|
|
margin-left: 0;
|
|
margin-right: 0;
|
|
}
|
|
.tg-kanban-card-metadata .task-tag {
|
|
background-color: var( --background-modifier-accent-hover );
|
|
color: var(--text-accent);
|
|
padding: 1px 4px;
|
|
border-radius: var(--radius-s);
|
|
font-size: calc(var(--font-ui-small) * 0.9);
|
|
}
|
|
.tg-kanban-card-metadata .task-due-date.task-overdue {
|
|
color: var(--text-error);
|
|
background-color: var(--background-error);
|
|
}
|
|
.tg-kanban-card-metadata .task-due-date.task-due-today {
|
|
color: var(--text-warning);
|
|
background-color: var(--background-warning);
|
|
}
|
|
.tg-kanban-card-metadata .task-priority.priority-1 {
|
|
color: var(--text-accent);
|
|
}
|
|
.tg-kanban-card-metadata .task-priority.priority-2 {
|
|
color: var(--text-warning);
|
|
}
|
|
.tg-kanban-card-metadata .task-priority.priority-3 {
|
|
color: var(--text-error);
|
|
font-weight: bold;
|
|
}
|
|
.tg-kanban-card-dragging {
|
|
box-shadow: var(--shadow-l);
|
|
}
|
|
.tg-kanban-card-ghost {
|
|
background-color: var(--background-secondary-alt);
|
|
border: 1px dashed var(--background-modifier-border);
|
|
box-shadow: none;
|
|
}
|
|
.tg-kanban-column-content.tg-kanban-drop-target-active {
|
|
outline: 2px dashed var(--background-modifier-accent-hover);
|
|
outline-offset: -2px;
|
|
}
|
|
.tg-kanban-column-content.tg-kanban-drop-target-hover {
|
|
background-color: var(--background-modifier-accent-hover);
|
|
}
|
|
.tg-kanban-card--drop-indicator-before {
|
|
margin-top: 10px;
|
|
border-top: 2px dashed var(--interactive-accent);
|
|
transition: margin-top 0.1s ease-out, border-top 0.1s ease-out;
|
|
}
|
|
.tg-kanban-card--drop-indicator-after {
|
|
margin-bottom: 10px;
|
|
border-bottom: 2px dashed var(--interactive-accent);
|
|
transition: margin-bottom 0.1s ease-out, border-bottom 0.1s ease-out;
|
|
}
|
|
.tg-kanban-column-content--drop-indicator-empty {
|
|
border: 2px dashed var(--interactive-accent);
|
|
min-height: 50px;
|
|
box-sizing: border-box;
|
|
margin-top: 5px;
|
|
margin-bottom: 5px;
|
|
}
|
|
.tg-kanban-card {
|
|
transition:
|
|
margin 0.1s ease-out,
|
|
padding 0.1s ease-out,
|
|
border 0.1s ease-out,
|
|
transform 0.2s ease-out,
|
|
box-shadow 0.2s ease-in-out,
|
|
background-color 0.2s ease-in-out;
|
|
}
|
|
.drop-target-active {
|
|
background-color: rgba(0, 128, 0, 0.2);
|
|
outline: 2px dashed green;
|
|
}
|
|
.tg-kanban-add-card-container {
|
|
padding: 8px;
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
flex-shrink: 0;
|
|
}
|
|
.task-genius-add-card-container {
|
|
padding: 8px;
|
|
margin-top: auto;
|
|
text-align: center;
|
|
}
|
|
.tg-kanban-add-card-button {
|
|
--icon-size: 16px;
|
|
width: 100%;
|
|
padding: 6px 12px;
|
|
border: none;
|
|
background-color: transparent;
|
|
color: var(--text-muted);
|
|
border-radius: var(--radius-s);
|
|
cursor: pointer;
|
|
font-size: var(--font-ui-small);
|
|
text-align: left;
|
|
transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
|
|
}
|
|
.tg-kanban-add-card-button:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.tg-kanban-column-dragging {
|
|
transform: rotate(5deg);
|
|
opacity: 0.8;
|
|
box-shadow: var(--shadow-xl);
|
|
z-index: 1000;
|
|
}
|
|
.tg-kanban-column-ghost {
|
|
background-color: var(--background-modifier-border);
|
|
border: 2px dashed var(--background-modifier-accent);
|
|
opacity: 0.5;
|
|
}
|
|
.tg-kanban-column-header {
|
|
cursor: grab;
|
|
}
|
|
.tg-kanban-column-header:active {
|
|
cursor: grabbing;
|
|
}
|
|
|
|
/* src/components/features/task/filter/in-view/filter.css */
|
|
.filter-component {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
align-items: center;
|
|
gap: var(--size-4-2);
|
|
padding: var(--size-4-2) var(--size-4-3);
|
|
background-color: var(--background-primary);
|
|
min-height: 48px;
|
|
flex: 1;
|
|
}
|
|
.filter-pills-container {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: var(--size-4-2);
|
|
flex: 1;
|
|
}
|
|
.filter-controls {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-4-2);
|
|
margin-left: auto;
|
|
}
|
|
.filter-pill {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-4-1);
|
|
padding: 5px 8px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-m);
|
|
font-size: var(--font-ui-small);
|
|
animation: filter-pill-appear 200ms ease-out;
|
|
transition: background-color var(--duration-fast), transform var(--duration-fast);
|
|
}
|
|
.filter-pill-remove .clickable-icon:hover {
|
|
background-color: unset;
|
|
}
|
|
.filter-pill:hover {
|
|
background-color: var(--background-tertiary);
|
|
}
|
|
.filter-pill-category {
|
|
font-weight: 500;
|
|
color: var(--text-muted);
|
|
}
|
|
.filter-pill-value {
|
|
color: var(--text-normal);
|
|
}
|
|
.filter-pill-remove {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 16px;
|
|
height: 16px;
|
|
border-radius: 50%;
|
|
background: transparent;
|
|
border: none;
|
|
padding: 0;
|
|
margin-left: var(--size-4-1);
|
|
cursor: pointer;
|
|
color: var(--text-faint);
|
|
font-size: 14px;
|
|
line-height: 1;
|
|
transition: background-color var(--duration-fast), color var(--duration-fast);
|
|
}
|
|
.filter-pill-remove:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.filter-pill-remove-icon {
|
|
font-size: 16px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.filter-add-button,
|
|
.filter-clear-all-button {
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 6px 10px;
|
|
font-size: var(--font-ui-small);
|
|
cursor: pointer;
|
|
}
|
|
.filter-add-button {
|
|
gap: var(--size-4-1);
|
|
color: var(--text-muted);
|
|
}
|
|
.filter-add-icon {
|
|
font-weight: var(--font-bold);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.filter-dropdown {
|
|
position: fixed;
|
|
width: 220px;
|
|
background-color: var(--background-primary);
|
|
border-radius: var(--radius-m);
|
|
box-shadow: var(--shadow-l);
|
|
border: 1px solid var(--background-modifier-border);
|
|
z-index: var(--layer-popover);
|
|
max-height: 400px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
opacity: 0;
|
|
transform: translateY(-8px);
|
|
transition: opacity var(--duration-normal), transform var(--duration-normal);
|
|
overflow: hidden;
|
|
}
|
|
.filter-dropdown-visible {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
.filter-dropdown-header {
|
|
padding: var(--size-4-2);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
}
|
|
.filter-dropdown-search {
|
|
width: 100%;
|
|
padding: var(--size-4-2);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-m);
|
|
background-color: var(--background-secondary);
|
|
font-size: var(--font-ui-small);
|
|
outline: none;
|
|
}
|
|
.filter-dropdown-search:focus {
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 0 0 2px var(--focus-ring-color);
|
|
}
|
|
.filter-dropdown-list {
|
|
overflow-y: auto;
|
|
max-height: 350px;
|
|
}
|
|
.filter-dropdown-item {
|
|
display: flex;
|
|
align-items: center;
|
|
padding: var(--size-4-2) var(--size-4-3);
|
|
cursor: pointer;
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-normal);
|
|
transition: background-color var(--duration-fast);
|
|
}
|
|
.filter-dropdown-item:hover {
|
|
background-color: var(--background-secondary);
|
|
}
|
|
.filter-dropdown-item-label {
|
|
flex: 1;
|
|
}
|
|
.filter-dropdown-item-arrow {
|
|
color: var(--text-faint);
|
|
font-size: 18px;
|
|
}
|
|
.filter-dropdown-item-arrow.back {
|
|
margin-right: var(--size-4-2);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.filter-dropdown-back {
|
|
color: var(--text-muted);
|
|
}
|
|
.filter-dropdown-separator {
|
|
height: 1px;
|
|
background-color: var(--divider-color);
|
|
margin: var(--size-4-1) 0;
|
|
}
|
|
.filter-dropdown-empty {
|
|
padding: var(--size-4-4);
|
|
text-align: center;
|
|
color: var(--text-faint);
|
|
font-size: var(--font-ui-small);
|
|
}
|
|
.filter-dropdown-value-item {
|
|
padding-left: var(--size-4-4);
|
|
}
|
|
.filter-dropdown-category {
|
|
padding: var(--size-4-2) 0;
|
|
color: var(--text-muted);
|
|
font-weight: 500;
|
|
}
|
|
.filter-dropdown-value-preview {
|
|
padding: var(--size-4-1) var(--size-4-4);
|
|
cursor: pointer;
|
|
transition: background-color var(--duration-fast);
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-normal);
|
|
}
|
|
.filter-dropdown-value-preview:hover {
|
|
background-color: var(--background-secondary);
|
|
}
|
|
@keyframes filter-pill-appear {
|
|
from {
|
|
opacity: 0;
|
|
transform: scale(0.9);
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
transform: scale(1);
|
|
}
|
|
}
|
|
.filter-pill-removing {
|
|
opacity: 0;
|
|
transform: scale(0.9);
|
|
transition: opacity 150ms ease-out, transform 150ms ease-out;
|
|
}
|
|
|
|
/* src/styles/calendar/view.css */
|
|
.full-calendar-container {
|
|
container-type: inline-size;
|
|
display: flex;
|
|
flex-direction: column;
|
|
height: 100%;
|
|
overflow: hidden;
|
|
flex-grow: 1;
|
|
}
|
|
.full-calendar-container .calendar-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: var(--size-2-3) var(--size-4-4);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
flex-shrink: 0;
|
|
margin-bottom: 0;
|
|
}
|
|
.full-calendar-container .calendar-header button {
|
|
margin: 0 var(--size-4-1);
|
|
}
|
|
.full-calendar-container .calendar-nav,
|
|
.full-calendar-container .calendar-view-switcher {
|
|
display: flex;
|
|
gap: var(--size-2-2);
|
|
}
|
|
.full-calendar-container .calendar-nav button {
|
|
border-radius: var(--radius-s);
|
|
text-transform: uppercase;
|
|
}
|
|
.full-calendar-container .calendar-view-switcher button {
|
|
border-radius: var(--radius-s);
|
|
text-transform: uppercase;
|
|
}
|
|
.full-calendar-container .calendar-view-switcher button:not(.is-active),
|
|
.full-calendar-container .calendar-nav button:not(.is-active) {
|
|
box-shadow: var(--shadow-xs);
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.full-calendar-container .calendar-current-date {
|
|
font-weight: var(--font-semibold);
|
|
font-size: var(--font-ui-large);
|
|
text-align: center;
|
|
flex-grow: 1;
|
|
max-width: max(120px, 40%);
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
.full-calendar-container .calendar-view-switcher button.is-active {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border-color: var(--interactive-accent-hover);
|
|
}
|
|
.full-calendar-container .calendar-view-container {
|
|
flex-grow: 1;
|
|
overflow-y: auto;
|
|
padding: var(--size-4-2);
|
|
position: relative;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
.full-calendar-container .calendar-weekday-header {
|
|
display: grid;
|
|
grid-template-columns: repeat(7, 1fr);
|
|
text-align: center;
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-muted);
|
|
padding: var(--size-4-1) 0;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
margin-bottom: -1px;
|
|
background-color: var(--background-secondary);
|
|
}
|
|
.full-calendar-container .calendar-weekday {
|
|
padding: var(--size-4-1);
|
|
}
|
|
.full-calendar-container .calendar-view-container.view-month {
|
|
padding: 0;
|
|
}
|
|
.full-calendar-container .calendar-month-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(7, 1fr);
|
|
grid-auto-rows: minmax(100px, auto);
|
|
gap: 1px;
|
|
background-color: var(--background-modifier-border);
|
|
height: 100%;
|
|
}
|
|
.full-calendar-container .calendar-day-cell {
|
|
background-color: var(--background-primary);
|
|
padding: var(--size-4-1);
|
|
position: relative;
|
|
display: flex;
|
|
flex-direction: column;
|
|
min-width: 0;
|
|
}
|
|
.full-calendar-container .calendar-day-cell:hover {
|
|
background-color: hsl(var(--color-accent-h), var(--color-accent-s), var(--color-accent-l), 0.8) !important;
|
|
}
|
|
.full-calendar-container .calendar-day-cell.is-today {
|
|
background-color: var(--background-secondary-alt) !important;
|
|
border: 1px solid hsl(var(--accent-h), var(--accent-s), var(--accent-l), 0.5);
|
|
}
|
|
.full-calendar-container .calendar-day-cell.is-today .calendar-day-number {
|
|
color: hsl(var(--accent-h), var(--accent-s), var(--accent-l), 1);
|
|
}
|
|
.full-calendar-container .calendar-day-header {
|
|
width: 100%;
|
|
display: flex;
|
|
flex-direction: row-reverse;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
gap: var(--size-4-1);
|
|
}
|
|
.full-calendar-container .calendar-day-cell:not(.is-today) {
|
|
opacity: 0.7;
|
|
}
|
|
.full-calendar-container .calendar-day-cell.is-other-month {
|
|
background-color: var(--background-secondary);
|
|
opacity: 0.7;
|
|
}
|
|
.full-calendar-container .calendar-day-cell.is-weekend {
|
|
background-color: var( --background-secondary );
|
|
}
|
|
.full-calendar-container .calendar-day-number {
|
|
font-size: var(--font-ui-small);
|
|
text-align: center;
|
|
margin-bottom: var(--size-4-1);
|
|
flex-shrink: 0;
|
|
align-self: flex-end;
|
|
}
|
|
.full-calendar-container .calendar-events-container {
|
|
flex-grow: 1;
|
|
overflow: hidden;
|
|
position: relative;
|
|
}
|
|
.full-calendar-container .calendar-event {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border-radius: var(--radius-s);
|
|
padding: 2px 4px;
|
|
font-size: var(--font-ui-smaller);
|
|
margin-bottom: 2px;
|
|
margin-bottom: 3px;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
cursor: pointer;
|
|
display: block;
|
|
}
|
|
.full-calendar-container .calendar-event:has(.task-list-item-checkbox) {
|
|
display: flex;
|
|
flex-direction: row;
|
|
align-items: center;
|
|
}
|
|
.full-calendar-container .calendar-event:has(.task-list-item-checkbox).calendar-event-week-allday {
|
|
display: flex;
|
|
}
|
|
.full-calendar-container .calendar-event:has(.task-list-item-checkbox).calendar-event-month {
|
|
display: flex;
|
|
}
|
|
.full-calendar-container .full-calendar-container .calendar-event:hover {
|
|
opacity: 0.8;
|
|
}
|
|
.full-calendar-container .calendar-event.is-completed {
|
|
background-color: var( --background-modifier-success-hover );
|
|
text-decoration: line-through;
|
|
opacity: 0.7;
|
|
}
|
|
.full-calendar-container .calendar-event.is-multi-day {
|
|
}
|
|
.full-calendar-container .calendar-event.is-multi-day.is-start {
|
|
}
|
|
.full-calendar-container .calendar-event.is-multi-day.is-end {
|
|
}
|
|
.full-calendar-container .calendar-event.calendar-event-month {
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
display: block;
|
|
width: 100%;
|
|
box-sizing: border-box;
|
|
}
|
|
.full-calendar-container .calendar-view-container.view-day {
|
|
display: flex;
|
|
flex-direction: column;
|
|
padding: 0;
|
|
}
|
|
.full-calendar-container .calendar-timeline-section {
|
|
flex-grow: 1;
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
overflow-y: auto;
|
|
padding: var(--size-4-4);
|
|
}
|
|
.full-calendar-container .calendar-timeline-events-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-2);
|
|
}
|
|
.full-calendar-container .calendar-event-timed {
|
|
border: 1px solid var(--background-modifier-border);
|
|
overflow: hidden;
|
|
display: flex;
|
|
flex-direction: column;
|
|
width: 100%;
|
|
}
|
|
.full-calendar-container .calendar-event-time {
|
|
font-size: var(--font-ui-smaller);
|
|
font-weight: bold;
|
|
padding: 1px 3px;
|
|
background-color: rgba(0, 0, 0, 0.1);
|
|
}
|
|
.full-calendar-container .calendar-event-title {
|
|
font-size: var(--font-ui-small);
|
|
padding: 2px 3px;
|
|
flex-grow: 1;
|
|
white-space: normal;
|
|
word-wrap: break-word;
|
|
font-size: var(--font-ui-small);
|
|
padding: 2px 3px;
|
|
flex-grow: 1;
|
|
white-space: normal;
|
|
word-wrap: break-word;
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
.full-calendar-container .calendar-view-container.view-week {
|
|
display: flex;
|
|
flex-direction: column;
|
|
padding: 0;
|
|
}
|
|
.full-calendar-container .calendar-week-header {
|
|
display: grid;
|
|
grid-template-columns: repeat(7, 1fr);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
flex-shrink: 0;
|
|
text-align: center;
|
|
background-color: var(--background-secondary);
|
|
font-size: var(--font-ui-medium);
|
|
}
|
|
.full-calendar-container .calendar-header-cell {
|
|
padding: var(--size-4-1) 0;
|
|
border-left: 1px solid var(--background-modifier-border-hover);
|
|
}
|
|
.full-calendar-container .calendar-header-cell:first-child {
|
|
border-left: none;
|
|
}
|
|
.full-calendar-container .calendar-header-cell.is-today .calendar-day-number {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border-radius: 50%;
|
|
display: inline-block;
|
|
width: 1.5em;
|
|
height: 1.5em;
|
|
line-height: 1.5em;
|
|
margin: auto;
|
|
margin: auto;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.full-calendar-container .calendar-weekday {
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-muted);
|
|
}
|
|
.full-calendar-container .calendar-day-number {
|
|
font-size: var(--font-ui-medium);
|
|
}
|
|
.full-calendar-container .calendar-week-grid-section {
|
|
flex-grow: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow-y: auto;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
}
|
|
.full-calendar-container .calendar-week-grid {
|
|
flex-grow: 1;
|
|
display: grid;
|
|
grid-template-columns: repeat(7, 1fr);
|
|
grid-template-rows: 1fr;
|
|
gap: 1px;
|
|
background-color: var(--background-modifier-border);
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
}
|
|
.full-calendar-container .calendar-day-column {
|
|
background-color: var(--background-primary);
|
|
padding: var(--size-4-1);
|
|
border-left: none;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-1);
|
|
overflow: hidden;
|
|
min-width: 0;
|
|
}
|
|
.full-calendar-container .calendar-day-column:first-child {
|
|
}
|
|
.full-calendar-container .calendar-day-column.is-weekend {
|
|
background-color: var(--background-secondary);
|
|
}
|
|
.full-calendar-container .calendar-view-container.hide-weekends .calendar-weekday-header {
|
|
grid-template-columns: repeat(5, 1fr) !important;
|
|
}
|
|
.full-calendar-container .calendar-view-container.hide-weekends .calendar-month-grid {
|
|
grid-template-columns: repeat(5, 1fr) !important;
|
|
}
|
|
.full-calendar-container .calendar-view-container.hide-weekends .calendar-week-header {
|
|
grid-template-columns: repeat(5, 1fr) !important;
|
|
}
|
|
.full-calendar-container .calendar-view-container.hide-weekends .calendar-week-grid {
|
|
grid-template-columns: repeat(5, 1fr) !important;
|
|
}
|
|
.full-calendar-container .calendar-view-container.hide-weekends .mini-month-grid {
|
|
grid-template-columns: repeat(5, 1fr) !important;
|
|
}
|
|
.full-calendar-container .calendar-day-events-container {
|
|
flex-grow: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 3px;
|
|
}
|
|
.full-calendar-container .calendar-event.calendar-event-week-allday {
|
|
display: block;
|
|
width: 100%;
|
|
position: relative;
|
|
left: auto;
|
|
top: auto;
|
|
height: auto;
|
|
margin-bottom: 3px;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
.full-calendar-container .calendar-view-container.view-year {
|
|
padding: var(--size-4-4);
|
|
}
|
|
.full-calendar-container .calendar-year-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
|
|
gap: var(--size-4-4);
|
|
}
|
|
.full-calendar-container .calendar-mini-month {
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-m);
|
|
background-color: var(--background-secondary);
|
|
overflow: hidden;
|
|
}
|
|
.full-calendar-container .mini-month-header {
|
|
text-align: center;
|
|
font-weight: var(--font-semibold);
|
|
padding: var(--size-4-2);
|
|
background-color: var(--background-secondary-alt);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
}
|
|
.full-calendar-container .mini-month-body {
|
|
padding: var(--size-4-2);
|
|
}
|
|
.full-calendar-container .mini-month-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(7, 1fr);
|
|
gap: 2px;
|
|
text-align: center;
|
|
}
|
|
.full-calendar-container .mini-weekday-header {
|
|
display: contents;
|
|
font-size: var(--font-ui-smaller);
|
|
color: var(--text-faint);
|
|
font-weight: bold;
|
|
}
|
|
.full-calendar-container .mini-weekday {
|
|
padding-bottom: var(--size-4-1);
|
|
}
|
|
.full-calendar-container .mini-day-cell {
|
|
font-size: var(--font-ui-small);
|
|
padding: 1px;
|
|
border-radius: var(--radius-s);
|
|
line-height: 1.5em;
|
|
}
|
|
.full-calendar-container .mini-day-cell.is-other-month {
|
|
color: var(--text-faint);
|
|
opacity: 0.6;
|
|
}
|
|
.full-calendar-container .mini-day-cell.is-today {
|
|
font-weight: bold;
|
|
background-color: var(--interactive-accent-hover);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.full-calendar-container .mini-day-cell.has-events {
|
|
font-weight: bold;
|
|
}
|
|
.agenda-day-section {
|
|
display: flex;
|
|
width: 100%;
|
|
border: 1px solid var(--background-modifier-border);
|
|
padding-top: var(--size-4-2);
|
|
padding-bottom: var(--size-4-2);
|
|
padding-left: var(--size-4-2);
|
|
padding-right: var(--size-4-2);
|
|
}
|
|
.agenda-day-date-column {
|
|
width: 20%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: flex-start;
|
|
align-items: center;
|
|
}
|
|
.agenda-day-events-column {
|
|
flex: 1;
|
|
}
|
|
.full-calendar-container input.task-list-item-checkbox {
|
|
scale: 0.9;
|
|
}
|
|
.full-calendar-container .calendar-view-switcher-selector {
|
|
display: none;
|
|
}
|
|
.calendar-event-ghost {
|
|
background-color: var(--background-secondary-alt) !important;
|
|
border: 2px dashed var(--background-modifier-border) !important;
|
|
opacity: 0.5 !important;
|
|
box-shadow: none !important;
|
|
}
|
|
.calendar-event-dragging {
|
|
opacity: 0.9 !important;
|
|
box-shadow: var(--shadow-l) !important;
|
|
transform: rotate(2deg) !important;
|
|
z-index: 1000 !important;
|
|
}
|
|
.calendar-events-container .calendar-event {
|
|
cursor: grab;
|
|
transition: transform 0.2s ease, box-shadow 0.2s ease;
|
|
}
|
|
.calendar-events-container .calendar-event:hover {
|
|
transform: translateY(-1px);
|
|
box-shadow: var(--shadow-s);
|
|
}
|
|
.calendar-events-container .calendar-event:active {
|
|
cursor: grabbing;
|
|
}
|
|
.calendar-events-container,
|
|
.calendar-day-events-container {
|
|
min-height: 20px;
|
|
border-radius: var(--radius-s);
|
|
transition: background-color 0.2s ease;
|
|
}
|
|
@container (max-width: 600px) {
|
|
.full-calendar-container .calendar-view-switcher button {
|
|
display: none;
|
|
}
|
|
.calendar-nav .prev-button {
|
|
display: none;
|
|
}
|
|
.calendar-nav .next-button {
|
|
display: none;
|
|
}
|
|
.full-calendar-container .calendar-view-switcher-selector {
|
|
display: block;
|
|
}
|
|
}
|
|
|
|
/* src/styles/calendar/event.css */
|
|
.full-calendar-container .calendar-event-title-container p {
|
|
padding-inline-start: 0;
|
|
padding-inline-end: 0;
|
|
margin-block-start: 0;
|
|
margin-block-end: 0;
|
|
}
|
|
.full-calendar-container .calendar-event-title-container {
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
max-width: 100%;
|
|
}
|
|
.full-calendar-container .calendar-event-title p {
|
|
margin-block-start: 0;
|
|
margin-block-end: 0;
|
|
}
|
|
|
|
/* src/styles/calendar/badge.css */
|
|
.calendar-badges-container {
|
|
display: flex;
|
|
flex-direction: row;
|
|
gap: 4px;
|
|
pointer-events: none;
|
|
z-index: 10;
|
|
}
|
|
.calendar-badge {
|
|
color: var(--text-muted);
|
|
display: flex;
|
|
font-size: 10px;
|
|
padding: var(--size-2-1);
|
|
border-radius: var(--radius-s);
|
|
max-width: 80px;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
.calendar-day-cell {
|
|
position: relative;
|
|
}
|
|
|
|
/* src/styles/gantt/gantt.css */
|
|
.gantt-chart-container {
|
|
width: 100%;
|
|
height: 100%;
|
|
overflow: auto;
|
|
position: relative;
|
|
background-color: var(--background-secondary);
|
|
--gantt-header-height: 50px;
|
|
--gantt-row-height: 40px;
|
|
--gantt-bar-height: 20px;
|
|
--gantt-bar-radius: 3px;
|
|
--gantt-bg-color: var(--background-secondary);
|
|
--gantt-grid-color: var(--background-modifier-border);
|
|
--gantt-row-color: var(--background-secondary);
|
|
--gantt-bar-color: var(--color-blue);
|
|
--gantt-milestone-color: var(--color-purple);
|
|
--gantt-progress-color: var(--color-blue);
|
|
--gantt-today-color: var(--color-accent);
|
|
}
|
|
.gantt-svg {
|
|
display: block;
|
|
font-family: var(--font-interface);
|
|
font-size: var(--font-ui-small);
|
|
user-select: none;
|
|
}
|
|
.gantt-header-bg {
|
|
fill: var(--background-primary);
|
|
stroke: var(--background-modifier-border);
|
|
stroke-width: 1px;
|
|
}
|
|
.gantt-header-text {
|
|
fill: var(--text-muted);
|
|
font-weight: 500;
|
|
}
|
|
.gantt-grid-bg {
|
|
fill: transparent;
|
|
stroke: var(--background-modifier-border);
|
|
stroke-width: 0;
|
|
}
|
|
.gantt-grid-line-vertical {
|
|
stroke: var(--background-modifier-border);
|
|
stroke-width: 1px;
|
|
stroke-dasharray: 2, 2;
|
|
}
|
|
.gantt-task-item {
|
|
cursor: pointer;
|
|
}
|
|
.gantt-task-bar {
|
|
fill: var(--interactive-accent);
|
|
stroke: var(--interactive-accent-hover);
|
|
stroke-width: 1px;
|
|
transition: fill 0.1s ease-in-out;
|
|
}
|
|
.gantt-task-item:hover .gantt-task-bar {
|
|
fill: var(--interactive-accent-hover);
|
|
}
|
|
.gantt-task-milestone {
|
|
fill: var(--color-orange);
|
|
stroke: var(--color-orange-border);
|
|
stroke-width: 1px;
|
|
}
|
|
.gantt-task-label {
|
|
fill: var(--text-on-accent);
|
|
font-size: calc(var(--font-ui-small) * 0.9);
|
|
pointer-events: none;
|
|
white-space: pre;
|
|
}
|
|
.gantt-task-bar.status-completed {
|
|
fill: var(--color-green);
|
|
stroke: var(--color-green-border);
|
|
}
|
|
.gantt-task-bar.priority-high {
|
|
}
|
|
.gantt-header {
|
|
position: sticky;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
z-index: 10;
|
|
height: var(--gantt-header-height);
|
|
border-bottom: 1px solid var(--gantt-grid-color);
|
|
user-select: none;
|
|
background-color: var(--gantt-bg-color);
|
|
pointer-events: none;
|
|
width: 100%;
|
|
overflow: hidden;
|
|
}
|
|
.gantt-header-row {
|
|
position: relative;
|
|
height: 50%;
|
|
width: 100%;
|
|
}
|
|
.gantt-header-row.primary {
|
|
border-bottom: 1px solid var(--gantt-grid-color);
|
|
font-weight: 600;
|
|
}
|
|
.gantt-header-cell {
|
|
position: absolute;
|
|
height: 100%;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
text-align: center;
|
|
font-size: 12px;
|
|
color: var(--text-normal);
|
|
border-right: 1px solid var(--gantt-grid-color);
|
|
box-sizing: border-box;
|
|
background-color: var(--gantt-bg-color);
|
|
pointer-events: auto;
|
|
}
|
|
.gantt-body {
|
|
position: relative;
|
|
overflow: auto;
|
|
height: 100%;
|
|
padding-top: var(--gantt-header-height);
|
|
margin-top: calc(var(--gantt-header-height) * -1);
|
|
}
|
|
.gantt-grid {
|
|
position: absolute;
|
|
top: var(--gantt-header-height);
|
|
left: 0;
|
|
height: calc(100% - var(--gantt-header-height));
|
|
min-width: 100%;
|
|
}
|
|
.gantt-grid-column {
|
|
position: absolute;
|
|
top: 0;
|
|
height: 100%;
|
|
border-right: 1px solid var(--gantt-grid-color);
|
|
box-sizing: border-box;
|
|
}
|
|
.gantt-grid-column.today {
|
|
background-color: var(--gantt-today-color);
|
|
}
|
|
.gantt-grid-row {
|
|
position: absolute;
|
|
left: 0;
|
|
border-bottom: 1px solid var(--gantt-grid-color);
|
|
box-sizing: border-box;
|
|
background-color: var(--gantt-row-color);
|
|
}
|
|
.gantt-grid-row:nth-child(odd) {
|
|
background-color: var(--gantt-bg-color);
|
|
}
|
|
.gantt-bars {
|
|
position: absolute;
|
|
top: var(--gantt-header-height);
|
|
left: 0;
|
|
height: calc(100% - var(--gantt-header-height));
|
|
min-width: 100%;
|
|
pointer-events: none;
|
|
}
|
|
.gantt-task-container {
|
|
position: absolute;
|
|
box-sizing: border-box;
|
|
pointer-events: auto;
|
|
cursor: pointer;
|
|
transition: transform 0.1s ease;
|
|
}
|
|
.gantt-task-container:hover {
|
|
z-index: 10;
|
|
transform: translateY(-2px);
|
|
}
|
|
.gantt-task-bar.milestone {
|
|
background-color: var(--gantt-milestone-color);
|
|
width: 15px !important;
|
|
height: 15px !important;
|
|
border-radius: 50%;
|
|
transform: rotate(45deg);
|
|
top: 50%;
|
|
margin-top: -7.5px;
|
|
left: 50%;
|
|
margin-left: -7.5px;
|
|
}
|
|
.gantt-task-progress {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
height: 100%;
|
|
background-color: var(--gantt-progress-color);
|
|
opacity: 0.7;
|
|
}
|
|
.gantt-task-label {
|
|
position: absolute;
|
|
left: calc(100% + 8px);
|
|
top: 0;
|
|
white-space: nowrap;
|
|
font-size: 12px;
|
|
color: var(--text-normal);
|
|
line-height: var(--gantt-bar-height);
|
|
}
|
|
.gantt-task-container.right-aligned .gantt-task-label {
|
|
left: auto;
|
|
right: calc(100% + 8px);
|
|
text-align: right;
|
|
}
|
|
@media (max-width: 680px) {
|
|
.gantt-header-cell {
|
|
font-size: 10px;
|
|
}
|
|
.gantt-task-label {
|
|
font-size: 10px;
|
|
}
|
|
}
|
|
.gantt-chart-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
height: 100%;
|
|
overflow: hidden;
|
|
position: relative;
|
|
}
|
|
.gantt-header-container {
|
|
height: 40px;
|
|
flex-shrink: 0;
|
|
overflow: hidden;
|
|
position: relative;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
background-color: var(--background-secondary);
|
|
}
|
|
.gantt-header-svg {
|
|
display: block;
|
|
}
|
|
.gantt-header-tick-major,
|
|
.gantt-header-tick-minor,
|
|
.gantt-header-tick-day,
|
|
.gantt-header-today-marker {
|
|
stroke: var(--background-modifier-border);
|
|
stroke-width: 1;
|
|
}
|
|
.gantt-header-tick-major {
|
|
stroke-width: 1.5;
|
|
}
|
|
.gantt-header-today-marker {
|
|
stroke: var(--color-orange);
|
|
stroke-width: 1.5;
|
|
stroke-dasharray: 4, 2;
|
|
}
|
|
.gantt-header-label-major,
|
|
.gantt-header-label-minor,
|
|
.gantt-header-label-day {
|
|
font-size: var(--font-ui-small);
|
|
fill: var(--text-muted);
|
|
user-select: none;
|
|
pointer-events: none;
|
|
}
|
|
.gantt-header-label-major {
|
|
font-weight: 500;
|
|
fill: var(--text-normal);
|
|
}
|
|
.gantt-scroll-container {
|
|
flex-grow: 1;
|
|
overflow: auto;
|
|
position: relative;
|
|
}
|
|
.gantt-content-wrapper {
|
|
position: relative;
|
|
background: var(--background-primary);
|
|
}
|
|
.gantt-grid-line-major,
|
|
.gantt-grid-line-minor {
|
|
stroke: var(--background-modifier-border-hover);
|
|
stroke-width: 0.5;
|
|
}
|
|
.gantt-grid-line-major {
|
|
stroke-width: 1;
|
|
}
|
|
.gantt-grid-line-horizontal {
|
|
stroke: var(--background-modifier-border);
|
|
stroke-width: 1;
|
|
}
|
|
.gantt-grid-today-marker {
|
|
stroke: var(--color-orange);
|
|
stroke-width: 1;
|
|
stroke-dasharray: 4, 2;
|
|
}
|
|
.gantt-task-item {
|
|
cursor: pointer;
|
|
}
|
|
.gantt-task-bar {
|
|
fill: var(--color-blue);
|
|
stroke: var(--color-blue-hover);
|
|
stroke-width: 0.5;
|
|
transition: fill 0.1s ease;
|
|
}
|
|
.gantt-task-item:hover .gantt-task-bar {
|
|
fill: var(--color-accent);
|
|
}
|
|
.gantt-task-milestone {
|
|
fill: var(--color-purple);
|
|
stroke: var(--color-purple);
|
|
stroke-width: 1;
|
|
transition: fill 0.1s ease;
|
|
}
|
|
.gantt-task-item:hover .gantt-task-milestone {
|
|
fill: var(--color-accent);
|
|
}
|
|
.gantt-task-item.status-done .gantt-task-bar,
|
|
.gantt-task-item.status-done .gantt-task-milestone {
|
|
fill: var(--color-green);
|
|
stroke: var(--color-green);
|
|
opacity: 0.7;
|
|
}
|
|
.gantt-task-item.status-cancelled .gantt-task-bar,
|
|
.gantt-task-item.status-cancelled .gantt-task-milestone {
|
|
fill: var(--color-red);
|
|
stroke: var(--color-red);
|
|
opacity: 0.6;
|
|
text-decoration: line-through;
|
|
}
|
|
.gantt-task-item.status-inprogress .gantt-task-bar {
|
|
}
|
|
.gantt-task-label-fo {
|
|
pointer-events: none;
|
|
overflow: hidden;
|
|
user-select: none;
|
|
}
|
|
.gantt-task-label-markdown {
|
|
color: var(--text-on-accent);
|
|
font-size: var(--font-ui-smaller);
|
|
line-height: 1.3;
|
|
padding: 0 2px;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
display: flex;
|
|
align-items: center;
|
|
height: 100%;
|
|
}
|
|
.gantt-task-label-markdown p {
|
|
margin: 0 !important;
|
|
}
|
|
.gantt-milestone-label-container p {
|
|
margin-block-start: 0;
|
|
margin-block-end: 0;
|
|
margin-inline-start: 0;
|
|
margin-inline-end: 0;
|
|
color: var(--text-normal);
|
|
font-size: var(--font-ui-smaller);
|
|
line-height: 1.3;
|
|
padding: 0 2px;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
display: flex;
|
|
align-items: center;
|
|
height: 100%;
|
|
}
|
|
.gantt-task-item.status-done .gantt-task-label-markdown {
|
|
color: var(--text-on-accent);
|
|
}
|
|
.gantt-task-item.status-cancelled .gantt-task-label-markdown {
|
|
color: var(--text-on-accent);
|
|
text-decoration: line-through;
|
|
}
|
|
.gantt-milestone-label {
|
|
fill: var(--text-normal);
|
|
}
|
|
.gantt-filter-area {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: flex-end;
|
|
width: 100%;
|
|
padding-left: var(--size-2-2);
|
|
padding-right: var(--size-4-2);
|
|
background-color: var(--background-primary);
|
|
}
|
|
.gantt-filter-area .filter-component {
|
|
flex: 1;
|
|
}
|
|
.gantt-offscreen-indicator {
|
|
position: absolute;
|
|
top: calc(50% + 20px);
|
|
transform: translateY(-50%);
|
|
width: 8px;
|
|
height: 8px;
|
|
background-color: rgba(128, 128, 128, 0.6);
|
|
border-radius: 50%;
|
|
z-index: 10;
|
|
pointer-events: none;
|
|
display: none;
|
|
transition: opacity 0.2s ease-in-out;
|
|
opacity: 1;
|
|
}
|
|
.gantt-offscreen-indicator[style*="display: none"] {
|
|
opacity: 0;
|
|
}
|
|
.gantt-offscreen-indicator-left {
|
|
left: 5px;
|
|
}
|
|
.gantt-offscreen-indicator-right {
|
|
right: 5px;
|
|
}
|
|
.gantt-indicator-container {
|
|
position: absolute;
|
|
top: 0;
|
|
bottom: 0;
|
|
width: var(--size-4-3);
|
|
z-index: 10;
|
|
pointer-events: none;
|
|
overflow: hidden;
|
|
}
|
|
.gantt-indicator-container-left {
|
|
left: 0;
|
|
}
|
|
.gantt-indicator-container-right {
|
|
right: 0;
|
|
}
|
|
.gantt-single-indicator {
|
|
position: absolute;
|
|
left: var(--size-2-1);
|
|
width: var(--size-4-2);
|
|
height: var(--size-4-2);
|
|
border-radius: 50%;
|
|
background-color: var(--text-faint);
|
|
pointer-events: auto;
|
|
cursor: default;
|
|
}
|
|
.gantt-single-indicator:hover {
|
|
background-color: var(--text-accent);
|
|
}
|
|
.gantt-chart-container .gantt-indicator-container {
|
|
top: calc(var(--header-height, 40px) + var(--filter-height, 0px));
|
|
bottom: 15px;
|
|
}
|
|
.gantt-chart-container .gantt-indicator-container-right {
|
|
right: 15px;
|
|
}
|
|
.gantt-task-label p {
|
|
margin: 0;
|
|
line-height: var(--gantt-bar-height);
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
/* src/styles/task-list.css */
|
|
.task-list {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
padding: 0;
|
|
}
|
|
.task-item {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
padding: 8px 16px;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
cursor: pointer;
|
|
gap: var(--size-2-3);
|
|
}
|
|
.task-item:hover {
|
|
background-color: var(--background-secondary-alt);
|
|
}
|
|
.task-children-container .task-item:hover {
|
|
background-color: var(--background-secondary);
|
|
}
|
|
.task-item.selected {
|
|
background-color: var(--background-secondary-alt);
|
|
}
|
|
.task-item.task-completed .task-item-content {
|
|
text-decoration: line-through;
|
|
color: var(--text-muted);
|
|
}
|
|
.task-item .markdown-block.markdown-renderer > p:only-child {
|
|
padding: 0;
|
|
margin: 0;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
.task-checkbox {
|
|
width: 16px;
|
|
height: 16px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
color: var(--text-normal);
|
|
cursor: pointer;
|
|
flex-shrink: 0;
|
|
}
|
|
.task-item.task-completed .task-checkbox {
|
|
color: var(--text-on-accent);
|
|
}
|
|
.task-item-content {
|
|
flex: 1;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
width: 100%;
|
|
}
|
|
.task-item-container {
|
|
flex: 1;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
.task-content-metadata-container {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
align-items: flex-start;
|
|
gap: var(--size-2-2);
|
|
transition: all 0.2s ease;
|
|
}
|
|
.task-content-metadata-container.single-line-content {
|
|
flex-direction: row;
|
|
align-items: center;
|
|
}
|
|
.task-content-metadata-container.single-line-content .task-item-content {
|
|
flex: 1;
|
|
min-width: 0;
|
|
}
|
|
.task-content-metadata-container.single-line-content .task-item-metadata {
|
|
flex-shrink: 0;
|
|
margin-top: 0;
|
|
}
|
|
.task-content-metadata-container.multi-line-content {
|
|
flex-direction: column;
|
|
align-items: flex-start;
|
|
}
|
|
.task-content-metadata-container.multi-line-content .task-item-content {
|
|
}
|
|
.task-content-metadata-container.multi-line-content .task-item-metadata {
|
|
margin-top: var(--size-2-2);
|
|
}
|
|
.task-item-metadata {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-4-2);
|
|
margin-top: var(--size-2-2);
|
|
}
|
|
.task-item-metadata:empty {
|
|
display: none;
|
|
}
|
|
.task-date {
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-faint);
|
|
white-space: nowrap;
|
|
background-color: var(--background-modifier-active-hover);
|
|
padding: var(--size-2-1) var(--size-2-3);
|
|
border-radius: var(--radius-s);
|
|
opacity: 0.8;
|
|
}
|
|
.task-item:hover .task-date {
|
|
opacity: 1;
|
|
}
|
|
.task-date::before {
|
|
display: inline-block;
|
|
margin-right: var(--size-2-2);
|
|
font-size: xx-small;
|
|
display: inline-flex;
|
|
transform: translateY(-1px);
|
|
}
|
|
.tg-kanban-view .task-date::before {
|
|
transform: translateY(0);
|
|
}
|
|
.task-date.task-due-date::before {
|
|
content: "\1f4c5";
|
|
}
|
|
.task-date.task-overdue {
|
|
color: var(--text-error);
|
|
font-weight: 600;
|
|
}
|
|
.task-date.task-due-today {
|
|
color: var(--task-doing-color);
|
|
font-weight: 600;
|
|
}
|
|
.task-date.task-due-soon {
|
|
color: var(--text-warning);
|
|
font-weight: 600;
|
|
}
|
|
.task-date.task-start-date::before {
|
|
content: "\1f6eb";
|
|
}
|
|
.task-date.task-created-date::before {
|
|
content: "\2795";
|
|
}
|
|
.task-date.task-scheduled-date::before {
|
|
content: "\23f3";
|
|
}
|
|
.task-date.task-done-date::before {
|
|
content: "\2705";
|
|
}
|
|
.task-date.task-cancelled-date::before {
|
|
content: "\274c";
|
|
}
|
|
.task-date.task-recurrence::before {
|
|
content: "\1f501";
|
|
}
|
|
.task-date.task-on-completion::before {
|
|
content: "\1f3c1";
|
|
}
|
|
.task-project {
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-on-accent);
|
|
background-color: var(--color-accent);
|
|
border-radius: var(--radius-s);
|
|
padding: var(--size-2-1) var(--size-2-3);
|
|
white-space: nowrap;
|
|
opacity: 0.5;
|
|
}
|
|
.task-project:has(input) {
|
|
background-color: var(--background-modifier-active-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.task-item:hover .task-project {
|
|
opacity: 1;
|
|
}
|
|
.task-project::before {
|
|
content: "\1f5c2\fe0f";
|
|
margin-right: var(--size-4-2);
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
font-size: var(--font-ui-small);
|
|
}
|
|
.task-project:hover {
|
|
background-color: var(--background-modifier-active-hover);
|
|
color: var(--text-accent-hover);
|
|
}
|
|
.task-priority {
|
|
margin-left: 8px;
|
|
font-size: 0.9em;
|
|
white-space: nowrap;
|
|
}
|
|
.task-priority.priority-5 {
|
|
color: var(--text-error);
|
|
font-weight: 600;
|
|
}
|
|
.task-priority.priority-4 {
|
|
color: var(--text-warning);
|
|
font-weight: 600;
|
|
}
|
|
.task-priority.priority-3 {
|
|
color: var(--text-warning);
|
|
font-weight: 600;
|
|
}
|
|
.task-priority.priority-2 {
|
|
color: var(--text-warning);
|
|
}
|
|
.task-priority.priority-1 {
|
|
color: var(--text-accent);
|
|
}
|
|
.task-oncompletion {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
padding: 2px 6px;
|
|
margin-left: 4px;
|
|
border-radius: 3px;
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-muted);
|
|
white-space: nowrap;
|
|
}
|
|
.task-oncompletion:hover {
|
|
color: var(--text-normal);
|
|
}
|
|
.task-dependson {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
padding: 2px 6px;
|
|
margin-left: 4px;
|
|
background-color: var(--background-modifier-error);
|
|
border-radius: 3px;
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-error);
|
|
white-space: nowrap;
|
|
}
|
|
.task-dependson:hover {
|
|
background-color: var(--background-modifier-error-hover);
|
|
color: var(--text-error);
|
|
}
|
|
.task-id {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
padding: 2px 6px;
|
|
margin-left: 4px;
|
|
background-color: var(--background-modifier-accent);
|
|
border-radius: 3px;
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-accent);
|
|
white-space: nowrap;
|
|
}
|
|
.task-id:hover {
|
|
background-color: var(--background-modifier-accent-hover);
|
|
color: var(--text-accent-hover);
|
|
}
|
|
.task-tags-container {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: var(--size-2-2);
|
|
}
|
|
.task-tags-container:empty {
|
|
display: none;
|
|
}
|
|
.task-tag {
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-normal);
|
|
background-color: var(--background-modifier-hover);
|
|
border-radius: var(--radius-s);
|
|
padding: var(--size-2-1) var(--size-2-3);
|
|
white-space: nowrap;
|
|
opacity: 0.75;
|
|
}
|
|
.task-item:hover .task-tag {
|
|
opacity: 1;
|
|
}
|
|
.task-item-content p:has(img) img {
|
|
display: block;
|
|
width: min(50%, 200px);
|
|
}
|
|
|
|
/* src/styles/inline-editor.css */
|
|
.inline-editor {
|
|
position: relative;
|
|
display: inline-block;
|
|
width: 100%;
|
|
}
|
|
.inline-content-editor {
|
|
width: 100%;
|
|
min-height: 18px;
|
|
border: none;
|
|
border-bottom: 1px solid var(--interactive-accent);
|
|
border-radius: 0;
|
|
padding: 2px 4px;
|
|
background-color: transparent;
|
|
color: var(--text-normal);
|
|
font-family: inherit;
|
|
font-size: inherit;
|
|
line-height: inherit;
|
|
resize: none;
|
|
outline: none;
|
|
transition: border-color 0.15s ease, background-color 0.15s ease;
|
|
}
|
|
.inline-content-editor:focus {
|
|
border-bottom-color: var(--interactive-accent-hover);
|
|
background-color: var(--background-primary-alt);
|
|
box-shadow: 0 1px 0 0 var(--interactive-accent-hover);
|
|
}
|
|
.inline-embedded-editor-container {
|
|
width: 100%;
|
|
min-height: 18px;
|
|
border: none;
|
|
border-radius: 0;
|
|
background-color: transparent;
|
|
}
|
|
.inline-embedded-editor {
|
|
width: 100%;
|
|
min-height: 18px;
|
|
background-color: transparent;
|
|
}
|
|
.inline-embedded-editor .cm-editor {
|
|
border: none !important;
|
|
outline: none !important;
|
|
background-color: transparent !important;
|
|
border-bottom: 1px solid var(--interactive-accent) !important;
|
|
}
|
|
.inline-embedded-editor .cm-focused {
|
|
outline: none !important;
|
|
border-bottom-color: var(--interactive-accent-hover) !important;
|
|
background-color: var(--background-primary-alt) !important;
|
|
}
|
|
.inline-embedded-editor .cm-content {
|
|
padding: 2px 4px;
|
|
min-height: 18px;
|
|
font-family: inherit;
|
|
font-size: inherit;
|
|
line-height: inherit;
|
|
}
|
|
.inline-embedded-editor .cm-line {
|
|
padding: 0;
|
|
}
|
|
.inline-metadata-editor {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 4px;
|
|
padding: 2px 6px;
|
|
background-color: var(--background-primary-alt);
|
|
border: 1px solid var(--interactive-accent);
|
|
border-radius: var(--radius-s);
|
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
|
|
min-width: 120px;
|
|
max-width: 300px;
|
|
position: relative;
|
|
z-index: 100;
|
|
}
|
|
.inline-metadata-editor input {
|
|
border: unset;
|
|
outline: unset;
|
|
padding: 0;
|
|
height: var(--line-height);
|
|
background-color: transparent;
|
|
background: transparent;
|
|
border-radius: var(--radius-s);
|
|
}
|
|
.inline-metadata-editor input:focus {
|
|
outline: unset;
|
|
padding: 0;
|
|
background-color: transparent;
|
|
}
|
|
.inline-metadata-editor:has(input) {
|
|
outline: unset;
|
|
border: 0;
|
|
padding: 0;
|
|
background-color: transparent;
|
|
border-radius: unset;
|
|
}
|
|
.inline-project-input,
|
|
.inline-tags-input,
|
|
.inline-context-input,
|
|
.inline-date-input,
|
|
.inline-recurrence-input {
|
|
flex: 1;
|
|
padding: 2px 4px;
|
|
border: none;
|
|
border-radius: 2px;
|
|
background-color: transparent;
|
|
color: var(--text-normal);
|
|
font-family: inherit;
|
|
font-size: var(--font-ui-small);
|
|
outline: none;
|
|
min-width: 80px;
|
|
transition: background-color 0.15s ease;
|
|
}
|
|
.inline-project-input:focus,
|
|
.inline-tags-input:focus,
|
|
.inline-context-input:focus,
|
|
.inline-date-input:focus,
|
|
.inline-recurrence-input:focus {
|
|
background-color: var(--background-primary);
|
|
box-shadow: inset 0 0 0 1px var(--interactive-accent);
|
|
}
|
|
.inline-priority-select {
|
|
padding: 2px 4px;
|
|
border: none;
|
|
border-radius: 2px;
|
|
background-color: transparent;
|
|
color: var(--text-normal);
|
|
font-family: inherit;
|
|
font-size: var(--font-ui-small);
|
|
outline: none;
|
|
cursor: pointer;
|
|
min-width: 80px;
|
|
}
|
|
.inline-priority-select:focus {
|
|
background-color: var(--background-primary);
|
|
box-shadow: inset 0 0 0 1px var(--interactive-accent);
|
|
}
|
|
.add-metadata-container {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
margin-left: 4px;
|
|
}
|
|
.task-list .task-item:not(.tree-task-item):hover .add-metadata-btn {
|
|
opacity: 1;
|
|
}
|
|
.tree-task-item .task-item-container:hover .add-metadata-btn {
|
|
opacity: 1;
|
|
}
|
|
.add-metadata-btn {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 22px;
|
|
height: 22px;
|
|
border: none;
|
|
border-radius: 2px;
|
|
background-color: var(--background-secondary);
|
|
color: var(--text-muted);
|
|
cursor: pointer;
|
|
transition: all 0.15s ease;
|
|
--icon-size: 10px;
|
|
opacity: 0;
|
|
padding: 0;
|
|
margin: 0;
|
|
}
|
|
.add-metadata-btn:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
opacity: 1;
|
|
}
|
|
.add-metadata-btn:active {
|
|
background-color: var(--background-modifier-active);
|
|
transform: scale(0.95);
|
|
}
|
|
.add-metadata-btn svg {
|
|
width: 10px;
|
|
height: 10px;
|
|
}
|
|
.inline-editor * {
|
|
transition:
|
|
border-color 0.15s ease,
|
|
background-color 0.15s ease,
|
|
box-shadow 0.15s ease;
|
|
}
|
|
.inline-editor input:focus,
|
|
.inline-editor textarea:focus,
|
|
.inline-editor select:focus {
|
|
outline: none;
|
|
}
|
|
.task-item-metadata .task-date,
|
|
.task-item-metadata .task-project,
|
|
.task-item-metadata .task-tag {
|
|
cursor: pointer;
|
|
transition: background-color 0.15s ease, transform 0.15s ease;
|
|
position: relative;
|
|
}
|
|
.task-item-metadata .task-date:hover,
|
|
.task-item-metadata .task-project:hover,
|
|
.task-item-metadata .task-tag:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
transform: none;
|
|
}
|
|
.task-item-metadata .task-date:hover::after,
|
|
.task-item-metadata .task-project:hover::after,
|
|
.task-item-metadata .task-tag:hover::after {
|
|
display: none;
|
|
}
|
|
.task-item-content {
|
|
cursor: pointer;
|
|
transition: background-color 0.15s ease;
|
|
}
|
|
.inline-metadata-editor {
|
|
animation: fadeInScale 0.15s ease-out;
|
|
}
|
|
@keyframes fadeInScale {
|
|
from {
|
|
opacity: 0;
|
|
transform: scale(0.95);
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
transform: scale(1);
|
|
}
|
|
}
|
|
.inline-editor-placeholder {
|
|
min-height: 1em;
|
|
display: inline-block;
|
|
}
|
|
@media (max-width: 768px) {
|
|
.inline-project-input,
|
|
.inline-tags-input,
|
|
.inline-context-input,
|
|
.inline-recurrence-input {
|
|
min-width: 100px;
|
|
font-size: var(--font-ui-smaller);
|
|
}
|
|
.inline-metadata-editor {
|
|
max-width: 250px;
|
|
}
|
|
}
|
|
@media (prefers-contrast: high) {
|
|
.inline-content-editor,
|
|
.inline-embedded-editor .cm-editor {
|
|
border-bottom-width: 2px;
|
|
}
|
|
.inline-metadata-editor {
|
|
border-width: 2px;
|
|
}
|
|
}
|
|
@media (prefers-reduced-motion: reduce) {
|
|
.inline-editor *,
|
|
.task-item-metadata .task-date,
|
|
.task-item-metadata .task-project,
|
|
.task-item-metadata .task-tag,
|
|
.task-item-content,
|
|
.add-metadata-btn {
|
|
transition: none;
|
|
}
|
|
.inline-metadata-editor {
|
|
animation: none;
|
|
}
|
|
}
|
|
.inline-dependson-input,
|
|
.inline-id-input {
|
|
width: 100%;
|
|
min-width: 200px;
|
|
padding: 4px 8px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 4px;
|
|
background-color: var(--background-primary);
|
|
color: var(--text-normal);
|
|
font-family: inherit;
|
|
font-size: var(--font-ui-small);
|
|
outline: none;
|
|
transition: border-color 0.15s ease, box-shadow 0.15s ease;
|
|
}
|
|
.inline-dependson-input:focus,
|
|
.inline-id-input:focus {
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 0 0 2px var(--interactive-accent-hover);
|
|
}
|
|
.inline-dependson-input::placeholder,
|
|
.inline-id-input::placeholder {
|
|
color: var(--text-faint);
|
|
}
|
|
|
|
/* src/styles/tree-view.css */
|
|
.tree-task-item {
|
|
position: relative;
|
|
display: flex;
|
|
flex-direction: column;
|
|
padding: 8px 16px;
|
|
transition: background-color 0.2s ease;
|
|
}
|
|
.task-children-container .task-item.tree-task-item {
|
|
border-bottom: unset;
|
|
padding-top: var(--size-2-2);
|
|
padding-bottom: var(--size-2-2);
|
|
gap: 0;
|
|
}
|
|
.task-item.tree-task-item {
|
|
gap: 0;
|
|
}
|
|
.tree-task-item:hover {
|
|
background-color: var(--background-secondary-alt);
|
|
}
|
|
.tree-task-item.selected {
|
|
background-color: var(--background-modifier-active);
|
|
}
|
|
.tree-task-item.completed {
|
|
opacity: 0.7;
|
|
}
|
|
.tree-task-item > div:first-of-type {
|
|
width: 100%;
|
|
display: flex;
|
|
align-items: flex-start;
|
|
gap: 6px;
|
|
}
|
|
.task-indent {
|
|
flex-shrink: 0;
|
|
}
|
|
.task-item.tree-task-item .task-expand-toggle {
|
|
padding-top: var(--size-2-2);
|
|
}
|
|
.task-item .task-checkbox {
|
|
padding-top: var(--size-2-2);
|
|
}
|
|
.task-expand-toggle {
|
|
cursor: pointer;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 16px;
|
|
height: 16px;
|
|
flex-shrink: 0;
|
|
color: var(--text-muted);
|
|
}
|
|
.task-expand-toggle:hover {
|
|
color: var(--text-normal);
|
|
}
|
|
.task-item.tree-task-item .task-checkbox {
|
|
cursor: pointer;
|
|
flex-shrink: 0;
|
|
color: var(--text-muted);
|
|
width: 16px;
|
|
height: 16px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.task-item.tree-task-item .task-checkbox:hover {
|
|
color: var(--text-accent);
|
|
}
|
|
.task-item.tree-task-item .task-checkbox.checked {
|
|
color: var(--text-accent);
|
|
}
|
|
.task-content {
|
|
flex-grow: 1;
|
|
line-height: 1.4;
|
|
}
|
|
.tree-task-item.completed .task-content {
|
|
text-decoration: line-through;
|
|
color: var(--text-muted);
|
|
}
|
|
.tree-task-item .task-content-metadata-container {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
align-items: flex-start;
|
|
gap: var(--size-2-2);
|
|
transition: all 0.2s ease;
|
|
}
|
|
.tree-task-item .task-content-metadata-container.single-line-content {
|
|
flex-direction: row;
|
|
align-items: center;
|
|
}
|
|
.tree-task-item .task-content-metadata-container.single-line-content .task-item-content {
|
|
flex: 1;
|
|
min-width: 0;
|
|
}
|
|
.tree-task-item .task-content-metadata-container.single-line-content .task-metadata {
|
|
flex-shrink: 0;
|
|
margin-top: 0;
|
|
}
|
|
.tree-task-item .task-content-metadata-container.multi-line-content {
|
|
flex-direction: column;
|
|
align-items: flex-start;
|
|
}
|
|
.tree-task-item .task-content-metadata-container.multi-line-content .task-item-content {
|
|
width: 100%;
|
|
}
|
|
.tree-task-item .task-content-metadata-container.multi-line-content .task-metadata {
|
|
margin-top: 4px;
|
|
}
|
|
.task-metadata {
|
|
display: flex;
|
|
gap: 8px;
|
|
margin-top: 4px;
|
|
font-size: 0.85em;
|
|
color: var(--text-muted);
|
|
}
|
|
.task-metadata:empty {
|
|
display: none;
|
|
}
|
|
.task-due-date.overdue {
|
|
color: var(--text-error);
|
|
font-weight: bold;
|
|
}
|
|
.task-item.tree-task-item .task-project {
|
|
display: inline-block;
|
|
padding: 1px 6px;
|
|
border-radius: 4px;
|
|
}
|
|
.task-priority.priority-3 {
|
|
color: var(--text-error);
|
|
}
|
|
.task-priority.priority-2 {
|
|
color: var(--text-warning);
|
|
}
|
|
.task-priority.priority-1 {
|
|
color: var(--text-accent);
|
|
}
|
|
.tree-task-item .task-oncompletion {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
padding: 2px 6px;
|
|
margin-left: 4px;
|
|
background-color: var(--background-modifier-border);
|
|
border-radius: 3px;
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-muted);
|
|
white-space: nowrap;
|
|
}
|
|
.tree-task-item .task-oncompletion:hover {
|
|
color: var(--text-normal);
|
|
}
|
|
.tree-task-item .task-dependson {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
padding: 2px 6px;
|
|
margin-left: 4px;
|
|
background-color: var(--background-modifier-error);
|
|
border-radius: 3px;
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-error);
|
|
white-space: nowrap;
|
|
}
|
|
.tree-task-item .task-dependson:hover {
|
|
background-color: var(--background-modifier-error-hover);
|
|
color: var(--text-error);
|
|
}
|
|
.tree-task-item .task-id {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
padding: 2px 6px;
|
|
margin-left: 4px;
|
|
background-color: var(--background-modifier-accent);
|
|
border-radius: 3px;
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-accent);
|
|
white-space: nowrap;
|
|
}
|
|
.tree-task-item .task-id:hover {
|
|
background-color: var(--background-modifier-accent-hover);
|
|
color: var(--text-accent-hover);
|
|
}
|
|
.task-children-container {
|
|
margin-top: 4px;
|
|
width: 100%;
|
|
}
|
|
.view-toggle-btn {
|
|
cursor: pointer;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 24px;
|
|
height: 24px;
|
|
color: var(--text-muted);
|
|
border-radius: 4px;
|
|
}
|
|
.view-toggle-btn:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.task-children-container:empty {
|
|
display: none !important;
|
|
}
|
|
|
|
/* src/styles/view.css */
|
|
.task-sidebar.collapsed {
|
|
width: 48px;
|
|
overflow: hidden;
|
|
}
|
|
.panel-toggle-btn {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
border-radius: 4px;
|
|
cursor: pointer;
|
|
opacity: 0.6;
|
|
transition: opacity 0.2s ease;
|
|
}
|
|
.panel-toggle-btn:hover {
|
|
opacity: 1;
|
|
}
|
|
.task-sidebar.collapsed .sidebar-nav {
|
|
align-items: center;
|
|
}
|
|
.sidebar-nav {
|
|
display: flex;
|
|
flex-direction: column;
|
|
padding: 20px 0 10px 0;
|
|
gap: 5px;
|
|
}
|
|
.sidebar-nav-spacer {
|
|
height: 1px;
|
|
background-color: var(--background-modifier-border);
|
|
margin: 8px 15px;
|
|
opacity: 0.7;
|
|
margin-top: auto;
|
|
}
|
|
.sidebar-nav-item {
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 8px 15px;
|
|
cursor: pointer;
|
|
border-radius: 4px;
|
|
margin: 0 5px;
|
|
transition: background-color 0.2s ease;
|
|
}
|
|
.sidebar-nav-item:hover {
|
|
background-color: var(--background-modifier-active);
|
|
}
|
|
.sidebar-nav-item.is-active {
|
|
font-weight: 600;
|
|
--background-modifier-hover: var(--interactive-accent);
|
|
--icon-color: var(--text-on-accent);
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.nav-item-icon {
|
|
--icon-size: var(--size-4-4);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
margin-right: var(--size-4-2);
|
|
}
|
|
.nav-item-label {
|
|
flex: 1;
|
|
font-size: var(--font-ui-medium);
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
.nav-item-label.hidden {
|
|
opacity: 0;
|
|
width: 0;
|
|
overflow: hidden;
|
|
margin: 0;
|
|
}
|
|
.task-sidebar.collapsed .sidebar-nav-item {
|
|
padding: 8px 10px;
|
|
justify-content: center;
|
|
width: var(--size-4-9);
|
|
flex-shrink: 0;
|
|
transition: width 0.3s ease-in-out, flex-shrink 0.3s ease-in-out;
|
|
}
|
|
.task-sidebar.collapsed .nav-item-icon {
|
|
margin-right: 0;
|
|
}
|
|
.task-content {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: hidden;
|
|
min-width: 0;
|
|
transition: margin 0.3s ease;
|
|
}
|
|
.task-sidebar.collapsed .task-content {
|
|
margin-left: -200px;
|
|
transition: margin 0.3s ease;
|
|
}
|
|
.task-genius-view .project-tree {
|
|
padding: var(--size-2-2) 0;
|
|
transition: opacity 0.3s ease;
|
|
}
|
|
.task-genius-view .tree-root {
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
.task-genius-view .task-genius-view .tree-item {
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 6px 8px;
|
|
cursor: pointer;
|
|
transition: background-color 0.2s ease;
|
|
border-radius: 4px;
|
|
margin: 0 5px;
|
|
}
|
|
.task-genius-view .tree-item:hover {
|
|
background-color: var(--background-modifier-border-hover);
|
|
}
|
|
.task-genius-view .tree-item.selected {
|
|
background-color: var(--background-modifier-border-hover);
|
|
}
|
|
.task-genius-view .tree-item-icon {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 20px;
|
|
height: 20px;
|
|
margin-right: 8px;
|
|
color: var(--text-muted);
|
|
}
|
|
.task-genius-view .tree-item-name {
|
|
flex: 1;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
.task-genius-view .tree-item-count {
|
|
font-size: 0.8em;
|
|
color: var(--text-muted);
|
|
margin-left: 5px;
|
|
background-color: var(--background-modifier-hover);
|
|
padding: 1px 6px;
|
|
border-radius: 10px;
|
|
}
|
|
.task-genius-view .tree-item-toggle,
|
|
.task-genius-view .tree-item-indent {
|
|
width: 20px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
margin-right: 5px;
|
|
}
|
|
.task-genius-view .tree-item-toggle {
|
|
cursor: pointer;
|
|
}
|
|
.content-header {
|
|
padding: 15px;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
display: flex;
|
|
align-items: center;
|
|
flex-shrink: 0;
|
|
}
|
|
.task-count {
|
|
font-size: 0.8em;
|
|
color: var(--text-muted);
|
|
margin-right: 10px;
|
|
}
|
|
.focus-filter {
|
|
margin-left: 10px;
|
|
}
|
|
.workspace-leaf-content .task-genius-view {
|
|
padding: 0;
|
|
}
|
|
.bases-view .task-genius-view {
|
|
height: 100%;
|
|
}
|
|
.task-genius-container {
|
|
display: flex;
|
|
flex-direction: row;
|
|
height: 100%;
|
|
width: 100%;
|
|
background-color: var(--background-primary);
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
color: var(--text-normal);
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
.task-sidebar {
|
|
display: flex;
|
|
flex-direction: column;
|
|
border-right: 1px solid var(--background-modifier-border);
|
|
background-color: var(--background-secondary);
|
|
overflow-y: auto;
|
|
width: 240px;
|
|
transition: width 0.3s ease-in-out;
|
|
position: relative;
|
|
}
|
|
.task-content {
|
|
display: flex;
|
|
flex-direction: column;
|
|
flex: 1;
|
|
min-width: 300px;
|
|
height: 100%;
|
|
overflow: hidden;
|
|
}
|
|
.task-sidebar .sidebar-nav {
|
|
display: flex;
|
|
flex-direction: column;
|
|
padding: 8px 0;
|
|
height: 100%;
|
|
}
|
|
.project-tree {
|
|
display: flex;
|
|
flex-direction: column;
|
|
padding: 8px 0;
|
|
overflow-y: auto;
|
|
}
|
|
.tree-root {
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
.task-genius-view .tree-item {
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 4px 12px;
|
|
cursor: pointer;
|
|
border-radius: 4px;
|
|
margin: 2px 8px;
|
|
}
|
|
.task-genius-view .tree-item:hover {
|
|
background-color: var(--background-modifier-border-hover);
|
|
}
|
|
.task-genius-view .tree-item.selected {
|
|
background-color: var(--background-modifier-border-hover);
|
|
color: var(--text-accent);
|
|
}
|
|
.task-genius-view .tree-item-toggle {
|
|
width: 16px;
|
|
height: 16px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
margin-right: 4px;
|
|
}
|
|
.task-genius-view .tree-item-indent {
|
|
width: 16px;
|
|
height: 16px;
|
|
margin-right: 4px;
|
|
}
|
|
.task-genius-view .tree-item-icon {
|
|
margin-right: 8px;
|
|
width: 16px;
|
|
height: 16px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
color: var(--text-muted);
|
|
}
|
|
.task-genius-view .tree-item-name {
|
|
flex: 1;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
.task-genius-view .tree-item-count {
|
|
font-size: 0.8em;
|
|
color: var(--text-muted);
|
|
background-color: var(--background-modifier-hover);
|
|
border-radius: 10px;
|
|
padding: 2px 6px;
|
|
min-width: 16px;
|
|
text-align: center;
|
|
}
|
|
.task-genius-view .tree-item.expanded > .tree-item-children {
|
|
display: flex;
|
|
}
|
|
.task-genius-view .tree-item-children {
|
|
display: none;
|
|
flex-direction: column;
|
|
margin-left: 16px;
|
|
width: 100%;
|
|
}
|
|
.task-genius-view .content-header {
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 10px 16px;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
min-height: 50px;
|
|
}
|
|
.task-genius-view .content-title {
|
|
font-size: 1.2em;
|
|
font-weight: 600;
|
|
margin-right: 12px;
|
|
flex: 1;
|
|
}
|
|
@media screen and (max-width: 768px) {
|
|
.task-genius-view .content-title {
|
|
display: none;
|
|
}
|
|
.task-genius-view .task-count {
|
|
flex: 1;
|
|
}
|
|
.task-genius-view .focus-filter {
|
|
flex: 1;
|
|
}
|
|
}
|
|
.task-genius-view .content-filter {
|
|
display: flex;
|
|
align-items: center;
|
|
margin-right: 12px;
|
|
}
|
|
.task-genius-view .filter-input {
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 4px;
|
|
padding: 4px 8px;
|
|
width: 200px;
|
|
background-color: var(--background-primary);
|
|
}
|
|
.task-genius-view .focus-button {
|
|
background-color: var(--interactive-normal);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 4px;
|
|
padding: 4px 10px;
|
|
color: var(--text-normal);
|
|
cursor: pointer;
|
|
}
|
|
.task-genius-view .focus-button:hover {
|
|
background-color: var(--interactive-hover);
|
|
}
|
|
.task-genius-view .focus-button.focused {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.mod-root .task-genius-action-btn {
|
|
--icon-size: 16px;
|
|
}
|
|
.mod-left-split .task-genius-action-btn {
|
|
display: none;
|
|
}
|
|
.mod-left-split .workspace-tab-header-status-container:has(.task-genius-action-btn) {
|
|
display: none;
|
|
}
|
|
.mod-right-split .workspace-tab-header-status-container:has(.task-genius-action-btn) {
|
|
display: none;
|
|
}
|
|
.task-genius-view .task-empty-state,
|
|
.task-genius-fluent-view .task-empty-state {
|
|
width: 100%;
|
|
height: 100%;
|
|
flex: 1;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.mod-root .task-genius-tab-header {
|
|
container-type: inline-size !important;
|
|
}
|
|
@container (max-width: 120px) {
|
|
.mod-root .task-genius-action-btn {
|
|
display: none;
|
|
}
|
|
}
|
|
.task-sidebar.collapsed .sidebar-nav {
|
|
max-width: 45px;
|
|
}
|
|
.quick-workflow-modal {
|
|
max-width: 600px;
|
|
min-height: 400px;
|
|
}
|
|
.workflow-template-section {
|
|
margin-bottom: 20px;
|
|
padding: 15px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 8px;
|
|
}
|
|
.template-description {
|
|
margin-top: 10px;
|
|
}
|
|
.template-desc-text {
|
|
font-style: italic;
|
|
color: var(--text-muted);
|
|
margin: 0;
|
|
}
|
|
.workflow-form-section {
|
|
margin-bottom: 20px;
|
|
}
|
|
.workflow-stages-preview {
|
|
margin-top: 15px;
|
|
}
|
|
.stages-preview-list {
|
|
margin-top: 10px;
|
|
}
|
|
.stage-preview-item {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
padding: 8px 12px;
|
|
margin: 4px 0;
|
|
background: var(--background-secondary);
|
|
border-radius: 6px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.stage-info {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
}
|
|
.stage-name {
|
|
font-weight: 500;
|
|
}
|
|
.stage-type {
|
|
color: var(--text-muted);
|
|
font-size: 0.9em;
|
|
}
|
|
.stage-actions {
|
|
display: flex;
|
|
gap: 4px;
|
|
}
|
|
.no-stages-message {
|
|
text-align: center;
|
|
color: var(--text-muted);
|
|
font-style: italic;
|
|
padding: 20px;
|
|
border: 2px dashed var(--background-modifier-border);
|
|
border-radius: 8px;
|
|
margin-top: 10px;
|
|
}
|
|
.workflow-modal-buttons {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
gap: 10px;
|
|
margin-top: 20px;
|
|
padding-top: 15px;
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
}
|
|
.workflow-progress-indicator {
|
|
background: var(--background-secondary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 8px;
|
|
padding: 15px;
|
|
margin: 10px 0;
|
|
}
|
|
.workflow-progress-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
margin-bottom: 15px;
|
|
}
|
|
.workflow-name {
|
|
font-weight: 600;
|
|
font-size: 1.1em;
|
|
}
|
|
.workflow-progress-text {
|
|
color: var(--text-muted);
|
|
font-size: 0.9em;
|
|
}
|
|
.workflow-progress-bar-container {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
margin-bottom: 15px;
|
|
}
|
|
.workflow-progress-bar {
|
|
flex: 1;
|
|
height: 8px;
|
|
background: var(--background-modifier-border);
|
|
border-radius: 4px;
|
|
overflow: hidden;
|
|
}
|
|
.workflow-progress-fill {
|
|
height: 100%;
|
|
background: var(--interactive-accent);
|
|
transition: width 0.3s ease;
|
|
}
|
|
.workflow-progress-percentage {
|
|
font-size: 0.9em;
|
|
font-weight: 500;
|
|
min-width: 35px;
|
|
text-align: right;
|
|
}
|
|
.workflow-stage-list {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 8px;
|
|
}
|
|
.workflow-stage-item {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
gap: 12px;
|
|
padding: 10px;
|
|
border-radius: 6px;
|
|
transition: background-color 0.2s ease;
|
|
}
|
|
.workflow-stage-item.completed {
|
|
background: var(--background-modifier-success);
|
|
}
|
|
.workflow-stage-item.current {
|
|
background: var(--background-modifier-accent);
|
|
border: 1px solid var(--interactive-accent);
|
|
}
|
|
.workflow-stage-item.pending {
|
|
background: var(--background-primary);
|
|
opacity: 0.7;
|
|
}
|
|
.workflow-stage-icon {
|
|
width: 20px;
|
|
height: 20px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
margin-top: 2px;
|
|
}
|
|
.workflow-stage-icon.completed-icon {
|
|
color: var(--text-success);
|
|
}
|
|
.workflow-stage-icon.current-icon {
|
|
color: var(--interactive-accent);
|
|
}
|
|
.workflow-stage-icon.pending-icon {
|
|
color: var(--text-muted);
|
|
}
|
|
.workflow-stage-content {
|
|
flex: 1;
|
|
}
|
|
.workflow-stage-name {
|
|
font-weight: 500;
|
|
margin-bottom: 2px;
|
|
}
|
|
.workflow-stage-type {
|
|
font-size: 0.8em;
|
|
color: var(--text-muted);
|
|
}
|
|
.workflow-stage-number {
|
|
width: 24px;
|
|
height: 24px;
|
|
border-radius: 50%;
|
|
background: var(--background-modifier-border);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
font-size: 0.8em;
|
|
font-weight: 600;
|
|
margin-top: 2px;
|
|
}
|
|
.workflow-stage-item.completed .workflow-stage-number {
|
|
background: var(--text-success);
|
|
color: var(--background-primary);
|
|
}
|
|
.workflow-stage-item.current .workflow-stage-number {
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.workflow-substage-container {
|
|
margin-top: 8px;
|
|
padding-left: 16px;
|
|
border-left: 2px solid var(--background-modifier-border);
|
|
}
|
|
.workflow-substage-item {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
padding: 4px 0;
|
|
}
|
|
.workflow-substage-icon {
|
|
width: 12px;
|
|
height: 12px;
|
|
color: var(--text-muted);
|
|
}
|
|
.workflow-substage-name {
|
|
font-size: 0.9em;
|
|
color: var(--text-muted);
|
|
}
|
|
|
|
/* src/styles/property-view.css */
|
|
.task-property-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
height: 100%;
|
|
width: 100%;
|
|
overflow: hidden;
|
|
}
|
|
.task-property-content {
|
|
display: flex;
|
|
flex-direction: row;
|
|
flex: 1;
|
|
overflow: hidden;
|
|
}
|
|
.task-property-left-column {
|
|
width: max(120px, 30%);
|
|
min-width: min(120px, 30%);
|
|
max-width: 300px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
border-right: 1px solid var(--background-modifier-border);
|
|
overflow: hidden;
|
|
}
|
|
.is-phone .task-property-left-column {
|
|
max-width: 100%;
|
|
}
|
|
.task-property-right-column {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: hidden;
|
|
}
|
|
.task-property-sidebar-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: var(--size-4-2) var(--size-4-4);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
height: var(--size-4-10);
|
|
}
|
|
.task-property-sidebar-title {
|
|
font-weight: 600;
|
|
font-size: 14px;
|
|
}
|
|
.multi-select-mode .task-property-multi-select-btn {
|
|
color: var(--color-accent);
|
|
}
|
|
.task-property-multi-select-btn {
|
|
cursor: pointer;
|
|
color: var(--text-muted);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.task-property-multi-select-btn:hover {
|
|
color: var(--text-normal);
|
|
}
|
|
.task-property-sidebar-list {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
padding: var(--size-4-2);
|
|
}
|
|
.task-property-list-item {
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 4px 12px;
|
|
cursor: pointer;
|
|
border-radius: var(--radius-s);
|
|
}
|
|
.task-property-list-item:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.task-property-list-item.selected {
|
|
background-color: var(--background-modifier-active);
|
|
}
|
|
.task-property-icon {
|
|
margin-right: 8px;
|
|
color: var(--text-muted);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.task-property-name {
|
|
flex: 1;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
.task-property-count {
|
|
margin-left: 8px;
|
|
font-size: 0.8em;
|
|
color: var(--text-muted);
|
|
background-color: var(--background-modifier-border);
|
|
border-radius: 10px;
|
|
padding: 1px 6px;
|
|
}
|
|
.task-property-task-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: var(--size-4-2) var(--size-4-4);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
height: var(--size-4-10);
|
|
}
|
|
.task-property-task-title {
|
|
font-weight: 600;
|
|
font-size: 16px;
|
|
}
|
|
.task-property-task-count {
|
|
color: var(--text-muted);
|
|
}
|
|
.task-property-task-list {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
}
|
|
.task-property-empty-state {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
height: 100%;
|
|
color: var(--text-muted);
|
|
font-style: italic;
|
|
padding: 16px;
|
|
}
|
|
.is-phone .task-property-left-column {
|
|
position: absolute;
|
|
left: 0;
|
|
top: 0;
|
|
height: 100%;
|
|
z-index: 10;
|
|
background-color: var(--background-secondary);
|
|
width: 100%;
|
|
transform: translateX(-100%);
|
|
transition: transform 0.3s ease-in-out;
|
|
border-right: 1px solid var(--background-modifier-border);
|
|
}
|
|
.is-phone .task-property-left-column.is-visible {
|
|
transform: translateX(0);
|
|
}
|
|
.is-phone .task-property-sidebar-toggle {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
margin-right: 8px;
|
|
}
|
|
.is-phone .task-property-sidebar-close {
|
|
--icon-size: var(--size-4-4);
|
|
position: absolute;
|
|
top: var(--size-4-2);
|
|
right: 10px;
|
|
z-index: 15;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.is-phone .task-property-container:has(.task-property-left-column.is-visible)::before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
background-color: var(--background-modifier-cover);
|
|
opacity: 0.5;
|
|
z-index: 5;
|
|
transition: opacity 0.3s ease-in-out;
|
|
}
|
|
.is-phone .task-property-container {
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
.is-phone .task-property-sidebar-header:has(.task-property-sidebar-close) {
|
|
padding-right: var(--size-4-12);
|
|
}
|
|
|
|
/* src/styles/forecast.css */
|
|
.forecast-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
height: 100%;
|
|
overflow: hidden;
|
|
flex: 1;
|
|
}
|
|
.forecast-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: 15px;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
}
|
|
.forecast-title-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
.forecast-title {
|
|
font-weight: 600;
|
|
font-size: 1.2em;
|
|
}
|
|
.forecast-count {
|
|
font-size: 0.8em;
|
|
color: var(--text-muted);
|
|
margin-top: 4px;
|
|
}
|
|
.forecast-actions {
|
|
display: flex;
|
|
gap: var(--size-4-2);
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.forecast-settings {
|
|
cursor: pointer;
|
|
opacity: 0.7;
|
|
transition: opacity 0.2s ease;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.forecast-settings:hover {
|
|
opacity: 1;
|
|
}
|
|
.forecast-focus-bar {
|
|
display: flex;
|
|
padding: 10px 15px;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
gap: 10px;
|
|
align-items: center;
|
|
}
|
|
.focus-input {
|
|
flex: 1;
|
|
padding: 6px 12px;
|
|
border-radius: 4px;
|
|
border: 1px solid var(--interactive-accent);
|
|
background-color: var(--background-primary);
|
|
color: var(--text-normal);
|
|
}
|
|
.unfocus-button {
|
|
padding: 6px 12px;
|
|
border-radius: 4px;
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
cursor: pointer;
|
|
border: none;
|
|
}
|
|
.unfocus-button:hover {
|
|
background-color: var(--interactive-accent-hover);
|
|
}
|
|
.forecast-content {
|
|
display: flex;
|
|
flex: 1;
|
|
overflow: hidden;
|
|
}
|
|
.forecast-left-column {
|
|
width: 360px;
|
|
min-width: 360px;
|
|
border-right: 1px solid var(--background-modifier-border);
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow-y: auto;
|
|
background-color: var(--background-secondary-alt);
|
|
}
|
|
.forecast-right-column {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
background-color: var(--background-primary);
|
|
}
|
|
.forecast-task-list {
|
|
overflow-y: auto;
|
|
}
|
|
.forecast-calendar-section {
|
|
padding: 10px 0;
|
|
margin-top: var(--size-4-4);
|
|
flex-shrink: 0;
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
}
|
|
.forecast-stats {
|
|
display: flex;
|
|
}
|
|
.stat-item {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
padding: 10px;
|
|
cursor: pointer;
|
|
transition: background-color 0.2s ease;
|
|
position: relative;
|
|
}
|
|
.stat-item::after {
|
|
content: "";
|
|
position: absolute;
|
|
bottom: 0;
|
|
left: 10%;
|
|
width: 80%;
|
|
height: 3px;
|
|
background-color: transparent;
|
|
transition: background-color 0.2s ease;
|
|
}
|
|
.stat-item:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.stat-item.active::after {
|
|
background-color: var(--interactive-accent);
|
|
animation: color-pulse 1.5s infinite alternate;
|
|
}
|
|
@keyframes color-pulse {
|
|
0% {
|
|
background-color: var(--color-accent-1) !important;
|
|
opacity: 0.7;
|
|
}
|
|
100% {
|
|
background-color: var(--color-accent-2) !important;
|
|
opacity: 1;
|
|
}
|
|
}
|
|
.stat-item.tg-past-due::after {
|
|
background-color: var(--text-error);
|
|
opacity: 0.7;
|
|
}
|
|
.stat-item.tg-today::after {
|
|
background-color: var(--interactive-accent);
|
|
opacity: 0.7;
|
|
}
|
|
.stat-item.tg-future::after {
|
|
background-color: var(--text-accent);
|
|
opacity: 0.7;
|
|
}
|
|
.stat-count {
|
|
font-size: 1.5em;
|
|
font-weight: 600;
|
|
}
|
|
.stat-item.tg-past-due .stat-count {
|
|
color: var(--text-error);
|
|
}
|
|
.stat-label {
|
|
font-size: 0.8em;
|
|
color: var(--text-muted);
|
|
}
|
|
.forecast-due-soon-section {
|
|
display: flex;
|
|
flex-direction: column;
|
|
padding-bottom: var(--size-4-3);
|
|
}
|
|
.due-soon-header {
|
|
font-size: 0.8em;
|
|
font-weight: 600;
|
|
padding: 5px 15px;
|
|
color: var(--text-muted);
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.05em;
|
|
}
|
|
.due-soon-item {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
padding: 8px 15px;
|
|
cursor: pointer;
|
|
border-left: 3px solid transparent;
|
|
transition: background-color 0.2s ease;
|
|
}
|
|
.due-soon-item:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
border-left-color: var(--interactive-accent);
|
|
}
|
|
.due-soon-date {
|
|
font-size: 0.9em;
|
|
}
|
|
.due-soon-count {
|
|
font-size: 0.8em;
|
|
background-color: var(--background-modifier-border);
|
|
padding: 2px 6px;
|
|
border-radius: 10px;
|
|
color: var(--text-muted);
|
|
}
|
|
.due-soon-empty {
|
|
text-align: center;
|
|
padding: 15px;
|
|
color: var(--text-muted);
|
|
font-style: italic;
|
|
font-size: 0.9em;
|
|
}
|
|
.date-section-header {
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 8px 15px;
|
|
cursor: pointer;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
background-color: var(--background-secondary-alt);
|
|
}
|
|
.date-section-header .section-toggle {
|
|
margin-right: 8px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.date-section-header .section-title {
|
|
flex: 1;
|
|
font-weight: 500;
|
|
}
|
|
.date-section-header .section-count {
|
|
font-size: 0.8em;
|
|
color: var(--text-muted);
|
|
background-color: var(--background-modifier-border);
|
|
border-radius: 10px;
|
|
height: var(--size-4-5);
|
|
width: var(--size-4-5);
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.task-date-section.overdue .date-section-header {
|
|
border-left: 3px solid var(--text-error);
|
|
}
|
|
.task-date-section.overdue .section-title {
|
|
color: var(--text-error);
|
|
}
|
|
.task-date-section.overdue .section-count {
|
|
background-color: var(--text-error);
|
|
color: white;
|
|
}
|
|
.section-tasks {
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
.forecast-empty-state {
|
|
display: flex;
|
|
height: 100px;
|
|
align-items: center;
|
|
justify-content: center;
|
|
color: var(--text-muted);
|
|
font-style: italic;
|
|
}
|
|
.forecast-sidebar-toggle {
|
|
position: absolute;
|
|
}
|
|
.is-phone .forecast-header:has(.forecast-sidebar-toggle) .forecast-title-container {
|
|
padding-left: var(--size-4-10);
|
|
}
|
|
.is-phone .forecast-container {
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
.is-phone .forecast-left-column {
|
|
position: absolute;
|
|
left: 0;
|
|
top: 0;
|
|
height: 100%;
|
|
z-index: 10;
|
|
background-color: var(--background-secondary);
|
|
width: 100%;
|
|
transform: translateX(-100%);
|
|
transition: transform 0.3s ease-in-out;
|
|
border-right: 1px solid var(--background-modifier-border);
|
|
}
|
|
.is-phone .forecast-left-column.is-visible {
|
|
transform: translateX(0);
|
|
}
|
|
.is-phone .forecast-sidebar-toggle {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
margin-right: 8px;
|
|
}
|
|
.is-phone .forecast-sidebar-close {
|
|
position: absolute;
|
|
top: 10px;
|
|
right: 10px;
|
|
z-index: 15;
|
|
width: 28px;
|
|
height: 28px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
border-radius: 50%;
|
|
background-color: var(--background-primary);
|
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
|
}
|
|
.is-phone .task-genius-container:has(.forecast-left-column.is-visible)::before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
background-color: var(--background-modifier-cover);
|
|
opacity: 0.5;
|
|
z-index: 5;
|
|
transition: opacity 0.3s ease-in-out;
|
|
}
|
|
|
|
/* src/styles/calendar.css */
|
|
.task-genius-view .mini-calendar-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
width: 100%;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
padding-bottom: 10px;
|
|
}
|
|
.task-genius-view .mini-calendar-container .calendar-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: 8px 15px;
|
|
margin-bottom: 8px;
|
|
}
|
|
.task-genius-view .mini-calendar-container .calendar-title {
|
|
font-weight: 600;
|
|
display: flex;
|
|
gap: 5px;
|
|
}
|
|
.task-genius-view .mini-calendar-container .calendar-month {
|
|
margin-right: 5px;
|
|
}
|
|
.task-genius-view .mini-calendar-container .calendar-year {
|
|
color: var(--text-muted);
|
|
}
|
|
.task-genius-view .mini-calendar-container .calendar-nav {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
}
|
|
.task-genius-view .mini-calendar-container .calendar-nav-btn {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 24px;
|
|
height: 24px;
|
|
border-radius: 4px;
|
|
background-color: var(--background-modifier-hover);
|
|
cursor: pointer;
|
|
opacity: 0.7;
|
|
transition: opacity 0.2s ease;
|
|
}
|
|
.task-genius-view .mini-calendar-container .calendar-nav-btn:hover {
|
|
opacity: 1;
|
|
background-color: var(--background-modifier-border-hover);
|
|
}
|
|
.task-genius-view .mini-calendar-container .calendar-today-btn {
|
|
padding: 2px 8px;
|
|
border-radius: 4px;
|
|
background-color: var(--background-modifier-hover);
|
|
cursor: pointer;
|
|
font-size: 0.8em;
|
|
transition: background-color 0.2s ease;
|
|
}
|
|
.task-genius-view .mini-calendar-container .calendar-today-btn:hover {
|
|
background-color: var(--background-modifier-border-hover);
|
|
}
|
|
.task-genius-view .mini-calendar-container .calendar-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(7, 1fr);
|
|
gap: 1px;
|
|
padding: 0 10px;
|
|
}
|
|
.task-genius-view .mini-calendar-container .calendar-day-header {
|
|
text-align: center;
|
|
font-size: 0.8em;
|
|
color: var(--text-muted);
|
|
padding: 3px 0;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
margin-bottom: 3px;
|
|
}
|
|
.task-genius-view .mini-calendar-container .calendar-day-header.calendar-weekend {
|
|
color: var(--text-accent);
|
|
}
|
|
.task-genius-view .mini-calendar-container.hide-weekends .calendar-grid {
|
|
grid-template-columns: repeat(5, 1fr);
|
|
}
|
|
.task-genius-view .mini-calendar-container .calendar-day {
|
|
border-radius: 4px;
|
|
padding: 1px;
|
|
cursor: pointer;
|
|
position: relative;
|
|
display: flex;
|
|
flex-direction: column;
|
|
transition: background-color 0.2s ease;
|
|
height: auto;
|
|
min-height: var(--size-4-12);
|
|
}
|
|
.task-genius-view .mini-calendar-container .calendar-day:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.task-genius-view .mini-calendar-container .calendar-day.selected {
|
|
background-color: var(--background-modifier-border-hover);
|
|
}
|
|
.task-genius-view .mini-calendar-container .calendar-day.today {
|
|
background-color: var(--interactive-accent-hover);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.task-genius-view .mini-calendar-container .calendar-day.past-due {
|
|
color: var(--text-error);
|
|
}
|
|
.task-genius-view .mini-calendar-container .calendar-day.other-month {
|
|
opacity: 0.5;
|
|
}
|
|
.task-genius-view .mini-calendar-container .calendar-day-number {
|
|
text-align: center;
|
|
font-size: 0.9em;
|
|
font-weight: 500;
|
|
padding: 1px;
|
|
}
|
|
.task-genius-view .mini-calendar-container .calendar-day-count {
|
|
background-color: var(--background-modifier-border);
|
|
color: var(--text-normal);
|
|
border-radius: 8px;
|
|
font-size: 0.7em;
|
|
padding: 1px 4px;
|
|
margin: 1px auto 0;
|
|
text-align: center;
|
|
width: fit-content;
|
|
}
|
|
.task-genius-view .mini-calendar-container .calendar-day-count.has-priority {
|
|
background-color: var(--text-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
@media (max-width: 1400px) {
|
|
.task-genius-container:has(.task-details.visible) .mini-calendar-container .forecast-left-column {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
/* src/styles/table.css */
|
|
.table-view-adapter {
|
|
width: 100%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0;
|
|
height: 100%;
|
|
overflow: hidden;
|
|
}
|
|
.task-table-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
height: 100%;
|
|
overflow: hidden;
|
|
position: relative;
|
|
background-color: var(--background-primary);
|
|
}
|
|
.task-table {
|
|
width: 100%;
|
|
border-collapse: collapse;
|
|
table-layout: fixed;
|
|
font-size: var(--font-ui-small);
|
|
flex: 1;
|
|
min-height: 0;
|
|
min-width: max-content;
|
|
}
|
|
.task-table-wrapper {
|
|
flex: 1;
|
|
overflow: auto;
|
|
min-height: 0;
|
|
position: relative;
|
|
overflow-x: auto;
|
|
overflow-y: auto;
|
|
scroll-behavior: smooth;
|
|
}
|
|
.task-table-header {
|
|
position: sticky;
|
|
top: 0;
|
|
z-index: 10;
|
|
background-color: var(--background-secondary);
|
|
border-bottom: 2px solid var(--background-modifier-border);
|
|
min-width: max-content;
|
|
}
|
|
.task-table-header-row {
|
|
height: 40px;
|
|
}
|
|
.task-table-header-cell {
|
|
padding: 8px 12px;
|
|
text-align: left;
|
|
font-weight: 600;
|
|
color: var(--text-muted);
|
|
border-right: 1px solid var(--background-modifier-border);
|
|
position: relative;
|
|
user-select: none;
|
|
background-color: var(--background-secondary);
|
|
white-space: nowrap;
|
|
}
|
|
.task-table-header-cell:last-child {
|
|
border-right: none;
|
|
}
|
|
.task-table-header-cell.sortable {
|
|
cursor: pointer;
|
|
}
|
|
.task-table-header-cell.sortable:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.task-table-header-content {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 4px;
|
|
}
|
|
.task-table-header-title {
|
|
flex: 1;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
.task-table-sort-icon {
|
|
font-size: 12px;
|
|
opacity: 0.5;
|
|
transition: opacity 0.2s;
|
|
display: flex;
|
|
align-items: center;
|
|
width: 16px;
|
|
height: 16px;
|
|
}
|
|
.task-table-sort-icon.asc,
|
|
.task-table-sort-icon.desc {
|
|
opacity: 1;
|
|
color: var(--text-accent);
|
|
}
|
|
.task-table-resize-handle {
|
|
position: absolute;
|
|
top: 0;
|
|
right: 0;
|
|
width: 4px;
|
|
height: 100%;
|
|
cursor: col-resize;
|
|
background-color: transparent;
|
|
transition: background-color 0.2s;
|
|
}
|
|
.task-table-resize-handle:hover {
|
|
background-color: var(--text-accent);
|
|
}
|
|
.task-table-body {
|
|
background-color: var(--background-primary);
|
|
}
|
|
.task-table-row {
|
|
height: 40px;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
transition: background-color 0.2s;
|
|
}
|
|
.task-table-row:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.task-table-row.selected {
|
|
background-color: var(--background-modifier-active-hover);
|
|
}
|
|
.task-table-row:nth-child(even) {
|
|
background-color: var(--background-secondary-alt);
|
|
}
|
|
.task-table-row:nth-child(even):hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.task-table-row:nth-child(even).selected {
|
|
background-color: var(--background-modifier-active-hover);
|
|
}
|
|
.task-table-cell {
|
|
padding: 8px 12px;
|
|
vertical-align: middle;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
.task-table-cell:last-child {
|
|
border-right: none;
|
|
}
|
|
.task-table-cell.editing {
|
|
padding: 0;
|
|
}
|
|
.task-table-tree-indent {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 4px;
|
|
}
|
|
.task-table-cell:has(.task-table-expand-btn) {
|
|
padding-left: 0;
|
|
}
|
|
.task-table-row.task-table-subtask {
|
|
background-color: var(--background-secondary);
|
|
}
|
|
.task-table-expand-btn {
|
|
cursor: pointer;
|
|
user-select: none;
|
|
width: 20px;
|
|
height: 20px;
|
|
padding: 0;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
border-radius: 2px;
|
|
font-size: 10px;
|
|
transition: background-color 0.2s;
|
|
}
|
|
.task-table-expand-btn:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.task-table-row-level-1 .task-table-cell:first-child {
|
|
padding-left: 32px;
|
|
}
|
|
.task-table-row-level-2 .task-table-cell:first-child {
|
|
padding-left: 52px;
|
|
}
|
|
.task-table-row-level-3 .task-table-cell:first-child {
|
|
padding-left: 72px;
|
|
}
|
|
.task-table-row-level-4 .task-table-cell:first-child {
|
|
padding-left: 92px;
|
|
}
|
|
.task-table-row-level-5 .task-table-cell:first-child {
|
|
padding-left: 112px;
|
|
}
|
|
.task-table-text {
|
|
color: var(--text-normal);
|
|
}
|
|
.task-table-number {
|
|
text-align: right;
|
|
color: var(--text-muted);
|
|
font-variant-numeric: tabular-nums;
|
|
}
|
|
.task-table-status {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
}
|
|
.task-table-status-icon {
|
|
font-size: 14px;
|
|
display: flex;
|
|
align-items: center;
|
|
width: 16px;
|
|
height: 16px;
|
|
}
|
|
.task-table-status-text {
|
|
flex: 1;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
.task-table-status.completed .task-table-status-icon {
|
|
color: var(--text-success);
|
|
}
|
|
.task-table-status.in-progress .task-table-status-icon {
|
|
color: var(--text-warning);
|
|
}
|
|
.task-table-status.abandoned .task-table-status-icon {
|
|
color: var(--text-error);
|
|
}
|
|
.task-table-status.planned .task-table-status-icon {
|
|
color: var(--text-muted);
|
|
}
|
|
.task-table-status.not-started .task-table-status-icon {
|
|
color: var(--text-faint);
|
|
}
|
|
.task-table-priority {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
}
|
|
.task-table-priority.clickable-priority {
|
|
cursor: pointer;
|
|
padding: 4px;
|
|
border-radius: 4px;
|
|
transition: background-color 0.2s;
|
|
}
|
|
.task-table-priority.clickable-priority:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.task-table-priority-icon {
|
|
font-size: 14px;
|
|
display: flex;
|
|
align-items: center;
|
|
width: 16px;
|
|
height: 16px;
|
|
}
|
|
.task-table-priority-icon.high {
|
|
color: var(--text-error);
|
|
}
|
|
.task-table-priority-icon.medium {
|
|
color: var(--text-warning);
|
|
}
|
|
.task-table-priority-icon.low {
|
|
color: var(--text-muted);
|
|
}
|
|
.task-table-priority-text {
|
|
flex: 1;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
.task-table-priority-empty {
|
|
color: var(--text-faint);
|
|
font-style: italic;
|
|
}
|
|
.task-table-date {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 2px;
|
|
cursor: pointer;
|
|
transition: background-color 0.2s;
|
|
padding: 4px;
|
|
border-radius: 4px;
|
|
}
|
|
.task-table-date:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.task-table-date-text {
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-normal);
|
|
}
|
|
.task-table-date-relative {
|
|
font-size: var(--font-ui-smaller);
|
|
font-weight: 500;
|
|
}
|
|
.task-table-date-relative.today {
|
|
color: var(--text-success);
|
|
}
|
|
.task-table-date-relative.tomorrow {
|
|
color: var(--text-accent);
|
|
}
|
|
.task-table-date-relative.yesterday {
|
|
color: var(--text-muted);
|
|
}
|
|
.task-table-date-relative.overdue {
|
|
color: var(--text-error);
|
|
}
|
|
.task-table-date-relative.upcoming {
|
|
color: var(--text-warning);
|
|
}
|
|
.task-table-date-empty {
|
|
color: var(--text-faint);
|
|
font-style: italic;
|
|
}
|
|
.task-table-tags {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 4px;
|
|
align-items: center;
|
|
}
|
|
.task-table-tag-chip {
|
|
background-color: var(--background-modifier-accent);
|
|
color: var(--text-accent);
|
|
padding: 2px 6px;
|
|
border-radius: 8px;
|
|
font-size: var(--font-ui-smaller);
|
|
font-weight: 500;
|
|
white-space: nowrap;
|
|
}
|
|
.task-table-tags-empty {
|
|
color: var(--text-faint);
|
|
font-style: italic;
|
|
}
|
|
.task-table-text-input,
|
|
.task-table-tags-input {
|
|
border: none !important;
|
|
background: transparent !important;
|
|
outline: none !important;
|
|
width: 100% !important;
|
|
padding: 0 !important;
|
|
font: inherit !important;
|
|
color: var(--text-normal) !important;
|
|
}
|
|
.task-table-text-input:focus,
|
|
.task-table-tags-input:focus {
|
|
background-color: var(--background-modifier-form-field) !important;
|
|
border-radius: 3px !important;
|
|
padding: 2px 4px !important;
|
|
}
|
|
.task-count-icon {
|
|
font-size: 16px;
|
|
display: flex;
|
|
align-items: center;
|
|
width: 16px;
|
|
height: 16px;
|
|
}
|
|
.task-table-empty-row {
|
|
height: 80px;
|
|
}
|
|
.task-table-empty-cell {
|
|
text-align: center;
|
|
color: var(--text-muted);
|
|
font-style: italic;
|
|
vertical-align: middle;
|
|
}
|
|
.task-table-loading {
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translate(-50%, -50%);
|
|
padding: 20px;
|
|
background-color: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 8px;
|
|
color: var(--text-muted);
|
|
font-size: var(--font-ui-small);
|
|
z-index: 100;
|
|
}
|
|
.task-table.resizing {
|
|
user-select: none;
|
|
}
|
|
.task-table.resizing * {
|
|
cursor: col-resize !important;
|
|
}
|
|
.virtual-scroll-spacer {
|
|
pointer-events: none;
|
|
visibility: hidden;
|
|
}
|
|
@media (max-width: 768px) {
|
|
.task-table-container {
|
|
font-size: var(--font-ui-smaller);
|
|
}
|
|
.task-table-wrapper {
|
|
overflow-x: auto;
|
|
}
|
|
.task-table {
|
|
min-width: 800px;
|
|
}
|
|
.task-table-header-cell,
|
|
.task-table-cell {
|
|
padding: 6px 8px;
|
|
}
|
|
.task-table-row {
|
|
height: 36px;
|
|
}
|
|
.task-table-header-row {
|
|
height: 36px;
|
|
}
|
|
}
|
|
.theme-dark .task-table-container {
|
|
border-color: var(--background-modifier-border);
|
|
}
|
|
.theme-dark .task-table-row:nth-child(even) {
|
|
background-color: var(--background-primary-alt);
|
|
}
|
|
@media (prefers-contrast: high) {
|
|
.task-table-container {
|
|
border-width: 2px;
|
|
}
|
|
.task-table-header-cell,
|
|
.task-table-cell {
|
|
border-width: 1px;
|
|
}
|
|
.task-table-row {
|
|
border-bottom-width: 1px;
|
|
}
|
|
}
|
|
@media print {
|
|
.task-table-container {
|
|
border: none;
|
|
overflow: visible;
|
|
height: auto;
|
|
}
|
|
.task-table-header {
|
|
position: static;
|
|
}
|
|
.task-table-resize-handle {
|
|
display: none;
|
|
}
|
|
.task-table-expand-btn {
|
|
display: none;
|
|
}
|
|
}
|
|
.virtual-scroll-spacer-top {
|
|
pointer-events: none;
|
|
}
|
|
.virtual-scroll-spacer-top td {
|
|
padding: 0 !important;
|
|
border: none !important;
|
|
background: transparent !important;
|
|
}
|
|
.task-table-context-menu {
|
|
background: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 4px;
|
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
|
|
z-index: 1000;
|
|
min-width: 120px;
|
|
}
|
|
.task-table-context-menu-item {
|
|
padding: 6px 12px;
|
|
cursor: pointer;
|
|
transition: background-color 0.1s ease;
|
|
}
|
|
.task-table-context-menu-item:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.task-table-date-input {
|
|
cursor: pointer;
|
|
background: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 3px;
|
|
padding: 4px 8px;
|
|
width: 100%;
|
|
}
|
|
.task-table-date-input:hover {
|
|
border-color: var(--background-modifier-border-hover);
|
|
}
|
|
.task-table-date-input:focus {
|
|
border-color: var(--interactive-accent);
|
|
outline: none;
|
|
}
|
|
.task-table-project-input,
|
|
.task-table-context-input,
|
|
.task-table-tags-input {
|
|
background: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 3px;
|
|
padding: 4px 8px;
|
|
width: 100%;
|
|
}
|
|
.task-table-project-input:focus,
|
|
.task-table-context-input:focus,
|
|
.task-table-tags-input:focus {
|
|
border-color: var(--interactive-accent);
|
|
outline: none;
|
|
}
|
|
.task-table-row.selected {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.task-table-row:hover {
|
|
background-color: var(--background-modifier-hover-weak);
|
|
}
|
|
@media (max-width: 768px) {
|
|
.task-table {
|
|
font-size: 0.9em;
|
|
}
|
|
th[data-column-id=rowNumber] {
|
|
max-width: 40px !important;
|
|
min-width: 40px !important;
|
|
width: 40px !important;
|
|
}
|
|
.task-table-tree-container {
|
|
gap: 0 !important;
|
|
}
|
|
.task-table-expand-btn {
|
|
margin-right: 0 !important;
|
|
}
|
|
td[data-column-id=rowNumber] {
|
|
max-width: 40px !important;
|
|
min-width: 40px !important;
|
|
width: 40px !important;
|
|
}
|
|
.task-table-header-cell,
|
|
.task-table-cell {
|
|
padding: 6px 4px;
|
|
}
|
|
}
|
|
.task-table-header-bar {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: 6px 8px;
|
|
background-color: var(--background-secondary);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
border-radius: 6px 6px 0 0;
|
|
margin-bottom: 0;
|
|
flex-shrink: 0;
|
|
min-height: 40px;
|
|
}
|
|
.table-header-left {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
}
|
|
.table-header-right {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
}
|
|
.task-count-container {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
padding: 6px 12px;
|
|
background-color: var(--background-primary);
|
|
border-radius: 4px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.task-count-text {
|
|
font-size: var(--font-ui-small);
|
|
font-weight: 500;
|
|
color: var(--text-normal);
|
|
}
|
|
.table-controls-container {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
}
|
|
.table-control-btn {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
padding: 8px 12px;
|
|
background-color: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 4px;
|
|
cursor: pointer;
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-normal);
|
|
transition: all 0.2s ease;
|
|
box-shadow: unset !important;
|
|
}
|
|
.table-control-btn:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.table-control-btn:active {
|
|
background-color: var(--background-modifier-active);
|
|
}
|
|
.tree-mode-btn.active {
|
|
background-color: var(--text-accent);
|
|
color: var(--text-on-accent);
|
|
border-color: var(--text-accent);
|
|
}
|
|
.tree-mode-icon,
|
|
.refresh-icon,
|
|
.column-icon {
|
|
font-size: 14px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.tree-mode-text,
|
|
.refresh-text,
|
|
.column-text {
|
|
font-weight: 500;
|
|
}
|
|
.dropdown-arrow {
|
|
font-size: 10px;
|
|
transition: transform 0.2s ease;
|
|
}
|
|
.column-dropdown {
|
|
position: relative;
|
|
}
|
|
.column-dropdown-menu {
|
|
position: absolute;
|
|
top: 100%;
|
|
right: 0;
|
|
margin-top: 4px;
|
|
background-color: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 4px;
|
|
box-shadow: var(--shadow-l);
|
|
z-index: 1000;
|
|
min-width: 200px;
|
|
max-height: 300px;
|
|
overflow-y: auto;
|
|
}
|
|
.column-toggle-item {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
padding: 8px 12px;
|
|
cursor: pointer;
|
|
transition: background-color 0.2s ease;
|
|
}
|
|
.column-toggle-item:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.column-toggle-checkbox {
|
|
margin: 0;
|
|
cursor: pointer;
|
|
}
|
|
.column-toggle-label {
|
|
flex: 1;
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-normal);
|
|
cursor: pointer;
|
|
margin: 0;
|
|
}
|
|
@media (max-width: 768px) {
|
|
.task-table-header-bar {
|
|
flex-direction: column;
|
|
gap: 12px;
|
|
align-items: stretch;
|
|
}
|
|
.table-header-left {
|
|
display: none;
|
|
}
|
|
.table-header-left,
|
|
.table-header-right {
|
|
justify-content: center;
|
|
}
|
|
.table-controls-container {
|
|
justify-content: center;
|
|
flex-wrap: wrap;
|
|
}
|
|
.table-control-btn {
|
|
flex: 1;
|
|
min-width: 100px;
|
|
justify-content: center;
|
|
}
|
|
.column-dropdown-menu {
|
|
right: auto;
|
|
left: 0;
|
|
width: 100%;
|
|
}
|
|
}
|
|
.theme-dark .task-table-header-bar {
|
|
background-color: var(--background-secondary-alt);
|
|
}
|
|
.theme-dark .column-dropdown-menu {
|
|
background-color: var(--background-primary-alt);
|
|
border-color: var(--background-modifier-border-hover);
|
|
}
|
|
.custom-suggest-dropdown {
|
|
background-color: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 4px;
|
|
box-shadow: var(--shadow-l);
|
|
z-index: 1000;
|
|
position: absolute;
|
|
max-height: 200px;
|
|
overflow-y: auto;
|
|
min-width: 150px;
|
|
}
|
|
.custom-suggest-dropdown .suggestion-item {
|
|
padding: 8px 12px;
|
|
cursor: pointer;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
transition: background-color 0.2s;
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-normal);
|
|
}
|
|
.custom-suggest-dropdown .suggestion-item:last-child {
|
|
border-bottom: none;
|
|
}
|
|
.custom-suggest-dropdown .suggestion-item:hover,
|
|
.custom-suggest-dropdown .suggestion-item.selected {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.custom-suggest-dropdown .suggestion-item.selected {
|
|
color: var(--text-accent);
|
|
}
|
|
.task-table-subtask {
|
|
border-left: 2px solid var(--background-modifier-border-hover);
|
|
}
|
|
.task-table-parent .task-table-cell:first-child {
|
|
font-weight: 500;
|
|
}
|
|
.task-table-subtask-cell {
|
|
border-left: 1px solid var(--background-modifier-border-focus);
|
|
}
|
|
.task-table-tree-container {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
width: 100%;
|
|
}
|
|
.task-table-tree-structure {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 2px;
|
|
flex-shrink: 0;
|
|
}
|
|
.task-table-tree-line {
|
|
font-family: monospace;
|
|
font-size: 12px;
|
|
color: var(--text-faint);
|
|
line-height: 1;
|
|
width: 16px;
|
|
text-align: center;
|
|
}
|
|
.task-table-tree-connector {
|
|
color: var(--text-muted);
|
|
}
|
|
.task-table-tree-vertical {
|
|
color: var(--text-faint);
|
|
}
|
|
.task-table-subtask-indicator {
|
|
font-size: 10px;
|
|
color: var(--text-accent);
|
|
margin-right: 6px;
|
|
margin-left: 4px;
|
|
flex-shrink: 0;
|
|
font-weight: bold;
|
|
}
|
|
.task-table-top-level-expand {
|
|
margin-right: 6px;
|
|
}
|
|
.task-table-content-wrapper {
|
|
flex: 1;
|
|
min-width: 0;
|
|
}
|
|
.task-table-child-indicator {
|
|
font-size: 10px;
|
|
color: var(--text-muted);
|
|
margin-left: 6px;
|
|
flex-shrink: 0;
|
|
}
|
|
.task-table-status.clickable-status {
|
|
cursor: pointer;
|
|
padding: 4px;
|
|
border-radius: 4px;
|
|
transition: background-color 0.2s;
|
|
}
|
|
.task-table-status.clickable-status:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.task-table-priority-icon.highest {
|
|
color: var(--text-error);
|
|
filter: brightness(1.2);
|
|
}
|
|
.task-table-priority-icon.lowest {
|
|
color: var(--text-faint);
|
|
}
|
|
.task-table-expand-btn.clickable-icon {
|
|
opacity: 0.7;
|
|
transition: opacity 0.2s, background-color 0.2s;
|
|
}
|
|
.task-table-expand-btn.clickable-icon:hover {
|
|
opacity: 1;
|
|
}
|
|
.task-table-row-level-1 .task-table-cell:first-child,
|
|
.task-table-row-level-2 .task-table-cell:first-child,
|
|
.task-table-row-level-3 .task-table-cell:first-child,
|
|
.task-table-row-level-4 .task-table-cell:first-child,
|
|
.task-table-row-level-5 .task-table-cell:first-child {
|
|
padding-left: 12px;
|
|
}
|
|
|
|
/* src/styles/quadrant/quadrant.css */
|
|
.tg-quadrant-component-container {
|
|
height: 100%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: hidden;
|
|
background: var(--background-primary);
|
|
width: 100%;
|
|
}
|
|
.tg-quadrant-header {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
padding: var(--size-4-3) var(--size-4-4);
|
|
background: var(--background-primary);
|
|
flex-shrink: 0;
|
|
}
|
|
.tg-quadrant-title {
|
|
font-size: var(--font-ui-medium);
|
|
font-weight: var(--font-semibold);
|
|
color: var(--text-normal);
|
|
margin: 0;
|
|
}
|
|
.tg-quadrant-controls {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-2-3);
|
|
}
|
|
.tg-quadrant-sort-select {
|
|
padding: var(--size-2-2) var(--size-2-3);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
background: var(--background-primary);
|
|
color: var(--text-normal);
|
|
font-size: var(--font-ui-small);
|
|
cursor: pointer;
|
|
transition: border-color 0.2s ease;
|
|
}
|
|
.tg-quadrant-sort-select:hover {
|
|
border-color: var(--background-modifier-border-hover);
|
|
}
|
|
.tg-quadrant-sort-select:focus {
|
|
border-color: var(--color-accent);
|
|
outline: none;
|
|
}
|
|
.tg-quadrant-toggle-empty {
|
|
padding: var(--size-2-2);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
background: var(--background-primary);
|
|
color: var(--text-muted);
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
width: 28px;
|
|
height: 28px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.tg-quadrant-toggle-empty:hover {
|
|
background: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
border-color: var(--background-modifier-border-hover);
|
|
}
|
|
.tg-quadrant-filter-container {
|
|
flex-shrink: 0;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
}
|
|
.tg-quadrant-grid {
|
|
display: grid;
|
|
grid-template-columns: 1fr 1fr;
|
|
grid-template-rows: 1fr 1fr;
|
|
gap: 1px;
|
|
flex: 1;
|
|
background: var(--background-modifier-border);
|
|
overflow: hidden;
|
|
}
|
|
.tg-quadrant-column {
|
|
display: flex;
|
|
flex-direction: column;
|
|
background: var(--background-primary);
|
|
min-height: 0;
|
|
overflow: hidden;
|
|
position: relative;
|
|
}
|
|
.tg-quadrant-column--hidden {
|
|
display: none;
|
|
}
|
|
.tg-quadrant-column .tg-quadrant-header {
|
|
padding: var(--size-4-2) var(--size-4-3);
|
|
background: var(--background-secondary);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
flex-shrink: 0;
|
|
position: relative;
|
|
min-height: var(--size-4-12);
|
|
}
|
|
.tg-quadrant-title-container {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-2-2);
|
|
margin-bottom: var(--size-2-1);
|
|
}
|
|
.tg-quadrant-priority {
|
|
font-size: var(--font-ui-medium);
|
|
line-height: 1;
|
|
opacity: 0.8;
|
|
}
|
|
.tg-quadrant-column .tg-quadrant-title {
|
|
font-size: var(--font-ui-small);
|
|
font-weight: var(--font-semibold);
|
|
color: var(--text-normal);
|
|
margin: 0;
|
|
}
|
|
.tg-quadrant-description {
|
|
font-size: var(--font-ui-smaller);
|
|
color: var(--text-muted);
|
|
margin-bottom: var(--size-2-2);
|
|
line-height: 1.3;
|
|
}
|
|
.tg-quadrant-count {
|
|
font-size: var(--font-ui-smaller);
|
|
color: var(--text-faint);
|
|
background: var(--background-modifier-border);
|
|
padding: var(--size-2-1) var(--size-2-2);
|
|
border-radius: var(--radius-s);
|
|
font-weight: var(--font-medium);
|
|
}
|
|
.tg-quadrant-column-content {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
padding: var(--size-2-3);
|
|
min-height: 100px;
|
|
}
|
|
.tg-quadrant-column-content::-webkit-scrollbar {
|
|
width: 8px;
|
|
}
|
|
.tg-quadrant-column-content::-webkit-scrollbar-track {
|
|
background: transparent;
|
|
}
|
|
.tg-quadrant-column-content::-webkit-scrollbar-thumb {
|
|
background: var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
}
|
|
.tg-quadrant-column-content::-webkit-scrollbar-thumb:hover {
|
|
background: var(--background-modifier-border-hover);
|
|
}
|
|
.tg-quadrant-column-content--drop-active {
|
|
background: var(--background-modifier-hover);
|
|
border: 2px dashed var(--color-accent);
|
|
border-radius: var(--radius-m);
|
|
}
|
|
.quadrant-urgent-important .tg-quadrant-header::before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
height: 3px;
|
|
background: var(--text-error);
|
|
opacity: 0.6;
|
|
}
|
|
.quadrant-not-urgent-important .tg-quadrant-header::before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
height: 3px;
|
|
background: var(--color-accent);
|
|
opacity: 0.6;
|
|
}
|
|
.quadrant-urgent-not-important .tg-quadrant-header::before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
height: 3px;
|
|
background: var(--text-warning);
|
|
opacity: 0.6;
|
|
}
|
|
.quadrant-not-urgent-not-important .tg-quadrant-header::before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
height: 3px;
|
|
background: var(--text-muted);
|
|
opacity: 0.4;
|
|
}
|
|
.tg-quadrant-card {
|
|
background: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
margin-bottom: var(--size-2-3);
|
|
padding: var(--size-4-2);
|
|
cursor: pointer;
|
|
transition: all 0.15s ease;
|
|
position: relative;
|
|
}
|
|
.tg-quadrant-card:hover {
|
|
background: var(--background-modifier-hover);
|
|
border-color: var(--background-modifier-border-hover);
|
|
transform: translateY(-1px);
|
|
box-shadow: var(--shadow-s);
|
|
}
|
|
.tg-quadrant-card:active {
|
|
transform: translateY(0);
|
|
}
|
|
.tg-quadrant-card:last-child {
|
|
margin-bottom: 0;
|
|
}
|
|
.tg-quadrant-card-header {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
justify-content: space-between;
|
|
margin-bottom: var(--size-2-2);
|
|
gap: var(--size-2-2);
|
|
}
|
|
.tg-quadrant-card-checkbox {
|
|
flex-shrink: 0;
|
|
margin-top: 2px;
|
|
}
|
|
.tg-quadrant-card-actions {
|
|
flex-shrink: 0;
|
|
opacity: 0;
|
|
transition: opacity 0.2s ease;
|
|
}
|
|
.tg-quadrant-card:hover .tg-quadrant-card-actions {
|
|
opacity: 1;
|
|
}
|
|
.tg-quadrant-card-more-btn {
|
|
background: none;
|
|
border: none;
|
|
padding: var(--size-2-1);
|
|
border-radius: var(--radius-s);
|
|
color: var(--text-muted);
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
width: 24px;
|
|
height: 24px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.tg-quadrant-card-more-btn:hover {
|
|
background: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.tg-quadrant-card-content {
|
|
margin-bottom: var(--size-2-2);
|
|
}
|
|
.tg-quadrant-card-title {
|
|
font-size: var(--font-ui-small);
|
|
line-height: 1.4;
|
|
color: var(--text-normal);
|
|
margin-bottom: var(--size-2-1);
|
|
word-wrap: break-word;
|
|
font-weight: var(--font-normal);
|
|
}
|
|
.tg-quadrant-card-priority {
|
|
font-size: var(--font-ui-small);
|
|
margin-left: var(--size-2-1);
|
|
opacity: 0.8;
|
|
}
|
|
.tg-quadrant-card-tags {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: var(--size-2-1);
|
|
margin-top: var(--size-2-2);
|
|
}
|
|
.tg-quadrant-card-tag {
|
|
background: var(--background-modifier-border);
|
|
color: var(--text-muted);
|
|
padding: var(--size-2-1) var(--size-2-2);
|
|
border-radius: var(--radius-s);
|
|
font-size: var(--font-ui-smaller);
|
|
font-weight: var(--font-medium);
|
|
border: 1px solid transparent;
|
|
transition: all 0.2s ease;
|
|
}
|
|
.tg-quadrant-card-tag:hover {
|
|
background: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.tg-quadrant-tag--urgent {
|
|
background: var(--background-modifier-error);
|
|
color: var(--text-error);
|
|
border-color: var(--text-error);
|
|
}
|
|
.tg-quadrant-tag--important {
|
|
background: var(--background-modifier-accent);
|
|
color: var(--text-accent);
|
|
border-color: var(--color-accent);
|
|
}
|
|
.tg-quadrant-card-metadata {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
font-size: var(--font-ui-smaller);
|
|
color: var(--text-faint);
|
|
gap: var(--size-2-2);
|
|
}
|
|
.tg-quadrant-card-due-date {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-2-1);
|
|
background: var(--background-modifier-border);
|
|
padding: var(--size-2-1) var(--size-2-2);
|
|
border-radius: var(--radius-s);
|
|
font-weight: var(--font-medium);
|
|
}
|
|
.tg-quadrant-card-due-date-icon {
|
|
width: 12px;
|
|
height: 12px;
|
|
opacity: 0.7;
|
|
}
|
|
.tg-quadrant-card-due-date--urgent {
|
|
color: var(--text-warning);
|
|
}
|
|
.tg-quadrant-card-due-date--overdue {
|
|
color: var(--text-error);
|
|
}
|
|
.tg-quadrant-card-file-info {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: var(--size-4-2);
|
|
opacity: 0.7;
|
|
transition: opacity 0.2s ease;
|
|
}
|
|
.tg-quadrant-card:hover .tg-quadrant-card-file-info {
|
|
opacity: 1;
|
|
}
|
|
.tg-quadrant-card-file-icon {
|
|
width: 12px;
|
|
height: 12px;
|
|
}
|
|
.tg-quadrant-card-file-name {
|
|
font-size: var(--font-ui-smaller);
|
|
max-width: 120px;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
.tg-quadrant-card-line {
|
|
color: var(--text-faint);
|
|
font-size: var(--font-ui-smaller);
|
|
opacity: 0.6;
|
|
font-weight: var(--font-medium);
|
|
}
|
|
.tg-quadrant-card--priority-highest {
|
|
border-left: 3px solid var(--text-error);
|
|
}
|
|
.tg-quadrant-card--priority-high {
|
|
border-left: 3px solid var(--text-warning);
|
|
}
|
|
.tg-quadrant-card--priority-medium {
|
|
border-left: 3px solid var(--color-accent);
|
|
}
|
|
.tg-quadrant-card--priority-low {
|
|
border-left: 3px solid var(--text-success);
|
|
}
|
|
.tg-quadrant-card--priority-lowest {
|
|
border-left: 3px solid var(--text-muted);
|
|
}
|
|
.tg-quadrant-card--ghost {
|
|
opacity: 0.4;
|
|
background: var(--background-modifier-border);
|
|
border: 2px dashed var(--color-accent);
|
|
}
|
|
.tg-quadrant-card--dragging {
|
|
box-shadow: var(--shadow-l);
|
|
}
|
|
.tg-quadrant-card--chosen {
|
|
background: var(--background-modifier-hover);
|
|
border-color: var(--color-accent);
|
|
box-shadow: var(--shadow-s);
|
|
}
|
|
.tg-quadrant-card--drag {
|
|
box-shadow: var(--shadow-l);
|
|
z-index: 1000;
|
|
border-color: var(--color-accent);
|
|
}
|
|
.tg-quadrant-empty-state {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
height: 120px;
|
|
color: var(--text-faint);
|
|
text-align: center;
|
|
padding: var(--size-4-4);
|
|
opacity: 0.8;
|
|
}
|
|
.tg-quadrant-empty-icon {
|
|
width: 32px;
|
|
height: 32px;
|
|
margin-bottom: var(--size-2-3);
|
|
opacity: 0.5;
|
|
color: var(--text-faint);
|
|
}
|
|
.tg-quadrant-empty-message {
|
|
font-size: var(--font-ui-small);
|
|
line-height: 1.4;
|
|
font-weight: var(--font-medium);
|
|
}
|
|
@media (max-width: 768px) {
|
|
.tg-quadrant-grid {
|
|
grid-template-columns: 1fr;
|
|
grid-template-rows: repeat(4, 1fr);
|
|
}
|
|
.tg-quadrant-header {
|
|
padding: var(--size-2-3) var(--size-4-2);
|
|
}
|
|
.tg-quadrant-column .tg-quadrant-header {
|
|
padding: var(--size-2-3) var(--size-4-2);
|
|
}
|
|
.tg-quadrant-card {
|
|
padding: var(--size-2-3);
|
|
}
|
|
.tg-quadrant-card-title {
|
|
font-size: var(--font-ui-smaller);
|
|
}
|
|
.tg-quadrant-controls {
|
|
gap: var(--size-2-2);
|
|
}
|
|
}
|
|
.tg-quadrant-card:focus {
|
|
outline: 2px solid var(--color-accent);
|
|
outline-offset: 2px;
|
|
}
|
|
.tg-quadrant-card-more-btn:focus {
|
|
outline: 2px solid var(--color-accent);
|
|
outline-offset: 2px;
|
|
}
|
|
@keyframes cardComplete {
|
|
0% {
|
|
transform: scale(1);
|
|
}
|
|
50% {
|
|
transform: scale(1.05);
|
|
}
|
|
100% {
|
|
transform: scale(1);
|
|
}
|
|
}
|
|
.tg-quadrant-card--completed {
|
|
animation: cardComplete 0.3s ease-in-out;
|
|
}
|
|
.tg-quadrant-card:hover .tg-quadrant-card-title {
|
|
color: var(--text-normal);
|
|
}
|
|
.tg-quadrant-card:hover .tg-quadrant-card-priority {
|
|
opacity: 1;
|
|
}
|
|
.tg-quadrant-card-content {
|
|
position: relative;
|
|
}
|
|
.tg-quadrant-loading {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: 2rem;
|
|
color: var(--text-muted);
|
|
min-height: 100px;
|
|
}
|
|
.tg-quadrant-loading-spinner {
|
|
margin-bottom: 1rem;
|
|
}
|
|
.tg-quadrant-spinner {
|
|
width: 24px;
|
|
height: 24px;
|
|
color: var(--color-accent);
|
|
}
|
|
.tg-quadrant-loading-message {
|
|
font-size: 0.9rem;
|
|
opacity: 0.7;
|
|
}
|
|
.tg-quadrant-dragging {
|
|
cursor: grabbing !important;
|
|
}
|
|
.tg-quadrant-dragging * {
|
|
pointer-events: none;
|
|
}
|
|
.tg-quadrant-card--ghost {
|
|
opacity: 0.4;
|
|
background: var(--background-modifier-border);
|
|
border: 2px dashed var(--color-accent);
|
|
}
|
|
.tg-quadrant-card--chosen {
|
|
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
|
|
transform: scale(1.02);
|
|
z-index: 1000;
|
|
background: var(--background-primary);
|
|
border: 2px solid var(--color-accent);
|
|
}
|
|
.tg-quadrant-card--drag {
|
|
opacity: 0.8;
|
|
box-shadow: 0 12px 30px rgba(0, 0, 0, 0.2);
|
|
}
|
|
.tg-quadrant-card--fallback {
|
|
opacity: 0.9;
|
|
background: var(--background-primary);
|
|
border: 2px solid var(--color-accent);
|
|
border-radius: var(--radius-m);
|
|
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
|
|
}
|
|
.tg-quadrant-column--drag-target {
|
|
background: var(--background-modifier-hover);
|
|
border: 2px dashed var(--color-accent);
|
|
border-radius: var(--radius-m);
|
|
}
|
|
.tg-quadrant-column-content--drop-active {
|
|
background: var(--background-modifier-active-hover);
|
|
border: 2px dashed var(--color-accent);
|
|
border-radius: var(--radius-s);
|
|
min-height: 60px;
|
|
position: relative;
|
|
}
|
|
.tg-quadrant-column-content--drop-active::before {
|
|
content: "Drop task here";
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translate(-50%, -50%);
|
|
color: var(--color-accent);
|
|
font-size: 0.9rem;
|
|
font-weight: 500;
|
|
opacity: 0.7;
|
|
pointer-events: none;
|
|
z-index: 1;
|
|
}
|
|
.tg-quadrant-update-feedback {
|
|
position: fixed;
|
|
top: 20px;
|
|
right: 20px;
|
|
z-index: 10000;
|
|
opacity: 0;
|
|
transform: translateX(100%);
|
|
transition: all 0.3s ease;
|
|
pointer-events: none;
|
|
}
|
|
.tg-quadrant-feedback--show {
|
|
opacity: 1;
|
|
transform: translateX(0);
|
|
}
|
|
.tg-quadrant-feedback--hide {
|
|
opacity: 0;
|
|
transform: translateX(100%);
|
|
}
|
|
.tg-quadrant-feedback-content {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
padding: 0.75rem 1rem;
|
|
background: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-m);
|
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
|
|
min-width: 200px;
|
|
}
|
|
.tg-quadrant-feedback--error .tg-quadrant-feedback-content {
|
|
background: var(--background-modifier-error);
|
|
border-color: var(--text-error);
|
|
color: var(--text-error);
|
|
}
|
|
.tg-quadrant-feedback-icon {
|
|
font-size: 1.2rem;
|
|
flex-shrink: 0;
|
|
}
|
|
.tg-quadrant-feedback-text {
|
|
font-size: 0.9rem;
|
|
font-weight: 500;
|
|
}
|
|
.tg-quadrant-card {
|
|
transition: all 0.2s ease;
|
|
cursor: grab;
|
|
}
|
|
.tg-quadrant-card:hover {
|
|
transform: translateY(-2px);
|
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
|
|
}
|
|
.tg-quadrant-card:active {
|
|
cursor: grabbing;
|
|
}
|
|
.tg-quadrant-empty-state {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: 2rem 1rem;
|
|
text-align: center;
|
|
color: var(--text-muted);
|
|
min-height: 120px;
|
|
border: 2px dashed var(--background-modifier-border);
|
|
border-radius: var(--radius-m);
|
|
margin: 0.5rem 0;
|
|
}
|
|
.tg-quadrant-empty-icon {
|
|
margin-bottom: 0.75rem;
|
|
opacity: 0.5;
|
|
}
|
|
.tg-quadrant-empty-message {
|
|
font-size: 0.9rem;
|
|
line-height: 1.4;
|
|
max-width: 200px;
|
|
}
|
|
@keyframes spin {
|
|
0% {
|
|
transform: rotate(0deg);
|
|
}
|
|
100% {
|
|
transform: rotate(360deg);
|
|
}
|
|
}
|
|
.tg-quadrant-spinner circle {
|
|
animation: spin 2s linear infinite;
|
|
transform-origin: center;
|
|
}
|
|
@media (max-width: 768px) {
|
|
.tg-quadrant-update-feedback {
|
|
top: 10px;
|
|
right: 10px;
|
|
left: 10px;
|
|
transform: translateY(-100%);
|
|
}
|
|
.tg-quadrant-feedback--show {
|
|
transform: translateY(0);
|
|
}
|
|
.tg-quadrant-feedback--hide {
|
|
transform: translateY(-100%);
|
|
}
|
|
.tg-quadrant-feedback-content {
|
|
min-width: auto;
|
|
width: 100%;
|
|
}
|
|
}
|
|
.theme-dark .tg-quadrant-card--chosen {
|
|
background: var(--background-primary-alt);
|
|
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
|
|
}
|
|
.theme-dark .tg-quadrant-card--fallback {
|
|
background: var(--background-primary-alt);
|
|
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
|
|
}
|
|
.theme-dark .tg-quadrant-feedback-content {
|
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
|
|
}
|
|
@media (prefers-reduced-motion: reduce) {
|
|
.tg-quadrant-card,
|
|
.tg-quadrant-update-feedback,
|
|
.tg-quadrant-card--chosen,
|
|
.tg-quadrant-card--drag {
|
|
transition: none;
|
|
animation: none;
|
|
}
|
|
.tg-quadrant-spinner circle {
|
|
animation: none;
|
|
}
|
|
}
|
|
.tg-quadrant-scroll-container {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
overflow-x: hidden;
|
|
max-height: 70vh;
|
|
scrollbar-width: thin;
|
|
scrollbar-color: var(--background-modifier-border) transparent;
|
|
}
|
|
.tg-quadrant-scroll-container::-webkit-scrollbar {
|
|
width: 6px;
|
|
}
|
|
.tg-quadrant-scroll-container::-webkit-scrollbar-track {
|
|
background: transparent;
|
|
}
|
|
.tg-quadrant-scroll-container::-webkit-scrollbar-thumb {
|
|
background: var(--background-modifier-border);
|
|
border-radius: 3px;
|
|
}
|
|
.tg-quadrant-scroll-container::-webkit-scrollbar-thumb:hover {
|
|
background: var(--background-modifier-border-hover);
|
|
}
|
|
.tg-quadrant-load-more {
|
|
display: none;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: 1rem;
|
|
color: var(--text-muted);
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
margin-top: 0.5rem;
|
|
}
|
|
.tg-quadrant-load-more--visible {
|
|
display: flex;
|
|
}
|
|
.tg-quadrant-load-more-spinner {
|
|
margin-bottom: 0.5rem;
|
|
width: 24px;
|
|
height: 24px;
|
|
color: var(--interactive-accent);
|
|
}
|
|
.tg-quadrant-load-more-spinner svg {
|
|
animation: spin 1s linear infinite;
|
|
}
|
|
.tg-quadrant-load-more-message {
|
|
font-size: 0.8rem;
|
|
opacity: 0.7;
|
|
}
|
|
.tg-quadrant-column {
|
|
display: flex;
|
|
flex-direction: column;
|
|
height: 100%;
|
|
min-height: 400px;
|
|
max-height: 80vh;
|
|
}
|
|
.tg-quadrant-column-content {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.5rem;
|
|
padding: 0.5rem;
|
|
}
|
|
.tg-quadrant-scroll-container {
|
|
scroll-behavior: smooth;
|
|
}
|
|
.tg-quadrant-column.loading-more .tg-quadrant-load-more {
|
|
opacity: 1;
|
|
pointer-events: none;
|
|
}
|
|
.tg-quadrant-load-more {
|
|
min-height: 40px;
|
|
transition: opacity 0.2s ease;
|
|
}
|
|
.tg-quadrant-column-content:empty::before {
|
|
content: "";
|
|
display: block;
|
|
min-height: 100px;
|
|
}
|
|
.tg-quadrant-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(2, 1fr);
|
|
height: calc(100vh - 200px);
|
|
min-height: 400px;
|
|
}
|
|
@media (max-width: 1200px) {
|
|
.tg-quadrant-scroll-container {
|
|
max-height: 60vh;
|
|
}
|
|
.tg-quadrant-column {
|
|
max-height: 70vh;
|
|
}
|
|
}
|
|
@media (max-width: 768px) {
|
|
.tg-quadrant-scroll-container {
|
|
max-height: 50vh;
|
|
}
|
|
.tg-quadrant-column {
|
|
max-height: 60vh;
|
|
min-height: 300px;
|
|
}
|
|
.tg-quadrant-grid {
|
|
grid-template-columns: 1fr;
|
|
height: auto;
|
|
}
|
|
}
|
|
.tg-quadrant-column-content {
|
|
contain: layout style;
|
|
will-change: contents;
|
|
}
|
|
.tg-quadrant-card {
|
|
contain: layout style paint;
|
|
}
|
|
.tg-quadrant-scroll-container.has-scroll::before {
|
|
content: "";
|
|
position: sticky;
|
|
top: 0;
|
|
height: 1px;
|
|
background:
|
|
linear-gradient(
|
|
to bottom,
|
|
var(--background-primary),
|
|
transparent);
|
|
z-index: 1;
|
|
}
|
|
.tg-quadrant-scroll-container.has-scroll::after {
|
|
content: "";
|
|
position: sticky;
|
|
bottom: 0;
|
|
height: 1px;
|
|
background:
|
|
linear-gradient(
|
|
to top,
|
|
var(--background-primary),
|
|
transparent);
|
|
z-index: 1;
|
|
}
|
|
|
|
/* src/styles/task-timer.css */
|
|
.task-timer-widget {
|
|
display: block;
|
|
margin: 4px 0;
|
|
padding: 2px 0;
|
|
font-size: 0.9em;
|
|
color: var(--text-muted);
|
|
line-height: 1.4;
|
|
}
|
|
.task-timer-start,
|
|
.task-timer-action {
|
|
cursor: pointer;
|
|
text-decoration: underline;
|
|
color: var(--text-accent);
|
|
}
|
|
.task-timer-start:hover,
|
|
.task-timer-action:hover {
|
|
color: var(--text-accent-hover);
|
|
}
|
|
|
|
/* src/styles/setting.css */
|
|
.experimental-settings-section {
|
|
margin: 20px 0;
|
|
}
|
|
.experimental-section-heading {
|
|
margin: 20px 0 10px 0;
|
|
color: var(--text-normal);
|
|
}
|
|
.experimental-subsection-heading {
|
|
margin: 15px 0 8px 0;
|
|
color: var(--text-muted);
|
|
font-size: 0.9em;
|
|
}
|
|
.experimental-warning {
|
|
background: var(--background-modifier-error);
|
|
color: var(--text-on-accent);
|
|
padding: 12px;
|
|
border-radius: 6px;
|
|
margin: 10px 0 20px 0;
|
|
border-left: 4px solid var(--color-red);
|
|
}
|
|
.experimental-dataflow-section {
|
|
margin: 15px 0;
|
|
padding: 15px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 8px;
|
|
}
|
|
.experimental-info {
|
|
color: var(--text-muted);
|
|
font-size: 0.85em;
|
|
margin-top: 8px;
|
|
line-height: 1.4;
|
|
}
|
|
.experimental-restart-notice {
|
|
background: var(--background-modifier-form-field);
|
|
color: var(--text-muted);
|
|
padding: 8px;
|
|
border-radius: 4px;
|
|
margin-top: 10px;
|
|
font-size: 0.85em;
|
|
}
|
|
.task-states-container {
|
|
margin: 10px 0;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 5px;
|
|
padding: 10px;
|
|
}
|
|
.task-state-row {
|
|
margin-bottom: 8px;
|
|
}
|
|
.task-state-row .setting-item {
|
|
border: none;
|
|
padding: 6px;
|
|
border-radius: 4px;
|
|
}
|
|
.task-state-row .setting-item-info {
|
|
margin-right: 10px;
|
|
}
|
|
.task-state-row .setting-item-control {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: flex-end;
|
|
flex-wrap: nowrap;
|
|
}
|
|
.task-state-row .setting-item-control input[type=text] {
|
|
margin-right: 8px;
|
|
}
|
|
.task-state-row .extra-setting-button {
|
|
padding: 4px;
|
|
width: 24px;
|
|
height: 24px;
|
|
border-radius: 4px;
|
|
margin-left: 4px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.task-state-row .setting-item-control button {
|
|
white-space: nowrap;
|
|
}
|
|
.task-state-container {
|
|
margin-inline-start: calc(var(--checkbox-size) * -1);
|
|
}
|
|
.task-state-container .task-state {
|
|
padding-inline-start: var(--size-2-1);
|
|
padding-inline-end: var(--size-2-2);
|
|
text-decoration: none !important;
|
|
cursor: pointer;
|
|
}
|
|
.experimental-settings-section {
|
|
margin: 20px 0;
|
|
}
|
|
.experimental-section-heading {
|
|
margin: 20px 0 10px 0;
|
|
color: var(--text-normal);
|
|
}
|
|
.experimental-subsection-heading {
|
|
margin: 15px 0 8px 0;
|
|
color: var(--text-muted);
|
|
font-size: 0.9em;
|
|
}
|
|
.experimental-warning {
|
|
background: var(--background-modifier-error);
|
|
color: var(--text-on-accent);
|
|
padding: 12px;
|
|
border-radius: 6px;
|
|
margin: 10px 0 20px 0;
|
|
border-left: 4px solid var(--color-red);
|
|
}
|
|
.experimental-dataflow-section {
|
|
margin: 15px 0;
|
|
padding: 15px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 8px;
|
|
}
|
|
.experimental-info {
|
|
color: var(--text-muted);
|
|
font-size: 0.85em;
|
|
margin-top: 8px;
|
|
line-height: 1.4;
|
|
}
|
|
.experimental-restart-notice {
|
|
background: var(--background-modifier-form-field);
|
|
color: var(--text-muted);
|
|
padding: 8px;
|
|
border-radius: 4px;
|
|
margin-top: 10px;
|
|
font-size: 0.85em;
|
|
}
|
|
.task-states-container {
|
|
margin: 10px 0;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 5px;
|
|
padding: 10px;
|
|
}
|
|
.task-state-row {
|
|
margin-bottom: 8px;
|
|
}
|
|
.task-state-row .setting-item {
|
|
border: none;
|
|
padding: 6px;
|
|
border-radius: 4px;
|
|
}
|
|
.task-state-row .setting-item-info {
|
|
margin-right: 10px;
|
|
}
|
|
.task-state-row .setting-item-control {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: flex-end;
|
|
flex-wrap: nowrap;
|
|
}
|
|
.task-state-row .setting-item-control input[type=text] {
|
|
margin-right: 8px;
|
|
}
|
|
.task-state-row .extra-setting-button {
|
|
padding: 4px;
|
|
width: 24px;
|
|
height: 24px;
|
|
border-radius: 4px;
|
|
margin-left: 4px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.task-state-row .setting-item-control button {
|
|
white-space: nowrap;
|
|
}
|
|
.task-state-container {
|
|
margin-inline-start: calc(var(--checkbox-size) * -1);
|
|
}
|
|
.task-state-container .task-state {
|
|
padding-inline-start: var(--size-2-1);
|
|
padding-inline-end: var(--size-2-2);
|
|
text-decoration: none !important;
|
|
cursor: pointer;
|
|
}
|
|
.task-genius-settings .settings-tabs-categorized-container {
|
|
margin-top: var(--size-4-4);
|
|
margin-bottom: var(--size-4-4);
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-6);
|
|
}
|
|
.task-genius-settings .settings-category-section {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-2);
|
|
}
|
|
.task-genius-settings .settings-category-header {
|
|
font-size: var(--font-ui-small);
|
|
font-weight: var(--font-weight-semibold);
|
|
color: var(--text-muted);
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.05em;
|
|
padding: 0 var(--size-4-2);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
padding-bottom: var(--size-4-1);
|
|
}
|
|
.task-genius-settings .settings-category-tabs {
|
|
display: grid;
|
|
grid-template-columns: repeat(3, minmax(200px, 1fr));
|
|
gap: var(--size-4-2);
|
|
}
|
|
@media (max-width: 1200px) {
|
|
.task-genius-settings .settings-category-tabs {
|
|
grid-template-columns: repeat(2, minmax(200px, 1fr));
|
|
}
|
|
}
|
|
@media (max-width: 768px) {
|
|
.task-genius-settings .settings-category-tabs {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
}
|
|
.task-genius-settings .settings-tabs-container {
|
|
display: grid;
|
|
grid-template-columns: repeat(2, 1fr);
|
|
grid-auto-rows: var(--size-4-18);
|
|
margin-top: var(--size-4-4);
|
|
margin-bottom: var(--size-4-4);
|
|
height: fit-content;
|
|
gap: var(--size-4-4);
|
|
}
|
|
@media (max-width: 768px) {
|
|
.task-genius-settings .settings-tabs-container {
|
|
grid-template-columns: repeat(1, 1fr);
|
|
}
|
|
}
|
|
.task-genius-settings .settings-tab {
|
|
padding: var(--size-4-3) var(--size-4-4);
|
|
border-radius: var(--radius-m);
|
|
cursor: pointer;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-4-2);
|
|
min-height: var(--size-4-12);
|
|
border: 1px solid var(--background-modifier-border);
|
|
background: var(--background-primary);
|
|
position: relative;
|
|
overflow: hidden;
|
|
transition: all 0.2s ease;
|
|
}
|
|
.task-genius-settings .settings-tab::after {
|
|
content: "";
|
|
position: absolute;
|
|
top: 10px;
|
|
right: -80px;
|
|
width: 200px;
|
|
height: 200px;
|
|
background-color: var(--background-secondary-alt);
|
|
transform: rotateZ(-15deg);
|
|
z-index: 0;
|
|
opacity: 0.7;
|
|
transition: all 0.3s ease;
|
|
border-radius: var(--radius-m);
|
|
}
|
|
.task-genius-settings .settings-tab:hover::after {
|
|
transform: rotateZ(-10deg);
|
|
opacity: 0.9;
|
|
}
|
|
.task-genius-settings .settings-tab-active::after {
|
|
background-color: var(--interactive-accent);
|
|
opacity: 0.3;
|
|
}
|
|
.task-genius-settings .settings-tab-icon,
|
|
.task-genius-settings .settings-tab span,
|
|
.task-genius-settings .settings-tab-label {
|
|
position: relative;
|
|
z-index: 1;
|
|
}
|
|
.task-genius-settings .settings-category-tabs .settings-tab-icon {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: var(--size-4-4);
|
|
height: var(--size-4-4);
|
|
flex-shrink: 0;
|
|
}
|
|
.task-genius-settings .settings-category-tabs .settings-tab-icon svg {
|
|
width: var(--icon-s);
|
|
height: var(--icon-s);
|
|
}
|
|
.task-genius-settings .settings-category-tabs .settings-tab-label {
|
|
font-size: var(--font-ui-small);
|
|
font-weight: var(--font-weight-medium);
|
|
flex: 1;
|
|
text-align: left;
|
|
}
|
|
.task-genius-settings .settings-category-tabs .settings-tab:hover {
|
|
background: var(--background-modifier-hover);
|
|
border-color: var(--background-modifier-border-hover);
|
|
transform: translateY(-1px);
|
|
box-shadow: var(--shadow-m);
|
|
}
|
|
.task-genius-settings .settings-category-tabs .settings-tab-active {
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: var(--shadow-m);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
.task-genius-settings .settings-category-tabs .settings-tab-active:hover {
|
|
background: var(--interactive-accent-hover);
|
|
border-color: var(--interactive-accent-hover);
|
|
transform: translateY(-1px);
|
|
}
|
|
.task-genius-settings .settings-tab:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.task-genius-settings .settings-tab-active {
|
|
background-color: var(--background-modifier-border-hover);
|
|
font-weight: bold;
|
|
}
|
|
.task-genius-settings .settings-tab-sections {
|
|
overflow: hidden;
|
|
}
|
|
.task-genius-settings .settings-tab-section {
|
|
display: none;
|
|
}
|
|
.task-genius-settings .settings-tab-section-active {
|
|
display: block;
|
|
}
|
|
.task-genius-settings .settings-tab-section-header {
|
|
display: flex;
|
|
flex-direction: row-reverse;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
margin-top: var(--size-4-2);
|
|
margin-bottom: var(--size-4-4);
|
|
}
|
|
.task-genius-settings .settings-tab-section-header .header-button {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 4px;
|
|
font-size: var(--font-ui-small);
|
|
}
|
|
.task-genius-settings .settings-tab-section-header .header-button-icon {
|
|
--icon-size: 16px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.task-genius-settings .settings-tab[data-tab-id=general] {
|
|
display: none;
|
|
}
|
|
.task-genius-settings .settings-tabs-categorized-container {
|
|
display: flex;
|
|
}
|
|
.task-genius-settings:has(.settings-tab-section-active:not([data-tab-id=general])) .settings-tabs-categorized-container {
|
|
display: none;
|
|
}
|
|
.task-genius-settings .settings-tabs-container {
|
|
display: none;
|
|
}
|
|
.task-genius-settings:has(.settings-tab-active[data-tab-id=general]) .settings-tabs-container {
|
|
display: grid;
|
|
}
|
|
.task-genius-settings-header {
|
|
display: block;
|
|
}
|
|
.task-genius-settings:has(.settings-tab-section-active:not([data-tab-id=general])) .task-genius-settings-header {
|
|
display: none;
|
|
}
|
|
.expression-examples {
|
|
margin-top: 8px;
|
|
border-radius: 5px;
|
|
}
|
|
.expression-example-item {
|
|
margin-bottom: var(--size-4-3);
|
|
padding: var(--size-4-2);
|
|
padding-left: var(--size-4-3);
|
|
padding-right: var(--size-4-3);
|
|
border-radius: var(--radius-s);
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 6px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.expression-example-name {
|
|
font-weight: bold;
|
|
}
|
|
.expression-example-code {
|
|
padding: 4px 8px;
|
|
background-color: var(--background-secondary);
|
|
border-radius: 4px;
|
|
font-family: var(--font-monospace);
|
|
font-size: 0.9em;
|
|
overflow-wrap: break-word;
|
|
user-select: text;
|
|
}
|
|
.expression-example-use {
|
|
align-self: flex-end;
|
|
margin-top: 4px;
|
|
}
|
|
.custom-format-textarea {
|
|
height: 200px;
|
|
width: 100%;
|
|
font-family: var(--font-monospace);
|
|
resize: vertical;
|
|
}
|
|
.custom-format-preview-container {
|
|
margin-bottom: var(--size-4-3);
|
|
padding: var(--size-4-3);
|
|
border-radius: var(--radius-s);
|
|
background-color: var(--background-secondary);
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
.custom-format-preview-label {
|
|
font-weight: bold;
|
|
margin-bottom: var(--size-4-2);
|
|
color: var(--text-muted);
|
|
}
|
|
.custom-format-preview-content {
|
|
padding: var(--size-4-2);
|
|
background-color: var(--background-primary);
|
|
border-radius: var(--radius-s);
|
|
font-family: var(--font-interface);
|
|
}
|
|
.custom-format-placeholder-info {
|
|
margin-top: var(--size-4-2);
|
|
margin-bottom: var(--size-4-2);
|
|
user-select: text;
|
|
}
|
|
.custom-format-preview-error,
|
|
.expression-preview-error {
|
|
color: var(--text-error);
|
|
}
|
|
.expression-example-preview {
|
|
margin-top: var(--size-4-2);
|
|
padding: var(--size-4-2);
|
|
background-color: var(--background-primary-alt);
|
|
border-radius: var(--radius-s);
|
|
font-size: 0.9em;
|
|
}
|
|
.preset-filters-container {
|
|
margin-top: 10px;
|
|
padding: 8px;
|
|
border-radius: 5px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.preset-filter-row {
|
|
margin-bottom: 5px;
|
|
border-radius: 4px;
|
|
padding-top: var(--size-4-2);
|
|
padding-left: var(--size-4-2);
|
|
padding-right: var(--size-4-2);
|
|
transition: background-color 0.2s ease;
|
|
}
|
|
.preset-filter-row:hover {
|
|
background-color: var(--background-secondary-alt);
|
|
}
|
|
.no-presets-message {
|
|
font-style: italic;
|
|
color: var(--text-muted);
|
|
text-align: center;
|
|
padding: 15px;
|
|
}
|
|
.preset-saved-message {
|
|
color: var(--text-accent);
|
|
font-weight: bold;
|
|
text-align: center;
|
|
padding: 5px;
|
|
margin-top: 5px;
|
|
animation: fadeIn 0.3s ease-in-out;
|
|
}
|
|
.task-filter-save-preset {
|
|
margin-top: 15px;
|
|
padding: 10px;
|
|
border-radius: 5px;
|
|
background-color: var(--background-secondary-alt);
|
|
}
|
|
.tg-modal-button-container {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
gap: 10px;
|
|
margin-top: 20px;
|
|
}
|
|
.tg-modal-button-container button {
|
|
padding: 6px 12px;
|
|
border-radius: 4px;
|
|
font-size: 14px;
|
|
font-weight: 500;
|
|
cursor: pointer;
|
|
}
|
|
.tg-modal-button-container button.mod-warning {
|
|
background-color: var(--background-modifier-error);
|
|
color: white;
|
|
}
|
|
@keyframes fadeIn {
|
|
from {
|
|
opacity: 0;
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
.modal-workflow-definition {
|
|
max-width: 800px;
|
|
width: 90vw;
|
|
}
|
|
.modal-stage-definition {
|
|
max-width: 800px;
|
|
width: 90vw;
|
|
}
|
|
.workflow-container {
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 5px;
|
|
padding: 15px;
|
|
max-height: 500px;
|
|
overflow-y: auto;
|
|
background-color: var(--background-primary);
|
|
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
|
|
}
|
|
.workflow-row {
|
|
margin-bottom: 15px;
|
|
padding: 12px;
|
|
border-radius: 6px;
|
|
background-color: var(--background-secondary-alt);
|
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
|
|
border-left: 3px solid var(--interactive-accent);
|
|
}
|
|
.workflow-row .setting-item {
|
|
border: none;
|
|
padding: 0;
|
|
}
|
|
.workflow-row .setting-item-info {
|
|
padding: 0 !important;
|
|
}
|
|
.workflow-row .setting-item-name {
|
|
font-size: 16px;
|
|
font-weight: 600;
|
|
color: var(--text-normal);
|
|
}
|
|
.workflow-row .setting-item-description {
|
|
font-size: 13px;
|
|
color: var(--text-muted);
|
|
margin-top: 4px;
|
|
}
|
|
.workflow-stages-info {
|
|
margin-top: 12px;
|
|
padding: 8px 0 0 0;
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
}
|
|
.workflow-stages-list {
|
|
list-style-type: none;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: var(--size-2-2);
|
|
padding: 0;
|
|
margin: 0;
|
|
}
|
|
.workflow-stage-item {
|
|
padding: 4px 8px;
|
|
border-radius: 4px;
|
|
font-size: 12px;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
background-color: var(--background-modifier-border);
|
|
}
|
|
.workflow-stage-cycle {
|
|
background-color: var(--task-in-progress-color);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.workflow-stage-terminal {
|
|
background-color: var(--task-completed-color);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.no-workflows-message {
|
|
font-style: italic;
|
|
color: var(--text-muted);
|
|
text-align: center;
|
|
padding: 15px;
|
|
}
|
|
.workflow-form {
|
|
margin-bottom: 20px;
|
|
}
|
|
.workflow-stages-section {
|
|
margin-top: 20px;
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
padding-top: 15px;
|
|
}
|
|
.workflow-stages-section h2 {
|
|
margin-top: 0;
|
|
margin-bottom: 15px;
|
|
font-size: 1.3em;
|
|
color: var(--text-normal);
|
|
}
|
|
.workflow-stages-container {
|
|
margin-top: 15px;
|
|
}
|
|
.workflow-stages-container .workflow-stages-list {
|
|
display: block;
|
|
flex-wrap: unset;
|
|
gap: unset;
|
|
}
|
|
.workflow-stages-container .workflow-stage-item {
|
|
display: block;
|
|
margin-bottom: 10px;
|
|
padding: 0;
|
|
background-color: transparent;
|
|
}
|
|
.workflow-buttons {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
gap: 10px;
|
|
margin-top: 20px;
|
|
padding-top: 10px;
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
}
|
|
.workflow-save-button,
|
|
.workflow-cancel-button,
|
|
.workflow-add-stage-button {
|
|
padding: 6px 12px;
|
|
border-radius: 4px;
|
|
cursor: pointer;
|
|
}
|
|
.workflow-save-button.mod-cta {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.workflow-cancel-button {
|
|
background-color: var(--background-modifier-border);
|
|
color: var(--text-normal);
|
|
}
|
|
.workflow-add-stage-button {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
margin-top: 10px;
|
|
}
|
|
.no-stages-message {
|
|
font-style: italic;
|
|
color: var(--text-muted);
|
|
text-align: center;
|
|
padding: 15px;
|
|
}
|
|
.workflow-stage-header {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
padding: 8px 12px;
|
|
background-color: var(--background-secondary);
|
|
border-radius: 4px;
|
|
margin-bottom: 8px;
|
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
|
|
}
|
|
.workflow-stage-name {
|
|
font-weight: 600;
|
|
flex: 1;
|
|
margin-right: 10px;
|
|
}
|
|
.workflow-stage-actions {
|
|
display: flex;
|
|
gap: 5px;
|
|
}
|
|
.workflow-stage-edit,
|
|
.workflow-stage-move-up,
|
|
.workflow-stage-move-down,
|
|
.workflow-stage-delete {
|
|
padding: 3px 8px;
|
|
border-radius: 3px;
|
|
background-color: var(--background-modifier-border);
|
|
cursor: pointer;
|
|
font-size: 12px;
|
|
border: none;
|
|
}
|
|
.workflow-stage-edit:hover,
|
|
.workflow-stage-move-up:hover,
|
|
.workflow-stage-move-down:hover {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.workflow-stage-delete:hover {
|
|
background-color: var(--background-modifier-error);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.workflow-stage-type-badge {
|
|
display: inline-block;
|
|
padding: 2px 6px;
|
|
margin-left: 8px;
|
|
border-radius: 3px;
|
|
font-size: 10px;
|
|
text-transform: uppercase;
|
|
font-weight: 600;
|
|
}
|
|
.workflow-stage-type-linear {
|
|
background-color: var(--background-modifier-border);
|
|
}
|
|
.workflow-stage-type-cycle {
|
|
background-color: var(--task-in-progress-color);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.workflow-stage-type-terminal {
|
|
background-color: var(--task-completed-color);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.workflow-substages-list {
|
|
padding: 0 0 0 var(--size-4-6);
|
|
margin-top: var(--size-4-2);
|
|
margin-bottom: var(--size-4-2);
|
|
border-left: 2px solid var(--background-modifier-border);
|
|
}
|
|
.substage-settings-container {
|
|
width: 100%;
|
|
}
|
|
.stage-type-settings {
|
|
margin-top: 20px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 4px;
|
|
padding: 15px;
|
|
background-color: var(--background-primary);
|
|
}
|
|
.substages-section,
|
|
.can-proceed-to-section {
|
|
margin-top: 20px;
|
|
padding-top: 15px;
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
}
|
|
.substages-container,
|
|
.can-proceed-to-container {
|
|
margin-top: 15px;
|
|
padding: 10px;
|
|
border-radius: 4px;
|
|
}
|
|
.substages-list,
|
|
.can-proceed-list {
|
|
list-style-type: none;
|
|
padding: 0;
|
|
margin: 0;
|
|
}
|
|
.substage-name-container {
|
|
display: flex;
|
|
gap: 10px;
|
|
align-items: center;
|
|
flex: 1;
|
|
}
|
|
.substage-name-container input {
|
|
padding: 4px 8px;
|
|
border-radius: 3px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
background-color: var(--background-primary);
|
|
}
|
|
.substage-next-container {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 5px;
|
|
margin-left: 10px;
|
|
}
|
|
.substage-remove-button,
|
|
.can-proceed-remove-button {
|
|
color: var(--text-normal);
|
|
border-radius: 3px;
|
|
padding: 2px 5px;
|
|
cursor: pointer;
|
|
border: none;
|
|
}
|
|
.substage-remove-button:hover,
|
|
.can-proceed-remove-button:hover {
|
|
background-color: var(--background-modifier-error);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.add-substage-button,
|
|
.add-can-proceed-button {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
padding: 4px 10px;
|
|
border-radius: 4px;
|
|
margin-top: 10px;
|
|
cursor: pointer;
|
|
border: none;
|
|
}
|
|
.add-can-proceed-container {
|
|
display: flex;
|
|
gap: 10px;
|
|
align-items: flex-end;
|
|
}
|
|
.add-can-proceed-select {
|
|
flex: 1;
|
|
padding: 4px 8px;
|
|
border-radius: 3px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.stage-buttons {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
gap: 10px;
|
|
margin-top: 20px;
|
|
padding-top: 10px;
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
}
|
|
.stage-save-button,
|
|
.stage-cancel-button {
|
|
padding: 6px 12px;
|
|
border-radius: 4px;
|
|
cursor: pointer;
|
|
border: none;
|
|
}
|
|
.stage-save-button.mod-cta {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.stage-cancel-button {
|
|
background-color: var(--background-modifier-border);
|
|
color: var(--text-normal);
|
|
}
|
|
.stage-error-message {
|
|
color: var(--background-modifier-error);
|
|
font-weight: bold;
|
|
text-align: center;
|
|
margin-top: 10px;
|
|
padding: 8px;
|
|
border-radius: 4px;
|
|
}
|
|
.task-workflow-tag {
|
|
display: inline-block;
|
|
padding: 2px 5px;
|
|
border-radius: 3px;
|
|
margin-left: 5px;
|
|
font-size: 12px;
|
|
background-color: var(--background-secondary-alt);
|
|
}
|
|
.task-workflow-stage {
|
|
margin-left: 5px;
|
|
color: var(--text-accent);
|
|
}
|
|
.task-workflow-substage {
|
|
font-size: 11px;
|
|
color: var(--text-muted);
|
|
}
|
|
.task-workflow-history {
|
|
margin-left: 20px;
|
|
font-size: 12px;
|
|
color: var(--text-muted);
|
|
}
|
|
.task-workflow-timestamp {
|
|
color: var(--text-faint);
|
|
}
|
|
.setting-item-control span[class^=workflow-stage-name-] {
|
|
display: inline-block;
|
|
padding: 2px 6px;
|
|
border-radius: 3px;
|
|
font-size: 12px;
|
|
font-weight: 500;
|
|
margin-right: 5px;
|
|
}
|
|
.setting-item-control .workflow-stage-name-cycle {
|
|
background-color: var(--task-in-progress-color);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.setting-item-control .workflow-stage-name-terminal {
|
|
background-color: var(--task-completed-color);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.workflow-stage-item {
|
|
margin-right: 4px;
|
|
}
|
|
.workflow-stages-container .workflow-stage-header {
|
|
padding: 8px 12px;
|
|
background-color: var(--background-secondary);
|
|
border-radius: 4px;
|
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
|
|
margin-bottom: 8px;
|
|
}
|
|
.workflow-stages-container .workflow-stage-type-badge {
|
|
display: inline-block;
|
|
padding: 2px 6px;
|
|
margin-left: 8px;
|
|
border-radius: 3px;
|
|
font-size: 10px;
|
|
text-transform: uppercase;
|
|
font-weight: 600;
|
|
}
|
|
.workflow-substages-list {
|
|
list-style-type: none;
|
|
padding: 0 0 0 20px;
|
|
margin: 5px 0 10px 0;
|
|
border-left: 2px solid var(--background-modifier-border);
|
|
}
|
|
.workflow-add-stage-button,
|
|
.stage-save-button.mod-cta,
|
|
.workflow-save-button.mod-cta {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
padding: 6px 15px;
|
|
border-radius: 4px;
|
|
font-weight: 500;
|
|
border: none;
|
|
cursor: pointer;
|
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
|
transition: all 0.2s ease;
|
|
text-align: center;
|
|
}
|
|
.workflow-add-stage-button:hover,
|
|
.stage-save-button.mod-cta:hover,
|
|
.workflow-save-button.mod-cta:hover {
|
|
background-color: var(--interactive-accent-hover);
|
|
box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
|
|
transform: translateY(-1px);
|
|
}
|
|
.workflow-stage-move-up,
|
|
.workflow-stage-move-down,
|
|
.workflow-stage-edit,
|
|
.workflow-stage-delete {
|
|
border: none;
|
|
background-color: var(--background-modifier-border);
|
|
padding: 3px 8px;
|
|
border-radius: 3px;
|
|
font-size: 12px;
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
}
|
|
.workflow-stage-move-up:hover,
|
|
.workflow-stage-move-down:hover,
|
|
.workflow-stage-edit:hover {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.workflow-stage-delete:hover {
|
|
background-color: var(--background-modifier-error);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.substage-item {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
align-items: center;
|
|
padding: 6px 0;
|
|
margin-bottom: 5px;
|
|
border-radius: 4px;
|
|
}
|
|
.substage-name-container input {
|
|
background-color: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
padding: 4px 8px;
|
|
border-radius: 3px;
|
|
font-size: 13px;
|
|
}
|
|
.substage-name-container input:focus {
|
|
border-color: var(--interactive-accent);
|
|
outline: none;
|
|
}
|
|
.no-stages-message,
|
|
.no-workflows-message,
|
|
.no-substages-message,
|
|
.no-can-proceed-message {
|
|
font-style: italic;
|
|
color: var(--text-muted);
|
|
padding: 15px;
|
|
text-align: center;
|
|
background-color: var(--background-secondary-alt);
|
|
border-radius: 5px;
|
|
margin: 10px 0;
|
|
}
|
|
.rewards-levels-container,
|
|
.rewards-items-container {
|
|
margin-top: 10px;
|
|
padding: 15px;
|
|
border-radius: 5px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
background-color: var(--background-secondary);
|
|
}
|
|
.rewards-level-row .setting-item-info,
|
|
.rewards-item-row .setting-item-info {
|
|
display: none;
|
|
}
|
|
.rewards-item-row.setting-item {
|
|
border-top: 0;
|
|
}
|
|
.rewards-level-row .setting-item-control,
|
|
.rewards-item-row .setting-item-control {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 10px;
|
|
align-items: center;
|
|
}
|
|
.rewards-level-row .setting-item-control input[type=text] {
|
|
flex: 1;
|
|
min-width: 100px;
|
|
}
|
|
.rewards-item-row .setting-item-control .input-container {
|
|
flex: 1;
|
|
min-width: 150px;
|
|
}
|
|
.rewards-item-row .setting-item-control textarea {
|
|
width: 100%;
|
|
min-height: 40px;
|
|
resize: vertical;
|
|
}
|
|
.rewards-item-row .setting-item-control .dropdown {
|
|
min-width: 120px;
|
|
}
|
|
.rewards-level-row .setting-item-control button,
|
|
.rewards-item-row .setting-item-control button {
|
|
margin-left: auto;
|
|
}
|
|
.rewards-item-divider {
|
|
border: none;
|
|
height: 1px;
|
|
background-color: var(--background-modifier-border);
|
|
margin-top: 15px;
|
|
margin-bottom: 15px;
|
|
}
|
|
.setting-item.sort-criterion-row .setting-item-info {
|
|
display: none;
|
|
}
|
|
.setting-item.sort-criterion-row select.dropdown {
|
|
flex: 1;
|
|
}
|
|
.view-edit-button,
|
|
.view-copy-button,
|
|
.view-order-button,
|
|
.view-delete-button {
|
|
padding: 4px;
|
|
width: 24px;
|
|
height: 24px;
|
|
border-radius: 4px;
|
|
margin-left: 4px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.view-copy-button {
|
|
color: var(--interactive-accent);
|
|
}
|
|
.view-copy-button:hover {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.view-delete-button {
|
|
color: var(--text-error);
|
|
}
|
|
.view-delete-button:hover {
|
|
background-color: var(--background-modifier-error);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.view-icon {
|
|
margin-right: 8px;
|
|
--icon-size: 16px;
|
|
}
|
|
.copy-mode-info {
|
|
margin: 10px 0;
|
|
padding: 12px;
|
|
background-color: var(--background-secondary-alt);
|
|
border-radius: 5px;
|
|
border-left: 3px solid var(--interactive-accent);
|
|
}
|
|
.copy-mode-info p {
|
|
margin: 4px 0;
|
|
}
|
|
.tasks-compatibility-warning {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
gap: var(--size-4-3);
|
|
padding: var(--size-4-4);
|
|
margin-bottom: var(--size-4-4);
|
|
background-color: hsl(var(--accent-h), var(--accent-s), var(--accent-l), 0.5);
|
|
border: 1px solid hsl(var(--accent-h), var(--accent-s), var(--accent-l), 0.5);
|
|
border-radius: var(--radius-m);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.tasks-warning-icon {
|
|
font-size: 20px;
|
|
line-height: 1;
|
|
flex-shrink: 0;
|
|
}
|
|
.tasks-warning-content {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-2-2);
|
|
}
|
|
.tasks-warning-title {
|
|
font-weight: 600;
|
|
font-size: var(--font-ui-medium);
|
|
}
|
|
.tasks-warning-text {
|
|
color: var(--text-on-accent);
|
|
font-size: var(--font-ui-small);
|
|
line-height: 1.4;
|
|
}
|
|
.tasks-warning-text a {
|
|
color: var(--text-on-accent);
|
|
text-decoration: underline;
|
|
}
|
|
.tasks-warning-text a:hover {
|
|
color: var(--text-on-accent);
|
|
}
|
|
.task-genius-format-examples {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-2-3);
|
|
padding: var(--size-4-3);
|
|
margin: var(--size-4-3) 0;
|
|
border-radius: var(--radius-m);
|
|
background-color: var(--background-secondary-alt);
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.task-genius-format-examples strong {
|
|
font-size: var(--font-ui-medium);
|
|
font-weight: 600;
|
|
color: var(--text-normal);
|
|
margin-bottom: var(--size-2-1);
|
|
}
|
|
.task-genius-format-examples span {
|
|
font-family: var(--font-monospace);
|
|
font-size: var(--font-ui-smaller);
|
|
line-height: 1.5;
|
|
color: var(--text-muted);
|
|
padding: var(--size-2-1) var(--size-2-3);
|
|
background-color: var(--background-primary);
|
|
border-radius: var(--radius-s);
|
|
border: 1px solid var(--background-modifier-border);
|
|
margin: var(--size-2-1) 0;
|
|
}
|
|
.task-genius-format-examples span:first-of-type {
|
|
margin-top: 0;
|
|
}
|
|
.task-genius-format-examples span:last-of-type {
|
|
margin-bottom: 0;
|
|
}
|
|
.project-path-mappings-container,
|
|
.project-metadata-mappings-container {
|
|
margin-top: 10px;
|
|
}
|
|
.project-path-mapping-row,
|
|
.project-metadata-mapping-row {
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 6px;
|
|
margin-bottom: 10px;
|
|
padding: 10px;
|
|
}
|
|
.no-mappings-message {
|
|
color: var(--text-muted);
|
|
font-style: italic;
|
|
text-align: center;
|
|
padding: 20px;
|
|
}
|
|
.task-project-tg {
|
|
opacity: 0.8;
|
|
font-style: italic;
|
|
border-left: 2px solid var(--color-accent);
|
|
padding-left: 4px;
|
|
}
|
|
.task-project-tg::before {
|
|
content: "\1f517";
|
|
margin-right: 2px;
|
|
font-size: 0.8em;
|
|
}
|
|
.project-readonly {
|
|
opacity: 0.8;
|
|
}
|
|
.project-readonly input {
|
|
background-color: var(--background-modifier-border);
|
|
cursor: not-allowed;
|
|
}
|
|
.project-source-indicator {
|
|
font-size: var(--font-ui-smaller);
|
|
color: var(--text-muted);
|
|
font-style: italic;
|
|
margin-top: 4px;
|
|
}
|
|
.task-genius-date-formats-container {
|
|
margin-top: 15px;
|
|
padding: 15px;
|
|
background-color: var(--background-secondary);
|
|
border-radius: 8px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.task-genius-formats-header {
|
|
margin-top: 0;
|
|
margin-bottom: 10px;
|
|
font-size: 1.1em;
|
|
font-weight: 600;
|
|
color: var(--text-normal);
|
|
}
|
|
.task-genius-format-list {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 10px;
|
|
margin-top: 15px;
|
|
}
|
|
.task-genius-format-item {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
padding: 8px;
|
|
background-color: var(--background-primary);
|
|
border-radius: 6px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
transition: all 0.2s ease;
|
|
}
|
|
.task-genius-format-item:hover {
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
|
}
|
|
.task-genius-format-input {
|
|
flex: 1;
|
|
padding: 6px 10px;
|
|
background-color: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 4px;
|
|
color: var(--text-normal);
|
|
font-family: var(--font-monospace);
|
|
font-size: 0.95em;
|
|
transition: border-color 0.2s ease;
|
|
}
|
|
.task-genius-format-input:focus {
|
|
outline: none;
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 0 0 2px var(--interactive-accent-hover);
|
|
}
|
|
.task-genius-format-input::placeholder {
|
|
color: var(--text-faint);
|
|
font-style: italic;
|
|
}
|
|
.task-genius-format-delete-btn {
|
|
width: 28px;
|
|
height: 28px;
|
|
padding: 0;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
background-color: var(--background-modifier-error);
|
|
color: var(--text-on-accent);
|
|
border: none;
|
|
border-radius: 4px;
|
|
font-size: 20px;
|
|
font-weight: bold;
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
}
|
|
.task-genius-format-delete-btn:hover {
|
|
background-color: var(--background-modifier-error-hover);
|
|
transform: scale(1.1);
|
|
}
|
|
.task-genius-add-format-btn {
|
|
padding: 10px 16px;
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border: none;
|
|
border-radius: 6px;
|
|
font-weight: 500;
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
align-self: flex-start;
|
|
margin-top: 5px;
|
|
}
|
|
.task-genius-add-format-btn:hover {
|
|
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
|
|
transform: translateY(-1px);
|
|
}
|
|
.task-genius-add-format-btn:active {
|
|
transform: translateY(0);
|
|
}
|
|
.task-genius-date-examples {
|
|
margin-top: 20px;
|
|
padding: 15px;
|
|
background-color: var(--background-secondary);
|
|
border-radius: 8px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.task-genius-examples-header {
|
|
margin-top: 0;
|
|
margin-bottom: 12px;
|
|
font-size: 1em;
|
|
font-weight: 600;
|
|
color: var(--text-normal);
|
|
}
|
|
.task-genius-date-examples-table {
|
|
width: 100%;
|
|
border-collapse: collapse;
|
|
font-size: 0.9em;
|
|
}
|
|
.task-genius-date-examples-table th,
|
|
.task-genius-date-examples-table td {
|
|
padding: 8px 12px;
|
|
text-align: left;
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.task-genius-date-examples-table th {
|
|
background-color: var(--background-secondary-alt);
|
|
font-weight: 600;
|
|
color: var(--text-normal);
|
|
}
|
|
.task-genius-date-examples-table td {
|
|
background-color: var(--background-primary);
|
|
font-family: var(--font-monospace);
|
|
}
|
|
.task-genius-date-examples-table tr:nth-child(even) td {
|
|
background-color: var(--background-primary-alt);
|
|
}
|
|
.task-genius-date-examples-table tr:hover td {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.tg-index-task-source-wrapper {
|
|
margin-top: 18px;
|
|
}
|
|
.tg-index-task-source-panels {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 12px;
|
|
}
|
|
.tg-source-settings-body {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 12px;
|
|
}
|
|
.tg-source-settings-body.tg-source-disabled {
|
|
opacity: 0.55;
|
|
pointer-events: none;
|
|
}
|
|
|
|
/* src/styles/setting-v2.css */
|
|
.tg-status-icon {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
vertical-align: middle;
|
|
margin-right: var(--size-2-3);
|
|
margin-top: calc(-1 * var(--size-2-1));
|
|
}
|
|
.tg-icons-container {
|
|
display: flex;
|
|
gap: var(--size-2-2);
|
|
flex-wrap: wrap;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.tg-icons-container .tg-status-icon {
|
|
margin-right: 0;
|
|
margin-top: 0;
|
|
}
|
|
.global-filter-container {
|
|
margin-bottom: 20px;
|
|
padding: 10px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 6px;
|
|
background-color: var(--background-secondary);
|
|
}
|
|
.task-genius-metadata-fields-container,
|
|
.task-genius-tags-container,
|
|
.task-genius-paths-container,
|
|
.task-genius-date-formats-container {
|
|
margin: 1rem 0;
|
|
padding: 1rem;
|
|
background: var(--background-secondary);
|
|
border-radius: 8px;
|
|
}
|
|
.task-genius-fields-header,
|
|
.task-genius-tags-header,
|
|
.task-genius-paths-header,
|
|
.task-genius-formats-header,
|
|
.task-genius-examples-header {
|
|
font-size: 0.95em;
|
|
font-weight: 600;
|
|
margin-bottom: 0.5rem;
|
|
color: var(--text-normal);
|
|
}
|
|
.task-genius-field-list,
|
|
.task-genius-tag-list,
|
|
.task-genius-path-list,
|
|
.task-genius-format-list {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.5rem;
|
|
margin-bottom: 1rem;
|
|
}
|
|
.task-genius-field-item,
|
|
.task-genius-tag-item,
|
|
.task-genius-path-item,
|
|
.task-genius-format-item {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
background: var(--background-primary);
|
|
padding: 0.5rem;
|
|
border-radius: 4px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
transition: border-color 0.2s;
|
|
}
|
|
.task-genius-field-item:hover,
|
|
.task-genius-tag-item:hover,
|
|
.task-genius-path-item:hover,
|
|
.task-genius-format-item:hover {
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
.task-genius-field-input,
|
|
.task-genius-tag-input,
|
|
.task-genius-path-input,
|
|
.task-genius-format-input {
|
|
flex: 1;
|
|
padding: 0.4rem;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 4px;
|
|
background: var(--background-primary);
|
|
color: var(--text-normal);
|
|
font-family: var(--font-interface);
|
|
font-size: 0.9em;
|
|
}
|
|
.task-genius-field-input:focus,
|
|
.task-genius-tag-input:focus,
|
|
.task-genius-path-input:focus,
|
|
.task-genius-format-input:focus {
|
|
outline: none;
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 0 0 2px var(--interactive-accent-hover);
|
|
}
|
|
.task-genius-field-delete-btn,
|
|
.task-genius-tag-delete-btn,
|
|
.task-genius-path-delete-btn,
|
|
.task-genius-format-delete-btn {
|
|
width: 28px;
|
|
height: 28px;
|
|
padding: 0;
|
|
border: none;
|
|
background: var(--background-modifier-error);
|
|
color: var(--text-on-accent);
|
|
border-radius: 4px;
|
|
cursor: pointer;
|
|
font-size: 1.2em;
|
|
font-weight: bold;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
transition: background-color 0.2s;
|
|
}
|
|
.task-genius-field-delete-btn:hover,
|
|
.task-genius-tag-delete-btn:hover,
|
|
.task-genius-path-delete-btn:hover,
|
|
.task-genius-format-delete-btn:hover {
|
|
background: var(--background-modifier-error-hover);
|
|
}
|
|
.task-genius-add-field-btn,
|
|
.task-genius-add-tag-btn,
|
|
.task-genius-add-path-btn,
|
|
.task-genius-add-format-btn {
|
|
padding: 0.5rem 1rem;
|
|
background: var(--background-primary);
|
|
color: var(--text-muted);
|
|
border-radius: 4px;
|
|
cursor: pointer;
|
|
font-size: 0.9em;
|
|
transition: all 0.2s;
|
|
}
|
|
.task-genius-add-field-btn:hover,
|
|
.task-genius-add-tag-btn:hover,
|
|
.task-genius-add-path-btn:hover,
|
|
.task-genius-add-format-btn:hover {
|
|
border-color: var(--interactive-accent);
|
|
color: var(--interactive-accent);
|
|
}
|
|
.task-genius-date-examples {
|
|
margin-top: 1rem;
|
|
padding: 1rem;
|
|
background: var(--background-secondary);
|
|
border-radius: 8px;
|
|
}
|
|
.task-genius-date-examples-table {
|
|
width: 100%;
|
|
border-collapse: collapse;
|
|
font-size: 0.9em;
|
|
}
|
|
.task-genius-date-examples-table th {
|
|
text-align: left;
|
|
padding: 0.5rem;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
color: var(--text-muted);
|
|
font-weight: 500;
|
|
}
|
|
.task-genius-date-examples-table td {
|
|
padding: 0.4rem 0.5rem;
|
|
border-bottom: 1px solid var(--background-modifier-border-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.task-genius-date-examples-table tr:last-child td {
|
|
border-bottom: none;
|
|
}
|
|
.task-genius-date-examples-table tr:hover td {
|
|
background: var(--background-primary-alt);
|
|
}
|
|
.task-genius-iframe-modal {
|
|
width: 90%;
|
|
max-width: 1400px;
|
|
max-height: 90vh;
|
|
overflow-y: auto;
|
|
}
|
|
.task-genius-iframe-modal .modal-title {
|
|
display: flex;
|
|
flex-direction: row;
|
|
}
|
|
.time-parsing-example {
|
|
padding: var(--size-2-2);
|
|
background-color: var(--background-secondary);
|
|
border-radius: var(--radius-s);
|
|
margin-top: var(--size-2-2);
|
|
margin-bottom: var(--size-2-2);
|
|
padding-left: var(--size-4-2);
|
|
padding-right: var(--size-4-2);
|
|
font-size: var(--font-ui-small);
|
|
}
|
|
.task-genius-settings .setting-item-control input[type=time] {
|
|
border: 1px solid var(--background-modifier-border);
|
|
padding: var(--size-2-2);
|
|
border-radius: var(--radius-s);
|
|
}
|
|
.task-genius-settings .file-source-strategy-container {
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
padding-top: var(--size-4-4);
|
|
}
|
|
.fluent-view-tabs.tg-index-task-source-switcher {
|
|
display: flex;
|
|
align-items: stretch;
|
|
justify-content: center;
|
|
gap: var(--size-2-2);
|
|
background-color: var(--background-secondary);
|
|
border-radius: var(--size-2-3);
|
|
padding: var(--size-2-1);
|
|
margin-bottom: var(--size-4-4);
|
|
width: fit-content;
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
}
|
|
.tg-index-task-source-switcher .fluent-view-tab {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
padding: 6px 12px;
|
|
background: none;
|
|
border: none;
|
|
border-radius: 4px;
|
|
font-size: 14px;
|
|
color: var(--text-muted);
|
|
cursor: pointer;
|
|
transition: all 0.15s ease;
|
|
}
|
|
.tg-index-task-source-switcher .fluent-view-tab:hover {
|
|
color: var(--text-normal);
|
|
}
|
|
.tg-index-task-source-switcher .fluent-view-tab.is-active {
|
|
background-color: var(--background-primary);
|
|
color: var(--text-normal);
|
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
|
|
}
|
|
.tg-index-task-source-switcher .fluent-view-tab-icon {
|
|
width: 16px;
|
|
height: 16px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
font-size: 14px;
|
|
}
|
|
.tg-index-task-source-switcher .fluent-view-tab-label {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
}
|
|
|
|
/* src/styles/beta-warning.css */
|
|
.beta-test-warning-banner {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
gap: 12px;
|
|
padding: 16px;
|
|
margin-bottom: 20px;
|
|
border: 1px solid var(--color-orange);
|
|
border-radius: 8px;
|
|
}
|
|
.beta-warning-icon {
|
|
font-size: 20px;
|
|
line-height: 1;
|
|
flex-shrink: 0;
|
|
margin-top: 2px;
|
|
}
|
|
.beta-warning-content {
|
|
flex: 1;
|
|
min-width: 0;
|
|
}
|
|
.beta-warning-title {
|
|
font-weight: 600;
|
|
font-size: 14px;
|
|
color: var(--text-normal);
|
|
margin-bottom: 8px;
|
|
}
|
|
.beta-warning-text {
|
|
font-size: 13px;
|
|
line-height: 1.4;
|
|
color: var(--text-muted);
|
|
}
|
|
|
|
/* src/styles/settings-search.css */
|
|
.tg-settings-search-input-container {
|
|
position: relative;
|
|
display: flex;
|
|
align-items: center;
|
|
background: var(--input-background);
|
|
border: var(--input-border-width) solid var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
transition: all 0.15s ease-in-out;
|
|
min-height: var(--input-height);
|
|
}
|
|
.tg-settings-search-input-container:focus-within {
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 0 0 2px rgba(var(--interactive-accent-rgb), 0.2);
|
|
}
|
|
.tg-settings-search-icon {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: 0 var(--size-4-2);
|
|
color: var(--text-muted);
|
|
flex-shrink: 0;
|
|
}
|
|
.tg-settings-search-icon svg {
|
|
width: var(--icon-s);
|
|
height: var(--icon-s);
|
|
}
|
|
.tg-settings-search-input {
|
|
flex: 1;
|
|
padding: var(--size-2-2) var(--size-2-1);
|
|
border: none !important;
|
|
background: transparent !important;
|
|
color: var(--text-normal);
|
|
font-size: var(--font-ui-medium);
|
|
outline: none;
|
|
}
|
|
input.tg-settings-search-input {
|
|
border: none !important;
|
|
box-shadow: none !important;
|
|
}
|
|
.tg-settings-search-input::placeholder {
|
|
color: var(--text-muted);
|
|
opacity: 0.7;
|
|
}
|
|
.tg-settings-search-clear {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: var(--size-2-1);
|
|
margin-right: var(--size-2-1);
|
|
border: none !important;
|
|
background: transparent !important;
|
|
color: var(--text-muted);
|
|
cursor: pointer;
|
|
border-radius: var(--button-radius);
|
|
transition: all 0.15s ease-in-out;
|
|
box-shadow: none !important;
|
|
flex-shrink: 0;
|
|
width: var(--clickable-icon-size);
|
|
height: var(--clickable-icon-size);
|
|
}
|
|
.tg-settings-search-clear:hover {
|
|
background: var(--background-modifier-hover) !important;
|
|
color: var(--text-normal);
|
|
}
|
|
.tg-settings-search-clear:active {
|
|
background: var(--background-modifier-active) !important;
|
|
}
|
|
.tg-settings-search-clear svg {
|
|
width: var(--icon-xs);
|
|
height: var(--icon-xs);
|
|
}
|
|
.tg-settings-search-results {
|
|
position: absolute;
|
|
top: calc(100% + var(--size-2-1));
|
|
left: 0;
|
|
right: 0;
|
|
background: var(--background-primary);
|
|
border: var(--border-width) solid var(--background-modifier-border);
|
|
border-radius: var(--radius-m);
|
|
box-shadow: var(--shadow-l);
|
|
z-index: var(--layer-popover);
|
|
max-height: 320px;
|
|
overflow-y: auto;
|
|
overflow-x: hidden;
|
|
}
|
|
.tg-settings-search-result {
|
|
display: flex;
|
|
flex-direction: column;
|
|
padding: var(--size-4-2) var(--size-4-3);
|
|
cursor: pointer;
|
|
border-bottom: var(--border-width) solid var(--background-modifier-border-hover);
|
|
transition: background-color 0.1s ease-in-out;
|
|
position: relative;
|
|
}
|
|
.tg-settings-search-result:last-child {
|
|
border-bottom: none;
|
|
}
|
|
.tg-settings-search-result:hover,
|
|
.tg-settings-search-result-selected {
|
|
background: var(--background-modifier-hover);
|
|
}
|
|
.tg-settings-search-result:active {
|
|
background: var(--background-modifier-active);
|
|
}
|
|
.tg-settings-search-result-name {
|
|
font-weight: var(--font-weight-medium);
|
|
color: var(--text-normal);
|
|
margin-bottom: var(--size-2-1);
|
|
font-size: var(--font-ui-medium);
|
|
line-height: var(--line-height-tight);
|
|
}
|
|
.tg-settings-search-result-meta {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-2-2);
|
|
margin-bottom: var(--size-2-1);
|
|
}
|
|
.tg-settings-search-result-category {
|
|
font-size: var(--font-ui-smaller);
|
|
color: var(--text-muted);
|
|
background: var(--background-modifier-border);
|
|
padding: var(--size-2-1) var(--size-2-2);
|
|
border-radius: var(--radius-s);
|
|
font-weight: var(--font-weight-medium);
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.02em;
|
|
}
|
|
.tg-settings-search-result-desc {
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-muted);
|
|
line-height: var(--line-height-normal);
|
|
margin-top: var(--size-2-1);
|
|
}
|
|
.tg-settings-search-no-result {
|
|
padding: var(--size-4-4) var(--size-4-3);
|
|
text-align: center;
|
|
color: var(--text-muted);
|
|
font-size: var(--font-ui-medium);
|
|
font-style: italic;
|
|
}
|
|
.tg-settings-search-highlight {
|
|
background: var(--background-secondary) !important;
|
|
border-radius: var(--radius-s);
|
|
transition: background-color 0.6s ease-out;
|
|
animation: tg-settings-search-pulse 0.6s ease-out;
|
|
}
|
|
@keyframes tg-settings-search-pulse {
|
|
0% {
|
|
background: var(--interactive-accent);
|
|
transform: scale(1);
|
|
}
|
|
50% {
|
|
background: var(--background-secondary);
|
|
transform: scale(1.01);
|
|
}
|
|
100% {
|
|
background: var(--background-secondary);
|
|
transform: scale(1);
|
|
}
|
|
}
|
|
.tg-settings-search-result-selected {
|
|
background: var(--background-modifier-hover) !important;
|
|
outline: var(--border-width) solid var(--interactive-accent);
|
|
outline-offset: -1px;
|
|
}
|
|
@media (max-width: 768px) {
|
|
.tg-settings-search-results {
|
|
max-height: 280px;
|
|
border-radius: var(--radius-s);
|
|
}
|
|
.tg-settings-search-result {
|
|
padding: var(--size-4-2) var(--size-4-2);
|
|
}
|
|
.tg-settings-search-result-name {
|
|
font-size: var(--font-ui-small);
|
|
}
|
|
.tg-settings-search-result-category {
|
|
font-size: var(--font-ui-smaller);
|
|
padding: var(--size-2-1) var(--size-2-1);
|
|
}
|
|
}
|
|
.tg-settings-search-results {
|
|
scrollbar-width: thin;
|
|
scrollbar-color: var(--scrollbar-thumb-bg) transparent;
|
|
}
|
|
.tg-settings-search-results::-webkit-scrollbar {
|
|
width: var(--scrollbar-thin-width);
|
|
}
|
|
.tg-settings-search-results::-webkit-scrollbar-track {
|
|
background: transparent;
|
|
}
|
|
.tg-settings-search-results::-webkit-scrollbar-thumb {
|
|
background: var(--scrollbar-thumb-bg);
|
|
border-radius: var(--scrollbar-thin-thumb-radius);
|
|
border: 2px solid transparent;
|
|
background-clip: content-box;
|
|
}
|
|
.tg-settings-search-results::-webkit-scrollbar-thumb:hover {
|
|
background: var(--scrollbar-thumb-bg-hover);
|
|
background-clip: content-box;
|
|
}
|
|
.task-genius-settings .settings-tabs-categorized-container {
|
|
margin-top: var(--size-4-3);
|
|
}
|
|
.tg-settings-search-results {
|
|
z-index: var(--layer-popover, 200);
|
|
}
|
|
.tg-settings-search-input:focus {
|
|
border: none !important;
|
|
outline: none !important;
|
|
box-shadow: none !important;
|
|
}
|
|
.tg-settings-search-icon {
|
|
transition: color 0.15s ease-in-out;
|
|
}
|
|
.tg-settings-search-input-container:focus-within .tg-settings-search-icon {
|
|
color: var(--interactive-accent);
|
|
}
|
|
.tg-settings-search-clear {
|
|
opacity: 0.8;
|
|
}
|
|
.tg-settings-search-clear:hover {
|
|
opacity: 1;
|
|
}
|
|
|
|
/* src/styles/settings-migration.css */
|
|
.setting-item-info.mod-warning {
|
|
border: 1px solid var(--background-modifier-error);
|
|
border-radius: 6px;
|
|
padding: 16px;
|
|
margin: 12px 0;
|
|
}
|
|
.setting-item-info.mod-warning .setting-item-name {
|
|
font-weight: 600;
|
|
color: var(--text-error);
|
|
margin-bottom: 8px;
|
|
}
|
|
.setting-item-info.mod-warning .setting-item-description {
|
|
color: var(--text-muted);
|
|
margin-bottom: 12px;
|
|
}
|
|
.setting-item-info.mod-warning .setting-item-description p {
|
|
margin: 4px 0;
|
|
}
|
|
.setting-item-info.mod-warning .setting-item-control {
|
|
display: flex;
|
|
gap: 8px;
|
|
align-items: center;
|
|
}
|
|
.setting-item-info.mod-warning button.mod-cta {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border: none;
|
|
border-radius: 4px;
|
|
padding: 8px 16px;
|
|
cursor: pointer;
|
|
font-weight: 500;
|
|
}
|
|
.setting-item-info.mod-warning button.mod-cta:hover {
|
|
background-color: var(--interactive-accent-hover);
|
|
}
|
|
.setting-item-info.mod-warning button.mod-muted {
|
|
background-color: transparent;
|
|
color: var(--text-muted);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 4px;
|
|
padding: 8px 16px;
|
|
cursor: pointer;
|
|
}
|
|
.setting-item-info.mod-warning button.mod-muted:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.setting-item-info.mod-success {
|
|
background-color: var(--color-green-bg);
|
|
border: 1px solid var(--color-green);
|
|
border-radius: 6px;
|
|
padding: 16px;
|
|
margin: 12px 0;
|
|
}
|
|
.setting-item-info.mod-success .setting-item-name {
|
|
font-weight: 600;
|
|
color: var(--color-green);
|
|
margin-bottom: 8px;
|
|
}
|
|
.file-source-notice {
|
|
background-color: var(--background-modifier-border);
|
|
border-radius: 6px;
|
|
padding: 12px;
|
|
margin: 8px 0;
|
|
}
|
|
.file-source-notice .notice-title {
|
|
font-weight: 600;
|
|
margin-bottom: 4px;
|
|
}
|
|
.file-source-notice .notice-description {
|
|
color: var(--text-muted);
|
|
font-size: 0.9em;
|
|
}
|
|
|
|
/* src/styles/workspace-settings-selector.css */
|
|
.tg-settings-header-bar {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
margin-bottom: 20px;
|
|
width: 100%;
|
|
}
|
|
.tg-workspace-selector-container {
|
|
flex-shrink: 0;
|
|
}
|
|
.workspace-settings-selector {
|
|
display: inline-block;
|
|
}
|
|
.workspace-settings-selector-button {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
padding: 6px 12px;
|
|
background-color: var(--background-modifier-form-field);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 6px;
|
|
cursor: pointer;
|
|
transition: all 0.15s ease;
|
|
min-width: 150px;
|
|
height: 34px;
|
|
}
|
|
.workspace-settings-selector-button:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
border-color: var(--background-modifier-border-hover);
|
|
}
|
|
.workspace-settings-selector-button:active {
|
|
background-color: var(--background-modifier-active-hover);
|
|
}
|
|
.workspace-settings-selector-button .workspace-icon {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 20px;
|
|
height: 20px;
|
|
flex-shrink: 0;
|
|
}
|
|
.workspace-settings-selector-button .workspace-icon svg {
|
|
width: 16px;
|
|
height: 16px;
|
|
fill: var(--text-muted);
|
|
}
|
|
.workspace-settings-selector-button .workspace-name {
|
|
flex: 1;
|
|
font-size: 14px;
|
|
color: var(--text-normal);
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
.workspace-settings-selector-button .workspace-dropdown-icon {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 16px;
|
|
height: 16px;
|
|
flex-shrink: 0;
|
|
margin-left: auto;
|
|
}
|
|
.workspace-settings-selector-button .workspace-dropdown-icon svg {
|
|
width: 12px;
|
|
height: 12px;
|
|
fill: var(--text-muted);
|
|
transition: transform 0.15s ease;
|
|
}
|
|
.workspace-settings-selector-button:hover .workspace-dropdown-icon svg {
|
|
fill: var(--text-normal);
|
|
}
|
|
.tg-settings-header-bar .tg-settings-search-container {
|
|
flex: 1;
|
|
max-width: none;
|
|
}
|
|
.tg-settings-header-bar .tg-settings-search-input-container {
|
|
width: 100%;
|
|
}
|
|
.tg-settings-main-container {
|
|
width: 100%;
|
|
}
|
|
.tg-settings-main-container .tg-settings-search-results {
|
|
margin-top: 8px;
|
|
}
|
|
@media (max-width: 768px) {
|
|
.tg-settings-header-bar {
|
|
flex-direction: column;
|
|
align-items: stretch;
|
|
gap: 8px;
|
|
}
|
|
.workspace-settings-selector-button {
|
|
width: 100%;
|
|
min-width: unset;
|
|
}
|
|
.tg-settings-header-bar .tg-settings-search-container {
|
|
width: 100%;
|
|
}
|
|
}
|
|
|
|
/* src/styles/onboarding-components.css */
|
|
.onboarding-view:has(.component-showcase) .onboarding-content {
|
|
overflow-y: hidden;
|
|
}
|
|
.onboarding-view:has(.component-showcase) .onboarding-header {
|
|
padding: calc(var(--onboarding-spacing) * 2) var(--onboarding-spacing) var(--size-4-2) var(--onboarding-spacing);
|
|
}
|
|
.onboarding-view .onboarding-header {
|
|
text-align: center;
|
|
}
|
|
.fluent-top-navigation.component-preview {
|
|
overflow-x: auto;
|
|
}
|
|
.fluent-sidebar.component-preview {
|
|
width: 100%;
|
|
}
|
|
.component-showcase:has(.tg-fluent-container.component-preview-sidebar + .tg-fluent-container.component-preview-topnav) .tg-fluent-container {
|
|
background: var(--background-primary);
|
|
}
|
|
.tg-fluent-container.component-preview-sidebar {
|
|
width: 200px;
|
|
min-width: 200px;
|
|
border-right: 1px solid var(--background-modifier-border);
|
|
}
|
|
.tg-fluent-container.component-preview-topnav {
|
|
background: var(--background-primary);
|
|
}
|
|
.component-showcase {
|
|
display: flex;
|
|
gap: var(--size-4-6);
|
|
margin: var(--size-4-4) 0;
|
|
min-height: 400px;
|
|
min-width: 90%;
|
|
}
|
|
.component-showcase-preview {
|
|
flex: 1;
|
|
background: var(--background-secondary);
|
|
border-radius: var(--radius-m);
|
|
padding: var(--size-4-4);
|
|
overflow: hidden;
|
|
position: relative;
|
|
border: 1px solid var(--background-modifier-border);
|
|
display: flex;
|
|
flex-direction: row;
|
|
overflow-x: auto;
|
|
}
|
|
.component-showcase-description {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-3);
|
|
}
|
|
.component-showcase-description h3 {
|
|
margin: 0;
|
|
color: var(--text-normal);
|
|
}
|
|
.component-showcase-description p {
|
|
margin: 0;
|
|
color: var(--text-muted);
|
|
line-height: 1.6;
|
|
}
|
|
.component-feature-list {
|
|
list-style: none;
|
|
padding: 0;
|
|
margin: 0;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-2);
|
|
}
|
|
.component-feature-list li {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
gap: var(--size-4-2);
|
|
color: var(--text-normal);
|
|
}
|
|
.component-feature-list li::before {
|
|
content: "\2713";
|
|
color: var(--interactive-accent);
|
|
font-weight: bold;
|
|
flex-shrink: 0;
|
|
}
|
|
.component-preview {
|
|
pointer-events: none;
|
|
user-select: none;
|
|
}
|
|
.component-preview-sidebar {
|
|
max-width: 300px;
|
|
}
|
|
.component-preview-popover {
|
|
max-width: 350px;
|
|
}
|
|
.component-preview input,
|
|
.component-preview button,
|
|
.component-preview .clickable-icon {
|
|
pointer-events: none;
|
|
cursor: default;
|
|
}
|
|
.component-tabs {
|
|
display: flex;
|
|
gap: var(--size-4-2);
|
|
margin-bottom: var(--size-4-4);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
padding-bottom: var(--size-4-2);
|
|
}
|
|
.component-tab {
|
|
padding: var(--size-4-2) var(--size-4-4);
|
|
border-radius: var(--radius-s);
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
color: var(--text-muted);
|
|
font-weight: 500;
|
|
}
|
|
.component-tab:hover {
|
|
background: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.component-tab.is-active {
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.components-grid {
|
|
display: grid;
|
|
grid-template-columns: 1fr;
|
|
gap: var(--size-4-8);
|
|
}
|
|
@media (max-width: 768px) {
|
|
.component-showcase {
|
|
flex-direction: column;
|
|
}
|
|
.component-showcase-preview {
|
|
min-height: 300px;
|
|
}
|
|
}
|
|
.file-filter-preview {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-4);
|
|
}
|
|
.file-filter-config {
|
|
background: var(--background-primary);
|
|
border-radius: var(--radius-m);
|
|
padding: var(--size-4-4);
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.file-filter-stats-preview {
|
|
display: flex;
|
|
gap: var(--size-4-4);
|
|
padding: var(--size-4-3);
|
|
background: var(--background-secondary);
|
|
border-radius: var(--radius-s);
|
|
}
|
|
.filter-stat-item {
|
|
flex: 1;
|
|
text-align: center;
|
|
}
|
|
.filter-stat-value {
|
|
font-size: var(--font-ui-larger);
|
|
font-weight: 600;
|
|
color: var(--text-accent);
|
|
display: block;
|
|
}
|
|
.filter-stat-label {
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-muted);
|
|
display: block;
|
|
margin-top: var(--size-4-1);
|
|
}
|
|
.recommended-configs {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-2);
|
|
margin-top: var(--size-4-4);
|
|
}
|
|
.recommended-config-item {
|
|
padding: var(--size-4-3);
|
|
background: var(--background-secondary);
|
|
border-radius: var(--radius-s);
|
|
border: 1px solid var(--background-modifier-border);
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
}
|
|
.recommended-config-item:hover {
|
|
background: var(--background-modifier-hover);
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
.recommended-config-item h4 {
|
|
margin: 0 0 var(--size-4-2) 0;
|
|
color: var(--text-normal);
|
|
font-size: var(--font-ui-medium);
|
|
}
|
|
.recommended-config-item p {
|
|
margin: 0;
|
|
color: var(--text-muted);
|
|
font-size: var(--font-ui-small);
|
|
}
|
|
.component-showcase-preview.tg-fluent-container.component-preview-sidebar .fluent-sidebar {
|
|
width: 100%;
|
|
}
|
|
.component-showcase-preview .component-preview-sidebar .fluent-navigation-item,
|
|
.component-showcase-preview .component-preview-sidebar .fluent-project-item {
|
|
pointer-events: auto;
|
|
cursor: pointer;
|
|
outline: none;
|
|
}
|
|
.component-showcase-preview .component-preview-sidebar .fluent-navigation-item.is-active,
|
|
.component-showcase-preview .component-preview-sidebar .fluent-project-item.is-active {
|
|
background: var(--background-modifier-hover);
|
|
border-radius: var(--radius-s);
|
|
}
|
|
.component-showcase-preview .component-preview-sidebar .fluent-navigation-item:focus-visible,
|
|
.component-showcase-preview .component-preview-sidebar .fluent-project-item:focus-visible {
|
|
box-shadow: 0 0 0 2px var(--interactive-accent);
|
|
border-radius: var(--radius-s);
|
|
}
|
|
.component-showcase-preview.focus-mode .is-dimmed {
|
|
opacity: 0.5;
|
|
filter: grayscale(15%);
|
|
pointer-events: none;
|
|
}
|
|
.component-showcase-preview.focus-mode .is-focused {
|
|
position: relative;
|
|
outline: 1px solid var(--color-accent);
|
|
outline-offset: -1px;
|
|
border-radius: var(--radius-s);
|
|
z-index: 1;
|
|
}
|
|
.component-showcase:has(.fluent-top-navigation):not(:has(.component-preview-sidebar)) {
|
|
flex-direction: column;
|
|
}
|
|
.component-showcase-preview.focus-mode.tg-fluent-container.component-preview-topnav {
|
|
flex: unset;
|
|
height: max-content;
|
|
}
|
|
.fluent-top-navigation.component-preview.is-focused {
|
|
outline: unset;
|
|
}
|
|
.component-showcase-preview:has(.component-preview-sidebar + .component-preview-topnav) .component-preview-sidebar {
|
|
border-top: unset;
|
|
}
|
|
.component-showcase:has(.tg-fluent-container.component-preview-sidebar + .tg-fluent-container.component-preview-topnav) .tg-fluent-container.component-preview-topnav {
|
|
border-top: unset;
|
|
background: var(--background-primary);
|
|
}
|
|
.onboarding-content .resources-section {
|
|
width: 100%;
|
|
}
|
|
|
|
/* src/styles/layout-placement.css */
|
|
.placement-preview {
|
|
display: grid;
|
|
grid-template-columns: 1fr 2fr 1fr;
|
|
gap: 2px;
|
|
padding: var(--size-4-2);
|
|
height: 180px;
|
|
width: 100%;
|
|
background: var(--background-primary);
|
|
border-radius: 4px;
|
|
}
|
|
.placement-sidebar {
|
|
border-radius: 2px;
|
|
padding: 4px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 2px;
|
|
}
|
|
.placement-sidebar-active {
|
|
background: var(--interactive-accent);
|
|
opacity: 0.4;
|
|
}
|
|
.placement-sidebar-inactive {
|
|
background: var(--background-modifier-border);
|
|
opacity: 0.3;
|
|
}
|
|
.placement-sidebar-item {
|
|
height: 6px;
|
|
border-radius: 1px;
|
|
}
|
|
.placement-sidebar-item-active {
|
|
background: var(--text-normal);
|
|
opacity: 0.3;
|
|
}
|
|
.placement-sidebar-item-inactive {
|
|
background: var(--text-faint);
|
|
opacity: 0.2;
|
|
}
|
|
.placement-sidebar-item-small {
|
|
height: 5px;
|
|
}
|
|
.placement-center {
|
|
border-radius: 2px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
.placement-center-active {
|
|
background: var(--interactive-accent);
|
|
opacity: 0.4;
|
|
}
|
|
.placement-tab-bar {
|
|
height: 16px;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
padding: 2px 4px;
|
|
display: flex;
|
|
gap: 2px;
|
|
align-items: center;
|
|
}
|
|
.placement-tab {
|
|
width: 24px;
|
|
height: 10px;
|
|
background: var(--background-modifier-border);
|
|
opacity: 0.3;
|
|
border-radius: 1px;
|
|
}
|
|
.placement-tab-active {
|
|
background: var(--text-normal);
|
|
opacity: 0.5;
|
|
}
|
|
.placement-content {
|
|
flex: 1;
|
|
padding: 6px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 4px;
|
|
}
|
|
.placement-content-line {
|
|
height: 8px;
|
|
background: var(--text-normal);
|
|
opacity: 0.3;
|
|
border-radius: 1px;
|
|
}
|
|
|
|
/* src/styles/file-filter-settings.css */
|
|
.file-filter-rules-container {
|
|
margin-top: 1rem;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 6px;
|
|
padding: 1rem;
|
|
background: var(--background-secondary);
|
|
}
|
|
.file-filter-rule {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 1rem;
|
|
padding: 0.75rem;
|
|
margin-bottom: 0.5rem;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 4px;
|
|
background: var(--background-primary);
|
|
overflow-x: auto;
|
|
}
|
|
.file-filter-rule:last-child {
|
|
margin-bottom: 0;
|
|
}
|
|
.file-filter-rule-type,
|
|
.file-filter-rule-path,
|
|
.file-filter-rule-scope,
|
|
.file-filter-rule-enabled {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.25rem;
|
|
}
|
|
.file-filter-rule-type {
|
|
min-width: 80px;
|
|
}
|
|
.file-filter-rule-path {
|
|
flex: 1;
|
|
}
|
|
.file-filter-rule-enabled {
|
|
min-width: 60px;
|
|
}
|
|
.file-filter-rule label {
|
|
font-size: 0.8rem;
|
|
font-weight: 500;
|
|
color: var(--text-muted);
|
|
}
|
|
.file-filter-rule input[type=text] {
|
|
padding: 0.25rem 0.5rem;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 3px;
|
|
background: var(--background-primary);
|
|
color: var(--text-normal);
|
|
font-size: 0.9rem;
|
|
}
|
|
.file-filter-rule input[type=checkbox] {
|
|
width: 16px;
|
|
height: 16px;
|
|
}
|
|
.file-filter-rule-delete {
|
|
padding: 0.25rem;
|
|
border: none;
|
|
border-radius: 3px;
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
cursor: pointer;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
min-width: 28px;
|
|
height: 28px;
|
|
}
|
|
.file-filter-add-rule {
|
|
margin-top: 1rem;
|
|
}
|
|
.file-filter-add-rule .setting-item {
|
|
border: none;
|
|
padding: 0;
|
|
}
|
|
.file-filter-add-rule .setting-item-control {
|
|
gap: 0.5rem;
|
|
}
|
|
.file-filter-add-rule + .setting-item {
|
|
border-top: none;
|
|
}
|
|
.file-filter-stats {
|
|
margin-top: 1.5rem;
|
|
padding: 1rem;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 6px;
|
|
background: var(--background-secondary);
|
|
}
|
|
.file-filter-stat {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: 0.25rem 0;
|
|
}
|
|
.file-filter-stat:not(:last-child) {
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
margin-bottom: 0.25rem;
|
|
padding-bottom: 0.5rem;
|
|
}
|
|
.stat-label {
|
|
font-weight: 500;
|
|
color: var(--text-normal);
|
|
}
|
|
.stat-value {
|
|
font-weight: 600;
|
|
color: var(--interactive-accent);
|
|
}
|
|
.file-filter-stat.error {
|
|
background-color: var(--background-modifier-error);
|
|
border-left: 3px solid var(--text-error);
|
|
}
|
|
.file-filter-stat.error .stat-label {
|
|
color: var(--text-error);
|
|
}
|
|
.setting-item .setting-item-control button[aria-label*=refresh] {
|
|
transition: transform 0.2s ease;
|
|
}
|
|
.setting-item .setting-item-control button[aria-label*=refresh]:hover {
|
|
transform: rotate(90deg);
|
|
}
|
|
@keyframes refresh-spin {
|
|
from {
|
|
transform: rotate(0deg);
|
|
}
|
|
to {
|
|
transform: rotate(360deg);
|
|
}
|
|
}
|
|
.setting-item .setting-item-control button[disabled] .lucide-refresh-cw {
|
|
animation: refresh-spin 1s linear infinite;
|
|
}
|
|
@media (max-width: 768px) {
|
|
.file-filter-rule {
|
|
flex-direction: column;
|
|
align-items: stretch;
|
|
gap: 0.5rem;
|
|
}
|
|
.file-filter-rule-type,
|
|
.file-filter-rule-path,
|
|
.file-filter-rule-enabled {
|
|
min-width: auto;
|
|
}
|
|
.file-filter-rule-delete {
|
|
align-self: flex-end;
|
|
margin-top: 0.5rem;
|
|
}
|
|
}
|
|
.theme-dark .file-filter-rule input[type=text] {
|
|
background: var(--background-primary-alt);
|
|
border-color: var(--background-modifier-border-hover);
|
|
}
|
|
.theme-dark .file-filter-rule input[type=text]:focus {
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 0 0 2px var(--interactive-accent-hover);
|
|
}
|
|
.file-filter-rules-container:empty::before {
|
|
content: "No filter rules configured. Add rules below to start filtering files and folders.";
|
|
display: block;
|
|
text-align: center;
|
|
color: var(--text-muted);
|
|
font-style: italic;
|
|
padding: 2rem;
|
|
}
|
|
.file-filter-preset-container {
|
|
margin-top: 1rem;
|
|
padding: 1rem;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 6px;
|
|
background: var(--background-secondary);
|
|
}
|
|
.file-filter-preset-container .setting-item {
|
|
border: none;
|
|
padding: 0.5rem 0;
|
|
}
|
|
.file-filter-preset-container .setting-item:not(:last-child) {
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
}
|
|
.file-filter-preset-container button {
|
|
position: relative;
|
|
transition: all 0.2s ease;
|
|
}
|
|
.file-filter-preset-container button:disabled {
|
|
opacity: 0.6;
|
|
cursor: not-allowed;
|
|
background: var(--background-modifier-border);
|
|
color: var(--text-muted);
|
|
}
|
|
.file-filter-preset-container button:not(:disabled):hover {
|
|
transform: translateY(-1px);
|
|
box-shadow: var(--shadow-s);
|
|
}
|
|
.file-filter-preset-container button[disabled] {
|
|
background: var(--color-green);
|
|
color: var(--text-on-accent);
|
|
border-color: var(--color-green);
|
|
}
|
|
.theme-dark .file-filter-preset-container button[disabled] {
|
|
background: var(--color-green-rgb);
|
|
opacity: 0.8;
|
|
}
|
|
.file-filter-rule-editor-modal {
|
|
max-width: 800px;
|
|
width: 90vw;
|
|
}
|
|
|
|
/* src/styles/habit-edit-dialog.css */
|
|
.habit-edit-dialog {
|
|
max-width: 600px;
|
|
width: 100%;
|
|
}
|
|
.habit-edit-dialog .modal-content {
|
|
padding: 20px;
|
|
}
|
|
.habit-edit-dialog .habit-type-selector {
|
|
margin-bottom: 20px;
|
|
}
|
|
.habit-edit-dialog .habit-type-description {
|
|
font-weight: 600;
|
|
margin-bottom: 10px;
|
|
}
|
|
.habit-edit-dialog .habit-type-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(2, 1fr);
|
|
gap: 10px;
|
|
}
|
|
@media (max-width: 500px) {
|
|
.habit-edit-dialog .habit-type-grid {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
}
|
|
.habit-edit-dialog .habit-type-item {
|
|
display: flex;
|
|
padding: 12px;
|
|
border-radius: var(--radius-m);
|
|
border: 1px solid var(--background-modifier-border);
|
|
background-color: var(--background-secondary);
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
}
|
|
.habit-edit-dialog .habit-type-item:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.habit-edit-dialog .habit-type-item.selected {
|
|
border-color: var(--interactive-accent);
|
|
background-color: var(--interactive-accent-hover);
|
|
}
|
|
.habit-edit-dialog .habit-type-icon {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 40px;
|
|
height: 40px;
|
|
border-radius: 50%;
|
|
background-color: var(--background-primary);
|
|
margin-right: 10px;
|
|
}
|
|
.habit-edit-dialog .habit-type-icon svg {
|
|
width: 20px;
|
|
height: 20px;
|
|
color: var(--text-normal);
|
|
}
|
|
.habit-edit-dialog .habit-type-text {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
.habit-edit-dialog .habit-type-name {
|
|
font-weight: 600;
|
|
margin-bottom: 4px;
|
|
}
|
|
.habit-edit-dialog .habit-type-desc {
|
|
font-size: 0.85em;
|
|
color: var(--text-muted);
|
|
}
|
|
.habit-edit-dialog .habit-common-form,
|
|
.habit-edit-dialog .habit-type-form {
|
|
margin-bottom: 20px;
|
|
}
|
|
.habit-edit-dialog .habit-icon-preview {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 30px;
|
|
height: 30px;
|
|
margin-left: 10px;
|
|
background-color: var(--background-primary);
|
|
border-radius: 50%;
|
|
}
|
|
.habit-edit-dialog .habit-icon-preview svg {
|
|
width: 18px;
|
|
height: 18px;
|
|
}
|
|
.habit-edit-dialog .habit-mapping-container {
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
padding: 10px;
|
|
margin-bottom: 10px;
|
|
margin-top: 5px;
|
|
}
|
|
.habit-edit-dialog .habit-mapping-row {
|
|
display: flex;
|
|
align-items: center;
|
|
margin-bottom: 8px;
|
|
}
|
|
.habit-edit-dialog .habit-mapping-key {
|
|
width: 80px;
|
|
margin-right: 5px;
|
|
font-size: 0.9em;
|
|
}
|
|
.habit-edit-dialog .habit-mapping-arrow {
|
|
margin: 0 10px;
|
|
color: var(--text-muted);
|
|
}
|
|
.habit-edit-dialog .habit-mapping-value {
|
|
flex: 1;
|
|
font-size: 0.9em;
|
|
margin-right: var(--size-4-4);
|
|
}
|
|
.habit-edit-dialog .habit-mapping-delete {
|
|
background: none;
|
|
border: none;
|
|
color: var(--text-error);
|
|
cursor: pointer;
|
|
font-size: 1.2em;
|
|
padding: 0 8px;
|
|
}
|
|
.habit-edit-dialog .habit-add-mapping-button {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border: none;
|
|
border-radius: var(--radius-s);
|
|
padding: 6px 12px;
|
|
cursor: pointer;
|
|
font-size: 0.9em;
|
|
}
|
|
.habit-edit-dialog .habit-events-container {
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
padding: 10px;
|
|
margin-bottom: 10px;
|
|
margin-top: 5px;
|
|
}
|
|
.habit-edit-dialog .habit-event-row {
|
|
display: flex;
|
|
margin-bottom: 8px;
|
|
gap: 5px;
|
|
}
|
|
.habit-edit-dialog .habit-event-name {
|
|
width: 120px;
|
|
font-size: 0.9em;
|
|
}
|
|
.habit-edit-dialog .habit-event-details {
|
|
flex: 1;
|
|
font-size: 0.9em;
|
|
}
|
|
.habit-edit-dialog .habit-event-property {
|
|
width: 120px;
|
|
font-size: 0.9em;
|
|
}
|
|
.habit-edit-dialog .habit-event-delete {
|
|
background: none;
|
|
border: none;
|
|
color: var(--text-error);
|
|
cursor: pointer;
|
|
font-size: 1.2em;
|
|
padding: 0 8px;
|
|
}
|
|
.habit-edit-dialog .habit-add-event-button {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border: none;
|
|
border-radius: var(--radius-s);
|
|
padding: 6px 12px;
|
|
cursor: pointer;
|
|
font-size: 0.9em;
|
|
}
|
|
.habit-edit-dialog .habit-edit-buttons {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
gap: 10px;
|
|
margin-top: 20px;
|
|
}
|
|
.habit-edit-dialog .habit-cancel-button {
|
|
background-color: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
padding: 8px 16px;
|
|
cursor: pointer;
|
|
}
|
|
.habit-edit-dialog .habit-save-button {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border: none;
|
|
border-radius: var(--radius-s);
|
|
padding: 8px 16px;
|
|
cursor: pointer;
|
|
}
|
|
.habit-edit-dialog input[type=text],
|
|
.habit-edit-dialog input[type=number] {
|
|
background-color: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
padding: 6px;
|
|
color: var(--text-normal);
|
|
}
|
|
.habit-edit-dialog .habit-type-item.selected .habit-type-desc,
|
|
.habit-edit-dialog .habit-type-item.selected .habit-type-name {
|
|
color: var(--text-on-accent);
|
|
}
|
|
|
|
/* src/styles/habit-list.css */
|
|
.habit-list-container {
|
|
padding: 12px;
|
|
width: 100%;
|
|
}
|
|
.habit-settings-container {
|
|
padding-top: 12px;
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
}
|
|
.habit-add-button-container {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
margin-bottom: 16px;
|
|
}
|
|
.habit-add-button {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
padding: 6px 12px;
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border-radius: var(--radius-s);
|
|
cursor: pointer;
|
|
font-size: 14px;
|
|
}
|
|
.habit-add-button svg {
|
|
width: 16px;
|
|
height: 16px;
|
|
}
|
|
.habit-empty-state {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
min-height: 200px;
|
|
text-align: center;
|
|
padding: 20px;
|
|
border: 1px dashed var(--background-modifier-border);
|
|
border-radius: var(--radius-m);
|
|
background-color: var(--background-secondary);
|
|
}
|
|
.habit-empty-state h2 {
|
|
margin: 0 0 10px 0;
|
|
font-size: 1.2em;
|
|
color: var(--text-normal);
|
|
}
|
|
.habit-empty-state p {
|
|
margin: 0;
|
|
color: var(--text-muted);
|
|
}
|
|
.habit-items-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 10px;
|
|
}
|
|
.habit-item {
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 12px;
|
|
border-radius: var(--radius-m);
|
|
background-color: var(--background-secondary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
transition: background-color 0.2s ease;
|
|
cursor: pointer;
|
|
height: 7.5rem;
|
|
}
|
|
.habit-item:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.habit-item-icon {
|
|
--icon-size: 20px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 48px;
|
|
height: 48px;
|
|
border-radius: 50%;
|
|
background-color: var(--background-primary);
|
|
margin-right: 12px;
|
|
}
|
|
.habit-item-icon svg {
|
|
color: var(--text-normal);
|
|
}
|
|
.habit-item-info {
|
|
flex: 1;
|
|
min-width: 0;
|
|
}
|
|
.habit-item-name {
|
|
font-weight: 600;
|
|
margin-bottom: 4px;
|
|
font-size: 16px;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
.habit-item-description {
|
|
color: var(--text-muted);
|
|
font-size: 12px;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
margin-bottom: 4px;
|
|
}
|
|
.habit-item-type {
|
|
display: inline-block;
|
|
font-size: 11px;
|
|
padding: 2px 6px;
|
|
border-radius: var(--radius-s);
|
|
background-color: var(--background-modifier-border);
|
|
color: var(--text-muted);
|
|
}
|
|
.habit-item-actions {
|
|
display: flex;
|
|
gap: 8px;
|
|
margin-left: 12px;
|
|
}
|
|
.habit-edit-button,
|
|
.habit-delete-button {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 32px;
|
|
height: 32px;
|
|
border-radius: 50%;
|
|
background-color: var(--background-primary);
|
|
cursor: pointer;
|
|
padding: 0;
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.habit-edit-button:hover,
|
|
.habit-delete-button:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.habit-edit-button svg,
|
|
.habit-delete-button svg {
|
|
width: 16px;
|
|
height: 16px;
|
|
color: var(--text-muted);
|
|
}
|
|
.habit-delete-button:hover svg {
|
|
color: var(--text-error);
|
|
}
|
|
.habit-delete-modal-buttons {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
gap: 10px;
|
|
margin-top: 20px;
|
|
}
|
|
.habit-delete-button-confirm {
|
|
background-color: var(--text-error);
|
|
color: #fff;
|
|
border: none;
|
|
border-radius: var(--radius-s);
|
|
padding: 8px 16px;
|
|
cursor: pointer;
|
|
}
|
|
|
|
/* src/styles/ics-settings.css */
|
|
.ics-settings-container {
|
|
max-width: 800px;
|
|
margin: 0 auto;
|
|
}
|
|
.ics-header-container {
|
|
margin-bottom: 2rem;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
padding-bottom: 1rem;
|
|
}
|
|
.ics-back-button {
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border: none;
|
|
padding: 0.5rem 1rem;
|
|
border-radius: 6px;
|
|
cursor: pointer;
|
|
margin-bottom: 1rem;
|
|
font-size: 0.9em;
|
|
transition: all 0.2s ease;
|
|
}
|
|
.ics-back-button:hover {
|
|
background: var(--interactive-accent-hover);
|
|
transform: translateY(-1px);
|
|
}
|
|
.ics-description {
|
|
color: var(--text-muted);
|
|
margin-top: 0.5rem;
|
|
line-height: 1.5;
|
|
}
|
|
.ics-global-settings {
|
|
margin-bottom: 2rem;
|
|
padding: 1.5rem;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 8px;
|
|
background: var(--background-secondary);
|
|
}
|
|
.ics-sources-list {
|
|
margin-top: 1.5rem;
|
|
}
|
|
.ics-sources-list h3 {
|
|
margin-bottom: 1rem;
|
|
color: var(--text-normal);
|
|
}
|
|
.ics-source-item {
|
|
margin-bottom: 1rem;
|
|
padding: 1.5rem;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 8px;
|
|
background: var(--background-primary);
|
|
transition: all 0.2s ease;
|
|
}
|
|
.ics-source-item:hover {
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: var(--shadow-s);
|
|
}
|
|
.ics-source-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
margin-bottom: 1rem;
|
|
}
|
|
.ics-source-title strong {
|
|
font-size: 1.1em;
|
|
color: var(--text-normal);
|
|
}
|
|
.ics-source-status {
|
|
padding: 0.3rem 0.8rem;
|
|
border-radius: 12px;
|
|
font-size: 0.75em;
|
|
font-weight: 600;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.5px;
|
|
}
|
|
.status-enabled {
|
|
background: var(--color-green);
|
|
color: white;
|
|
}
|
|
.status-disabled {
|
|
background: var(--color-red);
|
|
color: white;
|
|
}
|
|
.ics-source-details {
|
|
margin-bottom: 1.5rem;
|
|
font-size: 0.9em;
|
|
color: var(--text-muted);
|
|
line-height: 1.4;
|
|
}
|
|
.ics-source-details div {
|
|
margin-bottom: 0.4rem;
|
|
}
|
|
.ics-source-actions {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
gap: 1rem;
|
|
}
|
|
.primary-actions,
|
|
.secondary-actions {
|
|
display: flex;
|
|
gap: 0.5rem;
|
|
}
|
|
.ics-source-actions button {
|
|
padding: 0.5rem 1rem;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 6px;
|
|
background: var(--background-secondary);
|
|
color: var(--text-normal);
|
|
font-size: 0.85em;
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
min-width: 80px;
|
|
white-space: nowrap;
|
|
}
|
|
.ics-source-actions button:hover {
|
|
background: var(--background-modifier-hover);
|
|
border-color: var(--interactive-accent);
|
|
transform: translateY(-1px);
|
|
}
|
|
.ics-source-actions button.mod-cta {
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
.ics-source-actions button.mod-cta:hover {
|
|
background: var(--interactive-accent-hover);
|
|
}
|
|
.ics-source-actions button.mod-warning {
|
|
background: var(--color-red);
|
|
color: white;
|
|
border-color: var(--color-red);
|
|
}
|
|
.ics-source-actions button.mod-warning:hover {
|
|
background: var(--color-red);
|
|
opacity: 0.8;
|
|
}
|
|
.ics-source-actions button:disabled {
|
|
opacity: 0.5;
|
|
cursor: not-allowed;
|
|
transform: none;
|
|
}
|
|
.ics-source-actions button.syncing {
|
|
color: var(--interactive-accent);
|
|
}
|
|
.ics-source-actions button.success {
|
|
background: var(--color-green);
|
|
color: white;
|
|
border-color: var(--color-green);
|
|
}
|
|
.ics-source-actions button.error {
|
|
background: var(--color-red);
|
|
color: white;
|
|
border-color: var(--color-red);
|
|
}
|
|
.ics-add-source-container {
|
|
margin-top: 2rem;
|
|
text-align: center;
|
|
padding: 2rem;
|
|
border: 2px dashed var(--background-modifier-border);
|
|
border-radius: 8px;
|
|
background: var(--background-secondary);
|
|
transition: all 0.2s ease;
|
|
}
|
|
.ics-add-source-container:hover {
|
|
border-color: var(--interactive-accent);
|
|
background: var(--background-modifier-hover);
|
|
}
|
|
.ics-add-source-container button {
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border: none;
|
|
padding: 0.8rem 1.5rem;
|
|
border-radius: 6px;
|
|
font-weight: 500;
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
font-size: 0.95em;
|
|
}
|
|
.ics-add-source-container button:hover {
|
|
background: var(--interactive-accent-hover);
|
|
transform: translateY(-2px);
|
|
}
|
|
.ics-test-container {
|
|
margin-top: 1rem;
|
|
text-align: center;
|
|
padding: 1rem;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 8px;
|
|
background: var(--background-modifier-form-field);
|
|
}
|
|
.ics-test-button {
|
|
background: var(--color-orange);
|
|
color: white;
|
|
border: none;
|
|
padding: 0.6rem 1.2rem;
|
|
border-radius: 6px;
|
|
font-weight: 500;
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
font-size: 0.9em;
|
|
}
|
|
.ics-test-button:hover {
|
|
background: var(--color-orange);
|
|
opacity: 0.8;
|
|
transform: translateY(-1px);
|
|
}
|
|
.ics-empty-state {
|
|
text-align: center;
|
|
padding: 3rem 2rem;
|
|
color: var(--text-muted);
|
|
font-style: italic;
|
|
background: var(--background-secondary);
|
|
border-radius: 8px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.ics-source-modal .modal-content {
|
|
max-width: 600px;
|
|
max-height: 80vh;
|
|
overflow-y: auto;
|
|
}
|
|
.auth-field {
|
|
margin-top: 0.5rem;
|
|
}
|
|
.modal-button-container {
|
|
display: flex;
|
|
gap: 0.5rem;
|
|
justify-content: flex-end;
|
|
margin-top: 1.5rem;
|
|
padding-top: 1rem;
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
}
|
|
.modal-button-container button {
|
|
padding: 0.5rem 1rem;
|
|
border-radius: 6px;
|
|
font-size: 0.9em;
|
|
min-width: 80px;
|
|
}
|
|
@media (max-width: 768px) {
|
|
.ics-source-header {
|
|
flex-direction: column;
|
|
align-items: flex-start;
|
|
gap: 0.5rem;
|
|
}
|
|
.ics-source-actions {
|
|
flex-direction: column;
|
|
gap: 0.5rem;
|
|
}
|
|
.primary-actions,
|
|
.secondary-actions {
|
|
width: 100%;
|
|
justify-content: space-between;
|
|
}
|
|
.ics-source-actions button {
|
|
flex: 1;
|
|
min-width: auto;
|
|
}
|
|
}
|
|
@media (max-width: 480px) {
|
|
.ics-source-item {
|
|
padding: 1rem;
|
|
}
|
|
.primary-actions,
|
|
.secondary-actions {
|
|
flex-direction: column;
|
|
}
|
|
.ics-source-actions button {
|
|
width: 100%;
|
|
margin-bottom: 0.3rem;
|
|
}
|
|
.modal-button-container {
|
|
flex-direction: column;
|
|
}
|
|
.modal-button-container button {
|
|
width: 100%;
|
|
}
|
|
}
|
|
.text-replacements-list {
|
|
margin: 1rem 0;
|
|
}
|
|
.text-replacements-empty {
|
|
text-align: center;
|
|
padding: 2rem;
|
|
color: var(--text-muted);
|
|
font-style: italic;
|
|
background: var(--background-secondary);
|
|
border-radius: 6px;
|
|
border: 1px dashed var(--background-modifier-border);
|
|
}
|
|
.text-replacement-rule {
|
|
margin-bottom: 1rem;
|
|
padding: 1rem;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 6px;
|
|
background: var(--background-primary);
|
|
transition: all 0.2s ease;
|
|
}
|
|
.text-replacement-rule:hover {
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
|
}
|
|
.text-replacement-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
margin-bottom: 0.8rem;
|
|
}
|
|
.text-replacement-header strong {
|
|
color: var(--text-normal);
|
|
font-size: 1em;
|
|
}
|
|
.text-replacement-status {
|
|
padding: 0.2rem 0.6rem;
|
|
border-radius: 10px;
|
|
font-size: 0.7em;
|
|
font-weight: 600;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.5px;
|
|
}
|
|
.text-replacement-status.enabled {
|
|
background: var(--color-green);
|
|
color: white;
|
|
}
|
|
.text-replacement-status.disabled {
|
|
background: var(--color-red);
|
|
color: white;
|
|
}
|
|
.text-replacement-details {
|
|
margin-bottom: 1rem;
|
|
font-size: 0.85em;
|
|
color: var(--text-muted);
|
|
line-height: 1.4;
|
|
}
|
|
.text-replacement-details div {
|
|
margin-bottom: 0.3rem;
|
|
}
|
|
.text-replacement-pattern {
|
|
font-family: var(--font-monospace);
|
|
background: var(--background-modifier-form-field);
|
|
padding: 0.2rem 0.4rem;
|
|
border-radius: 3px;
|
|
display: inline-block;
|
|
margin-left: 0.5rem;
|
|
}
|
|
.text-replacement-replacement {
|
|
font-family: var(--font-monospace);
|
|
background: var(--background-modifier-form-field);
|
|
padding: 0.2rem 0.4rem;
|
|
border-radius: 3px;
|
|
display: inline-block;
|
|
margin-left: 0.5rem;
|
|
}
|
|
.text-replacement-actions {
|
|
display: flex;
|
|
gap: 0.5rem;
|
|
flex-wrap: wrap;
|
|
}
|
|
.text-replacement-actions button {
|
|
padding: 0.4rem 0.8rem;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 4px;
|
|
background: var(--background-secondary);
|
|
color: var(--text-normal);
|
|
font-size: 0.8em;
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
}
|
|
.text-replacement-actions button:hover {
|
|
background: var(--background-modifier-hover);
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
.text-replacement-actions button.mod-cta {
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
.text-replacement-actions button.mod-warning {
|
|
background: var(--color-red);
|
|
color: white;
|
|
border-color: var(--color-red);
|
|
}
|
|
.text-replacement-add {
|
|
margin-top: 1rem;
|
|
text-align: center;
|
|
}
|
|
.text-replacement-add button {
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border: none;
|
|
padding: 0.6rem 1.2rem;
|
|
border-radius: 6px;
|
|
font-weight: 500;
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
}
|
|
.text-replacement-add button:hover {
|
|
background: var(--interactive-accent-hover);
|
|
transform: translateY(-1px);
|
|
}
|
|
.text-replacement-modal .modal-content {
|
|
max-width: 700px;
|
|
max-height: 85vh;
|
|
overflow-y: auto;
|
|
}
|
|
.test-output {
|
|
margin-top: 0.5rem;
|
|
padding: 0.8rem;
|
|
background: var(--background-modifier-form-field);
|
|
border-radius: 4px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
font-family: var(--font-monospace);
|
|
font-size: 0.9em;
|
|
}
|
|
.test-result {
|
|
font-weight: 500;
|
|
}
|
|
.text-replacement-modal ul {
|
|
margin: 0.5rem 0;
|
|
padding-left: 1.5rem;
|
|
}
|
|
.text-replacement-modal li {
|
|
margin-bottom: 0.5rem;
|
|
line-height: 1.4;
|
|
}
|
|
.text-replacement-modal code {
|
|
background: var(--background-modifier-form-field);
|
|
padding: 0.1rem 0.3rem;
|
|
border-radius: 3px;
|
|
font-family: var(--font-monospace);
|
|
font-size: 0.85em;
|
|
}
|
|
@keyframes spin {
|
|
0% {
|
|
transform: rotate(0deg);
|
|
}
|
|
100% {
|
|
transform: rotate(360deg);
|
|
}
|
|
}
|
|
.ics-source-actions button.syncing::before {
|
|
content: "";
|
|
display: inline-block;
|
|
margin-right: 0.3rem;
|
|
animation: spin 1s linear infinite;
|
|
}
|
|
.ics-text-replacement-modal,
|
|
.ics-source-modal {
|
|
max-width: 1000px;
|
|
max-height: 90vh;
|
|
padding-right: 0;
|
|
}
|
|
.ics-text-replacement-modal .modal-content,
|
|
.ics-source-modal .modal-content {
|
|
padding-right: var(--size-4-2);
|
|
}
|
|
|
|
/* src/styles/task-filter.css */
|
|
.task-filter-panel {
|
|
padding: var(--size-4-4) var(--size-4-4);
|
|
padding-bottom: var(--size-2-2);
|
|
padding-left: var(--size-4-8);
|
|
background-color: var(--background-primary);
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
display: flex;
|
|
flex-direction: column;
|
|
max-height: 300px;
|
|
overflow-y: auto;
|
|
}
|
|
.task-filter-active {
|
|
color: var(--color-accent-2);
|
|
font-weight: bold;
|
|
}
|
|
.task-filter-panel > .setting-item {
|
|
border-top: unset;
|
|
}
|
|
.task-filter-header-container {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: flex-end;
|
|
}
|
|
.task-filter-title {
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-normal);
|
|
}
|
|
.task-filter-options {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 10px;
|
|
}
|
|
.task-filter-section {
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
.task-filter-section h3 {
|
|
font-size: 14px;
|
|
margin: 5px 0;
|
|
color: var(--text-muted);
|
|
}
|
|
.task-filter-section:last-child {
|
|
border-bottom: unset;
|
|
}
|
|
.task-filter-option {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
}
|
|
.task-filter-option input[type=checkbox] {
|
|
margin: 0;
|
|
}
|
|
.task-filter-option label {
|
|
font-size: 13px;
|
|
color: var(--text-normal);
|
|
}
|
|
.task-filter-buttons {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
gap: 8px;
|
|
margin-top: 8px;
|
|
padding-top: 8px;
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
}
|
|
.task-filter-apply,
|
|
.task-filter-close {
|
|
padding: 6px 12px;
|
|
border-radius: 4px;
|
|
font-size: 12px;
|
|
cursor: pointer;
|
|
}
|
|
.task-filter-apply {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.task-filter-reset {
|
|
background-color: var(--background-modifier-border);
|
|
color: var(--text-normal);
|
|
}
|
|
.task-filter-close {
|
|
background-color: var(--background-secondary);
|
|
color: var(--text-normal);
|
|
}
|
|
.task-filter-query-input {
|
|
width: 100%;
|
|
min-width: 250px;
|
|
border-radius: 4px;
|
|
padding: 8px 12px;
|
|
font-family: var(--font-monospace);
|
|
font-size: 14px;
|
|
}
|
|
.task-filter-query-input:focus {
|
|
box-shadow: 0 0 0 2px var(--interactive-accent);
|
|
outline: none;
|
|
}
|
|
.task-filter-section .setting-item-description {
|
|
margin-top: 5px;
|
|
margin-bottom: 10px;
|
|
font-size: 12px;
|
|
color: var(--text-muted);
|
|
line-height: 1.4;
|
|
}
|
|
.task-filter-options {
|
|
max-height: 70vh;
|
|
overflow-y: auto;
|
|
padding-right: 5px;
|
|
}
|
|
.task-filter-options {
|
|
margin-bottom: 10px;
|
|
padding-top: var(--size-4-4);
|
|
}
|
|
|
|
/* src/styles/global-filter.css */
|
|
.filter-group-separator {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
margin: var(--size-2-2) 0;
|
|
color: var(--text-muted);
|
|
font-size: var(--font-ui-smaller);
|
|
}
|
|
.filter-group-separator::before,
|
|
.filter-group-separator::after {
|
|
content: "";
|
|
flex-grow: 1;
|
|
height: 1px;
|
|
background-color: var( --background-modifier-border );
|
|
margin: 0 var(--size-2-1);
|
|
}
|
|
.drag-handle {
|
|
cursor: grab;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.compact-btn {
|
|
padding: var(--size-2-1) var(--size-2-2);
|
|
box-shadow: unset !important;
|
|
border: unset !important;
|
|
--icon-size: var(--size-4-4);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: var(--size-2-2);
|
|
-webkit-app-region: no-drag;
|
|
display: inline-flex;
|
|
overflow: hidden;
|
|
align-items: center;
|
|
color: var(--text-muted);
|
|
font-size: var(--font-ui-small);
|
|
border-radius: var(--button-radius);
|
|
padding: var(--size-2-2);
|
|
font-weight: var(--input-font-weight);
|
|
cursor: var(--cursor);
|
|
font-family: inherit;
|
|
gap: var(--size-2-2);
|
|
min-height: 30px;
|
|
}
|
|
.compact-btn:hover {
|
|
box-shadow: none;
|
|
opacity: var(--icon-opacity-hover);
|
|
background-color: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.compact-input,
|
|
.compact-select {
|
|
font-size: var(--font-ui-smaller);
|
|
height: var(--input-height);
|
|
border: 1px solid var(--background-modifier-border);
|
|
box-shadow: none;
|
|
}
|
|
.compact-select:hover {
|
|
box-shadow: none;
|
|
}
|
|
.compact-text {
|
|
font-size: var(--font-ui-smaller);
|
|
}
|
|
.dragging-placeholder {
|
|
opacity: 0.5;
|
|
background-color: var( --background-modifier-hover );
|
|
}
|
|
.task-filter-root-container.task-popover-content {
|
|
padding: var(--size-2-2);
|
|
max-width: 100%;
|
|
max-height: 100%;
|
|
}
|
|
.task-filter-main-panel {
|
|
max-width: 100%;
|
|
padding: var(--size-2-2);
|
|
border-radius: var(--radius-m);
|
|
}
|
|
.filter-menu {
|
|
z-index: 50;
|
|
min-width: 600px;
|
|
background-color: var(--background-primary);
|
|
border-radius: var(--radius-m);
|
|
box-shadow: var(--shadow-s);
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.root-filter-setup-section {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.75rem;
|
|
}
|
|
.root-condition-section {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
padding: 0.5rem;
|
|
background-color: var( --background-secondary-alt, var(--background-modifier-hover) );
|
|
border-radius: var(--radius-m);
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.root-condition-label {
|
|
font-weight: 500;
|
|
color: var(--text-normal);
|
|
}
|
|
.root-condition-select {
|
|
width: auto;
|
|
border: 1px solid var(--input-border-color, var(--background-modifier-border));
|
|
}
|
|
.root-condition-select:focus {
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 0 0 1px var(--interactive-accent);
|
|
}
|
|
.root-condition-span {
|
|
color: var(--text-normal);
|
|
}
|
|
.filter-groups-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-2-3);
|
|
max-height: 50vh;
|
|
overflow: auto;
|
|
}
|
|
.filter-group {
|
|
padding: var(--size-2-3);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-m);
|
|
background-color: var(--background-primary);
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-2);
|
|
}
|
|
.filter-group-header {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
}
|
|
.filter-group-header-left {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.375rem;
|
|
}
|
|
.filter-group-header-left .drag-handle-container .svg-icon {
|
|
color: var(--text-faint);
|
|
}
|
|
.filter-group-header-left .drag-handle-container:hover .svg-icon {
|
|
color: var(--text-muted);
|
|
}
|
|
.filter-group-header-left .drag-handle-container {
|
|
padding-right: var(--size-2-1);
|
|
}
|
|
.filter-group-header-left > .compact-text,
|
|
.filter-group-header-left > span.compact-text {
|
|
font-weight: 500;
|
|
color: var(--text-normal);
|
|
}
|
|
.filter-group-header-left .group-condition-select.compact-select {
|
|
border: 1px solid var(--input-border-color, var(--background-modifier-border));
|
|
}
|
|
.filter-group-header-left .group-condition-select.compact-select:focus {
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 0 0 1px var(--interactive-accent);
|
|
}
|
|
.filter-group-header-right {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.25rem;
|
|
}
|
|
.filter-group-header-right .duplicate-group-btn.compact-icon-btn,
|
|
.filter-group-header-right .remove-group-btn.compact-icon-btn {
|
|
border-radius: var(--radius-s);
|
|
}
|
|
.filter-group-header-right .duplicate-group-btn.compact-icon-btn .svg-icon {
|
|
color: var(--text-muted);
|
|
}
|
|
.filter-group-header-right .duplicate-group-btn.compact-icon-btn:hover .svg-icon {
|
|
color: var(--interactive-accent);
|
|
}
|
|
.filter-group-header-right .duplicate-group-btn.compact-icon-btn:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.filter-group-header-right .remove-group-btn.compact-icon-btn .svg-icon {
|
|
color: var(--text-muted);
|
|
}
|
|
.filter-group-header-right .remove-group-btn.compact-icon-btn:hover .svg-icon {
|
|
color: var(--text-error);
|
|
}
|
|
.filter-group-header-right .remove-group-btn.compact-icon-btn:hover {
|
|
background-color: var( --background-error-hover, var(--background-modifier-error-hover) );
|
|
}
|
|
.filters-list {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-2-2);
|
|
padding-left: 1rem;
|
|
border-left: 2px solid var(--background-modifier-border);
|
|
margin-left: var(--size-4-2);
|
|
}
|
|
.filters-list:empty {
|
|
display: none;
|
|
}
|
|
.group-footer {
|
|
padding-left: 0.375rem;
|
|
margin-top: 0.375rem;
|
|
}
|
|
.add-filter-btn-icon {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.filter-item {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-2-2);
|
|
padding: var(--size-4-2);
|
|
padding-top: 0;
|
|
padding-bottom: 0;
|
|
}
|
|
.filter-item .filter-conjunction {
|
|
font-size: var(--font-ui-smaller);
|
|
font-weight: 600;
|
|
color: var(--text-faint);
|
|
align-self: center;
|
|
}
|
|
.filter-item .filter-property-select.compact-select {
|
|
flex-basis: 30%;
|
|
flex-grow: 0;
|
|
flex-shrink: 0;
|
|
border: 1px solid var(--input-border-color, var(--background-modifier-border));
|
|
box-shadow: none;
|
|
}
|
|
.filter-item .filter-property-select.compact-select:focus {
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 0 0 1px var(--interactive-accent);
|
|
}
|
|
.filter-item .filter-condition-select.compact-select {
|
|
width: auto;
|
|
border: 1px solid var(--input-border-color, var(--background-modifier-border));
|
|
box-shadow: none;
|
|
}
|
|
.filter-item .filter-condition-select.compact-select:focus {
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 0 0 1px var(--interactive-accent);
|
|
}
|
|
.filter-item .filter-value-input.compact-input {
|
|
flex-grow: 1;
|
|
border: 1px solid var(--input-border-color, var(--background-modifier-border));
|
|
width: 100%;
|
|
}
|
|
.filter-item .filter-value-input.compact-input:focus {
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 0 0 1px var(--interactive-accent);
|
|
}
|
|
.filter-item .remove-filter-btn.compact-icon-btn .svg-icon {
|
|
color: var(--text-muted);
|
|
}
|
|
.filter-item .remove-filter-btn.compact-icon-btn:hover .svg-icon {
|
|
color: var(--text-error);
|
|
}
|
|
.filter-item .remove-filter-btn.compact-icon-btn:hover {
|
|
background-color: var( --background-error-hover, var(--background-modifier-error-hover) );
|
|
}
|
|
.add-group-section {
|
|
margin-top: var(--size-2-1);
|
|
margin-bottom: var(--size-2-1);
|
|
margin-left: var(--size-2-1);
|
|
display: flex;
|
|
justify-content: space-between;
|
|
}
|
|
.add-filter-group-btn-icon {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.filter-config-section {
|
|
display: flex;
|
|
gap: var(--size-4-2);
|
|
}
|
|
.save-filter-config-btn,
|
|
.load-filter-config-btn {
|
|
flex: 1;
|
|
}
|
|
.save-filter-config-btn-icon,
|
|
.load-filter-config-btn-icon {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.save-filter-config-btn:hover {
|
|
background-color: var(--interactive-accent-hover);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.load-filter-config-btn:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.filter-config-details {
|
|
margin-top: var(--size-4-3);
|
|
padding: var(--size-4-3);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-l);
|
|
background:
|
|
linear-gradient(
|
|
135deg,
|
|
var(--background-secondary) 0%,
|
|
var(--background-primary-alt) 100%);
|
|
box-shadow: var(--shadow-s);
|
|
transition: all 0.2s ease-in-out;
|
|
}
|
|
.filter-config-details:hover {
|
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
|
|
transform: translateY(-1px);
|
|
}
|
|
.filter-config-details h3 {
|
|
margin: 0 0 var(--size-4-2) 0;
|
|
font-size: var(--font-ui-medium);
|
|
font-weight: 600;
|
|
color: var(--text-accent);
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-2-2);
|
|
}
|
|
.filter-config-details p {
|
|
margin: var(--size-2-2) 0;
|
|
line-height: 1.5;
|
|
color: var(--text-normal);
|
|
}
|
|
.filter-config-meta {
|
|
font-size: var(--font-ui-smaller);
|
|
color: var(--text-muted);
|
|
margin: var(--size-2-1) 0;
|
|
padding: var(--size-2-1) var(--size-2-2);
|
|
background-color: var(--background-modifier-form-field);
|
|
border-radius: var(--radius-s);
|
|
border-left: 3px solid var(--interactive-accent);
|
|
}
|
|
.filter-config-summary {
|
|
margin-top: var(--size-4-3);
|
|
padding: var(--size-4-2) 0 0 0;
|
|
border-top: 2px solid var(--background-modifier-border);
|
|
}
|
|
.filter-config-summary h4 {
|
|
margin: 0 0 var(--size-2-3) 0;
|
|
font-size: var(--font-ui-small);
|
|
font-weight: 600;
|
|
color: var(--text-normal);
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-2-1);
|
|
}
|
|
.filter-config-summary p {
|
|
margin: var(--size-2-1) 0;
|
|
font-size: var(--font-ui-smaller);
|
|
color: var(--text-muted);
|
|
padding: var(--size-2-1) var(--size-2-2);
|
|
background-color: var(--background-primary-alt);
|
|
border-radius: var(--radius-s);
|
|
}
|
|
.filter-config-buttons {
|
|
margin-top: var(--size-4-3);
|
|
padding-top: var(--size-4-2);
|
|
}
|
|
.filter-config-name-highlight {
|
|
background-color: var(--text-accent);
|
|
color: var(--text-on-accent);
|
|
padding: 0.125rem 0.25rem;
|
|
border-radius: var(--radius-s);
|
|
font-weight: 500;
|
|
}
|
|
.advanced-filter-container {
|
|
margin-top: var(--size-4-2);
|
|
padding: var(--size-4-3);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-m);
|
|
background-color: var(--background-secondary);
|
|
}
|
|
.advanced-filter-container .task-filter-root-container {
|
|
background-color: transparent;
|
|
border: none;
|
|
padding: 0;
|
|
}
|
|
.advanced-filter-container .task-filter-main-panel {
|
|
background-color: transparent;
|
|
border: none;
|
|
padding: 0;
|
|
}
|
|
.task-genius-view-config-modal .advanced-filter-container .filter-group {
|
|
padding: var(--size-4-2);
|
|
margin-bottom: var(--size-4-2);
|
|
}
|
|
.task-genius-view-config-modal .advanced-filter-container .filter-item {
|
|
padding: var(--size-2-2);
|
|
gap: var(--size-2-2);
|
|
}
|
|
.task-genius-view-config-modal .advanced-filter-container .compact-btn {
|
|
padding: var(--size-2-1) var(--size-2-2);
|
|
min-height: 26px;
|
|
}
|
|
.task-genius-view-config-modal .advanced-filter-container .compact-select,
|
|
.task-genius-view-config-modal .advanced-filter-container .compact-input {
|
|
font-size: var(--font-ui-smaller);
|
|
height: 28px;
|
|
}
|
|
|
|
/* src/styles/view-setting-tab.css */
|
|
.view-management-list {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 20px;
|
|
margin-bottom: var(--size-4-4);
|
|
}
|
|
.view-section-container {
|
|
min-height: 100px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 6px;
|
|
padding: 10px;
|
|
}
|
|
.view-section-header {
|
|
margin-bottom: 10px;
|
|
}
|
|
.view-section-header h4 {
|
|
margin: 0;
|
|
font-size: 14px;
|
|
font-weight: 600;
|
|
color: var(--text-muted);
|
|
}
|
|
.view-section-items,
|
|
.sortable-views {
|
|
min-height: 60px;
|
|
border: 1px dashed var(--background-modifier-border);
|
|
border-radius: 4px;
|
|
padding: 8px;
|
|
background: var(--background-primary);
|
|
}
|
|
.sortable-views:empty::after {
|
|
content: attr(data-empty-text);
|
|
display: block;
|
|
text-align: center;
|
|
color: var(--text-muted);
|
|
padding: 20px;
|
|
font-style: italic;
|
|
}
|
|
.sortable-views[data-region=top]:empty::after {
|
|
content: "Drag views here for the top section";
|
|
}
|
|
.sortable-views[data-region=bottom]:empty::after {
|
|
content: "Drag views here for the bottom section";
|
|
}
|
|
.view-item,
|
|
.sortable-view-item {
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 8px;
|
|
margin-bottom: 4px;
|
|
background-color: var(--background-secondary);
|
|
border-radius: 4px;
|
|
cursor: move;
|
|
transition: all 0.2s ease;
|
|
}
|
|
.view-item:hover {
|
|
background-color: var(--background-secondary-alt) !important;
|
|
}
|
|
.view-drag-handle {
|
|
cursor: grab;
|
|
margin-right: 8px;
|
|
opacity: 0.5;
|
|
}
|
|
.view-drag-handle:active {
|
|
cursor: grabbing !important;
|
|
}
|
|
.view-item-icon {
|
|
margin-right: 8px;
|
|
}
|
|
.view-item-info {
|
|
flex: 1;
|
|
margin-right: 8px;
|
|
}
|
|
.view-item-name {
|
|
font-weight: 500;
|
|
}
|
|
.view-item-type {
|
|
font-size: 12px;
|
|
color: var(--text-muted);
|
|
}
|
|
.view-item-actions {
|
|
display: flex;
|
|
gap: 4px;
|
|
}
|
|
.view-action-button {
|
|
background: transparent;
|
|
border: none;
|
|
cursor: pointer;
|
|
padding: 4px;
|
|
border-radius: 4px;
|
|
color: var(--text-muted);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.view-action-button:hover {
|
|
background: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.view-action-delete:hover {
|
|
background: var(--background-modifier-error);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.sortable-ghost {
|
|
opacity: 0.4;
|
|
background: var(--background-modifier-hover) !important;
|
|
}
|
|
.sortable-drag {
|
|
opacity: 0;
|
|
}
|
|
.sortable-chosen {
|
|
background: var(--background-modifier-hover) !important;
|
|
}
|
|
|
|
/* src/styles/mcp-integration.css */
|
|
.mcp-status-container {
|
|
padding: 16px;
|
|
background: var(--background-secondary);
|
|
border-radius: 8px;
|
|
margin-bottom: 24px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.mcp-status {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 10px;
|
|
}
|
|
.mcp-status-indicator {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
font-weight: 600;
|
|
font-size: 1.05em;
|
|
}
|
|
.mcp-status-indicator.running .status-dot {
|
|
color: var(--background-modifier-success);
|
|
font-size: 1.2em;
|
|
animation: pulse 2s infinite;
|
|
}
|
|
.mcp-status-indicator.stopped .status-dot {
|
|
color: var(--text-muted);
|
|
font-size: 1.2em;
|
|
}
|
|
.mcp-status-details {
|
|
display: flex;
|
|
gap: 24px;
|
|
font-size: 0.9em;
|
|
color: var(--text-muted);
|
|
padding-left: 30px;
|
|
}
|
|
.mcp-config-container {
|
|
margin-bottom: 30px;
|
|
}
|
|
.mcp-client-section {
|
|
margin-bottom: 16px;
|
|
background: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 8px;
|
|
overflow: hidden;
|
|
}
|
|
.mcp-client-header {
|
|
cursor: pointer;
|
|
padding: 12px 16px;
|
|
background: var(--background-secondary);
|
|
border-radius: 0;
|
|
margin-bottom: 0;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
user-select: none;
|
|
transition: background-color 0.2s;
|
|
}
|
|
.mcp-client-header:hover {
|
|
background: var(--background-modifier-hover);
|
|
}
|
|
.mcp-arrow {
|
|
transition: transform 0.2s;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 16px;
|
|
height: 16px;
|
|
}
|
|
.mcp-arrow svg {
|
|
width: 14px;
|
|
height: 14px;
|
|
stroke-width: 2;
|
|
}
|
|
.mcp-arrow.expanded {
|
|
transform: rotate(90deg);
|
|
}
|
|
.mcp-client-name {
|
|
font-weight: 500;
|
|
color: var(--text-normal);
|
|
}
|
|
.mcp-client-content {
|
|
padding: 16px !important;
|
|
background: var(--background-primary);
|
|
display: none;
|
|
}
|
|
.mcp-client-content.expanded {
|
|
display: block;
|
|
}
|
|
.mcp-config-block {
|
|
position: relative;
|
|
margin-bottom: 20px;
|
|
}
|
|
.mcp-config-code {
|
|
position: relative;
|
|
padding: 16px 60px 16px 16px !important;
|
|
background: var(--code-background);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 6px;
|
|
margin-bottom: 0;
|
|
font-size: 0.85em;
|
|
line-height: 1.5;
|
|
overflow: auto;
|
|
max-height: 300px;
|
|
font-family: var(--font-monospace);
|
|
scrollbar-width: thin;
|
|
scrollbar-color: var(--scrollbar-thumb-bg) var(--scrollbar-bg);
|
|
}
|
|
.mcp-config-code code {
|
|
color: var(--code-normal);
|
|
font-family: var(--font-monospace);
|
|
white-space: pre;
|
|
display: block;
|
|
}
|
|
.mcp-config-code::-webkit-scrollbar {
|
|
width: 8px;
|
|
height: 8px;
|
|
}
|
|
.mcp-config-code::-webkit-scrollbar-track {
|
|
background: var(--scrollbar-bg);
|
|
}
|
|
.mcp-config-code::-webkit-scrollbar-thumb {
|
|
background: var(--scrollbar-thumb-bg);
|
|
border-radius: 4px;
|
|
}
|
|
.mcp-config-code::-webkit-scrollbar-thumb:hover {
|
|
background: var(--scrollbar-active-thumb-bg);
|
|
}
|
|
.mcp-copy-btn {
|
|
position: absolute !important;
|
|
top: 12px;
|
|
right: 12px;
|
|
padding: 6px 12px;
|
|
font-size: 0.8em;
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border: none;
|
|
border-radius: 4px;
|
|
cursor: pointer;
|
|
transition: all 0.2s;
|
|
font-weight: 500;
|
|
z-index: 10;
|
|
}
|
|
.mcp-copy-btn:hover {
|
|
background: var(--interactive-accent-hover);
|
|
transform: translateY(-1px);
|
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
|
|
}
|
|
.mcp-copy-btn.copied {
|
|
animation: copySuccess 0.3s ease;
|
|
background: var(--background-modifier-success) !important;
|
|
}
|
|
.mcp-auth-methods {
|
|
margin: 15px 0;
|
|
padding: 15px;
|
|
background: var(--background-secondary);
|
|
border-radius: 8px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.mcp-auth-list {
|
|
margin: 10px 0 0 20px;
|
|
line-height: 1.8;
|
|
}
|
|
.mcp-auth-list li {
|
|
margin: 8px 0;
|
|
color: var(--text-normal);
|
|
}
|
|
.mcp-auth-list code {
|
|
background: var(--code-background);
|
|
padding: 2px 6px;
|
|
border-radius: 3px;
|
|
font-size: 0.9em;
|
|
color: var(--code-normal);
|
|
}
|
|
.mcp-token-input {
|
|
font-family: monospace;
|
|
width: 300px;
|
|
margin-right: 10px;
|
|
}
|
|
.mcp-docs-container {
|
|
margin-top: 20px;
|
|
}
|
|
.mcp-docs-section {
|
|
margin-bottom: 30px;
|
|
}
|
|
.mcp-docs-subtitle {
|
|
font-size: 1em;
|
|
font-weight: 600;
|
|
margin-bottom: 12px;
|
|
color: var(--text-normal);
|
|
}
|
|
.mcp-endpoint-box {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
padding: 12px;
|
|
background: var(--background-secondary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 8px;
|
|
margin-bottom: 20px;
|
|
}
|
|
.mcp-endpoint-content {
|
|
flex: 1;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
}
|
|
.mcp-endpoint-label {
|
|
font-weight: 500;
|
|
color: var(--text-muted);
|
|
}
|
|
.mcp-endpoint-url {
|
|
font-family: var(--font-monospace);
|
|
padding: 6px 10px;
|
|
background: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 4px;
|
|
color: var(--text-accent);
|
|
user-select: text;
|
|
}
|
|
.mcp-copy-endpoint-btn {
|
|
padding: 6px 12px;
|
|
background: var(--interactive-normal);
|
|
color: var(--text-normal);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 4px;
|
|
cursor: pointer;
|
|
transition: background 0.2s;
|
|
}
|
|
.mcp-copy-endpoint-btn:hover {
|
|
background: var(--interactive-hover);
|
|
}
|
|
.mcp-copy-endpoint-btn.copied {
|
|
animation: copySuccess 0.3s ease;
|
|
background: var(--background-modifier-success) !important;
|
|
}
|
|
.mcp-tools-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
|
|
gap: 16px;
|
|
margin-bottom: 24px;
|
|
}
|
|
.mcp-tool-card {
|
|
position: relative;
|
|
padding: 16px;
|
|
background:
|
|
linear-gradient(
|
|
135deg,
|
|
var(--background-secondary) 0%,
|
|
var(--background-primary) 100%);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 10px;
|
|
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|
overflow: hidden;
|
|
}
|
|
.mcp-tool-card::before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 3px;
|
|
background:
|
|
linear-gradient(
|
|
90deg,
|
|
var(--interactive-accent) 0%,
|
|
var(--text-accent) 100%);
|
|
transform: scaleX(0);
|
|
transform-origin: left;
|
|
transition: transform 0.3s ease;
|
|
}
|
|
.mcp-tool-card:hover {
|
|
transform: translateY(-4px);
|
|
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
.mcp-tool-card:hover::before {
|
|
transform: scaleX(1);
|
|
}
|
|
.mcp-tool-header {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
margin-bottom: 10px;
|
|
}
|
|
.mcp-tool-icon {
|
|
width: 20px;
|
|
height: 20px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
color: var(--interactive-accent);
|
|
opacity: 0.9;
|
|
}
|
|
.mcp-tool-icon svg {
|
|
width: 16px;
|
|
height: 16px;
|
|
stroke-width: 2;
|
|
}
|
|
.mcp-tool-name {
|
|
font-family: var(--font-monospace);
|
|
font-size: 0.85em;
|
|
font-weight: 600;
|
|
color: var(--text-accent);
|
|
background: var(--background-modifier-box);
|
|
padding: 4px 8px;
|
|
border-radius: 4px;
|
|
display: inline-block;
|
|
letter-spacing: 0.5px;
|
|
}
|
|
.mcp-tool-desc {
|
|
font-size: 0.85em;
|
|
color: var(--text-muted);
|
|
line-height: 1.5;
|
|
padding-left: 28px;
|
|
}
|
|
.mcp-example-container {
|
|
background: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 12px;
|
|
overflow: hidden;
|
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
|
|
margin-top: 16px;
|
|
}
|
|
.mcp-example-tabs {
|
|
display: flex;
|
|
gap: 0;
|
|
background:
|
|
linear-gradient(
|
|
180deg,
|
|
var(--background-secondary) 0%,
|
|
var(--background-modifier-box) 100%);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
padding: 0;
|
|
}
|
|
.mcp-example-tab {
|
|
flex: 1;
|
|
padding: 14px 20px;
|
|
background: transparent;
|
|
color: var(--text-muted);
|
|
border: none;
|
|
cursor: pointer;
|
|
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|
font-size: 0.9em;
|
|
font-weight: 500;
|
|
position: relative;
|
|
text-align: center;
|
|
box-shadow: none !important;
|
|
}
|
|
.mcp-example-tab::after {
|
|
content: "";
|
|
position: absolute;
|
|
bottom: 0;
|
|
left: 50%;
|
|
transform: translateX(-50%) scaleX(0);
|
|
width: 80%;
|
|
height: 3px;
|
|
background: var(--interactive-accent);
|
|
transition: transform 0.3s ease;
|
|
border-radius: 3px 3px 0 0;
|
|
}
|
|
.mcp-example-tab:hover {
|
|
background: rgba(var(--interactive-accent-rgb), 0.05);
|
|
color: var(--text-normal);
|
|
}
|
|
.mcp-example-tab.active {
|
|
background: rgba(var(--interactive-accent-rgb), 0.1);
|
|
color: var(--interactive-accent);
|
|
font-weight: 600;
|
|
}
|
|
.mcp-example-tab.active::after {
|
|
transform: translateX(-50%) scaleX(1);
|
|
}
|
|
.mcp-example-code-container {
|
|
position: relative;
|
|
background: var(--code-background);
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
}
|
|
.mcp-example-block {
|
|
display: none;
|
|
position: relative;
|
|
animation: fadeIn 0.3s ease;
|
|
}
|
|
.mcp-example-block.active {
|
|
display: block;
|
|
}
|
|
@keyframes fadeIn {
|
|
from {
|
|
opacity: 0;
|
|
transform: translateY(-10px);
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
}
|
|
.mcp-example-code {
|
|
margin: 0;
|
|
padding: 24px 80px 24px 24px;
|
|
background:
|
|
linear-gradient(
|
|
135deg,
|
|
var(--code-background) 0%,
|
|
rgba(var(--background-primary-rgb), 0.5) 100%);
|
|
font-size: 0.85em;
|
|
line-height: 1.7;
|
|
overflow-x: auto;
|
|
max-height: 500px;
|
|
font-family: var(--font-monospace);
|
|
border: none;
|
|
position: relative;
|
|
}
|
|
.mcp-example-code::before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
height: 1px;
|
|
background:
|
|
linear-gradient(
|
|
90deg,
|
|
transparent,
|
|
var(--background-modifier-border),
|
|
transparent);
|
|
}
|
|
.mcp-example-code code {
|
|
color: var(--code-normal);
|
|
font-family: var(--font-monospace);
|
|
white-space: pre;
|
|
display: block;
|
|
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
|
|
}
|
|
.mcp-example-copy-btn {
|
|
position: absolute;
|
|
top: 20px;
|
|
right: 20px;
|
|
padding: 8px 16px;
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border: none;
|
|
border-radius: 6px;
|
|
cursor: pointer;
|
|
font-size: 0.85em;
|
|
font-weight: 600;
|
|
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|
z-index: 10;
|
|
box-shadow: 0 2px 8px rgba(var(--interactive-accent-rgb), 0.3);
|
|
}
|
|
.mcp-example-copy-btn:hover {
|
|
background: var(--interactive-accent-hover);
|
|
transform: translateY(-2px);
|
|
box-shadow: 0 4px 12px rgba(var(--interactive-accent-rgb), 0.4);
|
|
}
|
|
.mcp-example-copy-btn:active {
|
|
transform: translateY(0);
|
|
box-shadow: 0 1px 4px rgba(var(--interactive-accent-rgb), 0.3);
|
|
}
|
|
.mcp-example-copy-btn.copied {
|
|
animation: copySuccess 0.4s ease;
|
|
background: var(--background-modifier-success) !important;
|
|
box-shadow: 0 2px 8px rgba(var(--interactive-success-rgb), 0.3);
|
|
}
|
|
@keyframes copySuccess {
|
|
0% {
|
|
transform: scale(1);
|
|
}
|
|
50% {
|
|
transform: scale(1.1);
|
|
}
|
|
100% {
|
|
transform: scale(1);
|
|
}
|
|
}
|
|
@keyframes pulse {
|
|
0% {
|
|
opacity: 1;
|
|
}
|
|
50% {
|
|
opacity: 0.6;
|
|
}
|
|
100% {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
.mcp-client-header,
|
|
.mcp-example-tab,
|
|
.mcp-tool-card,
|
|
button {
|
|
transition: all 0.2s ease;
|
|
}
|
|
.mcp-config-code .json-key {
|
|
color: var(--text-accent);
|
|
}
|
|
.mcp-config-code .json-string {
|
|
color: var(--text-success);
|
|
}
|
|
.mcp-config-code .json-number {
|
|
color: var(--text-warning);
|
|
}
|
|
.mcp-config-code .json-boolean {
|
|
color: var(--text-error);
|
|
}
|
|
@media (max-width: 768px) {
|
|
.mcp-tools-grid {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
.mcp-status-details {
|
|
flex-direction: column;
|
|
gap: 8px;
|
|
}
|
|
}
|
|
.mcp-example-subtitle {
|
|
padding-left: var(--size-4-4);
|
|
}
|
|
.mcp-cursor-install-section {
|
|
margin-bottom: 20px;
|
|
}
|
|
.mcp-cursor-install-container {
|
|
margin-top: 12px;
|
|
}
|
|
.mcp-cursor-install-desc {
|
|
color: var(--text-muted);
|
|
margin-bottom: 12px;
|
|
font-size: 14px;
|
|
}
|
|
.mcp-cursor-install-link {
|
|
display: inline-block;
|
|
margin-bottom: 16px;
|
|
transition: transform 0.2s ease;
|
|
}
|
|
.mcp-cursor-install-link:hover {
|
|
transform: scale(1.05);
|
|
}
|
|
.mcp-cursor-additional-buttons {
|
|
margin-top: 12px;
|
|
display: flex;
|
|
gap: 10px;
|
|
}
|
|
.mcp-cursor-copy-deeplink-btn {
|
|
background: var(--interactive-normal);
|
|
color: var(--text-normal);
|
|
border: 1px solid var(--background-modifier-border);
|
|
padding: 8px 16px;
|
|
border-radius: 4px;
|
|
font-size: 14px;
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
}
|
|
.mcp-cursor-copy-deeplink-btn:hover {
|
|
background: var(--interactive-hover);
|
|
}
|
|
.mcp-cursor-copy-deeplink-btn.copied {
|
|
background: var(--interactive-success);
|
|
color: white;
|
|
}
|
|
.mcp-cursor-debug-container {
|
|
margin-top: 20px;
|
|
}
|
|
.mcp-cursor-debug-toggle {
|
|
background: transparent;
|
|
color: var(--text-muted);
|
|
border: 1px solid var(--background-modifier-border);
|
|
padding: 6px 12px;
|
|
border-radius: 4px;
|
|
font-size: 12px;
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
}
|
|
.mcp-cursor-debug-toggle:hover {
|
|
background: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.mcp-cursor-debug-content {
|
|
margin-top: 12px;
|
|
padding: 12px;
|
|
background: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 4px;
|
|
}
|
|
.mcp-cursor-debug-label {
|
|
font-size: 12px;
|
|
color: var(--text-muted);
|
|
margin-bottom: 8px;
|
|
margin-top: 12px;
|
|
}
|
|
.mcp-cursor-debug-label:first-child {
|
|
margin-top: 0;
|
|
}
|
|
.mcp-cursor-debug-code {
|
|
background: var(--code-background);
|
|
padding: 8px;
|
|
border-radius: 4px;
|
|
font-size: 12px;
|
|
overflow-x: auto;
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.mcp-cursor-debug-code code {
|
|
color: var(--code-normal);
|
|
word-break: break-all;
|
|
}
|
|
.mcp-section-separator {
|
|
margin: 24px 0;
|
|
border: none;
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
}
|
|
|
|
/* src/styles/workflow.css */
|
|
.cm-workflow-stage-indicator {
|
|
display: inline-block;
|
|
margin-left: 4px;
|
|
font-size: 12px;
|
|
cursor: pointer;
|
|
opacity: 0.7;
|
|
transition: opacity 0.2s ease;
|
|
user-select: none;
|
|
align-items: center;
|
|
vertical-align: middle;
|
|
}
|
|
.cm-workflow-stage-indicator span {
|
|
display: inline-flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
}
|
|
.cm-workflow-stage-indicator:hover {
|
|
opacity: 1;
|
|
}
|
|
.cm-workflow-stage-indicator[data-stage-type=linear] {
|
|
color: var(--text-accent);
|
|
}
|
|
.cm-workflow-stage-indicator[data-stage-type=cycle] {
|
|
color: var(--task-in-progress-color);
|
|
}
|
|
.cm-workflow-stage-indicator[data-stage-type=terminal] {
|
|
color: var(--task-completed-color);
|
|
}
|
|
.theme-dark .cm-workflow-stage-indicator[data-stage-type=linear] {
|
|
color: var(--text-accent);
|
|
}
|
|
.theme-dark .cm-workflow-stage-indicator[data-stage-type=cycle] {
|
|
color: var(--task-in-progress-color);
|
|
}
|
|
.theme-dark .cm-workflow-stage-indicator[data-stage-type=terminal] {
|
|
color: var(--task-completed-color);
|
|
}
|
|
|
|
/* src/styles/quick-capture.css */
|
|
:root {
|
|
--tg-tab-background: 0 0% 100%;
|
|
--tg-tab-foreground: 240 10% 3.9%;
|
|
--tg-tab-muted: 240 4.8% 95.9%;
|
|
--tg-tab-muted-foreground: 240 3.8% 46.1%;
|
|
--tg-tab-border: 240 5.9% 90%;
|
|
--tg-qc-header-bg: 0 0% 100%;
|
|
}
|
|
.theme-dark {
|
|
--tg-tab-background: 240 10% 3.9%;
|
|
--tg-tab-foreground: 0 0% 98%;
|
|
--tg-tab-muted: 240 3.7% 15.9%;
|
|
--tg-tab-muted-foreground: 240 5% 64.9%;
|
|
--tg-tab-border: 240 3.7% 15.9%;
|
|
--tg-qc-header-bg: 240 4% 10%;
|
|
}
|
|
.quick-capture-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: 12px 16px;
|
|
border-bottom: 1px solid hsl(var(--tg-tab-border));
|
|
background: hsl(var(--tg-qc-header-bg));
|
|
}
|
|
.tg-minimal-capture-modal .quick-capture-header {
|
|
padding: 4px 8px;
|
|
}
|
|
.tg-minimal-capture-modal .model-header {
|
|
margin-bottom: 0;
|
|
}
|
|
.quick-capture-tabs {
|
|
display: inline-flex;
|
|
padding: 4px;
|
|
background: hsl(var(--tg-tab-muted));
|
|
border-radius: 6px;
|
|
gap: 2px;
|
|
}
|
|
.quick-capture-tab {
|
|
padding: 6px 12px;
|
|
background: transparent;
|
|
border: none;
|
|
border-radius: 4px;
|
|
cursor: pointer;
|
|
transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1);
|
|
color: hsl(var(--tg-tab-muted-foreground));
|
|
font-size: 14px;
|
|
font-weight: 500;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
white-space: nowrap;
|
|
position: relative;
|
|
}
|
|
.tg-minimal-capture-modal .quick-capture-tab-text {
|
|
display: none;
|
|
}
|
|
.tg-minimal-capture-modal .quick-capture-tab-icon {
|
|
margin-right: 0;
|
|
}
|
|
.quick-capture-tab:hover:not(.active) {
|
|
color: hsl(var(--tg-tab-foreground));
|
|
}
|
|
.quick-capture-tab.active {
|
|
background: hsl(var(--tg-tab-background));
|
|
color: hsl(var(--tg-tab-foreground));
|
|
box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
|
|
}
|
|
.quick-capture-tabs.is-hidden {
|
|
display: none;
|
|
}
|
|
.quick-capture-tab-icon {
|
|
margin-right: 6px;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
width: 16px;
|
|
height: 16px;
|
|
}
|
|
.quick-capture-tab-icon svg {
|
|
width: 14px;
|
|
height: 14px;
|
|
}
|
|
.quick-capture-tab-text {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
line-height: 1;
|
|
}
|
|
.quick-capture-clear {
|
|
padding: 6px 12px;
|
|
background: transparent;
|
|
border: 1px solid hsl(var(--tg-tab-border));
|
|
border-radius: 6px;
|
|
cursor: pointer;
|
|
transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1);
|
|
color: hsl(var(--tg-tab-muted-foreground));
|
|
font-size: 14px;
|
|
font-weight: 500;
|
|
}
|
|
.quick-capture-clear:hover {
|
|
}
|
|
.quick-capture-content {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
padding: var(--size-4-3);
|
|
}
|
|
.quick-capture-footer {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: var(--size-4-2);
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
}
|
|
.quick-capture-footer-left,
|
|
.quick-capture-footer-right {
|
|
display: flex;
|
|
gap: var(--size-2-2);
|
|
}
|
|
.quick-capture-continue {
|
|
padding: var(--size-2-2) var(--size-4-3);
|
|
background: transparent;
|
|
border-radius: var(--radius-s);
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
color: var(--text-muted);
|
|
}
|
|
.file-name-input-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-2-1);
|
|
margin-bottom: var(--size-4-3);
|
|
}
|
|
.file-name-label {
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-muted);
|
|
font-weight: 500;
|
|
}
|
|
.file-name-input {
|
|
width: 100%;
|
|
padding: var(--size-2-2);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
background-color: var(--background-primary);
|
|
color: var(--text-normal);
|
|
}
|
|
.file-name-input:focus {
|
|
outline: none;
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 0 0 2px var(--interactive-accent-hover);
|
|
}
|
|
.file-name-templates {
|
|
margin-top: var(--size-4-2);
|
|
}
|
|
.templates-label {
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-muted);
|
|
margin-bottom: var(--size-2-1);
|
|
}
|
|
.template-buttons {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: var(--size-2-1);
|
|
}
|
|
.template-button {
|
|
padding: var(--size-2-1) var(--size-2-3);
|
|
background-color: var(--background-secondary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
font-size: var(--font-ui-smaller);
|
|
color: var(--text-muted);
|
|
}
|
|
.template-button:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
.quick-capture-modal.quick-capture-checkbox {
|
|
width: 800px;
|
|
max-width: 90vw;
|
|
height: 700px;
|
|
max-height: 80vh;
|
|
min-height: fit-content;
|
|
}
|
|
.quick-capture-modal.quick-capture-file {
|
|
width: 800px;
|
|
max-width: 90vw;
|
|
height: 700px;
|
|
max-height: 80vh;
|
|
min-height: fit-content;
|
|
}
|
|
.quick-capture-modal.tg-minimal-capture-modal {
|
|
width: 600px;
|
|
max-width: 90vw;
|
|
height: 300px;
|
|
max-height: 80vh;
|
|
min-height: fit-content;
|
|
}
|
|
.quick-capture-panel {
|
|
padding: var(--size-4-2);
|
|
background-color: var(--background-primary);
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-2);
|
|
}
|
|
.quick-capture-actions {
|
|
display: flex;
|
|
gap: var(--size-2-1);
|
|
margin-left: auto;
|
|
align-items: center;
|
|
}
|
|
.quick-capture-actions .quick-action-button {
|
|
background: transparent;
|
|
border: none;
|
|
border-radius: var(--radius-s);
|
|
padding: var(--size-2-1);
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
color: var(--text-muted);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.quick-capture-actions .quick-action-button:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.quick-capture-actions .quick-action-button.active {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.quick-capture-modal.minimal {
|
|
max-width: 600px;
|
|
min-width: 500px;
|
|
max-height: 300px;
|
|
}
|
|
.quick-capture-minimal-target-container {
|
|
border-radius: 6px;
|
|
margin-bottom: 12px;
|
|
}
|
|
.quick-capture-minimal-target {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
font-size: 14px;
|
|
}
|
|
.quick-capture-target-label {
|
|
color: hsl(var(--tg-tab-muted-foreground));
|
|
font-weight: 500;
|
|
}
|
|
.quick-capture-target-value {
|
|
color: hsl(var(--tg-tab-foreground));
|
|
flex: 1;
|
|
}
|
|
.quick-capture-minimal-file-input {
|
|
flex: 1;
|
|
padding: 4px 8px;
|
|
background: hsl(var(--tg-tab-background));
|
|
border: 1px solid hsl(var(--tg-tab-border));
|
|
border-radius: 4px;
|
|
font-size: 14px;
|
|
color: hsl(var(--tg-tab-foreground));
|
|
}
|
|
.quick-capture-minimal-file-input:focus {
|
|
outline: none;
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 0 0 2px var(--interactive-accent-hover);
|
|
}
|
|
.quick-actions-left {
|
|
display: flex;
|
|
gap: var(--size-2-1);
|
|
}
|
|
.quick-actions-right {
|
|
display: flex;
|
|
gap: var(--size-2-1);
|
|
}
|
|
.quick-action-button.active {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
.quick-action-save {
|
|
padding: var(--size-2-1) var(--size-4-2);
|
|
min-width: 80px;
|
|
height: 32px;
|
|
border-radius: var(--radius-s);
|
|
}
|
|
.quick-capture-tag-input {
|
|
position: absolute;
|
|
bottom: 60px;
|
|
left: 50%;
|
|
transform: translateX(-50%);
|
|
width: 300px;
|
|
padding: var(--size-2-1);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
background-color: var(--background-primary);
|
|
color: var(--text-normal);
|
|
font-size: var(--font-text-size);
|
|
z-index: 1000;
|
|
}
|
|
.minimal-quick-capture-suggestion {
|
|
padding: var(--size-2-1) var(--size-4-2);
|
|
border-radius: var(--radius-s);
|
|
cursor: pointer;
|
|
transition: background-color 0.2s ease;
|
|
min-height: 40px;
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
.minimal-quick-capture-suggestion:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.minimal-quick-capture-suggestion.is-selected {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.minimal-quick-capture-suggestion.is-selected .suggestion-label {
|
|
color: var(--text-on-accent);
|
|
}
|
|
.minimal-quick-capture-suggestion.is-selected .suggestion-description {
|
|
color: var(--text-on-accent);
|
|
opacity: 0.8;
|
|
}
|
|
.suggestion-icon {
|
|
font-size: 16px;
|
|
min-width: 20px;
|
|
text-align: center;
|
|
}
|
|
.suggestion-content {
|
|
flex: 1;
|
|
}
|
|
.suggestion-label {
|
|
font-size: var(--font-text-size);
|
|
font-weight: 500;
|
|
color: var(--text-normal);
|
|
}
|
|
.suggestion-description {
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-muted);
|
|
margin-top: 2px;
|
|
}
|
|
.quick-capture-header-container {
|
|
display: flex;
|
|
align-items: center;
|
|
margin-bottom: var(--size-4-2);
|
|
gap: var(--size-4-2);
|
|
font-size: var(--font-ui-medium);
|
|
font-weight: bold;
|
|
color: var(--text-normal);
|
|
padding: var(--size-2-1) var(--size-4-2);
|
|
flex-wrap: nowrap;
|
|
}
|
|
.quick-capture-title {
|
|
color: var(--text-normal);
|
|
white-space: nowrap;
|
|
}
|
|
.quick-capture-target {
|
|
flex: 1;
|
|
border-radius: var(--radius-s);
|
|
color: var(--text-accent);
|
|
font-size: var(--font-text-size);
|
|
font-weight: normal;
|
|
min-width: 100px;
|
|
max-width: 500px;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
padding: 2px 4px;
|
|
transition: background-color 0.2s ease;
|
|
}
|
|
.quick-capture-target:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.quick-capture-target:focus {
|
|
background-color: var(--background-modifier-hover);
|
|
outline: 2px solid var(--interactive-accent);
|
|
outline-offset: -1px;
|
|
overflow: visible;
|
|
text-overflow: initial;
|
|
}
|
|
.quick-capture-hint {
|
|
font-size: 12px;
|
|
color: var(--text-muted);
|
|
margin-bottom: 8px;
|
|
margin-top: -4px;
|
|
text-align: right;
|
|
}
|
|
.quick-capture-editor {
|
|
min-height: 200px;
|
|
background-color: var(--background-primary);
|
|
}
|
|
.quick-capture-file-suggest {
|
|
max-width: 500px;
|
|
}
|
|
.quick-capture-buttons {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
gap: 8px;
|
|
}
|
|
.quick-capture-submit,
|
|
.quick-capture-cancel {
|
|
padding: 6px 12px;
|
|
border-radius: 4px;
|
|
cursor: pointer;
|
|
}
|
|
.quick-capture-submit {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.quick-capture-cancel {
|
|
background-color: var(--background-modifier-border);
|
|
color: var(--text-normal);
|
|
}
|
|
.quick-capture-modal .modal-title:has(.is-hidden) {
|
|
display: none;
|
|
}
|
|
.quick-capture-modal .modal-title {
|
|
display: flex;
|
|
align-items: center;
|
|
flex-direction: row;
|
|
gap: 10px;
|
|
font-size: var(--font-ui-medium);
|
|
font-weight: bold;
|
|
}
|
|
.quick-capture-modal-editor {
|
|
min-height: 150px;
|
|
margin-bottom: 20px;
|
|
}
|
|
.quick-capture-modal-buttons {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
gap: 10px;
|
|
}
|
|
.quick-capture-modal.full {
|
|
width: 80vw;
|
|
max-width: 900px;
|
|
}
|
|
.quick-capture-layout {
|
|
display: flex;
|
|
height: 100%;
|
|
gap: 16px;
|
|
margin-bottom: 16px;
|
|
}
|
|
.quick-capture-config-panel {
|
|
flex: 1;
|
|
border-right: 1px solid var(--background-modifier-border);
|
|
padding-right: 16px;
|
|
overflow-y: auto;
|
|
max-width: 40%;
|
|
}
|
|
.quick-capture-editor-panel {
|
|
flex: 1.5;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
.quick-capture-section-title {
|
|
font-weight: bold;
|
|
margin-bottom: 8px;
|
|
font-size: var(--font-ui-medium);
|
|
color: var(--text-normal);
|
|
}
|
|
.quick-capture-target-container {
|
|
margin-bottom: 16px;
|
|
}
|
|
.quick-capture-modal.full .quick-capture-modal-editor {
|
|
min-height: 200px;
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
padding: 8px;
|
|
margin-top: 8px;
|
|
}
|
|
@media (max-width: 768px) {
|
|
.quick-capture-modal.full {
|
|
width: 95vw;
|
|
}
|
|
.quick-capture-layout {
|
|
flex-direction: column;
|
|
}
|
|
.quick-capture-config-panel {
|
|
max-width: 100%;
|
|
border-right: none;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
padding-right: 0;
|
|
padding-bottom: 16px;
|
|
margin-bottom: 16px;
|
|
max-height: 40%;
|
|
}
|
|
}
|
|
.quick-capture-config-panel .details-status-selector {
|
|
display: flex;
|
|
flex-direction: row;
|
|
justify-content: space-between;
|
|
margin-bottom: var(--size-4-2);
|
|
margin-top: var(--size-4-2);
|
|
}
|
|
.quick-capture-config-panel .quick-capture-status-selector {
|
|
display: flex;
|
|
flex-direction: row;
|
|
justify-content: space-between;
|
|
gap: var(--size-4-3);
|
|
}
|
|
|
|
/* src/styles/tag-view.css */
|
|
.tags-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
height: 100%;
|
|
width: 100%;
|
|
overflow: hidden;
|
|
flex: 1;
|
|
}
|
|
.task-genius-view:has(.task-details.visible) .tags-left-column {
|
|
display: none;
|
|
}
|
|
.tags-content {
|
|
display: flex;
|
|
flex-direction: row;
|
|
flex: 1;
|
|
overflow: hidden;
|
|
}
|
|
.multi-select-mode .tags-multi-select-btn {
|
|
color: var(--color-accent);
|
|
}
|
|
.tags-left-column {
|
|
width: max(120px, 30%);
|
|
min-width: min(120px, 30%);
|
|
max-width: 400px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
border-right: 1px solid var(--background-modifier-border);
|
|
overflow: hidden;
|
|
}
|
|
.tags-right-column {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: hidden;
|
|
}
|
|
.tags-sidebar-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: var(--size-4-2) var(--size-4-4);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
height: var(--size-4-10);
|
|
}
|
|
.tags-sidebar-title {
|
|
font-weight: 600;
|
|
font-size: 14px;
|
|
}
|
|
.tags-multi-select-btn {
|
|
cursor: pointer;
|
|
color: var(--text-muted);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.tags-multi-select-btn:hover {
|
|
color: var(--text-normal);
|
|
}
|
|
.tags-sidebar-list {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
padding: var(--size-4-2);
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-2-1);
|
|
}
|
|
.tag-list-item {
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 4px 12px;
|
|
cursor: pointer;
|
|
position: relative;
|
|
border-radius: var(--radius-s);
|
|
}
|
|
.tag-list-item:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.tag-list-item.selected {
|
|
background-color: var(--background-modifier-active);
|
|
}
|
|
.tag-indent {
|
|
flex-shrink: 0;
|
|
}
|
|
.tag-icon {
|
|
margin-right: var(--size-2-2);
|
|
color: var(--text-muted);
|
|
display: flex;
|
|
--icon-size: var(--size-4-4);
|
|
}
|
|
.tag-name {
|
|
flex: 1;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
.tag-count {
|
|
margin-left: 8px;
|
|
font-size: 0.8em;
|
|
color: var(--text-muted);
|
|
background-color: var(--background-modifier-border);
|
|
border-radius: 10px;
|
|
padding: 1px 6px;
|
|
}
|
|
.tag-children {
|
|
width: 100%;
|
|
}
|
|
.tags-task-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: var(--size-4-2) var(--size-4-4);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
height: var(--size-4-10);
|
|
}
|
|
.tags-task-title {
|
|
font-weight: 600;
|
|
font-size: 16px;
|
|
}
|
|
.tags-task-count {
|
|
color: var(--text-muted);
|
|
}
|
|
.tags-task-list {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
}
|
|
.tags-empty-state {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
height: 100%;
|
|
color: var(--text-muted);
|
|
font-style: italic;
|
|
padding: 16px;
|
|
}
|
|
.tag-section-header {
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 8px 15px;
|
|
cursor: pointer;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
background-color: var(--background-secondary-alt);
|
|
}
|
|
.tag-section-header .section-toggle {
|
|
margin-right: 8px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.tag-section-header .section-title {
|
|
flex: 1;
|
|
font-weight: 500;
|
|
}
|
|
.tag-section-header .section-count {
|
|
font-size: 0.8em;
|
|
color: var(--text-muted);
|
|
background-color: var(--background-modifier-border);
|
|
padding: 2px 6px;
|
|
border-radius: 10px;
|
|
height: var(--size-4-5);
|
|
width: var(--size-4-5);
|
|
}
|
|
.is-phone .tags-container {
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
.is-phone .tags-left-column {
|
|
position: absolute;
|
|
left: 0;
|
|
top: 0;
|
|
height: 100%;
|
|
z-index: 10;
|
|
background-color: var(--background-secondary);
|
|
width: 100%;
|
|
transform: translateX(-100%);
|
|
transition: transform 0.3s ease-in-out;
|
|
border-right: 1px solid var(--background-modifier-border);
|
|
}
|
|
.is-phone .tags-left-column.is-visible {
|
|
transform: translateX(0);
|
|
}
|
|
.is-phone .tags-sidebar-toggle {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
margin-right: 8px;
|
|
}
|
|
.is-phone .tags-sidebar-close {
|
|
--icon-size: var(--size-4-4);
|
|
position: absolute;
|
|
top: var(--size-4-2);
|
|
right: 10px;
|
|
z-index: 15;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.is-phone .tags-container:has(.tags-left-column.is-visible)::before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
background-color: var(--background-modifier-cover);
|
|
opacity: 0.5;
|
|
z-index: 5;
|
|
transition: opacity 0.3s ease-in-out;
|
|
}
|
|
.is-phone .tags-sidebar-header:has(.tags-sidebar-close) {
|
|
padding-right: var(--size-4-12);
|
|
}
|
|
|
|
/* src/styles/project-view.css */
|
|
.projects-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
height: 100%;
|
|
width: 100%;
|
|
overflow: hidden;
|
|
}
|
|
.projects-content {
|
|
display: flex;
|
|
flex-direction: row;
|
|
flex: 1;
|
|
overflow: hidden;
|
|
}
|
|
.projects-left-column {
|
|
width: max(120px, 30%);
|
|
min-width: min(120px, 30%);
|
|
max-width: 300px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: hidden;
|
|
border-right: 1px solid var(--background-modifier-border);
|
|
}
|
|
.is-phone .projects-left-column {
|
|
max-width: 100%;
|
|
}
|
|
.projects-right-column {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: hidden;
|
|
}
|
|
.projects-sidebar-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: var(--size-4-2) var(--size-4-4);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
height: var(--size-4-10);
|
|
}
|
|
.projects-sidebar-title {
|
|
font-weight: 600;
|
|
font-size: 14px;
|
|
}
|
|
.projects-sidebar-header-btn-group {
|
|
display: flex;
|
|
flex-direction: row;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: var(--size-4-2);
|
|
}
|
|
.multi-select-mode .projects-multi-select-btn {
|
|
color: var(--color-accent);
|
|
}
|
|
.projects-tree-toggle-btn {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.projects-multi-select-btn {
|
|
cursor: pointer;
|
|
color: var(--text-muted);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.projects-multi-select-btn:hover {
|
|
color: var(--text-normal);
|
|
}
|
|
.projects-sidebar-list {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
padding: var(--size-4-2) var(--size-4-2);
|
|
}
|
|
.project-list-item {
|
|
display: flex;
|
|
align-items: center;
|
|
cursor: pointer;
|
|
border-radius: var(--radius-s);
|
|
padding: var(--size-4-2);
|
|
}
|
|
.project-list-item:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.project-list-item.selected {
|
|
background-color: var(--background-secondary);
|
|
}
|
|
.project-icon {
|
|
margin-right: 8px;
|
|
color: var(--text-muted);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.project-name {
|
|
flex: 1;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
.project-count {
|
|
margin-left: 8px;
|
|
font-size: 0.8em;
|
|
color: var(--text-muted);
|
|
background-color: var(--background-modifier-border);
|
|
border-radius: 10px;
|
|
padding: 1px 6px;
|
|
white-space: nowrap;
|
|
transition: background-color 0.2s ease, color 0.2s ease;
|
|
}
|
|
.project-count.partially-completed {
|
|
color: var(--text-success);
|
|
}
|
|
.project-count.all-completed {
|
|
color: var(--text-on-accent);
|
|
font-weight: 600;
|
|
}
|
|
.project-count.has-progress {
|
|
border-radius: var(--radius-s);
|
|
}
|
|
.project-list-item.selected .project-count {
|
|
color: var(--text-on-accent);
|
|
}
|
|
.project-list-item.selected .project-count.all-completed {
|
|
background-color: rgba(255, 255, 255, 0.3);
|
|
}
|
|
.projects-task-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: var(--size-4-2) var(--size-4-4);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
min-height: var(--size-4-10);
|
|
}
|
|
.projects-header-main-content {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-2);
|
|
}
|
|
.projects-header-top-row {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
width: 100%;
|
|
}
|
|
.projects-header-top-right {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-4-2);
|
|
}
|
|
.projects-header-progress {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 6px;
|
|
margin-top: 4px;
|
|
}
|
|
.projects-header-progress .cm-task-progress-bar {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
width: 100%;
|
|
}
|
|
.projects-header-progress .progress-bar-inline-background {
|
|
flex: 1;
|
|
max-width: 100%;
|
|
}
|
|
.projects-header-progress .progress-status {
|
|
font-size: 0.9em;
|
|
color: var(--text-muted);
|
|
white-space: nowrap;
|
|
}
|
|
.projects-task-title {
|
|
font-weight: 600;
|
|
font-size: 16px;
|
|
}
|
|
.projects-task-count {
|
|
color: var(--text-muted);
|
|
}
|
|
.projects-task-list {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
}
|
|
.projects-empty-state {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
height: 100%;
|
|
color: var(--text-muted);
|
|
font-style: italic;
|
|
padding: 16px;
|
|
}
|
|
.is-phone .projects-left-column {
|
|
position: absolute;
|
|
left: 0;
|
|
top: 0;
|
|
height: 100%;
|
|
z-index: 10;
|
|
background-color: var(--background-secondary);
|
|
width: 100%;
|
|
transform: translateX(-100%);
|
|
transition: transform 0.3s ease-in-out;
|
|
border-right: 1px solid var(--background-modifier-border);
|
|
}
|
|
.is-phone .projects-left-column.is-visible {
|
|
transform: translateX(0);
|
|
}
|
|
.is-phone .projects-sidebar-toggle {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
margin-right: 8px;
|
|
}
|
|
.is-phone .projects-sidebar-close {
|
|
--icon-size: var(--size-4-4);
|
|
position: absolute;
|
|
top: var(--size-4-2);
|
|
right: 10px;
|
|
z-index: 15;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.is-phone .projects-container:has(.projects-left-column.is-visible)::before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
background-color: var(--background-modifier-cover);
|
|
opacity: 0.5;
|
|
z-index: 5;
|
|
transition: opacity 0.3s ease-in-out;
|
|
}
|
|
.is-phone .projects-container {
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
.is-phone .projects-sidebar-header:has(.projects-sidebar-close) {
|
|
padding-right: var(--size-4-12);
|
|
}
|
|
.tg-project-popover {
|
|
background: var(--background-secondary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-m);
|
|
box-shadow: var(--shadow-s);
|
|
padding: 10px 12px;
|
|
max-width: 520px;
|
|
max-height: 60vh;
|
|
overflow: auto;
|
|
}
|
|
.tg-project-props {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 6px;
|
|
}
|
|
.tg-project-props > div {
|
|
display: grid;
|
|
grid-template-columns: minmax(90px, 160px) 1fr;
|
|
align-items: start;
|
|
column-gap: 10px;
|
|
padding: 2px 0;
|
|
}
|
|
.tg-project-props > div > div:first-child {
|
|
color: var(--text-muted);
|
|
font-size: 12px;
|
|
line-height: 1.3;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
.tg-project-props > div > div:last-child {
|
|
color: var(--text-normal);
|
|
line-height: 1.4;
|
|
white-space: pre-wrap;
|
|
word-break: break-word;
|
|
}
|
|
.projects-props-btn {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: var(--icon-size, 24px);
|
|
height: var(--icon-size, 24px);
|
|
color: var(--text-muted);
|
|
cursor: pointer;
|
|
border-radius: var(--radius-s);
|
|
}
|
|
.projects-props-btn:hover {
|
|
background: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
|
|
/* src/styles/project-tree.css */
|
|
:root {
|
|
--tree-indent-size: 1.5rem;
|
|
--tree-guide-color: var(--background-modifier-border);
|
|
}
|
|
.project-tree-container {
|
|
height: 100%;
|
|
overflow: auto;
|
|
}
|
|
.project-tree {
|
|
padding: 0.5rem 0;
|
|
}
|
|
.project-tree-item {
|
|
position: relative;
|
|
user-select: none;
|
|
--tree-level: 0;
|
|
}
|
|
.project-tree-item-content {
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 8px;
|
|
padding-left: calc(calc(var(--tree-level) - 1) * var(--tree-indent-size));
|
|
cursor: pointer;
|
|
border-radius: var(--radius-s);
|
|
transition: background-color 0.15s ease;
|
|
position: relative;
|
|
}
|
|
.project-tree-item-content:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.project-tree-item.is-selected > .project-tree-item-content {
|
|
background-color: var(--background-modifier-active-hover);
|
|
}
|
|
.project-tree-item-toggle {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 1.5rem;
|
|
height: 1.5rem;
|
|
flex-shrink: 0;
|
|
cursor: pointer;
|
|
color: var(--text-muted);
|
|
transition: transform 0.15s ease;
|
|
}
|
|
.project-tree-item-toggle:hover {
|
|
color: var(--text-normal);
|
|
}
|
|
.project-tree-item-toggle svg {
|
|
width: 0.875rem;
|
|
height: 0.875rem;
|
|
}
|
|
.project-tree-item-toggle-spacer {
|
|
width: 1.5rem;
|
|
flex-shrink: 0;
|
|
}
|
|
.project-tree-item-icon {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 1.25rem;
|
|
height: 1.25rem;
|
|
margin-right: 0.5rem;
|
|
flex-shrink: 0;
|
|
color: var(--text-muted);
|
|
}
|
|
.project-tree-item-content-wrapper {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
flex: 1;
|
|
min-width: 0;
|
|
gap: 0.5rem;
|
|
}
|
|
.project-tree-item-name {
|
|
flex: 1;
|
|
min-width: 0;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
.project-tree-item-counts {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.25rem;
|
|
}
|
|
.project-tree-item-count-direct,
|
|
.project-tree-item-count-total {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
min-width: 1.25rem;
|
|
height: 1.25rem;
|
|
padding: 0 0.25rem;
|
|
border-radius: var(--radius-s);
|
|
font-size: var(--font-ui-smaller);
|
|
font-weight: 500;
|
|
}
|
|
.project-tree-item-count-direct {
|
|
background-color: var(--background-modifier-active);
|
|
color: var(--text-normal);
|
|
white-space: nowrap;
|
|
transition: background-color 0.2s ease, color 0.2s ease;
|
|
}
|
|
.project-tree-item-count-total {
|
|
background-color: var(--background-modifier-border);
|
|
color: var(--text-muted);
|
|
white-space: nowrap;
|
|
transition: background-color 0.2s ease, color 0.2s ease;
|
|
}
|
|
.project-tree-item-count-direct.partially-completed,
|
|
.project-tree-item-count-total.partially-completed {
|
|
color: var(--text-success);
|
|
}
|
|
.project-tree-item-count-direct.all-completed,
|
|
.project-tree-item-count-total.all-completed {
|
|
background-color: var(--interactive-success);
|
|
color: var(--text-on-accent);
|
|
font-weight: 600;
|
|
}
|
|
.project-tree-item.is-selected .project-tree-item-count-direct.all-completed,
|
|
.project-tree-item.is-selected .project-tree-item-count-total.all-completed {
|
|
background-color: var(--interactive-success);
|
|
opacity: 0.9;
|
|
}
|
|
.project-tree-children {
|
|
position: relative;
|
|
}
|
|
.project-tree-item[data-level]:not([data-level="0"]) > .project-tree-item-content::before {
|
|
content: "";
|
|
position: absolute;
|
|
left: calc(0.5rem + (var(--tree-level) - 1) * var(--tree-indent-size) + 0.75rem);
|
|
top: 0;
|
|
bottom: 0;
|
|
width: 1px;
|
|
background: var(--tree-guide-color);
|
|
opacity: 0.3;
|
|
}
|
|
.project-tree-item-children {
|
|
overflow: hidden;
|
|
transition: max-height 0.2s ease;
|
|
}
|
|
.project-tree-item-children:not(.is-expanded) {
|
|
max-height: 0;
|
|
}
|
|
.project-tree-empty {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: 2rem;
|
|
color: var(--text-muted);
|
|
font-size: var(--font-ui-small);
|
|
}
|
|
.projects-view-toggle-btn {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 1.75rem;
|
|
height: 1.75rem;
|
|
border-radius: var(--radius-s);
|
|
cursor: pointer;
|
|
color: var(--text-muted);
|
|
transition: all 0.15s ease;
|
|
}
|
|
.projects-view-toggle-btn:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.projects-view-toggle-btn svg {
|
|
width: 1rem;
|
|
height: 1rem;
|
|
}
|
|
.project-tree-container.multi-select-mode .project-tree-item-content {
|
|
position: relative;
|
|
}
|
|
.project-tree-container.multi-select-mode .project-tree-item-content::before {
|
|
content: "";
|
|
position: absolute;
|
|
left: 0.25rem;
|
|
top: 50%;
|
|
transform: translateY(-50%);
|
|
width: 0.875rem;
|
|
height: 0.875rem;
|
|
border: 1px solid var(--background-modifier-border-hover);
|
|
border-radius: var(--radius-s);
|
|
}
|
|
.project-tree-container.multi-select-mode .project-tree-item.is-selected .project-tree-item-content::before {
|
|
background-color: var(--interactive-accent);
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
.project-tree-container.multi-select-mode .project-tree-item.is-selected .project-tree-item-content::after {
|
|
content: "\2713";
|
|
position: absolute;
|
|
left: 0.25rem;
|
|
top: 50%;
|
|
transform: translateY(-50%);
|
|
width: 0.875rem;
|
|
height: 0.875rem;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
color: var(--text-on-accent);
|
|
font-size: 0.625rem;
|
|
font-weight: bold;
|
|
}
|
|
.theme-dark .project-tree-item-count-direct {
|
|
background-color: var(--background-modifier-active-hover);
|
|
}
|
|
.theme-dark .project-tree-item-count-total {
|
|
background-color: var(--background-modifier-border-hover);
|
|
}
|
|
@media (max-width: 768px) {
|
|
.project-tree-item-content {
|
|
padding: 0.375rem 0.5rem;
|
|
}
|
|
}
|
|
@keyframes slideDown {
|
|
from {
|
|
opacity: 0;
|
|
transform: translateY(-0.5rem);
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
}
|
|
.project-tree-item-children > .project-tree-item {
|
|
animation: slideDown 0.15s ease;
|
|
}
|
|
|
|
/* src/styles/review-view.css */
|
|
.review-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
height: 100%;
|
|
width: 100%;
|
|
overflow: hidden;
|
|
}
|
|
.review-content {
|
|
display: flex;
|
|
flex-direction: row;
|
|
flex: 1;
|
|
overflow: hidden;
|
|
}
|
|
.review-left-column {
|
|
width: 250px;
|
|
min-width: 200px;
|
|
max-width: 300px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
border-right: 1px solid var(--background-modifier-border);
|
|
overflow: hidden;
|
|
}
|
|
.is-phone .review-left-column {
|
|
max-width: 100%;
|
|
}
|
|
.review-right-column {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: hidden;
|
|
}
|
|
.review-sidebar-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: var(--size-4-2) var(--size-4-4);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
height: var(--size-4-10);
|
|
}
|
|
.review-sidebar-title {
|
|
font-weight: 600;
|
|
font-size: 14px;
|
|
}
|
|
.review-multi-select-btn {
|
|
cursor: pointer;
|
|
color: var(--text-muted);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.review-multi-select-btn:hover {
|
|
color: var(--text-normal);
|
|
}
|
|
.review-sidebar-list {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
padding: var(--size-4-2);
|
|
}
|
|
.review-projects-group-header {
|
|
font-size: 10px;
|
|
font-weight: 600;
|
|
color: var(--text-faint);
|
|
text-transform: uppercase;
|
|
padding: 4px 8px 4px;
|
|
margin-top: 12px;
|
|
letter-spacing: 0.5px;
|
|
}
|
|
.review-projects-group-header:first-child {
|
|
margin-top: 4px;
|
|
}
|
|
.review-project-item {
|
|
--icon-size: var(--size-4-4);
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 4px 8px;
|
|
cursor: pointer;
|
|
border-radius: var(--radius-s);
|
|
margin-bottom: 2px;
|
|
}
|
|
.review-project-item:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.review-project-item.selected {
|
|
background-color: var(--background-modifier-active);
|
|
}
|
|
.review-project-item.has-review-settings .review-project-icon {
|
|
color: var(--text-accent);
|
|
}
|
|
.review-project-item.has-review-settings .review-project-name {
|
|
font-weight: 500;
|
|
}
|
|
.review-project-item:not(.has-review-settings) .review-project-icon {
|
|
color: var(--text-muted);
|
|
}
|
|
.review-project-icon {
|
|
margin-right: 8px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.review-project-name {
|
|
flex: 1;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
.review-task-header {
|
|
display: flex;
|
|
flex-direction: column;
|
|
padding: var(--size-4-4);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
}
|
|
.is-phone .review-task-header {
|
|
flex-direction: row;
|
|
align-items: flex-start;
|
|
}
|
|
.review-header-content h3 {
|
|
margin: 0 0 8px 0;
|
|
padding: 0;
|
|
}
|
|
.review-info {
|
|
display: flex;
|
|
align-items: center;
|
|
color: var(--text-muted);
|
|
font-size: 0.9em;
|
|
}
|
|
.review-separator {
|
|
margin: 0 8px;
|
|
}
|
|
.review-frequency {
|
|
color: var(--text-accent);
|
|
}
|
|
.review-frequency:hover {
|
|
color: var(--text-normal);
|
|
text-decoration: underline;
|
|
}
|
|
.review-last-date {
|
|
color: var(--text-normal);
|
|
}
|
|
.review-no-settings {
|
|
font-style: italic;
|
|
}
|
|
.review-filter-info {
|
|
margin-top: 10px;
|
|
padding: 6px 10px;
|
|
background-color: var(--background-secondary);
|
|
border-radius: var(--radius-s);
|
|
font-size: 0.85em;
|
|
color: var(--text-muted);
|
|
border-left: 3px solid var(--text-accent);
|
|
}
|
|
.review-filter-toggle {
|
|
cursor: pointer;
|
|
text-decoration: underline;
|
|
color: var(--text-accent);
|
|
margin-left: 5px;
|
|
}
|
|
.review-filter-toggle:hover {
|
|
color: var(--text-accent-hover);
|
|
}
|
|
.review-task-list {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
padding: var(--size-4-2);
|
|
}
|
|
.review-empty-state {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
height: 100%;
|
|
color: var(--text-muted);
|
|
font-style: italic;
|
|
padding: 16px;
|
|
text-align: center;
|
|
}
|
|
.review-button-container {
|
|
margin-top: 12px;
|
|
display: flex;
|
|
justify-content: flex-start;
|
|
}
|
|
.review-complete-btn,
|
|
.review-configure-btn {
|
|
padding: 6px 12px;
|
|
border-radius: var(--radius-s);
|
|
cursor: pointer;
|
|
font-size: 0.9em;
|
|
border: 1px solid var(--background-modifier-border);
|
|
background-color: var(--background-secondary);
|
|
}
|
|
.review-complete-btn {
|
|
color: var(--text-accent);
|
|
}
|
|
.review-complete-btn:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
color: var(--text-accent);
|
|
}
|
|
.review-configure-btn {
|
|
color: var(--text-muted);
|
|
}
|
|
.review-configure-btn:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.review-edit-btn {
|
|
color: var(--text-accent-hover);
|
|
margin-left: 8px;
|
|
}
|
|
.review-edit-btn:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
color: var(--text-accent-hover);
|
|
}
|
|
.review-modal-title {
|
|
margin-top: 0;
|
|
margin-bottom: 20px;
|
|
font-size: 1.5em;
|
|
color: var(--text-normal);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
padding-bottom: 10px;
|
|
}
|
|
.review-modal-form {
|
|
margin-bottom: 20px;
|
|
}
|
|
.review-modal-field {
|
|
margin-bottom: 16px;
|
|
}
|
|
.review-modal-label {
|
|
display: block;
|
|
font-weight: 600;
|
|
margin-bottom: 4px;
|
|
color: var(--text-normal);
|
|
}
|
|
.review-modal-description {
|
|
font-size: 0.9em;
|
|
color: var(--text-muted);
|
|
margin-bottom: 8px;
|
|
}
|
|
.review-modal-select {
|
|
width: 100%;
|
|
border-radius: var(--radius-s);
|
|
border: 1px solid var(--background-modifier-border);
|
|
background-color: var(--background-primary);
|
|
color: var(--text-normal);
|
|
font-size: 14px;
|
|
}
|
|
.review-modal-custom-frequency {
|
|
margin-top: 8px;
|
|
}
|
|
.review-modal-input {
|
|
width: 100%;
|
|
padding: 8px;
|
|
border-radius: var(--radius-s);
|
|
border: 1px solid var(--background-modifier-border);
|
|
background-color: var(--background-primary);
|
|
color: var(--text-normal);
|
|
font-size: 14px;
|
|
}
|
|
.review-modal-last-reviewed {
|
|
padding: 8px;
|
|
font-size: 14px;
|
|
color: var(--text-normal);
|
|
background-color: var(--background-secondary);
|
|
border-radius: var(--radius-s);
|
|
}
|
|
.review-modal-buttons {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
margin-top: 24px;
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
padding-top: 16px;
|
|
}
|
|
.review-modal-button {
|
|
padding: 8px 16px;
|
|
border-radius: var(--radius-s);
|
|
font-size: 14px;
|
|
cursor: pointer;
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.review-modal-button-cancel {
|
|
background-color: var(--background-secondary);
|
|
color: var(--text-muted);
|
|
margin-right: 8px;
|
|
}
|
|
.review-modal-button-cancel:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.review-modal-button-save {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.review-modal-button-save:hover {
|
|
background-color: var(--interactive-accent-hover);
|
|
}
|
|
.is-phone .review-container {
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
.is-phone .review-left-column {
|
|
position: absolute;
|
|
left: 0;
|
|
top: 0;
|
|
height: 100%;
|
|
z-index: 10;
|
|
background-color: var(--background-secondary);
|
|
width: 100%;
|
|
transform: translateX(-100%);
|
|
transition: transform 0.3s ease-in-out;
|
|
border-right: 1px solid var(--background-modifier-border);
|
|
}
|
|
.is-phone .review-left-column.is-visible {
|
|
transform: translateX(0);
|
|
}
|
|
.is-phone .review-sidebar-toggle {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
margin-right: 8px;
|
|
}
|
|
.is-phone .review-sidebar-close {
|
|
position: absolute;
|
|
top: var(--size-2-2);
|
|
right: 10px;
|
|
z-index: 15;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.is-phone .review-container:has(.review-left-column.is-visible)::before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
background-color: var(--background-modifier-cover);
|
|
opacity: 0.5;
|
|
z-index: 5;
|
|
transition: opacity 0.3s ease-in-out;
|
|
}
|
|
|
|
/* src/styles/habit.css */
|
|
.tg-habit-component-container {
|
|
width: 100%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 1rem;
|
|
padding: 1rem;
|
|
height: 100%;
|
|
overflow-y: auto;
|
|
}
|
|
.habit-list-container {
|
|
display: grid;
|
|
grid-template-columns: repeat(1, minmax(0, 1fr));
|
|
gap: 1rem;
|
|
width: 100%;
|
|
}
|
|
@media screen and (max-width: 480px) {
|
|
.habit-list-container {
|
|
padding: 0.5rem;
|
|
gap: 0.75rem;
|
|
}
|
|
}
|
|
@media screen and (min-width: 768px) {
|
|
.habit-list-container {
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
max-width: 400px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
}
|
|
@media screen and (min-width: 1024px) {
|
|
.habit-list-container {
|
|
max-width: 500px;
|
|
}
|
|
}
|
|
.habit-card-wrapper {
|
|
width: 100%;
|
|
min-height: fit-content;
|
|
}
|
|
.habit-create-button-container {
|
|
display: flex;
|
|
justify-content: flex-start;
|
|
}
|
|
.habit-card {
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-m);
|
|
background-color: var(--background-secondary);
|
|
color: var(--text-normal);
|
|
overflow: hidden;
|
|
display: flex;
|
|
flex-direction: column;
|
|
width: 100%;
|
|
height: 100%;
|
|
min-height: fit-content;
|
|
}
|
|
.habit-card .card-header {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
padding: 0.5rem 1rem;
|
|
gap: 0.5rem;
|
|
}
|
|
.habit-card .card-title {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
font-size: var(--font-ui-large);
|
|
font-weight: 600;
|
|
flex-grow: 1;
|
|
overflow: hidden;
|
|
white-space: nowrap;
|
|
text-overflow: ellipsis;
|
|
}
|
|
.habit-name.habit-name:hover {
|
|
text-decoration: underline;
|
|
cursor: pointer;
|
|
}
|
|
.habit-card .card-content-wrapper {
|
|
padding: 0.75rem 1rem;
|
|
flex-grow: 1;
|
|
}
|
|
.daily-habit-card .card-header {
|
|
}
|
|
.daily-habit-card .habit-checkbox-container {
|
|
}
|
|
.daily-habit-card .habit-checkbox {
|
|
--checkbox-size: 1.25rem;
|
|
cursor: pointer;
|
|
accent-color: var(--interactive-accent);
|
|
}
|
|
.daily-habit-card .card-content-wrapper {
|
|
padding: 0rem 1rem 0.75rem;
|
|
}
|
|
.count-habit-card .card-content-wrapper {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.75rem;
|
|
align-items: center;
|
|
}
|
|
.count-habit-card .habit-icon-button {
|
|
--icon-size: 2rem;
|
|
height: 4rem;
|
|
width: 4rem;
|
|
aspect-ratio: 1;
|
|
padding: 0;
|
|
cursor: pointer;
|
|
border-radius: var(--radius-s);
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
font-size: 1.5rem;
|
|
}
|
|
.count-habit-card .habit-icon-button {
|
|
color: var(--icon-color);
|
|
}
|
|
.count-habit-card .habit-icon-button:hover {
|
|
background-color: var(--background-secondary);
|
|
}
|
|
.count-habit-card .habit-card-name {
|
|
font-size: var(--font-ui-large);
|
|
font-weight: 600;
|
|
}
|
|
.count-habit-card .habit-active-day {
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-muted);
|
|
font-weight: 400;
|
|
}
|
|
.count-habit-card .habit-info {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
text-align: center;
|
|
flex-grow: 1;
|
|
}
|
|
.count-habit-card .habit-info h3 {
|
|
font-size: var(--font-ui-large);
|
|
font-weight: 600;
|
|
}
|
|
.count-habit-card .habit-progress-area {
|
|
width: 100%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
}
|
|
@media (min-width: 640px) {
|
|
.count-habit-card .card-content-wrapper {
|
|
flex-direction: row;
|
|
align-items: center;
|
|
gap: 1rem;
|
|
}
|
|
.count-habit-card .habit-progress-area {
|
|
width: auto;
|
|
min-width: 150px;
|
|
align-items: flex-end;
|
|
}
|
|
.count-habit-card .habit-heatmap-small {
|
|
width: 100%;
|
|
}
|
|
}
|
|
.scheduled-habit-card .card-header {
|
|
padding-bottom: 0.5rem;
|
|
}
|
|
.scheduled-habit-card .card-content-wrapper {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.75rem;
|
|
align-items: center;
|
|
}
|
|
.scheduled-habit-card .habit-heatmap-medium {
|
|
width: 100%;
|
|
}
|
|
.scheduled-habit-card .habit-controls {
|
|
width: 100%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.5rem;
|
|
align-items: center;
|
|
}
|
|
.scheduled-habit-card .habit-event-dropdown {
|
|
width: auto;
|
|
margin-bottom: 0.5rem;
|
|
width: 100%;
|
|
}
|
|
@media (min-width: 640px) {
|
|
.scheduled-habit-card .card-content-wrapper {
|
|
flex-direction: row;
|
|
align-items: flex-start;
|
|
justify-content: space-between;
|
|
}
|
|
.scheduled-habit-card .habit-heatmap-medium {
|
|
width: auto;
|
|
flex-grow: 1;
|
|
margin-right: 1rem;
|
|
}
|
|
.scheduled-habit-card .habit-controls {
|
|
width: auto;
|
|
min-width: 150px;
|
|
align-items: flex-start;
|
|
}
|
|
}
|
|
.mapping-habit-card .card-header {
|
|
padding-bottom: 0.5rem;
|
|
}
|
|
.mapping-habit-card .card-content-wrapper {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.75rem;
|
|
align-items: center;
|
|
padding-top: 0;
|
|
padding-bottom: 1.2rem;
|
|
}
|
|
.mapping-habit-card .habit-heatmap-medium {
|
|
width: 100%;
|
|
}
|
|
.mapping-habit-card .habit-controls {
|
|
width: 100%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
}
|
|
.mapping-habit-card .habit-mapping-button {
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
font-size: 1.75rem;
|
|
padding: 0.5rem;
|
|
width: 100%;
|
|
max-width: 100px;
|
|
height: 3.5rem;
|
|
border: 1px solid var(--button-secondary-border-color);
|
|
background-color: var(--button-secondary-bg);
|
|
color: var(--text-normal);
|
|
cursor: pointer;
|
|
border-radius: var(--radius-s);
|
|
}
|
|
.mapping-habit-card .habit-mapping-button:hover {
|
|
background-color: var(--button-secondary-hover-bg);
|
|
}
|
|
.mapping-habit-card .habit-slider-setting {
|
|
width: 100%;
|
|
max-width: 200px;
|
|
}
|
|
.mapping-habit-card .habit-slider-setting .setting-item-info {
|
|
display: none;
|
|
}
|
|
.mapping-habit-card .habit-slider-setting .setting-item {
|
|
width: 100%;
|
|
padding: 0;
|
|
border: none;
|
|
}
|
|
.mapping-habit-card .habit-slider-setting .setting-item-control {
|
|
width: 100%;
|
|
}
|
|
.mapping-habit-card .heatmap-md .heatmap-container-simple {
|
|
gap: var(--size-2-2);
|
|
}
|
|
@media (min-width: 640px) {
|
|
.mapping-habit-card .card-content-wrapper {
|
|
flex-direction: row;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
}
|
|
.mapping-habit-card .habit-heatmap-medium {
|
|
width: auto;
|
|
flex-grow: 1;
|
|
margin-right: 1rem;
|
|
}
|
|
.mapping-habit-card .habit-controls {
|
|
width: auto;
|
|
min-width: 80px;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
gap: 0.75rem;
|
|
}
|
|
.mapping-habit-card .habit-mapping-button {
|
|
width: 4rem;
|
|
height: 4rem;
|
|
}
|
|
.mapping-habit-card .habit-slider-setting {
|
|
width: 100%;
|
|
max-width: none;
|
|
}
|
|
}
|
|
.habit-progress-container {
|
|
width: 100%;
|
|
height: 0.75rem;
|
|
background-color: var(--background-modifier-border);
|
|
border-radius: var(--radius-l);
|
|
overflow: hidden;
|
|
position: relative;
|
|
}
|
|
.habit-progress-bar {
|
|
height: 100%;
|
|
background-color: var(--interactive-accent);
|
|
border-radius: var(--radius-l);
|
|
transition: width 0.3s ease-in-out;
|
|
}
|
|
.habit-progress-container.filled .habit-progress-text {
|
|
mix-blend-mode: unset;
|
|
}
|
|
.habit-progress-text {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
font-size: 0.6rem;
|
|
line-height: 1;
|
|
color: var(--text-on-accent);
|
|
mix-blend-mode: difference;
|
|
font-weight: 500;
|
|
}
|
|
.tg-heatmap-root {
|
|
width: 100%;
|
|
}
|
|
.heatmap-sm .heatmap-container-simple {
|
|
display: grid;
|
|
grid-template-columns: repeat(3, 1fr);
|
|
gap: var(--size-2-2);
|
|
overflow-x: auto;
|
|
padding-bottom: 2px;
|
|
}
|
|
.heatmap-md .heatmap-container-simple {
|
|
display: grid;
|
|
grid-template-columns: repeat(6, 1fr);
|
|
gap: var(--size-2-2);
|
|
overflow-x: auto;
|
|
padding-bottom: 2px;
|
|
justify-items: center;
|
|
}
|
|
.heatmap-lg .heatmap-container-simple {
|
|
display: grid;
|
|
grid-template-columns: repeat(10, 1fr);
|
|
gap: var(--size-2-2);
|
|
overflow-x: auto;
|
|
padding-bottom: 2px;
|
|
justify-items: center;
|
|
}
|
|
.heatmap-cell {
|
|
border-radius: var(--radius-s);
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
cursor: pointer;
|
|
flex-shrink: 0;
|
|
background-color: var( --background-modifier-border );
|
|
border: 1px solid transparent;
|
|
}
|
|
.heatmap-cell-square {
|
|
}
|
|
.heatmap-cell-dot {
|
|
border-radius: 50%;
|
|
}
|
|
.heatmap-sm .heatmap-cell {
|
|
width: 0.75rem;
|
|
height: 0.75rem;
|
|
}
|
|
.habit-heatmap-medium .heatmap-md .heatmap-cell {
|
|
width: 1.4rem;
|
|
height: 1.4rem;
|
|
font-size: 0.7rem;
|
|
}
|
|
.heatmap-md .heatmap-cell {
|
|
width: 1.1rem;
|
|
height: 1.1rem;
|
|
font-size: 0.7rem;
|
|
}
|
|
.heatmap-lg .heatmap-cell {
|
|
width: 1.25rem;
|
|
height: 1.25rem;
|
|
font-size: 0.75rem;
|
|
}
|
|
.heatmap-cell.default {
|
|
}
|
|
.heatmap-cell.filled {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.heatmap-cell.has-custom-content:has(.pie-dot-container) {
|
|
background: transparent;
|
|
border: unset;
|
|
}
|
|
.heatmap-cell.has-custom-content,
|
|
.heatmap-cell.has-text-content {
|
|
background-color: var(--background-secondary);
|
|
border-color: var(--background-modifier-border);
|
|
color: var(--text-normal);
|
|
}
|
|
.heatmap-cell.has-text-content {
|
|
line-height: 1;
|
|
}
|
|
.pie-dot-container {
|
|
width: 100%;
|
|
height: 100%;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
}
|
|
.pie-dot-container svg {
|
|
display: block;
|
|
}
|
|
.habit-empty-state {
|
|
text-align: center;
|
|
padding: 2rem 1rem;
|
|
color: var(--text-muted);
|
|
}
|
|
.habit-empty-state h2 {
|
|
font-size: var(--font-ui-large);
|
|
font-weight: 600;
|
|
margin-bottom: 0.5rem;
|
|
}
|
|
.habit-empty-state p {
|
|
font-size: var(--font-ui-normal);
|
|
color: var(--text-faint);
|
|
}
|
|
.habit-icon {
|
|
display: inline-block;
|
|
height: 1em;
|
|
line-height: 1;
|
|
text-align: center;
|
|
color: var(--text-muted);
|
|
font-style: italic;
|
|
margin-right: 0.25em;
|
|
--icon-size: 1.5rem;
|
|
}
|
|
.habit-chart-controls {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.5rem;
|
|
margin-bottom: 0.75rem;
|
|
}
|
|
.habit-chart-filters {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 0.5rem;
|
|
}
|
|
.habit-chart-filters .filter-btn {
|
|
padding: 0.25rem 0.6rem;
|
|
border: 1px solid var(--background-modifier-border);
|
|
background: var(--background-secondary);
|
|
color: var(--text-normal);
|
|
border-radius: var(--radius-s);
|
|
cursor: pointer;
|
|
}
|
|
.habit-chart-filters .filter-btn:hover {
|
|
background: var(--background-secondary-alt);
|
|
}
|
|
.habit-chart-years {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
}
|
|
.habit-chart-years .years-label {
|
|
color: var(--text-muted);
|
|
font-size: var(--font-ui-small);
|
|
}
|
|
.habit-chart-years .years-bar {
|
|
display: flex;
|
|
flex-wrap: nowrap;
|
|
gap: 0.4rem;
|
|
overflow-x: auto;
|
|
padding-bottom: 2px;
|
|
}
|
|
.habit-chart-years .year-btn {
|
|
padding: 0.2rem 0.5rem;
|
|
border: 1px solid var(--background-modifier-border);
|
|
background: var(--background-secondary);
|
|
color: var(--text-muted);
|
|
border-radius: var(--radius-s);
|
|
cursor: pointer;
|
|
white-space: nowrap;
|
|
}
|
|
.habit-chart-years .year-btn.selected,
|
|
.habit-chart-years .year-btn:hover {
|
|
background: var(--interactive-accent);
|
|
border-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.habit-chart-heatmap {
|
|
max-height: 60vh;
|
|
overflow: auto;
|
|
}
|
|
|
|
/* src/styles/global.css */
|
|
:root {
|
|
--task-completed-color: #4caf50;
|
|
--task-doing-color: #80dee5;
|
|
--task-in-progress-color: #f9d923;
|
|
--task-abandoned-color: #eb5353;
|
|
--task-planned-color: #9c27b0;
|
|
--task-question-color: #2196f3;
|
|
--task-important-color: #f44336;
|
|
--task-star-color: #ffc107;
|
|
--task-quote-color: #607d8b;
|
|
--task-location-color: #795548;
|
|
--task-bookmark-color: #ff9800;
|
|
--task-information-color: #00bcd4;
|
|
--task-idea-color: #9c27b0;
|
|
--task-pros-color: #4caf50;
|
|
--task-cons-color: #f44336;
|
|
--task-fire-color: #ff5722;
|
|
--task-key-color: #ffd700;
|
|
--task-win-color: #66bb6a;
|
|
--task-up-color: #4caf50;
|
|
--task-down-color: #f44336;
|
|
--task-note-color: #9e9e9e;
|
|
--task-amount-color: #8bc34a;
|
|
--task-speech-color: #03a9f4;
|
|
--progress-0-color: #ae431e;
|
|
--progress-25-color: #e5890a;
|
|
--progress-50-color: #b4c6a6;
|
|
--progress-75-color: #6bcb77;
|
|
--progress-100-color: #4d96ff;
|
|
--progress-background-color: #f1f1f1;
|
|
}
|
|
.theme-dark {
|
|
--task-completed-color: #4caf50;
|
|
--task-doing-color: #379fa7;
|
|
--task-in-progress-color: #ffc107;
|
|
--task-abandoned-color: #f44336;
|
|
--task-planned-color: #ce93d8;
|
|
--task-question-color: #42a5f5;
|
|
--task-important-color: #ef5350;
|
|
--task-star-color: #ffd54f;
|
|
--task-quote-color: #90a4ae;
|
|
--task-location-color: #8d6e63;
|
|
--task-bookmark-color: #ffb74d;
|
|
--task-information-color: #26c6da;
|
|
--task-idea-color: #ce93d8;
|
|
--task-pros-color: #66bb6a;
|
|
--task-cons-color: #ef5350;
|
|
--task-fire-color: #ff7043;
|
|
--task-key-color: #ffd700;
|
|
--task-win-color: #81c784;
|
|
--task-up-color: #66bb6a;
|
|
--task-down-color: #ef5350;
|
|
--task-note-color: #bdbdbd;
|
|
--task-amount-color: #aed581;
|
|
--task-speech-color: #29b6f6;
|
|
--progress-0-color: #ae431e;
|
|
--progress-25-color: #e5890a;
|
|
--progress-50-color: #b4c6a6;
|
|
--progress-75-color: #6bcb77;
|
|
--progress-100-color: #4d96ff;
|
|
--progress-background-color: #f1f1f1;
|
|
}
|
|
|
|
/* src/styles/view-config.css */
|
|
.task-genius-view-config-modal {
|
|
width: max(70%, 500px);
|
|
}
|
|
.task-genius-view-config-modal .setting-item {
|
|
margin-bottom: 15px;
|
|
}
|
|
.task-genius-view-config-modal .setting-item:not(.setting-item-heading) .setting-item-info {
|
|
width: 120px;
|
|
}
|
|
.task-genius-view-config-modal .setting-item-control input[type=text],
|
|
.task-genius-view-config-modal .setting-item-control input[type=number] {
|
|
width: 100%;
|
|
}
|
|
.task-genius-view-config-modal .setting-item-description {
|
|
font-size: var(--font-ui-smaller);
|
|
color: var(--text-muted);
|
|
margin-top: 2px;
|
|
}
|
|
.view-management-list .setting-item {
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
padding: 10px 0;
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
.view-management-list .setting-item-info {
|
|
flex-grow: 1;
|
|
margin-right: 10px;
|
|
}
|
|
.view-management-list .setting-item-control {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
}
|
|
.view-management-list .setting-item-control .button-component {
|
|
padding: 5px;
|
|
height: auto;
|
|
}
|
|
.view-management-list .view-order-button,
|
|
.view-management-list .view-delete-button {
|
|
margin-left: 5px;
|
|
}
|
|
.view-management-list .setting-item:last-child {
|
|
border-bottom: none;
|
|
}
|
|
.view-management-list .setting-item-control .checkbox-container {
|
|
margin: 0;
|
|
}
|
|
.tg-icon-menu {
|
|
position: absolute;
|
|
z-index: 100;
|
|
background-color: var(--background-secondary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-m);
|
|
box-shadow: var(--shadow-l);
|
|
padding: 8px;
|
|
max-height: 300px;
|
|
width: 250px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
box-sizing: border-box;
|
|
}
|
|
.tg-icon-menu .tg-menu-search {
|
|
width: 100%;
|
|
padding: 6px 8px;
|
|
margin-bottom: 8px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
background-color: var(--background-primary);
|
|
color: var(--text-normal);
|
|
box-sizing: border-box;
|
|
flex-shrink: 0;
|
|
}
|
|
.tg-icon-menu .tg-menu-icons {
|
|
flex-grow: 1;
|
|
overflow-y: auto;
|
|
min-height: 0;
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fill, minmax(32px, 1fr));
|
|
gap: 4px;
|
|
}
|
|
.tg-icon-menu .clickable-icon {
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
padding: 6px;
|
|
border-radius: var(--radius-s);
|
|
cursor: pointer;
|
|
background-color: var(--background-primary);
|
|
border: 1px solid transparent;
|
|
transition: background-color 0.1s ease-in-out, border-color 0.1s ease-in-out;
|
|
}
|
|
.tg-icon-menu .clickable-icon:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
border-color: var(--background-modifier-border-hover);
|
|
}
|
|
.tg-icon-menu .clickable-icon svg {
|
|
width: 20px;
|
|
height: 20px;
|
|
color: var(--text-muted);
|
|
}
|
|
|
|
/* src/styles/task-status.css */
|
|
.task-status-widget {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
cursor: pointer;
|
|
font-size: var(--font-ui-medium);
|
|
font-weight: var(--font-bold);
|
|
}
|
|
.task-state.live-preview-mode {
|
|
padding-inline-start: var(--size-4-2);
|
|
padding-inline-end: var(--size-2-1);
|
|
}
|
|
.task-status-widget .list-bullet::after {
|
|
background-color: var(--list-marker-color) !important;
|
|
}
|
|
.task-state[data-task-state=" "] {
|
|
color: var(--text-accent);
|
|
}
|
|
.task-state[data-task-state="/"] {
|
|
color: var(--task-doing-color);
|
|
}
|
|
.task-state[data-task-state=">"] {
|
|
color: var(--task-in-progress-color);
|
|
}
|
|
.task-state[data-task-state=x],
|
|
.task-state[data-task-state=X] {
|
|
color: var(--task-completed-color);
|
|
}
|
|
.task-state[data-task-state="-"] {
|
|
color: var(--task-abandoned-color);
|
|
}
|
|
.task-state[data-task-state="<"] {
|
|
color: var(--task-planned-color);
|
|
}
|
|
.task-state[data-task-state="?"] {
|
|
color: var(--task-question-color);
|
|
}
|
|
.task-state[data-task-state="!"] {
|
|
color: var(--task-important-color);
|
|
}
|
|
.task-state[data-task-state="*"] {
|
|
color: var(--task-star-color);
|
|
}
|
|
.task-state[data-task-state='"'] {
|
|
color: var(--task-quote-color);
|
|
}
|
|
.task-state[data-task-state=l] {
|
|
color: var(--task-location-color);
|
|
}
|
|
.task-state[data-task-state=b] {
|
|
color: var(--task-bookmark-color);
|
|
}
|
|
.task-state[data-task-state=i] {
|
|
color: var(--task-information-color);
|
|
}
|
|
.task-state[data-task-state=I] {
|
|
color: var(--task-idea-color);
|
|
}
|
|
.task-state[data-task-state=p] {
|
|
color: var(--task-pros-color);
|
|
}
|
|
.task-state[data-task-state=c] {
|
|
color: var(--task-cons-color);
|
|
}
|
|
.task-state[data-task-state=f] {
|
|
color: var(--task-fire-color);
|
|
}
|
|
.task-state[data-task-state=k] {
|
|
color: var(--task-key-color);
|
|
}
|
|
.task-state[data-task-state=w] {
|
|
color: var(--task-win-color);
|
|
}
|
|
.task-state[data-task-state=u] {
|
|
color: var(--task-up-color);
|
|
}
|
|
.task-state[data-task-state=d] {
|
|
color: var(--task-down-color);
|
|
}
|
|
.task-state[data-task-state=n] {
|
|
color: var(--task-note-color);
|
|
}
|
|
.task-state[data-task-state=S] {
|
|
color: var(--task-amount-color);
|
|
}
|
|
.task-state[data-task-state="0"],
|
|
.task-state[data-task-state="1"],
|
|
.task-state[data-task-state="2"],
|
|
.task-state[data-task-state="3"],
|
|
.task-state[data-task-state="4"],
|
|
.task-state[data-task-state="5"],
|
|
.task-state[data-task-state="6"],
|
|
.task-state[data-task-state="7"],
|
|
.task-state[data-task-state="8"],
|
|
.task-state[data-task-state="9"] {
|
|
color: var(--task-speech-color);
|
|
}
|
|
.task-fake-bullet {
|
|
display: inline-block;
|
|
width: 5px;
|
|
height: 5px;
|
|
border-radius: 50%;
|
|
background-color: var(--text-normal);
|
|
margin-right: 4px;
|
|
vertical-align: middle;
|
|
}
|
|
ol > .task-list-item .task-fake-bullet {
|
|
display: none;
|
|
}
|
|
ol > .task-list-item .task-state-container {
|
|
margin-inline-start: 0;
|
|
}
|
|
|
|
/* src/styles/onboarding.css */
|
|
.onboarding-view {
|
|
--dialog-width: 800px;
|
|
--dialog-max-width: 90vw;
|
|
--dialog-max-height: 90vh;
|
|
--onboarding-spacing: var(--size-4-4);
|
|
--onboarding-border-radius: 8px;
|
|
--onboarding-transition: all 200ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
|
|
--shadow-md: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
|
|
--shadow-lg: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
|
|
--shadow-xl: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
|
|
}
|
|
.onboarding-view .modal-content {
|
|
background-color: var(--modal-background);
|
|
border-radius: var(--modal-radius);
|
|
max-width: var(--dialog-max-width);
|
|
max-height: var(--dialog-max-height);
|
|
height: 90vh;
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: auto;
|
|
position: relative;
|
|
min-height: 100px;
|
|
}
|
|
.onboarding-view {
|
|
height: 100%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
background-color: var(--background-primary);
|
|
}
|
|
.onboarding-view .view-content {
|
|
height: 100%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
.onboarding-view .onboarding-header:empty {
|
|
display: none;
|
|
}
|
|
.onboarding-view .onboarding-subtitle {
|
|
color: var(--text-muted);
|
|
font-size: 0.95em;
|
|
margin: 0;
|
|
}
|
|
.onboarding-view .onboarding-content {
|
|
flex: 1;
|
|
padding: var(--onboarding-spacing);
|
|
overflow-y: auto;
|
|
min-height: 0;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
}
|
|
.onboarding-view .onboarding-footer {
|
|
padding: var(--size-4-4) var(--onboarding-spacing);
|
|
background: var(--background-primary);
|
|
border-top: none;
|
|
box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.06);
|
|
flex-shrink: 0;
|
|
position: relative;
|
|
transition: all 0.3s ease;
|
|
}
|
|
.onboarding-view .onboarding-footer::before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
background:
|
|
linear-gradient(
|
|
to top,
|
|
var(--background-primary),
|
|
transparent);
|
|
opacity: 0.5;
|
|
pointer-events: none;
|
|
}
|
|
.onboarding-view .onboarding-buttons {
|
|
display: flex;
|
|
gap: var(--size-4-3);
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
position: relative;
|
|
z-index: 1;
|
|
}
|
|
.onboarding-view .buttons-left {
|
|
display: flex;
|
|
gap: var(--size-4-3);
|
|
align-items: center;
|
|
}
|
|
.onboarding-view .buttons-right {
|
|
display: flex;
|
|
gap: var(--size-4-3);
|
|
align-items: center;
|
|
margin-left: auto;
|
|
}
|
|
.onboarding-view .onboarding-buttons button {
|
|
min-height: 36px;
|
|
padding: var(--size-4-2) var(--size-4-4);
|
|
border-radius: var(--radius-m);
|
|
font-weight: 500;
|
|
transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
.onboarding-view .onboarding-buttons button:not(.mod-cta):hover {
|
|
transform: translateY(-1px);
|
|
}
|
|
.onboarding-view .onboarding-buttons button::after {
|
|
content: "";
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
width: 0;
|
|
height: 0;
|
|
border-radius: 50%;
|
|
background: rgba(255, 255, 255, 0.3);
|
|
transform: translate(-50%, -50%);
|
|
transition: width 0.6s, height 0.6s;
|
|
}
|
|
.onboarding-view .onboarding-buttons button:active::after {
|
|
width: 200px;
|
|
height: 200px;
|
|
}
|
|
.onboarding-view .settings-check-content {
|
|
display: grid;
|
|
grid-template-columns: 1fr 1.2fr;
|
|
gap: var(--size-4-6);
|
|
margin-top: var(--size-4-4);
|
|
}
|
|
.onboarding-view .settings-check-current-card {
|
|
background: var(--background-secondary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--onboarding-border-radius);
|
|
padding: var(--size-4-4);
|
|
box-shadow: var(--shadow-sm);
|
|
}
|
|
.onboarding-view .settings-check-card-header {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-4-3);
|
|
margin-bottom: var(--size-4-3);
|
|
padding-bottom: var(--size-4-3);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
}
|
|
.onboarding-view .check-header-icon {
|
|
color: var(--color-green);
|
|
font-size: 1.5em;
|
|
}
|
|
.onboarding-view .check-header-title {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-4-2);
|
|
flex: 1;
|
|
}
|
|
.onboarding-view .check-header-title h3 {
|
|
margin: 0;
|
|
font-size: 1.1em;
|
|
font-weight: 600;
|
|
}
|
|
.onboarding-view .settings-check-card-body {
|
|
color: var(--text-muted);
|
|
}
|
|
.onboarding-view .check-card-desc {
|
|
font-size: 0.9em;
|
|
margin-bottom: var(--size-4-3);
|
|
}
|
|
.onboarding-view .settings-check-changes-list {
|
|
list-style: none;
|
|
padding: 0;
|
|
margin: 0;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-2);
|
|
}
|
|
.onboarding-view .settings-check-changes-list li {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-4-2);
|
|
color: var(--text-normal);
|
|
font-size: 0.9em;
|
|
}
|
|
.onboarding-view .change-check-icon {
|
|
color: var(--color-green);
|
|
flex-shrink: 0;
|
|
}
|
|
.onboarding-view .settings-check-actions {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-3);
|
|
}
|
|
.onboarding-view .settings-check-action-card {
|
|
background: var(--background-primary);
|
|
border: 2px solid var(--background-modifier-border);
|
|
border-radius: var(--onboarding-border-radius);
|
|
padding: var(--size-4-4);
|
|
cursor: pointer;
|
|
transition: var(--onboarding-transition);
|
|
box-shadow: var(--shadow-sm);
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
.onboarding-view .settings-check-action-card.is-selected {
|
|
border-color: var(--interactive-accent);
|
|
background:
|
|
linear-gradient(
|
|
135deg,
|
|
rgba(var(--interactive-accent-rgb), 0.05) 0%,
|
|
var(--background-primary) 100%);
|
|
box-shadow: var(--shadow-md), 0 0 0 3px rgba(var(--interactive-accent-rgb), 0.1);
|
|
}
|
|
.onboarding-view .settings-check-action-card:hover {
|
|
transform: translateY(-2px);
|
|
box-shadow: var(--shadow-lg);
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
.onboarding-view .settings-check-action-card:hover::before {
|
|
transform: scaleX(1);
|
|
}
|
|
.onboarding-view .settings-check-action-wizard {
|
|
background:
|
|
linear-gradient(
|
|
135deg,
|
|
var(--background-primary) 0%,
|
|
var(--background-secondary) 100%);
|
|
}
|
|
.onboarding-view .settings-check-action-wizard::before {
|
|
transform: scaleX(1);
|
|
}
|
|
.onboarding-view .settings-check-action-keep {
|
|
opacity: 0.9;
|
|
}
|
|
.onboarding-view .settings-check-action-keep:hover {
|
|
opacity: 1;
|
|
}
|
|
.onboarding-view .action-card-header {
|
|
display: flex;
|
|
align-items: center;
|
|
margin-bottom: var(--size-4-3);
|
|
}
|
|
.onboarding-view .action-card-icon {
|
|
font-size: 2em;
|
|
color: var(--interactive-accent);
|
|
margin-right: var(--size-4-3);
|
|
}
|
|
.onboarding-view .action-card-content h3 {
|
|
margin: 0 0 var(--size-4-2) 0;
|
|
font-size: 1.2em;
|
|
font-weight: 600;
|
|
color: var(--text-normal);
|
|
}
|
|
.onboarding-view .action-card-content > p {
|
|
margin: 0 0 var(--size-4-3) 0;
|
|
color: var(--text-muted);
|
|
font-size: 0.9em;
|
|
line-height: 1.5;
|
|
}
|
|
.onboarding-view .action-card-features {
|
|
list-style: none;
|
|
padding: 0;
|
|
margin: var(--size-4-3) 0 0 0;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-2-3);
|
|
}
|
|
.onboarding-view .action-card-features li {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-2-2);
|
|
color: var(--text-muted);
|
|
font-size: 0.85em;
|
|
}
|
|
.onboarding-view .action-card-features .feature-icon {
|
|
color: var(--interactive-accent);
|
|
flex-shrink: 0;
|
|
}
|
|
.onboarding-view .action-card-note {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-2-2);
|
|
margin-top: var(--size-4-3);
|
|
padding: var(--size-2-3) var(--size-4-2);
|
|
background: var(--background-secondary);
|
|
border-radius: var(--radius-s);
|
|
font-size: 0.85em;
|
|
color: var(--text-muted);
|
|
}
|
|
.onboarding-view .action-card-note .note-icon {
|
|
color: var(--text-accent);
|
|
flex-shrink: 0;
|
|
}
|
|
@media (max-width: 768px) {
|
|
.onboarding-view .settings-check-content {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
}
|
|
.onboarding-view .welcome-section {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--onboarding-spacing);
|
|
}
|
|
.onboarding-view .features-overview {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
|
|
gap: var(--size-4-3);
|
|
margin: var(--onboarding-spacing) 0;
|
|
}
|
|
.onboarding-view .feature-item {
|
|
display: flex;
|
|
gap: var(--size-4-2);
|
|
padding: var(--size-4-3);
|
|
background: var(--background-secondary);
|
|
border-radius: var(--onboarding-border-radius);
|
|
}
|
|
.onboarding-view .feature-icon {
|
|
font-size: 1.5em;
|
|
flex-shrink: 0;
|
|
line-height: 1;
|
|
}
|
|
.onboarding-view .setup-note {
|
|
text-align: center;
|
|
padding: var(--size-4-3);
|
|
background: var(--background-secondary);
|
|
border-radius: var(--onboarding-border-radius);
|
|
}
|
|
.onboarding-view .setup-description {
|
|
color: var(--text-muted);
|
|
font-size: 0.95em;
|
|
line-height: 1.5;
|
|
margin: 0;
|
|
}
|
|
.onboarding-view .user-level-cards {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
|
|
gap: var(--onboarding-spacing);
|
|
margin: var(--onboarding-spacing) 0;
|
|
}
|
|
.onboarding-view .user-level-card {
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--onboarding-border-radius);
|
|
padding: var(--onboarding-spacing);
|
|
cursor: pointer;
|
|
transition: var(--onboarding-transition);
|
|
background: var(--background-primary);
|
|
position: relative;
|
|
overflow: hidden;
|
|
box-shadow: var(--shadow-sm);
|
|
}
|
|
.onboarding-view .user-level-card.card-hover {
|
|
border-color: var(--interactive-accent);
|
|
transform: translateY(-2px);
|
|
box-shadow: var(--shadow-lg);
|
|
}
|
|
.onboarding-view .user-level-card.selected {
|
|
border-color: var(--interactive-accent);
|
|
background: var(--background-modifier-hover);
|
|
box-shadow: 0 0 0 3px rgba(var(--interactive-accent-rgb), 0.1);
|
|
}
|
|
.user-level-card .card-header {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-4-2);
|
|
margin-bottom: var(--size-4-2);
|
|
}
|
|
.user-level-card .card-icon {
|
|
font-size: 1.8em;
|
|
line-height: 1;
|
|
flex-shrink: 0;
|
|
}
|
|
.user-level-card .card-title {
|
|
margin: 0;
|
|
color: var(--text-normal);
|
|
font-size: 1.2em;
|
|
font-weight: 600;
|
|
}
|
|
.user-level-card .card-description {
|
|
color: var(--text-muted);
|
|
font-size: 0.9em;
|
|
line-height: 1.4;
|
|
margin: 0 0 var(--size-4-2) 0;
|
|
}
|
|
.user-level-card .card-features {
|
|
margin-top: var(--size-4-2);
|
|
}
|
|
.user-level-card .card-features ul {
|
|
margin: 0;
|
|
padding-left: var(--size-4-3);
|
|
list-style: none;
|
|
}
|
|
.user-level-card .card-features li {
|
|
position: relative;
|
|
color: var(--text-muted);
|
|
font-size: 0.85em;
|
|
line-height: 1.4;
|
|
margin-bottom: var(--size-2-1);
|
|
}
|
|
.user-level-card .card-features li:before {
|
|
content: "\2022";
|
|
color: var(--interactive-accent);
|
|
position: absolute;
|
|
left: calc(-1 * var(--size-4-3));
|
|
font-weight: bold;
|
|
}
|
|
.user-level-card .recommendation-badge {
|
|
position: absolute;
|
|
top: var(--size-4-2);
|
|
right: var(--size-4-2);
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
padding: var(--size-2-1) var(--size-4-1);
|
|
border-radius: var(--radius-s);
|
|
font-size: 0.7em;
|
|
font-weight: 600;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.02em;
|
|
}
|
|
.onboarding-view .config-overview {
|
|
width: 100%;
|
|
max-width: 800px;
|
|
margin-bottom: var(--onboarding-spacing);
|
|
}
|
|
.onboarding-view .mode-icon {
|
|
--icon-size: var(--size-4-4);
|
|
flex-shrink: 0;
|
|
}
|
|
.onboarding-view .config-settings {
|
|
width: 100%;
|
|
max-width: 800px;
|
|
margin-bottom: var(--onboarding-spacing);
|
|
}
|
|
.onboarding-view .config-features {
|
|
width: 100%;
|
|
max-width: 800px;
|
|
margin-bottom: var(--onboarding-spacing);
|
|
}
|
|
.onboarding-view .config-views {
|
|
width: 100%;
|
|
max-width: 800px;
|
|
margin-bottom: var(--onboarding-spacing);
|
|
}
|
|
.onboarding-view .enabled-features-list {
|
|
list-style: none;
|
|
padding: 0;
|
|
margin: 0;
|
|
background: var(--background-secondary);
|
|
border-radius: var(--onboarding-border-radius);
|
|
padding: var(--size-4-2);
|
|
}
|
|
.onboarding-view .enabled-features-list li {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-4-2);
|
|
padding: var(--size-2-1) 0;
|
|
color: var(--text-normal);
|
|
font-size: 0.9em;
|
|
}
|
|
.onboarding-view .feature-check {
|
|
color: var(--color-green);
|
|
font-weight: bold;
|
|
}
|
|
.onboarding-view .views-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
|
|
gap: var(--size-4-2);
|
|
}
|
|
.onboarding-view .view-item {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
padding: var(--size-4-2);
|
|
background: var(--background-secondary);
|
|
border-radius: var(--onboarding-border-radius);
|
|
}
|
|
.onboarding-view .view-icon {
|
|
font-size: 1.2em;
|
|
margin-bottom: var(--size-2-1);
|
|
}
|
|
.onboarding-view .view-name {
|
|
font-size: 0.8em;
|
|
color: var(--text-muted);
|
|
text-align: center;
|
|
}
|
|
.onboarding-view .settings-summary-list {
|
|
list-style: none;
|
|
padding: 0;
|
|
margin: 0;
|
|
background: var(--background-secondary);
|
|
border-radius: var(--onboarding-border-radius);
|
|
padding: var(--size-4-2);
|
|
}
|
|
.onboarding-view .settings-summary-list li {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
padding: var(--size-2-1) 0;
|
|
font-size: 0.9em;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
}
|
|
.onboarding-view .settings-summary-list li:last-child {
|
|
border-bottom: none;
|
|
}
|
|
.onboarding-view .setting-label {
|
|
color: var(--text-normal);
|
|
font-weight: 500;
|
|
}
|
|
.onboarding-view .setting-value {
|
|
color: var(--text-muted);
|
|
}
|
|
.onboarding-view .config-options {
|
|
width: 100%;
|
|
max-width: 800px;
|
|
margin-top: var(--onboarding-spacing);
|
|
}
|
|
.onboarding-view .customization-note {
|
|
width: 100%;
|
|
max-width: 800px;
|
|
text-align: center;
|
|
padding: var(--size-4-3);
|
|
background: var(--background-secondary);
|
|
border-radius: var(--onboarding-border-radius);
|
|
}
|
|
.onboarding-view .note-text {
|
|
color: var(--text-muted);
|
|
font-size: 0.9em;
|
|
margin: 0;
|
|
font-style: italic;
|
|
}
|
|
.onboarding-view .config-changes-summary {
|
|
width: 100%;
|
|
max-width: 800px;
|
|
margin: var(--onboarding-spacing) 0;
|
|
padding: var(--size-4-3);
|
|
background: var(--background-secondary);
|
|
border-radius: var(--onboarding-border-radius);
|
|
}
|
|
.onboarding-view .settings-changes {
|
|
margin: var(--size-4-2) 0;
|
|
padding: var(--size-4-2);
|
|
background: var(--background-primary);
|
|
border-radius: var(--radius-s);
|
|
}
|
|
.onboarding-view .preserved-header {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-4-1);
|
|
margin-bottom: var(--size-4-1);
|
|
}
|
|
.onboarding-view .preserved-icon {
|
|
color: var(--color-green);
|
|
font-size: 1.1em;
|
|
}
|
|
.onboarding-view .change-text {
|
|
color: var(--text-normal);
|
|
font-size: 0.9em;
|
|
font-weight: 500;
|
|
}
|
|
.onboarding-view .updated-views,
|
|
.onboarding-modal .updated-views {
|
|
display: flex;
|
|
}
|
|
.onboarding-view .change-item {
|
|
display: flex;
|
|
flex-direction: row;
|
|
}
|
|
.onboarding-view .change-icon {
|
|
color: var(--interactive-accent);
|
|
font-size: 1.1em;
|
|
margin-right: var(--size-4-1);
|
|
display: flex;
|
|
}
|
|
.onboarding-view .settings-changes-list {
|
|
list-style: none;
|
|
padding: 0;
|
|
margin: var(--size-4-1) 0 0 var(--size-4-4);
|
|
}
|
|
.onboarding-view .settings-changes-list li {
|
|
display: flex;
|
|
align-items: center;
|
|
padding: var(--size-2-1) 0;
|
|
color: var(--text-muted);
|
|
font-size: 0.85em;
|
|
}
|
|
.onboarding-view .safety-note {
|
|
margin-top: var(--size-4-3);
|
|
padding: var(--size-4-2);
|
|
background: rgba(var(--color-blue-rgb), 0.1);
|
|
border-radius: var(--radius-s);
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-4-1);
|
|
}
|
|
.onboarding-view .safety-icon {
|
|
color: var(--color-blue);
|
|
font-size: 1.1em;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
}
|
|
.onboarding-view .safety-text {
|
|
color: var(--color-blue);
|
|
font-size: var(--font-ui-smaller);
|
|
font-weight: 500;
|
|
}
|
|
.onboarding-view .task-guide-intro {
|
|
margin-bottom: var(--onboarding-spacing);
|
|
}
|
|
.onboarding-view .guide-description {
|
|
color: var(--text-muted);
|
|
font-size: 0.95em;
|
|
line-height: 1.5;
|
|
margin: 0;
|
|
}
|
|
.onboarding-view .shortcuts-section {
|
|
margin-bottom: var(--onboarding-spacing);
|
|
}
|
|
.onboarding-view .format-example {
|
|
margin-top: var(--size-4-4);
|
|
margin-bottom: var(--size-4-4);
|
|
}
|
|
.onboarding-view .format-example code {
|
|
background: var(--background-primary);
|
|
padding: var(--size-2-1) var(--size-4-1);
|
|
border-radius: var(--radius-s);
|
|
font-family: var(--font-monospace);
|
|
font-size: 0.85em;
|
|
color: var(--text-accent);
|
|
border: 1px solid var(--background-modifier-border);
|
|
display: block;
|
|
margin: var(--size-2-1) 0;
|
|
}
|
|
.onboarding-view .format-legend small {
|
|
color: var(--text-faint);
|
|
font-size: 0.8em;
|
|
margin-top: var(--size-2-1);
|
|
display: block;
|
|
}
|
|
.onboarding-view .metadata-symbols {
|
|
margin-top: var(--size-4-2);
|
|
}
|
|
.onboarding-view .status-list li,
|
|
.onboarding-view .symbols-list {
|
|
list-style: none;
|
|
margin: 0;
|
|
background: var(--background-primary);
|
|
border-radius: var(--onboarding-border-radius);
|
|
}
|
|
.onboarding-view .status-list li,
|
|
.onboarding-view .symbols-list li {
|
|
display: flex;
|
|
align-items: center;
|
|
padding: var(--size-2-1) 0;
|
|
font-size: 0.85em;
|
|
color: var(--text-normal);
|
|
}
|
|
.onboarding-view .status-list code {
|
|
background: var(--background-secondary);
|
|
padding: var(--size-2-1) var(--size-4-1);
|
|
border-radius: var(--radius-s);
|
|
font-family: var(--font-monospace);
|
|
margin-right: var(--size-4-2);
|
|
min-width: 40px;
|
|
text-align: center;
|
|
}
|
|
.onboarding-view .demo-content {
|
|
padding: var(--size-4-3);
|
|
background: var(--background-secondary);
|
|
border-radius: var(--onboarding-border-radius);
|
|
}
|
|
.onboarding-view .demo-button {
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border: none;
|
|
padding: var(--size-4-2) var(--size-4-4);
|
|
border-radius: var(--button-radius);
|
|
cursor: pointer;
|
|
font-weight: 500;
|
|
transition: var(--onboarding-transition);
|
|
margin-top: var(--size-4-2);
|
|
}
|
|
.onboarding-view .demo-button:hover {
|
|
background: var(--interactive-accent-hover);
|
|
}
|
|
.onboarding-view .practice-feedback {
|
|
margin-top: var(--size-4-2);
|
|
}
|
|
.onboarding-view .validation-message {
|
|
padding: var(--size-4-2);
|
|
border-radius: var(--onboarding-border-radius);
|
|
font-size: 0.9em;
|
|
margin-bottom: var(--size-2-1);
|
|
}
|
|
.onboarding-view .validation-success {
|
|
background: rgba(var(--color-green-rgb), 0.1);
|
|
border: 1px solid var(--color-green);
|
|
color: var(--color-green);
|
|
}
|
|
.onboarding-view .validation-error {
|
|
background: rgba(var(--color-red-rgb), 0.1);
|
|
border: 1px solid var(--color-red);
|
|
color: var(--color-red);
|
|
}
|
|
.onboarding-view .validation-warning {
|
|
background: rgba(var(--color-orange-rgb), 0.1);
|
|
border: 1px solid var(--color-orange);
|
|
color: var(--color-orange);
|
|
}
|
|
.onboarding-view .validation-info {
|
|
background: rgba(var(--color-blue-rgb), 0.1);
|
|
border: 1px solid var(--color-blue);
|
|
color: var(--color-blue);
|
|
}
|
|
.onboarding-view .shortcuts-list {
|
|
list-style: none;
|
|
padding: 0;
|
|
margin: 0;
|
|
background: var(--background-secondary);
|
|
border-radius: var(--onboarding-border-radius);
|
|
padding: var(--size-4-2);
|
|
}
|
|
.onboarding-view .shortcuts-list li {
|
|
display: flex;
|
|
align-items: center;
|
|
padding: var(--size-2-1) 0;
|
|
font-size: 0.9em;
|
|
color: var(--text-normal);
|
|
}
|
|
.onboarding-view .shortcuts-list code {
|
|
background: var(--background-primary);
|
|
padding: var(--size-2-1) var(--size-4-2);
|
|
border-radius: var(--radius-s);
|
|
font-family: var(--font-monospace);
|
|
margin-right: var(--size-4-3);
|
|
min-width: 100px;
|
|
font-size: 0.8em;
|
|
}
|
|
.onboarding-view .completion-success {
|
|
text-align: center;
|
|
margin-bottom: var(--onboarding-spacing);
|
|
}
|
|
.onboarding-view .success-icon {
|
|
font-size: 3em;
|
|
margin-bottom: var(--size-4-2);
|
|
}
|
|
.onboarding-view .success-message {
|
|
color: var(--text-muted);
|
|
font-size: 0.95em;
|
|
margin: 0;
|
|
}
|
|
.onboarding-view .feedback-section {
|
|
margin-bottom: var(--onboarding-spacing);
|
|
}
|
|
.onboarding-view .config-summary-card {
|
|
padding: var(--size-4-3);
|
|
background: var(--background-secondary);
|
|
border-radius: var(--onboarding-border-radius);
|
|
}
|
|
.onboarding-view .config-header {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-4-2);
|
|
margin-bottom: var(--size-2-1);
|
|
}
|
|
.onboarding-view .config-icon {
|
|
font-size: 1.5em;
|
|
}
|
|
.onboarding-view .config-name {
|
|
font-size: 1.1em;
|
|
font-weight: 600;
|
|
color: var(--text-normal);
|
|
}
|
|
.onboarding-view .config-description {
|
|
color: var(--text-muted);
|
|
font-size: 0.9em;
|
|
margin: 0;
|
|
}
|
|
.onboarding-view .quick-start-steps {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-2);
|
|
}
|
|
.onboarding-view .quick-start-step {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
gap: var(--size-4-3);
|
|
padding: var(--size-4-2);
|
|
background: var(--background-secondary);
|
|
border-radius: var(--onboarding-border-radius);
|
|
}
|
|
.onboarding-view .step-number {
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
width: 24px;
|
|
height: 24px;
|
|
border-radius: 50%;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
font-size: 0.8em;
|
|
font-weight: 600;
|
|
flex-shrink: 0;
|
|
}
|
|
.onboarding-view .step-content {
|
|
color: var(--text-normal);
|
|
font-size: 0.9em;
|
|
line-height: 1.4;
|
|
}
|
|
.onboarding-view .next-steps-list {
|
|
list-style: none;
|
|
padding: 0;
|
|
margin: 0;
|
|
}
|
|
.onboarding-view .next-steps-list li {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
gap: var(--size-4-2);
|
|
padding: var(--size-4-2);
|
|
background: var(--background-secondary);
|
|
border-radius: var(--onboarding-border-radius);
|
|
margin-bottom: var(--size-2-1);
|
|
}
|
|
.onboarding-view .step-check {
|
|
color: var(--interactive-accent);
|
|
font-weight: bold;
|
|
flex-shrink: 0;
|
|
}
|
|
.onboarding-view .step-text {
|
|
color: var(--text-normal);
|
|
font-size: 0.9em;
|
|
line-height: 1.4;
|
|
}
|
|
.onboarding-view .resources-list {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
|
|
gap: var(--size-4-2);
|
|
}
|
|
.onboarding-view .resource-item {
|
|
display: flex;
|
|
gap: var(--size-4-2);
|
|
padding: var(--size-4-3);
|
|
background: var(--background-secondary);
|
|
border-radius: var(--onboarding-border-radius);
|
|
transition: var(--onboarding-transition);
|
|
}
|
|
.onboarding-view .resource-clickable {
|
|
cursor: pointer;
|
|
}
|
|
.onboarding-view .resource-clickable:hover {
|
|
background: var(--background-modifier-hover);
|
|
}
|
|
.onboarding-view .resource-icon {
|
|
font-size: 1.5em;
|
|
flex-shrink: 0;
|
|
}
|
|
.onboarding-view .feedback-description {
|
|
color: var(--text-muted);
|
|
font-size: 0.9em;
|
|
line-height: 1.5;
|
|
margin: 0 0 var(--size-4-2) 0;
|
|
}
|
|
.onboarding-view .feedback-buttons {
|
|
display: flex;
|
|
gap: var(--size-4-2);
|
|
justify-content: center;
|
|
}
|
|
.onboarding-view .feedback-button {
|
|
background: var(--background-secondary);
|
|
border: none;
|
|
color: var(--text-normal);
|
|
padding: var(--size-4-2) var(--size-4-4);
|
|
border-radius: var(--button-radius);
|
|
cursor: pointer;
|
|
font-size: 0.9em;
|
|
transition: var(--onboarding-transition);
|
|
}
|
|
.onboarding-view .feedback-positive:hover {
|
|
background: var(--color-green);
|
|
color: white;
|
|
}
|
|
.onboarding-view .feedback-negative:hover {
|
|
background: var(--color-red);
|
|
color: white;
|
|
}
|
|
.onboarding-view .feedback-thanks {
|
|
text-align: center;
|
|
padding: var(--size-4-3);
|
|
background: var(--background-secondary);
|
|
border-radius: var(--onboarding-border-radius);
|
|
}
|
|
.onboarding-view .feedback-thanks-message {
|
|
color: var(--text-normal);
|
|
font-size: 0.9em;
|
|
margin: 0 0 var(--size-4-2) 0;
|
|
}
|
|
.onboarding-view .feedback-thanks a {
|
|
color: var(--interactive-accent);
|
|
text-decoration: none;
|
|
}
|
|
.onboarding-view .feedback-thanks a:hover {
|
|
text-decoration: underline;
|
|
}
|
|
.onboarding-view .final-message {
|
|
text-align: center;
|
|
padding: var(--size-4-4);
|
|
}
|
|
.onboarding-view .final-message-text {
|
|
color: var(--text-muted);
|
|
font-size: 1em;
|
|
font-style: italic;
|
|
margin: 0;
|
|
}
|
|
@media (max-width: 768px) {
|
|
.onboarding-view {
|
|
--dialog-width: 95vw;
|
|
--dialog-max-width: 95vw;
|
|
--dialog-max-height: 95vh;
|
|
}
|
|
.onboarding-view .user-level-cards {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
.onboarding-view .features-overview {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
.onboarding-view .views-grid {
|
|
grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
|
|
}
|
|
.onboarding-view .resources-list {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
.onboarding-view .feedback-buttons {
|
|
flex-direction: column;
|
|
}
|
|
.onboarding-view .onboarding-buttons {
|
|
flex-wrap: wrap;
|
|
justify-content: center;
|
|
}
|
|
.mode-options,
|
|
.placement-options {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
.mode-card-preview {
|
|
height: 100px;
|
|
}
|
|
.placement-card-preview {
|
|
height: 80px;
|
|
}
|
|
.mode-card,
|
|
.placement-card {
|
|
padding: var(--size-4-3);
|
|
}
|
|
.intro-mode-selection-container {
|
|
max-width: 100%;
|
|
padding: 0 var(--size-4-1);
|
|
}
|
|
.intro-typing {
|
|
padding: var(--size-4-4) var(--size-4-2);
|
|
}
|
|
.onboarding-view .onboarding-footer {
|
|
padding: var(--size-4-3) var(--size-4-2);
|
|
}
|
|
.onboarding-view .onboarding-buttons {
|
|
gap: var(--size-4-2);
|
|
}
|
|
.onboarding-view .onboarding-buttons button {
|
|
padding: var(--size-4-2) var(--size-4-3);
|
|
font-size: 0.9em;
|
|
}
|
|
}
|
|
.theme-dark .theme-dark .onboarding-view .onboarding-footer {
|
|
box-shadow: 0 -2px 16px rgba(0, 0, 0, 0.3);
|
|
}
|
|
.theme-dark .theme-dark .onboarding-view .onboarding-footer::before {
|
|
background:
|
|
linear-gradient(
|
|
to top,
|
|
rgba(0, 0, 0, 0.2),
|
|
transparent);
|
|
}
|
|
.onboarding-view .onboarding-content {
|
|
animation: fadeInUp 0.3s ease-out;
|
|
}
|
|
@keyframes fadeInUp {
|
|
from {
|
|
opacity: 0;
|
|
transform: translateY(20px);
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
}
|
|
.onboarding-view .user-level-card.selected {
|
|
animation: cardSelect 0.2s ease-out;
|
|
}
|
|
@keyframes cardSelect {
|
|
0% {
|
|
transform: scale(1);
|
|
}
|
|
50% {
|
|
transform: scale(1.02);
|
|
}
|
|
100% {
|
|
transform: scale(1);
|
|
}
|
|
}
|
|
.mode-selection {
|
|
margin-bottom: var(--onboarding-spacing);
|
|
}
|
|
.mode-options {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
|
|
gap: var(--onboarding-spacing);
|
|
margin: var(--onboarding-spacing) 0;
|
|
}
|
|
.onboarding-view .mode-card {
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--onboarding-border-radius);
|
|
padding: var(--onboarding-spacing);
|
|
cursor: pointer;
|
|
transition: var(--onboarding-transition);
|
|
background: var(--background-primary);
|
|
position: relative;
|
|
overflow: hidden;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
.mode-card:hover {
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: var(--shadow-s);
|
|
transform: translateY(-2px);
|
|
}
|
|
.mode-card.is-selected {
|
|
border-color: var(--interactive-accent);
|
|
background: var(--background-modifier-hover);
|
|
box-shadow: 0 0 0 2px rgba(var(--interactive-accent-rgb), 0.2);
|
|
}
|
|
.mode-card-header {
|
|
margin-bottom: var(--size-4-3);
|
|
}
|
|
.mode-card-title {
|
|
font-size: 1.1em;
|
|
font-weight: 600;
|
|
color: var(--text-normal);
|
|
margin-bottom: var(--size-4-2);
|
|
}
|
|
.mode-card-body {
|
|
margin-top: var(--size-4-2);
|
|
}
|
|
.mode-card-preview {
|
|
background: var(--background-secondary);
|
|
border-radius: var(--radius-s);
|
|
margin-bottom: var(--size-4-3);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
color: var(--text-muted);
|
|
font-size: 3em;
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
.mode-fluent .mode-card-preview {
|
|
background:
|
|
linear-gradient(
|
|
135deg,
|
|
var(--background-secondary) 0%,
|
|
var(--background-modifier-hover) 100%);
|
|
}
|
|
.mode-legacy .mode-card-preview {
|
|
background: var(--background-secondary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.mode-card-desc {
|
|
color: var(--text-muted);
|
|
font-size: 0.9em;
|
|
line-height: 1.5;
|
|
min-height: 3em;
|
|
}
|
|
.section-title {
|
|
font-size: 1.25em;
|
|
font-weight: 600;
|
|
color: var(--text-normal);
|
|
margin-bottom: var(--size-4-2);
|
|
text-align: center;
|
|
}
|
|
.section-desc {
|
|
color: var(--text-muted);
|
|
font-size: 0.95em;
|
|
margin-bottom: var(--size-4-4);
|
|
text-align: center;
|
|
line-height: 1.5;
|
|
}
|
|
.mode-tips,
|
|
.placement-tips {
|
|
margin-top: var(--onboarding-spacing);
|
|
text-align: left;
|
|
}
|
|
.mode-tips p,
|
|
.placement-tips p {
|
|
margin: 0;
|
|
font-size: 0.9em;
|
|
}
|
|
.placement-selection {
|
|
margin-bottom: var(--onboarding-spacing);
|
|
}
|
|
.placement-options {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
|
|
gap: var(--onboarding-spacing);
|
|
margin: var(--onboarding-spacing) 0;
|
|
}
|
|
.placement-card {
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--onboarding-border-radius);
|
|
padding: var(--onboarding-spacing);
|
|
cursor: pointer;
|
|
transition: var(--onboarding-transition);
|
|
background: var(--background-primary);
|
|
position: relative;
|
|
overflow: hidden;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
.placement-card:hover {
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: var(--shadow-s);
|
|
transform: translateY(-2px);
|
|
}
|
|
.placement-card.is-selected {
|
|
border-color: var(--interactive-accent);
|
|
background: var(--background-modifier-hover);
|
|
box-shadow: 0 0 0 2px rgba(var(--interactive-accent-rgb), 0.2);
|
|
}
|
|
.placement-card-header {
|
|
margin-bottom: var(--size-4-3);
|
|
}
|
|
.placement-card-title {
|
|
font-size: 1.1em;
|
|
font-weight: 600;
|
|
color: var(--text-normal);
|
|
margin-bottom: var(--size-4-2);
|
|
}
|
|
.placement-card-body {
|
|
margin-top: var(--size-4-2);
|
|
}
|
|
.placement-card-preview {
|
|
height: 100px;
|
|
background: var(--background-secondary);
|
|
border-radius: var(--radius-s);
|
|
margin-bottom: var(--size-4-3);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
color: var(--text-muted);
|
|
position: relative;
|
|
}
|
|
.placement-sideleaves .placement-card-preview {
|
|
display: grid;
|
|
grid-template-columns: 1fr 2fr 1fr;
|
|
gap: 4px;
|
|
padding: var(--size-4-2);
|
|
}
|
|
.placement-preview-col {
|
|
background: var(--background-modifier-border);
|
|
border-radius: 2px;
|
|
height: 100%;
|
|
}
|
|
.placement-preview-col.placement-preview-main {
|
|
background: var(--interactive-accent);
|
|
opacity: 0.3;
|
|
}
|
|
.placement-inline .placement-card-preview {
|
|
padding: var(--size-4-2);
|
|
}
|
|
.placement-preview-single {
|
|
width: 100%;
|
|
height: 100%;
|
|
background: var(--interactive-accent);
|
|
opacity: 0.3;
|
|
border-radius: 4px;
|
|
}
|
|
.placement-card-desc {
|
|
color: var(--text-muted);
|
|
font-size: 0.9em;
|
|
line-height: 1.5;
|
|
min-height: 3em;
|
|
}
|
|
.intro-typing-wrapper {
|
|
width: 100%;
|
|
padding-left: calc(var(--onboarding-spacing) * 3);
|
|
padding-right: calc(var(--onboarding-spacing) * 3);
|
|
}
|
|
.onboarding-view .onboarding-content.intro-typing-wrapper {
|
|
padding-left: calc(var(--onboarding-spacing) * 3);
|
|
padding-right: calc(var(--onboarding-spacing) * 3);
|
|
}
|
|
.intro-typing {
|
|
padding: var(--size-4-6) var(--size-4-4);
|
|
text-align: left;
|
|
width: 100%;
|
|
}
|
|
.intro-line {
|
|
margin-bottom: var(--size-4-4);
|
|
line-height: 1.6;
|
|
}
|
|
.intro-line-1 {
|
|
font-size: clamp(3rem, 6vw, 5rem);
|
|
font-weight: 700;
|
|
color: var(--text-normal);
|
|
margin-bottom: var(--size-4-2);
|
|
line-height: 1.2;
|
|
}
|
|
.intro-line-2 {
|
|
font-size: clamp(1.5rem, 3vw, 2.5rem);
|
|
font-weight: 600;
|
|
color: var(--text-normal);
|
|
margin-bottom: var(--size-4-6);
|
|
line-height: 1.4;
|
|
}
|
|
.intro-line-3,
|
|
.intro-line-4 {
|
|
font-size: clamp(1rem, 2vw, 1.4rem);
|
|
color: var(--text-muted);
|
|
margin-bottom: var(--size-4-5);
|
|
text-align: left;
|
|
}
|
|
.intro-line-4 {
|
|
padding-top: calc(var(--onboarding-spacing) * 4);
|
|
}
|
|
.onboarding-header > .intro-line-4 {
|
|
padding-top: 0;
|
|
}
|
|
.intro-char {
|
|
display: inline;
|
|
opacity: 0;
|
|
filter: blur(4px);
|
|
transform: translateY(-2px);
|
|
transition:
|
|
opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1),
|
|
filter 0.4s cubic-bezier(0.4, 0, 0.2, 1),
|
|
transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
|
|
position: relative;
|
|
}
|
|
.intro-char-visible {
|
|
opacity: 1;
|
|
filter: blur(0px);
|
|
transform: translateY(0);
|
|
}
|
|
.intro-char-space {
|
|
width: 0.25em;
|
|
}
|
|
.intro-cursor {
|
|
display: inline-block;
|
|
margin-left: 1px;
|
|
opacity: 0.7;
|
|
animation: cursorBlink 1s infinite;
|
|
color: var(--interactive-accent);
|
|
font-weight: normal;
|
|
vertical-align: baseline;
|
|
}
|
|
@keyframes cursorBlink {
|
|
0%, 49% {
|
|
opacity: 0.7;
|
|
}
|
|
50%, 100% {
|
|
opacity: 0;
|
|
}
|
|
}
|
|
.stream-complete {
|
|
animation: streamComplete 0.3s ease-out;
|
|
}
|
|
@keyframes streamComplete {
|
|
0% {
|
|
opacity: 1;
|
|
}
|
|
50% {
|
|
opacity: 0.95;
|
|
}
|
|
100% {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
.intro-line-fadeout {
|
|
opacity: 0;
|
|
transform: translateY(-10px);
|
|
transition: opacity 0.5s ease-out, transform 0.5s ease-out;
|
|
pointer-events: none;
|
|
}
|
|
.intro-mode-selection-container {
|
|
animation: fadeInFromBottom 0.6s ease-out;
|
|
animation-fill-mode: both;
|
|
width: 100%;
|
|
}
|
|
@keyframes fadeInFromBottom {
|
|
from {
|
|
opacity: 0;
|
|
transform: translateY(20px);
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
}
|
|
.theme-dark .intro-line-1 {
|
|
color: var(--text-normal);
|
|
text-shadow: 0 0 20px rgba(var(--interactive-accent-rgb), 0.1);
|
|
}
|
|
.theme-dark .intro-char-visible {
|
|
text-shadow: 0 0 8px rgba(var(--interactive-accent-rgb), 0.05);
|
|
}
|
|
.intro-typing {
|
|
animation: fadeInTyping 0.5s ease-out;
|
|
}
|
|
@keyframes fadeInTyping {
|
|
from {
|
|
opacity: 0;
|
|
transform: translateY(10px);
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
}
|
|
.intro-transition-container {
|
|
margin-top: var(--size-4-4);
|
|
min-height: 60px;
|
|
}
|
|
.intro-transition-message {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-4-3);
|
|
padding: var(--size-4-3) var(--size-4-4);
|
|
background:
|
|
linear-gradient(
|
|
135deg,
|
|
rgba(var(--interactive-accent-rgb), 0.08) 0%,
|
|
rgba(var(--interactive-accent-rgb), 0.03) 100%);
|
|
border: 1px solid rgba(var(--interactive-accent-rgb), 0.2);
|
|
border-radius: var(--onboarding-border-radius);
|
|
box-shadow: var(--shadow-sm);
|
|
transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
}
|
|
.intro-transition-message .transition-icon {
|
|
font-size: 1.5em;
|
|
flex-shrink: 0;
|
|
animation: sparkle 1.5s ease-in-out infinite;
|
|
}
|
|
.intro-transition-message .transition-text {
|
|
color: var(--text-normal);
|
|
font-size: 0.95em;
|
|
line-height: 1.5;
|
|
}
|
|
@keyframes sparkle {
|
|
0%, 100% {
|
|
transform: scale(1);
|
|
opacity: 1;
|
|
}
|
|
50% {
|
|
transform: scale(1.1);
|
|
opacity: 0.8;
|
|
}
|
|
}
|
|
.config-check-typing {
|
|
min-height: 200px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
}
|
|
.config-check-typing .check-line {
|
|
line-height: 1.6;
|
|
color: var(--text-normal);
|
|
margin-block-start: var(--size-4-2);
|
|
margin-block-end: var(--size-4-2);
|
|
}
|
|
.config-check-typing .check-line-1 {
|
|
font-size: clamp(1.2rem, 2.5vw, 1.8rem);
|
|
font-weight: 600;
|
|
color: var(--text-muted);
|
|
line-height: 1.4;
|
|
}
|
|
.config-check-typing .check-line-2,
|
|
.config-check-typing .check-line-3 {
|
|
font-size: clamp(1rem, 2vw, 1.3rem);
|
|
color: var(--text-muted);
|
|
line-height: 1.5;
|
|
}
|
|
.config-check-typing .check-line-result {
|
|
font-size: clamp(1.1rem, 2.2vw, 1.6rem);
|
|
font-weight: 600;
|
|
margin-top: var(--size-4-4);
|
|
padding: var(--size-4-4) var(--size-4-5);
|
|
border-radius: var(--radius-m);
|
|
background:
|
|
linear-gradient(
|
|
135deg,
|
|
rgba(var(--interactive-accent-rgb), 0.05) 0%,
|
|
rgba(var(--interactive-accent-rgb), 0.02) 100%);
|
|
border-left: 3px solid var(--interactive-accent);
|
|
line-height: 1.5;
|
|
}
|
|
.config-check-typing .check-line-success {
|
|
color: var(--color-green);
|
|
border-left-color: var(--color-green);
|
|
background:
|
|
linear-gradient(
|
|
135deg,
|
|
rgba(var(--color-green-rgb), 0.08) 0%,
|
|
rgba(var(--color-green-rgb), 0.02) 100%);
|
|
}
|
|
.config-check-typing .check-line-fresh {
|
|
color: var(--text-accent);
|
|
border-left-color: var(--text-accent);
|
|
}
|
|
.selectable-cards-container {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
|
|
gap: var(--size-4-4);
|
|
margin: var(--size-4-4) 0;
|
|
}
|
|
.selectable-cards-container.user-level-cards {
|
|
display: flex;
|
|
flex-direction: row;
|
|
gap: var(--size-4-4);
|
|
}
|
|
.selectable-card {
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--onboarding-border-radius, var(--radius-m));
|
|
padding: var(--size-4-4);
|
|
cursor: pointer;
|
|
transition: var(--onboarding-transition);
|
|
background: var(--background-primary);
|
|
position: relative;
|
|
overflow: hidden;
|
|
box-shadow: var(--shadow-sm);
|
|
}
|
|
.selectable-card:hover {
|
|
border-color: var(--interactive-accent);
|
|
transform: translateY(-2px);
|
|
box-shadow: var(--shadow-lg);
|
|
}
|
|
.selectable-card.is-selected {
|
|
border-color: var(--interactive-accent);
|
|
background: var(--background-modifier-hover);
|
|
box-shadow: 0 0 0 3px rgba(var(--interactive-accent-rgb), 0.1);
|
|
}
|
|
.selectable-card-header {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-4-2);
|
|
margin-bottom: var(--size-4-3);
|
|
}
|
|
.selectable-card-icon {
|
|
flex-shrink: 0;
|
|
color: var(--text-accent);
|
|
opacity: 0.8;
|
|
}
|
|
.selectable-card-title-container {
|
|
flex: 1;
|
|
}
|
|
.selectable-card-title {
|
|
margin: 0;
|
|
font-size: 1.1em;
|
|
font-weight: 600;
|
|
color: var(--text-normal);
|
|
}
|
|
.selectable-card-subtitle {
|
|
display: block;
|
|
margin-top: var(--size-2-1);
|
|
font-size: 0.85em;
|
|
color: var(--text-muted);
|
|
font-weight: normal;
|
|
}
|
|
.selectable-card-badge {
|
|
position: absolute;
|
|
top: var(--size-4-2);
|
|
right: var(--size-4-2);
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
padding: var(--size-2-1) var(--size-4-2);
|
|
border-radius: var(--radius-s);
|
|
font-size: 0.7em;
|
|
font-weight: 600;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.02em;
|
|
}
|
|
.selectable-card-body {
|
|
margin-top: var(--size-4-2);
|
|
}
|
|
.selectable-card-preview {
|
|
background: var(--background-secondary);
|
|
border-radius: var(--radius-s);
|
|
margin-bottom: var(--size-4-3);
|
|
min-height: 100px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
overflow: hidden;
|
|
}
|
|
.selectable-card-description {
|
|
color: var(--text-muted);
|
|
font-size: 0.9em;
|
|
line-height: 1.5;
|
|
margin: 0 0 var(--size-4-2) 0;
|
|
}
|
|
.selectable-card-features {
|
|
margin-top: var(--size-4-2);
|
|
}
|
|
.selectable-card-features ul {
|
|
margin: 0;
|
|
padding-left: var(--size-4-3);
|
|
list-style: none;
|
|
}
|
|
.selectable-card-features li {
|
|
position: relative;
|
|
color: var(--text-muted);
|
|
font-size: 0.85em;
|
|
line-height: 1.4;
|
|
margin-bottom: var(--size-2-1);
|
|
}
|
|
.selectable-card-features li:before {
|
|
content: "\2022";
|
|
color: var(--interactive-accent);
|
|
position: absolute;
|
|
left: calc(-1 * var(--size-4-3));
|
|
font-weight: bold;
|
|
}
|
|
.feature-list {
|
|
list-style: none;
|
|
padding: 0;
|
|
margin: 0;
|
|
background: var(--background-secondary);
|
|
border-radius: var(--onboarding-border-radius);
|
|
padding: var(--size-4-2);
|
|
}
|
|
.feature-item {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-4-2);
|
|
padding: var(--size-2-1) 0;
|
|
color: var(--text-normal);
|
|
font-size: 0.9em;
|
|
}
|
|
.feature-item-icon {
|
|
color: var(--color-green);
|
|
flex-shrink: 0;
|
|
display: flex;
|
|
}
|
|
.feature-item-text {
|
|
flex: 1;
|
|
}
|
|
.onboarding-badge {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
padding: var(--size-2-1) var(--size-4-2);
|
|
border-radius: var(--radius-s);
|
|
font-size: 0.75em;
|
|
font-weight: 500;
|
|
letter-spacing: 0.01em;
|
|
transition: var(--onboarding-transition);
|
|
}
|
|
.onboarding-badge-default {
|
|
background: var(--background-secondary);
|
|
color: var(--text-normal);
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.onboarding-badge-success {
|
|
background: rgba(var(--color-green-rgb), 0.1);
|
|
color: var(--color-green);
|
|
border: 1px solid var(--color-green);
|
|
}
|
|
.onboarding-badge-warning {
|
|
background: rgba(var(--color-orange-rgb), 0.1);
|
|
color: var(--color-orange);
|
|
border: 1px solid var(--color-orange);
|
|
}
|
|
.onboarding-badge-info {
|
|
background: rgba(var(--color-blue-rgb), 0.1);
|
|
color: var(--color-blue);
|
|
border: 1px solid var(--color-blue);
|
|
}
|
|
.onboarding-badge-accent {
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border: none;
|
|
}
|
|
.onboarding-alert {
|
|
display: flex;
|
|
gap: var(--size-4-2);
|
|
padding: var(--size-4-3);
|
|
border-radius: var(--onboarding-border-radius);
|
|
border: 1px solid transparent;
|
|
transition: var(--onboarding-transition);
|
|
}
|
|
.onboarding-alert-icon {
|
|
flex-shrink: 0;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.onboarding-alert-content {
|
|
flex: 1;
|
|
}
|
|
.onboarding-alert-title {
|
|
font-weight: 600;
|
|
margin-bottom: var(--size-2-1);
|
|
font-size: 0.95em;
|
|
}
|
|
.onboarding-alert-message {
|
|
font-size: 0.9em;
|
|
line-height: 1.5;
|
|
}
|
|
.onboarding-alert-info {
|
|
background: rgba(var(--color-blue-rgb), 0.1);
|
|
border-color: var(--color-blue);
|
|
}
|
|
.onboarding-alert-info .onboarding-alert-icon {
|
|
color: var(--color-blue);
|
|
}
|
|
.onboarding-alert-info .onboarding-alert-title,
|
|
.onboarding-alert-info .onboarding-alert-message {
|
|
color: var(--color-blue);
|
|
}
|
|
.onboarding-alert-success {
|
|
background: rgba(var(--color-green-rgb), 0.1);
|
|
border-color: var(--color-green);
|
|
}
|
|
.onboarding-alert-success .onboarding-alert-icon {
|
|
color: var(--color-green);
|
|
}
|
|
.onboarding-alert-success .onboarding-alert-title,
|
|
.onboarding-alert-success .onboarding-alert-message {
|
|
color: var(--color-green);
|
|
}
|
|
.onboarding-alert-warning {
|
|
background: rgba(var(--color-orange-rgb), 0.1);
|
|
border-color: var(--color-orange);
|
|
}
|
|
.onboarding-alert-warning .onboarding-alert-icon {
|
|
color: var(--color-orange);
|
|
}
|
|
.onboarding-alert-warning .onboarding-alert-title,
|
|
.onboarding-alert-warning .onboarding-alert-message {
|
|
color: var(--color-orange);
|
|
}
|
|
.onboarding-alert-error {
|
|
background: rgba(var(--color-red-rgb), 0.1);
|
|
border-color: var(--color-red);
|
|
}
|
|
.onboarding-alert-error .onboarding-alert-icon {
|
|
color: var(--color-red);
|
|
}
|
|
.onboarding-alert-error .onboarding-alert-title,
|
|
.onboarding-alert-error .onboarding-alert-message {
|
|
color: var(--color-red);
|
|
}
|
|
.progress-dots {
|
|
display: flex;
|
|
gap: var(--size-4-2);
|
|
align-items: center;
|
|
justify-content: center;
|
|
margin: var(--size-4-3) 0;
|
|
}
|
|
.progress-dot-wrapper {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
gap: var(--size-2-1);
|
|
}
|
|
.progress-dot {
|
|
width: 8px;
|
|
height: 8px;
|
|
border-radius: 50%;
|
|
background: var(--background-modifier-border);
|
|
transition: var(--onboarding-transition);
|
|
}
|
|
.progress-dot.is-active {
|
|
background: var(--interactive-accent);
|
|
transform: scale(1.5);
|
|
box-shadow: 0 0 0 4px rgba(var(--interactive-accent-rgb), 0.2);
|
|
}
|
|
.progress-dot.is-completed {
|
|
background: var(--interactive-accent);
|
|
opacity: 0.6;
|
|
}
|
|
.progress-dot-label {
|
|
font-size: 0.7em;
|
|
color: var(--text-muted);
|
|
font-weight: 500;
|
|
}
|
|
|
|
/* src/styles/noise.css */
|
|
.tg-noise-layer {
|
|
position: fixed;
|
|
width: 100%;
|
|
height: 100%;
|
|
left: 0;
|
|
top: 0;
|
|
pointer-events: none;
|
|
}
|
|
.tg-noise-layer::before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
pointer-events: none;
|
|
opacity: 0.25;
|
|
background-image: url('data:image/svg+xml;utf8,<svg width="1901" height="961" viewBox="0 0 1901 961" fill="none" xmlns="http://www.w3.org/2000/svg"><g opacity="0.25" filter="url(%23filter0_n_1_2)"><rect width="1901" height="961" fill="%23EFEFEF"/></g><defs><filter id="filter0_n_1_2" x="0" y="0" width="1901" height="961" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feTurbulence type="fractalNoise" baseFrequency="1.25 1.25" stitchTiles="stitch" numOctaves="3" result="noise" seed="5339" /><feColorMatrix in="noise" type="luminanceToAlpha" result="alphaNoise" /><feComponentTransfer in="alphaNoise" result="coloredNoise1"><feFuncA type="discrete" tableValues="1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 "/></feComponentTransfer><feComposite operator="in" in2="shape" in="coloredNoise1" result="noise1Clipped" /><feFlood flood-color="rgba(0, 0, 0, 0.25)" result="color1Flood" /><feComposite operator="in" in2="noise1Clipped" in="color1Flood" result="color1" /><feMerge result="effect1_noise_1_2"><feMergeNode in="shape" /><feMergeNode in="color1" /></feMerge></filter></defs></svg>');
|
|
background-size: cover;
|
|
background-position: center;
|
|
background-repeat: no-repeat;
|
|
z-index: 1;
|
|
}
|
|
.tg-noise-layer > * {
|
|
position: relative;
|
|
z-index: 2;
|
|
}
|
|
|
|
/* src/styles/changelog.css */
|
|
.tg-changelog-view {
|
|
padding: var(--size-4-6);
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-4);
|
|
}
|
|
.tg-changelog-header {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-2);
|
|
}
|
|
.tg-changelog-header h2 {
|
|
margin: 0;
|
|
font-size: var(--font-ui-large);
|
|
font-weight: 600;
|
|
}
|
|
.tg-changelog-meta {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-2);
|
|
color: var(--text-muted);
|
|
font-size: var(--font-ui-small);
|
|
}
|
|
.tg-changelog-meta a {
|
|
color: var(--interactive-accent);
|
|
text-decoration: none;
|
|
}
|
|
.tg-changelog-meta a:hover {
|
|
text-decoration: underline;
|
|
}
|
|
.tg-changelog-body {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
padding: var(--size-4-2);
|
|
border-radius: var(--radius-m);
|
|
border: 1px solid var(--background-modifier-border);
|
|
background-color: var(--background-secondary);
|
|
}
|
|
.tg-changelog-error {
|
|
color: var(--text-error);
|
|
font-weight: 500;
|
|
}
|
|
.tg-changelog-body h1,
|
|
.tg-changelog-body h2,
|
|
.tg-changelog-body h3 {
|
|
font-family: var(--font-interface, inherit);
|
|
font-weight: 600;
|
|
margin-top: var(--size-4-4);
|
|
margin-bottom: var(--size-4-2);
|
|
line-height: 1.3;
|
|
}
|
|
.tg-changelog-body h1 {
|
|
font-size: 1.65rem;
|
|
}
|
|
.tg-changelog-body h2 {
|
|
font-size: 1.35rem;
|
|
}
|
|
.tg-changelog-body h2:not(:first-child) {
|
|
margin-top: var(--size-4-8);
|
|
}
|
|
.tg-changelog-body h3 {
|
|
font-size: 1.15rem;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-2);
|
|
}
|
|
.tg-changelog-body h3::before {
|
|
content: "";
|
|
display: inline-block;
|
|
width: 1rem;
|
|
height: 1rem;
|
|
border-radius: 2px;
|
|
background-color: var(--background-modifier-border-hover);
|
|
flex: 0 0 auto;
|
|
margin-right: var(--size-4-2);
|
|
}
|
|
.tg-changelog-body h3[data-heading^="Bug Fixes"]::before {
|
|
background-color: var(--color-red, #e06c75);
|
|
}
|
|
.tg-changelog-body h3[data-heading^=Features]::before,
|
|
.tg-changelog-body h3[data-heading^=New]::before {
|
|
background-color: var(--color-cyan, #56b6c2);
|
|
}
|
|
.tg-changelog-body h3[data-heading^=Improvements]::before,
|
|
.tg-changelog-body h3[data-heading^=Enhancements]::before {
|
|
background-color: var(--color-yellow, #d19a66);
|
|
}
|
|
.tg-changelog-body h3[data-heading^=Performance]::before {
|
|
background-color: var(--color-green, #98c379);
|
|
}
|
|
.tg-changelog-body p + h1,
|
|
.tg-changelog-body p + h2,
|
|
.tg-changelog-body p + h3 {
|
|
margin-top: var(--size-4-6);
|
|
}
|
|
|
|
/* src/styles/timeline-sidebar.css */
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-sidebar-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
height: 100%;
|
|
width: 100%;
|
|
background-color: var(--background-primary);
|
|
overflow: hidden;
|
|
font-family: var(--font-interface);
|
|
padding: 0 !important;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: var(--size-4-3) var(--size-4-4);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
background:
|
|
linear-gradient(
|
|
135deg,
|
|
var(--background-secondary) 0%,
|
|
var(--background-modifier-hover) 100%);
|
|
flex-shrink: 0;
|
|
backdrop-filter: blur(10px);
|
|
-webkit-backdrop-filter: blur(10px);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-title {
|
|
font-weight: 600;
|
|
font-size: var(--font-ui-medium);
|
|
color: var(--text-normal);
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-4-2);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-controls {
|
|
display: flex;
|
|
gap: var(--size-4-2);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-btn {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: var(--size-4-8);
|
|
height: var(--size-4-8);
|
|
border-radius: var(--radius-s);
|
|
cursor: pointer;
|
|
color: var(--text-muted);
|
|
background-color: transparent;
|
|
transition: all 0.2s ease;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-btn:hover {
|
|
color: var(--text-normal);
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-btn.is-active {
|
|
color: var(--text-on-accent);
|
|
background-color: var(--interactive-accent);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-content {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
padding: var(--size-4-2) 0;
|
|
position: relative;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-content.focus-mode .timeline-date-group:not(.is-today) {
|
|
opacity: 0.3;
|
|
pointer-events: none;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-empty {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
height: 100%;
|
|
color: var(--text-muted);
|
|
font-style: italic;
|
|
text-align: center;
|
|
padding: var(--size-4-8);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-date-group {
|
|
margin-bottom: var(--size-4-2);
|
|
position: relative;
|
|
border-radius: var(--radius-m);
|
|
transition: all 0.3s ease;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-date-group.is-today {
|
|
background-color: var(--background-secondary);
|
|
border-radius: var(--radius-m);
|
|
margin: 0 var(--size-4-2) var(--size-4-2);
|
|
padding: var(--size-4-2);
|
|
box-shadow: var(--shadow-s);
|
|
border: 1px solid var(--interactive-accent);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-date-header {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
padding: var(--size-4-2) var(--size-4-4);
|
|
font-weight: 600;
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-accent);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
margin-bottom: var(--size-4-2);
|
|
position: sticky;
|
|
top: 0;
|
|
background-color: var(--background-primary);
|
|
z-index: 1;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-date-group.is-today .timeline-date-header {
|
|
border-radius: var(--radius-s);
|
|
margin: 0 0 var(--size-4-2) 0;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-date-relative {
|
|
font-size: var(--font-ui-smaller);
|
|
color: var(--text-muted);
|
|
font-weight: normal;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-events-list {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-2-1);
|
|
padding: 0 var(--size-2-3);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
gap: var(--size-4-3);
|
|
padding: var(--size-4-3);
|
|
border-radius: var(--radius-m);
|
|
cursor: pointer;
|
|
position: relative;
|
|
border: 1px solid transparent;
|
|
margin-bottom: var(--size-4-2);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
|
|
transform: translateY(-1px);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event:hover:has(.timeline-event-checkbox:hover) {
|
|
transform: none;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event.is-completed {
|
|
opacity: 0.6;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event.is-completed .timeline-event-text {
|
|
text-decoration: line-through;
|
|
color: var(--text-muted);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-time {
|
|
font-size: var(--font-ui-smaller);
|
|
color: var(--text-muted);
|
|
font-family: var(--font-monospace);
|
|
min-width: 45px;
|
|
text-align: center;
|
|
margin-top: 2px;
|
|
flex-shrink: 0;
|
|
background-color: var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
padding: var(--size-4-1) var(--size-4-2);
|
|
font-weight: 500;
|
|
position: relative;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-time.timeline-event-time-single {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
font-weight: 600;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-time.timeline-event-time-range {
|
|
background:
|
|
linear-gradient(
|
|
135deg,
|
|
var(--interactive-accent) 0%,
|
|
var(--interactive-accent-hover) 100%);
|
|
color: var(--text-on-accent);
|
|
font-weight: 600;
|
|
min-width: 80px;
|
|
position: relative;
|
|
animation: subtle-pulse 2s ease-in-out infinite;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-time.timeline-event-time-range::after {
|
|
content: "\23f1";
|
|
position: absolute;
|
|
top: -6px;
|
|
right: -6px;
|
|
font-size: 10px;
|
|
background-color: var(--background-primary);
|
|
border-radius: 999px;
|
|
min-width: 18px;
|
|
height: 16px;
|
|
padding: 0 4px;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
border: 2px solid var(--interactive-accent);
|
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
|
|
line-height: 1;
|
|
white-space: nowrap;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-time.timeline-event-time-range[data-duration]::after {
|
|
content: attr(data-duration);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-time.timeline-event-time-default {
|
|
background-color: var(--background-modifier-border);
|
|
color: var(--text-muted);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-time.timeline-event-time-group {
|
|
background:
|
|
linear-gradient(
|
|
135deg,
|
|
var(--text-accent) 0%,
|
|
var(--interactive-accent) 100%);
|
|
color: var(--text-on-accent);
|
|
font-weight: 700;
|
|
min-width: 60px;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-time.timeline-event-time-date-only {
|
|
background-color: var(--background-modifier-hover);
|
|
color: var(--text-muted);
|
|
font-style: italic;
|
|
min-width: 60px;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-time-group {
|
|
margin-bottom: var(--size-4-3);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-m);
|
|
background-color: var(--background-secondary);
|
|
overflow: hidden;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-time-group-header {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-4-3);
|
|
padding: var(--size-4-2) var(--size-4-3);
|
|
background-color: var(--background-modifier-hover);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-time-group-count {
|
|
font-size: var(--font-ui-smaller);
|
|
color: var(--text-muted);
|
|
font-weight: 500;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-time-group-events {
|
|
padding: var(--size-4-2);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event.timeline-event-grouped {
|
|
margin-bottom: var(--size-4-2);
|
|
padding: var(--size-4-2);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
background-color: var(--background-primary);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event.timeline-event-grouped:last-child {
|
|
margin-bottom: 0;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-date-only-section {
|
|
margin-top: var(--size-4-4);
|
|
padding-top: var(--size-4-3);
|
|
border-top: 2px dashed var(--background-modifier-border);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-date-only-section .timeline-event .timeline-event-time {
|
|
display: none !important;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-date-only-header {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-4-3);
|
|
margin-bottom: var(--size-4-3);
|
|
padding: var(--size-4-2) var(--size-4-3);
|
|
background-color: var(--background-modifier-hover);
|
|
border-radius: var(--radius-s);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-date-only-title {
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-muted);
|
|
font-weight: 500;
|
|
font-style: italic;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content {
|
|
flex: 1;
|
|
display: flex;
|
|
align-items: flex-start;
|
|
gap: var(--size-4-2);
|
|
min-width: 0;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-checkbox {
|
|
display: flex;
|
|
align-items: center;
|
|
margin-top: 2px;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-checkbox input[type=checkbox] {
|
|
margin: 0;
|
|
cursor: pointer;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-text {
|
|
flex: 1;
|
|
font-size: var(--font-ui-small);
|
|
line-height: 1.4;
|
|
word-wrap: break-word;
|
|
color: var(--text-normal);
|
|
display: flex;
|
|
align-items: flex-start;
|
|
gap: var(--size-4-2);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-icon {
|
|
font-size: var(--font-ui-medium);
|
|
flex-shrink: 0;
|
|
margin-top: 1px;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text {
|
|
flex: 1;
|
|
word-break: break-word;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-actions {
|
|
display: flex;
|
|
gap: var(--size-4-1);
|
|
opacity: 0;
|
|
transition: opacity 0.2s ease;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event:hover .timeline-event-actions {
|
|
opacity: 1;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-action {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: var(--size-4-6);
|
|
height: var(--size-4-6);
|
|
border-radius: var(--radius-s);
|
|
cursor: pointer;
|
|
color: var(--text-muted);
|
|
background-color: transparent;
|
|
transition: all 0.2s ease;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-action:hover {
|
|
color: var(--text-normal);
|
|
background-color: var(--background-modifier-border);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-quick-input {
|
|
flex-shrink: 0;
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
background-color: var(--background-secondary);
|
|
padding: var(--size-4-4);
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-3);
|
|
padding-bottom: var(--size-4-12);
|
|
position: relative;
|
|
transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
overflow: hidden;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-quick-input.is-collapsed {
|
|
padding: 0;
|
|
gap: 0;
|
|
height: auto;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-quick-input.is-collapsed .quick-input-header,
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-quick-input.is-collapsed .quick-input-editor,
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-quick-input.is-collapsed .quick-input-actions {
|
|
display: none;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-quick-input.is-collapsing {
|
|
overflow: hidden;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-quick-input.is-expanding {
|
|
overflow: hidden;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .quick-input-header-collapsed {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
padding: var(--size-4-3) var(--size-4-4);
|
|
background-color: var(--background-secondary);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
cursor: pointer;
|
|
transition: background-color 200ms ease;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .quick-input-header-collapsed:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .collapsed-expand-btn {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: var(--size-4-6);
|
|
height: var(--size-4-6);
|
|
border-radius: var(--radius-s);
|
|
color: var(--text-muted);
|
|
transition: all 200ms ease;
|
|
cursor: pointer;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .collapsed-expand-btn:hover {
|
|
color: var(--text-normal);
|
|
background-color: var(--background-modifier-border);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .collapsed-title {
|
|
flex: 1;
|
|
font-weight: 600;
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-normal);
|
|
margin-left: var(--size-4-2);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .collapsed-quick-actions {
|
|
display: flex;
|
|
gap: var(--size-4-2);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .collapsed-quick-capture,
|
|
div[data-type^=tg-timeline-sidebar-view] .collapsed-more-options {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: var(--size-4-7);
|
|
height: var(--size-4-7);
|
|
border-radius: var(--radius-s);
|
|
color: var(--text-muted);
|
|
cursor: pointer;
|
|
transition: all 200ms ease;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .collapsed-quick-capture:hover,
|
|
div[data-type^=tg-timeline-sidebar-view] .collapsed-more-options:hover {
|
|
color: var(--text-normal);
|
|
background-color: var(--background-modifier-border);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .collapsed-quick-capture:hover {
|
|
color: var(--interactive-accent);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .quick-input-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: flex-start;
|
|
gap: var(--size-4-2);
|
|
margin-bottom: var(--size-4-2);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .quick-input-header-left {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-4-2);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .quick-input-collapse-btn {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: var(--size-4-6);
|
|
height: var(--size-4-6);
|
|
border-radius: var(--radius-s);
|
|
color: var(--text-muted);
|
|
cursor: pointer;
|
|
transition: all 200ms ease;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .quick-input-collapse-btn:hover {
|
|
color: var(--text-normal);
|
|
background-color: var(--background-modifier-border);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .quick-input-collapse-btn svg {
|
|
transition: transform 200ms ease;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-quick-input.is-collapsed .quick-input-collapse-btn svg {
|
|
transform: rotate(-90deg);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .quick-input-title {
|
|
font-weight: 600;
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-normal);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .quick-input-target-info {
|
|
font-size: var(--font-ui-smaller);
|
|
color: var(--text-muted);
|
|
font-style: italic;
|
|
padding: var(--size-4-1) var(--size-4-2);
|
|
background-color: var(--background-modifier-hover);
|
|
border-radius: var(--radius-s);
|
|
word-break: break-all;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .quick-input-editor {
|
|
min-height: 80px;
|
|
border: 2px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-m);
|
|
background-color: var(--background-primary);
|
|
padding: var(--size-4-3);
|
|
font-family: var(--font-text);
|
|
font-size: var(--font-ui-small);
|
|
resize: vertical;
|
|
transition: all 0.3s ease;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .quick-input-editor:focus-within {
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 0 0 2px rgba(var(--interactive-accent-rgb), 0.2);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .quick-input-editor .cm-editor {
|
|
background-color: transparent;
|
|
border: none;
|
|
outline: none;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .quick-input-editor .cm-focused {
|
|
outline: none;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .quick-input-editor .cm-editor.cm-focused {
|
|
outline: none;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .quick-input-actions {
|
|
display: flex;
|
|
gap: var(--size-4-2);
|
|
justify-content: flex-end;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .quick-capture-btn,
|
|
div[data-type^=tg-timeline-sidebar-view] .quick-modal-btn {
|
|
padding: var(--size-4-3) var(--size-4-6);
|
|
border-radius: var(--radius-m);
|
|
font-size: var(--font-ui-small);
|
|
font-weight: 500;
|
|
cursor: pointer;
|
|
border: none;
|
|
transition: all 0.3s ease;
|
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .quick-capture-btn {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .quick-capture-btn:hover {
|
|
background-color: var(--interactive-accent-hover);
|
|
transform: translateY(-1px);
|
|
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .quick-modal-btn {
|
|
background-color: var(--background-modifier-border);
|
|
color: var(--text-normal);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .quick-modal-btn:hover {
|
|
background-color: var(--background-modifier-border-hover);
|
|
transform: translateY(-1px);
|
|
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
|
|
}
|
|
@media (max-width: 768px) {
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-header {
|
|
padding: var(--size-4-2) var(--size-4-3);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-controls {
|
|
gap: var(--size-4-1);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-btn {
|
|
width: var(--size-4-7);
|
|
height: var(--size-4-7);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-events-list {
|
|
padding: 0 var(--size-2-3);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event {
|
|
padding: var(--size-4-2);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-quick-input {
|
|
padding: var(--size-4-3);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-quick-input.is-collapsed {
|
|
padding: 0;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .quick-input-editor {
|
|
min-height: 60px;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .quick-input-header-collapsed {
|
|
padding: var(--size-4-2) var(--size-4-3);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .collapsed-quick-capture,
|
|
div[data-type^=tg-timeline-sidebar-view] .collapsed-more-options {
|
|
width: var(--size-4-6);
|
|
height: var(--size-4-6);
|
|
}
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-content::-webkit-scrollbar {
|
|
width: 6px;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-content::-webkit-scrollbar-track {
|
|
background-color: var(--background-secondary);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-content::-webkit-scrollbar-thumb {
|
|
background-color: var(--background-modifier-border);
|
|
border-radius: 3px;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-content::-webkit-scrollbar-thumb:hover {
|
|
background-color: var(--background-modifier-border-hover);
|
|
}
|
|
@keyframes fadeIn {
|
|
from {
|
|
opacity: 0;
|
|
transform: translateY(10px);
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
}
|
|
@keyframes subtle-pulse {
|
|
0%, 100% {
|
|
box-shadow: 0 0 0 0 rgba(var(--interactive-accent-rgb), 0.4);
|
|
}
|
|
50% {
|
|
box-shadow: 0 0 0 4px rgba(var(--interactive-accent-rgb), 0.1);
|
|
}
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-content.focus-mode {
|
|
position: relative;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-content.focus-mode::before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
background:
|
|
linear-gradient(
|
|
to bottom,
|
|
rgba(var(--background-primary-rgb), 0.9) 0%,
|
|
rgba(var(--background-primary-rgb), 0.7) 50%,
|
|
rgba(var(--background-primary-rgb), 0.9) 100%);
|
|
pointer-events: none;
|
|
z-index: 0;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-content.focus-mode .timeline-date-group.is-today {
|
|
position: relative;
|
|
z-index: 1;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block {
|
|
margin: 0;
|
|
padding: 0;
|
|
font-size: inherit;
|
|
line-height: inherit;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block p {
|
|
margin: 0;
|
|
padding: 0;
|
|
font-size: inherit;
|
|
line-height: inherit;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block strong,
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block em,
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block code {
|
|
font-size: inherit;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block a {
|
|
color: var(--link-color);
|
|
text-decoration: none;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block a:hover {
|
|
text-decoration: underline;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block ul,
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block ol {
|
|
margin: 0;
|
|
padding-left: var(--size-4-4);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block li {
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
|
|
/* src/styles/reward.css */
|
|
.reward-modal-content {
|
|
text-align: center;
|
|
}
|
|
.reward-modal .modal-title {
|
|
text-align: center;
|
|
}
|
|
.reward-name {
|
|
font-size: 1.2em;
|
|
font-weight: bold;
|
|
margin-bottom: 15px;
|
|
}
|
|
.reward-image-container {
|
|
margin-bottom: 20px;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
}
|
|
.reward-image {
|
|
max-width: 80%;
|
|
max-height: 300px;
|
|
border-radius: 8px;
|
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
|
}
|
|
.reward-image-error {
|
|
font-style: italic;
|
|
color: var(--text-muted);
|
|
}
|
|
.reward-spacer {
|
|
height: 20px;
|
|
}
|
|
.task-genius-reward-modal .setting-item-control {
|
|
display: flex;
|
|
justify-content: center;
|
|
gap: 10px;
|
|
}
|
|
|
|
/* src/styles/task-gutter.css */
|
|
.markdown-source-view.mod-cm6 .cm-gutters.task-gutter {
|
|
margin-inline-end: 0 !important;
|
|
margin-inline-start: var(--file-folding-offset);
|
|
}
|
|
.is-mobile .markdown-source-view.mod-cm6 .cm-gutters.task-gutter {
|
|
margin-inline-start: 0 !important;
|
|
}
|
|
.task-details-popover.tg-menu {
|
|
z-index: 20;
|
|
position: fixed;
|
|
background-color: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
padding: var(--size-4-3);
|
|
box-shadow: var(--shadow-l);
|
|
}
|
|
.task-gutter {
|
|
width: 26px;
|
|
}
|
|
.task-gutter-marker {
|
|
cursor: pointer;
|
|
font-size: var(--font-smaller);
|
|
opacity: 0.1;
|
|
transition: opacity 0.2s ease;
|
|
}
|
|
.task-gutter-marker:hover {
|
|
opacity: 1;
|
|
}
|
|
.task-popover-content {
|
|
padding: var(--size-4-3);
|
|
max-width: 300px;
|
|
max-height: 400px;
|
|
overflow: auto;
|
|
}
|
|
.task-metadata-editor {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-2);
|
|
padding: var(--size-2-2);
|
|
height: 100%;
|
|
}
|
|
.field-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
margin-bottom: var(--size-2-2);
|
|
}
|
|
.field-label {
|
|
font-size: var(--font-smallest);
|
|
font-weight: var(--font-bold);
|
|
margin-bottom: var(--size-2-1);
|
|
color: var(--text-muted);
|
|
}
|
|
.action-buttons {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
margin-top: var(--size-4-2);
|
|
gap: var(--size-4-2);
|
|
}
|
|
.action-button {
|
|
padding: var(--size-2-2) var(--size-4-2);
|
|
font-size: var(--font-smallest);
|
|
border-radius: var(--radius-s);
|
|
cursor: pointer;
|
|
}
|
|
.task-gutter-marker.clickable-icon {
|
|
width: 24px;
|
|
padding: var(--size-2-1);
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
}
|
|
.task-details-popover .tabs-main-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
width: 100%;
|
|
}
|
|
.task-details-popover .tabs-navigation {
|
|
display: flex;
|
|
margin-bottom: var(--size-4-2);
|
|
gap: var(--size-4-2);
|
|
}
|
|
.task-details-popover .tab-button {
|
|
padding: var(--size-2-2) var(--size-4-2);
|
|
cursor: pointer;
|
|
border: none;
|
|
background: none;
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-muted);
|
|
margin-bottom: -1px;
|
|
transition: color 0.2s ease, border-color 0.2s ease;
|
|
}
|
|
.task-details-popover .tab-button:hover {
|
|
color: var(--text-normal);
|
|
}
|
|
.task-details-popover .tab-button.active {
|
|
color: var(--text-on-accent);
|
|
font-weight: var(--font-bold);
|
|
background-color: var(--interactive-accent);
|
|
}
|
|
.task-details-popover .tab-pane {
|
|
display: none;
|
|
flex-direction: column;
|
|
gap: var(--size-4-2);
|
|
}
|
|
.task-details-popover .tab-pane.active {
|
|
display: flex;
|
|
}
|
|
.task-details-popover .details-status-selector,
|
|
.task-status-editor .details-status-selector {
|
|
display: flex;
|
|
flex-direction: row;
|
|
justify-content: space-between;
|
|
margin-bottom: var(--size-4-2);
|
|
margin-top: var(--size-4-2);
|
|
}
|
|
.task-details-popover .quick-capture-status-selector,
|
|
.task-status-editor .quick-capture-status-selector {
|
|
display: flex;
|
|
flex-direction: row;
|
|
justify-content: space-between;
|
|
gap: var(--size-4-3);
|
|
}
|
|
.task-details-popover .quick-capture-status-selector-label,
|
|
.task-status-editor .quick-capture-status-selector-label {
|
|
display: none;
|
|
}
|
|
.modal-content.task-metadata-editor {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-2);
|
|
}
|
|
.metadata-full-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-2);
|
|
}
|
|
.metadata-full-container .dates-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-2);
|
|
}
|
|
|
|
/* src/styles/fluent/fluent-main.css */
|
|
.task-genius-fluent-view {
|
|
height: 100%;
|
|
overflow: hidden;
|
|
padding: 0;
|
|
}
|
|
.tg-fluent-container {
|
|
height: 100%;
|
|
display: flex;
|
|
flex-direction: row;
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
}
|
|
.view-content.task-genius-fluent-view {
|
|
padding: 0;
|
|
}
|
|
.tg-fluent-layout {
|
|
display: flex;
|
|
height: 100%;
|
|
width: 100%;
|
|
overflow: hidden;
|
|
}
|
|
.tg-fluent-sidebar-container {
|
|
width: 260px;
|
|
min-width: 200px;
|
|
max-width: 400px;
|
|
background-color: var(--background-secondary);
|
|
border-right: 1px solid var(--background-modifier-border);
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: hidden;
|
|
}
|
|
.fluent-sidebar {
|
|
height: 100%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
.fluent-sidebar-header {
|
|
padding: 12px;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
}
|
|
.workspace-selector-button {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
width: 100%;
|
|
padding: 8px;
|
|
background: transparent;
|
|
border: none;
|
|
border-radius: 6px;
|
|
cursor: pointer;
|
|
transition: background-color 0.15s;
|
|
}
|
|
.workspace-selector-button:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.workspace-info {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
}
|
|
.workspace-icon {
|
|
width: 32px;
|
|
height: 32px;
|
|
border-radius: 8px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
color: white;
|
|
}
|
|
.workspace-icon svg {
|
|
width: 16px;
|
|
height: 16px;
|
|
}
|
|
.workspace-details {
|
|
text-align: left;
|
|
}
|
|
.workspace-name {
|
|
font-weight: 500;
|
|
color: var(--text-normal);
|
|
}
|
|
.workspace-label {
|
|
font-size: 12px;
|
|
color: var(--text-muted);
|
|
}
|
|
.workspace-dropdown-icon {
|
|
color: var(--text-muted);
|
|
}
|
|
.fluent-new-task-btn {
|
|
width: 100%;
|
|
margin-top: 12px;
|
|
padding: 10px;
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border: none;
|
|
border-radius: 6px;
|
|
font-weight: 500;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 8px;
|
|
cursor: pointer;
|
|
transition: background-color 0.15s;
|
|
}
|
|
.fluent-new-task-btn:hover {
|
|
background-color: var(--interactive-accent-hover);
|
|
}
|
|
.fluent-new-task-icon {
|
|
display: flex;
|
|
}
|
|
.fluent-sidebar-content {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
padding: 8px 0;
|
|
--icon-size: 16px;
|
|
}
|
|
.fluent-sidebar-section {
|
|
padding: 8px 0;
|
|
}
|
|
.fluent-sidebar-section + .fluent-sidebar-section {
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
}
|
|
.fluent-section-header {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
padding: 4px 16px;
|
|
margin-bottom: 4px;
|
|
}
|
|
.fluent-section-header span {
|
|
font-size: 12px;
|
|
font-weight: 600;
|
|
text-transform: uppercase;
|
|
color: var(--text-muted);
|
|
}
|
|
.fluent-project-header-buttons {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
}
|
|
.fluent-add-project-btn,
|
|
.fluent-sort-project-btn,
|
|
.fluent-tree-toggle-btn {
|
|
cursor: pointer;
|
|
color: var(--text-muted);
|
|
transition: color 0.15s;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 20px;
|
|
height: 20px;
|
|
}
|
|
.fluent-add-project-btn:hover,
|
|
.fluent-sort-project-btn:hover,
|
|
.fluent-tree-toggle-btn:hover {
|
|
color: var(--text-normal);
|
|
}
|
|
.fluent-navigation-list {
|
|
padding: 0 8px;
|
|
}
|
|
.fluent-navigation-item {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
padding: 6px 8px;
|
|
border-radius: 4px;
|
|
cursor: pointer;
|
|
transition: background-color 0.15s;
|
|
position: relative;
|
|
}
|
|
.fluent-navigation-item:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.fluent-navigation-item.is-active {
|
|
background-color: var(--background-modifier-active-hover);
|
|
}
|
|
.fluent-navigation-icon {
|
|
width: 20px;
|
|
height: 20px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
color: var(--text-muted);
|
|
}
|
|
.fluent-navigation-item.is-active .fluent-navigation-icon {
|
|
color: var(--text-normal);
|
|
}
|
|
.fluent-navigation-label {
|
|
flex: 1;
|
|
font-size: 14px;
|
|
color: var(--text-normal);
|
|
}
|
|
.fluent-navigation-badge {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
font-size: 11px;
|
|
font-weight: 600;
|
|
padding: 2px 6px;
|
|
border-radius: 10px;
|
|
min-width: 18px;
|
|
text-align: center;
|
|
}
|
|
.fluent-project-scroll {
|
|
max-height: 300px;
|
|
overflow-y: auto;
|
|
padding: 0 8px;
|
|
}
|
|
.fluent-project-item {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
padding: 6px 8px;
|
|
border-radius: 4px;
|
|
cursor: pointer;
|
|
transition: background-color 0.15s;
|
|
}
|
|
.fluent-project-item:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.fluent-project-item.is-active {
|
|
background-color: var(--background-modifier-active-hover);
|
|
}
|
|
.fluent-project-color {
|
|
width: 12px;
|
|
height: 12px;
|
|
border-radius: 3px;
|
|
flex-shrink: 0;
|
|
}
|
|
.fluent-project-color-dashed {
|
|
width: 12px;
|
|
height: 12px;
|
|
border: 1.5px dashed var(--text-muted);
|
|
border-radius: 3px;
|
|
}
|
|
.fluent-project-name {
|
|
flex: 1;
|
|
font-size: 14px;
|
|
color: var(--text-normal);
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
.fluent-add-project .fluent-project-name {
|
|
color: var(--text-muted);
|
|
}
|
|
.fluent-project-count {
|
|
font-size: 12px;
|
|
color: var(--text-muted);
|
|
}
|
|
.fluent-project-list.is-tree-view .fluent-project-item {
|
|
transition: all 0.15s ease;
|
|
}
|
|
.fluent-project-chevron {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 16px;
|
|
height: 16px;
|
|
margin-right: 4px;
|
|
cursor: pointer;
|
|
color: var(--text-muted);
|
|
transition: transform 0.15s ease;
|
|
flex-shrink: 0;
|
|
}
|
|
.fluent-project-chevron:hover {
|
|
color: var(--text-normal);
|
|
}
|
|
.fluent-project-chevron svg {
|
|
width: 12px;
|
|
height: 12px;
|
|
}
|
|
.fluent-project-chevron-spacer {
|
|
width: 16px;
|
|
height: 16px;
|
|
margin-right: 4px;
|
|
flex-shrink: 0;
|
|
}
|
|
.fluent-project-list.is-tree-view .fluent-project-item[data-level="1"] {
|
|
padding-left: 28px;
|
|
}
|
|
.fluent-project-list.is-tree-view .fluent-project-item[data-level="2"] {
|
|
padding-left: 48px;
|
|
}
|
|
.fluent-project-list.is-tree-view .fluent-project-item[data-level="3"] {
|
|
padding-left: 68px;
|
|
}
|
|
.fluent-project-list.is-tree-view .fluent-project-item::before {
|
|
content: "";
|
|
position: absolute;
|
|
left: 8px;
|
|
top: 0;
|
|
bottom: 0;
|
|
width: 1px;
|
|
background: var(--background-modifier-border);
|
|
opacity: 0;
|
|
transition: opacity 0.15s;
|
|
}
|
|
.fluent-project-list.is-tree-view .fluent-project-item[data-level]:not([data-level="0"]):hover::before {
|
|
opacity: 0.3;
|
|
}
|
|
.fluent-project-item.is-virtual .fluent-project-name {
|
|
font-style: italic;
|
|
opacity: 0.85;
|
|
}
|
|
.fluent-project-item.is-virtual .fluent-project-color {
|
|
opacity: 0.6;
|
|
}
|
|
.fluent-project-item.is-virtual:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.tg-fluent-main-container {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: hidden;
|
|
}
|
|
.tg-fluent-top-nav {
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
background-color: var(--background-primary);
|
|
}
|
|
.fluent-top-navigation {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
height: 56px;
|
|
padding: 0 20px;
|
|
gap: 20px;
|
|
}
|
|
.fluent-nav-left {
|
|
flex: 0 1 400px;
|
|
}
|
|
.fluent-search-container {
|
|
position: relative;
|
|
display: flex;
|
|
align-items: center;
|
|
max-width: 400px;
|
|
flex: 1;
|
|
}
|
|
.fluent-nav-center {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
}
|
|
.fluent-view-tabs {
|
|
display: flex;
|
|
background-color: var(--background-secondary);
|
|
border-radius: 6px;
|
|
padding: 2px;
|
|
}
|
|
.fluent-view-tab {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
padding: 6px 12px;
|
|
background: none;
|
|
border: none;
|
|
border-radius: 4px;
|
|
font-size: 14px;
|
|
color: var(--text-muted);
|
|
cursor: pointer;
|
|
transition: all 0.15s;
|
|
}
|
|
.fluent-view-tab:hover {
|
|
color: var(--text-normal);
|
|
}
|
|
.fluent-view-tab.is-active {
|
|
background-color: var(--background-primary);
|
|
color: var(--text-normal);
|
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
|
|
}
|
|
.fluent-view-tab-icon {
|
|
width: 16px;
|
|
height: 16px;
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
.fluent-nav-separator {
|
|
width: 1px;
|
|
height: 24px;
|
|
background-color: var(--background-modifier-border);
|
|
}
|
|
.fluent-nav-button {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
padding: 6px 12px;
|
|
background: none;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 6px;
|
|
font-size: 14px;
|
|
color: var(--text-normal);
|
|
cursor: pointer;
|
|
transition: all 0.15s;
|
|
}
|
|
.fluent-nav-button:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.fluent-nav-button-icon {
|
|
width: 16px;
|
|
height: 16px;
|
|
display: flex;
|
|
}
|
|
.fluent-nav-right {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
}
|
|
.fluent-nav-icon-button {
|
|
position: relative;
|
|
width: 36px;
|
|
height: 36px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
border-radius: 6px;
|
|
color: var(--text-muted);
|
|
cursor: pointer;
|
|
transition: all 0.15s;
|
|
}
|
|
.fluent-nav-icon-button:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.fluent-notification-badge {
|
|
position: absolute;
|
|
top: -2px;
|
|
right: -2px;
|
|
background-color: var(--text-error);
|
|
color: white;
|
|
font-size: 10px;
|
|
font-weight: 600;
|
|
padding: 2px 5px;
|
|
border-radius: 10px;
|
|
min-width: 16px;
|
|
text-align: center;
|
|
}
|
|
.tg-fluent-content {
|
|
flex: 1;
|
|
overflow: auto;
|
|
}
|
|
.bases-view .tg-kanban-filters,
|
|
.tg-fluent-content .content-header,
|
|
.tg-fluent-content .tg-kanban-filters {
|
|
display: none;
|
|
}
|
|
.tg-fluent-list-view,
|
|
.tg-fluent-kanban-view,
|
|
.tg-fluent-tree-view,
|
|
.tg-fluent-calendar-view {
|
|
height: 100%;
|
|
}
|
|
@media (max-width: 768px) {
|
|
.tg-fluent-sidebar-container:not(.is-mobile-drawer) {
|
|
width: 200px;
|
|
}
|
|
.fluent-nav-center {
|
|
display: none;
|
|
}
|
|
.fluent-search-container {
|
|
flex: 1;
|
|
}
|
|
.fluent-nav-left .search-input-container {
|
|
width: 300px;
|
|
}
|
|
}
|
|
@media (max-width: 480px) {
|
|
.tg-fluent-sidebar-container.is-mobile-drawer {
|
|
width: 75vw !important;
|
|
max-width: 320px !important;
|
|
}
|
|
.fluent-hamburger-button {
|
|
width: 44px;
|
|
height: 44px;
|
|
}
|
|
.fluent-top-navigation {
|
|
padding: 0 12px;
|
|
}
|
|
.fluent-view-tabs {
|
|
display: none;
|
|
}
|
|
.fluent-search-container {
|
|
flex: 1;
|
|
max-width: calc(100vw - 180px);
|
|
}
|
|
}
|
|
.tg-fluent-sidebar-container {
|
|
transition:
|
|
width 0.2s ease,
|
|
min-width 0.2s ease,
|
|
max-width 0.2s ease;
|
|
}
|
|
.tg-fluent-sidebar-container.is-collapsed,
|
|
.fluent-sidebar-collapsed .tg-fluent-sidebar-container {
|
|
width: 44px;
|
|
min-width: 44px;
|
|
max-width: 44px;
|
|
}
|
|
.fluent-sidebar-rail {
|
|
height: 100%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
gap: 8px;
|
|
padding: 8px 4px;
|
|
}
|
|
.fluent-rail-btn {
|
|
width: 36px;
|
|
height: 36px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
border-radius: var(--radius-s);
|
|
color: var(--text-muted);
|
|
cursor: pointer;
|
|
transition: background-color 0.15s ease, color 0.15s ease;
|
|
}
|
|
.fluent-rail-btn:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.fluent-rail-btn svg {
|
|
width: 16px;
|
|
height: 16px;
|
|
}
|
|
.fluent-rail-btn.is-active {
|
|
background-color: var(--background-modifier-active-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.tg-beta {
|
|
position: relative;
|
|
}
|
|
.tg-beta::after {
|
|
content: "beta";
|
|
font-size: 0.44em;
|
|
background: var(--color-accent);
|
|
color: var(--text-on-accent-inverted);
|
|
padding-left: 2px;
|
|
padding-right: 2px;
|
|
font-weight: bold;
|
|
margin-left: 4px;
|
|
position: absolute;
|
|
top: -1px;
|
|
right: -2px;
|
|
border-radius: 2px;
|
|
text-transform: uppercase;
|
|
padding-top: 1px;
|
|
}
|
|
.drawer-overlay {
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
background-color: rgba(0, 0, 0, 0.5);
|
|
z-index: 999;
|
|
opacity: 0;
|
|
transition: opacity 0.3s ease;
|
|
pointer-events: none;
|
|
}
|
|
.drawer-open .drawer-overlay {
|
|
opacity: 1;
|
|
pointer-events: auto;
|
|
}
|
|
.tg-fluent-sidebar-container.is-mobile-drawer {
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
bottom: 0;
|
|
width: 280px !important;
|
|
max-width: 85vw !important;
|
|
min-width: 280px !important;
|
|
z-index: 1000;
|
|
transform: translateX(-100%);
|
|
transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|
box-shadow: 4px 0 20px rgba(0, 0, 0, 0.15);
|
|
}
|
|
.drawer-open .tg-fluent-sidebar-container.is-mobile-drawer {
|
|
transform: translateX(0);
|
|
}
|
|
.tg-fluent-sidebar-container.is-mobile-drawer .fluent-sidebar.is-collapsed {
|
|
display: flex;
|
|
width: 100%;
|
|
}
|
|
.tg-fluent-sidebar-container.is-mobile-drawer .fluent-sidebar-rail {
|
|
display: none;
|
|
}
|
|
.is-mobile .fluent-sidebar {
|
|
width: 100%;
|
|
overflow-y: auto;
|
|
overflow-x: hidden;
|
|
}
|
|
.is-mobile .fluent-sidebar-header {
|
|
padding: 16px;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
}
|
|
.is-mobile .fluent-sidebar-content {
|
|
overflow-y: auto;
|
|
max-height: calc(100vh - 150px);
|
|
}
|
|
.is-mobile .fluent-sidebar-section {
|
|
display: block !important;
|
|
visibility: visible !important;
|
|
}
|
|
.is-mobile .fluent-section-header {
|
|
display: flex !important;
|
|
visibility: visible !important;
|
|
}
|
|
.is-mobile .fluent-navigation-item,
|
|
.is-mobile .fluent-project-item {
|
|
padding: 10px 16px;
|
|
font-size: 15px;
|
|
}
|
|
.is-mobile .fluent-new-task-btn {
|
|
padding: 12px;
|
|
font-size: 15px;
|
|
}
|
|
.is-mobile .fluent-navigation-list {
|
|
display: flex;
|
|
justify-content: center;
|
|
}
|
|
.is-mobile span.fluent-navigation-label {
|
|
display: none;
|
|
}
|
|
.is-mobile .fluent-navigation-item,
|
|
.is-mobile .fluent-project-item,
|
|
.is-mobile .fluent-add-project {
|
|
min-height: 44px;
|
|
}
|
|
.drawer-open .tg-fluent-main-container {
|
|
pointer-events: none;
|
|
}
|
|
.fluent-hamburger-button {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 40px;
|
|
height: 40px;
|
|
border-radius: 4px;
|
|
color: var(--text-muted);
|
|
cursor: pointer;
|
|
transition: background-color 0.15s ease, color 0.15s ease;
|
|
margin-right: 8px;
|
|
flex-shrink: 0;
|
|
}
|
|
.fluent-hamburger-button:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.fluent-hamburger-button svg {
|
|
width: 20px;
|
|
height: 20px;
|
|
}
|
|
.fluent-nav-left {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
}
|
|
.tg-fluent-sidebar-container.is-mobile-drawer ~ .tg-fluent-main-container .sidebar-toggle {
|
|
display: none !important;
|
|
}
|
|
.tg-fluent-sidebar-container.is-mobile-drawer.drawer-right {
|
|
left: auto;
|
|
right: 0;
|
|
transform: translateX(100%);
|
|
box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);
|
|
}
|
|
.drawer-open .tg-fluent-sidebar-container.is-mobile-drawer.drawer-right {
|
|
transform: translateX(0);
|
|
}
|
|
.view-content:has(.tg-right-detail-view) {
|
|
padding-left: 0;
|
|
padding-right: 0;
|
|
padding-top: 0;
|
|
}
|
|
.tg-right-detail-view .task-details {
|
|
width: 100%;
|
|
}
|
|
@keyframes slideInFromLeft {
|
|
from {
|
|
transform: translateX(-100%);
|
|
opacity: 0.8;
|
|
}
|
|
to {
|
|
transform: translateX(0);
|
|
opacity: 1;
|
|
}
|
|
}
|
|
@keyframes slideInFromRight {
|
|
from {
|
|
transform: translateX(100%);
|
|
opacity: 0.8;
|
|
}
|
|
to {
|
|
transform: translateX(0);
|
|
opacity: 1;
|
|
}
|
|
}
|
|
.onboarding-shadow {
|
|
position: absolute;
|
|
background: hsl(var(--color-accent-hsl), 0);
|
|
border-radius: 24px;
|
|
rotate: 35deg;
|
|
width: 260px;
|
|
top: 200px;
|
|
height: 400px;
|
|
filter: blur(150px);
|
|
animation: shadow-slide infinite 4s linear alternate;
|
|
pointer-events: none;
|
|
}
|
|
@keyframes shadow-slide {
|
|
0% {
|
|
background: hsl(var(--color-accent-hsl), 0.2);
|
|
right: 360px;
|
|
}
|
|
to {
|
|
background: hsl(var(--color-accent-hsl), 0.8);
|
|
right: 160px;
|
|
}
|
|
}
|
|
|
|
/* src/styles/fluent/fluent-secondary.css */
|
|
:root {
|
|
--tg-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
|
|
--tg-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
|
|
--tg-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
|
|
--tg-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
|
|
--tg-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
|
|
--tg-transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
--tg-transition-base: 200ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
--tg-transition-slow: 300ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
--tg-radius-sm: 0.25rem;
|
|
--tg-radius: 0.375rem;
|
|
--tg-radius-md: 0.5rem;
|
|
--tg-radius-lg: 0.75rem;
|
|
--tg-radius-full: 9999px;
|
|
}
|
|
.task-list-container {
|
|
height: 100%;
|
|
overflow-y: auto;
|
|
padding: 1.5rem;
|
|
animation: fadeIn var(--tg-transition-base);
|
|
}
|
|
.task-list-wrapper {
|
|
max-width: 1200px;
|
|
margin: 0 auto;
|
|
}
|
|
.tg-task-list-item {
|
|
background: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--tg-radius-md);
|
|
margin-bottom: 0.75rem;
|
|
padding: 1rem 1.25rem;
|
|
transition: all var(--tg-transition-fast);
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
.task-list-item::before {
|
|
content: "";
|
|
position: absolute;
|
|
left: 0;
|
|
top: 0;
|
|
bottom: 0;
|
|
width: 3px;
|
|
background: transparent;
|
|
transition: background var(--tg-transition-fast);
|
|
}
|
|
.tg-task-list-item:hover {
|
|
box-shadow: var(--tg-shadow);
|
|
transform: translateY(-1px);
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
.tg-task-list-item:hover::before {
|
|
background: var(--interactive-accent);
|
|
}
|
|
.task-list-item.is-completed {
|
|
opacity: 0.6;
|
|
background: var(--background-secondary);
|
|
}
|
|
.task-list-item.is-overdue::before {
|
|
background: var(--text-error);
|
|
}
|
|
.task-list-empty {
|
|
text-align: center;
|
|
padding: 3rem 1.5rem;
|
|
color: var(--text-muted);
|
|
font-size: 0.9rem;
|
|
}
|
|
.task-tree-container {
|
|
height: 100%;
|
|
overflow-y: auto;
|
|
padding: 1.5rem;
|
|
animation: fadeIn var(--tg-transition-base);
|
|
}
|
|
.task-tree-wrapper {
|
|
max-width: 1200px;
|
|
margin: 0 auto;
|
|
}
|
|
.task-tree-project {
|
|
margin-bottom: 1.5rem;
|
|
background: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--tg-radius-lg);
|
|
overflow: hidden;
|
|
transition: all var(--tg-transition-base);
|
|
}
|
|
.task-tree-project:hover {
|
|
box-shadow: var(--tg-shadow-md);
|
|
}
|
|
.task-tree-project-header {
|
|
padding: 1rem 1.25rem;
|
|
background: var(--background-secondary);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
font-weight: 600;
|
|
font-size: 0.95rem;
|
|
color: var(--text-normal);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
cursor: pointer;
|
|
transition: background var(--tg-transition-fast);
|
|
}
|
|
.task-tree-project-header:hover {
|
|
background: var(--background-modifier-hover);
|
|
}
|
|
.task-tree-project-header::before {
|
|
content: "\25b6";
|
|
display: inline-block;
|
|
margin-right: 0.5rem;
|
|
transition: transform var(--tg-transition-fast);
|
|
font-size: 0.75rem;
|
|
}
|
|
.task-tree-project.is-expanded .task-tree-project-header::before {
|
|
transform: rotate(90deg);
|
|
}
|
|
.task-tree-tasks {
|
|
padding: 0.5rem;
|
|
}
|
|
.task-tree-item {
|
|
padding: 0.75rem 1rem;
|
|
margin: 0.25rem;
|
|
border-radius: var(--tg-radius);
|
|
transition: all var(--tg-transition-fast);
|
|
position: relative;
|
|
padding-left: 2rem;
|
|
}
|
|
.task-tree-item::before {
|
|
content: "";
|
|
position: absolute;
|
|
left: 1rem;
|
|
top: 50%;
|
|
transform: translateY(-50%);
|
|
width: 4px;
|
|
height: 4px;
|
|
background: var(--text-muted);
|
|
border-radius: var(--tg-radius-full);
|
|
}
|
|
.task-tree-item:hover {
|
|
background: var(--background-modifier-hover);
|
|
}
|
|
.task-tree-empty {
|
|
text-align: center;
|
|
padding: 3rem 1.5rem;
|
|
color: var(--text-muted);
|
|
font-size: 0.9rem;
|
|
}
|
|
.tg-fluent-filter-panel {
|
|
position: fixed;
|
|
right: -380px;
|
|
top: 0;
|
|
bottom: 0;
|
|
width: 380px;
|
|
background: var(--background-primary);
|
|
border-left: 1px solid var(--background-modifier-border);
|
|
box-shadow: var(--tg-shadow-xl);
|
|
transition: right var(--tg-transition-slow);
|
|
z-index: 1000;
|
|
overflow-y: auto;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
.tg-fluent-filter-panel.is-open {
|
|
right: 0;
|
|
}
|
|
.filter-panel-header {
|
|
padding: 1.25rem;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
}
|
|
.filter-panel-title {
|
|
font-size: 1.1rem;
|
|
font-weight: 600;
|
|
color: var(--text-normal);
|
|
}
|
|
.filter-panel-close {
|
|
width: 32px;
|
|
height: 32px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
border-radius: var(--tg-radius);
|
|
cursor: pointer;
|
|
transition: background var(--tg-transition-fast);
|
|
color: var(--text-muted);
|
|
}
|
|
.filter-panel-close:hover {
|
|
background: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.filter-panel-content {
|
|
padding: 1.25rem;
|
|
}
|
|
.filter-group {
|
|
margin-bottom: 1.5rem;
|
|
}
|
|
.filter-group-label {
|
|
font-size: 0.875rem;
|
|
font-weight: 500;
|
|
color: var(--text-muted);
|
|
margin-bottom: 0.5rem;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.025em;
|
|
}
|
|
.filter-options {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.5rem;
|
|
}
|
|
.filter-option {
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 0.5rem 0.75rem;
|
|
border-radius: var(--tg-radius);
|
|
cursor: pointer;
|
|
transition: background var(--tg-transition-fast);
|
|
}
|
|
.filter-option:hover {
|
|
background: var(--background-modifier-hover);
|
|
}
|
|
.filter-option.is-selected {
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.filter-checkbox {
|
|
margin-right: 0.75rem;
|
|
}
|
|
.filter-select {
|
|
width: 100%;
|
|
padding: 0.5rem 0.75rem;
|
|
background: var(--background-modifier-form-field);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--tg-radius);
|
|
color: var(--text-normal);
|
|
font-size: 0.875rem;
|
|
transition: all var(--tg-transition-fast);
|
|
cursor: pointer;
|
|
}
|
|
.filter-select:hover {
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
.filter-select:focus {
|
|
outline: none;
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 0 0 2px var(--interactive-accent-hover);
|
|
}
|
|
.filter-tags-container {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 0.5rem;
|
|
padding: 0.5rem 0;
|
|
}
|
|
.filter-tag {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
padding: 0.375rem 0.75rem;
|
|
background: var(--background-secondary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--tg-radius-full);
|
|
font-size: 0.875rem;
|
|
cursor: pointer;
|
|
transition: all var(--tg-transition-fast);
|
|
}
|
|
.filter-tag:hover {
|
|
background: var(--background-modifier-hover);
|
|
}
|
|
.filter-tag.is-selected {
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
.filter-date-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.75rem;
|
|
}
|
|
.filter-date-field {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
}
|
|
.filter-date-field span {
|
|
min-width: 50px;
|
|
font-size: 0.875rem;
|
|
color: var(--text-muted);
|
|
}
|
|
.filter-date-input {
|
|
flex: 1;
|
|
padding: 0.5rem 0.75rem;
|
|
background: var(--background-modifier-form-field);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--tg-radius);
|
|
color: var(--text-normal);
|
|
font-size: 0.875rem;
|
|
transition: all var(--tg-transition-fast);
|
|
}
|
|
.filter-date-input:hover {
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
.filter-date-input:focus {
|
|
outline: none;
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
.filter-action-buttons {
|
|
display: flex;
|
|
gap: 0.75rem;
|
|
margin-top: 1.5rem;
|
|
padding-top: 1.5rem;
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
}
|
|
.filter-action-buttons button {
|
|
flex: 1;
|
|
}
|
|
.priority-color-dot {
|
|
width: 12px;
|
|
height: 12px;
|
|
border-radius: var(--tg-radius-full);
|
|
flex-shrink: 0;
|
|
}
|
|
.tg-fluent-loading {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
height: 100%;
|
|
gap: 1rem;
|
|
}
|
|
.tg-fluent-spinner {
|
|
width: 32px;
|
|
height: 32px;
|
|
border: 3px solid var(--background-modifier-border);
|
|
border-top-color: var(--interactive-accent);
|
|
border-radius: var(--tg-radius-full);
|
|
animation: spin 1s linear infinite;
|
|
}
|
|
@keyframes spin {
|
|
to {
|
|
transform: rotate(360deg);
|
|
}
|
|
}
|
|
.tg-fluent-loading-text {
|
|
color: var(--text-muted);
|
|
font-size: 0.9rem;
|
|
}
|
|
.tg-fluent-empty-state {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
height: 100%;
|
|
padding: 2rem;
|
|
text-align: center;
|
|
}
|
|
.tg-fluent-empty-icon {
|
|
width: 64px;
|
|
height: 64px;
|
|
margin-bottom: 1rem;
|
|
color: var(--text-muted);
|
|
opacity: 0.5;
|
|
}
|
|
.tg-fluent-empty-title {
|
|
font-size: 1.25rem;
|
|
font-weight: 600;
|
|
color: var(--text-normal);
|
|
margin-bottom: 0.5rem;
|
|
}
|
|
.tg-fluent-empty-description {
|
|
color: var(--text-muted);
|
|
margin-bottom: 1.5rem;
|
|
max-width: 400px;
|
|
}
|
|
.tg-fluent-empty-action {
|
|
padding: 0.75rem 1.5rem;
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border: none;
|
|
border-radius: var(--tg-radius-md);
|
|
font-weight: 500;
|
|
cursor: pointer;
|
|
transition: all var(--tg-transition-fast);
|
|
}
|
|
.tg-fluent-empty-action:hover {
|
|
background: var(--interactive-accent-hover);
|
|
transform: translateY(-1px);
|
|
box-shadow: var(--tg-shadow);
|
|
}
|
|
.tg-fluent-tooltip {
|
|
position: absolute;
|
|
background: var(--background-secondary);
|
|
color: var(--text-normal);
|
|
padding: 0.5rem 0.75rem;
|
|
border-radius: var(--tg-radius);
|
|
font-size: 0.875rem;
|
|
box-shadow: var(--tg-shadow-lg);
|
|
z-index: 9999;
|
|
pointer-events: none;
|
|
opacity: 0;
|
|
transform: translateY(4px);
|
|
transition: all var(--tg-transition-fast);
|
|
}
|
|
.tg-fluent-tooltip.is-visible {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
.tg-fluent-card {
|
|
background: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--tg-radius-lg);
|
|
padding: 1.25rem;
|
|
margin-bottom: 1rem;
|
|
transition: all var(--tg-transition-base);
|
|
}
|
|
.tg-fluent-card:hover {
|
|
box-shadow: var(--tg-shadow-md);
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
.tg-fluent-card-header {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
margin-bottom: 1rem;
|
|
padding-bottom: 0.75rem;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
}
|
|
.tg-fluent-card-title {
|
|
font-size: 1rem;
|
|
font-weight: 600;
|
|
color: var(--text-normal);
|
|
}
|
|
.tg-fluent-card-actions {
|
|
display: flex;
|
|
gap: 0.5rem;
|
|
}
|
|
.tg-fluent-card-action {
|
|
width: 28px;
|
|
height: 28px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
border-radius: var(--tg-radius);
|
|
cursor: pointer;
|
|
transition: all var(--tg-transition-fast);
|
|
color: var(--text-muted);
|
|
}
|
|
.tg-fluent-card-action:hover {
|
|
background: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.tg-fluent-button {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 0.5rem;
|
|
padding: 0.625rem 1.25rem;
|
|
font-size: 0.875rem;
|
|
font-weight: 500;
|
|
border-radius: var(--tg-radius-md);
|
|
border: none;
|
|
cursor: pointer;
|
|
transition: all var(--tg-transition-fast);
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
.tg-fluent-button::before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
width: 0;
|
|
height: 0;
|
|
border-radius: var(--tg-radius-full);
|
|
background: rgba(255, 255, 255, 0.2);
|
|
transform: translate(-50%, -50%);
|
|
transition: width var(--tg-transition-slow), height var(--tg-transition-slow);
|
|
}
|
|
.tg-fluent-button:active::before {
|
|
width: 300px;
|
|
height: 300px;
|
|
}
|
|
.tg-fluent-button-primary {
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.tg-fluent-button-primary:hover {
|
|
background: var(--interactive-accent-hover);
|
|
transform: translateY(-1px);
|
|
box-shadow: var(--tg-shadow);
|
|
}
|
|
.tg-fluent-button-secondary {
|
|
background: var(--background-secondary);
|
|
color: var(--text-normal);
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.tg-fluent-button-secondary:hover {
|
|
background: var(--background-modifier-hover);
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
.tg-fluent-button-ghost {
|
|
background: transparent;
|
|
color: var(--text-normal);
|
|
}
|
|
.tg-fluent-button-ghost:hover {
|
|
background: var(--background-modifier-hover);
|
|
}
|
|
.tg-fluent-button-danger {
|
|
background: var(--text-error);
|
|
color: white;
|
|
}
|
|
.tg-fluent-button-danger:hover {
|
|
background: #dc2626;
|
|
transform: translateY(-1px);
|
|
box-shadow: var(--tg-shadow);
|
|
}
|
|
@keyframes fadeIn {
|
|
from {
|
|
opacity: 0;
|
|
transform: translateY(4px);
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
}
|
|
@keyframes slideIn {
|
|
from {
|
|
transform: translateX(100%);
|
|
}
|
|
to {
|
|
transform: translateX(0);
|
|
}
|
|
}
|
|
@keyframes slideUp {
|
|
from {
|
|
transform: translateY(100%);
|
|
}
|
|
to {
|
|
transform: translateY(0);
|
|
}
|
|
}
|
|
@keyframes pulse {
|
|
0%, 100% {
|
|
opacity: 1;
|
|
}
|
|
50% {
|
|
opacity: 0.5;
|
|
}
|
|
}
|
|
@media (max-width: 1024px) {
|
|
.task-list-container,
|
|
.task-tree-container {
|
|
padding: 1rem;
|
|
}
|
|
.tg-fluent-filter-panel {
|
|
width: 100%;
|
|
right: -100%;
|
|
}
|
|
}
|
|
@media (max-width: 640px) {
|
|
.tg-task-list-item {
|
|
padding: 0.75rem 1rem;
|
|
}
|
|
.task-tree-project-header {
|
|
padding: 0.75rem 1rem;
|
|
}
|
|
.tg-fluent-card {
|
|
padding: 1rem;
|
|
}
|
|
}
|
|
.theme-dark {
|
|
--tg-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.3);
|
|
--tg-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.4), 0 1px 2px -1px rgb(0 0 0 / 0.3);
|
|
--tg-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.4), 0 2px 4px -2px rgb(0 0 0 / 0.3);
|
|
--tg-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.4), 0 4px 6px -4px rgb(0 0 0 / 0.3);
|
|
--tg-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.4), 0 8px 10px -6px rgb(0 0 0 / 0.3);
|
|
}
|
|
.theme-dark .tg-fluent-card:hover,
|
|
.theme-dark .tg-task-list-item:hover,
|
|
.theme-dark .task-tree-project:hover {
|
|
box-shadow: 0 0 0 1px var(--interactive-accent), var(--tg-shadow-md);
|
|
}
|
|
.tg-fluent-progress {
|
|
width: 100%;
|
|
height: 6px;
|
|
background: var(--background-modifier-border);
|
|
border-radius: var(--tg-radius-full);
|
|
overflow: hidden;
|
|
margin: 0.5rem 0;
|
|
}
|
|
.tg-fluent-progress-bar {
|
|
height: 100%;
|
|
background: var(--interactive-accent);
|
|
border-radius: var(--tg-radius-full);
|
|
transition: width var(--tg-transition-slow);
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
.tg-fluent-progress-bar::after {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
background:
|
|
linear-gradient(
|
|
90deg,
|
|
transparent,
|
|
rgba(255, 255, 255, 0.3),
|
|
transparent);
|
|
animation: shimmer 2s infinite;
|
|
}
|
|
@keyframes shimmer {
|
|
0% {
|
|
transform: translateX(-100%);
|
|
}
|
|
100% {
|
|
transform: translateX(100%);
|
|
}
|
|
}
|
|
.tg-fluent-tag {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
padding: 0.25rem 0.625rem;
|
|
font-size: 0.75rem;
|
|
font-weight: 500;
|
|
border-radius: var(--tg-radius-full);
|
|
background: var(--background-secondary);
|
|
color: var(--text-normal);
|
|
border: 1px solid var(--background-modifier-border);
|
|
margin-right: 0.25rem;
|
|
transition: all var(--tg-transition-fast);
|
|
}
|
|
.tg-fluent-tag:hover {
|
|
background: var(--background-modifier-hover);
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
.tg-fluent-tag-primary {
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
.tg-fluent-tag-success {
|
|
background: #10b981;
|
|
color: white;
|
|
border-color: #10b981;
|
|
}
|
|
.tg-fluent-tag-warning {
|
|
background: #f59e0b;
|
|
color: white;
|
|
border-color: #f59e0b;
|
|
}
|
|
.tg-fluent-tag-danger {
|
|
background: var(--text-error);
|
|
color: white;
|
|
border-color: var(--text-error);
|
|
}
|
|
.workspace-name-with-icon {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: flex-start;
|
|
gap: var(--size-2-2);
|
|
}
|
|
|
|
/* src/styles/fluent/fluent-content-header.css */
|
|
.tg-fluent-content-wrapper {
|
|
display: flex;
|
|
flex-direction: column;
|
|
height: 100%;
|
|
overflow: hidden;
|
|
}
|
|
.fluent-content-header {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
padding: 12px 20px;
|
|
background: var(--background-primary);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
min-height: 56px;
|
|
gap: 16px;
|
|
flex-shrink: 0;
|
|
}
|
|
.fluent-content-header .header-left-section {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
min-width: 200px;
|
|
}
|
|
.fluent-content-header .content-title {
|
|
font-size: 1.25rem;
|
|
font-weight: 600;
|
|
color: var(--text-normal);
|
|
white-space: nowrap;
|
|
}
|
|
.fluent-content-header .task-count {
|
|
font-size: 0.875rem;
|
|
color: var(--text-muted);
|
|
padding: 2px 8px;
|
|
background: var(--background-secondary);
|
|
border-radius: 4px;
|
|
white-space: nowrap;
|
|
}
|
|
.fluent-content-header .header-center-section {
|
|
flex: 1;
|
|
display: flex;
|
|
justify-content: center;
|
|
max-width: 500px;
|
|
margin: 0 auto;
|
|
}
|
|
.fluent-content-header .content-filter {
|
|
width: 100%;
|
|
}
|
|
.fluent-content-header .filter-input {
|
|
width: 100%;
|
|
padding: 6px 12px;
|
|
background: var(--background-primary-alt);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 6px;
|
|
font-size: 0.875rem;
|
|
color: var(--text-normal);
|
|
transition: all 0.2s ease;
|
|
}
|
|
.fluent-content-header .filter-input::placeholder {
|
|
color: var(--text-muted);
|
|
}
|
|
.fluent-content-header .filter-input:focus {
|
|
outline: none;
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 0 0 2px rgba(var(--interactive-accent-rgb), 0.2);
|
|
}
|
|
.fluent-content-header .header-right-section {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
}
|
|
.fluent-content-header .view-toggle-btn,
|
|
.fluent-content-header .sort-button,
|
|
.fluent-content-header .filter-button {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 32px;
|
|
height: 32px;
|
|
border-radius: 6px;
|
|
background: transparent;
|
|
color: var(--text-muted);
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
}
|
|
.fluent-content-header .view-toggle-btn:hover,
|
|
.fluent-content-header .sort-button:hover,
|
|
.fluent-content-header .filter-button:hover {
|
|
background: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.fluent-content-header .view-toggle-btn:active,
|
|
.fluent-content-header .sort-button:active,
|
|
.fluent-content-header .filter-button:active {
|
|
transform: scale(0.95);
|
|
}
|
|
.fluent-content-header .view-toggle-btn svg,
|
|
.fluent-content-header .sort-button svg,
|
|
.fluent-content-header .filter-button svg {
|
|
width: 16px;
|
|
height: 16px;
|
|
}
|
|
.tg-fluent-content {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
background: var(--background-primary);
|
|
}
|
|
@media (max-width: 768px) {
|
|
.fluent-content-header {
|
|
flex-wrap: wrap;
|
|
padding: 8px 12px;
|
|
}
|
|
.fluent-content-header .header-left-section {
|
|
min-width: auto;
|
|
}
|
|
.fluent-content-header .header-center-section {
|
|
order: 3;
|
|
width: 100%;
|
|
max-width: none;
|
|
margin-top: 8px;
|
|
}
|
|
.fluent-content-header .content-title {
|
|
font-size: 1.1rem;
|
|
}
|
|
}
|
|
|
|
/* src/styles/fluent/fluent-project-popover.css */
|
|
.fluent-project-popover-container {
|
|
position: absolute;
|
|
z-index: 1000;
|
|
}
|
|
.fluent-project-popover {
|
|
background: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 8px;
|
|
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
|
|
min-width: 320px;
|
|
max-width: 400px;
|
|
animation: popover-fade-in 0.2s ease-out;
|
|
}
|
|
@keyframes popover-fade-in {
|
|
from {
|
|
opacity: 0;
|
|
transform: translateY(-8px);
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
}
|
|
.fluent-popover-arrow,
|
|
.fluent-popover-arrow::before {
|
|
position: absolute;
|
|
width: 10px;
|
|
height: 10px;
|
|
background: inherit;
|
|
}
|
|
.fluent-popover-arrow {
|
|
visibility: hidden;
|
|
}
|
|
.fluent-popover-arrow::before {
|
|
visibility: visible;
|
|
content: "";
|
|
transform: rotate(45deg);
|
|
background: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.fluent-project-popover[data-popper-placement^=top] .fluent-popover-arrow {
|
|
bottom: -5px;
|
|
}
|
|
.fluent-project-popover[data-popper-placement^=top] .fluent-popover-arrow::before {
|
|
border-top: none;
|
|
border-left: none;
|
|
}
|
|
.fluent-project-popover[data-popper-placement^=bottom] .fluent-popover-arrow {
|
|
top: -5px;
|
|
}
|
|
.fluent-project-popover[data-popper-placement^=bottom] .fluent-popover-arrow::before {
|
|
border-right: none;
|
|
border-bottom: none;
|
|
}
|
|
.fluent-project-popover[data-popper-placement^=left] .fluent-popover-arrow {
|
|
right: -5px;
|
|
}
|
|
.fluent-project-popover[data-popper-placement^=left] .fluent-popover-arrow::before {
|
|
border-bottom: none;
|
|
border-left: none;
|
|
}
|
|
.fluent-project-popover[data-popper-placement^=right] .fluent-popover-arrow {
|
|
left: -5px;
|
|
}
|
|
.fluent-project-popover[data-popper-placement^=right] .fluent-popover-arrow::before {
|
|
border-top: none;
|
|
border-right: none;
|
|
}
|
|
.fluent-popover-content {
|
|
padding: 16px;
|
|
}
|
|
.fluent-popover-header {
|
|
margin-bottom: 16px;
|
|
padding-bottom: 12px;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
}
|
|
.fluent-popover-header h3 {
|
|
margin: 0;
|
|
font-size: 16px;
|
|
font-weight: 600;
|
|
color: var(--text-normal);
|
|
}
|
|
.fluent-popover-section {
|
|
margin-bottom: 16px;
|
|
}
|
|
.fluent-popover-section label {
|
|
display: block;
|
|
margin-bottom: 8px;
|
|
font-size: 12px;
|
|
font-weight: 500;
|
|
color: var(--text-muted);
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.5px;
|
|
}
|
|
.fluent-popover-input {
|
|
width: 100%;
|
|
padding: 8px 12px;
|
|
background: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 4px;
|
|
font-size: 14px;
|
|
color: var(--text-normal);
|
|
transition: all 0.2s;
|
|
}
|
|
.fluent-popover-input:focus {
|
|
outline: none;
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 0 0 2px var(--interactive-accent-hover);
|
|
}
|
|
.fluent-popover-input.is-error {
|
|
border-color: var(--text-error);
|
|
animation: shake 0.3s;
|
|
}
|
|
@keyframes shake {
|
|
0%, 100% {
|
|
transform: translateX(0);
|
|
}
|
|
25% {
|
|
transform: translateX(-4px);
|
|
}
|
|
75% {
|
|
transform: translateX(4px);
|
|
}
|
|
}
|
|
.fluent-color-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(5, 1fr);
|
|
gap: 8px;
|
|
}
|
|
.fluent-color-button {
|
|
width: 36px;
|
|
height: 36px;
|
|
border-radius: 8px;
|
|
cursor: pointer;
|
|
transition: all 0.2s;
|
|
border: 2px solid transparent;
|
|
position: relative;
|
|
}
|
|
.fluent-color-button:hover {
|
|
transform: scale(1.1);
|
|
}
|
|
.fluent-color-button.is-selected {
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 0 0 2px var(--interactive-accent-hover);
|
|
}
|
|
.fluent-color-button.is-selected::after {
|
|
content: "\2713";
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translate(-50%, -50%);
|
|
color: white;
|
|
font-size: 16px;
|
|
font-weight: bold;
|
|
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
|
|
}
|
|
.fluent-popover-actions {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
gap: 8px;
|
|
margin-top: 20px;
|
|
padding-top: 16px;
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
}
|
|
.fluent-button {
|
|
padding: 6px 16px;
|
|
border-radius: 4px;
|
|
font-size: 14px;
|
|
font-weight: 500;
|
|
cursor: pointer;
|
|
transition: all 0.2s;
|
|
border: none;
|
|
outline: none;
|
|
}
|
|
.fluent-button-primary {
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.fluent-button-primary:hover {
|
|
background: var(--interactive-accent-hover);
|
|
}
|
|
.fluent-button-secondary {
|
|
background: transparent;
|
|
color: var(--text-muted);
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.fluent-button-secondary:hover {
|
|
background: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.fluent-project-modal {
|
|
}
|
|
.fluent-project-modal .modal-content h2 {
|
|
margin-bottom: 20px;
|
|
font-size: 20px;
|
|
font-weight: 600;
|
|
color: var(--text-normal);
|
|
}
|
|
.fluent-modal-section {
|
|
margin-bottom: 24px;
|
|
}
|
|
.fluent-modal-section label {
|
|
display: block;
|
|
margin-bottom: 8px;
|
|
font-size: 14px;
|
|
font-weight: 500;
|
|
color: var(--text-muted);
|
|
}
|
|
.fluent-modal-input {
|
|
width: 100%;
|
|
padding: 10px 14px;
|
|
background: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 6px;
|
|
font-size: 16px;
|
|
color: var(--text-normal);
|
|
transition: all 0.2s;
|
|
}
|
|
.fluent-modal-input:focus {
|
|
outline: none;
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 0 0 3px var(--interactive-accent-hover);
|
|
}
|
|
.fluent-modal-input.is-error {
|
|
border-color: var(--text-error);
|
|
animation: shake 0.3s;
|
|
}
|
|
.fluent-modal-color-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(5, 1fr);
|
|
gap: 12px;
|
|
}
|
|
.fluent-modal-color-button {
|
|
width: 48px;
|
|
height: 48px;
|
|
border-radius: 8px;
|
|
cursor: pointer;
|
|
transition: all 0.2s;
|
|
border: 3px solid transparent;
|
|
position: relative;
|
|
}
|
|
.fluent-modal-color-button:hover {
|
|
transform: scale(1.1);
|
|
}
|
|
.fluent-modal-color-button.is-selected {
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 0 0 3px var(--interactive-accent-hover);
|
|
}
|
|
.fluent-modal-color-button.is-selected::after {
|
|
content: "\2713";
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translate(-50%, -50%);
|
|
color: white;
|
|
font-size: 20px;
|
|
font-weight: bold;
|
|
text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
|
|
}
|
|
.fluent-modal-preview {
|
|
padding: 12px;
|
|
background: var(--background-secondary);
|
|
border-radius: 8px;
|
|
}
|
|
.fluent-project-item-preview {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
padding: 8px;
|
|
background: var(--background-primary);
|
|
border-radius: 6px;
|
|
}
|
|
.fluent-project-item-preview .fluent-project-color {
|
|
width: 8px;
|
|
height: 32px;
|
|
border-radius: 2px;
|
|
flex-shrink: 0;
|
|
}
|
|
.fluent-project-item-preview .fluent-project-name {
|
|
font-size: 14px;
|
|
font-weight: 500;
|
|
color: var(--text-normal);
|
|
}
|
|
.fluent-modal-footer {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
gap: 12px;
|
|
padding: 20px;
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
}
|
|
.fluent-modal-footer .fluent-button {
|
|
padding: 10px 24px;
|
|
font-size: 15px;
|
|
}
|
|
/*# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsic3JjL3N0eWxlcy9wcm9ncmVzc2Jhci5jc3MiLCAic3JjL3N0eWxlcy9tb2RhbC5jc3MiLCAic3JjL3N0eWxlcy9kYXRlLXBpY2tlci5jc3MiLCAic3JjL3N0eWxlcy90YXNrLWRldGFpbHMuY3NzIiwgInNyYy9zdHlsZXMvb25Db21wbGV0aW9uLmNzcyIsICJzcmMvc3R5bGVzL3VuaXZlcnNhbC1zdWdnZXN0LmNzcyIsICJzcmMvc3R5bGVzL2thbmJhbi9rYW5iYW4uY3NzIiwgInNyYy9jb21wb25lbnRzL2ZlYXR1cmVzL3Rhc2svZmlsdGVyL2luLXZpZXcvZmlsdGVyLmNzcyIsICJzcmMvc3R5bGVzL2NhbGVuZGFyL3ZpZXcuY3NzIiwgInNyYy9zdHlsZXMvY2FsZW5kYXIvZXZlbnQuY3NzIiwgInNyYy9zdHlsZXMvY2FsZW5kYXIvYmFkZ2UuY3NzIiwgInNyYy9zdHlsZXMvZ2FudHQvZ2FudHQuY3NzIiwgInNyYy9zdHlsZXMvdGFzay1saXN0LmNzcyIsICJzcmMvc3R5bGVzL2lubGluZS1lZGl0b3IuY3NzIiwgInNyYy9zdHlsZXMvdHJlZS12aWV3LmNzcyIsICJzcmMvc3R5bGVzL3ZpZXcuY3NzIiwgInNyYy9zdHlsZXMvcHJvcGVydHktdmlldy5jc3MiLCAic3JjL3N0eWxlcy9mb3JlY2FzdC5jc3MiLCAic3JjL3N0eWxlcy9jYWxlbmRhci5jc3MiLCAic3JjL3N0eWxlcy90YWJsZS5jc3MiLCAic3JjL3N0eWxlcy9xdWFkcmFudC9xdWFkcmFudC5jc3MiLCAic3JjL3N0eWxlcy90YXNrLXRpbWVyLmNzcyIsICJzcmMvc3R5bGVzL3NldHRpbmcuY3NzIiwgInNyYy9zdHlsZXMvc2V0dGluZy12Mi5jc3MiLCAic3JjL3N0eWxlcy9iZXRhLXdhcm5pbmcuY3NzIiwgInNyYy9zdHlsZXMvc2V0dGluZ3Mtc2VhcmNoLmNzcyIsICJzcmMvc3R5bGVzL3NldHRpbmdzLW1pZ3JhdGlvbi5jc3MiLCAic3JjL3N0eWxlcy93b3Jrc3BhY2Utc2V0dGluZ3Mtc2VsZWN0b3IuY3NzIiwgInNyYy9zdHlsZXMvb25ib2FyZGluZy1jb21wb25lbnRzLmNzcyIsICJzcmMvc3R5bGVzL2xheW91dC1wbGFjZW1lbnQuY3NzIiwgInNyYy9zdHlsZXMvZmlsZS1maWx0ZXItc2V0dGluZ3MuY3NzIiwgInNyYy9zdHlsZXMvaGFiaXQtZWRpdC1kaWFsb2cuY3NzIiwgInNyYy9zdHlsZXMvaGFiaXQtbGlzdC5jc3MiLCAic3JjL3N0eWxlcy9pY3Mtc2V0dGluZ3MuY3NzIiwgInNyYy9zdHlsZXMvdGFzay1maWx0ZXIuY3NzIiwgInNyYy9zdHlsZXMvZ2xvYmFsLWZpbHRlci5jc3MiLCAic3JjL3N0eWxlcy92aWV3LXNldHRpbmctdGFiLmNzcyIsICJzcmMvc3R5bGVzL21jcC1pbnRlZ3JhdGlvbi5jc3MiLCAic3JjL3N0eWxlcy93b3JrZmxvdy5jc3MiLCAic3JjL3N0eWxlcy9xdWljay1jYXB0dXJlLmNzcyIsICJzcmMvc3R5bGVzL3RhZy12aWV3LmNzcyIsICJzcmMvc3R5bGVzL3Byb2plY3Qtdmlldy5jc3MiLCAic3JjL3N0eWxlcy9wcm9qZWN0LXRyZWUuY3NzIiwgInNyYy9zdHlsZXMvcmV2aWV3LXZpZXcuY3NzIiwgInNyYy9zdHlsZXMvaGFiaXQuY3NzIiwgInNyYy9zdHlsZXMvZ2xvYmFsLmNzcyIsICJzcmMvc3R5bGVzL3ZpZXctY29uZmlnLmNzcyIsICJzcmMvc3R5bGVzL3Rhc2stc3RhdHVzLmNzcyIsICJzcmMvc3R5bGVzL29uYm9hcmRpbmcuY3NzIiwgInNyYy9zdHlsZXMvbm9pc2UuY3NzIiwgInNyYy9zdHlsZXMvY2hhbmdlbG9nLmNzcyIsICJzcmMvc3R5bGVzL3RpbWVsaW5lLXNpZGViYXIuY3NzIiwgInNyYy9zdHlsZXMvcmV3YXJkLmNzcyIsICJzcmMvc3R5bGVzL3Rhc2stZ3V0dGVyLmNzcyIsICJzcmMvc3R5bGVzL2ZsdWVudC9mbHVlbnQtbWFpbi5jc3MiLCAic3JjL3N0eWxlcy9mbHVlbnQvZmx1ZW50LXNlY29uZGFyeS5jc3MiLCAic3JjL3N0eWxlcy9mbHVlbnQvZmx1ZW50LWNvbnRlbnQtaGVhZGVyLmNzcyIsICJzcmMvc3R5bGVzL2ZsdWVudC9mbHVlbnQtcHJvamVjdC1wb3BvdmVyLmNzcyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyogU2V0IERlZmF1bHQgUHJvZ3Jlc3MgQmFyIEZvciBQbHVnaW4gKi9cbi5jbS10YXNrLXByb2dyZXNzLWJhciB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRtYXJnaW4tbGVmdDogNXB4O1xuXHRtYXJnaW4tYm90dG9tOiAxcHg7XG59XG5cbi5uby1wcm9ncmVzcy1iYXIgLmNtLXRhc2stcHJvZ3Jlc3MtYmFyIHtcblx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uSHlwZXJNRC1oZWFkZXIgLmNtLXRhc2stcHJvZ3Jlc3MtYmFyIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG1hcmdpbi1sZWZ0OiA1cHg7XG5cdG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLnByb2dyZXNzLWJhci1pbmxpbmUge1xuXHRoZWlnaHQ6IDhweDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKiBQcm9ncmVzcyBiYXIgY29sb3JzIGZvciBkaWZmZXJlbnQgcGVyY2VudGFnZXMgb2YgY29tcGxldGlvbiAqL1xuLnByb2dyZXNzLWJhci1pbmxpbmUtZW1wdHkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcm9ncmVzcy1iYWNrZ3JvdW5kLWNvbG9yKTtcbn1cblxuLnByb2dyZXNzLWJhci1pbmxpbmUtMCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByb2dyZXNzLTAtY29sb3IpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyLWlubGluZS0xIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJvZ3Jlc3MtMjUtY29sb3IpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyLWlubGluZS0yIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJvZ3Jlc3MtNTAtY29sb3IpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyLWlubGluZS0zIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJvZ3Jlc3MtNzUtY29sb3IpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyLWlubGluZS1jb21wbGV0ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByb2dyZXNzLTEwMC1jb2xvcik7XG59XG5cbi8qIENvbG9ycyBmb3IgZGlmZmVyZW50IHRhc2sgc3RhdHVzZXMgKi9cbi5wcm9ncmVzcy1jb21wbGV0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10YXNrLWNvbXBsZXRlZC1jb2xvcik7XG5cdHotaW5kZXg6IDM7XG59XG5cbi5wcm9ncmVzcy1pbi1wcm9ncmVzcyB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhc2staW4tcHJvZ3Jlc3MtY29sb3IpO1xuXHR6LWluZGV4OiAyO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG4ucHJvZ3Jlc3MtYWJhbmRvbmVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGFzay1hYmFuZG9uZWQtY29sb3IpO1xuXHR6LWluZGV4OiAxO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG4ucHJvZ3Jlc3MtcGxhbm5lZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhc2stcGxhbm5lZC1jb2xvcik7XG5cdHotaW5kZXg6IDE7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbi5wcm9ncmVzcy1iYXItaW5saW5lLWJhY2tncm91bmQge1xuXHRjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcm9ncmVzcy1iYWNrZ3JvdW5kLWNvbG9yKTtcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR3aWR0aDogODVweDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucHJvZ3Jlc3MtYmFyLWlubGluZS1iYWNrZ3JvdW5kLmhpZGRlbiB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIFN0YXR1cyBpbmRpY2F0b3JzIGluIHRoZSB0YXNrIG51bWJlciBkaXNwbGF5ICovXG4uY20tdGFzay1wcm9ncmVzcy1iYXIgLnRhc2stc3RhdHVzLWluZGljYXRvciB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0bWFyZ2luLXJpZ2h0OiAycHg7XG59XG5cbi5jbS10YXNrLXByb2dyZXNzLWJhciAuY29tcGxldGVkLWluZGljYXRvciB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLWNvbXBsZXRlZC1jb2xvcik7XG59XG5cbi5jbS10YXNrLXByb2dyZXNzLWJhciAuaW4tcHJvZ3Jlc3MtaW5kaWNhdG9yIHtcblx0Y29sb3I6IHZhcigtLXRhc2staW4tcHJvZ3Jlc3MtY29sb3IpO1xufVxuXG4uY20tdGFzay1wcm9ncmVzcy1iYXIgLmFiYW5kb25lZC1pbmRpY2F0b3Ige1xuXHRjb2xvcjogdmFyKC0tdGFzay1hYmFuZG9uZWQtY29sb3IpO1xufVxuXG4uY20tdGFzay1wcm9ncmVzcy1iYXIgLnBsYW5uZWQtaW5kaWNhdG9yIHtcblx0Y29sb3I6IHZhcigtLXRhc2stcGxhbm5lZC1jb2xvcik7XG59XG5cbi8qIFNldCBEZWZhdWx0IFByb2dyZXNzIEJhciBXaXRoIE51bWJlciBGb3IgUGx1Z2luICovXG4uY20tdGFzay1wcm9ncmVzcy1iYXIud2l0aC1udW1iZXIge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLkh5cGVyTUQtaGVhZGVyXG5cdC5jbS10YXNrLXByb2dyZXNzLWJhci53aXRoLW51bWJlclxuXHQucHJvZ3Jlc3MtYmFyLWlubGluZS1iYWNrZ3JvdW5kLFxuLkh5cGVyTUQtaGVhZGVyIC5jbS10YXNrLXByb2dyZXNzLWJhci53aXRoLW51bWJlciAucHJvZ3Jlc3Mtc3RhdHVzIHtcblx0bWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4uY20tdGFzay1wcm9ncmVzcy1iYXIud2l0aC1udW1iZXIgLnByb2dyZXNzLWJhci1pbmxpbmUtYmFja2dyb3VuZCB7XG5cdG1hcmdpbi1ib3R0b206IC0ycHg7XG5cdHdpZHRoOiA0MnB4O1xufVxuXG4uY20tdGFzay1wcm9ncmVzcy1iYXIud2l0aC1udW1iZXIgLnByb2dyZXNzLXN0YXR1cyB7XG5cdGZvbnQtc2l6ZTogMTNweDtcblx0bWFyZ2luLWxlZnQ6IDNweDtcbn1cblxuLyogQWRhcHRhdGlvbnMgZm9yIGRhcmsgdGhlbWUgKi9cbi50aGVtZS1kYXJrIC5wcm9ncmVzcy1jb21wbGV0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10YXNrLWNvbXBsZXRlZC1jb2xvcik7XG59XG5cbi50aGVtZS1kYXJrIC5wcm9ncmVzcy1pbi1wcm9ncmVzcyB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhc2staW4tcHJvZ3Jlc3MtY29sb3IpO1xufVxuXG4udGhlbWUtZGFyayAucHJvZ3Jlc3MtYWJhbmRvbmVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGFzay1hYmFuZG9uZWQtY29sb3IpO1xufVxuXG4udGhlbWUtZGFyayAucHJvZ3Jlc3MtcGxhbm5lZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhc2stcGxhbm5lZC1jb2xvcik7XG59XG5cbi50YXNrLXByb2dyZXNzLWJhci1wb3BvdmVyIHtcblx0d2lkdGg6IDQwMHB4O1xufVxuIiwgIi5jb25maXJtLW1vZGFsLWJ1dHRvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTMpO1xufVxuXG4vKiBMaXN0IENvbmZpZyBNb2RhbCBTdHlsZXMgKi9cbi5saXN0LWNvbmZpZy1tb2RhbCB7XG5cdG1pbi13aWR0aDogNDAwcHg7XG5cdG1heC13aWR0aDogNjAwcHg7XG59XG5cbi5saXN0LWNvbmZpZy1kZXNjcmlwdGlvbiB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0zKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc21hbGxlcik7XG59XG5cbi5saXN0LWNvbmZpZy1jb250YWluZXIge1xuXHRtYXJnaW46IHZhcigtLXNpemUtNC0zKSAwO1xuXHRtYXgtaGVpZ2h0OiAzMDBweDtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0zKTtcbn1cblxuLmxpc3QtY29uZmlnLWVtcHR5IHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNik7XG59XG5cbi5saXN0LWNvbmZpZy1lbXB0eS10ZXh0IHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdG1hcmdpbjogMDtcbn1cblxuLmxpc3QtY29uZmlnLWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTIpO1xufVxuXG4ubGlzdC1jb25maWctaXRlbTpsYXN0LWNoaWxkIHtcblx0bWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmxpc3QtY29uZmlnLWlucHV0IHtcblx0ZmxleDogMTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0zKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG59XG5cbi5saXN0LWNvbmZpZy1pbnB1dDpmb2N1cyB7XG5cdG91dGxpbmU6IG5vbmU7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLmxpc3QtY29uZmlnLWRlbGV0ZS1idG4ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDI0cHg7XG5cdGhlaWdodDogMjRweDtcblx0Ym9yZGVyOiBub25lO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xufVxuXG4ubGlzdC1jb25maWctZGVsZXRlLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3ItaG92ZXIpO1xufVxuXG4ubGlzdC1jb25maWctZGVsZXRlLWljb24ge1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRsaW5lLWhlaWdodDogMTtcbn1cbiIsICIvKiBEYXRlIFBpY2tlciBDb21wb25lbnQgU3R5bGVzICovXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHR3aWR0aDogMTAwJTtcblx0bWluLXdpZHRoOiA1MDBweDtcblx0bWF4LXdpZHRoOiA2MDBweDtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5kYXRlLXBpY2tlci1tYWluLXBhbmVsIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zaXplLTItMyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0zKTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5kYXRlLXBpY2tlci1sZWZ0LXBhbmVsIHtcblx0ZmxleDogMTtcblx0bWluLXdpZHRoOiAyMDBweDtcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmRhdGUtcGlja2VyLXJpZ2h0LXBhbmVsIHtcblx0ZmxleDogMTtcblx0bWluLXdpZHRoOiAyNTBweDtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5kYXRlLXBpY2tlci1zZWN0aW9uLXRpdGxlIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWJvbGQpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi8qIFF1aWNrIE9wdGlvbnMgU3R5bGVzICovXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLnF1aWNrLW9wdGlvbnMtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTItMSk7XG5cdG1heC1oZWlnaHQ6IDE5NXB4O1xuXHRvdmVyZmxvdzogYXV0bztcblx0b3ZlcmZsb3cteDogaGlkZGVuO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLnF1aWNrLW9wdGlvbi1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMikgdmFyKC0tc2l6ZS00LTIpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLnF1aWNrLW9wdGlvbi1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAucXVpY2stb3B0aW9uLWl0ZW0uc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLnF1aWNrLW9wdGlvbi1pdGVtLmNsZWFyLW9wdGlvbiB7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtMi0yKTtcblx0cGFkZGluZy10b3A6IHZhcigtLXNpemUtMi0zKTtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLnF1aWNrLW9wdGlvbi1pdGVtLmNsZWFyLW9wdGlvbjpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3ItaG92ZXIpO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLnF1aWNrLW9wdGlvbi1sYWJlbCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LW1lZGl1bSk7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAucXVpY2stb3B0aW9uLWRhdGUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5xdWljay1vcHRpb24taXRlbS5zZWxlY3RlZCAucXVpY2stb3B0aW9uLWRhdGUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4vKiBDYWxlbmRhciBTdHlsZXMgKi9cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuY2FsZW5kYXItY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5jYWxlbmRhci1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcblx0cGFkZGluZzogMCB2YXIoLS1zaXplLTItMik7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuY2FsZW5kYXItbmF2LWJ0biB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogMzJweDtcblx0aGVpZ2h0OiAzMnB4O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuY2FsZW5kYXItbmF2LWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmNhbGVuZGFyLW1vbnRoLXllYXIge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtYm9sZCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuY2FsZW5kYXItZ3JpZCB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIDFmcik7XG5cdGdhcDogMXB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5jYWxlbmRhci1kYXktaGVhZGVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMik7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1ib2xkKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmNhbGVuZGFyLWRheSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xuXHRtaW4taGVpZ2h0OiAzMnB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5jYWxlbmRhci1kYXk6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5jYWxlbmRhci1kYXkub3RoZXItbW9udGgge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5jYWxlbmRhci1kYXkudG9kYXkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1ib2xkKTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5jYWxlbmRhci1kYXkuc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1ib2xkKTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5jYWxlbmRhci1kYXkudG9kYXkuc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiBpbnNldCAwIDAgMCAycHggdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4vKiBQb3BvdmVyIFN0eWxlcyAqL1xuLmRhdGUtcGlja2VyLXBvcG92ZXIudGctbWVudSB7XG5cdHotaW5kZXg6IDIwO1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbCk7XG5cdG1heC1oZWlnaHQ6IDgwdmg7XG5cdG92ZXJmbG93OiBhdXRvO1xufVxuXG4uZGF0ZS1waWNrZXItcG9wb3Zlci50Zy1tZW51IC5kYXRlLXBpY2tlci1wb3BvdmVyLWNvbnRlbnQge1xuXHRwYWRkaW5nOiAwO1xufVxuXG4vKiBNb2JpbGUgUmVzcG9uc2l2ZSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuZGF0ZS1waWNrZXItbWFpbi1wYW5lbCB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0fVxuXG5cdC5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuZGF0ZS1waWNrZXItbGVmdC1wYW5lbCB7XG5cdFx0Ym9yZGVyLXJpZ2h0OiBub25lO1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xuXHR9XG5cblx0LmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIHtcblx0XHRtaW4td2lkdGg6IDMwMHB4O1xuXHRcdG1heC13aWR0aDogNDAwcHg7XG5cdH1cblxuXHQuZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmNhbGVuZGFyLWRheSB7XG5cdFx0bWluLWhlaWdodDogNDBweDtcblx0XHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcblx0fVxufVxuXG4vKiBXaWRnZXQgRXJyb3IgU3R5bGVzICovXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmRhdGUtcGlja2VyLXdpZGdldC1lcnJvciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTItMik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xufVxuIiwgIi50YXNrLWRldGFpbHMgLnBhbmVsLXRvZ2dsZS1jb250YWluZXIge1xuXHRsZWZ0OiAxMHB4O1xufVxuXG4vKiBEZXRhaWwgUGFuZWwgU3R5bGVzICovXG4udGFzay1kZXRhaWxzIHtcblx0d2lkdGg6IDMwMHB4O1xuXHRmbGV4LXNocmluazogMDtcblx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGhlaWdodDogMTAwJTtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0dHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWluLXdpZHRoOiAyNTBweDtcblx0bWF4LXdpZHRoOiA0MDBweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRvcmRlcjogMTtcbn1cblxuLyogRGV0YWlscyBwYW5lbCB2aXNpYmlsaXR5ICovXG4udGFzay1nZW5pdXMtY29udGFpbmVyLmRldGFpbHMtaGlkZGVuIC50YXNrLWRldGFpbHMge1xuXHR3aWR0aDogMDtcblx0b3BhY2l0eTogMDtcblx0bWFyZ2luLXJpZ2h0OiAtMzAwcHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi50YXNrLWdlbml1cy1jb250YWluZXIuZGV0YWlscy12aXNpYmxlIC50YXNrLWRldGFpbHMge1xuXHR3aWR0aDogMzUwcHg7XG5cdG9wYWNpdHk6IDE7XG5cdG1hcmdpbi1yaWdodDogMDtcbn1cblxuLyogTW9iaWxlIHZpZXcgLSBzbGlkZSBmcm9tIHJpZ2h0ICovXG4uaXMtcGhvbmUgLnRhc2stZGV0YWlscyxcbi5pcy1tb2JpbGUgLnRhc2stZGV0YWlscyB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0cmlnaHQ6IDA7XG5cdHRvcDogMDtcblx0aGVpZ2h0OiAxMDAlO1xuXHR3aWR0aDogMTAwJTtcblx0bWF4LXdpZHRoOiAxMDAlO1xuXHR6LWluZGV4OiAxMDtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xufVxuXG4uaXMtcGhvbmUgLnRhc2stZ2VuaXVzLWNvbnRhaW5lci5kZXRhaWxzLWhpZGRlbiAudGFzay1kZXRhaWxzLFxuLmlzLW1vYmlsZSAudGFzay1nZW5pdXMtY29udGFpbmVyLmRldGFpbHMtaGlkZGVuIC50YXNrLWRldGFpbHMsXG4uaXMtbW9iaWxlIC50Zy1mbHVlbnQtY29udGFpbmVyLmRldGFpbHMtaGlkZGVuIC50YXNrLWRldGFpbHMge1xuXHR3aWR0aDogMTAwJTtcblx0bWFyZ2luLXJpZ2h0OiAwO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG5cbi5pcy1waG9uZSAudGFzay1nZW5pdXMtY29udGFpbmVyLmRldGFpbHMtdmlzaWJsZSAudGFzay1kZXRhaWxzLFxuLmlzLW1vYmlsZSAudGFzay1nZW5pdXMtY29udGFpbmVyLmRldGFpbHMtdmlzaWJsZSAudGFzay1kZXRhaWxzLFxuLmlzLW1vYmlsZSAudGctZmx1ZW50LWNvbnRhaW5lci5kZXRhaWxzLXZpc2libGUgLnRhc2stZGV0YWlscyB7XG5cdHdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1zaXplLTQtMTIpKTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG4vKiBBZGQgb3ZlcmxheSB3aGVuIGRldGFpbHMgYXJlIHZpc2libGUgb24gbW9iaWxlICovXG4uaXMtcGhvbmUgLnRhc2stZ2VuaXVzLWNvbnRhaW5lci5kZXRhaWxzLXZpc2libGU6OmJlZm9yZSxcbi5pcy1tb2JpbGUgLnRhc2stZ2VuaXVzLWNvbnRhaW5lci5kZXRhaWxzLXZpc2libGU6OmJlZm9yZSxcbi5pcy1tb2JpbGUgLnRnLWZsdWVudC1jb250YWluZXIuZGV0YWlscy12aXNpYmxlOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1jb3Zlcik7XG5cdG9wYWNpdHk6IDAuNTtcblx0ei1pbmRleDogNTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xufVxuXG4uaXMtcGhvbmUgLmRldGFpbHMtY2xvc2UtYnRuLFxuLmlzLW1vYmlsZSAuZGV0YWlscy1jbG9zZS1idG4ge1xuXHR3aWR0aDogMjRweDtcblx0aGVpZ2h0OiAyNHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmlzLXBob25lIC5kZXRhaWxzLWhlYWRlcixcbi5pcy1tb2JpbGUgLmRldGFpbHMtaGVhZGVyIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpO1xufVxuXG4uZGV0YWlscy1lbXB0eSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGhlaWdodDogMTAwJTtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRwYWRkaW5nOiAyMHB4O1xufVxuXG4vKiBEZXRhaWxzIGNvbnRlbnQgKi9cbi5kZXRhaWxzLWhlYWRlciB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNpemUtNC0zKTtcblx0cGFkZGluZy10b3A6IHZhcigtLXNpemUtNC0zKTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRmb250LXNpemU6IDEuMWVtO1xufVxuXG4uZGV0YWlscy1jb250ZW50IHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0cGFkZGluZy1ib3R0b206IG1heCh2YXIoLS1zYWZlLWFyZWEtaW5zZXQtYm90dG9tKSwgdmFyKC0tc2l6ZS00LTgpKTtcbn1cblxuLmRldGFpbHMtbmFtZSB7XG5cdG1hcmdpbjogMCAwIDhweCAwO1xuXHRwYWRkaW5nOiAwO1xuXHRmb250LXNpemU6IDEuM2VtO1xuXHRsaW5lLWhlaWdodDogMS4zO1xufVxuXG4uZGV0YWlscy1zdGF0dXMtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uZGV0YWlscy1zdGF0dXMtbGFiZWwge1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xufVxuXG4uZGV0YWlscy1zdGF0dXMge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBhZGRpbmc6IDRweCA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcbn1cblxuLmRldGFpbHMtc3RhdHVzLXNlbGVjdG9yIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5tZW51LWl0ZW0tdGl0bGU6aGFzKC5zdGF0dXMtb3B0aW9uKSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0Z2FwOiA0cHg7XG59XG5cbi5tZW51LWl0ZW06aGFzKC5zdGF0dXMtb3B0aW9uLWNoZWNrYm94KSAubWVudS1pdGVtLWljb24ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4ubWVudS1pdGVtOmhhcyguc3RhdHVzLW9wdGlvbi1pY29uKSAubWVudS1pdGVtLWljb24ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4uc3RhdHVzLW9wdGlvbi1pY29uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zaXplLTItMik7XG59XG5cbi5zdGF0dXMtb3B0aW9uLWNoZWNrYm94IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5zdGF0dXMtb3B0aW9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLnN0YXR1cy1vcHRpb24uY3VycmVudCB7XG5cdG91dGxpbmUtb2Zmc2V0OiAycHg7XG5cdG91dGxpbmU6IDFweCBzb2xpZFxuXHRcdGhzbCh2YXIoLS1hY2NlbnQtaCksIHZhcigtLWFjY2VudC1zKSwgdmFyKC0tYWNjZW50LWwpLCAwLjMpO1xuXHRvdXRsaW5lLXN0eWxlOiBkYXNoZWQ7XG59XG5cbi5zdGF0dXMtb3B0aW9uOm5vdCguY3VycmVudCkge1xuXHRvcGFjaXR5OiAwLjg7XG59XG5cbi5zdGF0dXMtb3B0aW9uOm5vdCguY3VycmVudCk6aG92ZXIge1xuXHRvcGFjaXR5OiAxO1xufVxuXG4uc3RhdHVzLW9wdGlvbiBpbnB1dC50YXNrLWxpc3QtaXRlbS1jaGVja2JveCB7XG5cdG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xufVxuXG4uZGV0YWlscy1tZXRhZGF0YSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLm1ldGFkYXRhLWZpZWxkIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAycHg7XG59XG5cbi5tZXRhZGF0YS1sYWJlbCB7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLm1ldGFkYXRhLXZhbHVlIHtcblx0d29yZC1icmVhazogYnJlYWstd29yZDtcblx0Zm9udC1zaXplOiAwLjk1ZW07XG59XG5cbi5kZXRhaWxzLWFjdGlvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdGdhcDogOHB4O1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtNCk7XG59XG5cbi5kZXRhaWxzLWVkaXQtYnRuLFxuLmRldGFpbHMtdG9nZ2xlLWJ0biB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLW5vcm1hbCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRwYWRkaW5nOiA2cHggMTJweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xufVxuXG4uZGV0YWlscy1lZGl0LWJ0bjpob3Zlcixcbi5kZXRhaWxzLXRvZ2dsZS1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1ob3Zlcik7XG59XG5cbi5kZXRhaWxzLXRvZ2dsZS1idG4ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4vKiBUYXNrIGVkaXRpbmcgZm9ybSBzdHlsZXMgKi9cbi5kZXRhaWxzLWVkaXQtZm9ybSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMTJweDtcbn1cblxuLmRldGFpbHMtZm9ybS1maWVsZCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogNHB4O1xufVxuXG4uZGV0YWlscy1mb3JtLWxhYmVsIHtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4uZGV0YWlscy1mb3JtLWlucHV0IHtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5kZXRhaWxzLWVkaXQtY29udGVudCB7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5kZXRhaWxzLWZvcm0taW5wdXQgaW5wdXQsXG4uZGV0YWlscy1mb3JtLWlucHV0IHNlbGVjdCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiA2cHggOHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcbn1cblxuLmRhdGUtaW5wdXQge1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogNnB4IDhweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5maWVsZC1kZXNjcmlwdGlvbiB7XG5cdGZvbnQtc2l6ZTogMC43ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWFyZ2luLXRvcDogMnB4O1xufVxuXG4uZGV0YWlscy1mb3JtLWJ1dHRvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdG1hcmdpbi10b3A6IDE2cHg7XG5cdGdhcDogOHB4O1xufVxuXG4uZGV0YWlscy1mb3JtLWJ1dHRvbnMgYnV0dG9uIHtcblx0ZmxleDogMTtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5kZXRhaWxzLWZvcm0tZXJyb3Ige1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdG1hcmdpbi10b3A6IDhweDtcblx0cGFkZGluZzogOHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4uZGV0YWlscy1lZGl0LWZpbGUtYnRuIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtbm9ybWFsKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG59XG5cbi5kZXRhaWxzLWVkaXQtZmlsZS1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1ob3Zlcik7XG59XG5cbi8qIFYyIENvbnRhaW5lciBzcGVjaWZpYyBzdHlsZXMgZm9yIG1vYmlsZSAqL1xuLmlzLW1vYmlsZSAudGctZmx1ZW50LWNvbnRhaW5lciAudGFzay1kZXRhaWxzIHtcblx0cG9zaXRpb246IGZpeGVkO1xuXHRyaWdodDogMDtcblx0dG9wOiAwO1xuXHRib3R0b206IDA7XG5cdGhlaWdodDogMTAwdmg7XG5cdHdpZHRoOiA4NXZ3O1xuXHRtYXgtd2lkdGg6IDQwMHB4O1xuXHR6LWluZGV4OiAxMDAxOyAvKiBBYm92ZSBkcmF3ZXIgb3ZlcmxheSAqL1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJveC1zaGFkb3c6IC00cHggMCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cblxuLmlzLW1vYmlsZSAudGFzay1kZXRhaWxzIC5kZXRhaWxzLWNsb3NlLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlLWhvdmVyKTtcbn1cblxuLmlzLW1vYmlsZSAuZGV0YWlscy1jb250ZW50IHtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNpemUtNC0xMik7XG59XG5cbi8qIFJlc3BvbnNpdmUgZGVzaWduIGZvciBtb2JpbGUgKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC50YXNrLW9tbmlmb2N1cy1jb250YWluZXIge1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdH1cblxuXHQudGFzay1zaWRlYmFyIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdGJvcmRlci1yaWdodDogbm9uZTtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHR9XG5cblx0LnRhc2stY29udGVudCB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0ZmxleDogMTtcblx0fVxuXG5cdC50YXNrLWRldGFpbHMge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRib3JkZXItbGVmdDogbm9uZTtcblx0fVxufVxuXG4vKiBQcm9qZWN0IHNvdXJjZSBpbmRpY2F0b3Igc3R5bGVzICovXG4ucHJvamVjdC1zb3VyY2UtaW5kaWNhdG9yIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA0cHg7XG5cdG1hcmdpbi10b3A6IDRweDtcblx0cGFkZGluZzogNHB4IDhweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRmb250LXNpemU6IDAuODVlbTtcblx0bGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuLnByb2plY3Qtc291cmNlLWluZGljYXRvciAuaW5kaWNhdG9yLWljb24ge1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuXG4ucHJvamVjdC1zb3VyY2UtaW5kaWNhdG9yIC5pbmRpY2F0b3ItdGV4dCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLyogUmVhZG9ubHkgaW5kaWNhdG9yICovXG4ucHJvamVjdC1zb3VyY2UtaW5kaWNhdG9yLnJlYWRvbmx5LWluZGljYXRvciB7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xufVxuXG4ucHJvamVjdC1zb3VyY2UtaW5kaWNhdG9yLnJlYWRvbmx5LWluZGljYXRvciAuaW5kaWNhdG9yLXRleHQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi8qIE92ZXJyaWRlIGluZGljYXRvciAqL1xuLnByb2plY3Qtc291cmNlLWluZGljYXRvci5vdmVycmlkZS1pbmRpY2F0b3Ige1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjY2VudCk7XG59XG5cbi5wcm9qZWN0LXNvdXJjZS1pbmRpY2F0b3Iub3ZlcnJpZGUtaW5kaWNhdG9yIC5pbmRpY2F0b3ItdGV4dCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi8qIEZpZWxkIGRlc2NyaXB0aW9ucyAqL1xuLmZpZWxkLWRlc2NyaXB0aW9uLnJlYWRvbmx5LWRlc2NyaXB0aW9uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRtYXJnaW4tdG9wOiA0cHg7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLmZpZWxkLWRlc2NyaXB0aW9uLm92ZXJyaWRlLWRlc2NyaXB0aW9uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0bWFyZ2luLXRvcDogNHB4O1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qIElubGluZSBlZGl0b3Igc3BlY2lmaWMgc3R5bGVzICovXG4ucHJvamVjdC1zb3VyY2UtaW5kaWNhdG9yLmlubGluZS1pbmRpY2F0b3Ige1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMTAwJTtcblx0bGVmdDogMDtcblx0cmlnaHQ6IDA7XG5cdHotaW5kZXg6IDEwO1xuXHRtYXJnaW4tdG9wOiAycHg7XG5cdHBhZGRpbmc6IDJweCA2cHg7XG5cdGZvbnQtc2l6ZTogMC43NWVtO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLyogVGFibGUgc3BlY2lmaWMgc3R5bGVzICovXG4ucHJvamVjdC1zb3VyY2UtaW5kaWNhdG9yLnRhYmxlLWluZGljYXRvciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAycHg7XG5cdHJpZ2h0OiAycHg7XG5cdHBhZGRpbmc6IDFweCAzcHg7XG5cdGZvbnQtc2l6ZTogMC43ZW07XG5cdGJvcmRlci1yYWRpdXM6IDJweDtcblx0ei1pbmRleDogNTtcbn1cblxuLnByb2plY3Qtc291cmNlLWluZGljYXRvci50YWJsZS1pbmRpY2F0b3IgLmluZGljYXRvci1pY29uIHtcblx0Zm9udC1zaXplOiAwLjhlbTtcbn1cblxuLnRhc2stdGFibGUtY2VsbC5yZWFkb25seS1jZWxsIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvci1ob3Zlcik7XG5cdG9wYWNpdHk6IDAuODtcbn1cblxuLyogUHJvamVjdCBjb250YWluZXIgc3BlY2lmaWMgc3R5bGVzICovXG4ucHJvamVjdC1jb250YWluZXIucHJvamVjdC1yZWFkb25seSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnByb2plY3QtY29udGFpbmVyLnByb2plY3QtcmVhZG9ubHkgLnByb2plY3Qtc291cmNlLWluZGljYXRvciB7XG5cdG1hcmdpbi10b3A6IDhweDtcbn1cbiIsICIvKiBPbkNvbXBsZXRpb24gQ29uZmlndXJhdG9yIFN0eWxlcyAqL1xuLm9uY29tcGxldGlvbi1jb25maWd1cmF0b3Ige1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDEycHg7XG5cdHBhZGRpbmc6IDEycHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi5vbmNvbXBsZXRpb24tYWN0aW9uLXR5cGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDZweDtcbn1cblxuLm9uY29tcGxldGlvbi1sYWJlbCB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi5vbmNvbXBsZXRpb24tY29uZmlnIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAxMHB4O1xuXHRtYXJnaW4tdG9wOiA4cHg7XG5cdHBhZGRpbmctdG9wOiA4cHg7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG59XG5cbi5vbmNvbXBsZXRpb24tZmllbGQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDRweDtcbn1cblxuLm9uY29tcGxldGlvbi1kZXNjcmlwdGlvbiB7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRtYXJnaW4tdG9wOiAycHg7XG59XG5cbi8qIEFjdGlvbiBUeXBlIERyb3Bkb3duICovXG4ub25jb21wbGV0aW9uLWFjdGlvbi10eXBlIC5kcm9wZG93biB7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4vKiBJbnB1dCBGaWVsZHMgKi9cbi5vbmNvbXBsZXRpb24tZmllbGQgLnRleHQtaW5wdXQge1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogNnB4IDhweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5vbmNvbXBsZXRpb24tZmllbGQgLnRleHQtaW5wdXQ6Zm9jdXMge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdG91dGxpbmU6IG5vbmU7XG5cdGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xufVxuXG4vKiBUb2dnbGUgQ29tcG9uZW50ICovXG4ub25jb21wbGV0aW9uLWZpZWxkIC5jaGVja2JveC1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDhweDtcbn1cblxuLyogU3VnZ2VzdGVyIFN0eWxlcyAqL1xuLnRhc2staWQtc3VnZ2VzdGlvbiB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi50YXNrLWNvbnRlbnQtcHJldmlldyB7XG5cdGZvbnQtc2l6ZTogMC44NWVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi10b3A6IDJweDtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdG1heC13aWR0aDogMzAwcHg7XG59XG5cbi5maWxlLW5hbWUge1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uZmlsZS1wYXRoIHtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tdG9wOiAycHg7XG59XG5cbi5hY3Rpb24tdHlwZS1zdWdnZXN0aW9uIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLmFjdGlvbi1kZXNjcmlwdGlvbiB7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWFyZ2luLXRvcDogMnB4O1xufVxuXG4vKiBWYWxpZGF0aW9uIFN0YXRlcyAqL1xuLm9uY29tcGxldGlvbi1jb25maWd1cmF0b3IuaW52YWxpZCB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xufVxuXG4ub25jb21wbGV0aW9uLWNvbmZpZ3VyYXRvci52YWxpZCB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tdGV4dC1zdWNjZXNzKTtcbn1cblxuLm9uY29tcGxldGlvbi12YWxpZGF0aW9uLW1lc3NhZ2Uge1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRtYXJnaW4tdG9wOiA0cHg7XG5cdHBhZGRpbmc6IDRweCA2cHg7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcbn1cblxuLm9uY29tcGxldGlvbi12YWxpZGF0aW9uLW1lc3NhZ2UuZXJyb3Ige1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xufVxuXG4ub25jb21wbGV0aW9uLXZhbGlkYXRpb24tbWVzc2FnZS5zdWNjZXNzIHtcblx0Y29sb3I6IHZhcigtLXRleHQtc3VjY2Vzcyk7XG59XG5cbi8qIEludGVncmF0aW9uIHdpdGggVGFzayBEZXRhaWxzICovXG4udGFzay1kZXRhaWxzIC5vbmNvbXBsZXRpb24tY29uZmlndXJhdG9yIHtcblx0bWFyZ2luLXRvcDogOHB4O1xuXHRib3JkZXI6IG5vbmU7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRwYWRkaW5nOiAwO1xufVxuXG4udGFzay1kZXRhaWxzIC5vbmNvbXBsZXRpb24tZmllbGQge1xuXHRtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi8qIFJlc3BvbnNpdmUgRGVzaWduICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0Lm9uY29tcGxldGlvbi1jb25maWd1cmF0b3Ige1xuXHRcdHBhZGRpbmc6IDhweDtcblx0XHRnYXA6IDhweDtcblx0fVxuXG5cdC5vbmNvbXBsZXRpb24tY29uZmlnIHtcblx0XHRnYXA6IDhweDtcblx0fVxuXG5cdC50YXNrLWNvbnRlbnQtcHJldmlldyB7XG5cdFx0bWF4LXdpZHRoOiAyMDBweDtcblx0fVxufVxuXG4vKiBEYXJrIFRoZW1lIEFkanVzdG1lbnRzICovXG4udGhlbWUtZGFyayAub25jb21wbGV0aW9uLWNvbmZpZ3VyYXRvciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1hbHQpO1xufVxuXG4udGhlbWUtZGFyayAub25jb21wbGV0aW9uLWZpZWxkIC50ZXh0LWlucHV0IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLyogSGlnaCBDb250cmFzdCBNb2RlICovXG5AbWVkaWEgKHByZWZlcnMtY29udHJhc3Q6IGhpZ2gpIHtcblx0Lm9uY29tcGxldGlvbi1jb25maWd1cmF0b3Ige1xuXHRcdGJvcmRlci13aWR0aDogMnB4O1xuXHR9XG5cblx0Lm9uY29tcGxldGlvbi1maWVsZCAudGV4dC1pbnB1dCB7XG5cdFx0Ym9yZGVyLXdpZHRoOiAycHg7XG5cdH1cblxuXHQub25jb21wbGV0aW9uLWZpZWxkIC50ZXh0LWlucHV0OmZvY3VzIHtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAzcHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcblx0fVxufVxuXG4vKiBBbmltYXRpb24gZm9yIENvbmZpZ3VyYXRpb24gQ2hhbmdlcyAqL1xuLm9uY29tcGxldGlvbi1jb25maWcge1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbn1cblxuLm9uY29tcGxldGlvbi1maWVsZCB7XG5cdG9wYWNpdHk6IDE7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UtaW4tb3V0LCB0cmFuc2Zvcm0gMC4ycyBlYXNlLWluLW91dDtcbn1cblxuLm9uY29tcGxldGlvbi1maWVsZC5lbnRlcmluZyB7XG5cdG9wYWNpdHk6IDA7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG59XG5cbi5vbmNvbXBsZXRpb24tZmllbGQuZXhpdGluZyB7XG5cdG9wYWNpdHk6IDA7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcbn1cblxuLyogT25Db21wbGV0aW9uIE1vZGFsIFN0eWxlcyAqL1xuLm9uY29tcGxldGlvbi1tb2RhbCB7XG5cdC0tZGlhbG9nLXdpZHRoOiA2MDBweDtcblx0LS1kaWFsb2ctbWF4LXdpZHRoOiA5MHZ3O1xuXHQtLWRpYWxvZy1tYXgtaGVpZ2h0OiA4MHZoO1xufVxuXG4ub25jb21wbGV0aW9uLW1vZGFsIC5tb2RhbC1jb250ZW50IHtcblx0cGFkZGluZzogMDtcblx0bWF4LWhlaWdodDogdmFyKC0tZGlhbG9nLW1heC1oZWlnaHQpO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4ub25jb21wbGV0aW9uLW1vZGFsLWNvbnRlbnQge1xuXHRwYWRkaW5nOiAyMHB4O1xuXHRtYXgtaGVpZ2h0OiA2MHZoO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4ub25jb21wbGV0aW9uLW1vZGFsLWJ1dHRvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRnYXA6IDhweDtcblx0cGFkZGluZzogMTZweCAyMHB4O1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi5vbmNvbXBsZXRpb24tbW9kYWwtYnV0dG9ucyBidXR0b24ge1xuXHRtaW4td2lkdGg6IDgwcHg7XG59XG5cbi8qIElubGluZSBPbkNvbXBsZXRpb24gQnV0dG9uIFN0eWxlcyAqL1xuLmlubGluZS1vbmNvbXBsZXRpb24tYnV0dG9uLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uaW5saW5lLW9uY29tcGxldGlvbi1jb25maWctYnV0dG9uIHtcblx0cGFkZGluZzogNHB4IDhweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xuXHRtaW4td2lkdGg6IDEwMHB4O1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uaW5saW5lLW9uY29tcGxldGlvbi1jb25maWctYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLmlubGluZS1vbmNvbXBsZXRpb24tY29uZmlnLWJ1dHRvbjpmb2N1cyB7XG5cdG91dGxpbmU6IG5vbmU7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi5pbmxpbmUtb25jb21wbGV0aW9uLWNvbmZpZy1idXR0b246YWN0aXZlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUpO1xuXHR0cmFuc2Zvcm06IHNjYWxlKDAuOTgpO1xufVxuXG4vKiBSZXNwb25zaXZlIERlc2lnbiBmb3IgTW9kYWwgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQub25jb21wbGV0aW9uLW1vZGFsIHtcblx0XHQtLWRpYWxvZy13aWR0aDogOTV2dztcblx0XHQtLWRpYWxvZy1tYXgtaGVpZ2h0OiA4NXZoO1xuXHR9XG5cblx0Lm9uY29tcGxldGlvbi1tb2RhbC1jb250ZW50IHtcblx0XHRwYWRkaW5nOiAxNnB4O1xuXHRcdG1heC1oZWlnaHQ6IDY1dmg7XG5cdH1cblxuXHQub25jb21wbGV0aW9uLW1vZGFsLWJ1dHRvbnMge1xuXHRcdHBhZGRpbmc6IDEycHggMTZweDtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG5cdH1cblxuXHQub25jb21wbGV0aW9uLW1vZGFsLWJ1dHRvbnMgYnV0dG9uIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRtaW4td2lkdGg6IHVuc2V0O1xuXHR9XG59XG4iLCAiLyogVW5pdmVyc2FsIFN1Z2dlc3QgU3R5bGVzICovXG5cbi51bml2ZXJzYWwtc3VnZ2VzdC1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcyBlYXNlO1xufVxuXG4udW5pdmVyc2FsLXN1Z2dlc3QtaXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4udW5pdmVyc2FsLXN1Z2dlc3QtaXRlbS5pcy1zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlLWhvdmVyKTtcbn1cblxuLnVuaXZlcnNhbC1zdWdnZXN0LWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnVuaXZlcnNhbC1zdWdnZXN0LWljb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDIwcHg7XG5cdGhlaWdodDogMjBweDtcblx0bWFyZ2luLXJpZ2h0OiAxMnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4udW5pdmVyc2FsLXN1Z2dlc3QtY29udGVudCB7XG5cdGZsZXg6IDE7XG5cdG1pbi13aWR0aDogMDtcbn1cblxuLnVuaXZlcnNhbC1zdWdnZXN0LWxhYmVsIHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0bWFyZ2luLWJvdHRvbTogMnB4O1xufVxuXG4udW5pdmVyc2FsLXN1Z2dlc3QtZGVzY3JpcHRpb24ge1xuXHRmb250LXNpemU6IDAuODVlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRsaW5lLWhlaWdodDogMS4zO1xufVxuXG4vKiBTcGVjaWFsIGNoYXJhY3RlciB0cmlnZ2VyIGhpZ2hsaWdodGluZyAqL1xuLmNtLWVkaXRvciAuY20tbGluZSAudW5pdmVyc2FsLXN1Z2dlc3QtdHJpZ2dlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xuXHRwYWRkaW5nOiAxcHggMnB4O1xufVxuXG4vKiBTdWdnZXN0IHBvcHVwIGNvbnRhaW5lciAqL1xuLnN1Z2dlc3Rpb24tY29udGFpbmVyIC51bml2ZXJzYWwtc3VnZ2VzdC1pdGVtIHtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLnN1Z2dlc3Rpb24tY29udGFpbmVyIC51bml2ZXJzYWwtc3VnZ2VzdC1pdGVtOmxhc3QtY2hpbGQge1xuXHRib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4vKiBEYXJrIHRoZW1lIGFkanVzdG1lbnRzICovXG4udGhlbWUtZGFyayAudW5pdmVyc2FsLXN1Z2dlc3QtaXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4udGhlbWUtZGFyayAudW5pdmVyc2FsLXN1Z2dlc3QtaXRlbS5pcy1zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlLWhvdmVyKTtcbn1cblxuLyogSGlnaCBjb250cmFzdCBtb2RlICovXG5AbWVkaWEgKHByZWZlcnMtY29udHJhc3Q6IGhpZ2gpIHtcblx0LnVuaXZlcnNhbC1zdWdnZXN0LWl0ZW0ge1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0XHRtYXJnaW4tYm90dG9tOiAycHg7XG5cdH0gXG5cdFxuXHQudW5pdmVyc2FsLXN1Z2dlc3QtaXRlbTpob3Zlcixcblx0LnVuaXZlcnNhbC1zdWdnZXN0LWl0ZW0uaXMtc2VsZWN0ZWQge1xuXHRcdGJvcmRlci1jb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xuXHR9XG59XG4iLCAiLnRnLWthbmJhbi12aWV3IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0aGVpZ2h0OiAxMDAlO1xuXHR3aWR0aDogMTAwJTtcblx0b3ZlcmZsb3c6IGhpZGRlbjsgLyogUHJldmVudCB2aWV3IGl0c2VsZiBmcm9tIHNjcm9sbGluZyAqL1xufVxuXG4udGcta2FuYmFuLWZpbHRlcnMge1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRmbGV4LXNocmluazogMDsgLyogRG9uJ3Qgc2hyaW5rIGZpbHRlciBiYXIgKi9cblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuXHRnYXA6IDhweDtcblx0cGFkZGluZzogOHB4O1xuXHRwYWRkaW5nLWJvdHRvbTogMDtcblx0cGFkZGluZy10b3A6IDA7XG59XG5cbi50Zy1rYW5iYW4tY29udHJvbHMtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAxMnB4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi50Zy1rYW5iYW4tc29ydC1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDRweDtcbn1cblxuLnRnLWthbmJhbi1zb3J0LWJ1dHRvbiB7XG5cdHBhZGRpbmc6IDRweCA4cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogNHB4O1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xufVxuXG4udGcta2FuYmFuLXNvcnQtYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4udGcta2FuYmFuLXRvZ2dsZS1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDRweDtcbn1cblxuLnRnLWthbmJhbi10b2dnbGUtbGFiZWwge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDZweDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4udGcta2FuYmFuLXRvZ2dsZS1jaGVja2JveCB7XG5cdG1hcmdpbjogMDtcbn1cblxuLnRnLWthbmJhbi1maWx0ZXItaW5wdXQge1xuXHRmbGV4LWdyb3c6IDE7XG5cdHBhZGRpbmc6IDZweCAxMHB4O1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0bWFyZ2luLXJpZ2h0OiAxMHB4OyAvKiBPcHRpb25hbDogc3BhY2UgaWYgb3RoZXIgY29udHJvbHMgYXJlIGFkZGVkICovXG59XG5cbi50Zy1rYW5iYW4tZmlsdGVyLWlucHV0OmZvY3VzIHtcblx0b3V0bGluZTogbm9uZTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAxcHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLnRnLWthbmJhbi1jb2x1bW4tY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1ncm93OiAxOyAvKiBUYWtlIHJlbWFpbmluZyBoZWlnaHQgKi9cblx0b3ZlcmZsb3cteDogYXV0bzsgLyogQWxsb3cgaG9yaXpvbnRhbCBzY3JvbGxpbmcgZm9yIGNvbHVtbnMgKi9cblx0b3ZlcmZsb3cteTogaGlkZGVuOyAvKiBQcmV2ZW50IHZlcnRpY2FsIHNjcm9sbGluZyBoZXJlICovXG5cdHBhZGRpbmc6IDEwcHg7XG5cdGdhcDogMTBweDsgLyogU3BhY2UgYmV0d2VlbiBjb2x1bW5zICovXG5cdGhlaWdodDogMTAwJTsgLyogTmVlZGVkIGZvciBjaGlsZHJlbiBoZWlnaHQgKi9cblxuXHQvKiBNb2JpbGUgc2Nyb2xsaW5nIGltcHJvdmVtZW50cyAqL1xuXHQtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IC8qIFNtb290aCBob3Jpem9udGFsIHNjcm9sbGluZyBvbiBpT1MgKi9cblx0LyogQ29uZGl0aW9uYWwgb3ZlcnNjcm9sbCBiZWhhdmlvciAtIHByZXZlbnQgYm91bmNlIG9uIGRlc2t0b3AsIGFsbG93IG9uIG1vYmlsZSBmb3IgZHJhZyAqL1xuXHRvdmVyc2Nyb2xsLWJlaGF2aW9yLXg6IGF1dG87IC8qIEFsbG93IGRlZmF1bHQgYmVoYXZpb3IgZm9yIG1vYmlsZSBkcmFnIGNvbXBhdGliaWxpdHkgKi9cblx0c2Nyb2xsLXNuYXAtdHlwZTogeCBwcm94aW1pdHk7IC8qIEtlZXAgc25hcCBmb3IgbW9iaWxlIFVYICovXG5cdHNjcm9sbC1iZWhhdmlvcjogc21vb3RoOyAvKiBTbW9vdGggc2Nyb2xsaW5nICovXG59XG5cbi8qIERlc2t0b3Atc3BlY2lmaWM6IFByZXZlbnQgc2Nyb2xsIGJvdW5jZSAqL1xuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuXHQudGcta2FuYmFuLWNvbHVtbi1jb250YWluZXIge1xuXHRcdG92ZXJzY3JvbGwtYmVoYXZpb3IteDogbm9uZTsgLyogUHJldmVudCBib3VuY2Ugb24gZGVza3RvcCAqL1xuXHRcdHNjcm9sbC1zbmFwLXR5cGU6IG5vbmU7IC8qIERpc2FibGUgc25hcCBvbiBkZXNrdG9wICovXG5cdH1cbn1cblxuLnRnLWthbmJhbi1jb2x1bW4ge1xuXHRmbGV4OiAwIDAgMjgwcHg7IC8qIEZpeGVkIHdpZHRoIGZvciBjb2x1bW5zLCBubyBzaHJpbmtpbmcvZ3Jvd2luZyAqL1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0aGVpZ2h0OiAxMDAlOyAvKiBGaWxsIGNvbnRhaW5lciBoZWlnaHQgKi9cblx0bWF4LWhlaWdodDogMTAwJTsgLyogUHJldmVudCBleGNlZWRpbmcgY29udGFpbmVyICovXG5cdG92ZXJmbG93OiBoaWRkZW47IC8qIEhpZGUgb3ZlcmZsb3cgd2l0aGluIHRoZSBjb2x1bW4gKi9cblxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cblx0LyogTW9iaWxlIHNjcm9sbCBzbmFwIGZvciBiZXR0ZXIgVVggKi9cblx0c2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0O1xufVxuXG4vKiBEZXNrdG9wLXNwZWNpZmljOiBEaXNhYmxlIHNjcm9sbCBzbmFwICovXG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG5cdC50Zy1rYW5iYW4tY29sdW1uIHtcblx0XHRzY3JvbGwtc25hcC1hbGlnbjogbm9uZTtcblx0fVxufVxuXG4udGcta2FuYmFuLWNvbHVtbi1oZWFkZXIge1xuXHRwYWRkaW5nOiA4cHggMTJweDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bW4pO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRmbGV4LXNocmluazogMDsgLyogUHJldmVudCBoZWFkZXIgZnJvbSBzaHJpbmtpbmcgKi9cblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4udGcta2FuYmFuLWNvbHVtbi1jb250ZW50IHtcblx0ZmxleC1ncm93OiAxO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRwYWRkaW5nOiA4cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogOHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xuXHQvKiBwYWRkaW5nLXJpZ2h0OiAwOyAqL1xuXHQtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cdG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47IC8qIEtlZXAgY29udGFpbiBmb3IgbW9iaWxlIGRyYWcgY29tcGF0aWJpbGl0eSAqL1xuXHRzY3JvbGwtYmVoYXZpb3I6IHNtb290aDsgLyogU21vb3RoIHNjcm9sbGluZyAqL1xufVxuXG4vKiBEZXNrdG9wLXNwZWNpZmljOiBQcmV2ZW50IHZlcnRpY2FsIHNjcm9sbCBib3VuY2UgKi9cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcblx0LnRnLWthbmJhbi1jb2x1bW4tY29udGVudCB7XG5cdFx0b3ZlcnNjcm9sbC1iZWhhdmlvcjogbm9uZTsgLyogUHJldmVudCBib3VuY2Ugb24gZGVza3RvcCAqL1xuXHR9XG59XG4vKiAtLS0gQ2FyZCBTdHlsaW5nIC0tLSAqL1xuLnRnLWthbmJhbi1jYXJkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRwYWRkaW5nOiAxMHB4IDEycHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y3Vyc29yOiBncmFiO1xuXHR0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMnMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLWluLW91dDtcblxuXHQvKiBFbnN1cmUgY2FyZCBmaXRzIHdpdGhpbiBjb2x1bW4gYW5kIGhhbmRsZXMgY29udGVudCAqL1xuXHRtYXgtd2lkdGg6IDEwMCU7IC8qIFByZXZlbnQgY2FyZCBmcm9tIGV4Y2VlZGluZyBwYXJlbnQgd2lkdGggKi9cblx0Ym94LXNpemluZzogYm9yZGVyLWJveDsgLyogSW5jbHVkZSBwYWRkaW5nL2JvcmRlciBpbiB3aWR0aCAqL1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwOyAvKiBBbGxvdyB0ZXh0IHdyYXBwaW5nICovXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG5cdC8qIE1vYmlsZSB0b3VjaCBpbXByb3ZlbWVudHMgKi9cblx0dG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IC8qIE9wdGltaXplIGZvciB0b3VjaCBpbnRlcmFjdGlvbnMgKi9cblx0dXNlci1zZWxlY3Q6IG5vbmU7IC8qIFByZXZlbnQgdGV4dCBzZWxlY3Rpb24gZHVyaW5nIGRyYWcgKi9cblx0LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcblx0LW1vei11c2VyLXNlbGVjdDogbm9uZTtcblx0LW1zLXVzZXItc2VsZWN0OiBub25lO1xufVxuXG4udGcta2FuYmFuLWNhcmQgLnRnLWthbmJhbi1jYXJkLWNvbnRlbnQge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi50Zy1rYW5iYW4tY2FyZDpob3ZlciB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbSk7XG59XG5cbi50Zy1rYW5iYW4tY2FyZC50YXNrLWNvbXBsZXRlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0b3BhY2l0eTogMC43O1xufVxuXG4udGcta2FuYmFuLWNhcmQudGFzay1jb21wbGV0ZWQgLnRnLWthbmJhbi1jYXJkLWNvbnRlbnQge1xuXHR0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGcta2FuYmFuLWNhcmQtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdG1hcmdpbi1ib3R0b206IDZweDtcbn1cblxuLnRnLWthbmJhbi1jYXJkLWNvbnRlbnQgcDpsYXN0LWNoaWxkIHtcblx0bWFyZ2luLWJvdHRvbTogMDsgLyogQXZvaWQgZXh0cmEgc3BhY2UgZnJvbSBwYXJhZ3JhcGggKi9cblx0bWFyZ2luLWJsb2NrLWVuZDogMDtcblx0bWFyZ2luLWJsb2NrLXN0YXJ0OiAwO1xufVxuXG4udGcta2FuYmFuLWNhcmQtbWV0YWRhdGEge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGdhcDogNHB4IDhweDsgLyogUm93IGFuZCBjb2x1bW4gZ2FwICovXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnRnLWthbmJhbi1jYXJkLW1ldGFkYXRhIC50YXNrLWRhdGUsXG4udGcta2FuYmFuLWNhcmQtbWV0YWRhdGEgLnRhc2stdGFncy1jb250YWluZXIsXG4udGcta2FuYmFuLWNhcmQtbWV0YWRhdGEgLnRhc2stcHJpb3JpdHkge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDRweDtcblx0cGFkZGluZzogMnB4IDVweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cblx0bWFyZ2luLWlubGluZS1zdGFydDogMDtcblx0bWFyZ2luLWlubGluZS1lbmQ6IDA7XG5cdG1hcmdpbi1sZWZ0OiAwO1xuXHRtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi50Zy1rYW5iYW4tY2FyZC1tZXRhZGF0YSAudGFzay10YWcge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXG5cdFx0LS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjY2VudC1ob3ZlclxuXHQpOyAvKiBPciB1c2UgdGFnIGNvbG9yICovXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdHBhZGRpbmc6IDFweCA0cHg7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Zm9udC1zaXplOiBjYWxjKHZhcigtLWZvbnQtdWktc21hbGwpICogMC45KTtcbn1cblxuLnRnLWthbmJhbi1jYXJkLW1ldGFkYXRhIC50YXNrLWR1ZS1kYXRlLnRhc2stb3ZlcmR1ZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1lcnJvcik7XG59XG4udGcta2FuYmFuLWNhcmQtbWV0YWRhdGEgLnRhc2stZHVlLWRhdGUudGFzay1kdWUtdG9kYXkge1xuXHRjb2xvcjogdmFyKC0tdGV4dC13YXJuaW5nKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC13YXJuaW5nKTtcbn1cblxuLyogUHJpb3JpdHkgaW5kaWNhdG9ycyAoc2ltcGxlIGV4YW1wbGUpICovXG4udGcta2FuYmFuLWNhcmQtbWV0YWRhdGEgLnRhc2stcHJpb3JpdHkucHJpb3JpdHktMSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG4udGcta2FuYmFuLWNhcmQtbWV0YWRhdGEgLnRhc2stcHJpb3JpdHkucHJpb3JpdHktMiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LXdhcm5pbmcpO1xufVxuLnRnLWthbmJhbi1jYXJkLW1ldGFkYXRhIC50YXNrLXByaW9yaXR5LnByaW9yaXR5LTMge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLyogQWRkIG1vcmUgcHJpb3JpdHkgc3R5bGVzIGlmIG5lZWRlZCAqL1xuXG4vKiAtLS0gRHJhZyBhbmQgRHJvcCBTdHlsaW5nIC0tLSAqL1xuLnRnLWthbmJhbi1jYXJkLWRyYWdnaW5nIHtcblx0LyogU3R5bGUgZm9yIHRoZSBjbG9uZSBiZWluZyBkcmFnZ2VkICovXG5cdC8qIG9wYWNpdHk6IDAuODsgKi8gLyogUmVtb3ZlZCBvcGFjaXR5ICovXG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sKTsgLyogTW9yZSBwcm9taW5lbnQgc2hhZG93ICovXG59XG5cbi50Zy1rYW5iYW4tY2FyZC1naG9zdCB7XG5cdC8qIFN0eWxlIGZvciB0aGUgb3JpZ2luYWwgY2FyZCB3aGVuIGEgY2xvbmUgaXMgZHJhZ2dlZCAqL1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xuXHRib3JkZXI6IDFweCBkYXNoZWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3gtc2hhZG93OiBub25lO1xufVxuXG4udGcta2FuYmFuLWNvbHVtbi1jb250ZW50LnRnLWthbmJhbi1kcm9wLXRhcmdldC1hY3RpdmUge1xuXHQvKiBTdHlsZSBmb3IgcG90ZW50aWFsIGRyb3Agem9uZXMgd2hlbiBkcmFnZ2luZyBzdGFydHMgKi9cblx0LyogYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7ICovXG5cdG91dGxpbmU6IDJweCBkYXNoZWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQtaG92ZXIpO1xuXHRvdXRsaW5lLW9mZnNldDogLTJweDtcbn1cblxuLnRnLWthbmJhbi1jb2x1bW4tY29udGVudC50Zy1rYW5iYW4tZHJvcC10YXJnZXQtaG92ZXIge1xuXHQvKiBTdHlsZSBmb3IgdGhlIHNwZWNpZmljIGRyb3Agem9uZSBiZWluZyBob3ZlcmVkIG92ZXIgKi9cblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQtaG92ZXIpO1xufVxuXG4vKiBTdHlsZXMgZm9yIEthbmJhbiBkcm9wIGluZGljYXRvcnMgKi9cbi50Zy1rYW5iYW4tY2FyZC0tZHJvcC1pbmRpY2F0b3ItYmVmb3JlIHtcblx0bWFyZ2luLXRvcDogMTBweDsgLyogSW5jcmVhc2VkIG1hcmdpbiAqL1xuXHRib3JkZXItdG9wOiAycHggZGFzaGVkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7IC8qIEluZGljYXRvciAqL1xuXHQvKiBwYWRkaW5nLXRvcDogMjBweDsgKi8gLyogUmVtb3ZlZCBwYWRkaW5nICovXG5cdHRyYW5zaXRpb246IG1hcmdpbi10b3AgMC4xcyBlYXNlLW91dCwgYm9yZGVyLXRvcCAwLjFzIGVhc2Utb3V0OyAvKiBVcGRhdGVkIHRyYW5zaXRpb24gKi9cbn1cblxuLnRnLWthbmJhbi1jYXJkLS1kcm9wLWluZGljYXRvci1hZnRlciB7XG5cdG1hcmdpbi1ib3R0b206IDEwcHg7IC8qIEluY3JlYXNlZCBtYXJnaW4gKi9cblx0Ym9yZGVyLWJvdHRvbTogMnB4IGRhc2hlZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpOyAvKiBJbmRpY2F0b3IgKi9cblx0LyogcGFkZGluZy1ib3R0b206IDIwcHg7ICovIC8qIFJlbW92ZWQgcGFkZGluZyAqL1xuXHR0cmFuc2l0aW9uOiBtYXJnaW4tYm90dG9tIDAuMXMgZWFzZS1vdXQsIGJvcmRlci1ib3R0b20gMC4xcyBlYXNlLW91dDsgLyogVXBkYXRlZCB0cmFuc2l0aW9uICovXG59XG5cbi8qIE9wdGlvbmFsOiBTdHlsZSBmb3IgZHJvcHBpbmcgaW50byBhbiBlbXB0eSBjb2x1bW4gKi9cbi50Zy1rYW5iYW4tY29sdW1uLWNvbnRlbnQtLWRyb3AtaW5kaWNhdG9yLWVtcHR5IHtcblx0Ym9yZGVyOiAycHggZGFzaGVkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdG1pbi1oZWlnaHQ6IDUwcHg7IC8qIEVuc3VyZSBlbXB0eSBjb2x1bW4gaGFzIHNvbWUgaGVpZ2h0IGZvciB0aGUgYm9yZGVyICovXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIEluY2x1ZGUgYm9yZGVyIGluIGhlaWdodCBjYWxjdWxhdGlvbiAqL1xuXHRtYXJnaW4tdG9wOiA1cHg7IC8qIEFkZCBzb21lIHNwYWNlICovXG5cdG1hcmdpbi1ib3R0b206IDVweDsgLyogQWRkIHNvbWUgc3BhY2UgKi9cbn1cblxuLyogRW5zdXJlIHRyYW5zaXRpb25zIGFyZSBzbW9vdGggd2hlbiBjbGFzc2VzIGFyZSByZW1vdmVkICovXG4udGcta2FuYmFuLWNhcmQge1xuXHQvKiBFbnN1cmUgZXhpc3RpbmcgdHJhbnNpdGlvbnMgZG9uJ3QgY29uZmxpY3QsIG9yIGFkZCBiYXNlIHRyYW5zaXRpb24gKi9cblx0dHJhbnNpdGlvbjogbWFyZ2luIDAuMXMgZWFzZS1vdXQsIHBhZGRpbmcgMC4xcyBlYXNlLW91dCxcblx0XHRib3JkZXIgMC4xcyBlYXNlLW91dCwgdHJhbnNmb3JtIDAuMnMgZWFzZS1vdXQsXG5cdFx0Ym94LXNoYWRvdyAwLjJzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZS1pbi1vdXQ7IC8qIE1lcmdlZCB0cmFuc2l0aW9ucyAqL1xufVxuXG4uZHJvcC10YXJnZXQtYWN0aXZlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxMjgsIDAsIDAuMik7IC8qIFx1NTM0QVx1OTAwRlx1NjYwRVx1N0VGRlx1ODI3Mlx1ODBDQ1x1NjY2RiAqL1xuXHRvdXRsaW5lOiAycHggZGFzaGVkIGdyZWVuOyAvKiBcdTdFRkZcdTgyNzJcdTg2NUFcdTdFQkZcdThGQjlcdTY4NDYgKi9cblx0LyogXHU0RjYwXHU1M0VGXHU4MEZEXHU4RkQ4XHU5NzAwXHU4OTgxXHU4QzAzXHU2NTc0IHBhZGRpbmcgXHU2MjE2IG1hcmdpbiBcdTY3NjUgJ1x1NjUzRVx1NTkyNycgXHU4OUM2XHU4OUM5XHU1MzNBXHU1N0RGICovXG5cdC8qIHBhZGRpbmctdG9wOiAyMHB4OyAqL1xuXHQvKiBwYWRkaW5nLWJvdHRvbTogMjBweDsgKi9cbn1cblxuLyogQWRkIENhcmQgQnV0dG9uICovXG4udGcta2FuYmFuLWFkZC1jYXJkLWNvbnRhaW5lciB7XG5cdHBhZGRpbmc6IDhweDtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0ZmxleC1zaHJpbms6IDA7IC8qIFByZXZlbnQgY29udGFpbmVyIGZyb20gc2hyaW5raW5nICovXG59XG5cbi8qIFN0eWxlcyBmb3IgdGhlIEFkZCBDYXJkIGJ1dHRvbiBpbiBib2FyZCB2aWV3ICovXG4udGFzay1nZW5pdXMtYWRkLWNhcmQtY29udGFpbmVyIHtcblx0cGFkZGluZzogOHB4O1xuXHRtYXJnaW4tdG9wOiBhdXRvOyAvKiBQdXNoIHRvIHRoZSBib3R0b20gaWYgdGhlIGNvbHVtbiB1c2VzIGZsZXggKi9cblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGcta2FuYmFuLWFkZC1jYXJkLWJ1dHRvbiB7XG5cdC0taWNvbi1zaXplOiAxNnB4O1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGJvcmRlcjogbm9uZTtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIE1ha2UgaXQgbGVzcyBwcm9taW5lbnQgKi9cblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0dGV4dC1hbGlnbjogbGVmdDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UtaW4tb3V0LCBjb2xvciAwLjJzIGVhc2UtaW4tb3V0O1xufVxuXG4udGcta2FuYmFuLWFkZC1jYXJkLWJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4vKiBDb2x1bW4gRHJhZyAmIERyb3AgU3R5bGluZyAqL1xuLnRnLWthbmJhbi1jb2x1bW4tZHJhZ2dpbmcge1xuXHQvKiBTdHlsZSBmb3IgdGhlIGNvbHVtbiBiZWluZyBkcmFnZ2VkICovXG5cdHRyYW5zZm9ybTogcm90YXRlKDVkZWcpO1xuXHRvcGFjaXR5OiAwLjg7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy14bCk7XG5cdHotaW5kZXg6IDEwMDA7XG59XG5cbi50Zy1rYW5iYW4tY29sdW1uLWdob3N0IHtcblx0LyogU3R5bGUgZm9yIHRoZSBnaG9zdCBwbGFjZWhvbGRlciB3aGVuIGRyYWdnaW5nIGNvbHVtbnMgKi9cblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXI6IDJweCBkYXNoZWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQpO1xuXHRvcGFjaXR5OiAwLjU7XG59XG5cbi50Zy1rYW5iYW4tY29sdW1uLWhlYWRlciB7XG5cdC8qIE1ha2UgY29sdW1uIGhlYWRlcnMgZHJhZ2dhYmxlICovXG5cdGN1cnNvcjogZ3JhYjtcbn1cblxuLnRnLWthbmJhbi1jb2x1bW4taGVhZGVyOmFjdGl2ZSB7XG5cdGN1cnNvcjogZ3JhYmJpbmc7XG59XG4iLCAiLyogRmlsdGVyIENvbXBvbmVudCBTdHlsZXMgKi9cbi5maWx0ZXItY29tcG9uZW50IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC0zKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0bWluLWhlaWdodDogNDhweDtcblxuXHRmbGV4OiAxO1xufVxuXG4vKiBGaWx0ZXIgUGlsbHMgQ29udGFpbmVyICovXG4uZmlsdGVyLXBpbGxzLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdGZsZXg6IDE7XG59XG5cbi8qIEZpbHRlciBDb250cm9scyAqL1xuLmZpbHRlci1jb250cm9scyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLyogRmlsdGVyIFBpbGxzICovXG4uZmlsdGVyLXBpbGwge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtNC0xKTtcblx0cGFkZGluZzogNXB4IDhweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGFuaW1hdGlvbjogZmlsdGVyLXBpbGwtYXBwZWFyIDIwMG1zIGVhc2Utb3V0O1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLWR1cmF0aW9uLWZhc3QpLFxuXHRcdHRyYW5zZm9ybSB2YXIoLS1kdXJhdGlvbi1mYXN0KTtcbn1cblxuLmZpbHRlci1waWxsLXJlbW92ZSAuY2xpY2thYmxlLWljb246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcbn1cblxuLmZpbHRlci1waWxsOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC10ZXJ0aWFyeSk7XG59XG5cbi5maWx0ZXItcGlsbC1jYXRlZ29yeSB7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLmZpbHRlci1waWxsLXZhbHVlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmZpbHRlci1waWxsLXJlbW92ZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRib3JkZXI6IG5vbmU7XG5cdHBhZGRpbmc6IDA7XG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zaXplLTQtMSk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLWR1cmF0aW9uLWZhc3QpLFxuXHRcdGNvbG9yIHZhcigtLWR1cmF0aW9uLWZhc3QpO1xufVxuXG4uZmlsdGVyLXBpbGwtcmVtb3ZlOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5maWx0ZXItcGlsbC1yZW1vdmUtaWNvbiB7XG5cdGZvbnQtc2l6ZTogMTZweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi8qIEZpbHRlciBCdXR0b25zICovXG4uZmlsdGVyLWFkZC1idXR0b24sXG4uZmlsdGVyLWNsZWFyLWFsbC1idXR0b24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiA2cHggMTBweDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZmlsdGVyLWFkZC1idXR0b24ge1xuXHRnYXA6IHZhcigtLXNpemUtNC0xKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4uZmlsdGVyLWFkZC1pY29uIHtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtYm9sZCk7XG5cblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi8qIEZpbHRlciBEcm9wZG93biAqL1xuLmZpbHRlci1kcm9wZG93biB7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0d2lkdGg6IDIyMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHR6LWluZGV4OiB2YXIoLS1sYXllci1wb3BvdmVyKTtcblx0bWF4LWhlaWdodDogNDAwcHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG9wYWNpdHk6IDA7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS1kdXJhdGlvbi1ub3JtYWwpLCB0cmFuc2Zvcm0gdmFyKC0tZHVyYXRpb24tbm9ybWFsKTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmZpbHRlci1kcm9wZG93bi12aXNpYmxlIHtcblx0b3BhY2l0eTogMTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG4uZmlsdGVyLWRyb3Bkb3duLWhlYWRlciB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLmZpbHRlci1kcm9wZG93bi1zZWFyY2gge1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG4uZmlsdGVyLWRyb3Bkb3duLXNlYXJjaDpmb2N1cyB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWZvY3VzLXJpbmctY29sb3IpO1xufVxuXG4uZmlsdGVyLWRyb3Bkb3duLWxpc3Qge1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRtYXgtaGVpZ2h0OiAzNTBweDtcbn1cblxuLmZpbHRlci1kcm9wZG93bi1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC0zKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLWR1cmF0aW9uLWZhc3QpO1xufVxuXG4uZmlsdGVyLWRyb3Bkb3duLWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi5maWx0ZXItZHJvcGRvd24taXRlbS1sYWJlbCB7XG5cdGZsZXg6IDE7XG59XG5cbi5maWx0ZXItZHJvcGRvd24taXRlbS1hcnJvdyB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcblx0Zm9udC1zaXplOiAxOHB4O1xufVxuXG4uZmlsdGVyLWRyb3Bkb3duLWl0ZW0tYXJyb3cuYmFjayB7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS00LTIpO1xuXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uZmlsdGVyLWRyb3Bkb3duLWJhY2sge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5maWx0ZXItZHJvcGRvd24tc2VwYXJhdG9yIHtcblx0aGVpZ2h0OiAxcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWRpdmlkZXItY29sb3IpO1xuXHRtYXJnaW46IHZhcigtLXNpemUtNC0xKSAwO1xufVxuXG4uZmlsdGVyLWRyb3Bkb3duLWVtcHR5IHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcbn1cblxuLmZpbHRlci1kcm9wZG93bi12YWx1ZS1pdGVtIHtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zaXplLTQtNCk7XG59XG5cbi5maWx0ZXItZHJvcGRvd24tY2F0ZWdvcnkge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4uZmlsdGVyLWRyb3Bkb3duLXZhbHVlLXByZXZpZXcge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMSkgdmFyKC0tc2l6ZS00LTQpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tZHVyYXRpb24tZmFzdCk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5maWx0ZXItZHJvcGRvd24tdmFsdWUtcHJldmlldzpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbn1cblxuLyogQW5pbWF0aW9ucyAqL1xuQGtleWZyYW1lcyBmaWx0ZXItcGlsbC1hcHBlYXIge1xuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMC45KTtcblx0fVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHR9XG59XG5cbi5maWx0ZXItcGlsbC1yZW1vdmluZyB7XG5cdG9wYWNpdHk6IDA7XG5cdHRyYW5zZm9ybTogc2NhbGUoMC45KTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBlYXNlLW91dCwgdHJhbnNmb3JtIDE1MG1zIGVhc2Utb3V0O1xufVxuIiwgIi8qIHN0eWxlcy9jYWxlbmRhci9jYWxlbmRhci5jc3MgKi9cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIHtcblx0Y29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRoZWlnaHQ6IDEwMCU7IC8qIE9yIGFkanVzdCBhcyBuZWVkZWQgKi9cblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0ZmxleC1ncm93OiAxO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTMpIHZhcigtLXNpemUtNC00KTsgLyogVXNlIE9ic2lkaWFuIHZhcmlhYmxlcyAqL1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRmbGV4LXNocmluazogMDsgLyogUHJldmVudCBoZWFkZXIgZnJvbSBzaHJpbmtpbmcgKi9cblx0bWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1oZWFkZXIgYnV0dG9uIHtcblx0bWFyZ2luOiAwIHZhcigtLXNpemUtNC0xKTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1uYXYsXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXZpZXctc3dpdGNoZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1uYXYgYnV0dG9uIHtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdmlldy1zd2l0Y2hlciBidXR0b24ge1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdmlldy1zd2l0Y2hlciBidXR0b246bm90KC5pcy1hY3RpdmUpLFxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1uYXYgYnV0dG9uOm5vdCguaXMtYWN0aXZlKSB7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy14cyk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1jdXJyZW50LWRhdGUge1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1zZW1pYm9sZCk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1sYXJnZSk7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0ZmxleC1ncm93OiAxOyAvKiBBbGxvdyBpdCB0byB0YWtlIHNwYWNlICovXG5cblx0bWF4LXdpZHRoOiBtYXgoMTIwcHgsIDQwJSk7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXZpZXctc3dpdGNoZXIgYnV0dG9uLmlzLWFjdGl2ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci12aWV3LWNvbnRhaW5lciB7XG5cdGZsZXgtZ3JvdzogMTsgLyogQWxsb3cgdmlldyB0byB0YWtlIHJlbWFpbmluZyBzcGFjZSAqL1xuXHRvdmVyZmxvdy15OiBhdXRvOyAvKiBFbmFibGUgc2Nyb2xsaW5nIGlmIGNvbnRlbnQgb3ZlcmZsb3dzICovXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcblx0cG9zaXRpb246IHJlbGF0aXZlOyAvKiBOZWVkZWQgZm9yIGFic29sdXRlIHBvc2l0aW9uaW5nIG9mIGV2ZW50cyAqL1xuXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi8qIEJhc2ljIFZpZXcgU3R5bGVzIChQbGFjZWhvbGRlcnMpICovXG4vKiAtLS0gTW9udGggVmlldyBTcGVjaWZpYyBTdHlsZXMgLS0tICovXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXdlZWtkYXktaGVhZGVyIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgMWZyKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0xKSAwO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRtYXJnaW4tYm90dG9tOiAtMXB4OyAvKiBPdmVybGFwIHdpdGggZ3JpZCBnYXAgKi9cblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpOyAvKiBTbGlnaHQgZGlzdGluY3Rpb24gKi9cbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci13ZWVrZGF5IHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTEpO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXZpZXctY29udGFpbmVyLnZpZXctbW9udGgge1xuXHRwYWRkaW5nOiAwOyAvKiBSZW1vdmUgcGFkZGluZyBpZiBncmlkIHByb3ZpZGVzIGl0IHZpYSBnYXAgKi9cblx0LyogU3R5bGVzIG1vdmVkIHRvIC5jYWxlbmRhci1tb250aC1ncmlkICovXG59XG5cbi8qIEFkZCB0aGUgZ3JpZCBzdHlsZXMgZGlyZWN0bHkgdG8gdGhlIGdyaWQgY29udGFpbmVyIGVsZW1lbnQgKi9cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItbW9udGgtZ3JpZCB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIDFmcik7XG5cdGdyaWQtYXV0by1yb3dzOiBtaW5tYXgoMTAwcHgsIGF1dG8pOyAvKiBHaXZlIHJvd3MgYSBtaW5pbXVtIGhlaWdodCAqL1xuXHRnYXA6IDFweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpOyAvKiBHcmlkIGxpbmVzICovXG5cblx0aGVpZ2h0OiAxMDAlO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1jZWxsIHtcblx0LyogRXhhbXBsZSBzdHlsZSBmb3IgYSBkYXkgY2VsbCBpbiBtb250aCB2aWV3ICovXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0xKTtcblx0LyogbWluLWhlaWdodDogODBweDsgLSBMZXQgZ3JpZC1hdXRvLXJvd3MgaGFuZGxlIGhlaWdodCAqL1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGZsZXg7IC8qIFVzZSBmbGV4Ym94IGZvciBsYXlvdXQgaW5zaWRlIHRoZSBjZWxsICovXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8qIFN0YWNrIGRheSBudW1iZXIgYW5kIGV2ZW50cyAqL1xuXHRtaW4td2lkdGg6IDA7IC8qIFByZXZlbnQgY29udGVudCBmcm9tIGV4cGFuZGluZyB0aGUgY2VsbCB3aWR0aCBpbiB0aGUgZ3JpZCAqL1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1jZWxsOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogaHNsKFxuXHRcdHZhcigtLWNvbG9yLWFjY2VudC1oKSxcblx0XHR2YXIoLS1jb2xvci1hY2NlbnQtcyksXG5cdFx0dmFyKC0tY29sb3ItYWNjZW50LWwpLFxuXHRcdDAuOFxuXHQpICFpbXBvcnRhbnQ7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWNlbGwuaXMtdG9kYXkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpICFpbXBvcnRhbnQ7XG5cdGJvcmRlcjogMXB4IHNvbGlkXG5cdFx0aHNsKHZhcigtLWFjY2VudC1oKSwgdmFyKC0tYWNjZW50LXMpLCB2YXIoLS1hY2NlbnQtbCksIDAuNSk7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWNlbGwuaXMtdG9kYXkgLmNhbGVuZGFyLWRheS1udW1iZXIge1xuXHRjb2xvcjogaHNsKHZhcigtLWFjY2VudC1oKSwgdmFyKC0tYWNjZW50LXMpLCB2YXIoLS1hY2NlbnQtbCksIDEpO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1oZWFkZXIge1xuXHR3aWR0aDogMTAwJTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTEpO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1jZWxsOm5vdCguaXMtdG9kYXkpIHtcblx0b3BhY2l0eTogMC43O1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1jZWxsLmlzLW90aGVyLW1vbnRoIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRvcGFjaXR5OiAwLjc7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWNlbGwuaXMtd2Vla2VuZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcihcblx0XHQtLWJhY2tncm91bmQtc2Vjb25kYXJ5XG5cdCk7IC8qIFNsaWdodGx5IGRpZmZlcmVudCBiYWNrZ3JvdW5kIGZvciB3ZWVrZW5kcyAqL1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1udW1iZXIge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0xKTtcblx0ZmxleC1zaHJpbms6IDA7IC8qIFByZXZlbnQgbnVtYmVyIGZyb20gc2hyaW5raW5nICovXG5cdGFsaWduLXNlbGY6IGZsZXgtZW5kOyAvKiBQb3NpdGlvbiB0byB0aGUgdG9wIHJpZ2h0ICovXG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnRzLWNvbnRhaW5lciB7XG5cdGZsZXgtZ3JvdzogMTsgLyogQWxsb3cgZXZlbnRzIGNvbnRhaW5lciB0byBmaWxsIHNwYWNlICovXG5cdG92ZXJmbG93OiBoaWRkZW47IC8qIEhpZGUgZXZlbnRzIHRoYXQgb3ZlcmZsb3cgdGhlIGNlbGwgaGVpZ2h0ICovXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudCB7XG5cdC8qIEV4YW1wbGUgc3R5bGUgZm9yIGFuIGV2ZW50ICovXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0cGFkZGluZzogMnB4IDRweDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRtYXJnaW4tYm90dG9tOiAycHg7XG5cdG1hcmdpbi1ib3R0b206IDNweDsgLyogSW5jcmVhc2Ugc3BhY2luZyBzbGlnaHRseSAqL1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRkaXNwbGF5OiBibG9jazsgLyogRW5zdXJlIGl0IHRha2VzIGZ1bGwgd2lkdGggYXZhaWxhYmxlICovXG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQ6aGFzKC50YXNrLWxpc3QtaXRlbS1jaGVja2JveCkge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXJcblx0LmNhbGVuZGFyLWV2ZW50OmhhcygudGFzay1saXN0LWl0ZW0tY2hlY2tib3gpLmNhbGVuZGFyLWV2ZW50LXdlZWstYWxsZGF5IHtcblx0ZGlzcGxheTogZmxleDtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyXG5cdC5jYWxlbmRhci1ldmVudDpoYXMoLnRhc2stbGlzdC1pdGVtLWNoZWNrYm94KS5jYWxlbmRhci1ldmVudC1tb250aCB7XG5cdGRpc3BsYXk6IGZsZXg7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50OmhvdmVyIHtcblx0b3BhY2l0eTogMC44O1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50LmlzLWNvbXBsZXRlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcihcblx0XHQtLWJhY2tncm91bmQtbW9kaWZpZXItc3VjY2Vzcy1ob3ZlclxuXHQpOyAvKiBPciB1c2UgZ3JleS9zdHJpa2V0aHJvdWdoICovXG5cdHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuXHRvcGFjaXR5OiAwLjc7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQuaXMtbXVsdGktZGF5IHtcblx0LyogQmFzaWMgc3R5bGUgZm9yIG11bHRpLWRheSwgbW9yZSBhZHZhbmNlZCBjb3VsZCByZW1vdmUgcm91bmRlZCBjb3JuZXJzICovXG59XG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50LmlzLW11bHRpLWRheS5pcy1zdGFydCB7XG5cdC8qIE9wdGlvbmFsOiBzdHlsZSB0aGUgc3RhcnQgc2VnbWVudCBkaWZmZXJlbnRseSAqL1xuXHQvKiBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsgKi9cblx0LyogYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7ICovXG59XG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50LmlzLW11bHRpLWRheS5pcy1lbmQge1xuXHQvKiBPcHRpb25hbDogc3R5bGUgdGhlIGVuZCBzZWdtZW50IGRpZmZlcmVudGx5ICovXG5cdC8qIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7ICovXG5cdC8qIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7ICovXG59XG5cbi8qIEFkZCBtb3JlIHNwZWNpZmljIHN0eWxlcyBmb3Igd2VlaywgZGF5LCBhZ2VuZGEgdmlld3MgYXMgdGhleSBhcmUgaW1wbGVtZW50ZWQgKi9cblxuLyogU3R5bGUgZm9yIG1vbnRoIHZpZXcgZXZlbnRzIHRvIGhhbmRsZSBvdmVyZmxvdyAqL1xuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudC5jYWxlbmRhci1ldmVudC1tb250aCB7XG5cdC8qIEluaGVyaXRzIGJhc2UgLmNhbGVuZGFyLWV2ZW50IHN0eWxlcyAqL1xuXHQvKiBBZGQgb3ZlcmZsb3cgaGFuZGxpbmcgc2ltaWxhciB0byB3ZWVrLWFsbGRheSAqL1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0ZGlzcGxheTogYmxvY2s7IC8qIEVuc3VyZSBibG9jayBkaXNwbGF5ICovXG5cdHdpZHRoOiAxMDAlOyAvKiBFeHBsaWNpdGx5IHNldCB3aWR0aCAqL1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiBJbmNsdWRlIHBhZGRpbmcvYm9yZGVyIGluIHdpZHRoICovXG59XG5cbi8qIC0tLSBEYXkgVmlldyBTcGVjaWZpYyBTdHlsZXMgLS0tICovXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXZpZXctY29udGFpbmVyLnZpZXctZGF5IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0cGFkZGluZzogMDsgLyogUmVtb3ZlIHBhZGRpbmcsIG1hbmFnZSBpbnRlcm5hbGx5ICovXG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdGltZWxpbmUtc2VjdGlvbiB7XG5cdGZsZXgtZ3JvdzogMTtcblx0LyogcG9zaXRpb246IHJlbGF0aXZlOyAvKiBObyBsb25nZXIgbmVlZGVkIGZvciBhYnNvbHV0ZSBldmVudCBwb3NpdGlvbmluZyAqL1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpOyAvKiBBZGQgYm9yZGVyIHRoYXQgd2FzIG9uIGFsbGRheSAqL1xuXHRvdmVyZmxvdy15OiBhdXRvOyAvKiBBbGxvdyB0aW1lbGluZSB0byBzY3JvbGwgKi9cblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXRpbWVsaW5lLWV2ZW50cy1jb250YWluZXIge1xuXHQvKiBSZW1vdmUgYWJzb2x1dGUgcG9zaXRpb25pbmcgKi9cblx0LyogcG9zaXRpb246IGFic29sdXRlOyAqL1xuXHQvKiB0b3A6IDA7ICovXG5cdC8qIGxlZnQ6IDA7ICovXG5cdC8qIHJpZ2h0OiAwOyAqL1xuXHQvKiBib3R0b206IDA7ICovXG5cdC8qIHotaW5kZXg6IDI7ICovXG5cdC8qIFJlbW92ZSBjYWxjdWxhdGVkIGhlaWdodCAqL1xuXHQvKiBoZWlnaHQ6IGNhbGMoMjQgKiA0MHB4KTsgKi9cblxuXHQvKiBBZGQgZmxleCBsYXlvdXQgZm9yIHZlcnRpY2FsIHN0YWNraW5nICovXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpOyAvKiBBZGQgc3BhY2luZyBiZXR3ZWVuIGV2ZW50cyAqL1xufVxuXG4vKiBTdHlsZSBhZGp1c3RtZW50cyBmb3IgZXZlbnRzIHByZXZpb3VzbHkgdGltZWQgKi9cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQtdGltZWQge1xuXHQvKiBSZW1vdmUgYWJzb2x1dGUgcG9zaXRpb25pbmcgKi9cblx0LyogcG9zaXRpb246IGFic29sdXRlOyAqL1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdC8qIEFkZCBtYXJnaW4gZm9yIHNwYWNpbmcgaW4gdGhlIG5ldyBmbG93IGxheW91dCAqL1xuXHQvKiBVc2luZyBnYXAgb24gcGFyZW50IGNvbnRhaW5lciBub3cgKi9cblx0LyogbWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpOyAqL1xuXHR3aWR0aDogMTAwJTsgLyogRW5zdXJlIGl0IHRha2VzIGZ1bGwgd2lkdGggKi9cbn1cblxuLyogS2VlcCBpbnRlcm5hbCBzdHlsZXMgKi9cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQtdGltZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdHBhZGRpbmc6IDFweCAzcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTsgLyogU2xpZ2h0IGJhY2tncm91bmQgZm9yIHRpbWUgKi9cbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudC10aXRsZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdHBhZGRpbmc6IDJweCAzcHg7XG5cdGZsZXgtZ3JvdzogMTtcblx0LyogQWxsb3cgdGV4dCB3cmFwcGluZyB3aXRoaW4gdGhlIGV2ZW50IGJveCAqL1xuXHR3aGl0ZS1zcGFjZTogbm9ybWFsO1xuXHR3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0cGFkZGluZzogMnB4IDNweDtcblx0ZmxleC1ncm93OiAxO1xuXHR3aGl0ZS1zcGFjZTogbm9ybWFsO1xuXHR3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8qIC0tLSBXZWVrIFZpZXcgU3BlY2lmaWMgU3R5bGVzIC0tLSAqL1xuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci12aWV3LWNvbnRhaW5lci52aWV3LXdlZWsge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRwYWRkaW5nOiAwO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXdlZWstaGVhZGVyIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0LyogZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1MHB4IHJlcGVhdCg3LCAxZnIpOyAqLyAvKiBHdXR0ZXIgKyA3IGRheXMgLT4gUmVtb3ZlIGd1dHRlciAqL1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCAxZnIpOyAvKiBKdXN0IDcgZGF5cyAqL1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRmbGV4LXNocmluazogMDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWhlYWRlci1jZWxsIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTEpIDA7XG5cdGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1oZWFkZXItY2VsbDpmaXJzdC1jaGlsZCB7XG5cdGJvcmRlci1sZWZ0OiBub25lO1xufVxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1oZWFkZXItY2VsbC5pcy10b2RheSAuY2FsZW5kYXItZGF5LW51bWJlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR3aWR0aDogMS41ZW07XG5cdGhlaWdodDogMS41ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjVlbTtcblx0bWFyZ2luOiBhdXRvO1xuXG5cdG1hcmdpbjogYXV0bztcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXdlZWtkYXkge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1udW1iZXIge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcbn1cblxuLyogVXBkYXRlZCBXZWVrIEdyaWQgU2VjdGlvbiAod2FzIC1hbGxkYXktc2VjdGlvbikgKi9cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItd2Vlay1ncmlkLXNlY3Rpb24ge1xuXHQvKiBSZW5hbWVkIGNsYXNzICovXG5cdGZsZXgtZ3JvdzogMTsgLyogQWxsb3cgdGhpcyBzZWN0aW9uIHRvIGZpbGwgYXZhaWxhYmxlIHZlcnRpY2FsIHNwYWNlICovXG5cdGRpc3BsYXk6IGZsZXg7IC8qIFVzZSBmbGV4IHRvIGVuc3VyZSBncmlkIGZpbGxzIGhlaWdodCAqL1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRvdmVyZmxvdy15OiBhdXRvOyAvKiBBZGQgc2Nyb2xsIGlmIGNvbnRlbnQgb3ZlcmZsb3dzICovXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7IC8qIE1hdGNoIG9sZCBzdHlsZSAqL1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXdlZWstZ3JpZCB7XG5cdC8qIFJlbmFtZWQgY2xhc3MgKi9cblx0ZmxleC1ncm93OiAxOyAvKiBBbGxvdyBncmlkIHRvIGV4cGFuZCAqL1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCAxZnIpO1xuXHRncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjsgLyogTWFrZSBncmlkIGZpbGwgdGhlIHNlY3Rpb24gaGVpZ2h0ICovXG5cdGdhcDogMXB4OyAvKiBBZGQgZ2FwIGZvciBib3JkZXJzICovXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTsgLyogR3JpZCBsaW5lcyAqL1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpOyAvKiBBZGQgdG9wIGJvcmRlciAqL1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1jb2x1bW4ge1xuXHQvKiBSZW5hbWVkIGNsYXNzICovXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0xKTtcblx0LyogbWluLWhlaWdodDogNWVtOyAqLyAvKiBSZW1vdmUgZml4ZWQgbWluLWhlaWdodCwgbGV0IGNvbnRlbnQgZGljdGF0ZSAqL1xuXHRib3JkZXItbGVmdDogbm9uZTsgLyogUmVtb3ZlIHJlZHVuZGFudCBsZWZ0IGJvcmRlciwgZ2FwIGhhbmRsZXMgbGluZXMgKi9cblx0ZGlzcGxheTogZmxleDsgLyogVXNlIGZsZXggZm9yIHZlcnRpY2FsIGxheW91dCAqL1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtNC0xKTsgLyogU3BhY2UgYmV0d2VlbiBldmVudHMgKi9cblx0b3ZlcmZsb3c6IGhpZGRlbjsgLyogUHJldmVudCBjb250ZW50IGZyb20gZXhwYW5kaW5nIHRoZSBjb2x1bW4gKi9cblx0bWluLXdpZHRoOiAwOyAvKiBIZWxwIGdyaWQgaXRlbSBzaHJpbmsgcHJvcGVybHkgKi9cbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktY29sdW1uOmZpcnN0LWNoaWxkIHtcblx0LyogTm8gc3BlY2lmaWMgZmlyc3QtY2hpbGQgYm9yZGVyIG5lZWRlZCBub3cgKi9cbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktY29sdW1uLmlzLXdlZWtlbmQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi8qIEFkanVzdCBncmlkIGxheW91dHMgd2hlbiB3ZWVrZW5kcyBhcmUgaGlkZGVuICovXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXZpZXctY29udGFpbmVyLmhpZGUtd2Vla2VuZHMgLmNhbGVuZGFyLXdlZWtkYXktaGVhZGVyIHtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKSAhaW1wb3J0YW50OyAvKiA1IGNvbHVtbnMgaW5zdGVhZCBvZiA3IHdoZW4gd2Vla2VuZHMgaGlkZGVuICovXG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdmlldy1jb250YWluZXIuaGlkZS13ZWVrZW5kcyAuY2FsZW5kYXItbW9udGgtZ3JpZCB7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcikgIWltcG9ydGFudDsgLyogNSBjb2x1bW5zIGluc3RlYWQgb2YgNyB3aGVuIHdlZWtlbmRzIGhpZGRlbiAqL1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXZpZXctY29udGFpbmVyLmhpZGUtd2Vla2VuZHMgLmNhbGVuZGFyLXdlZWstaGVhZGVyIHtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKSAhaW1wb3J0YW50OyAvKiA1IGNvbHVtbnMgaW5zdGVhZCBvZiA3IHdoZW4gd2Vla2VuZHMgaGlkZGVuICovXG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdmlldy1jb250YWluZXIuaGlkZS13ZWVrZW5kcyAuY2FsZW5kYXItd2Vlay1ncmlkIHtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKSAhaW1wb3J0YW50OyAvKiA1IGNvbHVtbnMgaW5zdGVhZCBvZiA3IHdoZW4gd2Vla2VuZHMgaGlkZGVuICovXG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdmlldy1jb250YWluZXIuaGlkZS13ZWVrZW5kcyAubWluaS1tb250aC1ncmlkIHtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKSAhaW1wb3J0YW50OyAvKiA1IGNvbHVtbnMgaW5zdGVhZCBvZiA3IHdoZW4gd2Vla2VuZHMgaGlkZGVuICovXG59XG5cbi8qIE5vdGU6IFdlZWtlbmQgZWxlbWVudHMgYXJlIG5vdCBjcmVhdGVkIHdoZW4gaGlkZVdlZWtlbmRzIGlzIGVuYWJsZWQsXG4gICBzbyBubyBoaWRpbmcgcnVsZXMgYXJlIG5lZWRlZC4gVGhlIGdyaWQgbGF5b3V0IGFkanVzdG1lbnRzIGFib3ZlIGFyZSBzdWZmaWNpZW50LiAqL1xuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1ldmVudHMtY29udGFpbmVyIHtcblx0LyogUmVuYW1lZCBjbGFzcyAqL1xuXHQvKiBUaGlzIGNvbnRhaW5lciBtaWdodCBub3QgYmUgc3RyaWN0bHkgbmVjZXNzYXJ5IGlmIC5jYWxlbmRhci1kYXktY29sdW1uIHVzZXMgZmxleCAqL1xuXHQvKiBTdHlsZXMgYXJlIGFwcGxpZWQgZGlyZWN0bHkgdG8gLmNhbGVuZGFyLWRheS1jb2x1bW4gbm93ICovXG5cdGZsZXgtZ3JvdzogMTsgLyogQWxsb3cgY29udGFpbmVyIHRvIGdyb3cgKi9cblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAzcHg7IC8qIFNwYWNlIGJldHdlZW4gZXZlbnRzICovXG59XG5cbi8qIEVuc3VyZSBldmVudHMgdGFrZSBmdWxsIHdpZHRoIGFuZCBkb24ndCBoYXZlIGhvcml6b250YWwgZGlzcGxheSBwcm9wZXJ0aWVzICovXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50LmNhbGVuZGFyLWV2ZW50LXdlZWstYWxsZGF5IHtcblx0ZGlzcGxheTogYmxvY2s7IC8qIEVuc3VyZSBibG9jayBkaXNwbGF5IGZvciB2ZXJ0aWNhbCBzdGFja2luZyAqL1xuXHR3aWR0aDogMTAwJTsgLyogVGFrZSBmdWxsIHdpZHRoIG9mIHRoZSBjb2x1bW4gKi9cblx0cG9zaXRpb246IHJlbGF0aXZlOyAvKiBSZXNldCBwb3NpdGlvbiBpZiBpdCB3YXMgYWJzb2x1dGUgKi9cblx0bGVmdDogYXV0bztcblx0dG9wOiBhdXRvO1xuXHRoZWlnaHQ6IGF1dG87IC8qIExldCBjb250ZW50IGRldGVybWluZSBoZWlnaHQgKi9cblx0bWFyZ2luLWJvdHRvbTogM3B4OyAvKiBDb25zaXN0ZW50IHNwYWNpbmcgKi9cblx0b3ZlcmZsb3c6IGhpZGRlbjsgLyogUHJldmVudCBpbnRlcm5hbCBjb250ZW50IGZyb20gb3ZlcmZsb3dpbmcgKi9cblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IC8qIEFkZCBlbGxpcHNpcyBmb3Igb3ZlcmZsb3cgKi9cblx0d2hpdGUtc3BhY2U6IG5vd3JhcDsgLyogRW5zdXJlIGVsbGlwc2lzIHdvcmtzICovXG59XG5cbi8qIFJlbW92ZSBzdHlsZXMgZm9yIHRoZSBvbGQgdGltZWxpbmUgc2VjdGlvbiAqL1xuLypcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItd2Vlay10aW1lbGluZS1zZWN0aW9uIHtcblx0ZGlzcGxheTogZmxleDtcbi8vIC4uLiBleGlzdGluZyBjb2RlIC4uLlxuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctcyk7XG59XG4qL1xuXG4vKiAtLS0gWWVhciBWaWV3IFNwZWNpZmljIFN0eWxlcyAtLS0gKi9cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdmlldy1jb250YWluZXIudmlldy15ZWFyIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXllYXItZ3JpZCB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KFxuXHRcdGF1dG8tZml0LFxuXHRcdG1pbm1heCgyMDBweCwgMWZyKVxuXHQpOyAvKiBSZXNwb25zaXZlIGNvbHVtbnMgKi9cblx0Z2FwOiB2YXIoLS1zaXplLTQtNCk7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItbWluaS1tb250aCB7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdG92ZXJmbG93OiBoaWRkZW47IC8qIENsaXAgY29udGVudCAqL1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLm1pbmktbW9udGgtaGVhZGVyIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1zZW1pYm9sZCk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5taW5pLW1vbnRoLWJvZHkge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAubWluaS1tb250aC1ncmlkIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgMWZyKTtcblx0Z2FwOiAycHg7IC8qIFNtYWxsIGdhcCBiZXR3ZWVuIGRheXMgKi9cblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLm1pbmktd2Vla2RheS1oZWFkZXIge1xuXHRkaXNwbGF5OiBjb250ZW50czsgLyogTGV0IGNoaWxkcmVuIHBhcnRpY2lwYXRlIGluIHRoZSBncmlkICovXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAubWluaS13ZWVrZGF5IHtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNpemUtNC0xKTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5taW5pLWRheS1jZWxsIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0cGFkZGluZzogMXB4O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGxpbmUtaGVpZ2h0OiAxLjVlbTsgLyogQWRqdXN0IGZvciBjZW50ZXJpbmcgKi9cbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5taW5pLWRheS1jZWxsLmlzLW90aGVyLW1vbnRoIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xuXHRvcGFjaXR5OiAwLjY7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAubWluaS1kYXktY2VsbC5pcy10b2RheSB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLm1pbmktZGF5LWNlbGwuaGFzLWV2ZW50cyB7XG5cdC8qIEluZGljYXRlIGV2ZW50cyAtIGUuZy4sIGJvbGQgb3IgYmFja2dyb3VuZCBkb3QgKi9cblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdC8qIE9yIGFkZCBhIGJhY2tncm91bmQgZG90OiAqL1xuXHQvKiBwb3NpdGlvbjogcmVsYXRpdmU7ICovXG59XG4vKiAubWluaS1kYXktY2VsbC5oYXMtZXZlbnRzOjphZnRlciB7XG5cdGNvbnRlbnQ6ICcnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJvdHRvbTogMnB4O1xuXHRsZWZ0OiA1MCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblx0d2lkdGg6IDRweDtcblx0aGVpZ2h0OiA0cHg7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufSAqL1xuXG4uYWdlbmRhLWRheS1zZWN0aW9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0d2lkdGg6IDEwMCU7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0cGFkZGluZy10b3A6IHZhcigtLXNpemUtNC0yKTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zaXplLTQtMik7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLmFnZW5kYS1kYXktZGF0ZS1jb2x1bW4ge1xuXHR3aWR0aDogMjAlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5hZ2VuZGEtZGF5LWV2ZW50cy1jb2x1bW4ge1xuXHRmbGV4OiAxO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgaW5wdXQudGFzay1saXN0LWl0ZW0tY2hlY2tib3gge1xuXHRzY2FsZTogMC45O1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXZpZXctc3dpdGNoZXItc2VsZWN0b3Ige1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4vKiAtLS0gRHJhZyBhbmQgRHJvcCBTdHlsZXMgLS0tICovXG4uY2FsZW5kYXItZXZlbnQtZ2hvc3Qge1xuXHQvKiBTdHlsZSBmb3IgdGhlIHBsYWNlaG9sZGVyIHdoZW4gZHJhZ2dpbmcgKi9cblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KSAhaW1wb3J0YW50O1xuXHRib3JkZXI6IDJweCBkYXNoZWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpICFpbXBvcnRhbnQ7XG5cdG9wYWNpdHk6IDAuNSAhaW1wb3J0YW50O1xuXHRib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5jYWxlbmRhci1ldmVudC1kcmFnZ2luZyB7XG5cdC8qIFN0eWxlIGZvciB0aGUgZWxlbWVudCBiZWluZyBkcmFnZ2VkICovXG5cdG9wYWNpdHk6IDAuOSAhaW1wb3J0YW50O1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbCkgIWltcG9ydGFudDtcblx0dHJhbnNmb3JtOiByb3RhdGUoMmRlZykgIWltcG9ydGFudDtcblx0ei1pbmRleDogMTAwMCAhaW1wb3J0YW50O1xufVxuXG4vKiBNYWtlIGNhbGVuZGFyIGV2ZW50cyBkcmFnZ2FibGUgKi9cbi5jYWxlbmRhci1ldmVudHMtY29udGFpbmVyIC5jYWxlbmRhci1ldmVudCB7XG5cdGN1cnNvcjogZ3JhYjtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZSwgYm94LXNoYWRvdyAwLjJzIGVhc2U7XG59XG5cbi5jYWxlbmRhci1ldmVudHMtY29udGFpbmVyIC5jYWxlbmRhci1ldmVudDpob3ZlciB7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LXMpO1xufVxuXG4uY2FsZW5kYXItZXZlbnRzLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQ6YWN0aXZlIHtcblx0Y3Vyc29yOiBncmFiYmluZztcbn1cblxuLyogU29ydGFibGUgY29udGFpbmVyIHN0eWxlcyAqL1xuLmNhbGVuZGFyLWV2ZW50cy1jb250YWluZXIsXG4uY2FsZW5kYXItZGF5LWV2ZW50cy1jb250YWluZXIge1xuXHRtaW4taGVpZ2h0OiAyMHB4OyAvKiBFbnN1cmUgdGhlcmUncyBhbHdheXMgYSBkcm9wIHpvbmUgKi9cblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbn1cblxuQGNvbnRhaW5lciAobWF4LXdpZHRoOiA2MDBweCkge1xuXHQuZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXZpZXctc3dpdGNoZXIgYnV0dG9uIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0LmNhbGVuZGFyLW5hdiAucHJldi1idXR0b24ge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQuY2FsZW5kYXItbmF2IC5uZXh0LWJ1dHRvbiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdmlldy1zd2l0Y2hlci1zZWxlY3RvciB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cbn1cbiIsICIuZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50LXRpdGxlLWNvbnRhaW5lciBwIHtcblx0cGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7XG5cdHBhZGRpbmctaW5saW5lLWVuZDogMDtcblx0bWFyZ2luLWJsb2NrLXN0YXJ0OiAwO1xuXHRtYXJnaW4tYmxvY2stZW5kOiAwO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50LXRpdGxlLWNvbnRhaW5lciB7XG5cdC8qIEhhbmRsZSB0ZXh0IG92ZXJmbG93IHdpdGggZWxsaXBzaXMgKi9cblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG1heC13aWR0aDogMTAwJTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudC10aXRsZSBwIHtcblx0bWFyZ2luLWJsb2NrLXN0YXJ0OiAwO1xuXHRtYXJnaW4tYmxvY2stZW5kOiAwO1xufVxuIiwgIi8qIENhbGVuZGFyIEJhZGdlIFN0eWxlcyAqL1xuLmNhbGVuZGFyLWJhZGdlcy1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRnYXA6IDRweDtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdHotaW5kZXg6IDEwO1xufVxuXG4uY2FsZW5kYXItYmFkZ2Uge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZvbnQtc2l6ZTogMTBweDtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cblx0bWF4LXdpZHRoOiA4MHB4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLyogRW5zdXJlIGJhZGdlcyBhcmUgcG9zaXRpb25lZCByZWxhdGl2ZSB0byB0aGUgZGF5IGNlbGwgKi9cbi5jYWxlbmRhci1kYXktY2VsbCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbiIsICIuZ2FudHQtY2hhcnQtY29udGFpbmVyIHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0b3ZlcmZsb3c6IGF1dG87XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXG5cdC0tZ2FudHQtaGVhZGVyLWhlaWdodDogNTBweDtcblx0LS1nYW50dC1yb3ctaGVpZ2h0OiA0MHB4O1xuXHQtLWdhbnR0LWJhci1oZWlnaHQ6IDIwcHg7XG5cdC0tZ2FudHQtYmFyLXJhZGl1czogM3B4O1xuXG5cdC0tZ2FudHQtYmctY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0LS1nYW50dC1ncmlkLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdC0tZ2FudHQtcm93LWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdC0tZ2FudHQtYmFyLWNvbG9yOiB2YXIoLS1jb2xvci1ibHVlKTtcblx0LS1nYW50dC1taWxlc3RvbmUtY29sb3I6IHZhcigtLWNvbG9yLXB1cnBsZSk7XG5cdC0tZ2FudHQtcHJvZ3Jlc3MtY29sb3I6IHZhcigtLWNvbG9yLWJsdWUpO1xuXHQtLWdhbnR0LXRvZGF5LWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xufVxuXG4uZ2FudHQtc3ZnIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWludGVyZmFjZSk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4uZ2FudHQtaGVhZGVyLWJnIHtcblx0ZmlsbDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0c3Ryb2tlOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHN0cm9rZS13aWR0aDogMXB4O1xufVxuXG4uZ2FudHQtaGVhZGVyLXRleHQge1xuXHRmaWxsOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmdhbnR0LWdyaWQtYmcge1xuXHRmaWxsOiB0cmFuc3BhcmVudDtcblx0c3Ryb2tlOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHN0cm9rZS13aWR0aDogMDtcbn1cblxuLmdhbnR0LWdyaWQtbGluZS12ZXJ0aWNhbCB7XG5cdHN0cm9rZTogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRzdHJva2Utd2lkdGg6IDFweDtcblx0c3Ryb2tlLWRhc2hhcnJheTogMiwgMjtcbn1cblxuLmdhbnR0LXRhc2staXRlbSB7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmdhbnR0LXRhc2stYmFyIHtcblx0ZmlsbDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0c3Ryb2tlOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xuXHRzdHJva2Utd2lkdGg6IDFweDtcblx0dHJhbnNpdGlvbjogZmlsbCAwLjFzIGVhc2UtaW4tb3V0O1xufVxuXG4uZ2FudHQtdGFzay1pdGVtOmhvdmVyIC5nYW50dC10YXNrLWJhciB7XG5cdGZpbGw6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi5nYW50dC10YXNrLW1pbGVzdG9uZSB7XG5cdGZpbGw6IHZhcigtLWNvbG9yLW9yYW5nZSk7XG5cdHN0cm9rZTogdmFyKC0tY29sb3Itb3JhbmdlLWJvcmRlcik7XG5cdHN0cm9rZS13aWR0aDogMXB4O1xufVxuXG4uZ2FudHQtdGFzay1sYWJlbCB7XG5cdGZpbGw6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Zm9udC1zaXplOiBjYWxjKHZhcigtLWZvbnQtdWktc21hbGwpICogMC45KTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdHdoaXRlLXNwYWNlOiBwcmU7XG59XG5cbi5nYW50dC10YXNrLWJhci5zdGF0dXMtY29tcGxldGVkIHtcblx0ZmlsbDogdmFyKC0tY29sb3ItZ3JlZW4pO1xuXHRzdHJva2U6IHZhcigtLWNvbG9yLWdyZWVuLWJvcmRlcik7XG59XG5cbi5nYW50dC10YXNrLWJhci5wcmlvcml0eS1oaWdoIHtcbn1cblxuLyoqXG4gKiBHYW50dCBDaGFydCBTdHlsZXNcbiAqL1xuXG4uZ2FudHQtaGVhZGVyIHtcblx0cG9zaXRpb246IHN0aWNreTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDtcblx0ei1pbmRleDogMTA7XG5cdGhlaWdodDogdmFyKC0tZ2FudHQtaGVhZGVyLWhlaWdodCk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1nYW50dC1ncmlkLWNvbG9yKTtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdhbnR0LWJnLWNvbG9yKTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdHdpZHRoOiAxMDAlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZ2FudHQtaGVhZGVyLXJvdyB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0aGVpZ2h0OiA1MCU7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uZ2FudHQtaGVhZGVyLXJvdy5wcmltYXJ5IHtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWdhbnR0LWdyaWQtY29sb3IpO1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuXG4uZ2FudHQtaGVhZGVyLWNlbGwge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGhlaWdodDogMTAwJTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1nYW50dC1ncmlkLWNvbG9yKTtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2FudHQtYmctY29sb3IpO1xuXHRwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuLmdhbnR0LWJvZHkge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBhdXRvO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1nYW50dC1oZWFkZXItaGVpZ2h0KTtcblx0bWFyZ2luLXRvcDogY2FsYyh2YXIoLS1nYW50dC1oZWFkZXItaGVpZ2h0KSAqIC0xKTtcbn1cblxuLmdhbnR0LWdyaWQge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogdmFyKC0tZ2FudHQtaGVhZGVyLWhlaWdodCk7XG5cdGxlZnQ6IDA7XG5cdGhlaWdodDogY2FsYygxMDAlIC0gdmFyKC0tZ2FudHQtaGVhZGVyLWhlaWdodCkpO1xuXHRtaW4td2lkdGg6IDEwMCU7XG59XG5cbi5nYW50dC1ncmlkLWNvbHVtbiB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWdhbnR0LWdyaWQtY29sb3IpO1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4uZ2FudHQtZ3JpZC1jb2x1bW4udG9kYXkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nYW50dC10b2RheS1jb2xvcik7XG59XG5cbi5nYW50dC1ncmlkLXJvdyB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWdhbnR0LWdyaWQtY29sb3IpO1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nYW50dC1yb3ctY29sb3IpO1xufVxuXG4uZ2FudHQtZ3JpZC1yb3c6bnRoLWNoaWxkKG9kZCkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nYW50dC1iZy1jb2xvcik7XG59XG5cbi5nYW50dC1iYXJzIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IHZhcigtLWdhbnR0LWhlYWRlci1oZWlnaHQpO1xuXHRsZWZ0OiAwO1xuXHRoZWlnaHQ6IGNhbGMoMTAwJSAtIHZhcigtLWdhbnR0LWhlYWRlci1oZWlnaHQpKTtcblx0bWluLXdpZHRoOiAxMDAlO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmdhbnR0LXRhc2stY29udGFpbmVyIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRwb2ludGVyLWV2ZW50czogYXV0bztcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xcyBlYXNlO1xufVxuXG4uZ2FudHQtdGFzay1jb250YWluZXI6aG92ZXIge1xuXHR6LWluZGV4OiAxMDtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xufVxuXG4uZ2FudHQtdGFzay1iYXIubWlsZXN0b25lIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2FudHQtbWlsZXN0b25lLWNvbG9yKTtcblx0d2lkdGg6IDE1cHggIWltcG9ydGFudDtcblx0aGVpZ2h0OiAxNXB4ICFpbXBvcnRhbnQ7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXHR0b3A6IDUwJTtcblx0bWFyZ2luLXRvcDogLTcuNXB4O1xuXHRsZWZ0OiA1MCU7XG5cdG1hcmdpbi1sZWZ0OiAtNy41cHg7XG59XG5cbi5nYW50dC10YXNrLXByb2dyZXNzIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdGhlaWdodDogMTAwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2FudHQtcHJvZ3Jlc3MtY29sb3IpO1xuXHRvcGFjaXR5OiAwLjc7XG59XG5cbi5nYW50dC10YXNrLWxhYmVsIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiBjYWxjKDEwMCUgKyA4cHgpO1xuXHR0b3A6IDA7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0bGluZS1oZWlnaHQ6IHZhcigtLWdhbnR0LWJhci1oZWlnaHQpO1xufVxuXG4uZ2FudHQtdGFzay1jb250YWluZXIucmlnaHQtYWxpZ25lZCAuZ2FudHQtdGFzay1sYWJlbCB7XG5cdGxlZnQ6IGF1dG87XG5cdHJpZ2h0OiBjYWxjKDEwMCUgKyA4cHgpO1xuXHR0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDY4MHB4KSB7XG5cdC5nYW50dC1oZWFkZXItY2VsbCB7XG5cdFx0Zm9udC1zaXplOiAxMHB4O1xuXHR9XG5cblx0LmdhbnR0LXRhc2stbGFiZWwge1xuXHRcdGZvbnQtc2l6ZTogMTBweDtcblx0fVxufVxuXG4uZ2FudHQtY2hhcnQtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0aGVpZ2h0OiAxMDAlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5nYW50dC1oZWFkZXItY29udGFpbmVyIHtcblx0aGVpZ2h0OiA0MHB4O1xuXHRmbGV4LXNocmluazogMDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi5nYW50dC1oZWFkZXItc3ZnIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi5nYW50dC1oZWFkZXItdGljay1tYWpvcixcbi5nYW50dC1oZWFkZXItdGljay1taW5vcixcbi5nYW50dC1oZWFkZXItdGljay1kYXksXG4uZ2FudHQtaGVhZGVyLXRvZGF5LW1hcmtlciB7XG5cdHN0cm9rZTogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRzdHJva2Utd2lkdGg6IDE7XG59XG4uZ2FudHQtaGVhZGVyLXRpY2stbWFqb3Ige1xuXHRzdHJva2Utd2lkdGg6IDEuNTtcbn1cbi5nYW50dC1oZWFkZXItdG9kYXktbWFya2VyIHtcblx0c3Ryb2tlOiB2YXIoLS1jb2xvci1vcmFuZ2UpO1xuXHRzdHJva2Utd2lkdGg6IDEuNTtcblx0c3Ryb2tlLWRhc2hhcnJheTogNCwgMjtcbn1cblxuLmdhbnR0LWhlYWRlci1sYWJlbC1tYWpvcixcbi5nYW50dC1oZWFkZXItbGFiZWwtbWlub3IsXG4uZ2FudHQtaGVhZGVyLWxhYmVsLWRheSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGZpbGw6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uZ2FudHQtaGVhZGVyLWxhYmVsLW1ham9yIHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0ZmlsbDogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uZ2FudHQtc2Nyb2xsLWNvbnRhaW5lciB7XG5cdGZsZXgtZ3JvdzogMTtcblx0b3ZlcmZsb3c6IGF1dG87XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmdhbnR0LWNvbnRlbnQtd3JhcHBlciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcbn1cblxuLmdhbnR0LWdyaWQtbGluZS1tYWpvcixcbi5nYW50dC1ncmlkLWxpbmUtbWlub3Ige1xuXHRzdHJva2U6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcblx0c3Ryb2tlLXdpZHRoOiAwLjU7XG59XG4uZ2FudHQtZ3JpZC1saW5lLW1ham9yIHtcblx0c3Ryb2tlLXdpZHRoOiAxO1xufVxuLmdhbnR0LWdyaWQtbGluZS1ob3Jpem9udGFsIHtcblx0c3Ryb2tlOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHN0cm9rZS13aWR0aDogMTtcbn1cblxuLmdhbnR0LWdyaWQtdG9kYXktbWFya2VyIHtcblx0c3Ryb2tlOiB2YXIoLS1jb2xvci1vcmFuZ2UpO1xuXHRzdHJva2Utd2lkdGg6IDE7XG5cdHN0cm9rZS1kYXNoYXJyYXk6IDQsIDI7XG59XG5cbi5nYW50dC10YXNrLWl0ZW0ge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5nYW50dC10YXNrLWJhciB7XG5cdGZpbGw6IHZhcigtLWNvbG9yLWJsdWUpO1xuXHRzdHJva2U6IHZhcigtLWNvbG9yLWJsdWUtaG92ZXIpO1xuXHRzdHJva2Utd2lkdGg6IDAuNTtcblx0dHJhbnNpdGlvbjogZmlsbCAwLjFzIGVhc2U7XG59XG4uZ2FudHQtdGFzay1pdGVtOmhvdmVyIC5nYW50dC10YXNrLWJhciB7XG5cdGZpbGw6IHZhcigtLWNvbG9yLWFjY2VudCk7XG59XG5cbi5nYW50dC10YXNrLW1pbGVzdG9uZSB7XG5cdGZpbGw6IHZhcigtLWNvbG9yLXB1cnBsZSk7XG5cdHN0cm9rZTogdmFyKC0tY29sb3ItcHVycGxlKTtcblx0c3Ryb2tlLXdpZHRoOiAxO1xuXHR0cmFuc2l0aW9uOiBmaWxsIDAuMXMgZWFzZTtcbn1cbi5nYW50dC10YXNrLWl0ZW06aG92ZXIgLmdhbnR0LXRhc2stbWlsZXN0b25lIHtcblx0ZmlsbDogdmFyKC0tY29sb3ItYWNjZW50KTtcbn1cblxuLmdhbnR0LXRhc2staXRlbS5zdGF0dXMtZG9uZSAuZ2FudHQtdGFzay1iYXIsXG4uZ2FudHQtdGFzay1pdGVtLnN0YXR1cy1kb25lIC5nYW50dC10YXNrLW1pbGVzdG9uZSB7XG5cdGZpbGw6IHZhcigtLWNvbG9yLWdyZWVuKTtcblx0c3Ryb2tlOiB2YXIoLS1jb2xvci1ncmVlbik7XG5cdG9wYWNpdHk6IDAuNztcbn1cbi5nYW50dC10YXNrLWl0ZW0uc3RhdHVzLWNhbmNlbGxlZCAuZ2FudHQtdGFzay1iYXIsXG4uZ2FudHQtdGFzay1pdGVtLnN0YXR1cy1jYW5jZWxsZWQgLmdhbnR0LXRhc2stbWlsZXN0b25lIHtcblx0ZmlsbDogdmFyKC0tY29sb3ItcmVkKTtcblx0c3Ryb2tlOiB2YXIoLS1jb2xvci1yZWQpO1xuXHRvcGFjaXR5OiAwLjY7XG5cdHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xufVxuLmdhbnR0LXRhc2staXRlbS5zdGF0dXMtaW5wcm9ncmVzcyAuZ2FudHQtdGFzay1iYXIge1xufVxuXG4uZ2FudHQtdGFzay1sYWJlbC1mbyB7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLmdhbnR0LXRhc2stbGFiZWwtbWFya2Rvd24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGxpbmUtaGVpZ2h0OiAxLjM7XG5cdHBhZGRpbmc6IDAgMnB4O1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbi5nYW50dC10YXNrLWxhYmVsLW1hcmtkb3duIHAge1xuXHRtYXJnaW46IDAgIWltcG9ydGFudDtcbn1cblxuLmdhbnR0LW1pbGVzdG9uZS1sYWJlbC1jb250YWluZXIgcCB7XG5cdG1hcmdpbi1ibG9jay1zdGFydDogMDtcblx0bWFyZ2luLWJsb2NrLWVuZDogMDtcblx0bWFyZ2luLWlubGluZS1zdGFydDogMDtcblx0bWFyZ2luLWlubGluZS1lbmQ6IDA7XG5cblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRsaW5lLWhlaWdodDogMS4zO1xuXHRwYWRkaW5nOiAwIDJweDtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG4uZ2FudHQtdGFzay1pdGVtLnN0YXR1cy1kb25lIC5nYW50dC10YXNrLWxhYmVsLW1hcmtkb3duIHtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cbi5nYW50dC10YXNrLWl0ZW0uc3RhdHVzLWNhbmNlbGxlZCAuZ2FudHQtdGFzay1sYWJlbC1tYXJrZG93biB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xufVxuXG4uZ2FudHQtbWlsZXN0b25lLWxhYmVsIHtcblx0ZmlsbDogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uZ2FudHQtZmlsdGVyLWFyZWEge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG5cdHdpZHRoOiAxMDAlO1xuXG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc2l6ZS0yLTIpO1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zaXplLTQtMik7XG5cblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcbn1cblxuLmdhbnR0LWZpbHRlci1hcmVhIC5maWx0ZXItY29tcG9uZW50IHtcblx0ZmxleDogMTtcbn1cblxuLmdhbnR0LW9mZnNjcmVlbi1pbmRpY2F0b3Ige1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogY2FsYyg1MCUgKyAyMHB4KTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHR3aWR0aDogOHB4O1xuXHRoZWlnaHQ6IDhweDtcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjgsIDEyOCwgMTI4LCAwLjYpO1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdHotaW5kZXg6IDEwO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0ZGlzcGxheTogbm9uZTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UtaW4tb3V0O1xuXHRvcGFjaXR5OiAxO1xufVxuXG4uZ2FudHQtb2Zmc2NyZWVuLWluZGljYXRvcltzdHlsZSo9XCJkaXNwbGF5OiBub25lXCJdIHtcblx0b3BhY2l0eTogMDtcbn1cblxuLmdhbnR0LW9mZnNjcmVlbi1pbmRpY2F0b3ItbGVmdCB7XG5cdGxlZnQ6IDVweDtcbn1cblxuLmdhbnR0LW9mZnNjcmVlbi1pbmRpY2F0b3ItcmlnaHQge1xuXHRyaWdodDogNXB4O1xufVxuXG4uZ2FudHQtaW5kaWNhdG9yLWNvbnRhaW5lciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRib3R0b206IDA7XG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtMyk7XG5cdHotaW5kZXg6IDEwO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmdhbnR0LWluZGljYXRvci1jb250YWluZXItbGVmdCB7XG5cdGxlZnQ6IDA7XG59XG5cbi5nYW50dC1pbmRpY2F0b3ItY29udGFpbmVyLXJpZ2h0IHtcblx0cmlnaHQ6IDA7XG59XG5cbi5nYW50dC1zaW5nbGUtaW5kaWNhdG9yIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiB2YXIoLS1zaXplLTItMSk7XG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtMik7XG5cdGhlaWdodDogdmFyKC0tc2l6ZS00LTIpO1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xuXHRwb2ludGVyLWV2ZW50czogYXV0bztcblx0Y3Vyc29yOiBkZWZhdWx0O1xufVxuXG4uZ2FudHQtc2luZ2xlLWluZGljYXRvcjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLmdhbnR0LWNoYXJ0LWNvbnRhaW5lciAuZ2FudHQtaW5kaWNhdG9yLWNvbnRhaW5lciB7XG5cdHRvcDogY2FsYyh2YXIoLS1oZWFkZXItaGVpZ2h0LCA0MHB4KSArIHZhcigtLWZpbHRlci1oZWlnaHQsIDBweCkpO1xuXHRib3R0b206IDE1cHg7XG59XG5cbi5nYW50dC1jaGFydC1jb250YWluZXIgLmdhbnR0LWluZGljYXRvci1jb250YWluZXItcmlnaHQge1xuXHRyaWdodDogMTVweDtcbn1cblxuLmdhbnR0LXRhc2stbGFiZWwgcCB7XG5cdG1hcmdpbjogMDtcblx0bGluZS1oZWlnaHQ6IHZhcigtLWdhbnR0LWJhci1oZWlnaHQpO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cbiIsICIvKiBUYXNrIGxpc3QgKi9cbi50YXNrLWxpc3Qge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRwYWRkaW5nOiAwO1xufVxuXG4udGFzay1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdHBhZGRpbmc6IDhweCAxNnB4O1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTMpO1xufVxuXG4udGFzay1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcbn1cblxuLnRhc2stY2hpbGRyZW4tY29udGFpbmVyIC50YXNrLWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi50YXNrLWl0ZW0uc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xufVxuXG4udGFzay1pdGVtLnRhc2stY29tcGxldGVkIC50YXNrLWl0ZW0tY29udGVudCB7XG5cdHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50YXNrLWl0ZW0gLm1hcmtkb3duLWJsb2NrLm1hcmtkb3duLXJlbmRlcmVyID4gcDpvbmx5LWNoaWxkIHtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luOiAwO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnRhc2stY2hlY2tib3gge1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLnRhc2staXRlbS50YXNrLWNvbXBsZXRlZCAudGFzay1jaGVja2JveCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi50YXNrLWl0ZW0tY29udGVudCB7XG5cdGZsZXg6IDE7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLnRhc2staXRlbS1jb250YWluZXIge1xuXHRmbGV4OiAxO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLyogRHluYW1pYyBjb250ZW50LW1ldGFkYXRhIGNvbnRhaW5lciAqL1xuLnRhc2stY29udGVudC1tZXRhZGF0YS1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLyogU2luZ2xlIGxpbmUgY29udGVudCBsYXlvdXQgLSBob3Jpem9udGFsICovXG4udGFzay1jb250ZW50LW1ldGFkYXRhLWNvbnRhaW5lci5zaW5nbGUtbGluZS1jb250ZW50IHtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnRhc2stY29udGVudC1tZXRhZGF0YS1jb250YWluZXIuc2luZ2xlLWxpbmUtY29udGVudCAudGFzay1pdGVtLWNvbnRlbnQge1xuXHRmbGV4OiAxO1xuXHRtaW4td2lkdGg6IDA7IC8qIEFsbG93IGNvbnRlbnQgdG8gc2hyaW5rICovXG59XG5cbi50YXNrLWNvbnRlbnQtbWV0YWRhdGEtY29udGFpbmVyLnNpbmdsZS1saW5lLWNvbnRlbnQgLnRhc2staXRlbS1tZXRhZGF0YSB7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRtYXJnaW4tdG9wOiAwO1xufVxuXG4vKiBNdWx0aS1saW5lIGNvbnRlbnQgbGF5b3V0IC0gdmVydGljYWwgKi9cbi50YXNrLWNvbnRlbnQtbWV0YWRhdGEtY29udGFpbmVyLm11bHRpLWxpbmUtY29udGVudCB7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4udGFzay1jb250ZW50LW1ldGFkYXRhLWNvbnRhaW5lci5tdWx0aS1saW5lLWNvbnRlbnQgLnRhc2staXRlbS1jb250ZW50IHtcblx0Lyogd2lkdGg6IDEwMCU7ICovXG59XG5cbi50YXNrLWNvbnRlbnQtbWV0YWRhdGEtY29udGFpbmVyLm11bHRpLWxpbmUtY29udGVudCAudGFzay1pdGVtLW1ldGFkYXRhIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS0yLTIpO1xufVxuXG4udGFzay1pdGVtLW1ldGFkYXRhIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtMi0yKTtcbn1cblxuLnRhc2staXRlbS1tZXRhZGF0YTplbXB0eSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi50YXNrLWRhdGUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlLWhvdmVyKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0zKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRvcGFjaXR5OiAwLjg7XG59XG5cbi50YXNrLWl0ZW06aG92ZXIgLnRhc2stZGF0ZSB7XG5cdG9wYWNpdHk6IDE7XG59XG5cbi50YXNrLWRhdGU6OmJlZm9yZSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zaXplLTItMik7XG5cdGZvbnQtc2l6ZTogeHgtc21hbGw7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG59XG5cbi50Zy1rYW5iYW4tdmlldyAudGFzay1kYXRlOjpiZWZvcmUge1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cbi50YXNrLWRhdGUudGFzay1kdWUtZGF0ZTo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcdUQ4M0RcdURDQzVcIjtcbn1cblxuLnRhc2stZGF0ZS50YXNrLW92ZXJkdWUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi50YXNrLWRhdGUudGFzay1kdWUtdG9kYXkge1xuXHRjb2xvcjogdmFyKC0tdGFzay1kb2luZy1jb2xvcik7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi50YXNrLWRhdGUudGFzay1kdWUtc29vbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LXdhcm5pbmcpO1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuXG4udGFzay1kYXRlLnRhc2stc3RhcnQtZGF0ZTo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcdUQ4M0RcdURFRUJcIjtcbn1cblxuLnRhc2stZGF0ZS50YXNrLWNyZWF0ZWQtZGF0ZTo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcdTI3OTVcIjtcbn1cblxuLnRhc2stZGF0ZS50YXNrLXNjaGVkdWxlZC1kYXRlOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlx1MjNGM1wiO1xufVxuXG4udGFzay1kYXRlLnRhc2stZG9uZS1kYXRlOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlx1MjcwNVwiO1xufVxuXG4udGFzay1kYXRlLnRhc2stY2FuY2VsbGVkLWRhdGU6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXHUyNzRDXCI7XG59XG5cbi50YXNrLWRhdGUudGFzay1yZWN1cnJlbmNlOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlx1RDgzRFx1REQwMVwiO1xufVxuXG4udGFzay1kYXRlLnRhc2stb24tY29tcGxldGlvbjo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcdUQ4M0NcdURGQzFcIjtcbn1cblxuLnRhc2stcHJvamVjdCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0zKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3BhY2l0eTogMC41O1xufVxuXG4udGFzay1wcm9qZWN0OmhhcyhpbnB1dCkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZS1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YXNrLWl0ZW06aG92ZXIgLnRhc2stcHJvamVjdCB7XG5cdG9wYWNpdHk6IDE7XG59XG5cbi50YXNrLXByb2plY3Q6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXHVEODNEXHVEREMyXHVGRTBGXCI7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS00LTIpO1xuXG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xufVxuXG4udGFzay1wcm9qZWN0OmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUtaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQtaG92ZXIpO1xufVxuXG4udGFzay1wcmlvcml0eSB7XG5cdG1hcmdpbi1sZWZ0OiA4cHg7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4udGFzay1wcmlvcml0eS5wcmlvcml0eS01IHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuLnRhc2stcHJpb3JpdHkucHJpb3JpdHktNCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LXdhcm5pbmcpO1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuLnRhc2stcHJpb3JpdHkucHJpb3JpdHktMyB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LXdhcm5pbmcpO1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuLnRhc2stcHJpb3JpdHkucHJpb3JpdHktMiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LXdhcm5pbmcpO1xufVxuLnRhc2stcHJpb3JpdHkucHJpb3JpdHktMSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi8qIE5ldyBmaWVsZCBzdHlsZXMgKi9cbi50YXNrLW9uY29tcGxldGlvbiB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiAycHggNnB4O1xuXHRtYXJnaW4tbGVmdDogNHB4O1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRhc2stb25jb21wbGV0aW9uOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRhc2stZGVwZW5kc29uIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDJweCA2cHg7XG5cdG1hcmdpbi1sZWZ0OiA0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRhc2stZGVwZW5kc29uOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLnRhc2staWQge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogMnB4IDZweDtcblx0bWFyZ2luLWxlZnQ6IDRweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQpO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50YXNrLWlkOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQtaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQtaG92ZXIpO1xufVxuXG4vKiBUYXNrIHRhZyBzdHlsZXMgKi9cbi50YXNrLXRhZ3MtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcbn1cblxuLnRhc2stdGFncy1jb250YWluZXI6ZW1wdHkge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4udGFzay10YWcge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS0yLTMpO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvcGFjaXR5OiAwLjc1O1xufVxuXG4udGFzay1pdGVtOmhvdmVyIC50YXNrLXRhZyB7XG5cdG9wYWNpdHk6IDE7XG59XG5cbi50YXNrLWl0ZW0tY29udGVudCBwOmhhcyhpbWcpIGltZyB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR3aWR0aDogbWluKDUwJSwgMjAwcHgpO1xufVxuIiwgIi8qIElubGluZSBFZGl0b3IgU3R5bGVzIC0gT3B0aW1pemVkIGZvciBQZXJmb3JtYW5jZSBhbmQgVVggKi9cbi5pbmxpbmUtZWRpdG9yIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4vKiBDb250ZW50IEVkaXRvciAtIE1vcmUgaW5saW5lIGFwcGVhcmFuY2UgKi9cbi5pbmxpbmUtY29udGVudC1lZGl0b3Ige1xuXHR3aWR0aDogMTAwJTtcblx0bWluLWhlaWdodDogMThweDtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym9yZGVyLXJhZGl1czogMDtcblx0cGFkZGluZzogMnB4IDRweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuXHRmb250LXNpemU6IGluaGVyaXQ7XG5cdGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuXHRyZXNpemU6IG5vbmU7XG5cdG91dGxpbmU6IG5vbmU7XG5cdHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2U7XG59XG5cbi5pbmxpbmUtY29udGVudC1lZGl0b3I6Zm9jdXMge1xuXHRib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktYWx0KTtcblx0Ym94LXNoYWRvdzogMCAxcHggMCAwIHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi8qIEVtYmVkZGVkIEVkaXRvciBTdHlsZXMgLSBNb3JlIHNlYW1sZXNzICovXG4uaW5saW5lLWVtYmVkZGVkLWVkaXRvci1jb250YWluZXIge1xuXHR3aWR0aDogMTAwJTtcblx0bWluLWhlaWdodDogMThweDtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItcmFkaXVzOiAwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmlubGluZS1lbWJlZGRlZC1lZGl0b3Ige1xuXHR3aWR0aDogMTAwJTtcblx0bWluLWhlaWdodDogMThweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5pbmxpbmUtZW1iZWRkZWQtZWRpdG9yIC5jbS1lZGl0b3Ige1xuXHRib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcblx0b3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KSAhaW1wb3J0YW50O1xufVxuXG4uaW5saW5lLWVtYmVkZGVkLWVkaXRvciAuY20tZm9jdXNlZCB7XG5cdG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcblx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKSAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktYWx0KSAhaW1wb3J0YW50O1xufVxuXG4uaW5saW5lLWVtYmVkZGVkLWVkaXRvciAuY20tY29udGVudCB7XG5cdHBhZGRpbmc6IDJweCA0cHg7XG5cdG1pbi1oZWlnaHQ6IDE4cHg7XG5cdGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuXHRmb250LXNpemU6IGluaGVyaXQ7XG5cdGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG4uaW5saW5lLWVtYmVkZGVkLWVkaXRvciAuY20tbGluZSB7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi8qIE1ldGFkYXRhIEVkaXRvciBDb250YWluZXIgLSBNb3JlIGNvbXBhY3QgYW5kIGlubGluZSAqL1xuLmlubGluZS1tZXRhZGF0YS1lZGl0b3Ige1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA0cHg7XG5cdHBhZGRpbmc6IDJweCA2cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1hbHQpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG5cdG1pbi13aWR0aDogMTIwcHg7XG5cdG1heC13aWR0aDogMzAwcHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMTAwO1xufVxuXG4uaW5saW5lLW1ldGFkYXRhLWVkaXRvciBpbnB1dCB7XG5cdGJvcmRlcjogdW5zZXQ7XG5cdG91dGxpbmU6IHVuc2V0O1xuXHRwYWRkaW5nOiAwO1xuXHRoZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0KTtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG59XG5cbi5pbmxpbmUtbWV0YWRhdGEtZWRpdG9yIGlucHV0OmZvY3VzIHtcblx0b3V0bGluZTogdW5zZXQ7XG5cdHBhZGRpbmc6IDA7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uaW5saW5lLW1ldGFkYXRhLWVkaXRvcjpoYXMoaW5wdXQpIHtcblx0b3V0bGluZTogdW5zZXQ7XG5cdGJvcmRlcjogMDtcblx0cGFkZGluZzogMDtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGJvcmRlci1yYWRpdXM6IHVuc2V0O1xufVxuXG4vKiBNZXRhZGF0YSBJbnB1dCBGaWVsZHMgLSBNb3JlIGNvbXBhY3QgKi9cbi5pbmxpbmUtcHJvamVjdC1pbnB1dCxcbi5pbmxpbmUtdGFncy1pbnB1dCxcbi5pbmxpbmUtY29udGV4dC1pbnB1dCxcbi5pbmxpbmUtZGF0ZS1pbnB1dCxcbi5pbmxpbmUtcmVjdXJyZW5jZS1pbnB1dCB7XG5cdGZsZXg6IDE7XG5cdHBhZGRpbmc6IDJweCA0cHg7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdG91dGxpbmU6IG5vbmU7XG5cdG1pbi13aWR0aDogODBweDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlO1xufVxuXG4uaW5saW5lLXByb2plY3QtaW5wdXQ6Zm9jdXMsXG4uaW5saW5lLXRhZ3MtaW5wdXQ6Zm9jdXMsXG4uaW5saW5lLWNvbnRleHQtaW5wdXQ6Zm9jdXMsXG4uaW5saW5lLWRhdGUtaW5wdXQ6Zm9jdXMsXG4uaW5saW5lLXJlY3VycmVuY2UtaW5wdXQ6Zm9jdXMge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLmlubGluZS1wcmlvcml0eS1zZWxlY3Qge1xuXHRwYWRkaW5nOiAycHggNHB4O1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6IDJweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRvdXRsaW5lOiBub25lO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdG1pbi13aWR0aDogODBweDtcbn1cblxuLmlubGluZS1wcmlvcml0eS1zZWxlY3Q6Zm9jdXMge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLyogQWRkIE1ldGFkYXRhIEJ1dHRvbiAtIE1vcmUgc3VidGxlICovXG4uYWRkLW1ldGFkYXRhLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRtYXJnaW4tbGVmdDogNHB4O1xufVxuXG4udGFzay1saXN0IC50YXNrLWl0ZW06bm90KC50cmVlLXRhc2staXRlbSk6aG92ZXIgLmFkZC1tZXRhZGF0YS1idG4ge1xuXHRvcGFjaXR5OiAxO1xufVxuXG4udHJlZS10YXNrLWl0ZW0gLnRhc2staXRlbS1jb250YWluZXI6aG92ZXIgLmFkZC1tZXRhZGF0YS1idG4ge1xuXHRvcGFjaXR5OiAxO1xufVxuXG4uYWRkLW1ldGFkYXRhLWJ0biB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDIycHg7XG5cdGhlaWdodDogMjJweDtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItcmFkaXVzOiAycHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xuXHQtLWljb24tc2l6ZTogMTBweDtcblx0b3BhY2l0eTogMDtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luOiAwO1xufVxuXG4uYWRkLW1ldGFkYXRhLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRvcGFjaXR5OiAxO1xufVxuXG4uYWRkLW1ldGFkYXRhLWJ0bjphY3RpdmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZSk7XG5cdHRyYW5zZm9ybTogc2NhbGUoMC45NSk7XG59XG5cbi5hZGQtbWV0YWRhdGEtYnRuIHN2ZyB7XG5cdHdpZHRoOiAxMHB4O1xuXHRoZWlnaHQ6IDEwcHg7XG59XG5cbi8qIFNtb290aCB0cmFuc2l0aW9ucyBmb3IgYmV0dGVyIHBlcmZvcm1hbmNlICovXG4uaW5saW5lLWVkaXRvciAqIHtcblx0dHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZSxcblx0XHRib3gtc2hhZG93IDAuMTVzIGVhc2U7XG59XG5cbi8qIEZvY3VzIHN0YXRlcyBmb3IgYmV0dGVyIGFjY2Vzc2liaWxpdHkgKi9cbi5pbmxpbmUtZWRpdG9yIGlucHV0OmZvY3VzLFxuLmlubGluZS1lZGl0b3IgdGV4dGFyZWE6Zm9jdXMsXG4uaW5saW5lLWVkaXRvciBzZWxlY3Q6Zm9jdXMge1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG4vKiBFZGl0YWJsZSBNZXRhZGF0YSBJdGVtcyAtIE1vcmUgc3VidGxlIGhvdmVyIGVmZmVjdHMgKi9cbi50YXNrLWl0ZW0tbWV0YWRhdGEgLnRhc2stZGF0ZSxcbi50YXNrLWl0ZW0tbWV0YWRhdGEgLnRhc2stcHJvamVjdCxcbi50YXNrLWl0ZW0tbWV0YWRhdGEgLnRhc2stdGFnIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UsIHRyYW5zZm9ybSAwLjE1cyBlYXNlO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi50YXNrLWl0ZW0tbWV0YWRhdGEgLnRhc2stZGF0ZTpob3Zlcixcbi50YXNrLWl0ZW0tbWV0YWRhdGEgLnRhc2stcHJvamVjdDpob3Zlcixcbi50YXNrLWl0ZW0tbWV0YWRhdGEgLnRhc2stdGFnOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdHRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyogUmVtb3ZlIHRvb2x0aXAgb24gaG92ZXIgZm9yIGJldHRlciBwZXJmb3JtYW5jZSAqL1xuLnRhc2staXRlbS1tZXRhZGF0YSAudGFzay1kYXRlOmhvdmVyOjphZnRlcixcbi50YXNrLWl0ZW0tbWV0YWRhdGEgLnRhc2stcHJvamVjdDpob3Zlcjo6YWZ0ZXIsXG4udGFzay1pdGVtLW1ldGFkYXRhIC50YXNrLXRhZzpob3Zlcjo6YWZ0ZXIge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4vKiBDb250ZW50IEVkaXRhYmxlIEhvdmVyIC0gTW9yZSBzdWJ0bGUgKi9cbi50YXNrLWl0ZW0tY29udGVudCB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlO1xufVxuXG4vKiBBbmltYXRpb24gZm9yIHNtb290aCB0cmFuc2l0aW9ucyAtIE9wdGltaXplZCAqL1xuLmlubGluZS1tZXRhZGF0YS1lZGl0b3Ige1xuXHRhbmltYXRpb246IGZhZGVJblNjYWxlIDAuMTVzIGVhc2Utb3V0O1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblNjYWxlIHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xuXHR9XG5cdHRvIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdH1cbn1cblxuLyogUHJldmVudCBsYXlvdXQgc2hpZnQgZHVyaW5nIGVkaXRpbmcgKi9cbi5pbmxpbmUtZWRpdG9yLXBsYWNlaG9sZGVyIHtcblx0bWluLWhlaWdodDogMWVtO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qIFJlc3BvbnNpdmUgYWRqdXN0bWVudHMgLSBTaW1wbGlmaWVkICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0LmlubGluZS1wcm9qZWN0LWlucHV0LFxuXHQuaW5saW5lLXRhZ3MtaW5wdXQsXG5cdC5pbmxpbmUtY29udGV4dC1pbnB1dCxcblx0LmlubGluZS1yZWN1cnJlbmNlLWlucHV0IHtcblx0XHRtaW4td2lkdGg6IDEwMHB4O1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0fVxuXG5cdC5pbmxpbmUtbWV0YWRhdGEtZWRpdG9yIHtcblx0XHRtYXgtd2lkdGg6IDI1MHB4O1xuXHR9XG59XG5cbi8qIEhpZ2ggY29udHJhc3QgbW9kZSBzdXBwb3J0ICovXG5AbWVkaWEgKHByZWZlcnMtY29udHJhc3Q6IGhpZ2gpIHtcblx0LmlubGluZS1jb250ZW50LWVkaXRvcixcblx0LmlubGluZS1lbWJlZGRlZC1lZGl0b3IgLmNtLWVkaXRvciB7XG5cdFx0Ym9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xuXHR9XG5cblx0LmlubGluZS1tZXRhZGF0YS1lZGl0b3Ige1xuXHRcdGJvcmRlci13aWR0aDogMnB4O1xuXHR9XG59XG5cbi8qIFJlZHVjZWQgbW90aW9uIHN1cHBvcnQgKi9cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG5cdC5pbmxpbmUtZWRpdG9yICosXG5cdC50YXNrLWl0ZW0tbWV0YWRhdGEgLnRhc2stZGF0ZSxcblx0LnRhc2staXRlbS1tZXRhZGF0YSAudGFzay1wcm9qZWN0LFxuXHQudGFzay1pdGVtLW1ldGFkYXRhIC50YXNrLXRhZyxcblx0LnRhc2staXRlbS1jb250ZW50LFxuXHQuYWRkLW1ldGFkYXRhLWJ0biB7XG5cdFx0dHJhbnNpdGlvbjogbm9uZTtcblx0fVxuXG5cdC5pbmxpbmUtbWV0YWRhdGEtZWRpdG9yIHtcblx0XHRhbmltYXRpb246IG5vbmU7XG5cdH1cbn1cblxuLyogTmV3IGZpZWxkIGlucHV0IHN0eWxlcyAqL1xuLmlubGluZS1kZXBlbmRzb24taW5wdXQsXG4uaW5saW5lLWlkLWlucHV0IHtcblx0d2lkdGg6IDEwMCU7XG5cdG1pbi13aWR0aDogMjAwcHg7XG5cdHBhZGRpbmc6IDRweCA4cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LWZhbWlseTogaW5oZXJpdDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0b3V0bGluZTogbm9uZTtcblx0dHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UsIGJveC1zaGFkb3cgMC4xNXMgZWFzZTtcbn1cblxuLmlubGluZS1kZXBlbmRzb24taW5wdXQ6Zm9jdXMsXG4uaW5saW5lLWlkLWlucHV0OmZvY3VzIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLmlubGluZS1kZXBlbmRzb24taW5wdXQ6OnBsYWNlaG9sZGVyLFxuLmlubGluZS1pZC1pbnB1dDo6cGxhY2Vob2xkZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG59XG4iLCAiLyogVHJlZSBWaWV3IHN0eWxlcyAqL1xuXG4vKiBUcmVlIGl0ZW0gY29udGFpbmVyICovXG4udHJlZS10YXNrLWl0ZW0ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdHBhZGRpbmc6IDhweCAxNnB4O1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLnRhc2stY2hpbGRyZW4tY29udGFpbmVyIC50YXNrLWl0ZW0udHJlZS10YXNrLWl0ZW0ge1xuXHRib3JkZXItYm90dG9tOiB1bnNldDtcblx0cGFkZGluZy10b3A6IHZhcigtLXNpemUtMi0yKTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNpemUtMi0yKTtcblx0Z2FwOiAwO1xufVxuXG4udGFzay1pdGVtLnRyZWUtdGFzay1pdGVtIHtcblx0Z2FwOiAwO1xufVxuXG4udHJlZS10YXNrLWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xufVxuXG4udHJlZS10YXNrLWl0ZW0uc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZSk7XG59XG5cbi50cmVlLXRhc2staXRlbS5jb21wbGV0ZWQge1xuXHRvcGFjaXR5OiAwLjc7XG59XG5cbi8qIFRhc2sgY29udGVudCByb3cgKGNvbnRhaW5zIHRoZSBtYWluIHRhc2sgY29udGVudCkgKi9cbi50cmVlLXRhc2staXRlbSA+IGRpdjpmaXJzdC1vZi10eXBlIHtcblx0d2lkdGg6IDEwMCU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRnYXA6IDZweDtcbn1cblxuLyogSW5kZW50YXRpb24gZm9yIGhpZXJhcmNoeSAqL1xuLnRhc2staW5kZW50IHtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi50YXNrLWl0ZW0udHJlZS10YXNrLWl0ZW0gLnRhc2stZXhwYW5kLXRvZ2dsZSB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zaXplLTItMik7XG59XG5cbi50YXNrLWl0ZW0gLnRhc2stY2hlY2tib3gge1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc2l6ZS0yLTIpO1xufVxuXG4vKiBFeHBhbmQvY29sbGFwc2UgdG9nZ2xlICovXG4udGFzay1leHBhbmQtdG9nZ2xlIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcblx0ZmxleC1zaHJpbms6IDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnRhc2stZXhwYW5kLXRvZ2dsZTpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi8qIFRhc2sgY2hlY2tib3ggKi9cbi50YXNrLWl0ZW0udHJlZS10YXNrLWl0ZW0gLnRhc2stY2hlY2tib3gge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4udGFzay1pdGVtLnRyZWUtdGFzay1pdGVtIC50YXNrLWNoZWNrYm94OmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLnRhc2staXRlbS50cmVlLXRhc2staXRlbSAudGFzay1jaGVja2JveC5jaGVja2VkIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLyogVGFzayBjb250ZW50ICovXG4udGFzay1jb250ZW50IHtcblx0ZmxleC1ncm93OiAxO1xuXHRsaW5lLWhlaWdodDogMS40O1xufVxuXG4udHJlZS10YXNrLWl0ZW0uY29tcGxldGVkIC50YXNrLWNvbnRlbnQge1xuXHR0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4vKiBEeW5hbWljIGNvbnRlbnQtbWV0YWRhdGEgY29udGFpbmVyIGZvciB0cmVlIHZpZXcgKi9cbi50cmVlLXRhc2staXRlbSAudGFzay1jb250ZW50LW1ldGFkYXRhLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4vKiBTaW5nbGUgbGluZSBjb250ZW50IGxheW91dCAtIGhvcml6b250YWwgKi9cbi50cmVlLXRhc2staXRlbSAudGFzay1jb250ZW50LW1ldGFkYXRhLWNvbnRhaW5lci5zaW5nbGUtbGluZS1jb250ZW50IHtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnRyZWUtdGFzay1pdGVtIC50YXNrLWNvbnRlbnQtbWV0YWRhdGEtY29udGFpbmVyLnNpbmdsZS1saW5lLWNvbnRlbnQgLnRhc2staXRlbS1jb250ZW50IHtcblx0ZmxleDogMTtcblx0bWluLXdpZHRoOiAwOyAvKiBBbGxvdyBjb250ZW50IHRvIHNocmluayAqL1xufVxuXG4udHJlZS10YXNrLWl0ZW0gLnRhc2stY29udGVudC1tZXRhZGF0YS1jb250YWluZXIuc2luZ2xlLWxpbmUtY29udGVudCAudGFzay1tZXRhZGF0YSB7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRtYXJnaW4tdG9wOiAwO1xufVxuXG4vKiBNdWx0aS1saW5lIGNvbnRlbnQgbGF5b3V0IC0gdmVydGljYWwgKi9cbi50cmVlLXRhc2staXRlbSAudGFzay1jb250ZW50LW1ldGFkYXRhLWNvbnRhaW5lci5tdWx0aS1saW5lLWNvbnRlbnQge1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLnRyZWUtdGFzay1pdGVtIC50YXNrLWNvbnRlbnQtbWV0YWRhdGEtY29udGFpbmVyLm11bHRpLWxpbmUtY29udGVudCAudGFzay1pdGVtLWNvbnRlbnQge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLnRyZWUtdGFzay1pdGVtIC50YXNrLWNvbnRlbnQtbWV0YWRhdGEtY29udGFpbmVyLm11bHRpLWxpbmUtY29udGVudCAudGFzay1tZXRhZGF0YSB7XG5cdG1hcmdpbi10b3A6IDRweDtcbn1cblxuLyogVGFzayBtZXRhZGF0YSAqL1xuLnRhc2stbWV0YWRhdGEge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IDhweDtcblx0bWFyZ2luLXRvcDogNHB4O1xuXHRmb250LXNpemU6IDAuODVlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGFzay1tZXRhZGF0YTplbXB0eSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi50YXNrLWR1ZS1kYXRlLm92ZXJkdWUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4udGFzay1pdGVtLnRyZWUtdGFzay1pdGVtIC50YXNrLXByb2plY3Qge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBhZGRpbmc6IDFweCA2cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLnRhc2stcHJpb3JpdHkucHJpb3JpdHktMyB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLnRhc2stcHJpb3JpdHkucHJpb3JpdHktMiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LXdhcm5pbmcpO1xufVxuXG4udGFzay1wcmlvcml0eS5wcmlvcml0eS0xIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLyogTmV3IGZpZWxkIHN0eWxlcyBmb3IgdHJlZSB2aWV3ICovXG4udHJlZS10YXNrLWl0ZW0gLnRhc2stb25jb21wbGV0aW9uIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDJweCA2cHg7XG5cdG1hcmdpbi1sZWZ0OiA0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50cmVlLXRhc2staXRlbSAudGFzay1vbmNvbXBsZXRpb246aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udHJlZS10YXNrLWl0ZW0gLnRhc2stZGVwZW5kc29uIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDJweCA2cHg7XG5cdG1hcmdpbi1sZWZ0OiA0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRyZWUtdGFzay1pdGVtIC50YXNrLWRlcGVuZHNvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3ItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi50cmVlLXRhc2staXRlbSAudGFzay1pZCB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiAycHggNnB4O1xuXHRtYXJnaW4tbGVmdDogNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjY2VudCk7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRyZWUtdGFzay1pdGVtIC50YXNrLWlkOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQtaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQtaG92ZXIpO1xufVxuXG4vKiBDaGlsZHJlbiBjb250YWluZXIgKi9cbi50YXNrLWNoaWxkcmVuLWNvbnRhaW5lciB7XG5cdC8qIG1hcmdpbi1sZWZ0OiAyMHB4OyAqL1xuXHRtYXJnaW4tdG9wOiA0cHg7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4vKiBWaWV3IHRvZ2dsZSBidXR0b24gKi9cbi52aWV3LXRvZ2dsZS1idG4ge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogMjRweDtcblx0aGVpZ2h0OiAyNHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLnZpZXctdG9nZ2xlLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFzay1jaGlsZHJlbi1jb250YWluZXI6ZW1wdHkge1xuXHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4iLCAiLnRhc2stc2lkZWJhci5jb2xsYXBzZWQge1xuXHR3aWR0aDogNDhweDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnBhbmVsLXRvZ2dsZS1idG4ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdG9wYWNpdHk6IDAuNjtcblxuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcbn1cblxuLnBhbmVsLXRvZ2dsZS1idG46aG92ZXIge1xuXHRvcGFjaXR5OiAxO1xufVxuXG4udGFzay1zaWRlYmFyLmNvbGxhcHNlZCAuc2lkZWJhci1uYXYge1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vKiBTaWRlYmFyIE5hdmlnYXRpb24gKi9cbi5zaWRlYmFyLW5hdiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdHBhZGRpbmc6IDIwcHggMCAxMHB4IDA7XG5cdGdhcDogNXB4O1xufVxuXG4uc2lkZWJhci1uYXYtc3BhY2VyIHtcblx0aGVpZ2h0OiAxcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0bWFyZ2luOiA4cHggMTVweDtcblx0b3BhY2l0eTogMC43O1xuXHRtYXJnaW4tdG9wOiBhdXRvO1xufVxuXG4uc2lkZWJhci1uYXYtaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDhweCAxNXB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0bWFyZ2luOiAwIDVweDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG59XG5cbi5zaWRlYmFyLW5hdi1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUpO1xufVxuXG4uc2lkZWJhci1uYXYtaXRlbS5pcy1hY3RpdmUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHQtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXI6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdC0taWNvbi1jb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ubmF2LWl0ZW0taWNvbiB7XG5cdC0taWNvbi1zaXplOiB2YXIoLS1zaXplLTQtNCk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLm5hdi1pdGVtLWxhYmVsIHtcblx0ZmxleDogMTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4ubmF2LWl0ZW0tbGFiZWwuaGlkZGVuIHtcblx0b3BhY2l0eTogMDtcblx0d2lkdGg6IDA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdG1hcmdpbjogMDtcbn1cblxuLnRhc2stc2lkZWJhci5jb2xsYXBzZWQgLnNpZGViYXItbmF2LWl0ZW0ge1xuXHRwYWRkaW5nOiA4cHggMTBweDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtOSk7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXG5cdHRyYW5zaXRpb246IHdpZHRoIDAuM3MgZWFzZS1pbi1vdXQsIGZsZXgtc2hyaW5rIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG5cbi50YXNrLXNpZGViYXIuY29sbGFwc2VkIC5uYXYtaXRlbS1pY29uIHtcblx0bWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4vKiBDb250ZW50IFN0eWxlcyAqL1xuLnRhc2stY29udGVudCB7XG5cdGZsZXg6IDE7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdG1pbi13aWR0aDogMDtcblx0dHJhbnNpdGlvbjogbWFyZ2luIDAuM3MgZWFzZTtcbn1cblxuLnRhc2stc2lkZWJhci5jb2xsYXBzZWQgLnRhc2stY29udGVudCB7XG5cdG1hcmdpbi1sZWZ0OiAtMjAwcHg7XG5cblx0dHJhbnNpdGlvbjogbWFyZ2luIDAuM3MgZWFzZTtcbn1cblxuLyogUHJvamVjdCBUcmVlICovXG4udGFzay1nZW5pdXMtdmlldyAucHJvamVjdC10cmVlIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpIDA7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1yb290IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDZweCA4cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0bWFyZ2luOiAwIDVweDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS5zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS1pY29uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiAyMHB4O1xuXHRoZWlnaHQ6IDIwcHg7XG5cdG1hcmdpbi1yaWdodDogOHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0tbmFtZSB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLWNvdW50IHtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tbGVmdDogNXB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0cGFkZGluZzogMXB4IDZweDtcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS10b2dnbGUsXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLWluZGVudCB7XG5cdHdpZHRoOiAyMHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0bWFyZ2luLXJpZ2h0OiA1cHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0tdG9nZ2xlIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKiBDb250ZW50IEhlYWRlciAqL1xuLmNvbnRlbnQtaGVhZGVyIHtcblx0cGFkZGluZzogMTVweDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi50YXNrLWNvdW50IHtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbi5mb2N1cy1maWx0ZXIge1xuXHRtYXJnaW4tbGVmdDogMTBweDtcbn1cblxuLyogVGFza1ZpZXcgLSBPbW5pRm9jdXMgU3R5bGUgKi9cblxuLndvcmtzcGFjZS1sZWFmLWNvbnRlbnQgLnRhc2stZ2VuaXVzLXZpZXcge1xuXHRwYWRkaW5nOiAwO1xufVxuXG4uYmFzZXMtdmlldyAudGFzay1nZW5pdXMtdmlldyB7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuLyogTWFpbiBjb250YWluZXIgbGF5b3V0ICovXG4udGFzay1nZW5pdXMtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0aGVpZ2h0OiAxMDAlO1xuXHR3aWR0aDogMTAwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIExlZnQgc2lkZWJhciAqL1xuLnRhc2stc2lkZWJhciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXG5cdHdpZHRoOiAyNDBweDtcblx0dHJhbnNpdGlvbjogd2lkdGggMC4zcyBlYXNlLWluLW91dDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKiBNYWluIGNvbnRlbnQgYXJlYSAqL1xuLnRhc2stY29udGVudCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGZsZXg6IDE7XG5cdG1pbi13aWR0aDogMzAwcHg7XG5cdGhlaWdodDogMTAwJTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogTmF2aWdhdGlvbiBzaWRlYmFyICovXG4udGFzay1zaWRlYmFyIC5zaWRlYmFyLW5hdiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdHBhZGRpbmc6IDhweCAwO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbi8qIFByb2plY3QgdHJlZSAqL1xuLnByb2plY3QtdHJlZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdHBhZGRpbmc6IDhweCAwO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4udHJlZS1yb290IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDRweCAxMnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0bWFyZ2luOiAycHggOHB4O1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLXRvZ2dsZSB7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRtYXJnaW4tcmlnaHQ6IDRweDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS1pbmRlbnQge1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRtYXJnaW4tcmlnaHQ6IDRweDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS1pY29uIHtcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0tbmFtZSB7XG5cdGZsZXg6IDE7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLWNvdW50IHtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcblx0cGFkZGluZzogMnB4IDZweDtcblx0bWluLXdpZHRoOiAxNnB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0uZXhwYW5kZWQgPiAudHJlZS1pdGVtLWNoaWxkcmVuIHtcblx0ZGlzcGxheTogZmxleDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS1jaGlsZHJlbiB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG1hcmdpbi1sZWZ0OiAxNnB4O1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLyogQ29udGVudCBoZWFkZXIgKi9cbi50YXNrLWdlbml1cy12aWV3IC5jb250ZW50LWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDEwcHggMTZweDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0bWluLWhlaWdodDogNTBweDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLmNvbnRlbnQtdGl0bGUge1xuXHRmb250LXNpemU6IDEuMmVtO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRtYXJnaW4tcmlnaHQ6IDEycHg7XG5cdGZsZXg6IDE7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC50YXNrLWdlbml1cy12aWV3IC5jb250ZW50LXRpdGxlIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0LnRhc2stZ2VuaXVzLXZpZXcgLnRhc2stY291bnQge1xuXHRcdGZsZXg6IDE7XG5cdH1cblxuXHQudGFzay1nZW5pdXMtdmlldyAuZm9jdXMtZmlsdGVyIHtcblx0XHRmbGV4OiAxO1xuXHR9XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5jb250ZW50LWZpbHRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1hcmdpbi1yaWdodDogMTJweDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLmZpbHRlci1pbnB1dCB7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRwYWRkaW5nOiA0cHggOHB4O1xuXHR3aWR0aDogMjAwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5mb2N1cy1idXR0b24ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1ub3JtYWwpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0cGFkZGluZzogNHB4IDEwcHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLmZvY3VzLWJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWhvdmVyKTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLmZvY3VzLWJ1dHRvbi5mb2N1c2VkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLm1vZC1yb290IC50YXNrLWdlbml1cy1hY3Rpb24tYnRuIHtcblx0LS1pY29uLXNpemU6IDE2cHg7XG59XG5cbi5tb2QtbGVmdC1zcGxpdCAudGFzay1nZW5pdXMtYWN0aW9uLWJ0biB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tb2QtbGVmdC1zcGxpdFxuLndvcmtzcGFjZS10YWItaGVhZGVyLXN0YXR1cy1jb250YWluZXI6aGFzKC50YXNrLWdlbml1cy1hY3Rpb24tYnRuKSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tb2QtcmlnaHQtc3BsaXRcbi53b3Jrc3BhY2UtdGFiLWhlYWRlci1zdGF0dXMtY29udGFpbmVyOmhhcygudGFzay1nZW5pdXMtYWN0aW9uLWJ0bikge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudGFzay1lbXB0eS1zdGF0ZSxcbi50YXNrLWdlbml1cy1mbHVlbnQtdmlldyAudGFzay1lbXB0eS1zdGF0ZSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGZsZXg6IDE7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ubW9kLXJvb3QgLnRhc2stZ2VuaXVzLXRhYi1oZWFkZXIge1xuXHRjb250YWluZXItdHlwZTogaW5saW5lLXNpemUgIWltcG9ydGFudDtcbn1cblxuQGNvbnRhaW5lciAobWF4LXdpZHRoOiAxMjBweCkge1xuXHQubW9kLXJvb3QgLnRhc2stZ2VuaXVzLWFjdGlvbi1idG4ge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuLnRhc2stc2lkZWJhci5jb2xsYXBzZWQgLnNpZGViYXItbmF2IHtcblx0bWF4LXdpZHRoOiA0NXB4O1xufVxuXG4vKiBXb3JrZmxvdyBRdWljayBNb2RhbCBTdHlsZXMgKi9cbi5xdWljay13b3JrZmxvdy1tb2RhbCB7XG5cdG1heC13aWR0aDogNjAwcHg7XG5cdG1pbi1oZWlnaHQ6IDQwMHB4O1xufVxuXG4ud29ya2Zsb3ctdGVtcGxhdGUtc2VjdGlvbiB7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdHBhZGRpbmc6IDE1cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xufVxuXG4udGVtcGxhdGUtZGVzY3JpcHRpb24ge1xuXHRtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4udGVtcGxhdGUtZGVzYy10ZXh0IHtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbjogMDtcbn1cblxuLndvcmtmbG93LWZvcm0tc2VjdGlvbiB7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi53b3JrZmxvdy1zdGFnZXMtcHJldmlldyB7XG5cdG1hcmdpbi10b3A6IDE1cHg7XG59XG5cbi5zdGFnZXMtcHJldmlldy1saXN0IHtcblx0bWFyZ2luLXRvcDogMTBweDtcbn1cblxuLnN0YWdlLXByZXZpZXctaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0cGFkZGluZzogOHB4IDEycHg7XG5cdG1hcmdpbjogNHB4IDA7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5zdGFnZS1pbmZvIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7XG59XG5cbi5zdGFnZS1uYW1lIHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLnN0YWdlLXR5cGUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi5zdGFnZS1hY3Rpb25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiA0cHg7XG59XG5cbi5uby1zdGFnZXMtbWVzc2FnZSB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdHBhZGRpbmc6IDIwcHg7XG5cdGJvcmRlcjogMnB4IGRhc2hlZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0bWFyZ2luLXRvcDogMTBweDtcbn1cblxuLndvcmtmbG93LW1vZGFsLWJ1dHRvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRnYXA6IDEwcHg7XG5cdG1hcmdpbi10b3A6IDIwcHg7XG5cdHBhZGRpbmctdG9wOiAxNXB4O1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4vKiBXb3JrZmxvdyBQcm9ncmVzcyBJbmRpY2F0b3IgU3R5bGVzICovXG4ud29ya2Zsb3ctcHJvZ3Jlc3MtaW5kaWNhdG9yIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0cGFkZGluZzogMTVweDtcblx0bWFyZ2luOiAxMHB4IDA7XG59XG5cbi53b3JrZmxvdy1wcm9ncmVzcy1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbi53b3JrZmxvdy1uYW1lIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Zm9udC1zaXplOiAxLjFlbTtcbn1cblxuLndvcmtmbG93LXByb2dyZXNzLXRleHQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi53b3JrZmxvdy1wcm9ncmVzcy1iYXItY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAxMHB4O1xuXHRtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4ud29ya2Zsb3ctcHJvZ3Jlc3MtYmFyIHtcblx0ZmxleDogMTtcblx0aGVpZ2h0OiA4cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ud29ya2Zsb3ctcHJvZ3Jlc3MtZmlsbCB7XG5cdGhlaWdodDogMTAwJTtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0dHJhbnNpdGlvbjogd2lkdGggMC4zcyBlYXNlO1xufVxuXG4ud29ya2Zsb3ctcHJvZ3Jlc3MtcGVyY2VudGFnZSB7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdG1pbi13aWR0aDogMzVweDtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1saXN0IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiA4cHg7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdGdhcDogMTJweDtcblx0cGFkZGluZzogMTBweDtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLndvcmtmbG93LXN0YWdlLWl0ZW0uY29tcGxldGVkIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1zdWNjZXNzKTtcbn1cblxuLndvcmtmbG93LXN0YWdlLWl0ZW0uY3VycmVudCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWNjZW50KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLndvcmtmbG93LXN0YWdlLWl0ZW0ucGVuZGluZyB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdG9wYWNpdHk6IDAuNztcbn1cblxuLndvcmtmbG93LXN0YWdlLWljb24ge1xuXHR3aWR0aDogMjBweDtcblx0aGVpZ2h0OiAyMHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0bWFyZ2luLXRvcDogMnB4O1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtaWNvbi5jb21wbGV0ZWQtaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LXN1Y2Nlc3MpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtaWNvbi5jdXJyZW50LWljb24ge1xuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLndvcmtmbG93LXN0YWdlLWljb24ucGVuZGluZy1pY29uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtY29udGVudCB7XG5cdGZsZXg6IDE7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1uYW1lIHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0bWFyZ2luLWJvdHRvbTogMnB4O1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtdHlwZSB7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLndvcmtmbG93LXN0YWdlLW51bWJlciB7XG5cdHdpZHRoOiAyNHB4O1xuXHRoZWlnaHQ6IDI0cHg7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0bWFyZ2luLXRvcDogMnB4O1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtaXRlbS5jb21wbGV0ZWQgLndvcmtmbG93LXN0YWdlLW51bWJlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLXRleHQtc3VjY2Vzcyk7XG5cdGNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtaXRlbS5jdXJyZW50IC53b3JrZmxvdy1zdGFnZS1udW1iZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ud29ya2Zsb3ctc3Vic3RhZ2UtY29udGFpbmVyIHtcblx0bWFyZ2luLXRvcDogOHB4O1xuXHRwYWRkaW5nLWxlZnQ6IDE2cHg7XG5cdGJvcmRlci1sZWZ0OiAycHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4ud29ya2Zsb3ctc3Vic3RhZ2UtaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogOHB4O1xuXHRwYWRkaW5nOiA0cHggMDtcbn1cblxuLndvcmtmbG93LXN1YnN0YWdlLWljb24ge1xuXHR3aWR0aDogMTJweDtcblx0aGVpZ2h0OiAxMnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi53b3JrZmxvdy1zdWJzdGFnZS1uYW1lIHtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuIiwgIi8qIHRhc2stcHJvcGVydHkgVmlldyBTdHlsZXMgKi9cbi50YXNrLXByb3BlcnR5LWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGhlaWdodDogMTAwJTtcblx0d2lkdGg6IDEwMCU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi50YXNrLXByb3BlcnR5LWNvbnRlbnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udGFzay1wcm9wZXJ0eS1sZWZ0LWNvbHVtbiB7XG5cdHdpZHRoOiBtYXgoMTIwcHgsIDMwJSk7XG5cdG1pbi13aWR0aDogbWluKDEyMHB4LCAzMCUpO1xuXHRtYXgtd2lkdGg6IDMwMHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5pcy1waG9uZSAudGFzay1wcm9wZXJ0eS1sZWZ0LWNvbHVtbiB7XG5cdG1heC13aWR0aDogMTAwJTtcbn1cblxuLnRhc2stcHJvcGVydHktcmlnaHQtY29sdW1uIHtcblx0ZmxleDogMTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnRhc2stcHJvcGVydHktc2lkZWJhci1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtNCk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGhlaWdodDogdmFyKC0tc2l6ZS00LTEwKTtcbn1cblxuLnRhc2stcHJvcGVydHktc2lkZWJhci10aXRsZSB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLm11bHRpLXNlbGVjdC1tb2RlIC50YXNrLXByb3BlcnR5LW11bHRpLXNlbGVjdC1idG4ge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbn1cblxuLnRhc2stcHJvcGVydHktbXVsdGktc2VsZWN0LWJ0biB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4udGFzay1wcm9wZXJ0eS1tdWx0aS1zZWxlY3QtYnRuOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRhc2stcHJvcGVydHktc2lkZWJhci1saXN0IHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4udGFzay1wcm9wZXJ0eS1saXN0LWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiA0cHggMTJweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG59XG5cbi50YXNrLXByb3BlcnR5LWxpc3QtaXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4udGFzay1wcm9wZXJ0eS1saXN0LWl0ZW0uc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZSk7XG59XG5cbi50YXNrLXByb3BlcnR5LWljb24ge1xuXHRtYXJnaW4tcmlnaHQ6IDhweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4udGFzay1wcm9wZXJ0eS1uYW1lIHtcblx0ZmxleDogMTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi50YXNrLXByb3BlcnR5LWNvdW50IHtcblx0bWFyZ2luLWxlZnQ6IDhweDtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cdHBhZGRpbmc6IDFweCA2cHg7XG59XG5cbi50YXNrLXByb3BlcnR5LXRhc2staGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTQpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC0xMCk7XG59XG5cbi50YXNrLXByb3BlcnR5LXRhc2stdGl0bGUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LXNpemU6IDE2cHg7XG59XG5cbi50YXNrLXByb3BlcnR5LXRhc2stY291bnQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50YXNrLXByb3BlcnR5LXRhc2stbGlzdCB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi50YXNrLXByb3BlcnR5LWVtcHR5LXN0YXRlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGhlaWdodDogMTAwJTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdHBhZGRpbmc6IDE2cHg7XG59XG5cbi8qIHRhc2stcHJvcGVydHkgVmlldyAtIE1vYmlsZSAqL1xuLmlzLXBob25lIC50YXNrLXByb3BlcnR5LWxlZnQtY29sdW1uIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAwO1xuXHR0b3A6IDA7XG5cdGhlaWdodDogMTAwJTtcblx0ei1pbmRleDogMTA7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0d2lkdGg6IDEwMCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0O1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5pcy1waG9uZSAudGFzay1wcm9wZXJ0eS1sZWZ0LWNvbHVtbi5pcy12aXNpYmxlIHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG4uaXMtcGhvbmUgLnRhc2stcHJvcGVydHktc2lkZWJhci10b2dnbGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XG59XG5cbi5pcy1waG9uZSAudGFzay1wcm9wZXJ0eS1zaWRlYmFyLWNsb3NlIHtcblx0LS1pY29uLXNpemU6IHZhcigtLXNpemUtNC00KTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IHZhcigtLXNpemUtNC0yKTtcblx0cmlnaHQ6IDEwcHg7XG5cdHotaW5kZXg6IDE1O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLyogQWRkIG92ZXJsYXkgd2hlbiBsZWZ0IGNvbHVtbiBpcyB2aXNpYmxlIG9uIG1vYmlsZSAqL1xuLmlzLXBob25lXG5cdC50YXNrLXByb3BlcnR5LWNvbnRhaW5lcjpoYXMoXG5cdFx0LnRhc2stcHJvcGVydHktbGVmdC1jb2x1bW4uaXMtdmlzaWJsZVxuXHQpOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1jb3Zlcik7XG5cdG9wYWNpdHk6IDAuNTtcblx0ei1pbmRleDogNTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xufVxuXG4vKiBBZGQgcG9zaXRpb24gcmVsYXRpdmUgdG8gY29udGFpbmVyIGZvciBhYnNvbHV0ZSBwb3NpdGlvbmluZyBjb250ZXh0ICovXG4uaXMtcGhvbmUgLnRhc2stcHJvcGVydHktY29udGFpbmVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uaXMtcGhvbmUgLnRhc2stcHJvcGVydHktc2lkZWJhci1oZWFkZXI6aGFzKC50YXNrLXByb3BlcnR5LXNpZGViYXItY2xvc2UpIHtcblx0cGFkZGluZy1yaWdodDogdmFyKC0tc2l6ZS00LTEyKTtcbn1cbiIsICIvKiBGb3JlY2FzdCBDb21wb25lbnQgU3R5bGVzICovXG4uZm9yZWNhc3QtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0aGVpZ2h0OiAxMDAlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRmbGV4OiAxO1xufVxuXG4uZm9yZWNhc3QtaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiAxNXB4O1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uZm9yZWNhc3QtdGl0bGUtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmZvcmVjYXN0LXRpdGxlIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Zm9udC1zaXplOiAxLjJlbTtcbn1cblxuLmZvcmVjYXN0LWNvdW50IHtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tdG9wOiA0cHg7XG59XG5cbi5mb3JlY2FzdC1hY3Rpb25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uZm9yZWNhc3Qtc2V0dGluZ3Mge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdG9wYWNpdHk6IDAuNztcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG5cblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5mb3JlY2FzdC1zZXR0aW5nczpob3ZlciB7XG5cdG9wYWNpdHk6IDE7XG59XG5cbi5mb3JlY2FzdC1mb2N1cy1iYXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRwYWRkaW5nOiAxMHB4IDE1cHg7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGdhcDogMTBweDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmZvY3VzLWlucHV0IHtcblx0ZmxleDogMTtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnVuZm9jdXMtYnV0dG9uIHtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXI6IG5vbmU7XG59XG5cbi51bmZvY3VzLWJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi8qIE1haW4gY29udGVudCBsYXlvdXQgd2l0aCB0d28gY29sdW1ucyAqL1xuLmZvcmVjYXN0LWNvbnRlbnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZm9yZWNhc3QtbGVmdC1jb2x1bW4ge1xuXHR3aWR0aDogMzYwcHg7XG5cdG1pbi13aWR0aDogMzYwcHg7XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcbn1cblxuLmZvcmVjYXN0LXJpZ2h0LWNvbHVtbiB7XG5cdGZsZXg6IDE7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG59XG5cbi5mb3JlY2FzdC10YXNrLWxpc3Qge1xuXHRvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4uZm9yZWNhc3QtY2FsZW5kYXItc2VjdGlvbiB7XG5cdHBhZGRpbmc6IDEwcHggMDtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTQpO1xuXHRmbGV4LXNocmluazogMDtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLyogU3RhdHMgQmFyICovXG4uZm9yZWNhc3Qtc3RhdHMge1xuXHRkaXNwbGF5OiBmbGV4O1xufVxuXG4uc3RhdC1pdGVtIHtcblx0ZmxleDogMTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogMTBweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uc3RhdC1pdGVtOjphZnRlciB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Ym90dG9tOiAwO1xuXHRsZWZ0OiAxMCU7XG5cdHdpZHRoOiA4MCU7XG5cdGhlaWdodDogM3B4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG59XG5cbi5zdGF0LWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnN0YXQtaXRlbS5hY3RpdmU6OmFmdGVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0YW5pbWF0aW9uOiBjb2xvci1wdWxzZSAxLjVzIGluZmluaXRlIGFsdGVybmF0ZTtcbn1cblxuQGtleWZyYW1lcyBjb2xvci1wdWxzZSB7XG5cdDAlIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQtMSkgIWltcG9ydGFudDtcblx0XHRvcGFjaXR5OiAwLjc7XG5cdH1cblx0MTAwJSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYWNjZW50LTIpICFpbXBvcnRhbnQ7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuXG4uc3RhdC1pdGVtLnRnLXBhc3QtZHVlOjphZnRlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRvcGFjaXR5OiAwLjc7XG59XG5cbi5zdGF0LWl0ZW0udGctdG9kYXk6OmFmdGVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0b3BhY2l0eTogMC43O1xufVxuXG4uc3RhdC1pdGVtLnRnLWZ1dHVyZTo6YWZ0ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdG9wYWNpdHk6IDAuNztcbn1cblxuLnN0YXQtY291bnQge1xuXHRmb250LXNpemU6IDEuNWVtO1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuXG4uc3RhdC1pdGVtLnRnLXBhc3QtZHVlIC5zdGF0LWNvdW50IHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4uc3RhdC1sYWJlbCB7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLyogRHVlIFNvb24gU2VjdGlvbiAqL1xuLmZvcmVjYXN0LWR1ZS1zb29uLXNlY3Rpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xufVxuXG4uZHVlLXNvb24taGVhZGVyIHtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0cGFkZGluZzogNXB4IDE1cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0bGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbn1cblxuLmR1ZS1zb29uLWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdHBhZGRpbmc6IDhweCAxNXB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xufVxuXG4uZHVlLXNvb24taXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRib3JkZXItbGVmdC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLmR1ZS1zb29uLWRhdGUge1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuXG4uZHVlLXNvb24tY291bnQge1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBhZGRpbmc6IDJweCA2cHg7XG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLmR1ZS1zb29uLWVtcHR5IHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiAxNXB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLmRhdGUtc2VjdGlvbi1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiA4cHggMTVweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xufVxuXG4uZGF0ZS1zZWN0aW9uLWhlYWRlciAuc2VjdGlvbi10b2dnbGUge1xuXHRtYXJnaW4tcmlnaHQ6IDhweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5kYXRlLXNlY3Rpb24taGVhZGVyIC5zZWN0aW9uLXRpdGxlIHtcblx0ZmxleDogMTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmRhdGUtc2VjdGlvbi1oZWFkZXIgLnNlY3Rpb24tY291bnQge1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtNSk7XG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtNSk7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLyogT3ZlcmR1ZSBzZWN0aW9uIHN0eWxpbmcgKi9cbi50YXNrLWRhdGUtc2VjdGlvbi5vdmVyZHVlIC5kYXRlLXNlY3Rpb24taGVhZGVyIHtcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLnRhc2stZGF0ZS1zZWN0aW9uLm92ZXJkdWUgLnNlY3Rpb24tdGl0bGUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi50YXNrLWRhdGUtc2VjdGlvbi5vdmVyZHVlIC5zZWN0aW9uLWNvdW50IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGNvbG9yOiB3aGl0ZTtcbn1cblxuLnNlY3Rpb24tdGFza3Mge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uZm9yZWNhc3QtZW1wdHktc3RhdGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRoZWlnaHQ6IDEwMHB4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5mb3JlY2FzdC1zaWRlYmFyLXRvZ2dsZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLmlzLXBob25lXG5cdC5mb3JlY2FzdC1oZWFkZXI6aGFzKC5mb3JlY2FzdC1zaWRlYmFyLXRvZ2dsZSlcblx0LmZvcmVjYXN0LXRpdGxlLWNvbnRhaW5lciB7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc2l6ZS00LTEwKTtcbn1cblxuLyogRm9yZWNhc3QgVmlldyAtIE1vYmlsZSAqL1xuLmlzLXBob25lIC5mb3JlY2FzdC1jb250YWluZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5pcy1waG9uZSAuZm9yZWNhc3QtbGVmdC1jb2x1bW4ge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDA7XG5cdHRvcDogMDtcblx0aGVpZ2h0OiAxMDAlO1xuXHR6LWluZGV4OiAxMDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHR3aWR0aDogMTAwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQ7XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLmlzLXBob25lIC5mb3JlY2FzdC1sZWZ0LWNvbHVtbi5pcy12aXNpYmxlIHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG4uaXMtcGhvbmUgLmZvcmVjYXN0LXNpZGViYXItdG9nZ2xlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG4uaXMtcGhvbmUgLmZvcmVjYXN0LXNpZGViYXItY2xvc2Uge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMTBweDtcblx0cmlnaHQ6IDEwcHg7XG5cdHotaW5kZXg6IDE1O1xuXHR3aWR0aDogMjhweDtcblx0aGVpZ2h0OiAyOHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG4vKiBBZGQgb3ZlcmxheSB3aGVuIGxlZnQgY29sdW1uIGlzIHZpc2libGUgb24gbW9iaWxlICovXG4uaXMtcGhvbmUgLnRhc2stZ2VuaXVzLWNvbnRhaW5lcjpoYXMoLmZvcmVjYXN0LWxlZnQtY29sdW1uLmlzLXZpc2libGUpOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1jb3Zlcik7XG5cdG9wYWNpdHk6IDAuNTtcblx0ei1pbmRleDogNTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xufVxuIiwgIi8qIENhbGVuZGFyIENvbXBvbmVudCBTdHlsZXMgKi9cbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdHdpZHRoOiAxMDAlO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nLWJvdHRvbTogMTBweDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDhweCAxNXB4O1xuXHRtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdGl0bGUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IDVweDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1tb250aCB7XG5cdG1hcmdpbi1yaWdodDogNXB4O1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXllYXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItbmF2IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItbmF2LWJ0biB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogMjRweDtcblx0aGVpZ2h0OiAyNHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdG9wYWNpdHk6IDAuNztcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItbmF2LWJ0bjpob3ZlciB7XG5cdG9wYWNpdHk6IDE7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci10b2RheS1idG4ge1xuXHRwYWRkaW5nOiAycHggOHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXRvZGF5LWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ncmlkIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgMWZyKTtcblx0Z2FwOiAxcHg7XG5cdHBhZGRpbmc6IDAgMTBweDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktaGVhZGVyIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHBhZGRpbmc6IDNweCAwO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRtYXJnaW4tYm90dG9tOiAzcHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3XG5cdC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lclxuXHQuY2FsZW5kYXItZGF5LWhlYWRlci5jYWxlbmRhci13ZWVrZW5kIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLyogQWRqdXN0IGdyaWQgbGF5b3V0IHdoZW4gd2Vla2VuZHMgYXJlIGhpZGRlbiBpbiBtaW5pIGNhbGVuZGFyICovXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIuaGlkZS13ZWVrZW5kcyAuY2FsZW5kYXItZ3JpZCB7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcik7IC8qIDUgY29sdW1ucyBpbnN0ZWFkIG9mIDcgd2hlbiB3ZWVrZW5kcyBoaWRkZW4gKi9cbn1cblxuLyogTm90ZTogV2Vla2VuZCBlbGVtZW50cyBhcmUgbm90IGNyZWF0ZWQgd2hlbiBoaWRlV2Vla2VuZHMgaXMgZW5hYmxlZCxcbiAgIHNvIG5vIGhpZGluZyBydWxlcyBhcmUgbmVlZGVkLiBUaGUgZ3JpZCBsYXlvdXQgYWRqdXN0bWVudHMgYWJvdmUgYXJlIHN1ZmZpY2llbnQuICovXG5cbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5IHtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRwYWRkaW5nOiAxcHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcblx0aGVpZ2h0OiBhdXRvO1xuXHRtaW4taGVpZ2h0OiB2YXIoLS1zaXplLTQtMTIpO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS5zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXkudG9kYXkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS5wYXN0LWR1ZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXkub3RoZXItbW9udGgge1xuXHRvcGFjaXR5OiAwLjU7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LW51bWJlciB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0cGFkZGluZzogMXB4O1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1jb3VudCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHRmb250LXNpemU6IDAuN2VtO1xuXHRwYWRkaW5nOiAxcHggNHB4O1xuXHRtYXJnaW46IDFweCBhdXRvIDA7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0d2lkdGg6IGZpdC1jb250ZW50O1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1jb3VudC5oYXMtcHJpb3JpdHkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxNDAwcHgpIHtcblx0LnRhc2stZ2VuaXVzLWNvbnRhaW5lcjpoYXMoLnRhc2stZGV0YWlscy52aXNpYmxlKVxuXHRcdC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lclxuXHRcdC5mb3JlY2FzdC1sZWZ0LWNvbHVtbiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuIiwgIi8qIFRhc2sgVGFibGUgVmlldyBTdHlsZXMgKi9cbi50YWJsZS12aWV3LWFkYXB0ZXIge1xuXHR3aWR0aDogMTAwJTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAwO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi50YXNrLXRhYmxlLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGhlaWdodDogMTAwJTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xufVxuXG4udGFzay10YWJsZSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuXHR0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRmbGV4OiAxO1xuXHRtaW4taGVpZ2h0OiAwO1xuXHQvKiBFbnN1cmUgdGFibGUgdGFrZXMgZnVsbCB3aWR0aCBldmVuIHdpdGggbWFueSBjb2x1bW5zICovXG5cdG1pbi13aWR0aDogbWF4LWNvbnRlbnQ7XG59XG5cbi8qIFRhYmxlIHdyYXBwZXIgZm9yIHNjcm9sbGluZyAqL1xuLnRhc2stdGFibGUtd3JhcHBlciB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93OiBhdXRvO1xuXHRtaW4taGVpZ2h0OiAwO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdC8qIEVuYWJsZSBib3RoIGhvcml6b250YWwgYW5kIHZlcnRpY2FsIHNjcm9sbGluZyAqL1xuXHRvdmVyZmxvdy14OiBhdXRvO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHQvKiBTbW9vdGggc2Nyb2xsaW5nICovXG5cdHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xufVxuXG4vKiBIZWFkZXIgU3R5bGVzICovXG4udGFzay10YWJsZS1oZWFkZXIge1xuXHRwb3NpdGlvbjogc3RpY2t5O1xuXHR0b3A6IDA7XG5cdHotaW5kZXg6IDEwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdC8qIEVuc3VyZSBoZWFkZXIgZG9lc24ndCBicmVhayB3aGVuIHNjcm9sbGluZyBob3Jpem9udGFsbHkgKi9cblx0bWluLXdpZHRoOiBtYXgtY29udGVudDtcbn1cblxuLnRhc2stdGFibGUtaGVhZGVyLXJvdyB7XG5cdGhlaWdodDogNDBweDtcbn1cblxuLnRhc2stdGFibGUtaGVhZGVyLWNlbGwge1xuXHRwYWRkaW5nOiA4cHggMTJweDtcblx0dGV4dC1hbGlnbjogbGVmdDtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0LyogUHJldmVudCBoZWFkZXIgY2VsbHMgZnJvbSBzaHJpbmtpbmcgdG9vIG11Y2ggKi9cblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRhc2stdGFibGUtaGVhZGVyLWNlbGw6bGFzdC1jaGlsZCB7XG5cdGJvcmRlci1yaWdodDogbm9uZTtcbn1cblxuLnRhc2stdGFibGUtaGVhZGVyLWNlbGwuc29ydGFibGUge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi50YXNrLXRhYmxlLWhlYWRlci1jZWxsLnNvcnRhYmxlOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi50YXNrLXRhYmxlLWhlYWRlci1jb250ZW50IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRnYXA6IDRweDtcbn1cblxuLnRhc2stdGFibGUtaGVhZGVyLXRpdGxlIHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50YXNrLXRhYmxlLXNvcnQtaWNvbiB7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0b3BhY2l0eTogMC41O1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG59XG5cbi50YXNrLXRhYmxlLXNvcnQtaWNvbi5hc2MsXG4udGFzay10YWJsZS1zb3J0LWljb24uZGVzYyB7XG5cdG9wYWNpdHk6IDE7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi50YXNrLXRhYmxlLXJlc2l6ZS1oYW5kbGUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0cmlnaHQ6IDA7XG5cdHdpZHRoOiA0cHg7XG5cdGhlaWdodDogMTAwJTtcblx0Y3Vyc29yOiBjb2wtcmVzaXplO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xufVxuXG4udGFzay10YWJsZS1yZXNpemUtaGFuZGxlOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4vKiBCb2R5IFN0eWxlcyAqL1xuLnRhc2stdGFibGUtYm9keSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG59XG5cbi50YXNrLXRhYmxlLXJvdyB7XG5cdGhlaWdodDogNDBweDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xufVxuXG4udGFzay10YWJsZS1yb3c6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnRhc2stdGFibGUtcm93LnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUtaG92ZXIpO1xufVxuXG4udGFzay10YWJsZS1yb3c6bnRoLWNoaWxkKGV2ZW4pIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcbn1cblxuLnRhc2stdGFibGUtcm93Om50aC1jaGlsZChldmVuKTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4udGFzay10YWJsZS1yb3c6bnRoLWNoaWxkKGV2ZW4pLnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUtaG92ZXIpO1xufVxuXG4udGFzay10YWJsZS1jZWxsIHtcblx0cGFkZGluZzogOHB4IDEycHg7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGFzay10YWJsZS1jZWxsOmxhc3QtY2hpbGQge1xuXHRib3JkZXItcmlnaHQ6IG5vbmU7XG59XG5cbi50YXNrLXRhYmxlLWNlbGwuZWRpdGluZyB7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi8qIFRyZWUgVmlldyBTdHlsZXMgKi9cbi50YXNrLXRhYmxlLXRyZWUtaW5kZW50IHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogNHB4OyBcbn1cblxuLnRhc2stdGFibGUtY2VsbDpoYXMoLnRhc2stdGFibGUtZXhwYW5kLWJ0bikge1xuXHRwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi50YXNrLXRhYmxlLXJvdy50YXNrLXRhYmxlLXN1YnRhc2sge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi50YXNrLXRhYmxlLWV4cGFuZC1idG4ge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHVzZXItc2VsZWN0OiBub25lO1xuXHR3aWR0aDogMjBweDtcblx0aGVpZ2h0OiAyMHB4O1xuXHRwYWRkaW5nOiAwO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xuXHRmb250LXNpemU6IDEwcHg7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcbn1cblxuLnRhc2stdGFibGUtZXhwYW5kLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4udGFzay10YWJsZS1yb3ctbGV2ZWwtMSAudGFzay10YWJsZS1jZWxsOmZpcnN0LWNoaWxkIHtcblx0cGFkZGluZy1sZWZ0OiAzMnB4O1xufVxuXG4udGFzay10YWJsZS1yb3ctbGV2ZWwtMiAudGFzay10YWJsZS1jZWxsOmZpcnN0LWNoaWxkIHtcblx0cGFkZGluZy1sZWZ0OiA1MnB4O1xufVxuXG4udGFzay10YWJsZS1yb3ctbGV2ZWwtMyAudGFzay10YWJsZS1jZWxsOmZpcnN0LWNoaWxkIHtcblx0cGFkZGluZy1sZWZ0OiA3MnB4O1xufVxuXG4udGFzay10YWJsZS1yb3ctbGV2ZWwtNCAudGFzay10YWJsZS1jZWxsOmZpcnN0LWNoaWxkIHtcblx0cGFkZGluZy1sZWZ0OiA5MnB4O1xufVxuXG4udGFzay10YWJsZS1yb3ctbGV2ZWwtNSAudGFzay10YWJsZS1jZWxsOmZpcnN0LWNoaWxkIHtcblx0cGFkZGluZy1sZWZ0OiAxMTJweDtcbn1cblxuLyogQ2VsbCBUeXBlIFN0eWxlcyAqL1xuLnRhc2stdGFibGUtdGV4dCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YXNrLXRhYmxlLW51bWJlciB7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG59XG5cbi8qIFN0YXR1cyBDZWxsICovXG4udGFzay10YWJsZS1zdGF0dXMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDZweDtcbn1cblxuLnRhc2stdGFibGUtc3RhdHVzLWljb24ge1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG59XG5cbi50YXNrLXRhYmxlLXN0YXR1cy10ZXh0IHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi50YXNrLXRhYmxlLXN0YXR1cy5jb21wbGV0ZWQgLnRhc2stdGFibGUtc3RhdHVzLWljb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1zdWNjZXNzKTtcbn1cblxuLnRhc2stdGFibGUtc3RhdHVzLmluLXByb2dyZXNzIC50YXNrLXRhYmxlLXN0YXR1cy1pY29uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtd2FybmluZyk7XG59XG5cbi50YXNrLXRhYmxlLXN0YXR1cy5hYmFuZG9uZWQgLnRhc2stdGFibGUtc3RhdHVzLWljb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi50YXNrLXRhYmxlLXN0YXR1cy5wbGFubmVkIC50YXNrLXRhYmxlLXN0YXR1cy1pY29uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGFzay10YWJsZS1zdGF0dXMubm90LXN0YXJ0ZWQgLnRhc2stdGFibGUtc3RhdHVzLWljb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG59XG5cbi8qIFByaW9yaXR5IENlbGwgKi9cbi50YXNrLXRhYmxlLXByaW9yaXR5IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA2cHg7XG59XG5cbi50YXNrLXRhYmxlLXByaW9yaXR5LmNsaWNrYWJsZS1wcmlvcml0eSB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0cGFkZGluZzogNHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcbn1cblxuLnRhc2stdGFibGUtcHJpb3JpdHkuY2xpY2thYmxlLXByaW9yaXR5OmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi50YXNrLXRhYmxlLXByaW9yaXR5LWljb24ge1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG59XG5cbi50YXNrLXRhYmxlLXByaW9yaXR5LWljb24uaGlnaCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLnRhc2stdGFibGUtcHJpb3JpdHktaWNvbi5tZWRpdW0ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC13YXJuaW5nKTtcbn1cblxuLnRhc2stdGFibGUtcHJpb3JpdHktaWNvbi5sb3cge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50YXNrLXRhYmxlLXByaW9yaXR5LXRleHQge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnRhc2stdGFibGUtcHJpb3JpdHktZW1wdHkge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyogRGF0ZSBDZWxsICovXG4udGFzay10YWJsZS1kYXRlIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAycHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xuXHRwYWRkaW5nOiA0cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLnRhc2stdGFibGUtZGF0ZTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4udGFzay10YWJsZS1kYXRlLXRleHQge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFzay10YWJsZS1kYXRlLXJlbGF0aXZlIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4udGFzay10YWJsZS1kYXRlLXJlbGF0aXZlLnRvZGF5IHtcblx0Y29sb3I6IHZhcigtLXRleHQtc3VjY2Vzcyk7XG59XG5cbi50YXNrLXRhYmxlLWRhdGUtcmVsYXRpdmUudG9tb3Jyb3cge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4udGFzay10YWJsZS1kYXRlLXJlbGF0aXZlLnllc3RlcmRheSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnRhc2stdGFibGUtZGF0ZS1yZWxhdGl2ZS5vdmVyZHVlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4udGFzay10YWJsZS1kYXRlLXJlbGF0aXZlLnVwY29taW5nIHtcblx0Y29sb3I6IHZhcigtLXRleHQtd2FybmluZyk7XG59XG5cbi50YXNrLXRhYmxlLWRhdGUtZW1wdHkge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyogVGFncyBDZWxsICovXG4udGFzay10YWJsZS10YWdzIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRnYXA6IDRweDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnRhc2stdGFibGUtdGFnLWNoaXAge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdHBhZGRpbmc6IDJweCA2cHg7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGFzay10YWJsZS10YWdzLWVtcHR5IHtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qIElubGluZSBFZGl0aW5nIElucHV0cyAqL1xuLnRhc2stdGFibGUtdGV4dC1pbnB1dCxcbi50YXNrLXRhYmxlLXRhZ3MtaW5wdXQge1xuXHRib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0b3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuXHR3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cdGZvbnQ6IGluaGVyaXQgIWltcG9ydGFudDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKSAhaW1wb3J0YW50O1xufVxuXG4udGFzay10YWJsZS10ZXh0LWlucHV0OmZvY3VzLFxuLnRhc2stdGFibGUtdGFncy1pbnB1dDpmb2N1cyB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZm9ybS1maWVsZCkgIWltcG9ydGFudDtcblx0Ym9yZGVyLXJhZGl1czogM3B4ICFpbXBvcnRhbnQ7XG5cdHBhZGRpbmc6IDJweCA0cHggIWltcG9ydGFudDtcbn1cblxuLyogVGFzayBDb3VudCBJY29uICovXG4udGFzay1jb3VudC1pY29uIHtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xufVxuXG4udGFzay10YWJsZS1lbXB0eS1yb3cge1xuXHRoZWlnaHQ6IDgwcHg7XG59XG5cbi50YXNrLXRhYmxlLWVtcHR5LWNlbGwge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vKiBMb2FkaW5nIFN0YXRlICovXG4udGFzay10YWJsZS1sb2FkaW5nIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDUwJTtcblx0bGVmdDogNTAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblx0cGFkZGluZzogMjBweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0ei1pbmRleDogMTAwO1xufVxuXG4vKiBSZXNpemUgU3RhdGUgKi9cbi50YXNrLXRhYmxlLnJlc2l6aW5nIHtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi50YXNrLXRhYmxlLnJlc2l6aW5nICoge1xuXHRjdXJzb3I6IGNvbC1yZXNpemUgIWltcG9ydGFudDtcbn1cblxuLyogVmlydHVhbCBzY3JvbGxpbmcgc3R5bGVzICovXG4udmlydHVhbC1zY3JvbGwtc3BhY2VyIHtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLyogUmVzcG9uc2l2ZSBEZXNpZ24gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQudGFzay10YWJsZS1jb250YWluZXIge1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0fVxuXG5cdC50YXNrLXRhYmxlLXdyYXBwZXIge1xuXHRcdG92ZXJmbG93LXg6IGF1dG87XG5cdH1cblxuXHQudGFzay10YWJsZSB7XG5cdFx0bWluLXdpZHRoOiA4MDBweDsgLyogRW5zdXJlIHRhYmxlIGRvZXNuJ3QgZ2V0IHRvbyBuYXJyb3cgKi9cblx0fVxuXG5cdC50YXNrLXRhYmxlLWhlYWRlci1jZWxsLFxuXHQudGFzay10YWJsZS1jZWxsIHtcblx0XHRwYWRkaW5nOiA2cHggOHB4O1xuXHR9XG5cblx0LnRhc2stdGFibGUtcm93IHtcblx0XHRoZWlnaHQ6IDM2cHg7XG5cdH1cblxuXHQudGFzay10YWJsZS1oZWFkZXItcm93IHtcblx0XHRoZWlnaHQ6IDM2cHg7XG5cdH1cbn1cblxuLyogRGFyayBNb2RlIEFkanVzdG1lbnRzICovXG4udGhlbWUtZGFyayAudGFzay10YWJsZS1jb250YWluZXIge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLnRoZW1lLWRhcmsgLnRhc2stdGFibGUtcm93Om50aC1jaGlsZChldmVuKSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1hbHQpO1xufVxuXG4vKiBIaWdoIENvbnRyYXN0IE1vZGUgKi9cbkBtZWRpYSAocHJlZmVycy1jb250cmFzdDogaGlnaCkge1xuXHQudGFzay10YWJsZS1jb250YWluZXIge1xuXHRcdGJvcmRlci13aWR0aDogMnB4O1xuXHR9XG5cblx0LnRhc2stdGFibGUtaGVhZGVyLWNlbGwsXG5cdC50YXNrLXRhYmxlLWNlbGwge1xuXHRcdGJvcmRlci13aWR0aDogMXB4O1xuXHR9XG5cblx0LnRhc2stdGFibGUtcm93IHtcblx0XHRib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG5cdH1cbn1cblxuLyogUHJpbnQgU3R5bGVzICovXG5AbWVkaWEgcHJpbnQge1xuXHQudGFzay10YWJsZS1jb250YWluZXIge1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRvdmVyZmxvdzogdmlzaWJsZTtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdH1cblxuXHQudGFzay10YWJsZS1oZWFkZXIge1xuXHRcdHBvc2l0aW9uOiBzdGF0aWM7XG5cdH1cblxuXHQudGFzay10YWJsZS1yZXNpemUtaGFuZGxlIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0LnRhc2stdGFibGUtZXhwYW5kLWJ0biB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG4vKiBWaXJ0dWFsIHNjcm9sbGluZyBzdHlsZXMgKi9cbi52aXJ0dWFsLXNjcm9sbC1zcGFjZXItdG9wIHtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi52aXJ0dWFsLXNjcm9sbC1zcGFjZXItdG9wIHRkIHtcblx0cGFkZGluZzogMCAhaW1wb3J0YW50O1xuXHRib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cblxuLyogQ29udGV4dCBtZW51IHN0eWxlcyAqL1xuLnRhc2stdGFibGUtY29udGV4dC1tZW51IHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuXHR6LWluZGV4OiAxMDAwO1xuXHRtaW4td2lkdGg6IDEyMHB4O1xufVxuXG4udGFzay10YWJsZS1jb250ZXh0LW1lbnUtaXRlbSB7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcyBlYXNlO1xufVxuXG4udGFzay10YWJsZS1jb250ZXh0LW1lbnUtaXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4vKiBEYXRlIGlucHV0IGltcHJvdmVtZW50cyAqL1xuLnRhc2stdGFibGUtZGF0ZS1pbnB1dCB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdHBhZGRpbmc6IDRweCA4cHg7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4udGFzay10YWJsZS1kYXRlLWlucHV0OmhvdmVyIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG59XG5cbi50YXNrLXRhYmxlLWRhdGUtaW5wdXQ6Zm9jdXMge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdG91dGxpbmU6IG5vbmU7XG59XG5cbi8qIEF1dG9jb21wbGV0ZSBpbnB1dCBpbXByb3ZlbWVudHMgKi9cbi50YXNrLXRhYmxlLXByb2plY3QtaW5wdXQsXG4udGFzay10YWJsZS1jb250ZXh0LWlucHV0LFxuLnRhc2stdGFibGUtdGFncy1pbnB1dCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRwYWRkaW5nOiA0cHggOHB4O1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLnRhc2stdGFibGUtcHJvamVjdC1pbnB1dDpmb2N1cyxcbi50YXNrLXRhYmxlLWNvbnRleHQtaW5wdXQ6Zm9jdXMsXG4udGFzay10YWJsZS10YWdzLWlucHV0OmZvY3VzIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG4vKiBSb3cgc2VsZWN0aW9uIGltcHJvdmVtZW50cyAqL1xuLnRhc2stdGFibGUtcm93LnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi50YXNrLXRhYmxlLXJvdzpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXItd2Vhayk7XG59XG5cbi8qIFJlc3BvbnNpdmUgaW1wcm92ZW1lbnRzICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0LnRhc2stdGFibGUge1xuXHRcdGZvbnQtc2l6ZTogMC45ZW07XG5cdH1cblxuXHR0aFtkYXRhLWNvbHVtbi1pZD1cInJvd051bWJlclwiXSB7XG5cdFx0bWF4LXdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG5cdFx0bWluLXdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG5cdFx0d2lkdGg6IDQwcHggIWltcG9ydGFudDtcblx0fVxuXG5cdC50YXNrLXRhYmxlLXRyZWUtY29udGFpbmVyIHtcblx0XHRnYXA6IDAgIWltcG9ydGFudDtcblx0fVxuXG5cdC50YXNrLXRhYmxlLWV4cGFuZC1idG4ge1xuXHRcdG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuXHR9XG5cblx0dGRbZGF0YS1jb2x1bW4taWQ9XCJyb3dOdW1iZXJcIl0ge1xuXHRcdG1heC13aWR0aDogNDBweCAhaW1wb3J0YW50O1xuXHRcdG1pbi13aWR0aDogNDBweCAhaW1wb3J0YW50O1xuXHRcdHdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudGFzay10YWJsZS1oZWFkZXItY2VsbCxcblx0LnRhc2stdGFibGUtY2VsbCB7XG5cdFx0cGFkZGluZzogNnB4IDRweDtcblx0fVxufVxuXG4vKiBUYXNrIFRhYmxlIEhlYWRlciBCYXIgU3R5bGVzICovXG4udGFzay10YWJsZS1oZWFkZXItYmFyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiA2cHggOHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDZweCA2cHggMCAwO1xuXHRtYXJnaW4tYm90dG9tOiAwO1xuXHRmbGV4LXNocmluazogMDtcblx0bWluLWhlaWdodDogNDBweDtcbn1cblxuLnRhYmxlLWhlYWRlci1sZWZ0IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAxMnB4O1xufVxuXG4udGFibGUtaGVhZGVyLXJpZ2h0IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7XG59XG5cbi8qIFRhc2sgQ291bnQgRGlzcGxheSAqL1xuLnRhc2stY291bnQtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLnRhc2stY291bnQtdGV4dCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi8qIENvbnRyb2wgQnV0dG9ucyAqL1xuLnRhYmxlLWNvbnRyb2xzLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogOHB4O1xufVxuXG4udGFibGUtY29udHJvbC1idG4ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDZweDtcblx0cGFkZGluZzogOHB4IDEycHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5cblx0Ym94LXNoYWRvdzogdW5zZXQgIWltcG9ydGFudDtcbn1cblxuLnRhYmxlLWNvbnRyb2wtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi50YWJsZS1jb250cm9sLWJ0bjphY3RpdmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZSk7XG59XG5cbi50cmVlLW1vZGUtYnRuLmFjdGl2ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi50cmVlLW1vZGUtaWNvbixcbi5yZWZyZXNoLWljb24sXG4uY29sdW1uLWljb24ge1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4udHJlZS1tb2RlLXRleHQsXG4ucmVmcmVzaC10ZXh0LFxuLmNvbHVtbi10ZXh0IHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmRyb3Bkb3duLWFycm93IHtcblx0Zm9udC1zaXplOiAxMHB4O1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xufVxuXG4vKiBDb2x1bW4gRHJvcGRvd24gKi9cbi5jb2x1bW4tZHJvcGRvd24ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jb2x1bW4tZHJvcGRvd24tbWVudSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAxMDAlO1xuXHRyaWdodDogMDtcblx0bWFyZ2luLXRvcDogNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LWwpO1xuXHR6LWluZGV4OiAxMDAwO1xuXHRtaW4td2lkdGg6IDIwMHB4O1xuXHRtYXgtaGVpZ2h0OiAzMDBweDtcblx0b3ZlcmZsb3cteTogYXV0bztcbn1cblxuLmNvbHVtbi10b2dnbGUtaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogOHB4O1xuXHRwYWRkaW5nOiA4cHggMTJweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLmNvbHVtbi10b2dnbGUtaXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4uY29sdW1uLXRvZ2dsZS1jaGVja2JveCB7XG5cdG1hcmdpbjogMDtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4uY29sdW1uLXRvZ2dsZS1sYWJlbCB7XG5cdGZsZXg6IDE7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0bWFyZ2luOiAwO1xufVxuXG4vKiBSZXNwb25zaXZlIERlc2lnbiBmb3IgSGVhZGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0LnRhc2stdGFibGUtaGVhZGVyLWJhciB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRnYXA6IDEycHg7XG5cdFx0YWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cdH1cblxuXHQudGFibGUtaGVhZGVyLWxlZnQge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQudGFibGUtaGVhZGVyLWxlZnQsXG5cdC50YWJsZS1oZWFkZXItcmlnaHQge1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR9XG5cblx0LnRhYmxlLWNvbnRyb2xzLWNvbnRhaW5lciB7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHR9XG5cblx0LnRhYmxlLWNvbnRyb2wtYnRuIHtcblx0XHRmbGV4OiAxO1xuXHRcdG1pbi13aWR0aDogMTAwcHg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdH1cblxuXHQuY29sdW1uLWRyb3Bkb3duLW1lbnUge1xuXHRcdHJpZ2h0OiBhdXRvO1xuXHRcdGxlZnQ6IDA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cbn1cblxuLyogRGFyayBNb2RlIEFkanVzdG1lbnRzIGZvciBIZWFkZXIgKi9cbi50aGVtZS1kYXJrIC50YXNrLXRhYmxlLWhlYWRlci1iYXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xufVxuXG4udGhlbWUtZGFyayAuY29sdW1uLWRyb3Bkb3duLW1lbnUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktYWx0KTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG59XG5cbi8qIEN1c3RvbSBBdXRvLVN1Z2dlc3QgRHJvcGRvd24gKi9cbi5jdXN0b20tc3VnZ2VzdC1kcm9wZG93biB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbCk7XG5cdHotaW5kZXg6IDEwMDA7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bWF4LWhlaWdodDogMjAwcHg7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdG1pbi13aWR0aDogMTUwcHg7XG59XG5cbi5jdXN0b20tc3VnZ2VzdC1kcm9wZG93biAuc3VnZ2VzdGlvbi1pdGVtIHtcblx0cGFkZGluZzogOHB4IDEycHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uY3VzdG9tLXN1Z2dlc3QtZHJvcGRvd24gLnN1Z2dlc3Rpb24taXRlbTpsYXN0LWNoaWxkIHtcblx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLmN1c3RvbS1zdWdnZXN0LWRyb3Bkb3duIC5zdWdnZXN0aW9uLWl0ZW06aG92ZXIsXG4uY3VzdG9tLXN1Z2dlc3QtZHJvcGRvd24gLnN1Z2dlc3Rpb24taXRlbS5zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4uY3VzdG9tLXN1Z2dlc3QtZHJvcGRvd24gLnN1Z2dlc3Rpb24taXRlbS5zZWxlY3RlZCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi8qIEVuaGFuY2VkIFRyZWUgVmlldyBTdHlsZXMgKi9cbi50YXNrLXRhYmxlLXN1YnRhc2sge1xuXHRib3JkZXItbGVmdDogMnB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLnRhc2stdGFibGUtcGFyZW50IC50YXNrLXRhYmxlLWNlbGw6Zmlyc3QtY2hpbGQge1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4udGFzay10YWJsZS1zdWJ0YXNrLWNlbGwge1xuXHRib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWZvY3VzKTtcbn1cblxuLnRhc2stdGFibGUtdHJlZS1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDZweDtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi50YXNrLXRhYmxlLXRyZWUtc3RydWN0dXJlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAycHg7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4udGFzay10YWJsZS10cmVlLWxpbmUge1xuXHRmb250LWZhbWlseTogbW9ub3NwYWNlO1xuXHRmb250LXNpemU6IDEycHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcblx0bGluZS1oZWlnaHQ6IDE7XG5cdHdpZHRoOiAxNnB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi50YXNrLXRhYmxlLXRyZWUtY29ubmVjdG9yIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGFzay10YWJsZS10cmVlLXZlcnRpY2FsIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xufVxuXG4udGFzay10YWJsZS1zdWJ0YXNrLWluZGljYXRvciB7XG5cdGZvbnQtc2l6ZTogMTBweDtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0bWFyZ2luLXJpZ2h0OiA2cHg7XG5cdG1hcmdpbi1sZWZ0OiA0cHg7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cblxuLnRhc2stdGFibGUtdG9wLWxldmVsLWV4cGFuZCB7XG5cdG1hcmdpbi1yaWdodDogNnB4O1xufVxuXG4udGFzay10YWJsZS1jb250ZW50LXdyYXBwZXIge1xuXHRmbGV4OiAxO1xuXHRtaW4td2lkdGg6IDA7XG59XG5cbi50YXNrLXRhYmxlLWNoaWxkLWluZGljYXRvciB7XG5cdGZvbnQtc2l6ZTogMTBweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tbGVmdDogNnB4O1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLyogRW5oYW5jZWQgU3RhdHVzIENlbGwgKi9cbi50YXNrLXRhYmxlLXN0YXR1cy5jbGlja2FibGUtc3RhdHVzIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRwYWRkaW5nOiA0cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xufVxuXG4udGFzay10YWJsZS1zdGF0dXMuY2xpY2thYmxlLXN0YXR1czpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4vKiBFbmhhbmNlZCBQcmlvcml0eSBJY29ucyAqL1xuLnRhc2stdGFibGUtcHJpb3JpdHktaWNvbi5oaWdoZXN0IHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRmaWx0ZXI6IGJyaWdodG5lc3MoMS4yKTtcbn1cblxuLnRhc2stdGFibGUtcHJpb3JpdHktaWNvbi5sb3dlc3Qge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG59XG5cbi8qIFRyZWUgZXhwYW5kIGJ1dHRvbiBpbXByb3ZlbWVudHMgKi9cbi50YXNrLXRhYmxlLWV4cGFuZC1idG4uY2xpY2thYmxlLWljb24ge1xuXHRvcGFjaXR5OiAwLjc7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycywgYmFja2dyb3VuZC1jb2xvciAwLjJzO1xufVxuXG4udGFzay10YWJsZS1leHBhbmQtYnRuLmNsaWNrYWJsZS1pY29uOmhvdmVyIHtcblx0b3BhY2l0eTogMTtcbn1cblxuLyogT3ZlcnJpZGUgZXhpc3RpbmcgdHJlZSBpbmRlbnRhdGlvbiB0byB1c2UgbmV3IHN5c3RlbSAqL1xuLnRhc2stdGFibGUtcm93LWxldmVsLTEgLnRhc2stdGFibGUtY2VsbDpmaXJzdC1jaGlsZCxcbi50YXNrLXRhYmxlLXJvdy1sZXZlbC0yIC50YXNrLXRhYmxlLWNlbGw6Zmlyc3QtY2hpbGQsXG4udGFzay10YWJsZS1yb3ctbGV2ZWwtMyAudGFzay10YWJsZS1jZWxsOmZpcnN0LWNoaWxkLFxuLnRhc2stdGFibGUtcm93LWxldmVsLTQgLnRhc2stdGFibGUtY2VsbDpmaXJzdC1jaGlsZCxcbi50YXNrLXRhYmxlLXJvdy1sZXZlbC01IC50YXNrLXRhYmxlLWNlbGw6Zmlyc3QtY2hpbGQge1xuXHRwYWRkaW5nLWxlZnQ6IDEycHg7IC8qIFJlc2V0IHRvIG5vcm1hbCBwYWRkaW5nLCBsZXQgdHJlZSBzdHJ1Y3R1cmUgaGFuZGxlIGluZGVudGF0aW9uICovXG59XG4iLCAiLyogVGFzayBHZW5pdXMgLSBRdWFkcmFudCBWaWV3IFN0eWxlcyAqL1xuXG4vKiBNYWluIFF1YWRyYW50IENvbnRhaW5lciAqL1xuLnRnLXF1YWRyYW50LWNvbXBvbmVudC1jb250YWluZXIge1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4vKiBIZWFkZXIgU2VjdGlvbiAqL1xuLnRnLXF1YWRyYW50LWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpIHZhcigtLXNpemUtNC00KTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi50Zy1xdWFkcmFudC10aXRsZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1zZW1pYm9sZCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdG1hcmdpbjogMDtcbn1cblxuLnRnLXF1YWRyYW50LWNvbnRyb2xzIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTItMyk7XG59XG5cbi50Zy1xdWFkcmFudC1zb3J0LXNlbGVjdCB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKSB2YXIoLS1zaXplLTItMyk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjJzIGVhc2U7XG59XG5cbi50Zy1xdWFkcmFudC1zb3J0LXNlbGVjdDpob3ZlciB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4udGctcXVhZHJhbnQtc29ydC1zZWxlY3Q6Zm9jdXMge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG5cdG91dGxpbmU6IG5vbmU7XG59XG5cbi50Zy1xdWFkcmFudC10b2dnbGUtZW1wdHkge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMik7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcblx0d2lkdGg6IDI4cHg7XG5cdGhlaWdodDogMjhweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi50Zy1xdWFkcmFudC10b2dnbGUtZW1wdHk6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG59XG5cbi8qIEZpbHRlciBTZWN0aW9uICovXG4udGctcXVhZHJhbnQtZmlsdGVyLWNvbnRhaW5lciB7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4vKiBRdWFkcmFudCBHcmlkICovXG4udGctcXVhZHJhbnQtZ3JpZCB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcblx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnIgMWZyO1xuXHRnYXA6IDFweDtcblx0ZmxleDogMTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBJbmRpdmlkdWFsIFF1YWRyYW50IENvbHVtbnMgKi9cbi50Zy1xdWFkcmFudC1jb2x1bW4ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRtaW4taGVpZ2h0OiAwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi50Zy1xdWFkcmFudC1jb2x1bW4tLWhpZGRlbiB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIFF1YWRyYW50IEhlYWRlcnMgKi9cbi50Zy1xdWFkcmFudC1jb2x1bW4gLnRnLXF1YWRyYW50LWhlYWRlciB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtMyk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0ZmxleC1zaHJpbms6IDA7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWluLWhlaWdodDogdmFyKC0tc2l6ZS00LTEyKTtcbn1cblxuLnRnLXF1YWRyYW50LXRpdGxlLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMSk7XG59XG5cbi50Zy1xdWFkcmFudC1wcmlvcml0eSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xuXHRsaW5lLWhlaWdodDogMTtcblx0b3BhY2l0eTogMC44O1xufVxuXG4udGctcXVhZHJhbnQtY29sdW1uIC50Zy1xdWFkcmFudC10aXRsZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXNlbWlib2xkKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0bWFyZ2luOiAwO1xufVxuXG4udGctcXVhZHJhbnQtZGVzY3JpcHRpb24ge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTIpO1xuXHRsaW5lLWhlaWdodDogMS4zO1xufVxuXG4udGctcXVhZHJhbnQtY291bnQge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS0yLTIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LW1lZGl1bSk7XG59XG5cbi8qIFF1YWRyYW50IENvbnRlbnQgQXJlYXMgKi9cbi50Zy1xdWFkcmFudC1jb2x1bW4tY29udGVudCB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0zKTtcblx0bWluLWhlaWdodDogMTAwcHg7XG59XG5cbi50Zy1xdWFkcmFudC1jb2x1bW4tY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuXHR3aWR0aDogOHB4O1xufVxuXG4udGctcXVhZHJhbnQtY29sdW1uLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi50Zy1xdWFkcmFudC1jb2x1bW4tY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcbn1cblxuLnRnLXF1YWRyYW50LWNvbHVtbi1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLnRnLXF1YWRyYW50LWNvbHVtbi1jb250ZW50LS1kcm9wLWFjdGl2ZSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRib3JkZXI6IDJweCBkYXNoZWQgdmFyKC0tY29sb3ItYWNjZW50KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xufVxuXG4vKiBRdWFkcmFudCBTcGVjaWZpYyBTdHlsaW5nIC0gU3VidGxlIGFjY2VudCBiYXJzICovXG4ucXVhZHJhbnQtdXJnZW50LWltcG9ydGFudCAudGctcXVhZHJhbnQtaGVhZGVyOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0cmlnaHQ6IDA7XG5cdGhlaWdodDogM3B4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0b3BhY2l0eTogMC42O1xufVxuXG4ucXVhZHJhbnQtbm90LXVyZ2VudC1pbXBvcnRhbnQgLnRnLXF1YWRyYW50LWhlYWRlcjo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHRoZWlnaHQ6IDNweDtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYWNjZW50KTtcblx0b3BhY2l0eTogMC42O1xufVxuXG4ucXVhZHJhbnQtdXJnZW50LW5vdC1pbXBvcnRhbnQgLnRnLXF1YWRyYW50LWhlYWRlcjo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHRoZWlnaHQ6IDNweDtcblx0YmFja2dyb3VuZDogdmFyKC0tdGV4dC13YXJuaW5nKTtcblx0b3BhY2l0eTogMC42O1xufVxuXG4ucXVhZHJhbnQtbm90LXVyZ2VudC1ub3QtaW1wb3J0YW50IC50Zy1xdWFkcmFudC1oZWFkZXI6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDtcblx0aGVpZ2h0OiAzcHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRvcGFjaXR5OiAwLjQ7XG59XG5cbi8qIFRhc2sgQ2FyZHMgKi9cbi50Zy1xdWFkcmFudC1jYXJkIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0zKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zKTtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQ6YWN0aXZlIHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZDpsYXN0LWNoaWxkIHtcblx0bWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyogQ2FyZCBIZWFkZXIgKi9cbi50Zy1xdWFkcmFudC1jYXJkLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0yKTtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLWNoZWNrYm94IHtcblx0ZmxleC1zaHJpbms6IDA7XG5cdG1hcmdpbi10b3A6IDJweDtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQtYWN0aW9ucyB7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRvcGFjaXR5OiAwO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQ6aG92ZXIgLnRnLXF1YWRyYW50LWNhcmQtYWN0aW9ucyB7XG5cdG9wYWNpdHk6IDE7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLW1vcmUtYnRuIHtcblx0YmFja2dyb3VuZDogbm9uZTtcblx0Ym9yZGVyOiBub25lO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5cdHdpZHRoOiAyNHB4O1xuXHRoZWlnaHQ6IDI0cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC1tb3JlLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4vKiBDYXJkIENvbnRlbnQgKi9cbi50Zy1xdWFkcmFudC1jYXJkLWNvbnRlbnQge1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMik7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLXRpdGxlIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0bGluZS1oZWlnaHQ6IDEuNDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTEpO1xuXHR3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LW5vcm1hbCk7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLXByaW9yaXR5IHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNpemUtMi0xKTtcblx0b3BhY2l0eTogMC44O1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC10YWdzIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRnYXA6IHZhcigtLXNpemUtMi0xKTtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS0yLTIpO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC10YWcge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0yKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LW1lZGl1bSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC10YWc6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRnLXF1YWRyYW50LXRhZy0tdXJnZW50IHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLnRnLXF1YWRyYW50LXRhZy0taW1wb3J0YW50IHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG59XG5cbi8qIENhcmQgTWV0YWRhdGEgKi9cbi50Zy1xdWFkcmFudC1jYXJkLW1ldGFkYXRhIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLWR1ZS1kYXRlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTItMSk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0yKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1tZWRpdW0pO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC1kdWUtZGF0ZS1pY29uIHtcblx0d2lkdGg6IDEycHg7XG5cdGhlaWdodDogMTJweDtcblx0b3BhY2l0eTogMC43O1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC1kdWUtZGF0ZS0tdXJnZW50IHtcblx0Y29sb3I6IHZhcigtLXRleHQtd2FybmluZyk7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLWR1ZS1kYXRlLS1vdmVyZHVlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC1maWxlLWluZm8ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRvcGFjaXR5OiAwLjc7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZDpob3ZlciAudGctcXVhZHJhbnQtY2FyZC1maWxlLWluZm8ge1xuXHRvcGFjaXR5OiAxO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC1maWxlLWljb24ge1xuXHR3aWR0aDogMTJweDtcblx0aGVpZ2h0OiAxMnB4O1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC1maWxlLW5hbWUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdG1heC13aWR0aDogMTIwcHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC1saW5lIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdG9wYWNpdHk6IDAuNjtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtbWVkaXVtKTtcbn1cblxuLyogUHJpb3JpdHkgQ2xhc3NlcyAtIFN1YnRsZSBsZWZ0IGJvcmRlciAqL1xuLnRnLXF1YWRyYW50LWNhcmQtLXByaW9yaXR5LWhpZ2hlc3Qge1xuXHRib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC0tcHJpb3JpdHktaGlnaCB7XG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tdGV4dC13YXJuaW5nKTtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQtLXByaW9yaXR5LW1lZGl1bSB7XG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tY29sb3ItYWNjZW50KTtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQtLXByaW9yaXR5LWxvdyB7XG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tdGV4dC1zdWNjZXNzKTtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQtLXByaW9yaXR5LWxvd2VzdCB7XG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi8qIERyYWcgYW5kIERyb3AgU3RhdGVzICovXG4udGctcXVhZHJhbnQtY2FyZC0tZ2hvc3Qge1xuXHRvcGFjaXR5OiAwLjQ7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyOiAycHggZGFzaGVkIHZhcigtLWNvbG9yLWFjY2VudCk7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLS1kcmFnZ2luZyB7XG5cdC8qIFN0eWxlIGZvciB0aGUgY2xvbmUgYmVpbmcgZHJhZ2dlZCAtIGZvbGxvd2luZyBrYW5iYW4gcGF0dGVybiAqL1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbCk7IC8qIE1vcmUgcHJvbWluZW50IHNoYWRvdyAqL1xufVxuXG4vKiBSZW1vdmUgb2xkIGRyYWcgY2xhc3NlcyB0aGF0IGFyZSBubyBsb25nZXIgdXNlZCAqL1xuLnRnLXF1YWRyYW50LWNhcmQtLWNob3NlbiB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zKTtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQtLWRyYWcge1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbCk7XG5cdHotaW5kZXg6IDEwMDA7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbn1cblxuLyogRW1wdHkgU3RhdGUgKi9cbi50Zy1xdWFkcmFudC1lbXB0eS1zdGF0ZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRoZWlnaHQ6IDEyMHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpO1xuXHRvcGFjaXR5OiAwLjg7XG59XG5cbi50Zy1xdWFkcmFudC1lbXB0eS1pY29uIHtcblx0d2lkdGg6IDMycHg7XG5cdGhlaWdodDogMzJweDtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTMpO1xuXHRvcGFjaXR5OiAwLjU7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcbn1cblxuLnRnLXF1YWRyYW50LWVtcHR5LW1lc3NhZ2Uge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRsaW5lLWhlaWdodDogMS40O1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1tZWRpdW0pO1xufVxuXG4vKiBSZXNwb25zaXZlIERlc2lnbiAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC50Zy1xdWFkcmFudC1ncmlkIHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblx0XHRncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCg0LCAxZnIpO1xuXHR9XG5cblx0LnRnLXF1YWRyYW50LWhlYWRlciB7XG5cdFx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTMpIHZhcigtLXNpemUtNC0yKTtcblx0fVxuXG5cdC50Zy1xdWFkcmFudC1jb2x1bW4gLnRnLXF1YWRyYW50LWhlYWRlciB7XG5cdFx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTMpIHZhcigtLXNpemUtNC0yKTtcblx0fVxuXG5cdC50Zy1xdWFkcmFudC1jYXJkIHtcblx0XHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMyk7XG5cdH1cblxuXHQudGctcXVhZHJhbnQtY2FyZC10aXRsZSB7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHR9XG5cblx0LnRnLXF1YWRyYW50LWNvbnRyb2xzIHtcblx0XHRnYXA6IHZhcigtLXNpemUtMi0yKTtcblx0fVxufVxuXG4vKiBGb2N1cyBzdGF0ZXMgZm9yIGFjY2Vzc2liaWxpdHkgKi9cbi50Zy1xdWFkcmFudC1jYXJkOmZvY3VzIHtcblx0b3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWFjY2VudCk7XG5cdG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLW1vcmUtYnRuOmZvY3VzIHtcblx0b3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWFjY2VudCk7XG5cdG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbi8qIEFuaW1hdGlvbiBmb3Igc21vb3RoIGludGVyYWN0aW9ucyAqL1xuQGtleWZyYW1lcyBjYXJkQ29tcGxldGUge1xuXHQwJSB7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0fVxuXHQ1MCUge1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG5cdH1cblx0MTAwJSB7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0fVxufVxuXG4udGctcXVhZHJhbnQtY2FyZC0tY29tcGxldGVkIHtcblx0YW5pbWF0aW9uOiBjYXJkQ29tcGxldGUgMC4zcyBlYXNlLWluLW91dDtcbn1cblxuLyogSW1wcm92ZWQgaG92ZXIgc3RhdGVzICovXG4udGctcXVhZHJhbnQtY2FyZDpob3ZlciAudGctcXVhZHJhbnQtY2FyZC10aXRsZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkOmhvdmVyIC50Zy1xdWFkcmFudC1jYXJkLXByaW9yaXR5IHtcblx0b3BhY2l0eTogMTtcbn1cblxuLyogQmV0dGVyIHZpc3VhbCBoaWVyYXJjaHkgKi9cbi50Zy1xdWFkcmFudC1jYXJkLWNvbnRlbnQge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qIExhenkgbG9hZGluZyBzdHlsZXMgKi9cbi50Zy1xdWFkcmFudC1sb2FkaW5nIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHBhZGRpbmc6IDJyZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWluLWhlaWdodDogMTAwcHg7XG59XG5cbi50Zy1xdWFkcmFudC1sb2FkaW5nLXNwaW5uZXIge1xuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4udGctcXVhZHJhbnQtc3Bpbm5lciB7XG5cdHdpZHRoOiAyNHB4O1xuXHRoZWlnaHQ6IDI0cHg7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xufVxuXG4udGctcXVhZHJhbnQtbG9hZGluZy1tZXNzYWdlIHtcblx0Zm9udC1zaXplOiAwLjlyZW07XG5cdG9wYWNpdHk6IDAuNztcbn1cblxuLyogRW5oYW5jZWQgZHJhZyBhbmQgZHJvcCBzdHlsZXMgKi9cbi50Zy1xdWFkcmFudC1kcmFnZ2luZyB7XG5cdGN1cnNvcjogZ3JhYmJpbmcgIWltcG9ydGFudDtcbn1cblxuLnRnLXF1YWRyYW50LWRyYWdnaW5nICoge1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQtLWdob3N0IHtcblx0b3BhY2l0eTogMC40O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlcjogMnB4IGRhc2hlZCB2YXIoLS1jb2xvci1hY2NlbnQpO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC0tY2hvc2VuIHtcblx0Ym94LXNoYWRvdzogMCA4cHggMjVweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuXHR0cmFuc2Zvcm06IHNjYWxlKDEuMDIpO1xuXHR6LWluZGV4OiAxMDAwO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1hY2NlbnQpO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC0tZHJhZyB7XG5cdG9wYWNpdHk6IDAuODtcblx0Ym94LXNoYWRvdzogMCAxMnB4IDMwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC0tZmFsbGJhY2sge1xuXHRvcGFjaXR5OiAwLjk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWFjY2VudCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0Ym94LXNoYWRvdzogMCA4cHggMjVweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xufVxuXG4udGctcXVhZHJhbnQtY29sdW1uLS1kcmFnLXRhcmdldCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRib3JkZXI6IDJweCBkYXNoZWQgdmFyKC0tY29sb3ItYWNjZW50KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xufVxuXG4udGctcXVhZHJhbnQtY29sdW1uLWNvbnRlbnQtLWRyb3AtYWN0aXZlIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUtaG92ZXIpO1xuXHRib3JkZXI6IDJweCBkYXNoZWQgdmFyKC0tY29sb3ItYWNjZW50KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRtaW4taGVpZ2h0OiA2MHB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi50Zy1xdWFkcmFudC1jb2x1bW4tY29udGVudC0tZHJvcC1hY3RpdmU6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiRHJvcCB0YXNrIGhlcmVcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDUwJTtcblx0bGVmdDogNTAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG5cdGZvbnQtc2l6ZTogMC45cmVtO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRvcGFjaXR5OiAwLjc7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHR6LWluZGV4OiAxO1xufVxuXG4vKiBGZWVkYmFjayBzdHlsZXMgKi9cbi50Zy1xdWFkcmFudC11cGRhdGUtZmVlZGJhY2sge1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHRvcDogMjBweDtcblx0cmlnaHQ6IDIwcHg7XG5cdHotaW5kZXg6IDEwMDAwO1xuXHRvcGFjaXR5OiAwO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG5cdHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4udGctcXVhZHJhbnQtZmVlZGJhY2stLXNob3cge1xuXHRvcGFjaXR5OiAxO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG5cbi50Zy1xdWFkcmFudC1mZWVkYmFjay0taGlkZSB7XG5cdG9wYWNpdHk6IDA7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cblxuLnRnLXF1YWRyYW50LWZlZWRiYWNrLWNvbnRlbnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDAuNXJlbTtcblx0cGFkZGluZzogMC43NXJlbSAxcmVtO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0Ym94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG5cdG1pbi13aWR0aDogMjAwcHg7XG59XG5cbi50Zy1xdWFkcmFudC1mZWVkYmFjay0tZXJyb3IgLnRnLXF1YWRyYW50LWZlZWRiYWNrLWNvbnRlbnQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4udGctcXVhZHJhbnQtZmVlZGJhY2staWNvbiB7XG5cdGZvbnQtc2l6ZTogMS4ycmVtO1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLnRnLXF1YWRyYW50LWZlZWRiYWNrLXRleHQge1xuXHRmb250LXNpemU6IDAuOXJlbTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLyogRW5oYW5jZWQgY2FyZCBpbnRlcmFjdGlvbnMgKi9cbi50Zy1xdWFkcmFudC1jYXJkIHtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcblx0Y3Vyc29yOiBncmFiO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZDpob3ZlciB7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcblx0Ym94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkOmFjdGl2ZSB7XG5cdGN1cnNvcjogZ3JhYmJpbmc7XG59XG5cbi8qIEltcHJvdmVkIGVtcHR5IHN0YXRlICovXG4udGctcXVhZHJhbnQtZW1wdHktc3RhdGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0cGFkZGluZzogMnJlbSAxcmVtO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWluLWhlaWdodDogMTIwcHg7XG5cdGJvcmRlcjogMnB4IGRhc2hlZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0bWFyZ2luOiAwLjVyZW0gMDtcbn1cblxuLnRnLXF1YWRyYW50LWVtcHR5LWljb24ge1xuXHRtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xuXHRvcGFjaXR5OiAwLjU7XG59XG5cbi50Zy1xdWFkcmFudC1lbXB0eS1tZXNzYWdlIHtcblx0Zm9udC1zaXplOiAwLjlyZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG5cdG1heC13aWR0aDogMjAwcHg7XG59XG5cbi8qIExvYWRpbmcgYW5pbWF0aW9uICovXG5Aa2V5ZnJhbWVzIHNwaW4ge1xuXHQwJSB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG5cdH1cblx0MTAwJSB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcblx0fVxufVxuXG4udGctcXVhZHJhbnQtc3Bpbm5lciBjaXJjbGUge1xuXHRhbmltYXRpb246IHNwaW4gMnMgbGluZWFyIGluZmluaXRlO1xuXHR0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG59XG5cbi8qIFJlc3BvbnNpdmUgYWRqdXN0bWVudHMgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQudGctcXVhZHJhbnQtdXBkYXRlLWZlZWRiYWNrIHtcblx0XHR0b3A6IDEwcHg7XG5cdFx0cmlnaHQ6IDEwcHg7XG5cdFx0bGVmdDogMTBweDtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuXHR9XG5cblx0LnRnLXF1YWRyYW50LWZlZWRiYWNrLS1zaG93IHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdH1cblxuXHQudGctcXVhZHJhbnQtZmVlZGJhY2stLWhpZGUge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG5cdH1cblxuXHQudGctcXVhZHJhbnQtZmVlZGJhY2stY29udGVudCB7XG5cdFx0bWluLXdpZHRoOiBhdXRvO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG59XG5cbi8qIERhcmsgbW9kZSBhZGp1c3RtZW50cyAqL1xuLnRoZW1lLWRhcmsgLnRnLXF1YWRyYW50LWNhcmQtLWNob3NlbiB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1hbHQpO1xuXHRib3gtc2hhZG93OiAwIDhweCAyNXB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbn1cblxuLnRoZW1lLWRhcmsgLnRnLXF1YWRyYW50LWNhcmQtLWZhbGxiYWNrIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCk7XG5cdGJveC1zaGFkb3c6IDAgOHB4IDI1cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xufVxuXG4udGhlbWUtZGFyayAudGctcXVhZHJhbnQtZmVlZGJhY2stY29udGVudCB7XG5cdGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjMpO1xufVxuXG4vKiBBY2Nlc3NpYmlsaXR5IGltcHJvdmVtZW50cyAqL1xuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcblx0LnRnLXF1YWRyYW50LWNhcmQsXG5cdC50Zy1xdWFkcmFudC11cGRhdGUtZmVlZGJhY2ssXG5cdC50Zy1xdWFkcmFudC1jYXJkLS1jaG9zZW4sXG5cdC50Zy1xdWFkcmFudC1jYXJkLS1kcmFnIHtcblx0XHR0cmFuc2l0aW9uOiBub25lO1xuXHRcdGFuaW1hdGlvbjogbm9uZTtcblx0fVxuXG5cdC50Zy1xdWFkcmFudC1zcGlubmVyIGNpcmNsZSB7XG5cdFx0YW5pbWF0aW9uOiBub25lO1xuXHR9XG59XG5cbi8qIFNjcm9sbCBjb250YWluZXIgc3R5bGVzICovXG4udGctcXVhZHJhbnQtc2Nyb2xsLWNvbnRhaW5lciB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdG92ZXJmbG93LXg6IGhpZGRlbjtcblx0bWF4LWhlaWdodDogNzB2aDtcblx0c2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xuXHRzY3JvbGxiYXItY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKSB0cmFuc3BhcmVudDtcbn1cblxuLnRnLXF1YWRyYW50LXNjcm9sbC1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcblx0d2lkdGg6IDZweDtcbn1cblxuLnRnLXF1YWRyYW50LXNjcm9sbC1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi50Zy1xdWFkcmFudC1zY3JvbGwtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xufVxuXG4udGctcXVhZHJhbnQtc2Nyb2xsLWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG59XG5cbi8qIExvYWQgbW9yZSBpbmRpY2F0b3Igc3R5bGVzICovXG4udGctcXVhZHJhbnQtbG9hZC1tb3JlIHtcblx0ZGlzcGxheTogbm9uZTtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHBhZGRpbmc6IDFyZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0bWFyZ2luLXRvcDogMC41cmVtO1xufVxuXG4udGctcXVhZHJhbnQtbG9hZC1tb3JlLS12aXNpYmxlIHtcblx0ZGlzcGxheTogZmxleDtcbn1cblxuLnRnLXF1YWRyYW50LWxvYWQtbW9yZS1zcGlubmVyIHtcblx0bWFyZ2luLWJvdHRvbTogMC41cmVtO1xuXHR3aWR0aDogMjRweDtcblx0aGVpZ2h0OiAyNHB4O1xuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLyogQW5pbWF0ZSB0aGUgT2JzaWRpYW4gbG9hZGVyIGljb24gKi9cbi50Zy1xdWFkcmFudC1sb2FkLW1vcmUtc3Bpbm5lciBzdmcge1xuXHRhbmltYXRpb246IHNwaW4gMXMgbGluZWFyIGluZmluaXRlO1xufVxuXG4udGctcXVhZHJhbnQtbG9hZC1tb3JlLW1lc3NhZ2Uge1xuXHRmb250LXNpemU6IDAuOHJlbTtcblx0b3BhY2l0eTogMC43O1xufVxuXG4vKiBDb2x1bW4gbGF5b3V0IGFkanVzdG1lbnRzIGZvciBzY3JvbGxpbmcgKi9cbi50Zy1xdWFkcmFudC1jb2x1bW4ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG1pbi1oZWlnaHQ6IDQwMHB4O1xuXHRtYXgtaGVpZ2h0OiA4MHZoO1xufVxuXG4udGctcXVhZHJhbnQtY29sdW1uLWNvbnRlbnQge1xuXHRmbGV4OiAxO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDAuNXJlbTtcblx0cGFkZGluZzogMC41cmVtO1xufVxuXG4vKiBTbW9vdGggc2Nyb2xsaW5nICovXG4udGctcXVhZHJhbnQtc2Nyb2xsLWNvbnRhaW5lciB7XG5cdHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xufVxuXG4vKiBMb2FkaW5nIHN0YXRlcyBkdXJpbmcgc2Nyb2xsICovXG4udGctcXVhZHJhbnQtY29sdW1uLmxvYWRpbmctbW9yZSAudGctcXVhZHJhbnQtbG9hZC1tb3JlIHtcblx0b3BhY2l0eTogMTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8qIEludGVyc2VjdGlvbiBvYnNlcnZlciB0YXJnZXQgc3R5bGluZyAqL1xuLnRnLXF1YWRyYW50LWxvYWQtbW9yZSB7XG5cdG1pbi1oZWlnaHQ6IDQwcHg7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xufVxuXG4vKiBFbmhhbmNlZCBlbXB0eSBzdGF0ZSBmb3Igc2Nyb2xsYWJsZSBjb250ZW50ICovXG4udGctcXVhZHJhbnQtY29sdW1uLWNvbnRlbnQ6ZW1wdHk6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtaW4taGVpZ2h0OiAxMDBweDtcbn1cblxuLyogR3JpZCBsYXlvdXQgYWRqdXN0bWVudHMgKi9cbi50Zy1xdWFkcmFudC1ncmlkIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcblx0aGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjAwcHgpO1xuXHRtaW4taGVpZ2h0OiA0MDBweDtcbn1cblxuLyogUmVzcG9uc2l2ZSBzY3JvbGwgY29udGFpbmVyIGhlaWdodHMgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAxMjAwcHgpIHtcblx0LnRnLXF1YWRyYW50LXNjcm9sbC1jb250YWluZXIge1xuXHRcdG1heC1oZWlnaHQ6IDYwdmg7XG5cdH1cblxuXHQudGctcXVhZHJhbnQtY29sdW1uIHtcblx0XHRtYXgtaGVpZ2h0OiA3MHZoO1xuXHR9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQudGctcXVhZHJhbnQtc2Nyb2xsLWNvbnRhaW5lciB7XG5cdFx0bWF4LWhlaWdodDogNTB2aDtcblx0fVxuXG5cdC50Zy1xdWFkcmFudC1jb2x1bW4ge1xuXHRcdG1heC1oZWlnaHQ6IDYwdmg7XG5cdFx0bWluLWhlaWdodDogMzAwcHg7XG5cdH1cblxuXHQudGctcXVhZHJhbnQtZ3JpZCB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHR9XG59XG5cbi8qIFBlcmZvcm1hbmNlIG9wdGltaXphdGlvbnMgKi9cbi50Zy1xdWFkcmFudC1jb2x1bW4tY29udGVudCB7XG5cdGNvbnRhaW46IGxheW91dCBzdHlsZTtcblx0d2lsbC1jaGFuZ2U6IGNvbnRlbnRzO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZCB7XG5cdGNvbnRhaW46IGxheW91dCBzdHlsZSBwYWludDtcbn1cblxuLyogU2Nyb2xsIGluZGljYXRvcnMgKi9cbi50Zy1xdWFkcmFudC1zY3JvbGwtY29udGFpbmVyLmhhcy1zY3JvbGw6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBzdGlja3k7XG5cdHRvcDogMDtcblx0aGVpZ2h0OiAxcHg7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcblx0XHR0byBib3R0b20sXG5cdFx0dmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KSxcblx0XHR0cmFuc3BhcmVudFxuXHQpO1xuXHR6LWluZGV4OiAxO1xufVxuXG4udGctcXVhZHJhbnQtc2Nyb2xsLWNvbnRhaW5lci5oYXMtc2Nyb2xsOjphZnRlciB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBzdGlja3k7XG5cdGJvdHRvbTogMDtcblx0aGVpZ2h0OiAxcHg7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSksIHRyYW5zcGFyZW50KTtcblx0ei1pbmRleDogMTtcbn1cbiIsICIvKiBUYXNrIFRpbWVyIFdpZGdldCBTdHlsZXMgLSBTaW1wbGUgVGV4dC1CYXNlZCAqL1xuXG4udGFzay10aW1lci13aWRnZXQge1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luOiA0cHggMDtcblx0cGFkZGluZzogMnB4IDA7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLyogU3RhcnQgYnV0dG9uIGFuZCBhY3Rpb24gbGlua3MgKi9cbi50YXNrLXRpbWVyLXN0YXJ0LFxuLnRhc2stdGltZXItYWN0aW9uIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLnRhc2stdGltZXItc3RhcnQ6aG92ZXIsXG4udGFzay10aW1lci1hY3Rpb246aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQtaG92ZXIpO1xufSIsICIvKiBFeHBlcmltZW50YWwgU2V0dGluZ3MgKi9cbi5leHBlcmltZW50YWwtc2V0dGluZ3Mtc2VjdGlvbiB7XG5cdG1hcmdpbjogMjBweCAwO1xufVxuXG4uZXhwZXJpbWVudGFsLXNlY3Rpb24taGVhZGluZyB7XG5cdG1hcmdpbjogMjBweCAwIDEwcHggMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmV4cGVyaW1lbnRhbC1zdWJzZWN0aW9uLWhlYWRpbmcge1xuXHRtYXJnaW46IDE1cHggMCA4cHggMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuXG4uZXhwZXJpbWVudGFsLXdhcm5pbmcge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0cGFkZGluZzogMTJweDtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRtYXJnaW46IDEwcHggMCAyMHB4IDA7XG5cdGJvcmRlci1sZWZ0OiA0cHggc29saWQgdmFyKC0tY29sb3ItcmVkKTtcbn1cblxuLmV4cGVyaW1lbnRhbC1kYXRhZmxvdy1zZWN0aW9uIHtcblx0bWFyZ2luOiAxNXB4IDA7XG5cdHBhZGRpbmc6IDE1cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xufVxuXG4uZXhwZXJpbWVudGFsLWluZm8ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC44NWVtO1xuXHRtYXJnaW4tdG9wOiA4cHg7XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi5leHBlcmltZW50YWwtcmVzdGFydC1ub3RpY2Uge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWZvcm0tZmllbGQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHBhZGRpbmc6IDhweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRtYXJnaW4tdG9wOiAxMHB4O1xuXHRmb250LXNpemU6IDAuODVlbTtcbn1cblxuLyogQ2hlY2tib3ggU3RhdHVzIEN5Y2xlIG1hbmFnZW1lbnQgVUkgKi9cbi50YXNrLXN0YXRlcy1jb250YWluZXIge1xuXHRtYXJnaW46IDEwcHggMDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA1cHg7XG5cdHBhZGRpbmc6IDEwcHg7XG59XG5cbi50YXNrLXN0YXRlLXJvdyB7XG5cdG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLnRhc2stc3RhdGUtcm93IC5zZXR0aW5nLWl0ZW0ge1xuXHRib3JkZXI6IG5vbmU7XG5cdHBhZGRpbmc6IDZweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4udGFzay1zdGF0ZS1yb3cgLnNldHRpbmctaXRlbS1pbmZvIHtcblx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG4udGFzay1zdGF0ZS1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0ZmxleC13cmFwOiBub3dyYXA7XG59XG5cbi50YXNrLXN0YXRlLXJvdyAuc2V0dGluZy1pdGVtLWNvbnRyb2wgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuXHRtYXJnaW4tcmlnaHQ6IDhweDtcbn1cblxuLnRhc2stc3RhdGUtcm93IC5leHRyYS1zZXR0aW5nLWJ1dHRvbiB7XG5cdHBhZGRpbmc6IDRweDtcblx0d2lkdGg6IDI0cHg7XG5cdGhlaWdodDogMjRweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRtYXJnaW4tbGVmdDogNHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnRhc2stc3RhdGUtcm93IC5zZXR0aW5nLWl0ZW0tY29udHJvbCBidXR0b24ge1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGFzay1zdGF0ZS1jb250YWluZXIge1xuXHRtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLWNoZWNrYm94LXNpemUpICogLTEpO1xufVxuXG4udGFzay1zdGF0ZS1jb250YWluZXIgLnRhc2stc3RhdGUge1xuXHRwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0tc2l6ZS0yLTEpO1xuXHRwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLXNpemUtMi0yKTtcblxuXHR0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcblxuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qIEV4cGVyaW1lbnRhbCBTZXR0aW5ncyAqL1xuLmV4cGVyaW1lbnRhbC1zZXR0aW5ncy1zZWN0aW9uIHtcblx0bWFyZ2luOiAyMHB4IDA7XG59XG5cbi5leHBlcmltZW50YWwtc2VjdGlvbi1oZWFkaW5nIHtcblx0bWFyZ2luOiAyMHB4IDAgMTBweCAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uZXhwZXJpbWVudGFsLXN1YnNlY3Rpb24taGVhZGluZyB7XG5cdG1hcmdpbjogMTVweCAwIDhweCAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi5leHBlcmltZW50YWwtd2FybmluZyB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRwYWRkaW5nOiAxMnB4O1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdG1hcmdpbjogMTBweCAwIDIwcHggMDtcblx0Ym9yZGVyLWxlZnQ6IDRweCBzb2xpZCB2YXIoLS1jb2xvci1yZWQpO1xufVxuXG4uZXhwZXJpbWVudGFsLWRhdGFmbG93LXNlY3Rpb24ge1xuXHRtYXJnaW46IDE1cHggMDtcblx0cGFkZGluZzogMTVweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG59XG5cbi5leHBlcmltZW50YWwtaW5mbyB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjg1ZW07XG5cdG1hcmdpbi10b3A6IDhweDtcblx0bGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLmV4cGVyaW1lbnRhbC1yZXN0YXJ0LW5vdGljZSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZm9ybS1maWVsZCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0cGFkZGluZzogOHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdG1hcmdpbi10b3A6IDEwcHg7XG5cdGZvbnQtc2l6ZTogMC44NWVtO1xufVxuXG4vKiBDaGVja2JveCBTdGF0dXMgQ3ljbGUgbWFuYWdlbWVudCBVSSAqL1xuLnRhc2stc3RhdGVzLWNvbnRhaW5lciB7XG5cdG1hcmdpbjogMTBweCAwO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDVweDtcblx0cGFkZGluZzogMTBweDtcbn1cblxuLnRhc2stc3RhdGUtcm93IHtcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4udGFzay1zdGF0ZS1yb3cgLnNldHRpbmctaXRlbSB7XG5cdGJvcmRlcjogbm9uZTtcblx0cGFkZGluZzogNnB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi50YXNrLXN0YXRlLXJvdyAuc2V0dGluZy1pdGVtLWluZm8ge1xuXHRtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbi50YXNrLXN0YXRlLXJvdyAuc2V0dGluZy1pdGVtLWNvbnRyb2wge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRmbGV4LXdyYXA6IG5vd3JhcDtcbn1cblxuLnRhc2stc3RhdGUtcm93IC5zZXR0aW5nLWl0ZW0tY29udHJvbCBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG5cdG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG4udGFzay1zdGF0ZS1yb3cgLmV4dHJhLXNldHRpbmctYnV0dG9uIHtcblx0cGFkZGluZzogNHB4O1xuXHR3aWR0aDogMjRweDtcblx0aGVpZ2h0OiAyNHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdG1hcmdpbi1sZWZ0OiA0cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4udGFzay1zdGF0ZS1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIGJ1dHRvbiB7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50YXNrLXN0YXRlLWNvbnRhaW5lciB7XG5cdG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0tY2hlY2tib3gtc2l6ZSkgKiAtMSk7XG59XG5cbi50YXNrLXN0YXRlLWNvbnRhaW5lciAudGFzay1zdGF0ZSB7XG5cdHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1zaXplLTItMSk7XG5cdHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0tc2l6ZS0yLTIpO1xuXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuXG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLyogQ2F0ZWdvcml6ZWQgdGFicyBjb250YWluZXIgKi9cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFicy1jYXRlZ29yaXplZC1jb250YWluZXIge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtNCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC00KTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtNik7XG59XG5cbi8qIENhdGVnb3J5IHNlY3Rpb24gKi9cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtY2F0ZWdvcnktc2VjdGlvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4vKiBDYXRlZ29yeSBoZWFkZXIgKi9cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtY2F0ZWdvcnktaGVhZGVyIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuXHRwYWRkaW5nOiAwIHZhcigtLXNpemUtNC0yKTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNpemUtNC0xKTtcbn1cblxuLyogQ2F0ZWdvcnkgdGFicyBjb250YWluZXIgKi9cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtY2F0ZWdvcnktdGFicyB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heCgyMDBweCwgMWZyKSk7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG5cdC50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtY2F0ZWdvcnktdGFicyB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDIwMHB4LCAxZnIpKTtcblx0fVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0LnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy1jYXRlZ29yeS10YWJzIHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblx0fVxufVxuXG4vKiBMZWdhY3kgdGFicyBjb250YWluZXIgKGZhbGxiYWNrKSAqL1xuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWJzLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG5cdGdyaWQtYXV0by1yb3dzOiB2YXIoLS1zaXplLTQtMTgpO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtNCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC00KTtcblx0aGVpZ2h0OiBmaXQtY29udGVudDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtNCk7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQudGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYnMtY29udGFpbmVyIHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuXHR9XG59XG5cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpIHZhcigtLXNpemUtNC00KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRtaW4taGVpZ2h0OiB2YXIoLS1zaXplLTQtMTIpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWI6OmFmdGVyIHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDEwcHg7XG5cdHJpZ2h0OiAtODBweDtcblx0d2lkdGg6IDIwMHB4O1xuXHRoZWlnaHQ6IDIwMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xuXHR0cmFuc2Zvcm06IHJvdGF0ZVooLTE1ZGVnKTtcblx0ei1pbmRleDogMDtcblx0b3BhY2l0eTogMC43O1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG59XG5cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiOmhvdmVyOjphZnRlciB7XG5cdHRyYW5zZm9ybTogcm90YXRlWigtMTBkZWcpO1xuXHRvcGFjaXR5OiAwLjk7XG59XG5cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiLWFjdGl2ZTo6YWZ0ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRvcGFjaXR5OiAwLjM7XG59XG5cbi8qIFRhYiBjb250ZW50IHN0eWxpbmcgKi9cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiLWljb24sXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYiBzcGFuLFxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWItbGFiZWwge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDE7XG59XG5cbi8qIEVuaGFuY2VkIHRhYiBpY29uIHN0eWxpbmcgZm9yIGNhdGVnb3JpemVkIGxheW91dCAqL1xuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy1jYXRlZ29yeS10YWJzIC5zZXR0aW5ncy10YWItaWNvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogdmFyKC0tc2l6ZS00LTQpO1xuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC00KTtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtY2F0ZWdvcnktdGFicyAuc2V0dGluZ3MtdGFiLWljb24gc3ZnIHtcblx0d2lkdGg6IHZhcigtLWljb24tcyk7XG5cdGhlaWdodDogdmFyKC0taWNvbi1zKTtcbn1cblxuLyogRW5oYW5jZWQgdGFiIGxhYmVsIHN0eWxpbmcgZm9yIGNhdGVnb3JpemVkIGxheW91dCAqL1xuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy1jYXRlZ29yeS10YWJzIC5zZXR0aW5ncy10YWItbGFiZWwge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcblx0ZmxleDogMTtcblx0dGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLyogRW5oYW5jZWQgaG92ZXIgYW5kIGFjdGl2ZSBzdGF0ZXMgZm9yIGNhdGVnb3JpemVkIHRhYnMgKi9cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtY2F0ZWdvcnktdGFicyAuc2V0dGluZ3MtdGFiOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1tKTtcbn1cblxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy1jYXRlZ29yeS10YWJzIC5zZXR0aW5ncy10YWItYWN0aXZlIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbSk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG59XG5cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtY2F0ZWdvcnktdGFicyAuc2V0dGluZ3MtdGFiLWFjdGl2ZTpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xufVxuXG4vKiBMZWdhY3kgdGFiIHN0eWxlcyAoZmFsbGJhY2spICovXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYi1hY3RpdmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYi1zZWN0aW9ucyB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiLXNlY3Rpb24ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYi1zZWN0aW9uLWFjdGl2ZSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYi1zZWN0aW9uLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC00KTtcbn1cblxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWItc2VjdGlvbi1oZWFkZXIgLmhlYWRlci1idXR0b24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Z2FwOiA0cHg7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG59XG5cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiLXNlY3Rpb24taGVhZGVyIC5oZWFkZXItYnV0dG9uLWljb24ge1xuXHQtLWljb24tc2l6ZTogMTZweDtcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLyogVGFiIHNlY3Rpb24gaGVhZGVyIHZpc2liaWxpdHkgcnVsZXMgKi9cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiW2RhdGEtdGFiLWlkPVwiZ2VuZXJhbFwiXSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEhpZGUgY2F0ZWdvcml6ZWQgdGFicyBjb250YWluZXIgd2hlbiBhbnkgbm9uLWdlbmVyYWwgdGFiIGlzIGFjdGl2ZSAqL1xuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWJzLWNhdGVnb3JpemVkLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG59XG5cbi50YXNrLWdlbml1cy1zZXR0aW5nczpoYXMoXG5cdFx0LnNldHRpbmdzLXRhYi1zZWN0aW9uLWFjdGl2ZTpub3QoW2RhdGEtdGFiLWlkPVwiZ2VuZXJhbFwiXSlcblx0KVxuLnNldHRpbmdzLXRhYnMtY2F0ZWdvcml6ZWQtY29udGFpbmVyIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLyogTGVnYWN5IHRhYnMgY29udGFpbmVyIHZpc2liaWxpdHkgKGZhbGxiYWNrKSAqL1xuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWJzLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIFNob3cgbGVnYWN5IHRhYnMgd2hlbiBnZW5lcmFsIHRhYiBpcyBhY3RpdmUgKGZhbGxiYWNrIGJlaGF2aW9yKSAqL1xuLnRhc2stZ2VuaXVzLXNldHRpbmdzOmhhcyguc2V0dGluZ3MtdGFiLWFjdGl2ZVtkYXRhLXRhYi1pZD1cImdlbmVyYWxcIl0pXG4uc2V0dGluZ3MtdGFicy1jb250YWluZXIge1xuXHRkaXNwbGF5OiBncmlkO1xufVxuXG4vKiBTZXR0aW5ncyBoZWFkZXIgdmlzaWJpbGl0eSAtIGhpZGUgd2hlbiBub24tZ2VuZXJhbCB0YWIgaXMgYWN0aXZlICovXG4udGFzay1nZW5pdXMtc2V0dGluZ3MtaGVhZGVyIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi50YXNrLWdlbml1cy1zZXR0aW5nczpoYXMoXG5cdFx0LnNldHRpbmdzLXRhYi1zZWN0aW9uLWFjdGl2ZTpub3QoW2RhdGEtdGFiLWlkPVwiZ2VuZXJhbFwiXSlcblx0KVxuLnRhc2stZ2VuaXVzLXNldHRpbmdzLWhlYWRlciB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEV4cHJlc3Npb24gZXhhbXBsZXMgaW4gc2V0dGluZ3MgKi9cbi5leHByZXNzaW9uLWV4YW1wbGVzIHtcblx0bWFyZ2luLXRvcDogOHB4O1xuXHRib3JkZXItcmFkaXVzOiA1cHg7XG59XG5cbi5leHByZXNzaW9uLWV4YW1wbGUtaXRlbSB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0zKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNpemUtNC0zKTtcblx0cGFkZGluZy1yaWdodDogdmFyKC0tc2l6ZS00LTMpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdC8qIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7ICovXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogNnB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5leHByZXNzaW9uLWV4YW1wbGUtbmFtZSB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uZXhwcmVzc2lvbi1leGFtcGxlLWNvZGUge1xuXHRwYWRkaW5nOiA0cHggOHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0b3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcblx0dXNlci1zZWxlY3Q6IHRleHQ7XG59XG5cbi5leHByZXNzaW9uLWV4YW1wbGUtdXNlIHtcblx0YWxpZ24tc2VsZjogZmxleC1lbmQ7XG5cdG1hcmdpbi10b3A6IDRweDtcbn1cblxuLmN1c3RvbS1mb3JtYXQtdGV4dGFyZWEge1xuXHRoZWlnaHQ6IDIwMHB4O1xuXHR3aWR0aDogMTAwJTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcblx0cmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuLmN1c3RvbS1mb3JtYXQtcHJldmlldy1jb250YWluZXIge1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5jdXN0b20tZm9ybWF0LXByZXZpZXctbGFiZWwge1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5jdXN0b20tZm9ybWF0LXByZXZpZXctY29udGVudCB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1pbnRlcmZhY2UpO1xufVxuXG4uY3VzdG9tLWZvcm1hdC1wbGFjZWhvbGRlci1pbmZvIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG5cblx0dXNlci1zZWxlY3Q6IHRleHQ7XG59XG5cbi5jdXN0b20tZm9ybWF0LXByZXZpZXctZXJyb3IsXG4uZXhwcmVzc2lvbi1wcmV2aWV3LWVycm9yIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4vKiBcdTg4NjhcdThGQkVcdTVGMEZcdTc5M0FcdTRGOEJcdTk4ODRcdTg5QzhcdTY4MzdcdTVGMEYgKi9cbi5leHByZXNzaW9uLWV4YW1wbGUtcHJldmlldyB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktYWx0KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuXG4ucHJlc2V0LWZpbHRlcnMtY29udGFpbmVyIHtcblx0bWFyZ2luLXRvcDogMTBweDtcblx0cGFkZGluZzogOHB4O1xuXHRib3JkZXItcmFkaXVzOiA1cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLnByZXNldC1maWx0ZXItcm93IHtcblx0bWFyZ2luLWJvdHRvbTogNXB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zaXplLTQtMik7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc2l6ZS00LTIpO1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zaXplLTQtMik7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xufVxuXG4ucHJlc2V0LWZpbHRlci1yb3c6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xufVxuXG4ubm8tcHJlc2V0cy1tZXNzYWdlIHtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogMTVweDtcbn1cblxuLnByZXNldC1zYXZlZC1tZXNzYWdlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogNXB4O1xuXHRtYXJnaW4tdG9wOiA1cHg7XG5cdGFuaW1hdGlvbjogZmFkZUluIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG5cbi50YXNrLWZpbHRlci1zYXZlLXByZXNldCB7XG5cdG1hcmdpbi10b3A6IDE1cHg7XG5cdHBhZGRpbmc6IDEwcHg7XG5cdGJvcmRlci1yYWRpdXM6IDVweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcbn1cblxuLnRnLW1vZGFsLWJ1dHRvbi1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRnYXA6IDEwcHg7XG5cdG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi50Zy1tb2RhbC1idXR0b24tY29udGFpbmVyIGJ1dHRvbiB7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4udGctbW9kYWwtYnV0dG9uLWNvbnRhaW5lciBidXR0b24ubW9kLXdhcm5pbmcge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcblx0Y29sb3I6IHdoaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG5cdGZyb20ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cbn1cblxuLm1vZGFsLXdvcmtmbG93LWRlZmluaXRpb24ge1xuXHRtYXgtd2lkdGg6IDgwMHB4O1xuXHR3aWR0aDogOTB2dztcbn1cblxuLm1vZGFsLXN0YWdlLWRlZmluaXRpb24ge1xuXHRtYXgtd2lkdGg6IDgwMHB4O1xuXHR3aWR0aDogOTB2dztcbn1cblxuLyogV29ya2Zsb3cgc2V0dGluZ3MgcGFuZWwgaW1wcm92ZW1lbnRzICovXG4ud29ya2Zsb3ctY29udGFpbmVyIHtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA1cHg7XG5cdHBhZGRpbmc6IDE1cHg7XG5cdG1heC1oZWlnaHQ6IDUwMHB4O1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3gtc2hhZG93OiAwIDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbn1cblxuLndvcmtmbG93LXJvdyB7XG5cdG1hcmdpbi1ib3R0b206IDE1cHg7XG5cdHBhZGRpbmc6IDEycHg7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcblx0Ym94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLndvcmtmbG93LXJvdyAuc2V0dGluZy1pdGVtIHtcblx0Ym9yZGVyOiBub25lO1xuXHRwYWRkaW5nOiAwO1xufVxuXG4ud29ya2Zsb3ctcm93IC5zZXR0aW5nLWl0ZW0taW5mbyB7XG5cdHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuLndvcmtmbG93LXJvdyAuc2V0dGluZy1pdGVtLW5hbWUge1xuXHRmb250LXNpemU6IDE2cHg7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi53b3JrZmxvdy1yb3cgLnNldHRpbmctaXRlbS1kZXNjcmlwdGlvbiB7XG5cdGZvbnQtc2l6ZTogMTNweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tdG9wOiA0cHg7XG59XG5cbi53b3JrZmxvdy1zdGFnZXMtaW5mbyB7XG5cdG1hcmdpbi10b3A6IDEycHg7XG5cdHBhZGRpbmc6IDhweCAwIDAgMDtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLndvcmtmbG93LXN0YWdlcy1saXN0IHtcblx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IDA7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1pdGVtIHtcblx0cGFkZGluZzogNHB4IDhweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRmb250LXNpemU6IDEycHg7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1jeWNsZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhc2staW4tcHJvZ3Jlc3MtY29sb3IpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtdGVybWluYWwge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10YXNrLWNvbXBsZXRlZC1jb2xvcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi5uby13b3JrZmxvd3MtbWVzc2FnZSB7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDE1cHg7XG59XG5cbi8qIFdvcmtmbG93IG1vZGFsIHN0eWxlcyAqL1xuLndvcmtmbG93LWZvcm0ge1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4ud29ya2Zsb3ctc3RhZ2VzLXNlY3Rpb24ge1xuXHRtYXJnaW4tdG9wOiAyMHB4O1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nLXRvcDogMTVweDtcbn1cblxuLndvcmtmbG93LXN0YWdlcy1zZWN0aW9uIGgyIHtcblx0bWFyZ2luLXRvcDogMDtcblx0bWFyZ2luLWJvdHRvbTogMTVweDtcblx0Zm9udC1zaXplOiAxLjNlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLndvcmtmbG93LXN0YWdlcy1jb250YWluZXIge1xuXHRtYXJnaW4tdG9wOiAxNXB4O1xufVxuXG4ud29ya2Zsb3ctc3RhZ2VzLWNvbnRhaW5lciAud29ya2Zsb3ctc3RhZ2VzLWxpc3Qge1xuXHRkaXNwbGF5OiBibG9jaztcblx0ZmxleC13cmFwOiB1bnNldDtcblx0Z2FwOiB1bnNldDtcbn1cblxuLndvcmtmbG93LXN0YWdlcy1jb250YWluZXIgLndvcmtmbG93LXN0YWdlLWl0ZW0ge1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0cGFkZGluZzogMDtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi53b3JrZmxvdy1idXR0b25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0Z2FwOiAxMHB4O1xuXHRtYXJnaW4tdG9wOiAyMHB4O1xuXHRwYWRkaW5nLXRvcDogMTBweDtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLndvcmtmbG93LXNhdmUtYnV0dG9uLFxuLndvcmtmbG93LWNhbmNlbC1idXR0b24sXG4ud29ya2Zsb3ctYWRkLXN0YWdlLWJ1dHRvbiB7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLndvcmtmbG93LXNhdmUtYnV0dG9uLm1vZC1jdGEge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ud29ya2Zsb3ctY2FuY2VsLWJ1dHRvbiB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLndvcmtmbG93LWFkZC1zdGFnZS1idXR0b24ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4ubm8tc3RhZ2VzLW1lc3NhZ2Uge1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiAxNXB4O1xufVxuXG4vKiBTdGFnZSBlZGl0aW5nIHN0eWxlcyAqL1xuLndvcmtmbG93LXN0YWdlLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0cGFkZGluZzogOHB4IDEycHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRtYXJnaW4tYm90dG9tOiA4cHg7XG5cdGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1uYW1lIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0ZmxleDogMTtcblx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtYWN0aW9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogNXB4O1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtZWRpdCxcbi53b3JrZmxvdy1zdGFnZS1tb3ZlLXVwLFxuLndvcmtmbG93LXN0YWdlLW1vdmUtZG93bixcbi53b3JrZmxvdy1zdGFnZS1kZWxldGUge1xuXHRwYWRkaW5nOiAzcHggOHB4O1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXNpemU6IDEycHg7XG5cdGJvcmRlcjogbm9uZTtcbn1cblxuLndvcmtmbG93LXN0YWdlLWVkaXQ6aG92ZXIsXG4ud29ya2Zsb3ctc3RhZ2UtbW92ZS11cDpob3Zlcixcbi53b3JrZmxvdy1zdGFnZS1tb3ZlLWRvd246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtZGVsZXRlOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi53b3JrZmxvdy1zdGFnZS10eXBlLWJhZGdlIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwYWRkaW5nOiAycHggNnB4O1xuXHRtYXJnaW4tbGVmdDogOHB4O1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGZvbnQtc2l6ZTogMTBweDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLndvcmtmbG93LXN0YWdlLXR5cGUtbGluZWFyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtdHlwZS1jeWNsZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhc2staW4tcHJvZ3Jlc3MtY29sb3IpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtdHlwZS10ZXJtaW5hbCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhc2stY29tcGxldGVkLWNvbG9yKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLyogU3Vic3RhZ2Ugc3R5bGVzICovXG4ud29ya2Zsb3ctc3Vic3RhZ2VzLWxpc3Qge1xuXHRwYWRkaW5nOiAwIDAgMCB2YXIoLS1zaXplLTQtNik7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xuXHRib3JkZXItbGVmdDogMnB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLnN1YnN0YWdlLXNldHRpbmdzLWNvbnRhaW5lciB7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4vKiBTdGFnZSBlZGl0IG1vZGFsICovXG4uc3RhZ2UtdHlwZS1zZXR0aW5ncyB7XG5cdG1hcmdpbi10b3A6IDIwcHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRwYWRkaW5nOiAxNXB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xufVxuXG4uc3Vic3RhZ2VzLXNlY3Rpb24sXG4uY2FuLXByb2NlZWQtdG8tc2VjdGlvbiB7XG5cdG1hcmdpbi10b3A6IDIwcHg7XG5cdHBhZGRpbmctdG9wOiAxNXB4O1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uc3Vic3RhZ2VzLWNvbnRhaW5lcixcbi5jYW4tcHJvY2VlZC10by1jb250YWluZXIge1xuXHRtYXJnaW4tdG9wOiAxNXB4O1xuXHRwYWRkaW5nOiAxMHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5zdWJzdGFnZXMtbGlzdCxcbi5jYW4tcHJvY2VlZC1saXN0IHtcblx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IDA7XG59XG5cbi5zdWJzdGFnZS1uYW1lLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogMTBweDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0ZmxleDogMTtcbn1cblxuLnN1YnN0YWdlLW5hbWUtY29udGFpbmVyIGlucHV0IHtcblx0cGFkZGluZzogNHB4IDhweDtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG59XG5cbi5zdWJzdGFnZS1uZXh0LWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogNXB4O1xuXHRtYXJnaW4tbGVmdDogMTBweDtcbn1cblxuLnN1YnN0YWdlLXJlbW92ZS1idXR0b24sXG4uY2FuLXByb2NlZWQtcmVtb3ZlLWJ1dHRvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0cGFkZGluZzogMnB4IDVweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXI6IG5vbmU7XG59XG5cbi5zdWJzdGFnZS1yZW1vdmUtYnV0dG9uOmhvdmVyLFxuLmNhbi1wcm9jZWVkLXJlbW92ZS1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLmFkZC1zdWJzdGFnZS1idXR0b24sXG4uYWRkLWNhbi1wcm9jZWVkLWJ1dHRvbiB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdHBhZGRpbmc6IDRweCAxMHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdG1hcmdpbi10b3A6IDEwcHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Ym9yZGVyOiBub25lO1xufVxuXG4uYWRkLWNhbi1wcm9jZWVkLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogMTBweDtcblx0YWxpZ24taXRlbXM6IGZsZXgtZW5kO1xufVxuXG4uYWRkLWNhbi1wcm9jZWVkLXNlbGVjdCB7XG5cdGZsZXg6IDE7XG5cdHBhZGRpbmc6IDRweCA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uc3RhZ2UtYnV0dG9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdGdhcDogMTBweDtcblx0bWFyZ2luLXRvcDogMjBweDtcblx0cGFkZGluZy10b3A6IDEwcHg7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5zdGFnZS1zYXZlLWJ1dHRvbixcbi5zdGFnZS1jYW5jZWwtYnV0dG9uIHtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXI6IG5vbmU7XG59XG5cbi5zdGFnZS1zYXZlLWJ1dHRvbi5tb2QtY3RhIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLnN0YWdlLWNhbmNlbC1idXR0b24ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5zdGFnZS1lcnJvci1tZXNzYWdlIHtcblx0Y29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRtYXJnaW4tdG9wOiAxMHB4O1xuXHRwYWRkaW5nOiA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLyogV29ya2Zsb3cgdGFzayBpbiBlZGl0b3IvcHJldmlldyBtb2RlIHN0eWxlcyAqL1xuLnRhc2std29ya2Zsb3ctdGFnIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwYWRkaW5nOiAycHggNXB4O1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdG1hcmdpbi1sZWZ0OiA1cHg7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcbn1cblxuLnRhc2std29ya2Zsb3ctc3RhZ2Uge1xuXHRtYXJnaW4tbGVmdDogNXB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4udGFzay13b3JrZmxvdy1zdWJzdGFnZSB7XG5cdGZvbnQtc2l6ZTogMTFweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGFzay13b3JrZmxvdy1oaXN0b3J5IHtcblx0bWFyZ2luLWxlZnQ6IDIwcHg7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGFzay13b3JrZmxvdy10aW1lc3RhbXAge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG59XG5cbi8qIFdvcmtmbG93IHNldHRpbmdzIGRpc3BsYXkgZW5oYW5jZW1lbnRzICovXG4uc2V0dGluZy1pdGVtLWNvbnRyb2wgc3BhbltjbGFzc149XCJ3b3JrZmxvdy1zdGFnZS1uYW1lLVwiXSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cGFkZGluZzogMnB4IDZweDtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRmb250LXNpemU6IDEycHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdG1hcmdpbi1yaWdodDogNXB4O1xufVxuXG4uc2V0dGluZy1pdGVtLWNvbnRyb2wgLndvcmtmbG93LXN0YWdlLW5hbWUtY3ljbGUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10YXNrLWluLXByb2dyZXNzLWNvbG9yKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLnNldHRpbmctaXRlbS1jb250cm9sIC53b3JrZmxvdy1zdGFnZS1uYW1lLXRlcm1pbmFsIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGFzay1jb21wbGV0ZWQtY29sb3IpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtaXRlbSB7XG5cdG1hcmdpbi1yaWdodDogNHB4O1xufVxuXG4vKiBXb3JrZmxvd0RlZmluaXRpb25Nb2RhbCBoZWFkZXIgZW5oYW5jZW1lbnRzICovXG4ud29ya2Zsb3ctc3RhZ2VzLWNvbnRhaW5lciAud29ya2Zsb3ctc3RhZ2UtaGVhZGVyIHtcblx0cGFkZGluZzogOHB4IDEycHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuXHRtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi53b3JrZmxvdy1zdGFnZXMtY29udGFpbmVyIC53b3JrZmxvdy1zdGFnZS10eXBlLWJhZGdlIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwYWRkaW5nOiAycHggNnB4O1xuXHRtYXJnaW4tbGVmdDogOHB4O1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGZvbnQtc2l6ZTogMTBweDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLndvcmtmbG93LXN1YnN0YWdlcy1saXN0IHtcblx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRwYWRkaW5nOiAwIDAgMCAyMHB4O1xuXHRtYXJnaW46IDVweCAwIDEwcHggMDtcblx0Ym9yZGVyLWxlZnQ6IDJweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi8qIEJldHRlciBidXR0b25zIGluIHdvcmtmbG93IHBhbmVscyAqL1xuLndvcmtmbG93LWFkZC1zdGFnZS1idXR0b24sXG4uc3RhZ2Utc2F2ZS1idXR0b24ubW9kLWN0YSxcbi53b3JrZmxvdy1zYXZlLWJ1dHRvbi5tb2QtY3RhIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0cGFkZGluZzogNnB4IDE1cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Ym9yZGVyOiBub25lO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLndvcmtmbG93LWFkZC1zdGFnZS1idXR0b246aG92ZXIsXG4uc3RhZ2Utc2F2ZS1idXR0b24ubW9kLWN0YTpob3Zlcixcbi53b3JrZmxvdy1zYXZlLWJ1dHRvbi5tb2QtY3RhOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcblx0Ym94LXNoYWRvdzogMCAzcHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cblxuLndvcmtmbG93LXN0YWdlLW1vdmUtdXAsXG4ud29ya2Zsb3ctc3RhZ2UtbW92ZS1kb3duLFxuLndvcmtmbG93LXN0YWdlLWVkaXQsXG4ud29ya2Zsb3ctc3RhZ2UtZGVsZXRlIHtcblx0Ym9yZGVyOiBub25lO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBhZGRpbmc6IDNweCA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1tb3ZlLXVwOmhvdmVyLFxuLndvcmtmbG93LXN0YWdlLW1vdmUtZG93bjpob3Zlcixcbi53b3JrZmxvdy1zdGFnZS1lZGl0OmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLndvcmtmbG93LXN0YWdlLWRlbGV0ZTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4vKiBTdWJ0YXNrIHN0eWxpbmcgaW1wcm92ZW1lbnRzICovXG4uc3Vic3RhZ2UtaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDZweCAwO1xuXHRtYXJnaW4tYm90dG9tOiA1cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLnN1YnN0YWdlLW5hbWUtY29udGFpbmVyIGlucHV0IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nOiA0cHggOHB4O1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGZvbnQtc2l6ZTogMTNweDtcbn1cblxuLnN1YnN0YWdlLW5hbWUtY29udGFpbmVyIGlucHV0OmZvY3VzIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG4ubm8tc3RhZ2VzLW1lc3NhZ2UsXG4ubm8td29ya2Zsb3dzLW1lc3NhZ2UsXG4ubm8tc3Vic3RhZ2VzLW1lc3NhZ2UsXG4ubm8tY2FuLXByb2NlZWQtbWVzc2FnZSB7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRwYWRkaW5nOiAxNXB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XG5cdGJvcmRlci1yYWRpdXM6IDVweDtcblx0bWFyZ2luOiAxMHB4IDA7XG59XG5cbi8qIFNUQVJUOiBSZXdhcmQgU2V0dGluZ3MgU3R5bGVzICovXG4ucmV3YXJkcy1sZXZlbHMtY29udGFpbmVyLFxuLnJld2FyZHMtaXRlbXMtY29udGFpbmVyIHtcblx0bWFyZ2luLXRvcDogMTBweDtcblx0cGFkZGluZzogMTVweDtcblx0Ym9yZGVyLXJhZGl1czogNXB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbn1cblxuLnJld2FyZHMtbGV2ZWwtcm93IC5zZXR0aW5nLWl0ZW0taW5mbyxcbi5yZXdhcmRzLWl0ZW0tcm93IC5zZXR0aW5nLWl0ZW0taW5mbyB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5yZXdhcmRzLWl0ZW0tcm93LnNldHRpbmctaXRlbSB7XG5cdGJvcmRlci10b3A6IDA7XG59XG5cbi5yZXdhcmRzLWxldmVsLXJvdyAuc2V0dGluZy1pdGVtLWNvbnRyb2wsXG4ucmV3YXJkcy1pdGVtLXJvdyAuc2V0dGluZy1pdGVtLWNvbnRyb2wge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7IC8qIEFsbG93IHdyYXBwaW5nIG9uIHNtYWxsZXIgc2NyZWVucyAqL1xuXHRnYXA6IDEwcHg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5yZXdhcmRzLWxldmVsLXJvdyAuc2V0dGluZy1pdGVtLWNvbnRyb2wgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuXHRmbGV4OiAxO1xuXHRtaW4td2lkdGg6IDEwMHB4OyAvKiBFbnN1cmUgcmVhc29uYWJsZSBtaW5pbXVtIHdpZHRoICovXG59XG5cbi5yZXdhcmRzLWl0ZW0tcm93IC5zZXR0aW5nLWl0ZW0tY29udHJvbCAuaW5wdXQtY29udGFpbmVyIHtcblx0LyogT2JzaWRpYW4gdXNlcyB0aGlzIGNsYXNzIGZvciB0ZXh0L3RleHRhcmVhICovXG5cdGZsZXg6IDE7XG5cdG1pbi13aWR0aDogMTUwcHg7XG59XG5cbi5yZXdhcmRzLWl0ZW0tcm93IC5zZXR0aW5nLWl0ZW0tY29udHJvbCB0ZXh0YXJlYSB7XG5cdHdpZHRoOiAxMDAlOyAvKiBNYWtlIHRleHRhcmVhIHRha2UgZnVsbCB3aWR0aCB3aXRoaW4gaXRzIGNvbnRhaW5lciAqL1xuXHRtaW4taGVpZ2h0OiA0MHB4OyAvKiBFbnN1cmUgaXQncyB0YWxsIGVub3VnaCBmb3IgYSBjb3VwbGUgbGluZXMgKi9cblx0cmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuLnJld2FyZHMtaXRlbS1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIC5kcm9wZG93biB7XG5cdG1pbi13aWR0aDogMTIwcHg7XG59XG5cbi5yZXdhcmRzLWxldmVsLXJvdyAuc2V0dGluZy1pdGVtLWNvbnRyb2wgYnV0dG9uLFxuLnJld2FyZHMtaXRlbS1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIGJ1dHRvbiB7XG5cdG1hcmdpbi1sZWZ0OiBhdXRvOyAvKiBQdXNoIGRlbGV0ZSBidXR0b24gdG8gdGhlIHJpZ2h0ICovXG59XG5cbi5yZXdhcmRzLWl0ZW0tZGl2aWRlciB7XG5cdGJvcmRlcjogbm9uZTtcblx0aGVpZ2h0OiAxcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0bWFyZ2luLXRvcDogMTVweDtcblx0bWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLnNldHRpbmctaXRlbS5zb3J0LWNyaXRlcmlvbi1yb3cgLnNldHRpbmctaXRlbS1pbmZvIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLnNldHRpbmctaXRlbS5zb3J0LWNyaXRlcmlvbi1yb3cgc2VsZWN0LmRyb3Bkb3duIHtcblx0ZmxleDogMTtcbn1cblxuXG4udmlldy1lZGl0LWJ1dHRvbixcbi52aWV3LWNvcHktYnV0dG9uLFxuLnZpZXctb3JkZXItYnV0dG9uLFxuLnZpZXctZGVsZXRlLWJ1dHRvbiB7XG5cdHBhZGRpbmc6IDRweDtcblx0d2lkdGg6IDI0cHg7XG5cdGhlaWdodDogMjRweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRtYXJnaW4tbGVmdDogNHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnZpZXctY29weS1idXR0b24ge1xuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLnZpZXctY29weS1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4udmlldy1kZWxldGUtYnV0dG9uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4udmlldy1kZWxldGUtYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi52aWV3LWljb24ge1xuXHRtYXJnaW4tcmlnaHQ6IDhweDtcblx0LS1pY29uLXNpemU6IDE2cHg7XG59XG5cbi8qIENvcHkgbW9kZSBpbmZvIHN0eWxlcyAqL1xuLmNvcHktbW9kZS1pbmZvIHtcblx0bWFyZ2luOiAxMHB4IDA7XG5cdHBhZGRpbmc6IDEycHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XG5cdGJvcmRlci1yYWRpdXM6IDVweDtcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4uY29weS1tb2RlLWluZm8gcCB7XG5cdG1hcmdpbjogNHB4IDA7XG59XG5cbi8qIFRhc2tzIFBsdWdpbiBDb21wYXRpYmlsaXR5IFdhcm5pbmcgQmFubmVyICovXG4udGFza3MtY29tcGF0aWJpbGl0eS13YXJuaW5nIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC00KTtcblx0YmFja2dyb3VuZC1jb2xvcjogaHNsKFxuXHRcdHZhcigtLWFjY2VudC1oKSxcblx0XHR2YXIoLS1hY2NlbnQtcyksXG5cdFx0dmFyKC0tYWNjZW50LWwpLFxuXHRcdDAuNVxuXHQpO1xuXHRib3JkZXI6IDFweCBzb2xpZCBoc2wodmFyKC0tYWNjZW50LWgpLCB2YXIoLS1hY2NlbnQtcyksIHZhcigtLWFjY2VudC1sKSwgMC41KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4udGFza3Mtd2FybmluZy1pY29uIHtcblx0Zm9udC1zaXplOiAyMHB4O1xuXHRsaW5lLWhlaWdodDogMTtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi50YXNrcy13YXJuaW5nLWNvbnRlbnQge1xuXHRmbGV4OiAxO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcbn1cblxuLnRhc2tzLXdhcm5pbmctdGl0bGUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcbn1cblxuLnRhc2tzLXdhcm5pbmctdGV4dCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi50YXNrcy13YXJuaW5nLXRleHQgYSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4udGFza3Mtd2FybmluZy10ZXh0IGE6aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4udGFzay1nZW5pdXMtZm9ybWF0LWV4YW1wbGVzIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTItMyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcblx0bWFyZ2luOiB2YXIoLS1zaXplLTQtMykgMDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi50YXNrLWdlbml1cy1mb3JtYXQtZXhhbXBsZXMgc3Ryb25nIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcbn1cblxuLnRhc2stZ2VuaXVzLWZvcm1hdC1leGFtcGxlcyBzcGFuIHtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRsaW5lLWhlaWdodDogMS41O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTItMyk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRtYXJnaW46IHZhcigtLXNpemUtMi0xKSAwO1xufVxuXG4udGFzay1nZW5pdXMtZm9ybWF0LWV4YW1wbGVzIHNwYW46Zmlyc3Qtb2YtdHlwZSB7XG5cdG1hcmdpbi10b3A6IDA7XG59XG5cbi50YXNrLWdlbml1cy1mb3JtYXQtZXhhbXBsZXMgc3BhbjpsYXN0LW9mLXR5cGUge1xuXHRtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiBFbmhhbmNlZCBQcm9qZWN0IENvbmZpZ3VyYXRpb24gU3R5bGVzICovXG4ucHJvamVjdC1wYXRoLW1hcHBpbmdzLWNvbnRhaW5lcixcbi5wcm9qZWN0LW1ldGFkYXRhLW1hcHBpbmdzLWNvbnRhaW5lciB7XG5cdG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi5wcm9qZWN0LXBhdGgtbWFwcGluZy1yb3csXG4ucHJvamVjdC1tZXRhZGF0YS1tYXBwaW5nLXJvdyB7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRwYWRkaW5nOiAxMHB4O1xufVxuXG4ubm8tbWFwcGluZ3MtbWVzc2FnZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDIwcHg7XG59XG5cbi8qIFRhc2sgUHJvamVjdCBEaXNwbGF5IFN0eWxlcyAqL1xuLnRhc2stcHJvamVjdC10ZyB7XG5cdG9wYWNpdHk6IDAuODtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRib3JkZXItbGVmdDogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWFjY2VudCk7XG5cdHBhZGRpbmctbGVmdDogNHB4O1xufVxuXG4udGFzay1wcm9qZWN0LXRnOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlx1RDgzRFx1REQxN1wiO1xuXHRtYXJnaW4tcmlnaHQ6IDJweDtcblx0Zm9udC1zaXplOiAwLjhlbTtcbn1cblxuLyogTWV0YWRhdGEgRWRpdG9yIFByb2plY3QgU3R5bGVzICovXG4ucHJvamVjdC1yZWFkb25seSB7XG5cdG9wYWNpdHk6IDAuODtcbn1cblxuLnByb2plY3QtcmVhZG9ubHkgaW5wdXQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5wcm9qZWN0LXNvdXJjZS1pbmRpY2F0b3Ige1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRtYXJnaW4tdG9wOiA0cHg7XG59XG5cbi8qIERhdGUgZm9ybWF0IGNvbmZpZ3VyYXRpb24gc3R5bGVzICovXG4udGFzay1nZW5pdXMtZGF0ZS1mb3JtYXRzLWNvbnRhaW5lciB7XG5cdG1hcmdpbi10b3A6IDE1cHg7XG5cdHBhZGRpbmc6IDE1cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi50YXNrLWdlbml1cy1mb3JtYXRzLWhlYWRlciB7XG5cdG1hcmdpbi10b3A6IDA7XG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdGZvbnQtc2l6ZTogMS4xZW07XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YXNrLWdlbml1cy1mb3JtYXQtbGlzdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMTBweDtcblx0bWFyZ2luLXRvcDogMTVweDtcbn1cblxuLnRhc2stZ2VuaXVzLWZvcm1hdC1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAxMHB4O1xuXHRwYWRkaW5nOiA4cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4udGFzay1nZW5pdXMtZm9ybWF0LWl0ZW06aG92ZXIge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi50YXNrLWdlbml1cy1mb3JtYXQtaW5wdXQge1xuXHRmbGV4OiAxO1xuXHRwYWRkaW5nOiA2cHggMTBweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XG5cdGZvbnQtc2l6ZTogMC45NWVtO1xuXHR0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4ycyBlYXNlO1xufVxuXG4udGFzay1nZW5pdXMtZm9ybWF0LWlucHV0OmZvY3VzIHtcblx0b3V0bGluZTogbm9uZTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLnRhc2stZ2VuaXVzLWZvcm1hdC1pbnB1dDo6cGxhY2Vob2xkZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLnRhc2stZ2VuaXVzLWZvcm1hdC1kZWxldGUtYnRuIHtcblx0d2lkdGg6IDI4cHg7XG5cdGhlaWdodDogMjhweDtcblx0cGFkZGluZzogMDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Zm9udC1zaXplOiAyMHB4O1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4udGFzay1nZW5pdXMtZm9ybWF0LWRlbGV0ZS1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yLWhvdmVyKTtcblx0dHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xufVxuXG4udGFzay1nZW5pdXMtYWRkLWZvcm1hdC1idG4ge1xuXHRwYWRkaW5nOiAxMHB4IDE2cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5cdGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG5cdG1hcmdpbi10b3A6IDVweDtcbn1cblxuLnRhc2stZ2VuaXVzLWFkZC1mb3JtYXQtYnRuOmhvdmVyIHtcblx0Ym94LXNoYWRvdzogMCAycHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cblxuLnRhc2stZ2VuaXVzLWFkZC1mb3JtYXQtYnRuOmFjdGl2ZSB7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuLyogRGF0ZSBmb3JtYXQgZXhhbXBsZXMgc2VjdGlvbiAqL1xuLnRhc2stZ2VuaXVzLWRhdGUtZXhhbXBsZXMge1xuXHRtYXJnaW4tdG9wOiAyMHB4O1xuXHRwYWRkaW5nOiAxNXB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4udGFzay1nZW5pdXMtZXhhbXBsZXMtaGVhZGVyIHtcblx0bWFyZ2luLXRvcDogMDtcblx0bWFyZ2luLWJvdHRvbTogMTJweDtcblx0Zm9udC1zaXplOiAxZW07XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YXNrLWdlbml1cy1kYXRlLWV4YW1wbGVzLXRhYmxlIHtcblx0d2lkdGg6IDEwMCU7XG5cdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi50YXNrLWdlbml1cy1kYXRlLWV4YW1wbGVzLXRhYmxlIHRoLFxuLnRhc2stZ2VuaXVzLWRhdGUtZXhhbXBsZXMtdGFibGUgdGQge1xuXHRwYWRkaW5nOiA4cHggMTJweDtcblx0dGV4dC1hbGlnbjogbGVmdDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4udGFzay1nZW5pdXMtZGF0ZS1leGFtcGxlcy10YWJsZSB0aCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YXNrLWdlbml1cy1kYXRlLWV4YW1wbGVzLXRhYmxlIHRkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcbn1cblxuLnRhc2stZ2VuaXVzLWRhdGUtZXhhbXBsZXMtdGFibGUgdHI6bnRoLWNoaWxkKGV2ZW4pIHRkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCk7XG59XG5cbi50YXNrLWdlbml1cy1kYXRlLWV4YW1wbGVzLXRhYmxlIHRyOmhvdmVyIHRkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi50Zy1pbmRleC10YXNrLXNvdXJjZS13cmFwcGVyIHtcblx0bWFyZ2luLXRvcDogMThweDtcbn1cblxuLnRnLWluZGV4LXRhc2stc291cmNlLXBhbmVscyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMTJweDtcbn1cblxuLnRnLXNvdXJjZS1zZXR0aW5ncy1ib2R5IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAxMnB4O1xufVxuXG4udGctc291cmNlLXNldHRpbmdzLWJvZHkudGctc291cmNlLWRpc2FibGVkIHtcblx0b3BhY2l0eTogMC41NTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4iLCAiLnRnLXN0YXR1cy1pY29uIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS0yLTMpO1xuXHRtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tc2l6ZS0yLTEpKTtcbn1cblxuLnRnLWljb25zLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4udGctaWNvbnMtY29udGFpbmVyIC50Zy1zdGF0dXMtaWNvbiB7XG5cdG1hcmdpbi1yaWdodDogMDtcblx0bWFyZ2luLXRvcDogMDtcbn1cblxuLyogR2xvYmFsIEZpbHRlciBDb250YWluZXIgU3R5bGVzICovXG4uZ2xvYmFsLWZpbHRlci1jb250YWluZXIge1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRwYWRkaW5nOiAxMHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG4vKiBGaWxlIFRhc2sgZHluYW1pYyBjb25maWd1cmF0aW9uIHN0eWxlcyAqL1xuLnRhc2stZ2VuaXVzLW1ldGFkYXRhLWZpZWxkcy1jb250YWluZXIsXG4udGFzay1nZW5pdXMtdGFncy1jb250YWluZXIsXG4udGFzay1nZW5pdXMtcGF0aHMtY29udGFpbmVyLFxuLnRhc2stZ2VuaXVzLWRhdGUtZm9ybWF0cy1jb250YWluZXIge1xuXHRtYXJnaW46IDFyZW0gMDtcblx0cGFkZGluZzogMXJlbTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG59XG5cbi50YXNrLWdlbml1cy1maWVsZHMtaGVhZGVyLFxuLnRhc2stZ2VuaXVzLXRhZ3MtaGVhZGVyLFxuLnRhc2stZ2VuaXVzLXBhdGhzLWhlYWRlcixcbi50YXNrLWdlbml1cy1mb3JtYXRzLWhlYWRlcixcbi50YXNrLWdlbml1cy1leGFtcGxlcy1oZWFkZXIge1xuXHRmb250LXNpemU6IDAuOTVlbTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0bWFyZ2luLWJvdHRvbTogMC41cmVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFzay1nZW5pdXMtZmllbGQtbGlzdCxcbi50YXNrLWdlbml1cy10YWctbGlzdCxcbi50YXNrLWdlbml1cy1wYXRoLWxpc3QsXG4udGFzay1nZW5pdXMtZm9ybWF0LWxpc3Qge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDAuNXJlbTtcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuLnRhc2stZ2VuaXVzLWZpZWxkLWl0ZW0sXG4udGFzay1nZW5pdXMtdGFnLWl0ZW0sXG4udGFzay1nZW5pdXMtcGF0aC1pdGVtLFxuLnRhc2stZ2VuaXVzLWZvcm1hdC1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAwLjVyZW07XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdHBhZGRpbmc6IDAuNXJlbTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjJzO1xufVxuXG4udGFzay1nZW5pdXMtZmllbGQtaXRlbTpob3Zlcixcbi50YXNrLWdlbml1cy10YWctaXRlbTpob3Zlcixcbi50YXNrLWdlbml1cy1wYXRoLWl0ZW06aG92ZXIsXG4udGFzay1nZW5pdXMtZm9ybWF0LWl0ZW06aG92ZXIge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi50YXNrLWdlbml1cy1maWVsZC1pbnB1dCxcbi50YXNrLWdlbml1cy10YWctaW5wdXQsXG4udGFzay1nZW5pdXMtcGF0aC1pbnB1dCxcbi50YXNrLWdlbml1cy1mb3JtYXQtaW5wdXQge1xuXHRmbGV4OiAxO1xuXHRwYWRkaW5nOiAwLjRyZW07XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1pbnRlcmZhY2UpO1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuXG4udGFzay1nZW5pdXMtZmllbGQtaW5wdXQ6Zm9jdXMsXG4udGFzay1nZW5pdXMtdGFnLWlucHV0OmZvY3VzLFxuLnRhc2stZ2VuaXVzLXBhdGgtaW5wdXQ6Zm9jdXMsXG4udGFzay1nZW5pdXMtZm9ybWF0LWlucHV0OmZvY3VzIHtcblx0b3V0bGluZTogbm9uZTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLnRhc2stZ2VuaXVzLWZpZWxkLWRlbGV0ZS1idG4sXG4udGFzay1nZW5pdXMtdGFnLWRlbGV0ZS1idG4sXG4udGFzay1nZW5pdXMtcGF0aC1kZWxldGUtYnRuLFxuLnRhc2stZ2VuaXVzLWZvcm1hdC1kZWxldGUtYnRuIHtcblx0d2lkdGg6IDI4cHg7XG5cdGhlaWdodDogMjhweDtcblx0cGFkZGluZzogMDtcblx0Ym9yZGVyOiBub25lO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogMS4yZW07XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xufVxuXG4udGFzay1nZW5pdXMtZmllbGQtZGVsZXRlLWJ0bjpob3Zlcixcbi50YXNrLWdlbml1cy10YWctZGVsZXRlLWJ0bjpob3Zlcixcbi50YXNrLWdlbml1cy1wYXRoLWRlbGV0ZS1idG46aG92ZXIsXG4udGFzay1nZW5pdXMtZm9ybWF0LWRlbGV0ZS1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yLWhvdmVyKTtcbn1cblxuLnRhc2stZ2VuaXVzLWFkZC1maWVsZC1idG4sXG4udGFzay1nZW5pdXMtYWRkLXRhZy1idG4sXG4udGFzay1nZW5pdXMtYWRkLXBhdGgtYnRuLFxuLnRhc2stZ2VuaXVzLWFkZC1mb3JtYXQtYnRuIHtcblx0cGFkZGluZzogMC41cmVtIDFyZW07XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzO1xufVxuXG4udGFzay1nZW5pdXMtYWRkLWZpZWxkLWJ0bjpob3Zlcixcbi50YXNrLWdlbml1cy1hZGQtdGFnLWJ0bjpob3Zlcixcbi50YXNrLWdlbml1cy1hZGQtcGF0aC1idG46aG92ZXIsXG4udGFzay1nZW5pdXMtYWRkLWZvcm1hdC1idG46aG92ZXIge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4vKiBEYXRlIGZvcm1hdCBleGFtcGxlcyB0YWJsZSAqL1xuLnRhc2stZ2VuaXVzLWRhdGUtZXhhbXBsZXMge1xuXHRtYXJnaW4tdG9wOiAxcmVtO1xuXHRwYWRkaW5nOiAxcmVtO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcbn1cblxuLnRhc2stZ2VuaXVzLWRhdGUtZXhhbXBsZXMtdGFibGUge1xuXHR3aWR0aDogMTAwJTtcblx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLnRhc2stZ2VuaXVzLWRhdGUtZXhhbXBsZXMtdGFibGUgdGgge1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRwYWRkaW5nOiAwLjVyZW07XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLnRhc2stZ2VuaXVzLWRhdGUtZXhhbXBsZXMtdGFibGUgdGQge1xuXHRwYWRkaW5nOiAwLjRyZW0gMC41cmVtO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFzay1nZW5pdXMtZGF0ZS1leGFtcGxlcy10YWJsZSB0cjpsYXN0LWNoaWxkIHRkIHtcblx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLnRhc2stZ2VuaXVzLWRhdGUtZXhhbXBsZXMtdGFibGUgdHI6aG92ZXIgdGQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktYWx0KTtcbn1cblxuLnRhc2stZ2VuaXVzLWlmcmFtZS1tb2RhbCB7XG5cdHdpZHRoOiA5MCU7XG5cdG1heC13aWR0aDogMTQwMHB4O1xuXHRtYXgtaGVpZ2h0OiA5MHZoO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4udGFzay1nZW5pdXMtaWZyYW1lLW1vZGFsIC5tb2RhbC10aXRsZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG59XG5cbi50aW1lLXBhcnNpbmctZXhhbXBsZSB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtMi0yKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTIpO1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNpemUtNC0yKTtcblx0cGFkZGluZy1yaWdodDogdmFyKC0tc2l6ZS00LTIpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xufVxuXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmctaXRlbS1jb250cm9sIGlucHV0W3R5cGU9XCJ0aW1lXCJdIHtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcbn1cblxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5maWxlLXNvdXJjZS1zdHJhdGVneS1jb250YWluZXIge1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc2l6ZS00LTQpO1xufVxuXG5cbi5mbHVlbnQtdmlldy10YWJzLnRnLWluZGV4LXRhc2stc291cmNlLXN3aXRjaGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1zaXplLTItMyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTQpO1xuXHR3aWR0aDogZml0LWNvbnRlbnQ7XG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi50Zy1pbmRleC10YXNrLXNvdXJjZS1zd2l0Y2hlciAuZmx1ZW50LXZpZXctdGFiIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA2cHg7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRiYWNrZ3JvdW5kOiBub25lO1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XG59XG5cbi50Zy1pbmRleC10YXNrLXNvdXJjZS1zd2l0Y2hlciAuZmx1ZW50LXZpZXctdGFiOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRnLWluZGV4LXRhc2stc291cmNlLXN3aXRjaGVyIC5mbHVlbnQtdmlldy10YWIuaXMtYWN0aXZlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Ym94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLnRnLWluZGV4LXRhc2stc291cmNlLXN3aXRjaGVyIC5mbHVlbnQtdmlldy10YWItaWNvbiB7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRmb250LXNpemU6IDE0cHg7XG59XG5cbi50Zy1pbmRleC10YXNrLXNvdXJjZS1zd2l0Y2hlciAuZmx1ZW50LXZpZXctdGFiLWxhYmVsIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4iLCAiLyogQmV0YSB0ZXN0IHdhcm5pbmcgYmFubmVyIHN0eWxlcyAqL1xuLmJldGEtdGVzdC13YXJuaW5nLWJhbm5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRnYXA6IDEycHg7XG5cdHBhZGRpbmc6IDE2cHg7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLW9yYW5nZSk7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcbn1cblxuLmJldGEtd2FybmluZy1pY29uIHtcblx0Zm9udC1zaXplOiAyMHB4O1xuXHRsaW5lLWhlaWdodDogMTtcblx0ZmxleC1zaHJpbms6IDA7XG5cdG1hcmdpbi10b3A6IDJweDtcbn1cblxuLmJldGEtd2FybmluZy1jb250ZW50IHtcblx0ZmxleDogMTtcblx0bWluLXdpZHRoOiAwO1xufVxuXG4uYmV0YS13YXJuaW5nLXRpdGxlIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi5iZXRhLXdhcm5pbmctdGV4dCB7XG5cdGZvbnQtc2l6ZTogMTNweDtcblx0bGluZS1oZWlnaHQ6IDEuNDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuIiwgIi8qIFNldHRpbmdzIFNlYXJjaCBDb21wb25lbnQgU3R5bGVzICovXG5cbi8qIFx1NjQxQ1x1N0QyMlx1OEY5M1x1NTE2NVx1Njg0Nlx1NUJCOVx1NTY2OCAtIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTY4MDdcdTUxQzZcdThGOTNcdTUxNjVcdTY4NDZcdTY4MzdcdTVGMEYgKi9cbi50Zy1zZXR0aW5ncy1zZWFyY2gtaW5wdXQtY29udGFpbmVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnB1dC1iYWNrZ3JvdW5kKTtcblx0Ym9yZGVyOiB2YXIoLS1pbnB1dC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1pbi1vdXQ7XG5cdG1pbi1oZWlnaHQ6IHZhcigtLWlucHV0LWhlaWdodCk7XG59XG5cbi50Zy1zZXR0aW5ncy1zZWFyY2gtaW5wdXQtY29udGFpbmVyOmZvY3VzLXdpdGhpbiB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMik7XG59XG5cbi8qIFx1NjQxQ1x1N0QyMlx1NTZGRVx1NjgwNyAqL1xuLnRnLXNldHRpbmdzLXNlYXJjaC1pY29uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHBhZGRpbmc6IDAgdmFyKC0tc2l6ZS00LTIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4udGctc2V0dGluZ3Mtc2VhcmNoLWljb24gc3ZnIHtcblx0d2lkdGg6IHZhcigtLWljb24tcyk7XG5cdGhlaWdodDogdmFyKC0taWNvbi1zKTtcbn1cblxuLyogXHU2NDFDXHU3RDIyXHU4RjkzXHU1MTY1XHU2ODQ2IC0gXHU5MUNEXHU3RjZFIE9ic2lkaWFuIFx1OUVEOFx1OEJBNFx1NjgzN1x1NUYwRiAqL1xuLnRnLXNldHRpbmdzLXNlYXJjaC1pbnB1dCB7XG5cdGZsZXg6IDE7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKSB2YXIoLS1zaXplLTItMSk7XG5cdGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcblx0b3V0bGluZTogbm9uZTtcbn1cblxuaW5wdXQudGctc2V0dGluZ3Mtc2VhcmNoLWlucHV0IHtcblx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG5cdGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnRnLXNldHRpbmdzLXNlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG9wYWNpdHk6IDAuNztcbn1cblxuLyogXHU2RTA1XHU5NjY0XHU2MzA5XHU5NEFFIC0gXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NjMwOVx1OTRBRVx1NjgzN1x1NUYwRiAqL1xuLnRnLXNldHRpbmdzLXNlYXJjaC1jbGVhciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSk7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS0yLTEpO1xuXHRib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJ1dHRvbi1yYWRpdXMpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1pbi1vdXQ7XG5cdGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblx0ZmxleC1zaHJpbms6IDA7XG5cdHdpZHRoOiB2YXIoLS1jbGlja2FibGUtaWNvbi1zaXplKTtcblx0aGVpZ2h0OiB2YXIoLS1jbGlja2FibGUtaWNvbi1zaXplKTtcbn1cblxuLnRnLXNldHRpbmdzLXNlYXJjaC1jbGVhcjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpICFpbXBvcnRhbnQ7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50Zy1zZXR0aW5ncy1zZWFyY2gtY2xlYXI6YWN0aXZlIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUpICFpbXBvcnRhbnQ7XG59XG5cbi50Zy1zZXR0aW5ncy1zZWFyY2gtY2xlYXIgc3ZnIHtcblx0d2lkdGg6IHZhcigtLWljb24teHMpO1xuXHRoZWlnaHQ6IHZhcigtLWljb24teHMpO1xufVxuXG4vKiBcdTY0MUNcdTdEMjJcdTdFRDNcdTY3OUNcdTVCQjlcdTU2NjggLSBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU1RjM5XHU1MUZBXHU4M0RDXHU1MzU1XHU2ODM3XHU1RjBGICovXG4udGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdHMge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogY2FsYygxMDAlICsgdmFyKC0tc2l6ZS0yLTEpKTtcblx0bGVmdDogMDtcblx0cmlnaHQ6IDA7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LWwpO1xuXHR6LWluZGV4OiB2YXIoLS1sYXllci1wb3BvdmVyKTtcblx0bWF4LWhlaWdodDogMzIwcHg7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cblxuLyogXHU2NDFDXHU3RDIyXHU3RUQzXHU2NzlDXHU5ODc5IC0gXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1ODNEQ1x1NTM1NVx1OTg3OVx1NjgzN1x1NUYwRiAqL1xuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTMpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMgZWFzZS1pbi1vdXQ7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHQ6bGFzdC1jaGlsZCB7XG5cdGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0OmhvdmVyLFxuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHQtc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHQ6YWN0aXZlIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUpO1xufVxuXG4vKiBcdTY0MUNcdTdEMjJcdTdFRDNcdTY3OUNcdTU0MERcdTc5RjAgKi9cbi50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0LW5hbWUge1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTEpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcblx0bGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXRpZ2h0KTtcbn1cblxuLyogXHU2NDFDXHU3RDIyXHU3RUQzXHU2NzlDXHU1MTQzXHU0RkUxXHU2MDZGICovXG4udGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdC1tZXRhIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcbn1cblxuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHQtY2F0ZWdvcnkge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS0yLTIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xufVxuXG4vKiBcdTY0MUNcdTdEMjJcdTdFRDNcdTY3OUNcdTYzQ0ZcdThGRjAgKi9cbi50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0LWRlc2Mge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub3JtYWwpO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTItMSk7XG59XG5cbi8qIFx1NjVFMFx1N0VEM1x1Njc5Q1x1NzJCNlx1NjAwMSAqL1xuLnRnLXNldHRpbmdzLXNlYXJjaC1uby1yZXN1bHQge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCkgdmFyKC0tc2l6ZS00LTMpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyogXHU4QkJFXHU3RjZFXHU5ODc5XHU5QUQ4XHU0RUFFXHU2NTQ4XHU2NzlDICovXG4udGctc2V0dGluZ3Mtc2VhcmNoLWhpZ2hsaWdodCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KSAhaW1wb3J0YW50O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42cyBlYXNlLW91dDtcblx0YW5pbWF0aW9uOiB0Zy1zZXR0aW5ncy1zZWFyY2gtcHVsc2UgMC42cyBlYXNlLW91dDtcbn1cblxuQGtleWZyYW1lcyB0Zy1zZXR0aW5ncy1zZWFyY2gtcHVsc2Uge1xuXHQwJSB7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHR9XG5cdDUwJSB7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMS4wMSk7XG5cdH1cblx0MTAwJSB7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdH1cbn1cblxuLyogXHU5NTJFXHU3NkQ4XHU1QkZDXHU4MjJBXHU2MzA3XHU3OTNBXHU1NjY4ICovXG4udGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdC1zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpICFpbXBvcnRhbnQ7XG5cdG91dGxpbmU6IHZhcigtLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0b3V0bGluZS1vZmZzZXQ6IC0xcHg7XG59XG5cbi8qIFx1NTRDRFx1NUU5NFx1NUYwRlx1OEJCRVx1OEJBMSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0cyB7XG5cdFx0bWF4LWhlaWdodDogMjgwcHg7XG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHR9XG5cblx0LnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHQge1xuXHRcdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtMik7XG5cdH1cblxuXHQudGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdC1uYW1lIHtcblx0XHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHR9XG5cblx0LnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHQtY2F0ZWdvcnkge1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0XHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS0yLTEpO1xuXHR9XG59XG5cbi8qIFx1NkVEQVx1NTJBOFx1Njc2MVx1NjgzN1x1NUYwRiAtIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTY4MDdcdTUxQzZcdTZFREFcdTUyQThcdTY3NjEgKi9cbi50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0cyB7XG5cdHNjcm9sbGJhci13aWR0aDogdGhpbjtcblx0c2Nyb2xsYmFyLWNvbG9yOiB2YXIoLS1zY3JvbGxiYXItdGh1bWItYmcpIHRyYW5zcGFyZW50O1xufVxuXG4udGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdHM6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcblx0d2lkdGg6IHZhcigtLXNjcm9sbGJhci10aGluLXdpZHRoKTtcbn1cblxuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHRzOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4udGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdHM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcblx0YmFja2dyb3VuZDogdmFyKC0tc2Nyb2xsYmFyLXRodW1iLWJnKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tc2Nyb2xsYmFyLXRoaW4tdGh1bWItcmFkaXVzKTtcblx0Ym9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdGJhY2tncm91bmQtY2xpcDogY29udGVudC1ib3g7XG59XG5cbi50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0czo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1zY3JvbGxiYXItdGh1bWItYmctaG92ZXIpO1xuXHRiYWNrZ3JvdW5kLWNsaXA6IGNvbnRlbnQtYm94O1xufVxuXG4vKiBcdTRFMEVcdThCQkVcdTdGNkVcdTY4MDdcdTdCN0VcdTk4NzVcdTVCQjlcdTU2NjhcdTc2ODRcdTk1RjRcdThERERcdThDMDNcdTY1NzQgKi9cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFicy1jYXRlZ29yaXplZC1jb250YWluZXIge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMyk7XG59XG5cbi8qIFx1NEZFRVx1NTkwRFx1NTNFRlx1ODBGRFx1NzY4NCB6LWluZGV4IFx1OTVFRVx1OTg5OCAqL1xuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHRzIHtcblx0ei1pbmRleDogdmFyKC0tbGF5ZXItcG9wb3ZlciwgMjAwKTtcbn1cblxuLyogXHU3ODZFXHU0RkREXHU4RjkzXHU1MTY1XHU2ODQ2XHU4MDVBXHU3MTI2XHU2NUY2XHU3Njg0XHU2ODM3XHU1RjBGXHU2QjYzXHU3ODZFICovXG4udGctc2V0dGluZ3Mtc2VhcmNoLWlucHV0OmZvY3VzIHtcblx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG5cdG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcblx0Ym94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKiBcdTY0MUNcdTdEMjJcdTU2RkVcdTY4MDdcdTc2ODRcdTRFQTRcdTRFOTJcdTcyQjZcdTYwMDEgKi9cbi50Zy1zZXR0aW5ncy1zZWFyY2gtaWNvbiB7XG5cdHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0O1xufVxuXG4udGctc2V0dGluZ3Mtc2VhcmNoLWlucHV0LWNvbnRhaW5lcjpmb2N1cy13aXRoaW4gLnRnLXNldHRpbmdzLXNlYXJjaC1pY29uIHtcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi8qIFx1NkUwNVx1OTY2NFx1NjMwOVx1OTRBRVx1NzY4NFx1NTZGRVx1NjgwN1x1NjgzN1x1NUYwRiAqL1xuLnRnLXNldHRpbmdzLXNlYXJjaC1jbGVhciB7XG5cdG9wYWNpdHk6IDAuODtcbn1cblxuLnRnLXNldHRpbmdzLXNlYXJjaC1jbGVhcjpob3ZlciB7XG5cdG9wYWNpdHk6IDE7XG59XG4iLCAiLyogU2V0dGluZ3MgTWlncmF0aW9uIFN0eWxpbmcgKi9cblxuLnNldHRpbmctaXRlbS1pbmZvLm1vZC13YXJuaW5nIHtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0cGFkZGluZzogMTZweDtcblx0bWFyZ2luOiAxMnB4IDA7XG59XG5cbi5zZXR0aW5nLWl0ZW0taW5mby5tb2Qtd2FybmluZyAuc2V0dGluZy1pdGVtLW5hbWUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLnNldHRpbmctaXRlbS1pbmZvLm1vZC13YXJuaW5nIC5zZXR0aW5nLWl0ZW0tZGVzY3JpcHRpb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi1ib3R0b206IDEycHg7XG59XG5cbi5zZXR0aW5nLWl0ZW0taW5mby5tb2Qtd2FybmluZyAuc2V0dGluZy1pdGVtLWRlc2NyaXB0aW9uIHAge1xuXHRtYXJnaW46IDRweCAwO1xufVxuXG4uc2V0dGluZy1pdGVtLWluZm8ubW9kLXdhcm5pbmcgLnNldHRpbmctaXRlbS1jb250cm9sIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiA4cHg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5zZXR0aW5nLWl0ZW0taW5mby5tb2Qtd2FybmluZyBidXR0b24ubW9kLWN0YSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRwYWRkaW5nOiA4cHggMTZweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4uc2V0dGluZy1pdGVtLWluZm8ubW9kLXdhcm5pbmcgYnV0dG9uLm1vZC1jdGE6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xufVxuXG4uc2V0dGluZy1pdGVtLWluZm8ubW9kLXdhcm5pbmcgYnV0dG9uLm1vZC1tdXRlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRwYWRkaW5nOiA4cHggMTZweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4uc2V0dGluZy1pdGVtLWluZm8ubW9kLXdhcm5pbmcgYnV0dG9uLm1vZC1tdXRlZDpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4vKiBNaWdyYXRpb24gU3VjY2VzcyBJbmRpY2F0b3IgKi9cbi5zZXR0aW5nLWl0ZW0taW5mby5tb2Qtc3VjY2VzcyB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyZWVuLWJnKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItZ3JlZW4pO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdHBhZGRpbmc6IDE2cHg7XG5cdG1hcmdpbjogMTJweCAwO1xufVxuXG4uc2V0dGluZy1pdGVtLWluZm8ubW9kLXN1Y2Nlc3MgLnNldHRpbmctaXRlbS1uYW1lIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4vKiBGaWxlU291cmNlIEludGVncmF0aW9uIE5vdGljZSAqL1xuLmZpbGUtc291cmNlLW5vdGljZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRwYWRkaW5nOiAxMnB4O1xuXHRtYXJnaW46IDhweCAwO1xufVxuXG4uZmlsZS1zb3VyY2Utbm90aWNlIC5ub3RpY2UtdGl0bGUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRtYXJnaW4tYm90dG9tOiA0cHg7XG59XG5cbi5maWxlLXNvdXJjZS1ub3RpY2UgLm5vdGljZS1kZXNjcmlwdGlvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cbiIsICIvKiBXb3Jrc3BhY2UgU2V0dGluZ3MgU2VsZWN0b3IgU3R5bGVzICovXG5cbi8qIE1haW4gY29udGFpbmVyIGZvciB0aGUgaGVhZGVyIGJhciAqL1xuLnRnLXNldHRpbmdzLWhlYWRlci1iYXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDEycHg7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4vKiBDb250YWluZXIgZm9yIHdvcmtzcGFjZSBzZWxlY3RvciAqL1xuLnRnLXdvcmtzcGFjZS1zZWxlY3Rvci1jb250YWluZXIge1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLyogV29ya3NwYWNlIHNlbGVjdG9yIGJ1dHRvbiAqL1xuLndvcmtzcGFjZS1zZXR0aW5ncy1zZWxlY3RvciB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLndvcmtzcGFjZS1zZXR0aW5ncy1zZWxlY3Rvci1idXR0b24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDhweDtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZm9ybS1maWVsZCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xuXHRtaW4td2lkdGg6IDE1MHB4O1xuXHRoZWlnaHQ6IDM0cHg7IC8qIE1hdGNoIHNlYXJjaCBiYXIgaGVpZ2h0ICovXG59XG5cbi53b3Jrc3BhY2Utc2V0dGluZ3Mtc2VsZWN0b3ItYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4ud29ya3NwYWNlLXNldHRpbmdzLXNlbGVjdG9yLWJ1dHRvbjphY3RpdmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZS1ob3Zlcik7XG59XG5cbi8qIFdvcmtzcGFjZSBpY29uICovXG4ud29ya3NwYWNlLXNldHRpbmdzLXNlbGVjdG9yLWJ1dHRvbiAud29ya3NwYWNlLWljb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDIwcHg7XG5cdGhlaWdodDogMjBweDtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi53b3Jrc3BhY2Utc2V0dGluZ3Mtc2VsZWN0b3ItYnV0dG9uIC53b3Jrc3BhY2UtaWNvbiBzdmcge1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRmaWxsOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLyogV29ya3NwYWNlIG5hbWUgKi9cbi53b3Jrc3BhY2Utc2V0dGluZ3Mtc2VsZWN0b3ItYnV0dG9uIC53b3Jrc3BhY2UtbmFtZSB7XG5cdGZsZXg6IDE7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi8qIERyb3Bkb3duIGFycm93IGljb24gKi9cbi53b3Jrc3BhY2Utc2V0dGluZ3Mtc2VsZWN0b3ItYnV0dG9uIC53b3Jrc3BhY2UtZHJvcGRvd24taWNvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRmbGV4LXNocmluazogMDtcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi53b3Jrc3BhY2Utc2V0dGluZ3Mtc2VsZWN0b3ItYnV0dG9uIC53b3Jrc3BhY2UtZHJvcGRvd24taWNvbiBzdmcge1xuXHR3aWR0aDogMTJweDtcblx0aGVpZ2h0OiAxMnB4O1xuXHRmaWxsOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGVhc2U7XG59XG5cbi53b3Jrc3BhY2Utc2V0dGluZ3Mtc2VsZWN0b3ItYnV0dG9uOmhvdmVyIC53b3Jrc3BhY2UtZHJvcGRvd24taWNvbiBzdmcge1xuXHRmaWxsOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi8qIEFkanVzdCBzZWFyY2ggY29udGFpbmVyIHRvIHRha2UgcmVtYWluaW5nIHNwYWNlICovXG4udGctc2V0dGluZ3MtaGVhZGVyLWJhciAudGctc2V0dGluZ3Mtc2VhcmNoLWNvbnRhaW5lciB7XG5cdGZsZXg6IDE7XG5cdG1heC13aWR0aDogbm9uZTtcbn1cblxuLyogRW5zdXJlIHNlYXJjaCBpbnB1dCBjb250YWluZXIgZmlsbHMgd2lkdGggKi9cbi50Zy1zZXR0aW5ncy1oZWFkZXItYmFyIC50Zy1zZXR0aW5ncy1zZWFyY2gtaW5wdXQtY29udGFpbmVyIHtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi8qIE1haW4gY29udGFpbmVyIGFkanVzdG1lbnRzICovXG4udGctc2V0dGluZ3MtbWFpbi1jb250YWluZXIge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLyogRW5zdXJlIHNlYXJjaCByZXN1bHRzIGFwcGVhciBiZWxvdyB0aGUgaGVhZGVyIGJhciAqL1xuLnRnLXNldHRpbmdzLW1haW4tY29udGFpbmVyIC50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0cyB7XG5cdG1hcmdpbi10b3A6IDhweDtcbn1cblxuLyogTW9iaWxlIHJlc3BvbnNpdmUgYWRqdXN0bWVudHMgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQudGctc2V0dGluZ3MtaGVhZGVyLWJhciB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRhbGlnbi1pdGVtczogc3RyZXRjaDtcblx0XHRnYXA6IDhweDtcblx0fVxuXG5cdC53b3Jrc3BhY2Utc2V0dGluZ3Mtc2VsZWN0b3ItYnV0dG9uIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRtaW4td2lkdGg6IHVuc2V0O1xuXHR9XG5cblx0LnRnLXNldHRpbmdzLWhlYWRlci1iYXIgLnRnLXNldHRpbmdzLXNlYXJjaC1jb250YWluZXIge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG59XG4iLCAiLyogT25ib2FyZGluZyBDb21wb25lbnQgUHJldmlld3MgU3R5bGVzICovXG5cbi5vbmJvYXJkaW5nLXZpZXc6aGFzKC5jb21wb25lbnQtc2hvd2Nhc2UpIC5vbmJvYXJkaW5nLWNvbnRlbnQge1xuXHRvdmVyZmxvdy15OiBoaWRkZW47XG59XG5cbi5vbmJvYXJkaW5nLXZpZXc6aGFzKC5jb21wb25lbnQtc2hvd2Nhc2UpIC5vbmJvYXJkaW5nLWhlYWRlciB7XG5cdHBhZGRpbmc6IGNhbGModmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKSAqIDIpIHZhcigtLW9uYm9hcmRpbmctc3BhY2luZylcblx0XHR2YXIoLS1zaXplLTQtMikgdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAub25ib2FyZGluZy1oZWFkZXIge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5mbHVlbnQtdG9wLW5hdmlnYXRpb24uY29tcG9uZW50LXByZXZpZXcge1xuXHRvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4uZmx1ZW50LXNpZGViYXIuY29tcG9uZW50LXByZXZpZXcge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLmNvbXBvbmVudC1zaG93Y2FzZTpoYXMoXG5cdFx0LnRnLWZsdWVudC1jb250YWluZXIuY29tcG9uZW50LXByZXZpZXctc2lkZWJhclxuXHRcdFx0KyAudGctZmx1ZW50LWNvbnRhaW5lci5jb21wb25lbnQtcHJldmlldy10b3BuYXZcblx0KVxuXHQudGctZmx1ZW50LWNvbnRhaW5lciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG59XG5cbi50Zy1mbHVlbnQtY29udGFpbmVyLmNvbXBvbmVudC1wcmV2aWV3LXNpZGViYXIge1xuXHR3aWR0aDogMjAwcHg7XG5cdG1pbi13aWR0aDogMjAwcHg7XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLnRnLWZsdWVudC1jb250YWluZXIuY29tcG9uZW50LXByZXZpZXctdG9wbmF2IHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcbn1cblxuLyogQ29tcG9uZW50IHNob3djYXNlIGNvbnRhaW5lciAqL1xuLmNvbXBvbmVudC1zaG93Y2FzZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTYpO1xuXHRtYXJnaW46IHZhcigtLXNpemUtNC00KSAwO1xuXHRtaW4taGVpZ2h0OiA0MDBweDtcblx0bWluLXdpZHRoOiA5MCU7XG59XG5cbi5jb21wb25lbnQtc2hvd2Nhc2UtcHJldmlldyB7XG5cdGZsZXg6IDE7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCk7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4uY29tcG9uZW50LXNob3djYXNlLWRlc2NyaXB0aW9uIHtcblx0ZmxleDogMTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMyk7XG59XG5cbi5jb21wb25lbnQtc2hvd2Nhc2UtZGVzY3JpcHRpb24gaDMge1xuXHRtYXJnaW46IDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5jb21wb25lbnQtc2hvd2Nhc2UtZGVzY3JpcHRpb24gcCB7XG5cdG1hcmdpbjogMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRsaW5lLWhlaWdodDogMS42O1xufVxuXG4uY29tcG9uZW50LWZlYXR1cmUtbGlzdCB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdHBhZGRpbmc6IDA7XG5cdG1hcmdpbjogMDtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5jb21wb25lbnQtZmVhdHVyZS1saXN0IGxpIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uY29tcG9uZW50LWZlYXR1cmUtbGlzdCBsaTo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcdTI3MTNcIjtcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLyogQ29tcG9uZW50IHByZXZpZXcgYWRqdXN0bWVudHMgKi9cbi5jb21wb25lbnQtcHJldmlldyB7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLyogU2NhbGUgZG93biBwcmV2aWV3cyB0byBmaXQgKi9cbi5jb21wb25lbnQtcHJldmlldy1zaWRlYmFyIHtcblx0bWF4LXdpZHRoOiAzMDBweDtcbn1cblxuLmNvbXBvbmVudC1wcmV2aWV3LXBvcG92ZXIge1xuXHRtYXgtd2lkdGg6IDM1MHB4O1xufVxuXG4vKiBEaXNhYmxlIGludGVyYWN0aW9ucyBpbiBwcmV2aWV3cyAqL1xuLmNvbXBvbmVudC1wcmV2aWV3IGlucHV0LFxuLmNvbXBvbmVudC1wcmV2aWV3IGJ1dHRvbixcbi5jb21wb25lbnQtcHJldmlldyAuY2xpY2thYmxlLWljb24ge1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0Y3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vKiBDb21wb25lbnQgdGFicyBmb3Igc3dpdGNoaW5nIHZpZXdzICovXG4uY29tcG9uZW50LXRhYnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTQpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4uY29tcG9uZW50LXRhYiB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtNCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5jb21wb25lbnQtdGFiOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5jb21wb25lbnQtdGFiLmlzLWFjdGl2ZSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi8qIE11bHRpcGxlIGNvbXBvbmVudCBzaG93Y2FzZSAqL1xuLmNvbXBvbmVudHMtZ3JpZCB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXHRnYXA6IHZhcigtLXNpemUtNC04KTtcbn1cblxuLyogUmVzcG9uc2l2ZSBhZGp1c3RtZW50cyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC5jb21wb25lbnQtc2hvd2Nhc2Uge1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdH1cblxuXHQuY29tcG9uZW50LXNob3djYXNlLXByZXZpZXcge1xuXHRcdG1pbi1oZWlnaHQ6IDMwMHB4O1xuXHR9XG59XG5cbi8qIEZpbGUgZmlsdGVyIHByZXZpZXcgc3R5bGVzICovXG4uZmlsZS1maWx0ZXItcHJldmlldyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS00LTQpO1xufVxuXG4uZmlsZS1maWx0ZXItY29uZmlnIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLmZpbGUtZmlsdGVyLXN0YXRzLXByZXZpZXcge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IHZhcigtLXNpemUtNC00KTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcbn1cblxuLmZpbHRlci1zdGF0LWl0ZW0ge1xuXHRmbGV4OiAxO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5maWx0ZXItc3RhdC12YWx1ZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1sYXJnZXIpO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuLmZpbHRlci1zdGF0LWxhYmVsIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTEpO1xufVxuXG4vKiBSZWNvbW1lbmRlZCBjb25maWdzICovXG4ucmVjb21tZW5kZWQtY29uZmlncyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtNCk7XG59XG5cbi5yZWNvbW1lbmRlZC1jb25maWctaXRlbSB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4ucmVjb21tZW5kZWQtY29uZmlnLWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4ucmVjb21tZW5kZWQtY29uZmlnLWl0ZW0gaDQge1xuXHRtYXJnaW46IDAgMCB2YXIoLS1zaXplLTQtMikgMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XG59XG5cbi5yZWNvbW1lbmRlZC1jb25maWctaXRlbSBwIHtcblx0bWFyZ2luOiAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG59XG5cbi5jb21wb25lbnQtc2hvd2Nhc2UtcHJldmlldy50Zy1mbHVlbnQtY29udGFpbmVyLmNvbXBvbmVudC1wcmV2aWV3LXNpZGViYXJcblx0LmZsdWVudC1zaWRlYmFyIHtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi8qIFByZXZpZXcgaW50ZXJhY3Rpdml0eSAoc2NvcGVkIHRvIHByZXZpZXcgb25seSkgKi9cbi5jb21wb25lbnQtc2hvd2Nhc2UtcHJldmlldyAuY29tcG9uZW50LXByZXZpZXctc2lkZWJhciAuZmx1ZW50LW5hdmlnYXRpb24taXRlbSxcbi5jb21wb25lbnQtc2hvd2Nhc2UtcHJldmlldyAuY29tcG9uZW50LXByZXZpZXctc2lkZWJhciAuZmx1ZW50LXByb2plY3QtaXRlbSB7XG5cdHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdG91dGxpbmU6IG5vbmU7XG59XG5cbi5jb21wb25lbnQtc2hvd2Nhc2UtcHJldmlld1xuXHQuY29tcG9uZW50LXByZXZpZXctc2lkZWJhclxuXHQuZmx1ZW50LW5hdmlnYXRpb24taXRlbS5pcy1hY3RpdmUsXG4uY29tcG9uZW50LXNob3djYXNlLXByZXZpZXdcblx0LmNvbXBvbmVudC1wcmV2aWV3LXNpZGViYXJcblx0LmZsdWVudC1wcm9qZWN0LWl0ZW0uaXMtYWN0aXZlIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcbn1cblxuLmNvbXBvbmVudC1zaG93Y2FzZS1wcmV2aWV3XG5cdC5jb21wb25lbnQtcHJldmlldy1zaWRlYmFyXG5cdC5mbHVlbnQtbmF2aWdhdGlvbi1pdGVtOmZvY3VzLXZpc2libGUsXG4uY29tcG9uZW50LXNob3djYXNlLXByZXZpZXdcblx0LmNvbXBvbmVudC1wcmV2aWV3LXNpZGViYXJcblx0LmZsdWVudC1wcm9qZWN0LWl0ZW06Zm9jdXMtdmlzaWJsZSB7XG5cdGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG59XG5cbi8qIEZvY3VzL0RpbSBtb2RlIGZvciBzdGVwIGhpZ2hsaWdodHMgKi9cbi5jb21wb25lbnQtc2hvd2Nhc2UtcHJldmlldy5mb2N1cy1tb2RlIC5pcy1kaW1tZWQge1xuXHRvcGFjaXR5OiAwLjU7XG5cdGZpbHRlcjogZ3JheXNjYWxlKDE1JSk7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uY29tcG9uZW50LXNob3djYXNlLXByZXZpZXcuZm9jdXMtbW9kZSAuaXMtZm9jdXNlZCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0b3V0bGluZTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWFjY2VudCk7XG5cdG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHotaW5kZXg6IDE7XG59XG5cbi5jb21wb25lbnQtc2hvd2Nhc2U6aGFzKC5mbHVlbnQtdG9wLW5hdmlnYXRpb24pOm5vdChcblx0XHQ6aGFzKC5jb21wb25lbnQtcHJldmlldy1zaWRlYmFyKVxuXHQpIHtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmNvbXBvbmVudC1zaG93Y2FzZS1wcmV2aWV3LmZvY3VzLW1vZGUudGctZmx1ZW50LWNvbnRhaW5lci5jb21wb25lbnQtcHJldmlldy10b3BuYXYge1xuXHRmbGV4OiB1bnNldDtcblx0aGVpZ2h0OiBtYXgtY29udGVudDtcbn1cblxuLmZsdWVudC10b3AtbmF2aWdhdGlvbi5jb21wb25lbnQtcHJldmlldy5pcy1mb2N1c2VkIHtcblx0b3V0bGluZTogdW5zZXQ7XG59XG5cbi5jb21wb25lbnQtc2hvd2Nhc2UtcHJldmlldzpoYXMoXG5cdFx0LmNvbXBvbmVudC1wcmV2aWV3LXNpZGViYXIgKyAuY29tcG9uZW50LXByZXZpZXctdG9wbmF2XG5cdClcblx0LmNvbXBvbmVudC1wcmV2aWV3LXNpZGViYXIge1xuXHRib3JkZXItdG9wOiB1bnNldDtcbn1cblxuLmNvbXBvbmVudC1zaG93Y2FzZTpoYXMoXG5cdFx0LnRnLWZsdWVudC1jb250YWluZXIuY29tcG9uZW50LXByZXZpZXctc2lkZWJhclxuXHRcdFx0KyAudGctZmx1ZW50LWNvbnRhaW5lci5jb21wb25lbnQtcHJldmlldy10b3BuYXZcblx0KVxuXHQudGctZmx1ZW50LWNvbnRhaW5lci5jb21wb25lbnQtcHJldmlldy10b3BuYXYge1xuXHRib3JkZXItdG9wOiB1bnNldDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcbn1cblxuLm9uYm9hcmRpbmctY29udGVudCAucmVzb3VyY2VzLXNlY3Rpb24ge1xuXHR3aWR0aDogMTAwJTtcbn1cbiIsICIvKiBQbGFjZW1lbnQgUHJldmlldyBTdHlsZXMgKi9cblxuLnBsYWNlbWVudC1wcmV2aWV3IHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMmZyIDFmcjtcblx0Z2FwOiAycHg7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcblx0aGVpZ2h0OiAxODBweDtcblx0d2lkdGg6IDEwMCU7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLyogU2lkZWJhcnMgKi9cbi5wbGFjZW1lbnQtc2lkZWJhciB7XG5cdGJvcmRlci1yYWRpdXM6IDJweDtcblx0cGFkZGluZzogNHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDJweDtcbn1cblxuLnBsYWNlbWVudC1zaWRlYmFyLWFjdGl2ZSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdG9wYWNpdHk6IDAuNDtcbn1cblxuLnBsYWNlbWVudC1zaWRlYmFyLWluYWN0aXZlIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRvcGFjaXR5OiAwLjM7XG59XG5cbi8qIFNpZGViYXIgaXRlbXMgKi9cbi5wbGFjZW1lbnQtc2lkZWJhci1pdGVtIHtcblx0aGVpZ2h0OiA2cHg7XG5cdGJvcmRlci1yYWRpdXM6IDFweDtcbn1cblxuLnBsYWNlbWVudC1zaWRlYmFyLWl0ZW0tYWN0aXZlIHtcblx0YmFja2dyb3VuZDogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRvcGFjaXR5OiAwLjM7XG59XG5cbi5wbGFjZW1lbnQtc2lkZWJhci1pdGVtLWluYWN0aXZlIHtcblx0YmFja2dyb3VuZDogdmFyKC0tdGV4dC1mYWludCk7XG5cdG9wYWNpdHk6IDAuMjtcbn1cblxuLyogUmlnaHQgc2lkZWJhciBpdGVtcyAoc21hbGxlcikgKi9cbi5wbGFjZW1lbnQtc2lkZWJhci1pdGVtLXNtYWxsIHtcblx0aGVpZ2h0OiA1cHg7XG59XG5cbi8qIENlbnRlciBhcmVhICovXG4ucGxhY2VtZW50LWNlbnRlciB7XG5cdGJvcmRlci1yYWRpdXM6IDJweDtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLnBsYWNlbWVudC1jZW50ZXItYWN0aXZlIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0b3BhY2l0eTogMC40O1xufVxuXG4vKiBUYWIgYmFyICovXG4ucGxhY2VtZW50LXRhYi1iYXIge1xuXHRoZWlnaHQ6IDE2cHg7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBhZGRpbmc6IDJweCA0cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogMnB4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ucGxhY2VtZW50LXRhYiB7XG5cdHdpZHRoOiAyNHB4O1xuXHRoZWlnaHQ6IDEwcHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0b3BhY2l0eTogMC4zO1xuXHRib3JkZXItcmFkaXVzOiAxcHg7XG59XG5cbi5wbGFjZW1lbnQtdGFiLWFjdGl2ZSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0b3BhY2l0eTogMC41O1xufVxuXG4vKiBDb250ZW50IGFyZWEgKi9cbi5wbGFjZW1lbnQtY29udGVudCB7XG5cdGZsZXg6IDE7XG5cdHBhZGRpbmc6IDZweDtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiA0cHg7XG59XG5cbi5wbGFjZW1lbnQtY29udGVudC1saW5lIHtcblx0aGVpZ2h0OiA4cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0b3BhY2l0eTogMC4zO1xuXHRib3JkZXItcmFkaXVzOiAxcHg7XG59XG4iLCAiLyogRmlsZSBGaWx0ZXIgU2V0dGluZ3MgU3R5bGVzICovXG5cbi5maWxlLWZpbHRlci1ydWxlcy1jb250YWluZXIge1xuXHRtYXJnaW4tdG9wOiAxcmVtO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0cGFkZGluZzogMXJlbTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG4uZmlsZS1maWx0ZXItcnVsZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMXJlbTtcblx0cGFkZGluZzogMC43NXJlbTtcblx0bWFyZ2luLWJvdHRvbTogMC41cmVtO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0b3ZlcmZsb3cteDogYXV0bztcbn1cblxuLmZpbGUtZmlsdGVyLXJ1bGU6bGFzdC1jaGlsZCB7XG5cdG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5maWxlLWZpbHRlci1ydWxlLXR5cGUsXG4uZmlsZS1maWx0ZXItcnVsZS1wYXRoLFxuLmZpbGUtZmlsdGVyLXJ1bGUtc2NvcGUsXG4uZmlsZS1maWx0ZXItcnVsZS1lbmFibGVkIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAwLjI1cmVtO1xufVxuXG4uZmlsZS1maWx0ZXItcnVsZS10eXBlIHtcblx0bWluLXdpZHRoOiA4MHB4O1xufVxuXG4uZmlsZS1maWx0ZXItcnVsZS1wYXRoIHtcblx0ZmxleDogMTtcbn1cblxuLmZpbGUtZmlsdGVyLXJ1bGUtZW5hYmxlZCB7XG5cdG1pbi13aWR0aDogNjBweDtcbn1cblxuLmZpbGUtZmlsdGVyLXJ1bGUgbGFiZWwge1xuXHRmb250LXNpemU6IDAuOHJlbTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4uZmlsZS1maWx0ZXItcnVsZSBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG5cdHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1zaXplOiAwLjlyZW07XG59XG5cbi5maWxlLWZpbHRlci1ydWxlIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG59XG5cbi5maWxlLWZpbHRlci1ydWxlLWRlbGV0ZSB7XG5cdHBhZGRpbmc6IDAuMjVyZW07XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRtaW4td2lkdGg6IDI4cHg7XG5cdGhlaWdodDogMjhweDtcbn1cblxuLmZpbGUtZmlsdGVyLWFkZC1ydWxlIHtcblx0bWFyZ2luLXRvcDogMXJlbTtcbn1cblxuLmZpbGUtZmlsdGVyLWFkZC1ydWxlIC5zZXR0aW5nLWl0ZW0ge1xuXHRib3JkZXI6IG5vbmU7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi5maWxlLWZpbHRlci1hZGQtcnVsZSAuc2V0dGluZy1pdGVtLWNvbnRyb2wge1xuXHRnYXA6IDAuNXJlbTtcbn1cblxuLmZpbGUtZmlsdGVyLWFkZC1ydWxlICsgLnNldHRpbmctaXRlbSB7XG5cdGJvcmRlci10b3A6IG5vbmU7XG59XG5cbi5maWxlLWZpbHRlci1zdGF0cyB7XG5cdG1hcmdpbi10b3A6IDEuNXJlbTtcblx0cGFkZGluZzogMXJlbTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbn1cblxuLmZpbGUtZmlsdGVyLXN0YXQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDAuMjVyZW0gMDtcbn1cblxuLmZpbGUtZmlsdGVyLXN0YXQ6bm90KDpsYXN0LWNoaWxkKSB7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG5cdHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG59XG5cbi5zdGF0LWxhYmVsIHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnN0YXQtdmFsdWUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLyogRXJyb3Igc3RhdGUgZm9yIHN0YXRpc3RpY3MgKi9cbi5maWxlLWZpbHRlci1zdGF0LmVycm9yIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi5maWxlLWZpbHRlci1zdGF0LmVycm9yIC5zdGF0LWxhYmVsIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4vKiBSZWZyZXNoIGJ1dHRvbiBzdHlsaW5nICovXG4uc2V0dGluZy1pdGVtIC5zZXR0aW5nLWl0ZW0tY29udHJvbCBidXR0b25bYXJpYS1sYWJlbCo9XCJyZWZyZXNoXCJdIHtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcbn1cblxuLnNldHRpbmctaXRlbSAuc2V0dGluZy1pdGVtLWNvbnRyb2wgYnV0dG9uW2FyaWEtbGFiZWwqPVwicmVmcmVzaFwiXTpob3ZlciB7XG5cdHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbn1cblxuLyogTG9hZGluZyBzdGF0ZSBhbmltYXRpb24gKi9cbkBrZXlmcmFtZXMgcmVmcmVzaC1zcGluIHtcblx0ZnJvbSB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG5cdH1cblx0dG8ge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG5cdH1cbn1cblxuLnNldHRpbmctaXRlbSAuc2V0dGluZy1pdGVtLWNvbnRyb2wgYnV0dG9uW2Rpc2FibGVkXSAubHVjaWRlLXJlZnJlc2gtY3cge1xuXHRhbmltYXRpb246IHJlZnJlc2gtc3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbi8qIFJlc3BvbnNpdmUgZGVzaWduIGZvciBzbWFsbGVyIHNjcmVlbnMgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQuZmlsZS1maWx0ZXItcnVsZSB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRhbGlnbi1pdGVtczogc3RyZXRjaDtcblx0XHRnYXA6IDAuNXJlbTtcblx0fVxuXG5cdC5maWxlLWZpbHRlci1ydWxlLXR5cGUsXG5cdC5maWxlLWZpbHRlci1ydWxlLXBhdGgsXG5cdC5maWxlLWZpbHRlci1ydWxlLWVuYWJsZWQge1xuXHRcdG1pbi13aWR0aDogYXV0bztcblx0fVxuXG5cdC5maWxlLWZpbHRlci1ydWxlLWRlbGV0ZSB7XG5cdFx0YWxpZ24tc2VsZjogZmxleC1lbmQ7XG5cdFx0bWFyZ2luLXRvcDogMC41cmVtO1xuXHR9XG59XG5cbi8qIERhcmsgdGhlbWUgYWRqdXN0bWVudHMgKi9cbi50aGVtZS1kYXJrIC5maWxlLWZpbHRlci1ydWxlIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4udGhlbWUtZGFyayAuZmlsZS1maWx0ZXItcnVsZSBpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cyB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi8qIEVtcHR5IHN0YXRlIHN0eWxpbmcgKi9cbi5maWxlLWZpbHRlci1ydWxlcy1jb250YWluZXI6ZW1wdHk6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiTm8gZmlsdGVyIHJ1bGVzIGNvbmZpZ3VyZWQuIEFkZCBydWxlcyBiZWxvdyB0byBzdGFydCBmaWx0ZXJpbmcgZmlsZXMgYW5kIGZvbGRlcnMuXCI7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRwYWRkaW5nOiAycmVtO1xufVxuXG4vKiBQcmVzZXQgdGVtcGxhdGVzIHNlY3Rpb24gKi9cbi5maWxlLWZpbHRlci1wcmVzZXQtY29udGFpbmVyIHtcblx0bWFyZ2luLXRvcDogMXJlbTtcblx0cGFkZGluZzogMXJlbTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbn1cblxuLmZpbGUtZmlsdGVyLXByZXNldC1jb250YWluZXIgLnNldHRpbmctaXRlbSB7XG5cdGJvcmRlcjogbm9uZTtcblx0cGFkZGluZzogMC41cmVtIDA7XG59XG5cbi5maWxlLWZpbHRlci1wcmVzZXQtY29udGFpbmVyIC5zZXR0aW5nLWl0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi8qIFByZXNldCBidXR0b24gc3R5bGluZyAqL1xuLmZpbGUtZmlsdGVyLXByZXNldC1jb250YWluZXIgYnV0dG9uIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4uZmlsZS1maWx0ZXItcHJlc2V0LWNvbnRhaW5lciBidXR0b246ZGlzYWJsZWQge1xuXHRvcGFjaXR5OiAwLjY7XG5cdGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4uZmlsZS1maWx0ZXItcHJlc2V0LWNvbnRhaW5lciBidXR0b246bm90KDpkaXNhYmxlZCk6aG92ZXIge1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zKTtcbn1cblxuLyogU3VjY2VzcyBzdGF0ZSBmb3IgYXBwbGllZCBwcmVzZXRzICovXG4uZmlsZS1maWx0ZXItcHJlc2V0LWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItZ3JlZW4pO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcbn1cblxuLnRoZW1lLWRhcmsgLmZpbGUtZmlsdGVyLXByZXNldC1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWdyZWVuLXJnYik7XG5cdG9wYWNpdHk6IDAuODtcbn1cblxuLmZpbGUtZmlsdGVyLXJ1bGUtZWRpdG9yLW1vZGFsIHtcblx0bWF4LXdpZHRoOiA4MDBweDtcblx0d2lkdGg6IDkwdnc7XG59XG4iLCAiLyogXHU0RTYwXHU2MEVGXHU3RjE2XHU4RjkxXHU1RjM5XHU3QTk3XHU2ODM3XHU1RjBGICovXG5cbi5oYWJpdC1lZGl0LWRpYWxvZyB7XG5cdG1heC13aWR0aDogNjAwcHg7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uaGFiaXQtZWRpdC1kaWFsb2cgLm1vZGFsLWNvbnRlbnQge1xuXHRwYWRkaW5nOiAyMHB4O1xufVxuXG4vKiBcdTRFNjBcdTYwRUZcdTdDN0JcdTU3OEJcdTkwMDlcdTYyRTlcdTU2NjggKi9cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1zZWxlY3RvciB7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1kZXNjcmlwdGlvbiB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1ncmlkIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcblx0Z2FwOiAxMHB4O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTAwcHgpIHtcblx0LmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLWdyaWQge1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXHR9XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0cGFkZGluZzogMTJweDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXR5cGUtaXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXR5cGUtaXRlbS5zZWxlY3RlZCB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLWljb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDQwcHg7XG5cdGhlaWdodDogNDBweDtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1pY29uIHN2ZyB7XG5cdHdpZHRoOiAyMHB4O1xuXHRoZWlnaHQ6IDIwcHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS10ZXh0IHtcblx0ZmxleDogMTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLW5hbWUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRtYXJnaW4tYm90dG9tOiA0cHg7XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1kZXNjIHtcblx0Zm9udC1zaXplOiAwLjg1ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLyogXHU5MDFBXHU3NTI4XHU4ODY4XHU1MzU1XHU2ODM3XHU1RjBGICovXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LWNvbW1vbi1mb3JtLFxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLWZvcm0ge1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4vKiBcdTU2RkVcdTY4MDdcdTk4ODRcdTg5QzggKi9cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtaWNvbi1wcmV2aWV3IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiAzMHB4O1xuXHRoZWlnaHQ6IDMwcHg7XG5cdG1hcmdpbi1sZWZ0OiAxMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtaWNvbi1wcmV2aWV3IHN2ZyB7XG5cdHdpZHRoOiAxOHB4O1xuXHRoZWlnaHQ6IDE4cHg7XG59XG5cbi8qIFx1NjYyMFx1NUMwNFx1N0YxNlx1OEY5MVx1NTY2OCAqL1xuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1tYXBwaW5nLWNvbnRhaW5lciB7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRwYWRkaW5nOiAxMHB4O1xuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRtYXJnaW4tdG9wOiA1cHg7XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtbWFwcGluZy1yb3cge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtbWFwcGluZy1rZXkge1xuXHR3aWR0aDogODBweDtcblx0bWFyZ2luLXJpZ2h0OiA1cHg7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtbWFwcGluZy1hcnJvdyB7XG5cdG1hcmdpbjogMCAxMHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtbWFwcGluZy12YWx1ZSB7XG5cdGZsZXg6IDE7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS00LTQpO1xufVxuXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LW1hcHBpbmctZGVsZXRlIHtcblx0YmFja2dyb3VuZDogbm9uZTtcblx0Ym9yZGVyOiBub25lO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Zm9udC1zaXplOiAxLjJlbTtcblx0cGFkZGluZzogMCA4cHg7XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtYWRkLW1hcHBpbmctYnV0dG9uIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi8qIFx1NEU4Qlx1NEVGNlx1N0YxNlx1OEY5MVx1NTY2OCAqL1xuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1ldmVudHMtY29udGFpbmVyIHtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHBhZGRpbmc6IDEwcHg7XG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdG1hcmdpbi10b3A6IDVweDtcbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1ldmVudC1yb3cge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRtYXJnaW4tYm90dG9tOiA4cHg7XG5cdGdhcDogNXB4O1xufVxuXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LWV2ZW50LW5hbWUge1xuXHR3aWR0aDogMTIwcHg7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtZXZlbnQtZGV0YWlscyB7XG5cdGZsZXg6IDE7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtZXZlbnQtcHJvcGVydHkge1xuXHR3aWR0aDogMTIwcHg7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtZXZlbnQtZGVsZXRlIHtcblx0YmFja2dyb3VuZDogbm9uZTtcblx0Ym9yZGVyOiBub25lO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Zm9udC1zaXplOiAxLjJlbTtcblx0cGFkZGluZzogMCA4cHg7XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtYWRkLWV2ZW50LWJ1dHRvbiB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRwYWRkaW5nOiA2cHggMTJweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuXG4vKiBcdTYzMDlcdTk0QUVcdTVCQjlcdTU2NjggKi9cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtZWRpdC1idXR0b25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0Z2FwOiAxMHB4O1xuXHRtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LWNhbmNlbC1idXR0b24ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHBhZGRpbmc6IDhweCAxNnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtc2F2ZS1idXR0b24ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0cGFkZGluZzogOHB4IDE2cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLyogXHU4RjkzXHU1MTY1XHU1QjU3XHU2QkI1ICovXG4uaGFiaXQtZWRpdC1kaWFsb2cgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4uaGFiaXQtZWRpdC1kaWFsb2cgaW5wdXRbdHlwZT1cIm51bWJlclwiXSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRwYWRkaW5nOiA2cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1pdGVtLnNlbGVjdGVkIC5oYWJpdC10eXBlLWRlc2MsXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXR5cGUtaXRlbS5zZWxlY3RlZCAuaGFiaXQtdHlwZS1uYW1lIHtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cbiIsICIvKiBcdTRFNjBcdTYwRUZcdTUyMTdcdTg4NjhcdTVCQjlcdTU2NjggKi9cbi5oYWJpdC1saXN0LWNvbnRhaW5lciB7XG5cdHBhZGRpbmc6IDEycHg7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uaGFiaXQtc2V0dGluZ3MtY29udGFpbmVyIHtcblx0cGFkZGluZy10b3A6IDEycHg7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi8qIFx1NkRGQlx1NTJBMFx1NjMwOVx1OTRBRSAqL1xuLmhhYml0LWFkZC1idXR0b24tY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0bWFyZ2luLWJvdHRvbTogMTZweDtcbn1cblxuLmhhYml0LWFkZC1idXR0b24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDZweDtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXNpemU6IDE0cHg7XG59XG5cbi5oYWJpdC1hZGQtYnV0dG9uIHN2ZyB7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG59XG5cbi8qIFx1NEU2MFx1NjBFRlx1NTIxN1x1ODg2OFx1NEUzQVx1N0E3QVx1NzJCNlx1NjAwMSAqL1xuLmhhYml0LWVtcHR5LXN0YXRlIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1pbi1oZWlnaHQ6IDIwMHB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDIwcHg7XG5cdGJvcmRlcjogMXB4IGRhc2hlZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG4uaGFiaXQtZW1wdHktc3RhdGUgaDIge1xuXHRtYXJnaW46IDAgMCAxMHB4IDA7XG5cdGZvbnQtc2l6ZTogMS4yZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5oYWJpdC1lbXB0eS1zdGF0ZSBwIHtcblx0bWFyZ2luOiAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi8qIFx1NEU2MFx1NjBFRlx1OTg3OVx1NTIxN1x1ODg2OCAqL1xuLmhhYml0LWl0ZW1zLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMTBweDtcbn1cblxuLyogXHU0RTYwXHU2MEVGXHU5ODc5ICovXG4uaGFiaXQtaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDEycHg7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGhlaWdodDogNy41cmVtO1xufVxuXG4uaGFiaXQtaXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4vKiBcdTRFNjBcdTYwRUZcdTU2RkVcdTY4MDcgKi9cbi5oYWJpdC1pdGVtLWljb24ge1xuXHQtLWljb24tc2l6ZTogMjBweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiA0OHB4O1xuXHRoZWlnaHQ6IDQ4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0bWFyZ2luLXJpZ2h0OiAxMnB4O1xufVxuXG4uaGFiaXQtaXRlbS1pY29uIHN2ZyB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi8qIFx1NEU2MFx1NjBFRlx1NEZFMVx1NjA2RiAqL1xuLmhhYml0LWl0ZW0taW5mbyB7XG5cdGZsZXg6IDE7XG5cdG1pbi13aWR0aDogMDsgLyogXHU5NjMyXHU2QjYyXHU1MTg1XHU1QkI5XHU4RkM3XHU5NTdGXHU2NDkxXHU1RjAwXHU1RTAzXHU1QzQwICovXG59XG5cbi5oYWJpdC1pdGVtLW5hbWUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRtYXJnaW4tYm90dG9tOiA0cHg7XG5cdGZvbnQtc2l6ZTogMTZweDtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5oYWJpdC1pdGVtLWRlc2NyaXB0aW9uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDEycHg7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRtYXJnaW4tYm90dG9tOiA0cHg7XG59XG5cbi5oYWJpdC1pdGVtLXR5cGUge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdGZvbnQtc2l6ZTogMTFweDtcblx0cGFkZGluZzogMnB4IDZweDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLyogXHU0RTYwXHU2MEVGXHU2NENEXHU0RjVDXHU2MzA5XHU5NEFFICovXG4uaGFiaXQtaXRlbS1hY3Rpb25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiA4cHg7XG5cdG1hcmdpbi1sZWZ0OiAxMnB4O1xufVxuXG4uaGFiaXQtZWRpdC1idXR0b24sXG4uaGFiaXQtZGVsZXRlLWJ1dHRvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogMzJweDtcblx0aGVpZ2h0OiAzMnB4O1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0cGFkZGluZzogMDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uaGFiaXQtZWRpdC1idXR0b246aG92ZXIsXG4uaGFiaXQtZGVsZXRlLWJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4uaGFiaXQtZWRpdC1idXR0b24gc3ZnLFxuLmhhYml0LWRlbGV0ZS1idXR0b24gc3ZnIHtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4uaGFiaXQtZGVsZXRlLWJ1dHRvbjpob3ZlciBzdmcge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi8qIFx1NEU2MFx1NjBFRlx1NTIyMFx1OTY2NFx1NUJGOVx1OEJERFx1Njg0Nlx1NjgzN1x1NUYwRiAqL1xuLmhhYml0LWRlbGV0ZS1tb2RhbC1idXR0b25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0Z2FwOiAxMHB4O1xuXHRtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4uaGFiaXQtZGVsZXRlLWJ1dHRvbi1jb25maXJtIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGNvbG9yOiAjZmZmO1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0cGFkZGluZzogOHB4IDE2cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cbiIsICIvKiBJQ1MgU2V0dGluZ3MgU3R5bGVzICovXG5cbi8qIE1haW4gY29udGFpbmVyICovXG4uaWNzLXNldHRpbmdzLWNvbnRhaW5lciB7XG5cdG1heC13aWR0aDogODAwcHg7XG5cdG1hcmdpbjogMCBhdXRvO1xufVxuXG4vKiBIZWFkZXIgc2VjdGlvbiAqL1xuLmljcy1oZWFkZXItY29udGFpbmVyIHtcblx0bWFyZ2luLWJvdHRvbTogMnJlbTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0cGFkZGluZy1ib3R0b206IDFyZW07XG59XG5cbi5pY3MtYmFjay1idXR0b24ge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXI6IG5vbmU7XG5cdHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLmljcy1iYWNrLWJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cblxuLmljcy1kZXNjcmlwdGlvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWFyZ2luLXRvcDogMC41cmVtO1xuXHRsaW5lLWhlaWdodDogMS41O1xufVxuXG4vKiBHbG9iYWwgc2V0dGluZ3MgKi9cbi5pY3MtZ2xvYmFsLXNldHRpbmdzIHtcblx0bWFyZ2luLWJvdHRvbTogMnJlbTtcblx0cGFkZGluZzogMS41cmVtO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG4vKiBTb3VyY2VzIGxpc3QgKi9cbi5pY3Mtc291cmNlcy1saXN0IHtcblx0bWFyZ2luLXRvcDogMS41cmVtO1xufVxuXG4uaWNzLXNvdXJjZXMtbGlzdCBoMyB7XG5cdG1hcmdpbi1ib3R0b206IDFyZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5pY3Mtc291cmNlLWl0ZW0ge1xuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHRwYWRkaW5nOiAxLjVyZW07XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4uaWNzLXNvdXJjZS1pdGVtOmhvdmVyIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctcyk7XG59XG5cbi5pY3Mtc291cmNlLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuLmljcy1zb3VyY2UtdGl0bGUgc3Ryb25nIHtcblx0Zm9udC1zaXplOiAxLjFlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmljcy1zb3VyY2Utc3RhdHVzIHtcblx0cGFkZGluZzogMC4zcmVtIDAuOHJlbTtcblx0Ym9yZGVyLXJhZGl1czogMTJweDtcblx0Zm9udC1zaXplOiAwLjc1ZW07XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGxldHRlci1zcGFjaW5nOiAwLjVweDtcbn1cblxuLnN0YXR1cy1lbmFibGVkIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItZ3JlZW4pO1xuXHRjb2xvcjogd2hpdGU7XG59XG5cbi5zdGF0dXMtZGlzYWJsZWQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1yZWQpO1xuXHRjb2xvcjogd2hpdGU7XG59XG5cbi5pY3Mtc291cmNlLWRldGFpbHMge1xuXHRtYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLmljcy1zb3VyY2UtZGV0YWlscyBkaXYge1xuXHRtYXJnaW4tYm90dG9tOiAwLjRyZW07XG59XG5cbi8qIEFjdGlvbiBidXR0b25zICovXG4uaWNzLXNvdXJjZS1hY3Rpb25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDFyZW07XG59XG5cbi5wcmltYXJ5LWFjdGlvbnMsXG4uc2Vjb25kYXJ5LWFjdGlvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IDAuNXJlbTtcbn1cblxuLmljcy1zb3VyY2UtYWN0aW9ucyBidXR0b24ge1xuXHRwYWRkaW5nOiAwLjVyZW0gMXJlbTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1zaXplOiAwLjg1ZW07XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcblx0bWluLXdpZHRoOiA4MHB4O1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uaWNzLXNvdXJjZS1hY3Rpb25zIGJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cblxuLmljcy1zb3VyY2UtYWN0aW9ucyBidXR0b24ubW9kLWN0YSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLmljcy1zb3VyY2UtYWN0aW9ucyBidXR0b24ubW9kLWN0YTpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi5pY3Mtc291cmNlLWFjdGlvbnMgYnV0dG9uLm1vZC13YXJuaW5nIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcmVkKTtcblx0Y29sb3I6IHdoaXRlO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXJlZCk7XG59XG5cbi5pY3Mtc291cmNlLWFjdGlvbnMgYnV0dG9uLm1vZC13YXJuaW5nOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcmVkKTtcblx0b3BhY2l0eTogMC44O1xufVxuXG4uaWNzLXNvdXJjZS1hY3Rpb25zIGJ1dHRvbjpkaXNhYmxlZCB7XG5cdG9wYWNpdHk6IDAuNTtcblx0Y3Vyc29yOiBub3QtYWxsb3dlZDtcblx0dHJhbnNmb3JtOiBub25lO1xufVxuXG4uaWNzLXNvdXJjZS1hY3Rpb25zIGJ1dHRvbi5zeW5jaW5nIHtcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi5pY3Mtc291cmNlLWFjdGlvbnMgYnV0dG9uLnN1Y2Nlc3Mge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ncmVlbik7XG5cdGNvbG9yOiB3aGl0ZTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbik7XG59XG5cbi5pY3Mtc291cmNlLWFjdGlvbnMgYnV0dG9uLmVycm9yIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcmVkKTtcblx0Y29sb3I6IHdoaXRlO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXJlZCk7XG59XG5cbi8qIEFkZCBzb3VyY2UgY29udGFpbmVyICovXG4uaWNzLWFkZC1zb3VyY2UtY29udGFpbmVyIHtcblx0bWFyZ2luLXRvcDogMnJlbTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiAycmVtO1xuXHRib3JkZXI6IDJweCBkYXNoZWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLmljcy1hZGQtc291cmNlLWNvbnRhaW5lcjpob3ZlciB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi5pY3MtYWRkLXNvdXJjZS1jb250YWluZXIgYnV0dG9uIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyOiBub25lO1xuXHRwYWRkaW5nOiAwLjhyZW0gMS41cmVtO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcblx0Zm9udC1zaXplOiAwLjk1ZW07XG59XG5cbi5pY3MtYWRkLXNvdXJjZS1jb250YWluZXIgYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xufVxuXG4vKiBUZXN0IGNvbnRhaW5lciAqL1xuLmljcy10ZXN0LWNvbnRhaW5lciB7XG5cdG1hcmdpbi10b3A6IDFyZW07XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogMXJlbTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZm9ybS1maWVsZCk7XG59XG5cbi5pY3MtdGVzdC1idXR0b24ge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1vcmFuZ2UpO1xuXHRjb2xvcjogd2hpdGU7XG5cdGJvcmRlcjogbm9uZTtcblx0cGFkZGluZzogMC42cmVtIDEuMnJlbTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi5pY3MtdGVzdC1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1vcmFuZ2UpO1xuXHRvcGFjaXR5OiAwLjg7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cblxuLyogRW1wdHkgc3RhdGUgKi9cbi5pY3MtZW1wdHktc3RhdGUge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDNyZW0gMnJlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi8qIE1vZGFsIHN0eWxlcyAqL1xuLmljcy1zb3VyY2UtbW9kYWwgLm1vZGFsLWNvbnRlbnQge1xuXHRtYXgtd2lkdGg6IDYwMHB4O1xuXHRtYXgtaGVpZ2h0OiA4MHZoO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4uYXV0aC1maWVsZCB7XG5cdG1hcmdpbi10b3A6IDAuNXJlbTtcbn1cblxuLm1vZGFsLWJ1dHRvbi1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IDAuNXJlbTtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0bWFyZ2luLXRvcDogMS41cmVtO1xuXHRwYWRkaW5nLXRvcDogMXJlbTtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLm1vZGFsLWJ1dHRvbi1jb250YWluZXIgYnV0dG9uIHtcblx0cGFkZGluZzogMC41cmVtIDFyZW07XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0bWluLXdpZHRoOiA4MHB4O1xufVxuXG4vKiBSZXNwb25zaXZlIGRlc2lnbiAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC5pY3Mtc291cmNlLWhlYWRlciB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0XHRnYXA6IDAuNXJlbTtcblx0fVxuXG5cdC5pY3Mtc291cmNlLWFjdGlvbnMge1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0Z2FwOiAwLjVyZW07XG5cdH1cblxuXHQucHJpbWFyeS1hY3Rpb25zLFxuXHQuc2Vjb25kYXJ5LWFjdGlvbnMge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0fVxuXG5cdC5pY3Mtc291cmNlLWFjdGlvbnMgYnV0dG9uIHtcblx0XHRmbGV4OiAxO1xuXHRcdG1pbi13aWR0aDogYXV0bztcblx0fVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcblx0Lmljcy1zb3VyY2UtaXRlbSB7XG5cdFx0cGFkZGluZzogMXJlbTtcblx0fVxuXG5cdC5wcmltYXJ5LWFjdGlvbnMsXG5cdC5zZWNvbmRhcnktYWN0aW9ucyB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0fVxuXG5cdC5pY3Mtc291cmNlLWFjdGlvbnMgYnV0dG9uIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRtYXJnaW4tYm90dG9tOiAwLjNyZW07XG5cdH1cblxuXHQubW9kYWwtYnV0dG9uLWNvbnRhaW5lciB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0fVxuXG5cdC5tb2RhbC1idXR0b24tY29udGFpbmVyIGJ1dHRvbiB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cbn1cblxuLyogVGV4dCBSZXBsYWNlbWVudHMgU3R5bGVzICovXG4udGV4dC1yZXBsYWNlbWVudHMtbGlzdCB7XG5cdG1hcmdpbjogMXJlbSAwO1xufVxuXG4udGV4dC1yZXBsYWNlbWVudHMtZW1wdHkge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDJyZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0Ym9yZGVyOiAxcHggZGFzaGVkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLnRleHQtcmVwbGFjZW1lbnQtcnVsZSB7XG5cdG1hcmdpbi1ib3R0b206IDFyZW07XG5cdHBhZGRpbmc6IDFyZW07XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4udGV4dC1yZXBsYWNlbWVudC1ydWxlOmhvdmVyIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG4udGV4dC1yZXBsYWNlbWVudC1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1hcmdpbi1ib3R0b206IDAuOHJlbTtcbn1cblxuLnRleHQtcmVwbGFjZW1lbnQtaGVhZGVyIHN0cm9uZyB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtc2l6ZTogMWVtO1xufVxuXG4udGV4dC1yZXBsYWNlbWVudC1zdGF0dXMge1xuXHRwYWRkaW5nOiAwLjJyZW0gMC42cmVtO1xuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xuXHRmb250LXNpemU6IDAuN2VtO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRsZXR0ZXItc3BhY2luZzogMC41cHg7XG59XG5cbi50ZXh0LXJlcGxhY2VtZW50LXN0YXR1cy5lbmFibGVkIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItZ3JlZW4pO1xuXHRjb2xvcjogd2hpdGU7XG59XG5cbi50ZXh0LXJlcGxhY2VtZW50LXN0YXR1cy5kaXNhYmxlZCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXJlZCk7XG5cdGNvbG9yOiB3aGl0ZTtcbn1cblxuLnRleHQtcmVwbGFjZW1lbnQtZGV0YWlscyB7XG5cdG1hcmdpbi1ib3R0b206IDFyZW07XG5cdGZvbnQtc2l6ZTogMC44NWVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi50ZXh0LXJlcGxhY2VtZW50LWRldGFpbHMgZGl2IHtcblx0bWFyZ2luLWJvdHRvbTogMC4zcmVtO1xufVxuXG4udGV4dC1yZXBsYWNlbWVudC1wYXR0ZXJuIHtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1mb3JtLWZpZWxkKTtcblx0cGFkZGluZzogMC4ycmVtIDAuNHJlbTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdG1hcmdpbi1sZWZ0OiAwLjVyZW07XG59XG5cbi50ZXh0LXJlcGxhY2VtZW50LXJlcGxhY2VtZW50IHtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1mb3JtLWZpZWxkKTtcblx0cGFkZGluZzogMC4ycmVtIDAuNHJlbTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdG1hcmdpbi1sZWZ0OiAwLjVyZW07XG59XG5cbi50ZXh0LXJlcGxhY2VtZW50LWFjdGlvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IDAuNXJlbTtcblx0ZmxleC13cmFwOiB3cmFwO1xufVxuXG4udGV4dC1yZXBsYWNlbWVudC1hY3Rpb25zIGJ1dHRvbiB7XG5cdHBhZGRpbmc6IDAuNHJlbSAwLjhyZW07XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLnRleHQtcmVwbGFjZW1lbnQtYWN0aW9ucyBidXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4udGV4dC1yZXBsYWNlbWVudC1hY3Rpb25zIGJ1dHRvbi5tb2QtY3RhIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4udGV4dC1yZXBsYWNlbWVudC1hY3Rpb25zIGJ1dHRvbi5tb2Qtd2FybmluZyB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXJlZCk7XG5cdGNvbG9yOiB3aGl0ZTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1yZWQpO1xufVxuXG4udGV4dC1yZXBsYWNlbWVudC1hZGQge1xuXHRtYXJnaW4tdG9wOiAxcmVtO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi50ZXh0LXJlcGxhY2VtZW50LWFkZCBidXR0b24ge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXI6IG5vbmU7XG5cdHBhZGRpbmc6IDAuNnJlbSAxLjJyZW07XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4udGV4dC1yZXBsYWNlbWVudC1hZGQgYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xufVxuXG4vKiBUZXh0IFJlcGxhY2VtZW50IE1vZGFsIFN0eWxlcyAqL1xuLnRleHQtcmVwbGFjZW1lbnQtbW9kYWwgLm1vZGFsLWNvbnRlbnQge1xuXHRtYXgtd2lkdGg6IDcwMHB4O1xuXHRtYXgtaGVpZ2h0OiA4NXZoO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4udGVzdC1vdXRwdXQge1xuXHRtYXJnaW4tdG9wOiAwLjVyZW07XG5cdHBhZGRpbmc6IDAuOHJlbTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1mb3JtLWZpZWxkKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi50ZXN0LXJlc3VsdCB7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi8qIEV4YW1wbGVzIHNlY3Rpb24gKi9cbi50ZXh0LXJlcGxhY2VtZW50LW1vZGFsIHVsIHtcblx0bWFyZ2luOiAwLjVyZW0gMDtcblx0cGFkZGluZy1sZWZ0OiAxLjVyZW07XG59XG5cbi50ZXh0LXJlcGxhY2VtZW50LW1vZGFsIGxpIHtcblx0bWFyZ2luLWJvdHRvbTogMC41cmVtO1xuXHRsaW5lLWhlaWdodDogMS40O1xufVxuXG4udGV4dC1yZXBsYWNlbWVudC1tb2RhbCBjb2RlIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1mb3JtLWZpZWxkKTtcblx0cGFkZGluZzogMC4xcmVtIDAuM3JlbTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xuXHRmb250LXNpemU6IDAuODVlbTtcbn1cblxuLyogQW5pbWF0aW9uIGZvciBzeW5jIGJ1dHRvbiAqL1xuQGtleWZyYW1lcyBzcGluIHtcblx0MCUge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuXHR9XG5cdDEwMCUge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG5cdH1cbn1cblxuLmljcy1zb3VyY2UtYWN0aW9ucyBidXR0b24uc3luY2luZzo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcIjtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRtYXJnaW4tcmlnaHQ6IDAuM3JlbTtcblx0YW5pbWF0aW9uOiBzcGluIDFzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuLmljcy10ZXh0LXJlcGxhY2VtZW50LW1vZGFsLFxuLmljcy1zb3VyY2UtbW9kYWwge1xuXHRtYXgtd2lkdGg6IDEwMDBweDtcblx0bWF4LWhlaWdodDogOTB2aDtcblxuXHRwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4uaWNzLXRleHQtcmVwbGFjZW1lbnQtbW9kYWwgLm1vZGFsLWNvbnRlbnQsXG4uaWNzLXNvdXJjZS1tb2RhbCAubW9kYWwtY29udGVudCB7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNpemUtNC0yKTtcbn1cbiIsICIvKiBUYXNrIGZpbHRlciBwYW5lbCBzdHlsZXMgKi9cbi50YXNrLWZpbHRlci1wYW5lbCB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KSB2YXIoLS1zaXplLTQtNCk7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zaXplLTItMik7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc2l6ZS00LTgpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRtYXgtaGVpZ2h0OiAzMDBweDtcblx0b3ZlcmZsb3cteTogYXV0bztcbn1cblxuLnRhc2stZmlsdGVyLWFjdGl2ZSB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQtMik7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4udGFzay1maWx0ZXItcGFuZWwgPiAuc2V0dGluZy1pdGVtIHtcblx0Ym9yZGVyLXRvcDogdW5zZXQ7XG59XG5cbi50YXNrLWZpbHRlci1oZWFkZXItY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLnRhc2stZmlsdGVyLXRpdGxlIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRhc2stZmlsdGVyLW9wdGlvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDEwcHg7XG59XG5cbi50YXNrLWZpbHRlci1zZWN0aW9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLnRhc2stZmlsdGVyLXNlY3Rpb24gaDMge1xuXHRmb250LXNpemU6IDE0cHg7XG5cdG1hcmdpbjogNXB4IDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnRhc2stZmlsdGVyLXNlY3Rpb246bGFzdC1jaGlsZCB7XG5cdGJvcmRlci1ib3R0b206IHVuc2V0O1xufVxuXG4udGFzay1maWx0ZXItb3B0aW9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA2cHg7XG59XG5cbi50YXNrLWZpbHRlci1vcHRpb24gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcblx0bWFyZ2luOiAwO1xufVxuXG4udGFzay1maWx0ZXItb3B0aW9uIGxhYmVsIHtcblx0Zm9udC1zaXplOiAxM3B4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFzay1maWx0ZXItYnV0dG9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdGdhcDogOHB4O1xuXHRtYXJnaW4tdG9wOiA4cHg7XG5cdHBhZGRpbmctdG9wOiA4cHg7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi50YXNrLWZpbHRlci1hcHBseSxcbi50YXNrLWZpbHRlci1jbG9zZSB7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4udGFzay1maWx0ZXItYXBwbHkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4udGFzay1maWx0ZXItcmVzZXQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YXNrLWZpbHRlci1jbG9zZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRhc2stZmlsdGVyLXF1ZXJ5LWlucHV0IHtcblx0d2lkdGg6IDEwMCU7XG5cdG1pbi13aWR0aDogMjUwcHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0cGFkZGluZzogOHB4IDEycHg7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XG5cdGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLnRhc2stZmlsdGVyLXF1ZXJ5LWlucHV0OmZvY3VzIHtcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdG91dGxpbmU6IG5vbmU7XG59XG5cbi50YXNrLWZpbHRlci1zZWN0aW9uIC5zZXR0aW5nLWl0ZW0tZGVzY3JpcHRpb24ge1xuXHRtYXJnaW4tdG9wOiA1cHg7XG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRsaW5lLWhlaWdodDogMS40O1xufVxuXG4udGFzay1maWx0ZXItb3B0aW9ucyB7XG5cdG1heC1oZWlnaHQ6IDcwdmg7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdHBhZGRpbmctcmlnaHQ6IDVweDtcbn1cblxuLnRhc2stZmlsdGVyLW9wdGlvbnMge1xuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc2l6ZS00LTQpO1xufVxuIiwgIi5maWx0ZXItZ3JvdXAtc2VwYXJhdG9yIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1hcmdpbjogdmFyKC0tc2l6ZS0yLTIpIDA7IC8qIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTc2ODRcdTVDM0FcdTVCRjhcdTUzRDhcdTkxQ0YgKi9cblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU2QjIxXHU4OTgxXHU2NTg3XHU2NzJDXHU5ODlDXHU4MjcyICovXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTsgLyogXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NzY4NFx1NUI1N1x1NEY1M1x1NTkyN1x1NUMwRlx1NTNEOFx1OTFDRiAqL1xufVxuXG4uZmlsdGVyLWdyb3VwLXNlcGFyYXRvcjo6YmVmb3JlLFxuLmZpbHRlci1ncm91cC1zZXBhcmF0b3I6OmFmdGVyIHtcblx0Y29udGVudDogXCJcIjtcblx0ZmxleC1ncm93OiAxO1xuXHRoZWlnaHQ6IDFweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKFxuXHRcdC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXJcblx0KTsgLyogXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NzY4NFx1OEZCOVx1Njg0Nlx1OTg5Q1x1ODI3MiAqL1xuXHRtYXJnaW46IDAgdmFyKC0tc2l6ZS0yLTEpOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU1QzNBXHU1QkY4XHU1M0Q4XHU5MUNGICovXG59XG5cbi5kcmFnLWhhbmRsZSB7XG5cdGN1cnNvcjogZ3JhYjtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi8qIFx1NjMwOVx1OTRBRVx1NTQ4Q1x1OEY5M1x1NTE2NVx1Njg0Nlx1NzY4NFx1OEY4M1x1NUMwRlx1NjU4N1x1NjcyQ1x1NTQ4Q1x1NTE4NVx1OEZCOVx1OERERCAqL1xuLmNvbXBhY3QtYnRuIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0yKTsgLyogXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NzY4NFx1NUMzQVx1NUJGOFx1NTNEOFx1OTFDRiAqL1xuXHRib3gtc2hhZG93OiB1bnNldCAhaW1wb3J0YW50O1xuXHRib3JkZXI6IHVuc2V0ICFpbXBvcnRhbnQ7XG5cdC0taWNvbi1zaXplOiB2YXIoLS1zaXplLTQtNCk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcblxuXHQtd2Via2l0LWFwcC1yZWdpb246IG5vLWRyYWc7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJ1dHRvbi1yYWRpdXMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMik7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1pbnB1dC1mb250LXdlaWdodCk7XG5cdGN1cnNvcjogdmFyKC0tY3Vyc29yKTtcblx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xuXG5cdG1pbi1oZWlnaHQ6IDMwcHg7XG59XG5cbi5jb21wYWN0LWJ0bjpob3ZlciB7XG5cdGJveC1zaGFkb3c6IG5vbmU7XG5cdG9wYWNpdHk6IHZhcigtLWljb24tb3BhY2l0eS1ob3Zlcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uY29tcGFjdC1pbnB1dCxcbi5jb21wYWN0LXNlbGVjdCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTsgLyogXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NzY4NFx1NUI1N1x1NEY1M1x1NTkyN1x1NUMwRlx1NTNEOFx1OTFDRiAqL1xuXHRoZWlnaHQ6IHZhcigtLWlucHV0LWhlaWdodCk7IC8qIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTc2ODRcdThGOTNcdTUxNjVcdTY4NDZcdTlBRDhcdTVFQTZcdTUzRDhcdTkxQ0YgKi9cblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3gtc2hhZG93OiBub25lO1xufVxuXG4uY29tcGFjdC1zZWxlY3Q6aG92ZXIge1xuXHRib3gtc2hhZG93OiBub25lO1xufVxuXG4uY29tcGFjdC10ZXh0IHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU1QjU3XHU0RjUzXHU1OTI3XHU1QzBGXHU1M0Q4XHU5MUNGICovXG59XG5cbi8qIFx1NjJENlx1NTJBOFx1NjVGNlx1NzY4NFx1NTM2MFx1NEY0RFx1N0IyNiAqL1xuLmRyYWdnaW5nLXBsYWNlaG9sZGVyIHtcblx0b3BhY2l0eTogMC41O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXG5cdFx0LS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyXG5cdCk7IC8qIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTc2ODRcdTYwQUNcdTUwNUNcdTgwQ0NcdTY2NkZcdTgyNzIgKi9cbn1cblxuLyogXHU1OTgyXHU2NzlDXHU5NzAwXHU4OTgxXHVGRjBDXHU0RTNBXHU4RkM3XHU2RUU0XHU1NjY4XHU3RUM0XHU0RUY2XHU3Njg0XHU2ODM5XHU1QkI5XHU1NjY4XHU4QkJFXHU3RjZFXHU2ODM3XHU1RjBGICovXG4udGFzay1maWx0ZXItcm9vdC1jb250YWluZXIudGFzay1wb3BvdmVyLWNvbnRlbnQge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMik7IC8qIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTc2ODRcdTVDM0FcdTVCRjhcdTUzRDhcdTkxQ0YgKi9cblx0bWF4LXdpZHRoOiAxMDAlO1xuXHRtYXgtaGVpZ2h0OiAxMDAlO1xufVxuXG4udGFzay1maWx0ZXItbWFpbi1wYW5lbCB7XG5cdG1heC13aWR0aDogMTAwJTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU1QzNBXHU1QkY4XHU1M0Q4XHU5MUNGICovXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTsgLyogXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NzY4NFx1NTcwNlx1ODlEMlx1NTNEOFx1OTFDRiAqL1xufVxuXG4uZmlsdGVyLW1lbnUge1xuXHR6LWluZGV4OiA1MDtcblx0bWluLXdpZHRoOiA2MDBweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctcyk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLyogcm9vdEZpbHRlclNldHVwU2VjdGlvbiBpbiBUUywgY29ycmVzcG9uZHMgdG8gSFRNTCdzICNyb290LWZpbHRlci1jb250YWluZXIgKi9cbi5yb290LWZpbHRlci1zZXR1cC1zZWN0aW9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAwLjc1cmVtOyAvKiBzcGFjZS15LTMgZnJvbSBIVE1MLCBUYWlsd2luZCB2YXIoLS1zcGFjZS0zKSAqL1xufVxuXG4vKiBSb290IENvbmRpdGlvbiBTZWN0aW9uIChkaXYuZmxleC5pdGVtcy1jZW50ZXIuc3BhY2UteC0yLnAtMi5iZy1zbGF0ZS0xMDAucm91bmRlZC1tZC5ib3JkZXIuYm9yZGVyLXNsYXRlLTIwMCkgKi9cbi5yb290LWNvbmRpdGlvbi1zZWN0aW9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAwLjVyZW07IC8qIHNwYWNlLXgtMiBmcm9tIEhUTUwsIFRhaWx3aW5kIHZhcigtLXNwYWNlLTIpICovXG5cdHBhZGRpbmc6IDAuNXJlbTsgLyogcC0yIGZyb20gSFRNTCwgVGFpbHdpbmQgdmFyKC0tc3BhY2UtMikgKi9cblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKFxuXHRcdC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0LFxuXHRcdHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpXG5cdCk7IC8qIGJnLXNsYXRlLTEwMCAqL1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7IC8qIHJvdW5kZWQtbWQgKi9cblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpOyAvKiBib3JkZXIgYm9yZGVyLXNsYXRlLTIwMCAqL1xufVxuXG4ucm9vdC1jb25kaXRpb24tbGFiZWwge1xuXHQvKiBjb21wYWN0LXRleHQgYWxyZWFkeSBwcm92aWRlcyBmb250LXNpemUgKi9cblx0Zm9udC13ZWlnaHQ6IDUwMDsgLyogZm9udC1tZWRpdW0gKi9cblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTsgLyogdGV4dC1zbGF0ZS02MDAgKi9cbn1cblxuLnJvb3QtY29uZGl0aW9uLXNlbGVjdCB7XG5cdC8qIGNvbXBhY3Qtc2VsZWN0IGFscmVhZHkgcHJvdmlkZXMgYmFzZSBzdHlsaW5nICovXG5cdHdpZHRoOiBhdXRvO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1pbnB1dC1ib3JkZXItY29sb3IsIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKSk7IC8qIGJvcmRlciBib3JkZXItc2xhdGUtMzAwICovXG5cdC8qIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zKTsgLyogc2hhZG93LXNtICovIC8qIENvbnNpZGVyIGlmIG5lZWRlZCAqL1xufVxuXG4ucm9vdC1jb25kaXRpb24tc2VsZWN0OmZvY3VzIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAxcHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLnJvb3QtY29uZGl0aW9uLXNwYW4ge1xuXHQvKiBjb21wYWN0LXRleHQgYWxyZWFkeSBwcm92aWRlcyBmb250LXNpemUgKi9cblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTsgLyogdGV4dC1zbGF0ZS02MDAgKi9cbn1cblxuLyogRmlsdGVyIEdyb3VwcyBDb250YWluZXIgKCNmaWx0ZXItZ3JvdXBzLWNvbnRhaW5lcikgKi9cbi5maWx0ZXItZ3JvdXBzLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTMpOyAvKiBzcGFjZS15LTMgZnJvbSBIVE1MICovXG5cblx0bWF4LWhlaWdodDogNTB2aDtcblx0b3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qIEZpbHRlciBHcm91cCAoI2ZpbHRlci1ncm91cC10ZW1wbGF0ZSkgKi9cbi5maWx0ZXItZ3JvdXAge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMyk7IC8qIHAtMyBmcm9tIEhUTUwgKi9cblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpOyAvKiBib3JkZXIgYm9yZGVyLXNsYXRlLTMwMCAqL1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7IC8qIHJvdW5kZWQtbWQgKi9cblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTsgLyogYmctd2hpdGUgKi9cblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7IC8qIHNwYWNlLXktMiBmcm9tIEhUTUwgKi9cbn1cblxuLmZpbHRlci1ncm91cC1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5maWx0ZXItZ3JvdXAtaGVhZGVyLWxlZnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDAuMzc1cmVtOyAvKiBzcGFjZS14LTEuNSBmcm9tIEhUTUwgKi9cbn1cblxuLmZpbHRlci1ncm91cC1oZWFkZXItbGVmdCAuZHJhZy1oYW5kbGUtY29udGFpbmVyIC5zdmctaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTsgLyogdGV4dC1zbGF0ZS00MDAgKi9cbn1cblxuLmZpbHRlci1ncm91cC1oZWFkZXItbGVmdCAuZHJhZy1oYW5kbGUtY29udGFpbmVyOmhvdmVyIC5zdmctaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgLyogaG92ZXI6dGV4dC1zbGF0ZS01MDAgKi9cbn1cblxuLmZpbHRlci1ncm91cC1oZWFkZXItbGVmdCAuZHJhZy1oYW5kbGUtY29udGFpbmVyIHtcblx0cGFkZGluZy1yaWdodDogdmFyKC0tc2l6ZS0yLTEpO1xufVxuXG4uZmlsdGVyLWdyb3VwLWhlYWRlci1sZWZ0ID4gLmNvbXBhY3QtdGV4dCxcbi5maWx0ZXItZ3JvdXAtaGVhZGVyLWxlZnQgPiBzcGFuLmNvbXBhY3QtdGV4dCB7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7IC8qIGZvbnQtbWVkaXVtICovXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7IC8qIHRleHQtc2xhdGUtNjAwICovXG59XG5cbi5maWx0ZXItZ3JvdXAtaGVhZGVyLWxlZnQgLmdyb3VwLWNvbmRpdGlvbi1zZWxlY3QuY29tcGFjdC1zZWxlY3Qge1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1pbnB1dC1ib3JkZXItY29sb3IsIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKSk7XG59XG5cbi5maWx0ZXItZ3JvdXAtaGVhZGVyLWxlZnQgLmdyb3VwLWNvbmRpdGlvbi1zZWxlY3QuY29tcGFjdC1zZWxlY3Q6Zm9jdXMge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IDAgMCAwIDFweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4uZmlsdGVyLWdyb3VwLWhlYWRlci1yaWdodCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMC4yNXJlbTsgLyogc3BhY2UteC0xIGZyb20gSFRNTCAqL1xufVxuXG4uZmlsdGVyLWdyb3VwLWhlYWRlci1yaWdodCAuZHVwbGljYXRlLWdyb3VwLWJ0bi5jb21wYWN0LWljb24tYnRuLFxuLmZpbHRlci1ncm91cC1oZWFkZXItcmlnaHQgLnJlbW92ZS1ncm91cC1idG4uY29tcGFjdC1pY29uLWJ0biB7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTsgLyogcm91bmRlZC1tZCBmcm9tIFRhaWx3aW5kICovXG59XG5cbi5maWx0ZXItZ3JvdXAtaGVhZGVyLXJpZ2h0IC5kdXBsaWNhdGUtZ3JvdXAtYnRuLmNvbXBhY3QtaWNvbi1idG4gLnN2Zy1pY29uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyAvKiB0ZXh0LXNsYXRlLTUwMCAqL1xufVxuXG4uZmlsdGVyLWdyb3VwLWhlYWRlci1yaWdodFxuLmR1cGxpY2F0ZS1ncm91cC1idG4uY29tcGFjdC1pY29uLWJ0bjpob3ZlclxuLnN2Zy1pY29uIHtcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7IC8qIGhvdmVyOnRleHQtaW5kaWdvLTYwMCAqL1xufVxuXG4uZmlsdGVyLWdyb3VwLWhlYWRlci1yaWdodCAuZHVwbGljYXRlLWdyb3VwLWJ0bi5jb21wYWN0LWljb24tYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi5maWx0ZXItZ3JvdXAtaGVhZGVyLXJpZ2h0IC5yZW1vdmUtZ3JvdXAtYnRuLmNvbXBhY3QtaWNvbi1idG4gLnN2Zy1pY29uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyAvKiB0ZXh0LXNsYXRlLTUwMCAqL1xufVxuXG4uZmlsdGVyLWdyb3VwLWhlYWRlci1yaWdodCAucmVtb3ZlLWdyb3VwLWJ0bi5jb21wYWN0LWljb24tYnRuOmhvdmVyIC5zdmctaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTsgLyogaG92ZXI6dGV4dC1yZWQtNjAwICovXG59XG5cbi5maWx0ZXItZ3JvdXAtaGVhZGVyLXJpZ2h0IC5yZW1vdmUtZ3JvdXAtYnRuLmNvbXBhY3QtaWNvbi1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXG5cdFx0LS1iYWNrZ3JvdW5kLWVycm9yLWhvdmVyLFxuXHRcdHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3ItaG92ZXIpXG5cdCk7XG59XG5cbi8qIEZpbHRlcnMgTGlzdCAoLmZpbHRlcnMtbGlzdCkgKi9cbi5maWx0ZXJzLWxpc3Qge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTsgLyogc3BhY2UteS0xLjUgZnJvbSBIVE1MICovXG5cdHBhZGRpbmctbGVmdDogMXJlbTsgLyogcGwtNCBmcm9tIEhUTUwgKi9cblx0Ym9yZGVyLWxlZnQ6IDJweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7IC8qIGJvcmRlci1sLTIgYm9yZGVyLXNsYXRlLTIwMCAqL1xuXHRtYXJnaW4tbGVmdDogdmFyKC0tc2l6ZS00LTIpOyAvKiBtbC0xLjUgZnJvbSBIVE1MICovXG59XG5cbi5maWx0ZXJzLWxpc3Q6ZW1wdHkge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4vKiBHcm91cCBGb290ZXIgKC5ncm91cC1mb290ZXIpICovXG4uZ3JvdXAtZm9vdGVyIHtcblx0LyogSFRNTDogPGRpdiBjbGFzcz1cInBsLTQgbXQtMS41XCI+IGNvbnRhaW5pbmcgYnV0dG9uICovXG5cdC8qIFRTIGNyZWF0ZXMgLmdyb3VwLWZvb3RlciwgdGhlbiBhZGRzIEJ1dHRvbkNvbXBvbmVudCB0byBpdC4gKi9cblx0cGFkZGluZy1sZWZ0OiAwLjM3NXJlbTsgLyogQ29ycmVzcG9uZHMgdG8gcGwtMS41IGVmZmVjdGl2ZWx5IGlmIGl0ZW1zIGluc2lkZSAuZmlsdGVycy1saXN0IGhhdmUgbWFyZ2luL3BhZGRpbmcgKi9cblx0bWFyZ2luLXRvcDogMC4zNzVyZW07IC8qIG10LTEuNSAqL1xufVxuXG4uYWRkLWZpbHRlci1idG4taWNvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4vKiBGaWx0ZXIgSXRlbSAoI2ZpbHRlci1pdGVtLXRlbXBsYXRlKSAqL1xuLmZpbHRlci1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcblx0LyogYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpOyAqL1xuXHQvKiBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7ICovXG5cdHBhZGRpbmctdG9wOiAwO1xuXHRwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLmZpbHRlci1pdGVtIC5maWx0ZXItY29uanVuY3Rpb24ge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7IC8qIHRleHQtMnhzICovXG5cdGZvbnQtd2VpZ2h0OiA2MDA7IC8qIGZvbnQtc2VtaWJvbGQgKi9cblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpOyAvKiB0ZXh0LXNsYXRlLTQwMCAqL1xuXHRhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG5cbi5maWx0ZXItaXRlbSAuZmlsdGVyLXByb3BlcnR5LXNlbGVjdC5jb21wYWN0LXNlbGVjdCB7XG5cdGZsZXgtYmFzaXM6IDMwJTsgLyogdy0xLzMgKi9cblx0ZmxleC1ncm93OiAwO1xuXHRmbGV4LXNocmluazogMDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0taW5wdXQtYm9yZGVyLWNvbG9yLCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcikpO1xuXHQvKiBib3JkZXI6IHVuc2V0ICFpbXBvcnRhbnQ7ICovXG5cdGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5maWx0ZXItaXRlbSAuZmlsdGVyLXByb3BlcnR5LXNlbGVjdC5jb21wYWN0LXNlbGVjdDpmb2N1cyB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogMCAwIDAgMXB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi5maWx0ZXItaXRlbSAuZmlsdGVyLWNvbmRpdGlvbi1zZWxlY3QuY29tcGFjdC1zZWxlY3Qge1xuXHR3aWR0aDogYXV0bzsgLyogdy1hdXRvICovXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWlucHV0LWJvcmRlci1jb2xvciwgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpKTtcblx0LyogYm9yZGVyOiB1bnNldCAhaW1wb3J0YW50OyAqL1xuXHRib3gtc2hhZG93OiBub25lO1xufVxuXG4uZmlsdGVyLWl0ZW0gLmZpbHRlci1jb25kaXRpb24tc2VsZWN0LmNvbXBhY3Qtc2VsZWN0OmZvY3VzIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAxcHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLmZpbHRlci1pdGVtIC5maWx0ZXItdmFsdWUtaW5wdXQuY29tcGFjdC1pbnB1dCB7XG5cdGZsZXgtZ3JvdzogMTsgLyogZmxleC1ncm93ICovXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWlucHV0LWJvcmRlci1jb2xvciwgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpKTtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5maWx0ZXItaXRlbSAuZmlsdGVyLXZhbHVlLWlucHV0LmNvbXBhY3QtaW5wdXQ6Zm9jdXMge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IDAgMCAwIDFweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4uZmlsdGVyLWl0ZW0gLnJlbW92ZS1maWx0ZXItYnRuLmNvbXBhY3QtaWNvbi1idG4gLnN2Zy1pY29uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyAvKiB0ZXh0LXNsYXRlLTUwMCAqL1xufVxuXG4uZmlsdGVyLWl0ZW0gLnJlbW92ZS1maWx0ZXItYnRuLmNvbXBhY3QtaWNvbi1idG46aG92ZXIgLnN2Zy1pY29uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpOyAvKiBob3Zlcjp0ZXh0LXJlZC02MDAgKi9cbn1cblxuLmZpbHRlci1pdGVtIC5yZW1vdmUtZmlsdGVyLWJ0bi5jb21wYWN0LWljb24tYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKFxuXHRcdC0tYmFja2dyb3VuZC1lcnJvci1ob3Zlcixcblx0XHR2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yLWhvdmVyKVxuXHQpO1xufVxuXG4vKiBBZGQgRmlsdGVyIEdyb3VwIEJ1dHRvbiBTZWN0aW9uICovXG4uYWRkLWdyb3VwLXNlY3Rpb24ge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTItMSk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNpemUtMi0xKTtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uYWRkLWZpbHRlci1ncm91cC1idG4taWNvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4vKiBGaWx0ZXIgQ29uZmlndXJhdGlvbiBTZWN0aW9uICovXG4uZmlsdGVyLWNvbmZpZy1zZWN0aW9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdC8qIG1hcmdpbi10b3A6IHZhcigtLXNpemUtMi0xKTsgKi9cblx0LyogbWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTEpOyAqL1xuXHQvKiBtYXJnaW4tbGVmdDogdmFyKC0tc2l6ZS0yLTEpOyAqL1xuXHQvKiBwYWRkaW5nLXRvcDogdmFyKC0tc2l6ZS0yLTIpOyAqL1xuXHQvKiBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpOyAqL1xufVxuXG4uc2F2ZS1maWx0ZXItY29uZmlnLWJ0bixcbi5sb2FkLWZpbHRlci1jb25maWctYnRuIHtcblx0ZmxleDogMTtcbn1cblxuLnNhdmUtZmlsdGVyLWNvbmZpZy1idG4taWNvbixcbi5sb2FkLWZpbHRlci1jb25maWctYnRuLWljb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnNhdmUtZmlsdGVyLWNvbmZpZy1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ubG9hZC1maWx0ZXItY29uZmlnLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4vKiBGaWx0ZXIgQ29uZmlnIE1vZGFsIFN0eWxlcyAqL1xuLmZpbHRlci1jb25maWctZGV0YWlscyB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0zKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuXHRcdDEzNWRlZyxcblx0XHR2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSkgMCUsXG5cdFx0dmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCkgMTAwJVxuXHQpO1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctcyk7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xufVxuXG4uZmlsdGVyLWNvbmZpZy1kZXRhaWxzOmhvdmVyIHtcblx0Ym94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG59XG5cbi5maWx0ZXItY29uZmlnLWRldGFpbHMgaDMge1xuXHRtYXJnaW46IDAgMCB2YXIoLS1zaXplLTQtMikgMDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xufVxuXG4uZmlsdGVyLWNvbmZpZy1kZXRhaWxzIHAge1xuXHRtYXJnaW46IHZhcigtLXNpemUtMi0yKSAwO1xuXHRsaW5lLWhlaWdodDogMS41O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uZmlsdGVyLWNvbmZpZy1tZXRhIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbjogdmFyKC0tc2l6ZS0yLTEpIDA7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTItMik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZm9ybS1maWVsZCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4uZmlsdGVyLWNvbmZpZy1zdW1tYXJ5IHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgMCAwIDA7XG5cdGJvcmRlci10b3A6IDJweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5maWx0ZXItY29uZmlnLXN1bW1hcnkgaDQge1xuXHRtYXJnaW46IDAgMCB2YXIoLS1zaXplLTItMykgMDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTItMSk7XG59XG5cbi5maWx0ZXItY29uZmlnLXN1bW1hcnkgcCB7XG5cdG1hcmdpbjogdmFyKC0tc2l6ZS0yLTEpIDA7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS0yLTIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktYWx0KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xufVxuXG4uZmlsdGVyLWNvbmZpZy1idXR0b25zIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTMpO1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4uZmlsdGVyLWNvbmZpZy1uYW1lLWhpZ2hsaWdodCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0cGFkZGluZzogMC4xMjVyZW0gMC4yNXJlbTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4vKiBBZHZhbmNlZCBmaWx0ZXIgY29udGFpbmVyIHN0eWxlcyBmb3IgVmlld0NvbmZpZ01vZGFsICovXG4uYWR2YW5jZWQtZmlsdGVyLWNvbnRhaW5lciB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG4uYWR2YW5jZWQtZmlsdGVyLWNvbnRhaW5lciAudGFzay1maWx0ZXItcm9vdC1jb250YWluZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0Ym9yZGVyOiBub25lO1xuXHRwYWRkaW5nOiAwO1xufVxuXG4uYWR2YW5jZWQtZmlsdGVyLWNvbnRhaW5lciAudGFzay1maWx0ZXItbWFpbi1wYW5lbCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRib3JkZXI6IG5vbmU7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi8qIFNtYWxsZXIgc3R5bGluZyBmb3IgZmlsdGVycyBpbiBtb2RhbCAqL1xuLnRhc2stZ2VuaXVzLXZpZXctY29uZmlnLW1vZGFsIC5hZHZhbmNlZC1maWx0ZXItY29udGFpbmVyIC5maWx0ZXItZ3JvdXAge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXctY29uZmlnLW1vZGFsIC5hZHZhbmNlZC1maWx0ZXItY29udGFpbmVyIC5maWx0ZXItaXRlbSB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKTtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG59XG5cbi50YXNrLWdlbml1cy12aWV3LWNvbmZpZy1tb2RhbCAuYWR2YW5jZWQtZmlsdGVyLWNvbnRhaW5lciAuY29tcGFjdC1idG4ge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS0yLTIpO1xuXHRtaW4taGVpZ2h0OiAyNnB4O1xufVxuXG4udGFzay1nZW5pdXMtdmlldy1jb25maWctbW9kYWwgLmFkdmFuY2VkLWZpbHRlci1jb250YWluZXIgLmNvbXBhY3Qtc2VsZWN0LFxuLnRhc2stZ2VuaXVzLXZpZXctY29uZmlnLW1vZGFsIC5hZHZhbmNlZC1maWx0ZXItY29udGFpbmVyIC5jb21wYWN0LWlucHV0IHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRoZWlnaHQ6IDI4cHg7XG59XG4iLCAiLyogVmlldyBTZXR0aW5ncyBUYWIgU3R5bGVzICovXG5cbi8qIFZpZXcgbWFuYWdlbWVudCBsaXN0IGNvbnRhaW5lciAqL1xuLnZpZXctbWFuYWdlbWVudC1saXN0IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAyMHB4O1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtNCk7XG59XG5cbi8qIFNlY3Rpb24gY29udGFpbmVycyAqL1xuLnZpZXctc2VjdGlvbi1jb250YWluZXIge1xuXHRtaW4taGVpZ2h0OiAxMDBweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdHBhZGRpbmc6IDEwcHg7XG59XG5cbi8qIFNlY3Rpb24gaGVhZGVycyAqL1xuLnZpZXctc2VjdGlvbi1oZWFkZXIge1xuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4udmlldy1zZWN0aW9uLWhlYWRlciBoNCB7XG5cdG1hcmdpbjogMDtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi52aWV3LXNlY3Rpb24taXRlbXMsXG4uc29ydGFibGUtdmlld3Mge1xuXHRtaW4taGVpZ2h0OiA2MHB4O1xuXHRib3JkZXI6IDFweCBkYXNoZWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHBhZGRpbmc6IDhweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcbn1cblxuLnNvcnRhYmxlLXZpZXdzOmVtcHR5OjphZnRlciB7XG5cdGNvbnRlbnQ6IGF0dHIoZGF0YS1lbXB0eS10ZXh0KTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRwYWRkaW5nOiAyMHB4O1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5zb3J0YWJsZS12aWV3c1tkYXRhLXJlZ2lvbj1cInRvcFwiXTplbXB0eTo6YWZ0ZXIge1xuXHRjb250ZW50OiBcIkRyYWcgdmlld3MgaGVyZSBmb3IgdGhlIHRvcCBzZWN0aW9uXCI7XG59XG5cbi5zb3J0YWJsZS12aWV3c1tkYXRhLXJlZ2lvbj1cImJvdHRvbVwiXTplbXB0eTo6YWZ0ZXIge1xuXHRjb250ZW50OiBcIkRyYWcgdmlld3MgaGVyZSBmb3IgdGhlIGJvdHRvbSBzZWN0aW9uXCI7XG59XG5cbi8qIFZpZXcgaXRlbSBzdHlsZXMgKi9cbi52aWV3LWl0ZW0sXG4uc29ydGFibGUtdmlldy1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogOHB4O1xuXHRtYXJnaW4tYm90dG9tOiA0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRjdXJzb3I6IG1vdmU7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi52aWV3LWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpICFpbXBvcnRhbnQ7XG59XG5cbi8qIERyYWcgaGFuZGxlIHN0eWxlcyAqL1xuLnZpZXctZHJhZy1oYW5kbGUge1xuXHRjdXJzb3I6IGdyYWI7XG5cdG1hcmdpbi1yaWdodDogOHB4O1xuXHRvcGFjaXR5OiAwLjU7XG59XG5cbi52aWV3LWRyYWctaGFuZGxlOmFjdGl2ZSB7XG5cdGN1cnNvcjogZ3JhYmJpbmcgIWltcG9ydGFudDtcbn1cblxuLyogVmlldyBpdGVtIGljb24gKi9cbi52aWV3LWl0ZW0taWNvbiB7XG5cdG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG4vKiBWaWV3IGl0ZW0gaW5mbyAqL1xuLnZpZXctaXRlbS1pbmZvIHtcblx0ZmxleDogMTtcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XG59XG5cbi52aWV3LWl0ZW0tbmFtZSB7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi52aWV3LWl0ZW0tdHlwZSB7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4vKiBWaWV3IGl0ZW0gYWN0aW9ucyAqL1xuLnZpZXctaXRlbS1hY3Rpb25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiA0cHg7XG59XG5cbi52aWV3LWFjdGlvbi1idXR0b24ge1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0Ym9yZGVyOiBub25lO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHBhZGRpbmc6IDRweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4udmlldy1hY3Rpb24tYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi52aWV3LWFjdGlvbi1kZWxldGU6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLnNvcnRhYmxlLWdob3N0IHtcblx0b3BhY2l0eTogMC40O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKSAhaW1wb3J0YW50O1xufVxuXG4uc29ydGFibGUtZHJhZyB7XG5cdG9wYWNpdHk6IDA7XG59XG5cbi5zb3J0YWJsZS1jaG9zZW4ge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKSAhaW1wb3J0YW50O1xufVxuIiwgIi8qIE1DUCBJbnRlZ3JhdGlvbiBTZXR0aW5ncyBTdHlsZXMgKi9cblxuLyogU3RhdHVzIENvbnRhaW5lciAqL1xuLm1jcC1zdGF0dXMtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAxNnB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5tY3Atc3RhdHVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxMHB4O1xufVxuXG4ubWNwLXN0YXR1cy1pbmRpY2F0b3Ige1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDEuMDVlbTtcbn1cblxuLm1jcC1zdGF0dXMtaW5kaWNhdG9yLnJ1bm5pbmcgLnN0YXR1cy1kb3Qge1xuICAgIGNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLXN1Y2Nlc3MpO1xuICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgYW5pbWF0aW9uOiBwdWxzZSAycyBpbmZpbml0ZTtcbn1cblxuLm1jcC1zdGF0dXMtaW5kaWNhdG9yLnN0b3BwZWQgLnN0YXR1cy1kb3Qge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbiAgICBmb250LXNpemU6IDEuMmVtO1xufVxuXG4ubWNwLXN0YXR1cy1kZXRhaWxzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMjRweDtcbiAgICBmb250LXNpemU6IDAuOWVtO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG59XG5cbi8qIENsaWVudCBDb25maWd1cmF0aW9uICovXG4ubWNwLWNvbmZpZy1jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5tY3AtY2xpZW50LXNlY3Rpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5tY3AtY2xpZW50LWhlYWRlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmc6IDEycHggMTZweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHg7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xufVxuXG4ubWNwLWNsaWVudC1oZWFkZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4vKiBBcnJvdyBpY29uIGZvciBjb2xsYXBzaWJsZSBzZWN0aW9ucyAqL1xuLm1jcC1hcnJvdyB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnM7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG59XG5cbi5tY3AtYXJyb3cgc3ZnIHtcbiAgICB3aWR0aDogMTRweDtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgc3Ryb2tlLXdpZHRoOiAyO1xufVxuXG4ubWNwLWFycm93LmV4cGFuZGVkIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG59XG5cbi5tY3AtY2xpZW50LW5hbWUge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLm1jcC1jbGllbnQtY29udGVudCB7XG4gICAgcGFkZGluZzogMTZweCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLm1jcC1jbGllbnQtY29udGVudC5leHBhbmRlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5tY3AtY29uZmlnLWJsb2NrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLm1jcC1jb25maWctY29kZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDE2cHggNjBweCAxNnB4IDE2cHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2RlLWJhY2tncm91bmQpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LXNpemU6IDAuODVlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XG4gICAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xuICAgIHNjcm9sbGJhci1jb2xvcjogdmFyKC0tc2Nyb2xsYmFyLXRodW1iLWJnKSB2YXIoLS1zY3JvbGxiYXItYmcpO1xufVxuXG4ubWNwLWNvbmZpZy1jb2RlIGNvZGUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2RlLW5vcm1hbCk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcbiAgICB3aGl0ZS1zcGFjZTogcHJlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubWNwLWNvbmZpZy1jb2RlOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgd2lkdGg6IDhweDtcbiAgICBoZWlnaHQ6IDhweDtcbn1cblxuLm1jcC1jb25maWctY29kZTo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXNjcm9sbGJhci1iZyk7XG59XG5cbi5tY3AtY29uZmlnLWNvZGU6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zY3JvbGxiYXItdGh1bWItYmcpO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLm1jcC1jb25maWctY29kZTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXNjcm9sbGJhci1hY3RpdmUtdGh1bWItYmcpO1xufVxuXG4vKiBDb3B5IEJ1dHRvbnMgKi9cbi5tY3AtY29weS1idG4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHRvcDogMTJweDtcbiAgICByaWdodDogMTJweDtcbiAgICBwYWRkaW5nOiA2cHggMTJweDtcbiAgICBmb250LXNpemU6IDAuOGVtO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG4gICAgY29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHotaW5kZXg6IDEwO1xufVxuXG4ubWNwLWNvcHktYnRuOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuXG4ubWNwLWNvcHktYnRuLmNvcGllZCB7XG4gICAgYW5pbWF0aW9uOiBjb3B5U3VjY2VzcyAwLjNzIGVhc2U7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1zdWNjZXNzKSAhaW1wb3J0YW50O1xufVxuXG4vKiBBdXRoZW50aWNhdGlvbiBNZXRob2RzIExpc3QgKi9cbi5tY3AtYXV0aC1tZXRob2RzIHtcbiAgICBtYXJnaW46IDE1cHggMDtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4ubWNwLWF1dGgtbGlzdCB7XG4gICAgbWFyZ2luOiAxMHB4IDAgMCAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjg7XG59XG5cbi5tY3AtYXV0aC1saXN0IGxpIHtcbiAgICBtYXJnaW46IDhweCAwO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5tY3AtYXV0aC1saXN0IGNvZGUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvZGUtYmFja2dyb3VuZCk7XG4gICAgcGFkZGluZzogMnB4IDZweDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgZm9udC1zaXplOiAwLjllbTtcbiAgICBjb2xvcjogdmFyKC0tY29kZS1ub3JtYWwpO1xufVxuXG4vKiBUb2tlbiBJbnB1dCAqL1xuLm1jcC10b2tlbi1pbnB1dCB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgICB3aWR0aDogMzAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG4vKiBBUEkgRG9jdW1lbnRhdGlvbiAqL1xuLm1jcC1kb2NzLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuLm1jcC1kb2NzLXNlY3Rpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5tY3AtZG9jcy1zdWJ0aXRsZSB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi8qIEVuZHBvaW50IEJveCAqL1xuLm1jcC1lbmRwb2ludC1ib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEycHg7XG4gICAgcGFkZGluZzogMTJweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4ubWNwLWVuZHBvaW50LWNvbnRlbnQge1xuICAgIGZsZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xufVxuXG4ubWNwLWVuZHBvaW50LWxhYmVsIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLm1jcC1lbmRwb2ludC11cmwge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XG4gICAgcGFkZGluZzogNnB4IDEwcHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG4gICAgdXNlci1zZWxlY3Q6IHRleHQ7XG59XG5cbi5tY3AtY29weS1lbmRwb2ludC1idG4ge1xuICAgIHBhZGRpbmc6IDZweCAxMnB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLW5vcm1hbCk7XG4gICAgY29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnM7XG59XG5cbi5tY3AtY29weS1lbmRwb2ludC1idG46aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWhvdmVyKTtcbn1cblxuLm1jcC1jb3B5LWVuZHBvaW50LWJ0bi5jb3BpZWQge1xuICAgIGFuaW1hdGlvbjogY29weVN1Y2Nlc3MgMC4zcyBlYXNlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItc3VjY2VzcykgIWltcG9ydGFudDtcbn1cblxuLyogVG9vbHMgR3JpZCAqL1xuLm1jcC10b29scy1ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDI4MHB4LCAxZnIpKTtcbiAgICBnYXA6IDE2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbn1cblxuLm1jcC10b29sLWNhcmQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAxNnB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KSAwJSwgdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KSAxMDAlKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5tY3AtdG9vbC1jYXJkOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDNweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCkgMCUsIHZhcigtLXRleHQtYWNjZW50KSAxMDAlKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XG59XG5cbi5tY3AtdG9vbC1jYXJkOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7XG4gICAgYm94LXNoYWRvdzogMCA4cHggMjRweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLm1jcC10b29sLWNhcmQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG59XG5cbi5tY3AtdG9vbC1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4ubWNwLXRvb2wtaWNvbiB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbiAgICBvcGFjaXR5OiAwLjk7XG59XG5cbi5tY3AtdG9vbC1pY29uIHN2ZyB7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIHN0cm9rZS13aWR0aDogMjtcbn1cblxuLm1jcC10b29sLW5hbWUge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XG4gICAgZm9udC1zaXplOiAwLjg1ZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm94KTtcbiAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xufVxuXG4ubWNwLXRvb2wtZGVzYyB7XG4gICAgZm9udC1zaXplOiAwLjg1ZW07XG4gICAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgcGFkZGluZy1sZWZ0OiAyOHB4O1xufVxuXG4vKiBFeGFtcGxlIENvbnRhaW5lciAqL1xuLm1jcC1leGFtcGxlLWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xufVxuXG4vKiBFeGFtcGxlIFRhYnMgKi9cbi5tY3AtZXhhbXBsZS10YWJzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSkgMCUsIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm94KSAxMDAlKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5tY3AtZXhhbXBsZS10YWIge1xuICAgIGZsZXg6IDE7XG4gICAgcGFkZGluZzogMTRweCAyMHB4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gICAgZm9udC1zaXplOiAwLjllbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ubWNwLWV4YW1wbGUtdGFiOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlWCgwKTtcbiAgICB3aWR0aDogODAlO1xuICAgIGhlaWdodDogM3B4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHggM3B4IDAgMDtcbn1cblxuLm1jcC1leGFtcGxlLXRhYjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4wNSk7XG4gICAgY29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLm1jcC1leGFtcGxlLXRhYi5hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMSk7XG4gICAgY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLm1jcC1leGFtcGxlLXRhYi5hY3RpdmU6OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGVYKDEpO1xufVxuXG4vKiBFeGFtcGxlIENvZGUgKi9cbi5tY3AtZXhhbXBsZS1jb2RlLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvZGUtYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLm1jcC1leGFtcGxlLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBhbmltYXRpb246IGZhZGVJbiAwLjNzIGVhc2U7XG59XG5cbi5tY3AtZXhhbXBsZS1ibG9jay5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbn1cblxuLm1jcC1leGFtcGxlLWNvZGUge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAyNHB4IDgwcHggMjRweCAyNHB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvZGUtYmFja2dyb3VuZCkgMCUsIHJnYmEodmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LXJnYiksIDAuNSkgMTAwJSk7XG4gICAgZm9udC1zaXplOiAwLjg1ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNztcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm1jcC1leGFtcGxlLWNvZGU6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdHJhbnNwYXJlbnQsIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKSwgdHJhbnNwYXJlbnQpO1xufVxuXG4ubWNwLWV4YW1wbGUtY29kZSBjb2RlIHtcbiAgICBjb2xvcjogdmFyKC0tY29kZS1ub3JtYWwpO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XG4gICAgd2hpdGUtc3BhY2U6IHByZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG59XG5cbi5tY3AtZXhhbXBsZS1jb3B5LWJ0biB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMjBweDtcbiAgICByaWdodDogMjBweDtcbiAgICBwYWRkaW5nOiA4cHggMTZweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiAwLjg1ZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjMpO1xufVxuXG4ubWNwLWV4YW1wbGUtY29weS1idG46aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC40KTtcbn1cblxuLm1jcC1leGFtcGxlLWNvcHktYnRuOmFjdGl2ZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDRweCByZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjMpO1xufVxuXG4ubWNwLWV4YW1wbGUtY29weS1idG4uY29waWVkIHtcbiAgICBhbmltYXRpb246IGNvcHlTdWNjZXNzIDAuNHMgZWFzZTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLXN1Y2Nlc3MpICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtc3VjY2Vzcy1yZ2IpLCAwLjMpO1xufVxuXG4vKiBBbmltYXRpb25zICovXG5Aa2V5ZnJhbWVzIGNvcHlTdWNjZXNzIHtcbiAgICAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgICA1MCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxufVxuXG5Aa2V5ZnJhbWVzIHB1bHNlIHtcbiAgICAwJSB7IG9wYWNpdHk6IDE7IH1cbiAgICA1MCUgeyBvcGFjaXR5OiAwLjY7IH1cbiAgICAxMDAlIHsgb3BhY2l0eTogMTsgfVxufVxuXG4vKiBTbW9vdGggdHJhbnNpdGlvbnMgZm9yIGFsbCBpbnRlcmFjdGl2ZSBlbGVtZW50cyAqL1xuLm1jcC1jbGllbnQtaGVhZGVyLFxuLm1jcC1leGFtcGxlLXRhYixcbi5tY3AtdG9vbC1jYXJkLFxuYnV0dG9uIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4vKiBDb2RlIHN5bnRheCBjb2xvcnMgZm9yIGJldHRlciByZWFkYWJpbGl0eSAqL1xuLm1jcC1jb25maWctY29kZSAuanNvbi1rZXkge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi5tY3AtY29uZmlnLWNvZGUgLmpzb24tc3RyaW5nIHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1zdWNjZXNzKTtcbn1cblxuLm1jcC1jb25maWctY29kZSAuanNvbi1udW1iZXIge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXdhcm5pbmcpO1xufVxuXG4ubWNwLWNvbmZpZy1jb2RlIC5qc29uLWJvb2xlYW4ge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLyogUmVzcG9uc2l2ZSBhZGp1c3RtZW50cyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLm1jcC10b29scy1ncmlkIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgfVxuICAgIFxuICAgIC5tY3Atc3RhdHVzLWRldGFpbHMge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDhweDtcbiAgICB9XG59XG5cbi5tY3AtZXhhbXBsZS1zdWJ0aXRsZSB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zaXplLTQtNCk7XG59XG5cbi8qIEN1cnNvciBPbmUtQ2xpY2sgSW5zdGFsbCBTZWN0aW9uICovXG4ubWNwLWN1cnNvci1pbnN0YWxsLXNlY3Rpb24ge1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4ubWNwLWN1cnNvci1pbnN0YWxsLWNvbnRhaW5lciB7XG5cdG1hcmdpbi10b3A6IDEycHg7XG59XG5cbi5tY3AtY3Vyc29yLWluc3RhbGwtZGVzYyB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWFyZ2luLWJvdHRvbTogMTJweDtcblx0Zm9udC1zaXplOiAxNHB4O1xufVxuXG4ubWNwLWN1cnNvci1pbnN0YWxsLWxpbmsge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdG1hcmdpbi1ib3R0b206IDE2cHg7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XG59XG5cbi5tY3AtY3Vyc29yLWluc3RhbGwtbGluazpob3ZlciB7XG5cdHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG59XG5cbi5tY3AtY3Vyc29yLWFkZGl0aW9uYWwtYnV0dG9ucyB7XG5cdG1hcmdpbi10b3A6IDEycHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogMTBweDtcbn1cblxuXG4ubWNwLWN1cnNvci1jb3B5LWRlZXBsaW5rLWJ0biB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLW5vcm1hbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0cGFkZGluZzogOHB4IDE2cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi5tY3AtY3Vyc29yLWNvcHktZGVlcGxpbmstYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtaG92ZXIpO1xufVxuXG4ubWNwLWN1cnNvci1jb3B5LWRlZXBsaW5rLWJ0bi5jb3BpZWQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1zdWNjZXNzKTtcblx0Y29sb3I6IHdoaXRlO1xufVxuXG4ubWNwLWN1cnNvci1kZWJ1Zy1jb250YWluZXIge1xuXHRtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4ubWNwLWN1cnNvci1kZWJ1Zy10b2dnbGUge1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4ubWNwLWN1cnNvci1kZWJ1Zy10b2dnbGU6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLm1jcC1jdXJzb3ItZGVidWctY29udGVudCB7XG5cdG1hcmdpbi10b3A6IDEycHg7XG5cdHBhZGRpbmc6IDEycHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4ubWNwLWN1cnNvci1kZWJ1Zy1sYWJlbCB7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tYm90dG9tOiA4cHg7XG5cdG1hcmdpbi10b3A6IDEycHg7XG59XG5cbi5tY3AtY3Vyc29yLWRlYnVnLWxhYmVsOmZpcnN0LWNoaWxkIHtcblx0bWFyZ2luLXRvcDogMDtcbn1cblxuLm1jcC1jdXJzb3ItZGVidWctY29kZSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvZGUtYmFja2dyb3VuZCk7XG5cdHBhZGRpbmc6IDhweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRmb250LXNpemU6IDEycHg7XG5cdG92ZXJmbG93LXg6IGF1dG87XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLm1jcC1jdXJzb3ItZGVidWctY29kZSBjb2RlIHtcblx0Y29sb3I6IHZhcigtLWNvZGUtbm9ybWFsKTtcblx0d29yZC1icmVhazogYnJlYWstYWxsO1xufVxuXG4ubWNwLXNlY3Rpb24tc2VwYXJhdG9yIHtcblx0bWFyZ2luOiAyNHB4IDA7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn0iLCAiLyogV29ya2Zsb3cgRGVjb3JhdG9yIFN0eWxlcyAqL1xuLmNtLXdvcmtmbG93LXN0YWdlLWluZGljYXRvciB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0bWFyZ2luLWxlZnQ6IDRweDtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdG9wYWNpdHk6IDAuNztcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG5cdHVzZXItc2VsZWN0OiBub25lO1xuXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5jbS13b3JrZmxvdy1zdGFnZS1pbmRpY2F0b3Igc3BhbiB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmNtLXdvcmtmbG93LXN0YWdlLWluZGljYXRvcjpob3ZlciB7XG5cdG9wYWNpdHk6IDE7XG59XG5cbi8qIERpZmZlcmVudCBjb2xvcnMgZm9yIGRpZmZlcmVudCBzdGFnZSB0eXBlcyAqL1xuLmNtLXdvcmtmbG93LXN0YWdlLWluZGljYXRvcltkYXRhLXN0YWdlLXR5cGU9XCJsaW5lYXJcIl0ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4uY20td29ya2Zsb3ctc3RhZ2UtaW5kaWNhdG9yW2RhdGEtc3RhZ2UtdHlwZT1cImN5Y2xlXCJdIHtcblx0Y29sb3I6IHZhcigtLXRhc2staW4tcHJvZ3Jlc3MtY29sb3IpO1xufVxuXG4uY20td29ya2Zsb3ctc3RhZ2UtaW5kaWNhdG9yW2RhdGEtc3RhZ2UtdHlwZT1cInRlcm1pbmFsXCJdIHtcblx0Y29sb3I6IHZhcigtLXRhc2stY29tcGxldGVkLWNvbG9yKTtcbn1cblxuLyogRGFyayB0aGVtZSBhZGp1c3RtZW50cyAqL1xuLnRoZW1lLWRhcmsgLmNtLXdvcmtmbG93LXN0YWdlLWluZGljYXRvcltkYXRhLXN0YWdlLXR5cGU9XCJsaW5lYXJcIl0ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4udGhlbWUtZGFyayAuY20td29ya2Zsb3ctc3RhZ2UtaW5kaWNhdG9yW2RhdGEtc3RhZ2UtdHlwZT1cImN5Y2xlXCJdIHtcblx0Y29sb3I6IHZhcigtLXRhc2staW4tcHJvZ3Jlc3MtY29sb3IpO1xufVxuXG4udGhlbWUtZGFyayAuY20td29ya2Zsb3ctc3RhZ2UtaW5kaWNhdG9yW2RhdGEtc3RhZ2UtdHlwZT1cInRlcm1pbmFsXCJdIHtcblx0Y29sb3I6IHZhcigtLXRhc2stY29tcGxldGVkLWNvbG9yKTtcbn1cbiIsICIvKiBRdWljayBDYXB0dXJlIEVuaGFuY2VkIFN0eWxlcyAtIHdpdGggc2hhZGNuIHRoZW1lICovXG5cbjpyb290IHtcblx0LyogVGFiIGNvbXBvbmVudCBjb2xvcnMgKi9cblx0LS10Zy10YWItYmFja2dyb3VuZDogMCAwJSAxMDAlO1xuXHQtLXRnLXRhYi1mb3JlZ3JvdW5kOiAyNDAgMTAlIDMuOSU7XG5cdC0tdGctdGFiLW11dGVkOiAyNDAgNC44JSA5NS45JTtcblx0LS10Zy10YWItbXV0ZWQtZm9yZWdyb3VuZDogMjQwIDMuOCUgNDYuMSU7XG5cdC0tdGctdGFiLWJvcmRlcjogMjQwIDUuOSUgOTAlO1xuXG5cdC8qIFF1aWNrIENhcHR1cmUgSGVhZGVyIGJhY2tncm91bmQgKGxpZ2h0KSAqL1xuXHQtLXRnLXFjLWhlYWRlci1iZzogMCAwJSAxMDAlO1xufVxuXG4udGhlbWUtZGFyayB7XG5cdC0tdGctdGFiLWJhY2tncm91bmQ6IDI0MCAxMCUgMy45JTtcblx0LS10Zy10YWItZm9yZWdyb3VuZDogMCAwJSA5OCU7XG5cdC0tdGctdGFiLW11dGVkOiAyNDAgMy43JSAxNS45JTtcblx0LS10Zy10YWItbXV0ZWQtZm9yZWdyb3VuZDogMjQwIDUlIDY0LjklO1xuXHQtLXRnLXRhYi1ib3JkZXI6IDI0MCAzLjclIDE1LjklO1xuXG5cdC8qIFF1aWNrIENhcHR1cmUgSGVhZGVyIGJhY2tncm91bmQgKGRhcmspICovXG5cdC0tdGctcWMtaGVhZGVyLWJnOiAyNDAgNCUgMTAlO1xufVxuXG4vKiBRdWljayBDYXB0dXJlIEhlYWRlciAtIHNoYWRjbiBzdHlsZSwgd2l0aCBjdXN0b20gYmFja2dyb3VuZCBmb3IgaGVhZGVyICovXG4ucXVpY2stY2FwdHVyZS1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDEycHggMTZweDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGhzbCh2YXIoLS10Zy10YWItYm9yZGVyKSk7XG5cdGJhY2tncm91bmQ6IGhzbCh2YXIoLS10Zy1xYy1oZWFkZXItYmcpKTtcbn1cblxuLnRnLW1pbmltYWwtY2FwdHVyZS1tb2RhbCAucXVpY2stY2FwdHVyZS1oZWFkZXIge1xuXHRwYWRkaW5nOiA0cHggOHB4O1xufVxuXG4udGctbWluaW1hbC1jYXB0dXJlLW1vZGFsIC5tb2RlbC1oZWFkZXIge1xuXHRtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiBRdWljayBDYXB0dXJlIFRhYnMgLSBzaGFkY24gc3R5bGUgKi9cbi5xdWljay1jYXB0dXJlLXRhYnMge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0cGFkZGluZzogNHB4O1xuXHRiYWNrZ3JvdW5kOiBoc2wodmFyKC0tdGctdGFiLW11dGVkKSk7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0Z2FwOiAycHg7XG59XG5cbi5xdWljay1jYXB0dXJlLXRhYiB7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMTVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG5cdGNvbG9yOiBoc2wodmFyKC0tdGctdGFiLW11dGVkLWZvcmVncm91bmQpKTtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnRnLW1pbmltYWwtY2FwdHVyZS1tb2RhbCAucXVpY2stY2FwdHVyZS10YWItdGV4dCB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi50Zy1taW5pbWFsLWNhcHR1cmUtbW9kYWwgLnF1aWNrLWNhcHR1cmUtdGFiLWljb24ge1xuXHRtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5xdWljay1jYXB0dXJlLXRhYjpob3Zlcjpub3QoLmFjdGl2ZSkge1xuXHRjb2xvcjogaHNsKHZhcigtLXRnLXRhYi1mb3JlZ3JvdW5kKSk7XG59XG5cbi5xdWljay1jYXB0dXJlLXRhYi5hY3RpdmUge1xuXHRiYWNrZ3JvdW5kOiBoc2wodmFyKC0tdGctdGFiLWJhY2tncm91bmQpKTtcblx0Y29sb3I6IGhzbCh2YXIoLS10Zy10YWItZm9yZWdyb3VuZCkpO1xuXHRib3gtc2hhZG93OlxuXHRcdDAgMXB4IDNweCAwIHJnYigwIDAgMCAvIDAuMSksXG5cdFx0MCAxcHggMnB4IC0xcHggcmdiKDAgMCAwIC8gMC4xKTtcbn1cblxuLnF1aWNrLWNhcHR1cmUtdGFicy5pcy1oaWRkZW4ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4vKiBRdWljayBDYXB0dXJlIFRhYiBCdXR0b24gSWNvbiBhbmQgVGV4dCAtIHNoYWRjbiBzdHlsZSAqL1xuLnF1aWNrLWNhcHR1cmUtdGFiLWljb24ge1xuXHRtYXJnaW4tcmlnaHQ6IDZweDtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG59XG5cbi5xdWljay1jYXB0dXJlLXRhYi1pY29uIHN2ZyB7XG5cdHdpZHRoOiAxNHB4O1xuXHRoZWlnaHQ6IDE0cHg7XG59XG5cbi5xdWljay1jYXB0dXJlLXRhYi10ZXh0IHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4vKiBRdWljayBDYXB0dXJlIENsZWFyIEJ1dHRvbiAtIHNoYWRjbiBzdHlsZSAqL1xuLnF1aWNrLWNhcHR1cmUtY2xlYXIge1xuXHRwYWRkaW5nOiA2cHggMTJweDtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdGJvcmRlcjogMXB4IHNvbGlkIGhzbCh2YXIoLS10Zy10YWItYm9yZGVyKSk7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4xNXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcblx0Y29sb3I6IGhzbCh2YXIoLS10Zy10YWItbXV0ZWQtZm9yZWdyb3VuZCkpO1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5xdWljay1jYXB0dXJlLWNsZWFyOmhvdmVyIHtcblx0LypiYWNrZ3JvdW5kOiBoc2wodmFyKC0tdGctdGFiLW11dGVkKSk7Ki9cblx0Lypjb2xvcjogaHNsKHZhcigtLXRnLXRhYi1mb3JlZ3JvdW5kKSk7Ki9cblx0Lypib3JkZXItY29sb3I6IGhzbCh2YXIoLS10Zy10YWItbXV0ZWQtZm9yZWdyb3VuZCkpOyovXG59XG5cbi8qIFF1aWNrIENhcHR1cmUgQ29udGVudCAqL1xuLnF1aWNrLWNhcHR1cmUtY29udGVudCB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcbn1cblxuLyogUXVpY2sgQ2FwdHVyZSBGb290ZXIgKi9cbi5xdWljay1jYXB0dXJlLWZvb3RlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4ucXVpY2stY2FwdHVyZS1mb290ZXItbGVmdCxcbi5xdWljay1jYXB0dXJlLWZvb3Rlci1yaWdodCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xufVxuXG4ucXVpY2stY2FwdHVyZS1jb250aW51ZSB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKSB2YXIoLS1zaXplLTQtMyk7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4vKiBGaWxlIE5hbWUgSW5wdXQgQ29tcG9uZW50ICovXG4uZmlsZS1uYW1lLWlucHV0LWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTEpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMyk7XG59XG5cbi5maWxlLW5hbWUtbGFiZWwge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5maWxlLW5hbWUtaW5wdXQge1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmZpbGUtbmFtZS1pbnB1dDpmb2N1cyB7XG5cdG91dGxpbmU6IG5vbmU7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi5maWxlLW5hbWUtdGVtcGxhdGVzIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4udGVtcGxhdGVzLWxhYmVsIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMSk7XG59XG5cbi50ZW1wbGF0ZS1idXR0b25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRnYXA6IHZhcigtLXNpemUtMi0xKTtcbn1cblxuLnRlbXBsYXRlLWJ1dHRvbiB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTItMyk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50ZW1wbGF0ZS1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4vKiBNb2RlLXNwZWNpZmljIGFkanVzdG1lbnRzICovXG4ucXVpY2stY2FwdHVyZS1tb2RhbC5xdWljay1jYXB0dXJlLWNoZWNrYm94IHtcblx0d2lkdGg6IDgwMHB4O1xuXHRtYXgtd2lkdGg6IDkwdnc7XG5cdGhlaWdodDogNzAwcHg7XG5cdG1heC1oZWlnaHQ6IDgwdmg7XG5cdG1pbi1oZWlnaHQ6IGZpdC1jb250ZW50O1xufVxuXG4ucXVpY2stY2FwdHVyZS1tb2RhbC5xdWljay1jYXB0dXJlLWZpbGUge1xuXHR3aWR0aDogODAwcHg7XG5cdG1heC13aWR0aDogOTB2dztcblx0aGVpZ2h0OiA3MDBweDtcblx0bWF4LWhlaWdodDogODB2aDtcblx0bWluLWhlaWdodDogZml0LWNvbnRlbnQ7XG59XG5cbi5xdWljay1jYXB0dXJlLW1vZGFsLnRnLW1pbmltYWwtY2FwdHVyZS1tb2RhbCB7XG5cdHdpZHRoOiA2MDBweDtcblx0bWF4LXdpZHRoOiA5MHZ3O1xuXHRoZWlnaHQ6IDMwMHB4O1xuXHRtYXgtaGVpZ2h0OiA4MHZoO1xuXHRtaW4taGVpZ2h0OiBmaXQtY29udGVudDtcbn1cblxuLyogUXVpY2sgQ2FwdHVyZSBQYW5lbCAqL1xuLnF1aWNrLWNhcHR1cmUtcGFuZWwge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4vKiBRdWljayBDYXB0dXJlIEFjdGlvbnMgKi9cbi5xdWljay1jYXB0dXJlLWFjdGlvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IHZhcigtLXNpemUtMi0xKTtcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5xdWljay1jYXB0dXJlLWFjdGlvbnMgLnF1aWNrLWFjdGlvbi1idXR0b24ge1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ucXVpY2stY2FwdHVyZS1hY3Rpb25zIC5xdWljay1hY3Rpb24tYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5xdWljay1jYXB0dXJlLWFjdGlvbnMgLnF1aWNrLWFjdGlvbi1idXR0b24uYWN0aXZlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLyogTWluaW1hbCBRdWljayBDYXB0dXJlIE1vZGFsICovXG4ucXVpY2stY2FwdHVyZS1tb2RhbC5taW5pbWFsIHtcblx0bWF4LXdpZHRoOiA2MDBweDtcblx0bWluLXdpZHRoOiA1MDBweDtcblx0bWF4LWhlaWdodDogMzAwcHg7XG59XG5cbi8qIE1pbmltYWwgUXVpY2sgQ2FwdHVyZSBUYXJnZXQgRGlzcGxheSAqL1xuLnF1aWNrLWNhcHR1cmUtbWluaW1hbC10YXJnZXQtY29udGFpbmVyIHtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRtYXJnaW4tYm90dG9tOiAxMnB4O1xufVxuXG4ucXVpY2stY2FwdHVyZS1taW5pbWFsLXRhcmdldCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogOHB4O1xuXHRmb250LXNpemU6IDE0cHg7XG59XG5cbi5xdWljay1jYXB0dXJlLXRhcmdldC1sYWJlbCB7XG5cdGNvbG9yOiBoc2wodmFyKC0tdGctdGFiLW11dGVkLWZvcmVncm91bmQpKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLnF1aWNrLWNhcHR1cmUtdGFyZ2V0LXZhbHVlIHtcblx0Y29sb3I6IGhzbCh2YXIoLS10Zy10YWItZm9yZWdyb3VuZCkpO1xuXHRmbGV4OiAxO1xufVxuXG4ucXVpY2stY2FwdHVyZS1taW5pbWFsLWZpbGUtaW5wdXQge1xuXHRmbGV4OiAxO1xuXHRwYWRkaW5nOiA0cHggOHB4O1xuXHRiYWNrZ3JvdW5kOiBoc2wodmFyKC0tdGctdGFiLWJhY2tncm91bmQpKTtcblx0Ym9yZGVyOiAxcHggc29saWQgaHNsKHZhcigtLXRnLXRhYi1ib3JkZXIpKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGNvbG9yOiBoc2wodmFyKC0tdGctdGFiLWZvcmVncm91bmQpKTtcbn1cblxuLnF1aWNrLWNhcHR1cmUtbWluaW1hbC1maWxlLWlucHV0OmZvY3VzIHtcblx0b3V0bGluZTogbm9uZTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLyogUmVtb3ZlZCBtaW5pbWFsIG1vZGUgc3R5bGVzIGFzIG1pbmltYWwgVUkgbW9kZSBubyBsb25nZXIgZXhpc3RzICovXG5cbi5xdWljay1hY3Rpb25zLWxlZnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IHZhcigtLXNpemUtMi0xKTtcbn1cblxuLnF1aWNrLWFjdGlvbnMtcmlnaHQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IHZhcigtLXNpemUtMi0xKTtcbn1cblxuLnF1aWNrLWFjdGlvbi1idXR0b24uYWN0aXZlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4ucXVpY2stYWN0aW9uLXNhdmUge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS00LTIpO1xuXHRtaW4td2lkdGg6IDgwcHg7XG5cdGhlaWdodDogMzJweDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xufVxuXG4ucXVpY2stY2FwdHVyZS10YWctaW5wdXQge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJvdHRvbTogNjBweDtcblx0bGVmdDogNTAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdHdpZHRoOiAzMDBweDtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXRleHQtc2l6ZSk7XG5cdHotaW5kZXg6IDEwMDA7XG59XG5cbi8qIE1pbmltYWwgUXVpY2sgQ2FwdHVyZSBTdWdnZXN0ICovXG4ubWluaW1hbC1xdWljay1jYXB0dXJlLXN1Z2dlc3Rpb24ge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS00LTIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG5cdG1pbi1oZWlnaHQ6IDQwcHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5taW5pbWFsLXF1aWNrLWNhcHR1cmUtc3VnZ2VzdGlvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4ubWluaW1hbC1xdWljay1jYXB0dXJlLXN1Z2dlc3Rpb24uaXMtc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ubWluaW1hbC1xdWljay1jYXB0dXJlLXN1Z2dlc3Rpb24uaXMtc2VsZWN0ZWQgLnN1Z2dlc3Rpb24tbGFiZWwge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ubWluaW1hbC1xdWljay1jYXB0dXJlLXN1Z2dlc3Rpb24uaXMtc2VsZWN0ZWQgLnN1Z2dlc3Rpb24tZGVzY3JpcHRpb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRvcGFjaXR5OiAwLjg7XG59XG5cbi5zdWdnZXN0aW9uLWljb24ge1xuXHRmb250LXNpemU6IDE2cHg7XG5cdG1pbi13aWR0aDogMjBweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uc3VnZ2VzdGlvbi1jb250ZW50IHtcblx0ZmxleDogMTtcbn1cblxuLnN1Z2dlc3Rpb24tbGFiZWwge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdGV4dC1zaXplKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnN1Z2dlc3Rpb24tZGVzY3JpcHRpb24ge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi10b3A6IDJweDtcbn1cblxuLnF1aWNrLWNhcHR1cmUtaGVhZGVyLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtNC0yKTtcblx0ZmxleC13cmFwOiBub3dyYXA7XG59XG5cbi5xdWljay1jYXB0dXJlLXRpdGxlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnF1aWNrLWNhcHR1cmUtdGFyZ2V0IHtcblx0ZmxleDogMTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdGV4dC1zaXplKTtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0bWluLXdpZHRoOiAxMDBweDtcblx0bWF4LXdpZHRoOiA1MDBweDtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdHBhZGRpbmc6IDJweCA0cHg7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xufVxuXG4ucXVpY2stY2FwdHVyZS10YXJnZXQ6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnF1aWNrLWNhcHR1cmUtdGFyZ2V0OmZvY3VzIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRvdXRsaW5lLW9mZnNldDogLTFweDtcblx0b3ZlcmZsb3c6IHZpc2libGU7XG5cdHRleHQtb3ZlcmZsb3c6IGluaXRpYWw7XG59XG5cbi5xdWljay1jYXB0dXJlLWhpbnQge1xuXHRmb250LXNpemU6IDEycHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xuXHRtYXJnaW4tdG9wOiAtNHB4O1xuXHR0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnF1aWNrLWNhcHR1cmUtZWRpdG9yIHtcblx0bWluLWhlaWdodDogMjAwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG59XG5cbi5xdWljay1jYXB0dXJlLWZpbGUtc3VnZ2VzdCB7XG5cdG1heC13aWR0aDogNTAwcHg7XG59XG5cbi5xdWljay1jYXB0dXJlLWJ1dHRvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRnYXA6IDhweDtcbn1cblxuLnF1aWNrLWNhcHR1cmUtc3VibWl0LFxuLnF1aWNrLWNhcHR1cmUtY2FuY2VsIHtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4ucXVpY2stY2FwdHVyZS1zdWJtaXQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ucXVpY2stY2FwdHVyZS1jYW5jZWwge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5xdWljay1jYXB0dXJlLW1vZGFsIC5tb2RhbC10aXRsZTpoYXMoLmlzLWhpZGRlbikge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4ucXVpY2stY2FwdHVyZS1tb2RhbCAubW9kYWwtdGl0bGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRnYXA6IDEwcHg7XG5cblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4ucXVpY2stY2FwdHVyZS1tb2RhbC1lZGl0b3Ige1xuXHRtaW4taGVpZ2h0OiAxNTBweDtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLnF1aWNrLWNhcHR1cmUtbW9kYWwtYnV0dG9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdGdhcDogMTBweDtcbn1cblxuLyogRnVsbC1mZWF0dXJlZCBtb2RhbCBzdHlsZXMgKi9cbi5xdWljay1jYXB0dXJlLW1vZGFsLmZ1bGwge1xuXHR3aWR0aDogODB2dztcblx0bWF4LXdpZHRoOiA5MDBweDtcbn1cblxuLnF1aWNrLWNhcHR1cmUtbGF5b3V0IHtcblx0ZGlzcGxheTogZmxleDtcblx0aGVpZ2h0OiAxMDAlO1xuXHRnYXA6IDE2cHg7XG5cdG1hcmdpbi1ib3R0b206IDE2cHg7XG59XG5cbi5xdWljay1jYXB0dXJlLWNvbmZpZy1wYW5lbCB7XG5cdGZsZXg6IDE7XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0cGFkZGluZy1yaWdodDogMTZweDtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0bWF4LXdpZHRoOiA0MCU7XG59XG5cbi5xdWljay1jYXB0dXJlLWVkaXRvci1wYW5lbCB7XG5cdGZsZXg6IDEuNTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLnF1aWNrLWNhcHR1cmUtc2VjdGlvbi10aXRsZSB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRtYXJnaW4tYm90dG9tOiA4cHg7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ucXVpY2stY2FwdHVyZS10YXJnZXQtY29udGFpbmVyIHtcblx0bWFyZ2luLWJvdHRvbTogMTZweDtcbn1cblxuLnF1aWNrLWNhcHR1cmUtbW9kYWwuZnVsbCAucXVpY2stY2FwdHVyZS1tb2RhbC1lZGl0b3Ige1xuXHRtaW4taGVpZ2h0OiAyMDBweDtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHBhZGRpbmc6IDhweDtcblx0bWFyZ2luLXRvcDogOHB4O1xufVxuXG4vKiBNb2JpbGUgb3B0aW1pemF0aW9uICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0LnF1aWNrLWNhcHR1cmUtbW9kYWwuZnVsbCB7XG5cdFx0d2lkdGg6IDk1dnc7XG5cdH1cblxuXHQucXVpY2stY2FwdHVyZS1sYXlvdXQge1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdH1cblxuXHQucXVpY2stY2FwdHVyZS1jb25maWctcGFuZWwge1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRib3JkZXItcmlnaHQ6IG5vbmU7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdHBhZGRpbmctYm90dG9tOiAxNnB4O1xuXHRcdG1hcmdpbi1ib3R0b206IDE2cHg7XG5cdFx0bWF4LWhlaWdodDogNDAlO1xuXHR9XG59XG5cbi5xdWljay1jYXB0dXJlLWNvbmZpZy1wYW5lbCAuZGV0YWlscy1zdGF0dXMtc2VsZWN0b3Ige1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5xdWljay1jYXB0dXJlLWNvbmZpZy1wYW5lbCAucXVpY2stY2FwdHVyZS1zdGF0dXMtc2VsZWN0b3Ige1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cblx0Z2FwOiB2YXIoLS1zaXplLTQtMyk7XG59XG4iLCAiLyogVGFncyBWaWV3IFN0eWxlcyAqL1xuLnRhZ3MtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0aGVpZ2h0OiAxMDAlO1xuXHR3aWR0aDogMTAwJTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0ZmxleDogMTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXc6aGFzKC50YXNrLWRldGFpbHMudmlzaWJsZSkgLnRhZ3MtbGVmdC1jb2x1bW4ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4udGFncy1jb250ZW50IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0ZmxleDogMTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm11bHRpLXNlbGVjdC1tb2RlIC50YWdzLW11bHRpLXNlbGVjdC1idG4ge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbn1cblxuLnRhZ3MtbGVmdC1jb2x1bW4ge1xuXHR3aWR0aDogbWF4KDEyMHB4LCAzMCUpO1xuXHRtaW4td2lkdGg6IG1pbigxMjBweCwgMzAlKTtcblx0bWF4LXdpZHRoOiA0MDBweDtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udGFncy1yaWdodC1jb2x1bW4ge1xuXHRmbGV4OiAxO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udGFncy1zaWRlYmFyLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC00KTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtMTApO1xufVxuXG4udGFncy1zaWRlYmFyLXRpdGxlIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Zm9udC1zaXplOiAxNHB4O1xufVxuXG4udGFncy1tdWx0aS1zZWxlY3QtYnRuIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi50YWdzLW11bHRpLXNlbGVjdC1idG46aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFncy1zaWRlYmFyLWxpc3Qge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG5cblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTItMSk7XG59XG5cbi50YWctbGlzdC1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogNHB4IDEycHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG59XG5cbi50YWctbGlzdC1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi50YWctbGlzdC1pdGVtLnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUpO1xufVxuXG4udGFnLWluZGVudCB7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4udGFnLWljb24ge1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNpemUtMi0yKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHQtLWljb24tc2l6ZTogdmFyKC0tc2l6ZS00LTQpO1xufVxuXG4udGFnLW5hbWUge1xuXHRmbGV4OiAxO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnRhZy1jb3VudCB7XG5cdG1hcmdpbi1sZWZ0OiA4cHg7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xuXHRwYWRkaW5nOiAxcHggNnB4O1xufVxuXG4udGFnLWNoaWxkcmVuIHtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi50YWdzLXRhc2staGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTQpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC0xMCk7XG59XG5cbi50YWdzLXRhc2stdGl0bGUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LXNpemU6IDE2cHg7XG59XG5cbi50YWdzLXRhc2stY291bnQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50YWdzLXRhc2stbGlzdCB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi50YWdzLWVtcHR5LXN0YXRlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGhlaWdodDogMTAwJTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdHBhZGRpbmc6IDE2cHg7XG59XG5cbi50YWctc2VjdGlvbi1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiA4cHggMTVweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xufVxuXG4udGFnLXNlY3Rpb24taGVhZGVyIC5zZWN0aW9uLXRvZ2dsZSB7XG5cdG1hcmdpbi1yaWdodDogOHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnRhZy1zZWN0aW9uLWhlYWRlciAuc2VjdGlvbi10aXRsZSB7XG5cdGZsZXg6IDE7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi50YWctc2VjdGlvbi1oZWFkZXIgLnNlY3Rpb24tY291bnQge1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0cGFkZGluZzogMnB4IDZweDtcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtNSk7XG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtNSk7XG59XG5cbi8qIFRhZ3MgVmlldyAtIE1vYmlsZSAqL1xuLmlzLXBob25lIC50YWdzLWNvbnRhaW5lciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmlzLXBob25lIC50YWdzLWxlZnQtY29sdW1uIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAwO1xuXHR0b3A6IDA7XG5cdGhlaWdodDogMTAwJTtcblx0ei1pbmRleDogMTA7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0d2lkdGg6IDEwMCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0O1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5pcy1waG9uZSAudGFncy1sZWZ0LWNvbHVtbi5pcy12aXNpYmxlIHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG4uaXMtcGhvbmUgLnRhZ3Mtc2lkZWJhci10b2dnbGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XG59XG5cbi5pcy1waG9uZSAudGFncy1zaWRlYmFyLWNsb3NlIHtcblx0LS1pY29uLXNpemU6IHZhcigtLXNpemUtNC00KTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IHZhcigtLXNpemUtNC0yKTtcblx0cmlnaHQ6IDEwcHg7XG5cdHotaW5kZXg6IDE1O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLyogQWRkIG92ZXJsYXkgd2hlbiBsZWZ0IGNvbHVtbiBpcyB2aXNpYmxlIG9uIG1vYmlsZSAqL1xuLmlzLXBob25lIC50YWdzLWNvbnRhaW5lcjpoYXMoLnRhZ3MtbGVmdC1jb2x1bW4uaXMtdmlzaWJsZSk6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWNvdmVyKTtcblx0b3BhY2l0eTogMC41O1xuXHR6LWluZGV4OiA1O1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG59XG5cbi5pcy1waG9uZSAudGFncy1zaWRlYmFyLWhlYWRlcjpoYXMoLnRhZ3Mtc2lkZWJhci1jbG9zZSkge1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zaXplLTQtMTIpO1xufVxuIiwgIi8qIFByb2plY3RzIFZpZXcgU3R5bGVzICovXG4ucHJvamVjdHMtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0aGVpZ2h0OiAxMDAlO1xuXHR3aWR0aDogMTAwJTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnByb2plY3RzLWNvbnRlbnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucHJvamVjdHMtbGVmdC1jb2x1bW4ge1xuXHR3aWR0aDogbWF4KDEyMHB4LCAzMCUpO1xuXHRtaW4td2lkdGg6IG1pbigxMjBweCwgMzAlKTtcblx0bWF4LXdpZHRoOiAzMDBweDtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uaXMtcGhvbmUgLnByb2plY3RzLWxlZnQtY29sdW1uIHtcblx0bWF4LXdpZHRoOiAxMDAlO1xufVxuXG4ucHJvamVjdHMtcmlnaHQtY29sdW1uIHtcblx0ZmxleDogMTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnByb2plY3RzLXNpZGViYXItaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTQpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC0xMCk7XG59XG5cbi5wcm9qZWN0cy1zaWRlYmFyLXRpdGxlIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Zm9udC1zaXplOiAxNHB4O1xufVxuXG4ucHJvamVjdHMtc2lkZWJhci1oZWFkZXItYnRuLWdyb3VwIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5tdWx0aS1zZWxlY3QtbW9kZSAucHJvamVjdHMtbXVsdGktc2VsZWN0LWJ0biB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xufVxuXG4ucHJvamVjdHMtdHJlZS10b2dnbGUtYnRuIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5wcm9qZWN0cy1tdWx0aS1zZWxlY3QtYnRuIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5wcm9qZWN0cy1tdWx0aS1zZWxlY3QtYnRuOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnByb2plY3RzLXNpZGViYXItbGlzdCB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5wcm9qZWN0LWxpc3QtaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5wcm9qZWN0LWxpc3QtaXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4ucHJvamVjdC1saXN0LWl0ZW0uc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi5wcm9qZWN0LWljb24ge1xuXHRtYXJnaW4tcmlnaHQ6IDhweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ucHJvamVjdC1uYW1lIHtcblx0ZmxleDogMTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5wcm9qZWN0LWNvdW50IHtcblx0bWFyZ2luLWxlZnQ6IDhweDtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cdHBhZGRpbmc6IDFweCA2cHg7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLCBjb2xvciAwLjJzIGVhc2U7XG59XG5cbi8qIFByb2dyZXNzIGNvdW50IHN0eWxpbmcgd2hlbiBzaG93aW5nIGNvbXBsZXRlZC90b3RhbCAqL1xuLnByb2plY3QtY291bnQucGFydGlhbGx5LWNvbXBsZXRlZCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LXN1Y2Nlc3MpO1xufVxuXG4ucHJvamVjdC1jb3VudC5hbGwtY29tcGxldGVkIHtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnByb2plY3QtY291bnQuaGFzLXByb2dyZXNzIHtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xufVxuXG4vKiBTZWxlY3RlZCBzdGF0ZSBvdmVycmlkZXMgKi9cbi5wcm9qZWN0LWxpc3QtaXRlbS5zZWxlY3RlZCAucHJvamVjdC1jb3VudCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi5wcm9qZWN0LWxpc3QtaXRlbS5zZWxlY3RlZCAucHJvamVjdC1jb3VudC5hbGwtY29tcGxldGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xufVxuXG4ucHJvamVjdHMtdGFzay1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtNCk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdG1pbi1oZWlnaHQ6IHZhcigtLXNpemUtNC0xMCk7XG59XG5cbi5wcm9qZWN0cy1oZWFkZXItbWFpbi1jb250ZW50IHtcblx0ZmxleDogMTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5wcm9qZWN0cy1oZWFkZXItdG9wLXJvdyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuXHR3aWR0aDogMTAwJTtcbn1cblxuLnByb2plY3RzLWhlYWRlci10b3AtcmlnaHQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLyogUHJvZ3Jlc3MgYmFyIHN0eWxlcyBmb3IgUHJvamVjdHMgdmlldyAqL1xuLnByb2plY3RzLWhlYWRlci1wcm9ncmVzcyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogNnB4O1xuXHRtYXJnaW4tdG9wOiA0cHg7XG59XG5cbi8qIEFkanVzdCB0aGUgZXhpc3RpbmcgcHJvZ3Jlc3MgYmFyIHN0eWxlcyB3aGVuIHVzZWQgaW4gcHJvamVjdHMgdmlldyAqL1xuLnByb2plY3RzLWhlYWRlci1wcm9ncmVzcyAuY20tdGFzay1wcm9ncmVzcy1iYXIge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4ucHJvamVjdHMtaGVhZGVyLXByb2dyZXNzIC5wcm9ncmVzcy1iYXItaW5saW5lLWJhY2tncm91bmQge1xuXHRmbGV4OiAxO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5wcm9qZWN0cy1oZWFkZXItcHJvZ3Jlc3MgLnByb2dyZXNzLXN0YXR1cyB7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnByb2plY3RzLXRhc2stdGl0bGUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LXNpemU6IDE2cHg7XG59XG5cbi5wcm9qZWN0cy10YXNrLWNvdW50IHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4ucHJvamVjdHMtdGFzay1saXN0IHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3cteTogYXV0bztcbn1cblxuLnByb2plY3RzLWVtcHR5LXN0YXRlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGhlaWdodDogMTAwJTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdHBhZGRpbmc6IDE2cHg7XG59XG5cbi8qIFByb2plY3RzIFZpZXcgLSBNb2JpbGUgKi9cbi5pcy1waG9uZSAucHJvamVjdHMtbGVmdC1jb2x1bW4ge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDA7XG5cdHRvcDogMDtcblx0aGVpZ2h0OiAxMDAlO1xuXHR6LWluZGV4OiAxMDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHR3aWR0aDogMTAwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQ7XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLmlzLXBob25lIC5wcm9qZWN0cy1sZWZ0LWNvbHVtbi5pcy12aXNpYmxlIHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG4uaXMtcGhvbmUgLnByb2plY3RzLXNpZGViYXItdG9nZ2xlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG4uaXMtcGhvbmUgLnByb2plY3RzLXNpZGViYXItY2xvc2Uge1xuXHQtLWljb24tc2l6ZTogdmFyKC0tc2l6ZS00LTQpO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRyaWdodDogMTBweDtcblx0ei1pbmRleDogMTU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4vKiBBZGQgb3ZlcmxheSB3aGVuIGxlZnQgY29sdW1uIGlzIHZpc2libGUgb24gbW9iaWxlICovXG4uaXMtcGhvbmUgLnByb2plY3RzLWNvbnRhaW5lcjpoYXMoLnByb2plY3RzLWxlZnQtY29sdW1uLmlzLXZpc2libGUpOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1jb3Zlcik7XG5cdG9wYWNpdHk6IDAuNTtcblx0ei1pbmRleDogNTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xufVxuXG4vKiBBZGQgcG9zaXRpb24gcmVsYXRpdmUgdG8gY29udGFpbmVyIGZvciBhYnNvbHV0ZSBwb3NpdGlvbmluZyBjb250ZXh0ICovXG4uaXMtcGhvbmUgLnByb2plY3RzLWNvbnRhaW5lciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmlzLXBob25lIC5wcm9qZWN0cy1zaWRlYmFyLWhlYWRlcjpoYXMoLnByb2plY3RzLXNpZGViYXItY2xvc2UpIHtcblx0cGFkZGluZy1yaWdodDogdmFyKC0tc2l6ZS00LTEyKTtcbn1cblxuLyogUHJvamVjdCBpbmZvIHBvcG92ZXIgc3R5bGluZyAqL1xuLnRnLXByb2plY3QtcG9wb3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zKTtcblx0cGFkZGluZzogMTBweCAxMnB4O1xuXHRtYXgtd2lkdGg6IDUyMHB4O1xuXHRtYXgtaGVpZ2h0OiA2MHZoO1xuXHRvdmVyZmxvdzogYXV0bztcbn1cblxuLnRnLXByb2plY3QtcHJvcHMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDZweDtcbn1cblxuLyogRWFjaCByb3c6IGtleSBvbiB0aGUgbGVmdCwgdmFsdWUgb24gdGhlIHJpZ2h0ICovXG4udGctcHJvamVjdC1wcm9wcyA+IGRpdiB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDkwcHgsIDE2MHB4KSAxZnI7XG5cdGFsaWduLWl0ZW1zOiBzdGFydDtcblx0Y29sdW1uLWdhcDogMTBweDtcblx0cGFkZGluZzogMnB4IDA7XG59XG5cbi8qIEtleSBjZWxsICovXG4udGctcHJvamVjdC1wcm9wcyA+IGRpdiA+IGRpdjpmaXJzdC1jaGlsZCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRsaW5lLWhlaWdodDogMS4zO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLyogVmFsdWUgY2VsbCAqL1xuLnRnLXByb2plY3QtcHJvcHMgPiBkaXYgPiBkaXY6bGFzdC1jaGlsZCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG5cdHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcblx0d29yZC1icmVhazogYnJlYWstd29yZDtcbn1cblxuLyogSW5mbyBidXR0b24gcG9saXNoICovXG4ucHJvamVjdHMtcHJvcHMtYnRuIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogdmFyKC0taWNvbi1zaXplLCAyNHB4KTtcblx0aGVpZ2h0OiB2YXIoLS1pY29uLXNpemUsIDI0cHgpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xufVxuLnByb2plY3RzLXByb3BzLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuIiwgIi8qKlxuICogUHJvamVjdCBUcmVlIFZpZXcgU3R5bGVzXG4gKi9cblxuOnJvb3Qge1xuXHQvKiBEZWZhdWx0IHRyZWUgaW5kZW50YXRpb24gc2l6ZSBwZXIgbGV2ZWwgKi9cblx0LS10cmVlLWluZGVudC1zaXplOiAxLjVyZW07XG5cdC8qIEd1aWRlIGxpbmUgY29sb3IgKi9cblx0LS10cmVlLWd1aWRlLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi8qIENvbnRhaW5lciAqL1xuLnByb2plY3QtdHJlZS1jb250YWluZXIge1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG92ZXJmbG93OiBhdXRvO1xufVxuXG4ucHJvamVjdC10cmVlIHtcblx0cGFkZGluZzogMC41cmVtIDA7XG59XG5cbi8qIFRyZWUgSXRlbSBCYXNlICovXG4ucHJvamVjdC10cmVlLWl0ZW0ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHVzZXItc2VsZWN0OiBub25lO1xuXHQtLXRyZWUtbGV2ZWw6IDA7IC8qIERlZmF1bHQgbGV2ZWwsIHdpbGwgYmUgb3ZlcnJpZGRlbiBieSBpbmxpbmUgc3R5bGUgKi9cbn1cblxuLnByb2plY3QtdHJlZS1pdGVtLWNvbnRlbnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiA4cHg7XG5cdHBhZGRpbmctbGVmdDogY2FsYyhjYWxjKHZhcigtLXRyZWUtbGV2ZWwpIC0gMSkgKiB2YXIoLS10cmVlLWluZGVudC1zaXplKSk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2U7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnByb2plY3QtdHJlZS1pdGVtLWNvbnRlbnQ6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLyogU2VsZWN0ZWQgU3RhdGUgKi9cbi5wcm9qZWN0LXRyZWUtaXRlbS5pcy1zZWxlY3RlZCA+IC5wcm9qZWN0LXRyZWUtaXRlbS1jb250ZW50IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUtaG92ZXIpO1xufVxuXG4vKiBUb2dnbGUgQnV0dG9uICovXG4ucHJvamVjdC10cmVlLWl0ZW0tdG9nZ2xlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiAxLjVyZW07XG5cdGhlaWdodDogMS41cmVtO1xuXHRmbGV4LXNocmluazogMDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBlYXNlO1xufVxuXG4ucHJvamVjdC10cmVlLWl0ZW0tdG9nZ2xlOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnByb2plY3QtdHJlZS1pdGVtLXRvZ2dsZSBzdmcge1xuXHR3aWR0aDogMC44NzVyZW07XG5cdGhlaWdodDogMC44NzVyZW07XG59XG5cbi5wcm9qZWN0LXRyZWUtaXRlbS10b2dnbGUtc3BhY2VyIHtcblx0d2lkdGg6IDEuNXJlbTtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi8qIEljb24gKi9cbi5wcm9qZWN0LXRyZWUtaXRlbS1pY29uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiAxLjI1cmVtO1xuXHRoZWlnaHQ6IDEuMjVyZW07XG5cdG1hcmdpbi1yaWdodDogMC41cmVtO1xuXHRmbGV4LXNocmluazogMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4vKiBDb250ZW50IFdyYXBwZXIgKi9cbi5wcm9qZWN0LXRyZWUtaXRlbS1jb250ZW50LXdyYXBwZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGZsZXg6IDE7XG5cdG1pbi13aWR0aDogMDtcblx0Z2FwOiAwLjVyZW07XG59XG5cbi8qIFByb2plY3QgTmFtZSAqL1xuLnByb2plY3QtdHJlZS1pdGVtLW5hbWUge1xuXHRmbGV4OiAxO1xuXHRtaW4td2lkdGg6IDA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vKiBUYXNrIENvdW50cyAqL1xuLnByb2plY3QtdHJlZS1pdGVtLWNvdW50cyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMC4yNXJlbTtcbn1cblxuLnByb2plY3QtdHJlZS1pdGVtLWNvdW50LWRpcmVjdCxcbi5wcm9qZWN0LXRyZWUtaXRlbS1jb3VudC10b3RhbCB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0bWluLXdpZHRoOiAxLjI1cmVtO1xuXHRoZWlnaHQ6IDEuMjVyZW07XG5cdHBhZGRpbmc6IDAgMC4yNXJlbTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5wcm9qZWN0LXRyZWUtaXRlbS1jb3VudC1kaXJlY3Qge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLCBjb2xvciAwLjJzIGVhc2U7XG59XG5cbi5wcm9qZWN0LXRyZWUtaXRlbS1jb3VudC10b3RhbCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZSwgY29sb3IgMC4ycyBlYXNlO1xufVxuXG4vKiBQcm9ncmVzcyBjb3VudCBzdHlsaW5nIGZvciB0cmVlIHZpZXcgKi9cbi5wcm9qZWN0LXRyZWUtaXRlbS1jb3VudC1kaXJlY3QucGFydGlhbGx5LWNvbXBsZXRlZCxcbi5wcm9qZWN0LXRyZWUtaXRlbS1jb3VudC10b3RhbC5wYXJ0aWFsbHktY29tcGxldGVkIHtcblx0Y29sb3I6IHZhcigtLXRleHQtc3VjY2Vzcyk7XG59XG5cbi5wcm9qZWN0LXRyZWUtaXRlbS1jb3VudC1kaXJlY3QuYWxsLWNvbXBsZXRlZCxcbi5wcm9qZWN0LXRyZWUtaXRlbS1jb3VudC10b3RhbC5hbGwtY29tcGxldGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtc3VjY2Vzcyk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi8qIFNlbGVjdGVkIHN0YXRlIGZvciBjb3VudCBiYWRnZXMgaW4gdHJlZSAqL1xuLnByb2plY3QtdHJlZS1pdGVtLmlzLXNlbGVjdGVkIC5wcm9qZWN0LXRyZWUtaXRlbS1jb3VudC1kaXJlY3QuYWxsLWNvbXBsZXRlZCxcbi5wcm9qZWN0LXRyZWUtaXRlbS5pcy1zZWxlY3RlZCAucHJvamVjdC10cmVlLWl0ZW0tY291bnQtdG90YWwuYWxsLWNvbXBsZXRlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLXN1Y2Nlc3MpO1xuXHRvcGFjaXR5OiAwLjk7XG59XG5cbi8qIENoaWxkcmVuIENvbnRhaW5lciAqL1xuLnByb2plY3QtdHJlZS1jaGlsZHJlbiB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyogVHJlZSBndWlkZSBsaW5lcyAob3B0aW9uYWwpICovXG4ucHJvamVjdC10cmVlLWl0ZW1bZGF0YS1sZXZlbF06bm90KFtkYXRhLWxldmVsPVwiMFwiXSkgPiAucHJvamVjdC10cmVlLWl0ZW0tY29udGVudDo6YmVmb3JlIHtcblx0Y29udGVudDogJyc7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogY2FsYygwLjVyZW0gKyAodmFyKC0tdHJlZS1sZXZlbCkgLSAxKSAqIHZhcigtLXRyZWUtaW5kZW50LXNpemUpICsgMC43NXJlbSk7XG5cdHRvcDogMDtcblx0Ym90dG9tOiAwO1xuXHR3aWR0aDogMXB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS10cmVlLWd1aWRlLWNvbG9yKTtcblx0b3BhY2l0eTogMC4zO1xufVxuXG4ucHJvamVjdC10cmVlLWl0ZW0tY2hpbGRyZW4ge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuMnMgZWFzZTtcbn1cblxuLnByb2plY3QtdHJlZS1pdGVtLWNoaWxkcmVuOm5vdCguaXMtZXhwYW5kZWQpIHtcblx0bWF4LWhlaWdodDogMDtcbn1cblxuLyogRW1wdHkgU3RhdGUgKi9cbi5wcm9qZWN0LXRyZWUtZW1wdHkge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0cGFkZGluZzogMnJlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xufVxuXG4vKiBWaWV3IFRvZ2dsZSBCdXR0b24gKi9cbi5wcm9qZWN0cy12aWV3LXRvZ2dsZS1idG4ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDEuNzVyZW07XG5cdGhlaWdodDogMS43NXJlbTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XG59XG5cbi5wcm9qZWN0cy12aWV3LXRvZ2dsZS1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnByb2plY3RzLXZpZXctdG9nZ2xlLWJ0biBzdmcge1xuXHR3aWR0aDogMXJlbTtcblx0aGVpZ2h0OiAxcmVtO1xufVxuXG4vKiBNdWx0aS1zZWxlY3QgTW9kZSBJbmRpY2F0b3IgKi9cbi5wcm9qZWN0LXRyZWUtY29udGFpbmVyLm11bHRpLXNlbGVjdC1tb2RlIC5wcm9qZWN0LXRyZWUtaXRlbS1jb250ZW50IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucHJvamVjdC10cmVlLWNvbnRhaW5lci5tdWx0aS1zZWxlY3QtbW9kZSAucHJvamVjdC10cmVlLWl0ZW0tY29udGVudDo6YmVmb3JlIHtcblx0Y29udGVudDogJyc7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMC4yNXJlbTtcblx0dG9wOiA1MCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0d2lkdGg6IDAuODc1cmVtO1xuXHRoZWlnaHQ6IDAuODc1cmVtO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcbn1cblxuLnByb2plY3QtdHJlZS1jb250YWluZXIubXVsdGktc2VsZWN0LW1vZGUgLnByb2plY3QtdHJlZS1pdGVtLmlzLXNlbGVjdGVkIC5wcm9qZWN0LXRyZWUtaXRlbS1jb250ZW50OjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi5wcm9qZWN0LXRyZWUtY29udGFpbmVyLm11bHRpLXNlbGVjdC1tb2RlIC5wcm9qZWN0LXRyZWUtaXRlbS5pcy1zZWxlY3RlZCAucHJvamVjdC10cmVlLWl0ZW0tY29udGVudDo6YWZ0ZXIge1xuXHRjb250ZW50OiAnXHUyNzEzJztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAwLjI1cmVtO1xuXHR0b3A6IDUwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHR3aWR0aDogMC44NzVyZW07XG5cdGhlaWdodDogMC44NzVyZW07XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRmb250LXNpemU6IDAuNjI1cmVtO1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyogRGFyayBUaGVtZSBBZGp1c3RtZW50cyAqL1xuLnRoZW1lLWRhcmsgLnByb2plY3QtdHJlZS1pdGVtLWNvdW50LWRpcmVjdCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlLWhvdmVyKTtcbn1cblxuLnRoZW1lLWRhcmsgLnByb2plY3QtdHJlZS1pdGVtLWNvdW50LXRvdGFsIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4vKiBSZXNwb25zaXZlICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0LnByb2plY3QtdHJlZS1pdGVtLWNvbnRlbnQge1xuXHRcdHBhZGRpbmc6IDAuMzc1cmVtIDAuNXJlbTtcblx0fVxufVxuXG4vKiBBbmltYXRpb24gZm9yIHRyZWUgZXhwYW5zaW9uICovXG5Aa2V5ZnJhbWVzIHNsaWRlRG93biB7XG5cdGZyb20ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjVyZW0pO1xuXHR9XG5cdHRvIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0fVxufVxuXG4ucHJvamVjdC10cmVlLWl0ZW0tY2hpbGRyZW4gPiAucHJvamVjdC10cmVlLWl0ZW0ge1xuXHRhbmltYXRpb246IHNsaWRlRG93biAwLjE1cyBlYXNlO1xufVxuIiwgIi8qIFByb2plY3RzIFZpZXcgU3R5bGVzICovXG4ucmV2aWV3LWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGhlaWdodDogMTAwJTtcblx0d2lkdGg6IDEwMCU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5yZXZpZXctY29udGVudCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5yZXZpZXctbGVmdC1jb2x1bW4ge1xuXHR3aWR0aDogMjUwcHg7XG5cdG1pbi13aWR0aDogMjAwcHg7XG5cdG1heC13aWR0aDogMzAwcHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmlzLXBob25lIC5yZXZpZXctbGVmdC1jb2x1bW4ge1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5yZXZpZXctcmlnaHQtY29sdW1uIHtcblx0ZmxleDogMTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnJldmlldy1zaWRlYmFyLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC00KTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtMTApO1xufVxuXG4ucmV2aWV3LXNpZGViYXItdGl0bGUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LXNpemU6IDE0cHg7XG59XG5cbi5yZXZpZXctbXVsdGktc2VsZWN0LWJ0biB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ucmV2aWV3LW11bHRpLXNlbGVjdC1idG46aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ucmV2aWV3LXNpZGViYXItbGlzdCB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLyogUHJvamVjdCBncm91cCBoZWFkZXJzICovXG4ucmV2aWV3LXByb2plY3RzLWdyb3VwLWhlYWRlciB7XG5cdGZvbnQtc2l6ZTogMTBweDtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRwYWRkaW5nOiA0cHggOHB4IDRweDtcblx0bWFyZ2luLXRvcDogMTJweDtcblx0bGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xufVxuXG4ucmV2aWV3LXByb2plY3RzLWdyb3VwLWhlYWRlcjpmaXJzdC1jaGlsZCB7XG5cdG1hcmdpbi10b3A6IDRweDtcbn1cblxuLyogUHJvamVjdCBpdGVtcyBpbiB0aGUgc2lkZWJhciAqL1xuLnJldmlldy1wcm9qZWN0LWl0ZW0ge1xuXHQtLWljb24tc2l6ZTogdmFyKC0tc2l6ZS00LTQpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiA0cHggOHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0bWFyZ2luLWJvdHRvbTogMnB4O1xufVxuXG4ucmV2aWV3LXByb2plY3QtaXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4ucmV2aWV3LXByb2plY3QtaXRlbS5zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlKTtcbn1cblxuLyogUHJvamVjdHMgd2l0aCByZXZpZXcgc2V0dGluZ3MgKi9cbi5yZXZpZXctcHJvamVjdC1pdGVtLmhhcy1yZXZpZXctc2V0dGluZ3MgLnJldmlldy1wcm9qZWN0LWljb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4ucmV2aWV3LXByb2plY3QtaXRlbS5oYXMtcmV2aWV3LXNldHRpbmdzIC5yZXZpZXctcHJvamVjdC1uYW1lIHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLyogUHJvamVjdHMgd2l0aG91dCByZXZpZXcgc2V0dGluZ3MgKi9cbi5yZXZpZXctcHJvamVjdC1pdGVtOm5vdCguaGFzLXJldmlldy1zZXR0aW5ncykgLnJldmlldy1wcm9qZWN0LWljb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5yZXZpZXctcHJvamVjdC1pY29uIHtcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ucmV2aWV3LXByb2plY3QtbmFtZSB7XG5cdGZsZXg6IDE7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4ucmV2aWV3LXRhc2staGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uaXMtcGhvbmUgLnJldmlldy10YXNrLWhlYWRlciB7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4ucmV2aWV3LWhlYWRlci1jb250ZW50IGgzIHtcblx0bWFyZ2luOiAwIDAgOHB4IDA7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi5yZXZpZXctaW5mbyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLnJldmlldy1zZXBhcmF0b3Ige1xuXHRtYXJnaW46IDAgOHB4O1xufVxuXG4ucmV2aWV3LWZyZXF1ZW5jeSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi5yZXZpZXctZnJlcXVlbmN5OmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5yZXZpZXctbGFzdC1kYXRlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnJldmlldy1uby1zZXR0aW5ncyB7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyogRmlsdGVyIGluZm9ybWF0aW9uICovXG4ucmV2aWV3LWZpbHRlci1pbmZvIHtcblx0bWFyZ2luLXRvcDogMTBweDtcblx0cGFkZGluZzogNnB4IDEwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRmb250LXNpemU6IDAuODVlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLnJldmlldy1maWx0ZXItdG9nZ2xlIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0bWFyZ2luLWxlZnQ6IDVweDtcbn1cblxuLnJldmlldy1maWx0ZXItdG9nZ2xlOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50LWhvdmVyKTtcbn1cblxuLnJldmlldy10YXNrLWxpc3Qge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5yZXZpZXctZW1wdHktc3RhdGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0aGVpZ2h0OiAxMDAlO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0cGFkZGluZzogMTZweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKiBSZXZpZXcgYnV0dG9ucyAqL1xuLnJldmlldy1idXR0b24tY29udGFpbmVyIHtcblx0bWFyZ2luLXRvcDogMTJweDtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4ucmV2aWV3LWNvbXBsZXRlLWJ0bixcbi5yZXZpZXctY29uZmlndXJlLWJ0biB7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi5yZXZpZXctY29tcGxldGUtYnRuIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLnJldmlldy1jb21wbGV0ZS1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLnJldmlldy1jb25maWd1cmUtYnRuIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4ucmV2aWV3LWNvbmZpZ3VyZS1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnJldmlldy1lZGl0LWJ0biB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudC1ob3Zlcik7XG5cdG1hcmdpbi1sZWZ0OiA4cHg7XG59XG5cbi5yZXZpZXctZWRpdC1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50LWhvdmVyKTtcbn1cblxuLyogUmV2aWV3IENvbmZpZ3VyZSBNb2RhbCAqL1xuLnJldmlldy1tb2RhbC10aXRsZSB7XG5cdG1hcmdpbi10b3A6IDA7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdGZvbnQtc2l6ZTogMS41ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBhZGRpbmctYm90dG9tOiAxMHB4O1xufVxuXG4ucmV2aWV3LW1vZGFsLWZvcm0ge1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4ucmV2aWV3LW1vZGFsLWZpZWxkIHtcblx0bWFyZ2luLWJvdHRvbTogMTZweDtcbn1cblxuLnJldmlldy1tb2RhbC1sYWJlbCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRtYXJnaW4tYm90dG9tOiA0cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5yZXZpZXctbW9kYWwtZGVzY3JpcHRpb24ge1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLnJldmlldy1tb2RhbC1zZWxlY3Qge1xuXHR3aWR0aDogMTAwJTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLnJldmlldy1tb2RhbC1jdXN0b20tZnJlcXVlbmN5IHtcblx0bWFyZ2luLXRvcDogOHB4O1xufVxuXG4ucmV2aWV3LW1vZGFsLWlucHV0IHtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IDhweDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLnJldmlldy1tb2RhbC1sYXN0LXJldmlld2VkIHtcblx0cGFkZGluZzogOHB4O1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xufVxuXG4ucmV2aWV3LW1vZGFsLWJ1dHRvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRtYXJnaW4tdG9wOiAyNHB4O1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nLXRvcDogMTZweDtcbn1cblxuLnJldmlldy1tb2RhbC1idXR0b24ge1xuXHRwYWRkaW5nOiA4cHggMTZweDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4ucmV2aWV3LW1vZGFsLWJ1dHRvbi1jYW5jZWwge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XG59XG5cbi5yZXZpZXctbW9kYWwtYnV0dG9uLWNhbmNlbDpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ucmV2aWV3LW1vZGFsLWJ1dHRvbi1zYXZlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLnJldmlldy1tb2RhbC1idXR0b24tc2F2ZTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi8qIFJldmlldyBWaWV3IC0gTW9iaWxlICovXG4uaXMtcGhvbmUgLnJldmlldy1jb250YWluZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5pcy1waG9uZSAucmV2aWV3LWxlZnQtY29sdW1uIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAwO1xuXHR0b3A6IDA7XG5cdGhlaWdodDogMTAwJTtcblx0ei1pbmRleDogMTA7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0d2lkdGg6IDEwMCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0O1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5pcy1waG9uZSAucmV2aWV3LWxlZnQtY29sdW1uLmlzLXZpc2libGUge1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG5cbi5pcy1waG9uZSAucmV2aWV3LXNpZGViYXItdG9nZ2xlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG4uaXMtcGhvbmUgLnJldmlldy1zaWRlYmFyLWNsb3NlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IHZhcigtLXNpemUtMi0yKTtcblx0cmlnaHQ6IDEwcHg7XG5cdHotaW5kZXg6IDE1O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLyogQWRkIG92ZXJsYXkgd2hlbiBsZWZ0IGNvbHVtbiBpcyB2aXNpYmxlIG9uIG1vYmlsZSAqL1xuLmlzLXBob25lIC5yZXZpZXctY29udGFpbmVyOmhhcygucmV2aWV3LWxlZnQtY29sdW1uLmlzLXZpc2libGUpOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1jb3Zlcik7XG5cdG9wYWNpdHk6IDAuNTtcblx0ei1pbmRleDogNTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xufVxuIiwgIi50Zy1oYWJpdC1jb21wb25lbnQtY29udGFpbmVyIHtcblx0d2lkdGg6IDEwMCU7XG5cblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAxcmVtOyAvKiBnYXAtNCAqL1xuXHRwYWRkaW5nOiAxcmVtOyAvKiBwLTQgKi9cblx0aGVpZ2h0OiAxMDAlOyAvKiBBbGxvdyBzY3JvbGxpbmcgaWYgY29udGVudCBvdmVyZmxvd3MgKi9cblx0b3ZlcmZsb3cteTogYXV0bztcbn1cblxuLyogPT09IEhhYml0IExpc3QgQ29udGFpbmVyID09PSAqL1xuLmhhYml0LWxpc3QtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgbWlubWF4KDAsIDFmcikpO1xuXHRnYXA6IDFyZW07IC8qIGdhcC00ICovXG5cdHdpZHRoOiAxMDAlO1xufVxuXG4vKiBcdTVDMEZcdTVDNEZcdTVFNTVcdThCQkVcdTU5MDcgKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG5cdC5oYWJpdC1saXN0LWNvbnRhaW5lciB7XG5cdFx0cGFkZGluZzogMC41cmVtO1xuXHRcdGdhcDogMC43NXJlbTtcblx0fVxufVxuXG4vKiBcdTRFMkRcdTdCNDlcdTVDNEZcdTVFNTVcdThCQkVcdTU5MDcgfjc2OHB4ICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuXHQuaGFiaXQtbGlzdC1jb250YWluZXIge1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0XHRtYXgtd2lkdGg6IDQwMHB4O1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0fVxufVxuXG4vKiBcdTU5MjdcdTVDNEZcdTVFNTVcdThCQkVcdTU5MDcgKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuXHQuaGFiaXQtbGlzdC1jb250YWluZXIge1xuXHRcdG1heC13aWR0aDogNTAwcHg7XG5cdH1cbn1cbi8qIEFkanVzdCBtYXgtd2lkdGgvY29sdW1ucyBiYXNlZCBvbiBkZXNpcmVkIGxheW91dCAqL1xuXG4uaGFiaXQtY2FyZC13cmFwcGVyIHtcblx0d2lkdGg6IDEwMCU7XG5cdG1pbi1oZWlnaHQ6IGZpdC1jb250ZW50O1xufVxuXG4vKiA9PT0gQ3JlYXRlIEhhYml0IEJ1dHRvbiA9PT0gKi9cbi5oYWJpdC1jcmVhdGUtYnV0dG9uLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLyogPT09IEJhc2UgQ2FyZCBTdHlsZXMgPT09ICovXG4uaGFiaXQtY2FyZCB7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pOyAvKiBTdGFuZGFyZCBtZWRpdW0gcmFkaXVzICovXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLyogU3RhY2sgaGVhZGVyIGFuZCBjb250ZW50ICovXG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG1pbi1oZWlnaHQ6IGZpdC1jb250ZW50O1xufVxuXG4uaGFiaXQtY2FyZCAuY2FyZC1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuXHRnYXA6IDAuNXJlbTtcblx0LyogYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTsgKi9cbn1cblxuLmhhYml0LWNhcmQgLmNhcmQtdGl0bGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDAuNXJlbTsgLyogZ2FwLTIgKi9cblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLWxhcmdlKTsgLyogTGFyZ2VyIFVJIGZvbnQgKi9cblx0Zm9udC13ZWlnaHQ6IDYwMDsgLyogZm9udC1zZW1pYm9sZCAqL1xuXHRmbGV4LWdyb3c6IDE7IC8qIEFsbG93IHRpdGxlIHRvIHRha2Ugc3BhY2UgKi9cblx0b3ZlcmZsb3c6IGhpZGRlbjsgLyogUHJldmVudCBsb25nIG5hbWVzIGJyZWFraW5nIGxheW91dCAqL1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLmhhYml0LW5hbWUuaGFiaXQtbmFtZTpob3ZlciB7XG5cdC8qIFNwZWNpZmljaXR5IGZvciBob3ZlciAqL1xuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4uaGFiaXQtY2FyZCAuY2FyZC1jb250ZW50LXdyYXBwZXIge1xuXHRwYWRkaW5nOiAwLjc1cmVtIDFyZW07IC8qIENvbnNpc3RlbnQgcGFkZGluZyAqL1xuXHRmbGV4LWdyb3c6IDE7IC8qIEFsbG93IGNvbnRlbnQgdG8gZmlsbCBzcGFjZSAqL1xuXHQvKiBMYXlvdXQgc3BlY2lmaWNzIGRlZmluZWQgcGVyIGNhcmQgdHlwZSAqL1xufVxuXG4vKiA9PT0gRGFpbHkgSGFiaXQgQ2FyZCA9PT0gKi9cbi5kYWlseS1oYWJpdC1jYXJkIC5jYXJkLWhlYWRlciB7XG5cdC8qIE5vIGJvcmRlciBuZWVkZWQgaWYgY2hlY2tib3ggaXMgbWFpbiBhY3Rpb24gKi9cblx0LyogYm9yZGVyLWJvdHRvbTogbm9uZTsgKi9cbn1cbi5kYWlseS1oYWJpdC1jYXJkIC5oYWJpdC1jaGVja2JveC1jb250YWluZXIge1xuXHQvKiBTdHlsZSBjb250YWluZXIgaWYgbmVlZGVkICovXG59XG4uZGFpbHktaGFiaXQtY2FyZCAuaGFiaXQtY2hlY2tib3gge1xuXHQtLWNoZWNrYm94LXNpemU6IDEuMjVyZW07XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0YWNjZW50LWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpOyAvKiBTdHlsZSBjaGVja2JveCBjb2xvciAqL1xufVxuLmRhaWx5LWhhYml0LWNhcmQgLmNhcmQtY29udGVudC13cmFwcGVyIHtcblx0LyogQ29udGFpbnMgaGVhdG1hcCAqL1xuXHRwYWRkaW5nOiAwcmVtIDFyZW0gMC43NXJlbTsgLyogQWRqdXN0IHBhZGRpbmcgYXJvdW5kIGhlYXRtYXAgKi9cbn1cblxuLyogPT09IENvdW50IEhhYml0IENhcmQgPT09ICovXG4uY291bnQtaGFiaXQtY2FyZCAuY2FyZC1jb250ZW50LXdyYXBwZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvKiBEZWZhdWx0IG1vYmlsZSBsYXlvdXQgKi9cblx0Z2FwOiAwLjc1cmVtOyAvKiBBZGp1c3RlZCBnYXAgKi9cblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmNvdW50LWhhYml0LWNhcmQgLmhhYml0LWljb24tYnV0dG9uIHtcblx0LS1pY29uLXNpemU6IDJyZW07XG5cdGhlaWdodDogNHJlbTsgLyogU2xpZ2h0bHkgc21hbGxlciB0aGFuIGgtMTYgKi9cblx0d2lkdGg6IDRyZW07XG5cdGFzcGVjdC1yYXRpbzogMTtcblx0cGFkZGluZzogMDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7IC8qIFNtYWxsZXIgcmFkaXVzICovXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRmb250LXNpemU6IDEuNXJlbTsgLyogRm9yIGljb24gKi9cbn1cblxuLmNvdW50LWhhYml0LWNhcmQgLmhhYml0LWljb24tYnV0dG9uIHtcblx0Y29sb3I6IHZhcigtLWljb24tY29sb3IpO1xufVxuXG4uY291bnQtaGFiaXQtY2FyZCAuaGFiaXQtaWNvbi1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi5jb3VudC1oYWJpdC1jYXJkIC5oYWJpdC1jYXJkLW5hbWUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbGFyZ2UpO1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuXG4uY291bnQtaGFiaXQtY2FyZCAuaGFiaXQtYWN0aXZlLWRheSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLmNvdW50LWhhYml0LWNhcmQgLmhhYml0LWluZm8ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRhbGlnbi1pdGVtczogY2VudGVyOyAvKiBDZW50ZXIgdGV4dCBvbiBtb2JpbGUgKi9cblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRmbGV4LWdyb3c6IDE7XG59XG4uY291bnQtaGFiaXQtY2FyZCAuaGFiaXQtaW5mbyBoMyB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1sYXJnZSk7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5jb3VudC1oYWJpdC1jYXJkIC5oYWJpdC1wcm9ncmVzcy1hcmVhIHtcblx0d2lkdGg6IDEwMCU7IC8qIEZ1bGwgd2lkdGggb24gbW9iaWxlICovXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMC41cmVtO1xufVxuXG4vKiBUYWJsZXQvRGVza3RvcCBsYXlvdXQgZm9yIENvdW50IENhcmQgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuXHQvKiBzbSBicmVha3BvaW50ICovXG5cdC5jb3VudC1oYWJpdC1jYXJkIC5jYXJkLWNvbnRlbnQtd3JhcHBlciB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRhbGlnbi1pdGVtczogY2VudGVyOyAvKiBBbGlnbiBpdGVtcyB2ZXJ0aWNhbGx5ICovXG5cdFx0Z2FwOiAxcmVtO1xuXHR9XG5cdC5jb3VudC1oYWJpdC1jYXJkIC5oYWJpdC1wcm9ncmVzcy1hcmVhIHtcblx0XHR3aWR0aDogYXV0bzsgLyogQWxsb3cgaXQgdG8gc2hyaW5rICovXG5cdFx0bWluLXdpZHRoOiAxNTBweDsgLyogRW5zdXJlIG1pbmltdW0gd2lkdGggZm9yIGhlYXRtYXAvcHJvZ3Jlc3MgKi9cblx0XHRhbGlnbi1pdGVtczogZmxleC1lbmQ7IC8qIEFsaWduIHByb2dyZXNzIHRvIHRoZSByaWdodCAqL1xuXHR9XG5cdC5jb3VudC1oYWJpdC1jYXJkIC5oYWJpdC1oZWF0bWFwLXNtYWxsIHtcblx0XHR3aWR0aDogMTAwJTsgLyogQWxsb3cgaGVhdG1hcCB0byBkZWZpbmUgaXRzIG93biB3aWR0aCAqL1xuXHR9XG59XG5cbi8qID09PSBTY2hlZHVsZWQgSGFiaXQgQ2FyZCA9PT0gKi9cbi5zY2hlZHVsZWQtaGFiaXQtY2FyZCAuY2FyZC1oZWFkZXIge1xuXHRwYWRkaW5nLWJvdHRvbTogMC41cmVtOyAvKiBwYi0yICovXG59XG4uc2NoZWR1bGVkLWhhYml0LWNhcmQgLmNhcmQtY29udGVudC13cmFwcGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLyogTW9iaWxlIGRlZmF1bHQgKi9cblx0Z2FwOiAwLjc1cmVtO1xuXHRhbGlnbi1pdGVtczogY2VudGVyOyAvKiBDZW50ZXIgb24gbW9iaWxlICovXG59XG5cbi5zY2hlZHVsZWQtaGFiaXQtY2FyZCAuaGFiaXQtaGVhdG1hcC1tZWRpdW0ge1xuXHR3aWR0aDogMTAwJTsgLyogRnVsbCB3aWR0aCBoZWF0bWFwIG9uIG1vYmlsZSAqL1xufVxuXG4uc2NoZWR1bGVkLWhhYml0LWNhcmQgLmhhYml0LWNvbnRyb2xzIHtcblx0d2lkdGg6IDEwMCU7IC8qIEZ1bGwgd2lkdGggY29udHJvbHMgb24gbW9iaWxlICovXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMC41cmVtO1xuXHRhbGlnbi1pdGVtczogY2VudGVyOyAvKiBDZW50ZXIgY29udHJvbHMgb24gbW9iaWxlICovXG59XG5cbi5zY2hlZHVsZWQtaGFiaXQtY2FyZCAuaGFiaXQtZXZlbnQtZHJvcGRvd24ge1xuXHR3aWR0aDogYXV0bzsgLyogQXV0byB3aWR0aCBkcm9wZG93biAqL1xuXHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4vKiBUYWJsZXQvRGVza3RvcCBsYXlvdXQgZm9yIFNjaGVkdWxlZCBDYXJkICovXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcblx0LnNjaGVkdWxlZC1oYWJpdC1jYXJkIC5jYXJkLWNvbnRlbnQtd3JhcHBlciB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDsgLyogQWxpZ24gdG9wICovXG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHR9XG5cdC5zY2hlZHVsZWQtaGFiaXQtY2FyZCAuaGFiaXQtaGVhdG1hcC1tZWRpdW0ge1xuXHRcdHdpZHRoOiBhdXRvOyAvKiBBbGxvdyBoZWF0bWFwIHRvIHNocmluayAqL1xuXHRcdGZsZXgtZ3JvdzogMTsgLyogQWxsb3cgaGVhdG1hcCB0byB0YWtlIGF2YWlsYWJsZSBzcGFjZSAqL1xuXHRcdG1hcmdpbi1yaWdodDogMXJlbTsgLyogU3BhY2UgYmV0d2VlbiBoZWF0bWFwIGFuZCBjb250cm9scyAqL1xuXHR9XG5cdC5zY2hlZHVsZWQtaGFiaXQtY2FyZCAuaGFiaXQtY29udHJvbHMge1xuXHRcdHdpZHRoOiBhdXRvOyAvKiBTaHJpbmsgY29udHJvbHMgKi9cblx0XHRtaW4td2lkdGg6IDE1MHB4OyAvKiBNaW5pbXVtIHdpZHRoICovXG5cdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IC8qIEFsaWduIGNvbnRyb2xzIGxlZnQgKi9cblx0fVxufVxuXG4vKiA9PT0gTWFwcGluZyBIYWJpdCBDYXJkID09PSAqL1xuLm1hcHBpbmctaGFiaXQtY2FyZCAuY2FyZC1oZWFkZXIge1xuXHRwYWRkaW5nLWJvdHRvbTogMC41cmVtOyAvKiBwYi0yICovXG59XG4ubWFwcGluZy1oYWJpdC1jYXJkIC5jYXJkLWNvbnRlbnQtd3JhcHBlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8qIE1vYmlsZSBkZWZhdWx0ICovXG5cdGdhcDogMC43NXJlbTtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZy10b3A6IDA7XG5cdHBhZGRpbmctYm90dG9tOiAxLjJyZW07XG59XG4ubWFwcGluZy1oYWJpdC1jYXJkIC5oYWJpdC1oZWF0bWFwLW1lZGl1bSB7XG5cdHdpZHRoOiAxMDAlOyAvKiBGdWxsIHdpZHRoIGhlYXRtYXAgb24gbW9iaWxlICovXG59XG4ubWFwcGluZy1oYWJpdC1jYXJkIC5oYWJpdC1jb250cm9scyB7XG5cdHdpZHRoOiAxMDAlOyAvKiBGdWxsIHdpZHRoIGNvbnRyb2xzIG9uIG1vYmlsZSAqL1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDAuNXJlbTtcbn1cblxuLm1hcHBpbmctaGFiaXQtY2FyZCAuaGFiaXQtbWFwcGluZy1idXR0b24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Zm9udC1zaXplOiAxLjc1cmVtOyAvKiBMYXJnZXIgZW1vamkvdGV4dCAqL1xuXHRwYWRkaW5nOiAwLjVyZW07XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXgtd2lkdGg6IDEwMHB4OyAvKiBMaW1pdCBidXR0b24gd2lkdGggKi9cblx0aGVpZ2h0OiAzLjVyZW07IC8qIGgtMTYgZXF1aXZhbGVudCAqL1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1idXR0b24tc2Vjb25kYXJ5LWJvcmRlci1jb2xvcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1zZWNvbmRhcnktYmcpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpOyAvKiBFbnN1cmUgZW1vamkgdmlzaWJpbGl0eSAqL1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcbn1cbi5tYXBwaW5nLWhhYml0LWNhcmQgLmhhYml0LW1hcHBpbmctYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1iZyk7XG59XG5cbi5tYXBwaW5nLWhhYml0LWNhcmQgLmhhYml0LXNsaWRlci1zZXR0aW5nIHtcblx0d2lkdGg6IDEwMCU7IC8qIFNsaWRlciB0YWtlcyBmdWxsIHdpZHRoICovXG5cdG1heC13aWR0aDogMjAwcHg7IC8qIExpbWl0IHNsaWRlciB3aWR0aCAqL1xufVxuLm1hcHBpbmctaGFiaXQtY2FyZCAuaGFiaXQtc2xpZGVyLXNldHRpbmcgLnNldHRpbmctaXRlbS1pbmZvIHtcblx0ZGlzcGxheTogbm9uZTsgLyogSGlkZSBzbGlkZXIgbGFiZWwgKi9cbn1cbi5tYXBwaW5nLWhhYml0LWNhcmQgLmhhYml0LXNsaWRlci1zZXR0aW5nIC5zZXR0aW5nLWl0ZW0ge1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogMDtcblx0Ym9yZGVyOiBub25lO1xufVxuLm1hcHBpbmctaGFiaXQtY2FyZCAuaGFiaXQtc2xpZGVyLXNldHRpbmcgLnNldHRpbmctaXRlbS1jb250cm9sIHtcblx0d2lkdGg6IDEwMCU7IC8qIE1ha2Ugc2xpZGVyIGNvbnRyb2wgdGFrZSBmdWxsIHdpZHRoICovXG59XG5cbi5tYXBwaW5nLWhhYml0LWNhcmQgLmhlYXRtYXAtbWQgLmhlYXRtYXAtY29udGFpbmVyLXNpbXBsZSB7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xufVxuXG4vKiBUYWJsZXQvRGVza3RvcCBsYXlvdXQgZm9yIE1hcHBpbmcgQ2FyZCAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG5cdC5tYXBwaW5nLWhhYml0LWNhcmQgLmNhcmQtY29udGVudC13cmFwcGVyIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8qIENlbnRlciBpdGVtcyB2ZXJ0aWNhbGx5ICovXG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHR9XG5cdC5tYXBwaW5nLWhhYml0LWNhcmQgLmhhYml0LWhlYXRtYXAtbWVkaXVtIHtcblx0XHR3aWR0aDogYXV0bztcblx0XHRmbGV4LWdyb3c6IDE7XG5cdFx0bWFyZ2luLXJpZ2h0OiAxcmVtO1xuXHR9XG5cdC5tYXBwaW5nLWhhYml0LWNhcmQgLmhhYml0LWNvbnRyb2xzIHtcblx0XHR3aWR0aDogYXV0bztcblx0XHRtaW4td2lkdGg6IDgwcHg7IC8qIFdpZHRoIGZvciBidXR0b24gKyBzbGlkZXIgKi9cblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvKiBLZWVwIGJ1dHRvbiBhYm92ZSBzbGlkZXIgKi9cblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGdhcDogMC43NXJlbTtcblx0fVxuXHQubWFwcGluZy1oYWJpdC1jYXJkIC5oYWJpdC1tYXBwaW5nLWJ1dHRvbiB7XG5cdFx0d2lkdGg6IDRyZW07IC8qIEZpeGVkIHdpZHRoIGJ1dHRvbiAqL1xuXHRcdGhlaWdodDogNHJlbTtcblx0fVxuXHQubWFwcGluZy1oYWJpdC1jYXJkIC5oYWJpdC1zbGlkZXItc2V0dGluZyB7XG5cdFx0d2lkdGg6IDEwMCU7IC8qIFNsaWRlciB0YWtlcyB3aWR0aCBvZiBjb250cm9sIGFyZWEgKi9cblx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cdH1cbn1cblxuLyogPT09IFByb2dyZXNzIEJhciAoQ29tbW9uIGZvciBDb3VudC9TY2hlZHVsZWQpID09PSAqL1xuLmhhYml0LXByb2dyZXNzLWNvbnRhaW5lciB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDAuNzVyZW07IC8qIFNsaWdodGx5IHRoaWNrZXIgKi9cblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbCk7IC8qIFBpbGwgc2hhcGUgKi9cblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cG9zaXRpb246IHJlbGF0aXZlOyAvKiBGb3IgdGV4dCBvdmVybGF5ICovXG59XG4uaGFiaXQtcHJvZ3Jlc3MtYmFyIHtcblx0aGVpZ2h0OiAxMDAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbCk7XG5cdHRyYW5zaXRpb246IHdpZHRoIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG4uaGFiaXQtcHJvZ3Jlc3MtY29udGFpbmVyLmZpbGxlZCAuaGFiaXQtcHJvZ3Jlc3MtdGV4dCB7XG5cdG1peC1ibGVuZC1tb2RlOiB1bnNldDtcbn1cbi5oYWJpdC1wcm9ncmVzcy10ZXh0IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRmb250LXNpemU6IDAuNnJlbTsgLyogVGlueSB0ZXh0ICovXG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpOyAvKiBUZXh0IGNvbG9yIG9uIGZpbGxlZCBwYXJ0ICovXG5cdG1peC1ibGVuZC1tb2RlOiBkaWZmZXJlbmNlOyAvKiBUcnkgdG8gbWFrZSB0ZXh0IHZpc2libGUgKi9cblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLyogPT09IEhlYXRtYXAgU3R5bGVzID09PSAqL1xuLnRnLWhlYXRtYXAtcm9vdCB7XG5cdHdpZHRoOiAxMDAlOyAvKiBUYWtlIGF2YWlsYWJsZSB3aWR0aCAqL1xufVxuLmhlYXRtYXAtc20gLmhlYXRtYXAtY29udGFpbmVyLXNpbXBsZSB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xuXHRvdmVyZmxvdy14OiBhdXRvOyAvKiBBbGxvdyBob3Jpem9udGFsIHNjcm9sbCBpZiB0b28gbWFueSBjZWxscyAqL1xuXHRwYWRkaW5nLWJvdHRvbTogMnB4OyAvKiBTcGFjZSBmb3Igc2Nyb2xsYmFyICovXG59XG5cbi5oZWF0bWFwLW1kIC5oZWF0bWFwLWNvbnRhaW5lci1zaW1wbGUge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg2LCAxZnIpO1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcblx0b3ZlcmZsb3cteDogYXV0bzsgLyogQWxsb3cgaG9yaXpvbnRhbCBzY3JvbGwgaWYgdG9vIG1hbnkgY2VsbHMgKi9cblx0cGFkZGluZy1ib3R0b206IDJweDsgLyogU3BhY2UgZm9yIHNjcm9sbGJhciAqL1xuXHRqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5oZWF0bWFwLWxnIC5oZWF0bWFwLWNvbnRhaW5lci1zaW1wbGUge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMCwgMWZyKTtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG5cdG92ZXJmbG93LXg6IGF1dG87IC8qIEFsbG93IGhvcml6b250YWwgc2Nyb2xsIGlmIHRvbyBtYW55IGNlbGxzICovXG5cdHBhZGRpbmctYm90dG9tOiAycHg7IC8qIFNwYWNlIGZvciBzY3JvbGxiYXIgKi9cblx0anVzdGlmeS1pdGVtczogY2VudGVyO1xufVxuXG4uaGVhdG1hcC1jZWxsIHtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpOyAvKiBTbWFsbCByYWRpdXMgKi9cblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0ZmxleC1zaHJpbms6IDA7IC8qIFByZXZlbnQgY2VsbHMgZnJvbSBzaHJpbmtpbmcgKi9cblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKFxuXHRcdC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXJcblx0KTsgLyogRGVmYXVsdCBiYWNrZ3JvdW5kICovXG5cdGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyAvKiBCb3JkZXIgZm9yIGJsYW5rL2N1c3RvbSAqL1xufVxuXG4vKiBIZWF0bWFwIFNoYXBlcyAqL1xuLmhlYXRtYXAtY2VsbC1zcXVhcmUge1xuXHQvKiBEZWZpbmVkIGJ5IHNpemUgKi9cbn1cbi5oZWF0bWFwLWNlbGwtZG90IHtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4vKiBIZWF0bWFwIFNpemVzICovXG4uaGVhdG1hcC1zbSAuaGVhdG1hcC1jZWxsIHtcblx0d2lkdGg6IDAuNzVyZW07XG5cdGhlaWdodDogMC43NXJlbTtcbn1cbi5oYWJpdC1oZWF0bWFwLW1lZGl1bSAuaGVhdG1hcC1tZCAuaGVhdG1hcC1jZWxsIHtcblx0d2lkdGg6IDEuNHJlbTtcblx0aGVpZ2h0OiAxLjRyZW07XG5cdGZvbnQtc2l6ZTogMC43cmVtO1xufVxuXG4uaGVhdG1hcC1tZCAuaGVhdG1hcC1jZWxsIHtcblx0d2lkdGg6IDEuMXJlbTtcblx0aGVpZ2h0OiAxLjFyZW07XG5cdGZvbnQtc2l6ZTogMC43cmVtO1xufSAvKiBNYXBwaW5nL1NjaGVkdWxlZCAqL1xuLmhlYXRtYXAtbGcgLmhlYXRtYXAtY2VsbCB7XG5cdHdpZHRoOiAxLjI1cmVtO1xuXHRoZWlnaHQ6IDEuMjVyZW07XG5cdGZvbnQtc2l6ZTogMC43NXJlbTtcbn0gLyogRGFpbHkgKi9cblxuLyogSGVhdG1hcCBWYXJpYW50cyAqL1xuLmhlYXRtYXAtY2VsbC5kZWZhdWx0IHtcblx0LyogRGVmYXVsdCBzdHlsZXMgYWxyZWFkeSBzZXQgKi9cbn1cbi5oZWF0bWFwLWNlbGwuZmlsbGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTsgLyogVGV4dCBvbiBmaWxsZWQgKGUuZy4sIGVtb2ppKSAqL1xufVxuXG4uaGVhdG1hcC1jZWxsLmhhcy1jdXN0b20tY29udGVudDpoYXMoLnBpZS1kb3QtY29udGFpbmVyKSB7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRib3JkZXI6IHVuc2V0O1xufVxuXG4vKiBTdHlsZSBmb3IgY2VsbHMgd2l0aCBjdXN0b20gY29udGVudCBsaWtlIFBpZURvdCBvciBFbW9qaSAqL1xuLmhlYXRtYXAtY2VsbC5oYXMtY3VzdG9tLWNvbnRlbnQsXG4uaGVhdG1hcC1jZWxsLmhhcy10ZXh0LWNvbnRlbnQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7IC8qIFVzZSBjYXJkIGJhY2tncm91bmQgKi9cblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7IC8qIEFkZCBib3JkZXIgKi9cblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTsgLyogRW5zdXJlIHRleHQvZW1vamkgaXMgdmlzaWJsZSAqL1xufVxuLmhlYXRtYXAtY2VsbC5oYXMtdGV4dC1jb250ZW50IHtcblx0bGluZS1oZWlnaHQ6IDE7IC8qIENlbnRlciBlbW9qaSB2ZXJ0aWNhbGx5ICovXG59XG5cbi8qIFBpZURvdCBDb250YWluZXIgKi9cbi5waWUtZG90LWNvbnRhaW5lciB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLnBpZS1kb3QtY29udGFpbmVyIHN2ZyB7XG5cdGRpc3BsYXk6IGJsb2NrOyAvKiBSZW1vdmUgZXh0cmEgc3BhY2UgYmVsb3cgU1ZHICovXG59XG5cbi8qID09PSBFbXB0eSBTdGF0ZSA9PT0gKi9cbi5oYWJpdC1lbXB0eS1zdGF0ZSB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogMnJlbSAxcmVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG4uaGFiaXQtZW1wdHktc3RhdGUgaDIge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbGFyZ2UpO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG4uaGFiaXQtZW1wdHktc3RhdGUgcCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1ub3JtYWwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG59XG5cbi8qID09PSBJY29ucyBQbGFjZWhvbGRlciA9PT0gKi9cbi5oYWJpdC1pY29uIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHQvKiB3aWR0aDogMWVtOyAqL1xuXHRoZWlnaHQ6IDFlbTtcblx0bGluZS1oZWlnaHQ6IDE7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdG1hcmdpbi1yaWdodDogMC4yNWVtO1xuXHQtLWljb24tc2l6ZTogMS41cmVtO1xufVxuXG4vKiA9PT0gSGFiaXQgQ2hhcnQgTW9kYWwgPT09ICovXG4uaGFiaXQtY2hhcnQtY29udHJvbHMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDAuNXJlbTtcblx0bWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbn1cbi5oYWJpdC1jaGFydC1maWx0ZXJzIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRnYXA6IDAuNXJlbTtcbn1cbi5oYWJpdC1jaGFydC1maWx0ZXJzIC5maWx0ZXItYnRuIHtcblx0cGFkZGluZzogMC4yNXJlbSAwLjZyZW07XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cbi5oYWJpdC1jaGFydC1maWx0ZXJzIC5maWx0ZXItYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcbn1cbi5oYWJpdC1jaGFydC15ZWFycyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMC41cmVtO1xufVxuLmhhYml0LWNoYXJ0LXllYXJzIC55ZWFycy1sYWJlbCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcbn1cbi5oYWJpdC1jaGFydC15ZWFycyAueWVhcnMtYmFyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiBub3dyYXA7XG5cdGdhcDogMC40cmVtO1xuXHRvdmVyZmxvdy14OiBhdXRvO1xuXHRwYWRkaW5nLWJvdHRvbTogMnB4O1xufVxuLmhhYml0LWNoYXJ0LXllYXJzIC55ZWFyLWJ0biB7XG5cdHBhZGRpbmc6IDAuMnJlbSAwLjVyZW07XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLmhhYml0LWNoYXJ0LXllYXJzIC55ZWFyLWJ0bi5zZWxlY3RlZCxcbi5oYWJpdC1jaGFydC15ZWFycyAueWVhci1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG4uaGFiaXQtY2hhcnQtaGVhdG1hcCB7XG5cdC8qIFJldXNlIHRoZSBoZWF0bWFwIGdyaWQgc3R5bGVzOyBhbGxvdyBvdmVyZmxvdyAqL1xuXHRtYXgtaGVpZ2h0OiA2MHZoO1xuXHRvdmVyZmxvdzogYXV0bztcbn1cbiIsICIvKiBEZWZpbmUgdGhlbWUgdmFyaWFibGVzICovXG46cm9vdCB7XG5cdC8qIFRhc2sgc3RhdHVzIGNvbG9ycyAqL1xuXHQtLXRhc2stY29tcGxldGVkLWNvbG9yOiAjNGNhZjUwO1xuXHQtLXRhc2stZG9pbmctY29sb3I6ICM4MGRlZTU7XG5cdC0tdGFzay1pbi1wcm9ncmVzcy1jb2xvcjogI2Y5ZDkyMztcblx0LS10YXNrLWFiYW5kb25lZC1jb2xvcjogI2ViNTM1Mztcblx0LS10YXNrLXBsYW5uZWQtY29sb3I6ICM5YzI3YjA7IC8qIFBsYW5uZWQgdGFzayBjb2xvciAqL1xuXHQtLXRhc2stcXVlc3Rpb24tY29sb3I6ICMyMTk2ZjM7IC8qIFF1ZXN0aW9uIHRhc2tzICovXG5cdC0tdGFzay1pbXBvcnRhbnQtY29sb3I6ICNmNDQzMzY7IC8qIEltcG9ydGFudCB0YXNrcyAqL1xuXHQtLXRhc2stc3Rhci1jb2xvcjogI2ZmYzEwNzsgLyogU3RhciB0YXNrcyAqL1xuXHQtLXRhc2stcXVvdGUtY29sb3I6ICM2MDdkOGI7IC8qIFF1b3RlIHRhc2tzICovXG5cdC0tdGFzay1sb2NhdGlvbi1jb2xvcjogIzc5NTU0ODsgLyogTG9jYXRpb24gdGFza3MgKi9cblx0LS10YXNrLWJvb2ttYXJrLWNvbG9yOiAjZmY5ODAwOyAvKiBCb29rbWFyayB0YXNrcyAqL1xuXHQtLXRhc2staW5mb3JtYXRpb24tY29sb3I6ICMwMGJjZDQ7IC8qIEluZm9ybWF0aW9uIHRhc2tzICovXG5cdC0tdGFzay1pZGVhLWNvbG9yOiAjOWMyN2IwOyAvKiBJZGVhIHRhc2tzICovXG5cdC0tdGFzay1wcm9zLWNvbG9yOiAjNGNhZjUwOyAvKiBQcm9zIHRhc2tzICovXG5cdC0tdGFzay1jb25zLWNvbG9yOiAjZjQ0MzM2OyAvKiBDb25zIHRhc2tzICovXG5cdC0tdGFzay1maXJlLWNvbG9yOiAjZmY1NzIyOyAvKiBGaXJlIHRhc2tzICovXG5cdC0tdGFzay1rZXktY29sb3I6ICNmZmQ3MDA7IC8qIEtleSB0YXNrcyAqL1xuXHQtLXRhc2std2luLWNvbG9yOiAjNjZiYjZhOyAvKiBXaW4gdGFza3MgKi9cblx0LS10YXNrLXVwLWNvbG9yOiAjNGNhZjUwOyAvKiBVcCB0YXNrcyAqL1xuXHQtLXRhc2stZG93bi1jb2xvcjogI2Y0NDMzNjsgLyogRG93biB0YXNrcyAqL1xuXHQtLXRhc2stbm90ZS1jb2xvcjogIzllOWU5ZTsgLyogTm90ZSB0YXNrcyAqL1xuXHQtLXRhc2stYW1vdW50LWNvbG9yOiAjOGJjMzRhOyAvKiBBbW91bnQvc2F2aW5ncyB0YXNrcyAqL1xuXHQtLXRhc2stc3BlZWNoLWNvbG9yOiAjMDNhOWY0OyAvKiBTcGVlY2ggYnViYmxlIHRhc2tzICovXG5cblx0LyogUHJvZ3Jlc3MgYmFyIGdyYWRpZW50IGNvbG9ycyAtIGxpZ2h0IHRoZW1lICovXG5cdC0tcHJvZ3Jlc3MtMC1jb2xvcjogI2FlNDMxZTtcblx0LS1wcm9ncmVzcy0yNS1jb2xvcjogI2U1ODkwYTtcblx0LS1wcm9ncmVzcy01MC1jb2xvcjogI2I0YzZhNjtcblx0LS1wcm9ncmVzcy03NS1jb2xvcjogIzZiY2I3Nztcblx0LS1wcm9ncmVzcy0xMDAtY29sb3I6ICM0ZDk2ZmY7XG5cblx0LS1wcm9ncmVzcy1iYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xufVxuXG4vKiBEYXJrIHRoZW1lIGNvbG9yIGFkanVzdG1lbnRzICovXG4udGhlbWUtZGFyayB7XG5cdC0tdGFzay1jb21wbGV0ZWQtY29sb3I6ICM0Y2FmNTA7XG5cdC0tdGFzay1kb2luZy1jb2xvcjogIzM3OWZhNztcblx0LS10YXNrLWluLXByb2dyZXNzLWNvbG9yOiAjZmZjMTA3O1xuXHQtLXRhc2stYWJhbmRvbmVkLWNvbG9yOiAjZjQ0MzM2O1xuXHQtLXRhc2stcGxhbm5lZC1jb2xvcjogI2NlOTNkODsgLyogUGxhbm5lZCB0YXNrIGNvbG9yIGZvciBkYXJrIHRoZW1lICovXG5cdC0tdGFzay1xdWVzdGlvbi1jb2xvcjogIzQyYTVmNTsgLyogUXVlc3Rpb24gdGFza3MgZGFyayB0aGVtZSAqL1xuXHQtLXRhc2staW1wb3J0YW50LWNvbG9yOiAjZWY1MzUwOyAvKiBJbXBvcnRhbnQgdGFza3MgZGFyayB0aGVtZSAqL1xuXHQtLXRhc2stc3Rhci1jb2xvcjogI2ZmZDU0ZjsgLyogU3RhciB0YXNrcyBkYXJrIHRoZW1lICovXG5cdC0tdGFzay1xdW90ZS1jb2xvcjogIzkwYTRhZTsgLyogUXVvdGUgdGFza3MgZGFyayB0aGVtZSAqL1xuXHQtLXRhc2stbG9jYXRpb24tY29sb3I6ICM4ZDZlNjM7IC8qIExvY2F0aW9uIHRhc2tzIGRhcmsgdGhlbWUgKi9cblx0LS10YXNrLWJvb2ttYXJrLWNvbG9yOiAjZmZiNzRkOyAvKiBCb29rbWFyayB0YXNrcyBkYXJrIHRoZW1lICovXG5cdC0tdGFzay1pbmZvcm1hdGlvbi1jb2xvcjogIzI2YzZkYTsgLyogSW5mb3JtYXRpb24gdGFza3MgZGFyayB0aGVtZSAqL1xuXHQtLXRhc2staWRlYS1jb2xvcjogI2NlOTNkODsgLyogSWRlYSB0YXNrcyBkYXJrIHRoZW1lICovXG5cdC0tdGFzay1wcm9zLWNvbG9yOiAjNjZiYjZhOyAvKiBQcm9zIHRhc2tzIGRhcmsgdGhlbWUgKi9cblx0LS10YXNrLWNvbnMtY29sb3I6ICNlZjUzNTA7IC8qIENvbnMgdGFza3MgZGFyayB0aGVtZSAqL1xuXHQtLXRhc2stZmlyZS1jb2xvcjogI2ZmNzA0MzsgLyogRmlyZSB0YXNrcyBkYXJrIHRoZW1lICovXG5cdC0tdGFzay1rZXktY29sb3I6ICNmZmQ3MDA7IC8qIEtleSB0YXNrcyBkYXJrIHRoZW1lICovXG5cdC0tdGFzay13aW4tY29sb3I6ICM4MWM3ODQ7IC8qIFdpbiB0YXNrcyBkYXJrIHRoZW1lICovXG5cdC0tdGFzay11cC1jb2xvcjogIzY2YmI2YTsgLyogVXAgdGFza3MgZGFyayB0aGVtZSAqL1xuXHQtLXRhc2stZG93bi1jb2xvcjogI2VmNTM1MDsgLyogRG93biB0YXNrcyBkYXJrIHRoZW1lICovXG5cdC0tdGFzay1ub3RlLWNvbG9yOiAjYmRiZGJkOyAvKiBOb3RlIHRhc2tzIGRhcmsgdGhlbWUgKi9cblx0LS10YXNrLWFtb3VudC1jb2xvcjogI2FlZDU4MTsgLyogQW1vdW50L3NhdmluZ3MgdGFza3MgZGFyayB0aGVtZSAqL1xuXHQtLXRhc2stc3BlZWNoLWNvbG9yOiAjMjliNmY2OyAvKiBTcGVlY2ggYnViYmxlIHRhc2tzIGRhcmsgdGhlbWUgKi9cblxuXHQtLXByb2dyZXNzLTAtY29sb3I6ICNhZTQzMWU7XG5cdC0tcHJvZ3Jlc3MtMjUtY29sb3I6ICNlNTg5MGE7XG5cdC0tcHJvZ3Jlc3MtNTAtY29sb3I6ICNiNGM2YTY7XG5cdC0tcHJvZ3Jlc3MtNzUtY29sb3I6ICM2YmNiNzc7XG5cdC0tcHJvZ3Jlc3MtMTAwLWNvbG9yOiAjNGQ5NmZmO1xuXG5cdC0tcHJvZ3Jlc3MtYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcbn1cbiIsICIudGFzay1nZW5pdXMtdmlldy1jb25maWctbW9kYWwge1xuXHR3aWR0aDogbWF4KDcwJSwgNTAwcHgpO1xufVxuXG4vKiBTdHlsaW5nIGZvciB0aGUgVmlldyBDb25maWd1cmF0aW9uIE1vZGFsICovXG4udGFzay1nZW5pdXMtdmlldy1jb25maWctbW9kYWwgLnNldHRpbmctaXRlbSB7XG5cdC8qIEFkZCBzb21lIHNwYWNpbmcgYmV0d2VlbiBzZXR0aW5ncyBpbiB0aGUgbW9kYWwgKi9cblx0bWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXctY29uZmlnLW1vZGFsXG5cdC5zZXR0aW5nLWl0ZW06bm90KC5zZXR0aW5nLWl0ZW0taGVhZGluZylcblx0LnNldHRpbmctaXRlbS1pbmZvIHtcblx0LyogRW5zdXJlIGxhYmVscyBhcmUgYWxpZ25lZCB3ZWxsICovXG5cdHdpZHRoOiAxMjBweDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXctY29uZmlnLW1vZGFsIC5zZXR0aW5nLWl0ZW0tY29udHJvbCBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi50YXNrLWdlbml1cy12aWV3LWNvbmZpZy1tb2RhbCAuc2V0dGluZy1pdGVtLWNvbnRyb2wgaW5wdXRbdHlwZT1cIm51bWJlclwiXSB7XG5cdC8qIEVuc3VyZSB0ZXh0IGlucHV0cyB0YWtlIGF2YWlsYWJsZSB3aWR0aCAqL1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXctY29uZmlnLW1vZGFsIC5zZXR0aW5nLWl0ZW0tZGVzY3JpcHRpb24ge1xuXHQvKiBTdHlsZSBkZXNjcmlwdGlvbnMgKi9cblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi10b3A6IDJweDtcbn1cblxuLyogU3R5bGluZyBmb3IgdGhlIFZpZXcgTWFuYWdlbWVudCBMaXN0IGluIFNldHRpbmdzIFRhYiAqL1xuLnZpZXctbWFuYWdlbWVudC1saXN0IC5zZXR0aW5nLWl0ZW0ge1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nOiAxMHB4IDA7XG5cdGRpc3BsYXk6IGZsZXg7IC8qIFVzZSBmbGV4IGZvciBiZXR0ZXIgY29udHJvbCAqL1xuXHRhbGlnbi1pdGVtczogY2VudGVyOyAvKiBBbGlnbiBpdGVtcyB2ZXJ0aWNhbGx5ICovXG59XG5cbi52aWV3LW1hbmFnZW1lbnQtbGlzdCAuc2V0dGluZy1pdGVtLWluZm8ge1xuXHRmbGV4LWdyb3c6IDE7IC8qIEFsbG93IG5hbWUvZGVzY3JpcHRpb24gdG8gdGFrZSB1cCBzcGFjZSAqL1xuXHRtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbi52aWV3LW1hbmFnZW1lbnQtbGlzdCAuc2V0dGluZy1pdGVtLWNvbnRyb2wge1xuXHQvKiBLZWVwIGNvbnRyb2xzIHRvZ2V0aGVyICovXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogOHB4OyAvKiBTcGFjZSBiZXR3ZWVuIHRvZ2dsZXMvYnV0dG9ucyAqL1xufVxuXG4udmlldy1tYW5hZ2VtZW50LWxpc3QgLnNldHRpbmctaXRlbS1jb250cm9sIC5idXR0b24tY29tcG9uZW50IHtcblx0cGFkZGluZzogNXB4OyAvKiBTbWFsbGVyIHBhZGRpbmcgZm9yIGljb24gYnV0dG9ucyAqL1xuXHRoZWlnaHQ6IGF1dG87XG59XG5cbi52aWV3LW1hbmFnZW1lbnQtbGlzdCAudmlldy1vcmRlci1idXR0b24sXG4udmlldy1tYW5hZ2VtZW50LWxpc3QgLnZpZXctZGVsZXRlLWJ1dHRvbiB7XG5cdC8qIFN0eWxlIGFjdGlvbiBidXR0b25zICovXG5cdG1hcmdpbi1sZWZ0OiA1cHg7XG59XG5cbi52aWV3LW1hbmFnZW1lbnQtbGlzdCAuc2V0dGluZy1pdGVtOmxhc3QtY2hpbGQge1xuXHRib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4vKiBTcGVjaWZpYyBzdHlsaW5nIGZvciB0b2dnbGVzIGluIHRoZSBsaXN0ICovXG4udmlldy1tYW5hZ2VtZW50LWxpc3QgLnNldHRpbmctaXRlbS1jb250cm9sIC5jaGVja2JveC1jb250YWluZXIge1xuXHRtYXJnaW46IDA7IC8qIFJlbW92ZSBkZWZhdWx0IG1hcmdpbnMgaWYgYW55ICovXG59XG5cbi8qIEljb24gUGlja2VyIE1lbnUgU3R5bGVzIChTY29wZWQpICovXG4udGctaWNvbi1tZW51IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR6LWluZGV4OiAxMDA7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sKTtcblx0cGFkZGluZzogOHB4O1xuXHRtYXgtaGVpZ2h0OiAzMDBweDsgLyogTGltaXQgb3ZlcmFsbCBtZW51IGhlaWdodCAqL1xuXHR3aWR0aDogMjUwcHg7XG5cdGRpc3BsYXk6IGZsZXg7IC8qIFVzZSBmbGV4Ym94ICovXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdC8qIFByZXZlbnQgcGFkZGluZyBmcm9tIGFmZmVjdGluZyBtYXgtaGVpZ2h0IGNhbGN1bGF0aW9uIGZvciBmbGV4IGNoaWxkcmVuICovXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qIFJlbW92ZSBzdHlsZXMgZm9yIHRoZSBpbnRlcm1lZGlhdGUgY29udGFpbmVyICovXG4vKiAuYm0tcGx1Z2luLWljb24tbWVudSAuYm0tbWVudS1jb250ZW50IHsgXG5cdGZsZXgtZ3JvdzogMTsgXG5cdG92ZXJmbG93LXk6IGF1dG87IFxuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRtaW4taGVpZ2h0OiAwOyBcbn0gKi9cblxuLnRnLWljb24tbWVudSAudGctbWVudS1zZWFyY2gge1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogNnB4IDhweDtcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0ZmxleC1zaHJpbms6IDA7IC8qIFByZXZlbnQgc2VhcmNoIGJhciBmcm9tIHNocmlua2luZyAqL1xufVxuXG4udGctaWNvbi1tZW51IC50Zy1tZW51LWljb25zIHtcblx0ZmxleC1ncm93OiAxOyAvKiBJY29uIGxpc3QgdGFrZXMgcmVtYWluaW5nIHZlcnRpY2FsIHNwYWNlICovXG5cdG92ZXJmbG93LXk6IGF1dG87IC8qIE1ha2UgdGhlIGljb24gbGlzdCBzY3JvbGxhYmxlICovXG5cdG1pbi1oZWlnaHQ6IDA7IC8qIENydWNpYWwgZm9yIGFsbG93aW5nIGZsZXggY2hpbGQgdG8gc2hyaW5rIGFuZCBzY3JvbGwgKi9cblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMzJweCwgMWZyKSk7XG5cdGdhcDogNHB4O1xuXHQvKiBSZW1vdmUgbWluLWhlaWdodCBwcmV2aW91c2x5IG5lZWRlZCBmb3IgZ3JpZCBpbiBmbGV4ICovXG59XG5cbi8qIFNjb3BlIHRoZSBjbGlja2FibGUgaWNvbiAqd2l0aGluKiB0aGUgbWVudSAqL1xuLnRnLWljb24tbWVudSAuY2xpY2thYmxlLWljb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogNnB4O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIDAuMXMgZWFzZS1pbi1vdXQ7XG59XG5cbi50Zy1pY29uLW1lbnUgLmNsaWNrYWJsZS1pY29uOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4udGctaWNvbi1tZW51IC5jbGlja2FibGUtaWNvbiBzdmcge1xuXHR3aWR0aDogMjBweDtcblx0aGVpZ2h0OiAyMHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG4iLCAiLyogQ2hlY2tib3ggU3RhdHVzIFN3aXRjaGVyIFN0eWxlcyAqL1xuLnRhc2stc3RhdHVzLXdpZGdldCB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1ib2xkKTtcbn1cblxuLnRhc2stc3RhdGUubGl2ZS1wcmV2aWV3LW1vZGUge1xuXHRwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0tc2l6ZS00LTIpO1xuXHRwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLXNpemUtMi0xKTtcbn1cblxuLnRhc2stc3RhdHVzLXdpZGdldCAubGlzdC1idWxsZXQ6OmFmdGVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlzdC1tYXJrZXItY29sb3IpICFpbXBvcnRhbnQ7XG59XG5cbi8qIFRPRE8gc3RhdHVzIHN0eWxlICovXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCIgXCJdIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLyogRE9JTkcgc3RhdHVzIHN0eWxlICovXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCIvXCJdIHtcblx0Y29sb3I6IHZhcigtLXRhc2stZG9pbmctY29sb3IpO1xufVxuXG4vKiBJTi1QUk9HUkVTUyBzdGF0dXMgc3R5bGUgKi9cbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIj5cIl0ge1xuXHRjb2xvcjogdmFyKC0tdGFzay1pbi1wcm9ncmVzcy1jb2xvcik7XG59XG5cbi8qIERPTkUgc3RhdHVzIHN0eWxlICovXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJ4XCJdLFxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiWFwiXSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLWNvbXBsZXRlZC1jb2xvcik7XG59XG5cbi8qIENBTkNFTExFRCBzdGF0dXMgc3R5bGUgKi9cbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIi1cIl0ge1xuXHRjb2xvcjogdmFyKC0tdGFzay1hYmFuZG9uZWQtY29sb3IpO1xufVxuXG4vKiBTQ0hFRFVMRUQgc3RhdHVzIHN0eWxlICovXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCI8XCJdIHtcblx0Y29sb3I6IHZhcigtLXRhc2stcGxhbm5lZC1jb2xvcik7XG59XG5cbi8qIFFVRVNUSU9OIHN0YXR1cyBzdHlsZSAqL1xuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiP1wiXSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLXF1ZXN0aW9uLWNvbG9yKTtcbn1cblxuLyogSU1QT1JUQU5UIHN0YXR1cyBzdHlsZSAqL1xuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiIVwiXSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLWltcG9ydGFudC1jb2xvcik7XG59XG5cbi8qIFNUQVIgc3RhdHVzIHN0eWxlICovXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCIqXCJdIHtcblx0Y29sb3I6IHZhcigtLXRhc2stc3Rhci1jb2xvcik7XG59XG5cbi8qIFFVT1RFIHN0YXR1cyBzdHlsZSAqL1xuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPSdcIiddIHtcblx0Y29sb3I6IHZhcigtLXRhc2stcXVvdGUtY29sb3IpO1xufVxuXG4vKiBMT0NBVElPTiBzdGF0dXMgc3R5bGUgKi9cbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cImxcIl0ge1xuXHRjb2xvcjogdmFyKC0tdGFzay1sb2NhdGlvbi1jb2xvcik7XG59XG5cbi8qIEJPT0tNQVJLIHN0YXR1cyBzdHlsZSAqL1xuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiYlwiXSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLWJvb2ttYXJrLWNvbG9yKTtcbn1cblxuLyogSU5GT1JNQVRJT04gc3RhdHVzIHN0eWxlICovXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJpXCJdIHtcblx0Y29sb3I6IHZhcigtLXRhc2staW5mb3JtYXRpb24tY29sb3IpO1xufVxuXG4vKiBJREVBIHN0YXR1cyBzdHlsZSAqL1xuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiSVwiXSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLWlkZWEtY29sb3IpO1xufVxuXG4vKiBQUk9TIHN0YXR1cyBzdHlsZSAqL1xuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwicFwiXSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLXByb3MtY29sb3IpO1xufVxuXG4vKiBDT05TIHN0YXR1cyBzdHlsZSAqL1xuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiY1wiXSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLWNvbnMtY29sb3IpO1xufVxuXG4vKiBGSVJFIHN0YXR1cyBzdHlsZSAqL1xuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiZlwiXSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLWZpcmUtY29sb3IpO1xufVxuXG4vKiBLRVkgc3RhdHVzIHN0eWxlICovXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJrXCJdIHtcblx0Y29sb3I6IHZhcigtLXRhc2sta2V5LWNvbG9yKTtcbn1cblxuLyogV0lOIHN0YXR1cyBzdHlsZSAqL1xuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwid1wiXSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLXdpbi1jb2xvcik7XG59XG5cbi8qIFVQIHN0YXR1cyBzdHlsZSAqL1xuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwidVwiXSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLXVwLWNvbG9yKTtcbn1cblxuLyogRE9XTiBzdGF0dXMgc3R5bGUgKi9cbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cImRcIl0ge1xuXHRjb2xvcjogdmFyKC0tdGFzay1kb3duLWNvbG9yKTtcbn1cblxuLyogTk9URSBzdGF0dXMgc3R5bGUgKi9cbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIm5cIl0ge1xuXHRjb2xvcjogdmFyKC0tdGFzay1ub3RlLWNvbG9yKTtcbn1cblxuLyogQU1PVU5UL1NBVklOR1Mgc3RhdHVzIHN0eWxlICovXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJTXCJdIHtcblx0Y29sb3I6IHZhcigtLXRhc2stYW1vdW50LWNvbG9yKTtcbn1cblxuLyogU1BFRUNIIEJVQkJMRSBzdGF0dXMgc3R5bGUgKi9cbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIjBcIl0sXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCIxXCJdLFxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiMlwiXSxcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIjNcIl0sXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCI0XCJdLFxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiNVwiXSxcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIjZcIl0sXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCI3XCJdLFxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiOFwiXSxcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIjlcIl0ge1xuXHRjb2xvcjogdmFyKC0tdGFzay1zcGVlY2gtY29sb3IpO1xufVxuXG4udGFzay1mYWtlLWJ1bGxldCB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0d2lkdGg6IDVweDtcblx0aGVpZ2h0OiA1cHg7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRtYXJnaW4tcmlnaHQ6IDRweDtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxub2wgPiAudGFzay1saXN0LWl0ZW0gLnRhc2stZmFrZS1idWxsZXQge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG5vbCA+IC50YXNrLWxpc3QtaXRlbSAudGFzay1zdGF0ZS1jb250YWluZXIge1xuXHRtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xufVxuIiwgIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBUYXNrIEdlbml1cyBPbmJvYXJkaW5nIFN0eWxlcyAqL1xuLyogc2hhZGNuIERlc2lnbiBQcmluY2lwbGVzIEFwcGxpZWQgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIE1haW4gb25ib2FyZGluZyBzdHlsZXMgLSBzaGFyZWQgYnkgbW9kYWwgYW5kIHZpZXcgKi9cbi5vbmJvYXJkaW5nLXZpZXcge1xuXHQtLWRpYWxvZy13aWR0aDogODAwcHg7XG5cdC0tZGlhbG9nLW1heC13aWR0aDogOTB2dztcblx0LS1kaWFsb2ctbWF4LWhlaWdodDogOTB2aDtcblx0LS1vbmJvYXJkaW5nLXNwYWNpbmc6IHZhcigtLXNpemUtNC00KTtcblx0LS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXM6IDhweDtcblx0LS1vbmJvYXJkaW5nLXRyYW5zaXRpb246IGFsbCAyMDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuXG5cdC8qIHNoYWRjbiBkZXNpZ24gdG9rZW5zICovXG5cdC0tc2hhZG93LXNtOiAwIDFweCAycHggMCByZ2IoMCAwIDAgLyAwLjA1KTtcblx0LS1zaGFkb3ctbWQ6IDAgMXB4IDNweCAwIHJnYigwIDAgMCAvIDAuMSksIDAgMXB4IDJweCAtMXB4IHJnYigwIDAgMCAvIDAuMSk7XG5cdC0tc2hhZG93LWxnOlxuXHRcdDAgNHB4IDZweCAtMXB4IHJnYigwIDAgMCAvIDAuMSksIDAgMnB4IDRweCAtMnB4IHJnYigwIDAgMCAvIDAuMSk7XG5cdC0tc2hhZG93LXhsOlxuXHRcdDAgMTBweCAxNXB4IC0zcHggcmdiKDAgMCAwIC8gMC4xKSwgMCA0cHggNnB4IC00cHggcmdiKDAgMCAwIC8gMC4xKTtcbn1cblxuLyogTW9kYWwgc3BlY2lmaWMgc3R5bGVzICovXG4ub25ib2FyZGluZy12aWV3IC5tb2RhbC1jb250ZW50IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbW9kYWwtYmFja2dyb3VuZCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW1vZGFsLXJhZGl1cyk7XG5cdG1heC13aWR0aDogdmFyKC0tZGlhbG9nLW1heC13aWR0aCk7XG5cdG1heC1oZWlnaHQ6IHZhcigtLWRpYWxvZy1tYXgtaGVpZ2h0KTtcblx0aGVpZ2h0OiA5MHZoO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRvdmVyZmxvdzogYXV0bztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRtaW4taGVpZ2h0OiAxMDBweDtcbn1cblxuLyogVmlldyBzcGVjaWZpYyBzdHlsZXMgKi9cbi5vbmJvYXJkaW5nLXZpZXcge1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLnZpZXctY29udGVudCB7XG5cdGhlaWdodDogMTAwJTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLyogSGlkZSBvbmJvYXJkaW5nLWhlYWRlciBpZiBubyBoZWFkZXIgY29udGVudCAqL1xuLm9uYm9hcmRpbmctdmlldyAub25ib2FyZGluZy1oZWFkZXI6ZW1wdHkge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5vbmJvYXJkaW5nLXN1YnRpdGxlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDAuOTVlbTtcblx0bWFyZ2luOiAwO1xufVxuXG4vKiBDb250ZW50IHNlY3Rpb24gKi9cbi5vbmJvYXJkaW5nLXZpZXcgLm9uYm9hcmRpbmctY29udGVudCB7XG5cdGZsZXg6IDE7XG5cdHBhZGRpbmc6IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdG1pbi1oZWlnaHQ6IDA7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8qIEZvb3RlciBzZWN0aW9uIC0gTW9kZXJuIGRlc2lnbiAqL1xuLm9uYm9hcmRpbmctdmlldyAub25ib2FyZGluZy1mb290ZXIge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCkgdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyLXRvcDogbm9uZTtcblx0Ym94LXNoYWRvdzogMCAtMnB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjA2KTtcblx0ZmxleC1zaHJpbms6IDA7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0dHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbn1cblxuLyogR2xhc3MgbW9ycGhpc20gZWZmZWN0IGZvciBtb2Rlcm4gbG9vayAqL1xuLm9uYm9hcmRpbmctdmlldyAub25ib2FyZGluZy1mb290ZXI6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDtcblx0Ym90dG9tOiAwO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpLCB0cmFuc3BhcmVudCk7XG5cdG9wYWNpdHk6IDAuNTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLm9uYm9hcmRpbmctYnV0dG9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMTtcbn1cblxuLyogQnV0dG9uIGdyb3VwcyAtIGxlZnQgYW5kIHJpZ2h0ICovXG4ub25ib2FyZGluZy12aWV3IC5idXR0b25zLWxlZnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuYnV0dG9ucy1yaWdodCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLyogRW5oYW5jZWQgYnV0dG9uIHN0eWxlcyAqL1xuLm9uYm9hcmRpbmctdmlldyAub25ib2FyZGluZy1idXR0b25zIGJ1dHRvbiB7XG5cdG1pbi1oZWlnaHQ6IDM2cHg7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtNCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5vbmJvYXJkaW5nLWJ1dHRvbnMgYnV0dG9uOm5vdCgubW9kLWN0YSk6aG92ZXIge1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG59XG5cbi8qIFJpcHBsZSBlZmZlY3Qgb24gYnV0dG9uIGNsaWNrICovXG4ub25ib2FyZGluZy12aWV3IC5vbmJvYXJkaW5nLWJ1dHRvbnMgYnV0dG9uOjphZnRlciB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiA1MCU7XG5cdGxlZnQ6IDUwJTtcblx0d2lkdGg6IDA7XG5cdGhlaWdodDogMDtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXHR0cmFuc2l0aW9uOlxuXHRcdHdpZHRoIDAuNnMsXG5cdFx0aGVpZ2h0IDAuNnM7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLm9uYm9hcmRpbmctYnV0dG9ucyBidXR0b246YWN0aXZlOjphZnRlciB7XG5cdHdpZHRoOiAyMDBweDtcblx0aGVpZ2h0OiAyMDBweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBTZXR0aW5ncyBDaGVjayBTdGVwICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLm9uYm9hcmRpbmctdmlldyAuc2V0dGluZ3MtY2hlY2stY29udGVudCB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDEuMmZyO1xuXHRnYXA6IHZhcigtLXNpemUtNC02KTtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTQpO1xufVxuXG4vKiBDdXJyZW50IGNvbmZpZ3VyYXRpb24gY2FyZCAqL1xuLm9uYm9hcmRpbmctdmlldyAuc2V0dGluZ3MtY2hlY2stY3VycmVudC1jYXJkIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KTtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNtKTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuc2V0dGluZ3MtY2hlY2stY2FyZC1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5jaGVjay1oZWFkZXItaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbik7XG5cdGZvbnQtc2l6ZTogMS41ZW07XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLmNoZWNrLWhlYWRlci10aXRsZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRmbGV4OiAxO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5jaGVjay1oZWFkZXItdGl0bGUgaDMge1xuXHRtYXJnaW46IDA7XG5cdGZvbnQtc2l6ZTogMS4xZW07XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLnNldHRpbmdzLWNoZWNrLWNhcmQtYm9keSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuY2hlY2stY2FyZC1kZXNjIHtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGVjay1jaGFuZ2VzLWxpc3Qge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IDA7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGVjay1jaGFuZ2VzLWxpc3QgbGkge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuY2hhbmdlLWNoZWNrLWljb24ge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pO1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLyogQWN0aW9ucyBjb250YWluZXIgKi9cbi5vbmJvYXJkaW5nLXZpZXcgLnNldHRpbmdzLWNoZWNrLWFjdGlvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcbn1cblxuLyogQWN0aW9uIGNhcmRzICovXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGVjay1hY3Rpb24tY2FyZCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IHZhcigtLW9uYm9hcmRpbmctdHJhbnNpdGlvbik7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zbSk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogU2VsZWN0ZWQgY2FyZCBzdGF0ZSAqL1xuLm9uYm9hcmRpbmctdmlldyAuc2V0dGluZ3MtY2hlY2stYWN0aW9uLWNhcmQuaXMtc2VsZWN0ZWQge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcblx0XHQxMzVkZWcsXG5cdFx0cmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4wNSkgMCUsXG5cdFx0dmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KSAxMDAlXG5cdCk7XG5cdGJveC1zaGFkb3c6XG5cdFx0dmFyKC0tc2hhZG93LW1kKSxcblx0XHQwIDAgMCAzcHggcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4xKTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuc2V0dGluZ3MtY2hlY2stYWN0aW9uLWNhcmQ6aG92ZXIge1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sZyk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuc2V0dGluZ3MtY2hlY2stYWN0aW9uLWNhcmQ6aG92ZXI6OmJlZm9yZSB7XG5cdHRyYW5zZm9ybTogc2NhbGVYKDEpO1xufVxuXG4vKiBXaXphcmQgY2FyZCAocHJpbWFyeSkgKi9cbi5vbmJvYXJkaW5nLXZpZXcgLnNldHRpbmdzLWNoZWNrLWFjdGlvbi13aXphcmQge1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG5cdFx0MTM1ZGVnLFxuXHRcdHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSkgMCUsXG5cdFx0dmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpIDEwMCVcblx0KTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuc2V0dGluZ3MtY2hlY2stYWN0aW9uLXdpemFyZDo6YmVmb3JlIHtcblx0dHJhbnNmb3JtOiBzY2FsZVgoMSk7XG59XG5cbi8qIEtlZXAgY2FyZCAoc2Vjb25kYXJ5KSAqL1xuLm9uYm9hcmRpbmctdmlldyAuc2V0dGluZ3MtY2hlY2stYWN0aW9uLWtlZXAge1xuXHRvcGFjaXR5OiAwLjk7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLnNldHRpbmdzLWNoZWNrLWFjdGlvbi1rZWVwOmhvdmVyIHtcblx0b3BhY2l0eTogMTtcbn1cblxuLyogQWN0aW9uIGNhcmQgY29udGVudCAqL1xuLm9uYm9hcmRpbmctdmlldyAuYWN0aW9uLWNhcmQtaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5hY3Rpb24tY2FyZC1pY29uIHtcblx0Zm9udC1zaXplOiAyZW07XG5cdGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNpemUtNC0zKTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuYWN0aW9uLWNhcmQtY29udGVudCBoMyB7XG5cdG1hcmdpbjogMCAwIHZhcigtLXNpemUtNC0yKSAwO1xuXHRmb250LXNpemU6IDEuMmVtO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5hY3Rpb24tY2FyZC1jb250ZW50ID4gcCB7XG5cdG1hcmdpbjogMCAwIHZhcigtLXNpemUtNC0zKSAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLmFjdGlvbi1jYXJkLWZlYXR1cmVzIHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luOiB2YXIoLS1zaXplLTQtMykgMCAwIDA7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTMpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5hY3Rpb24tY2FyZC1mZWF0dXJlcyBsaSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC44NWVtO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5hY3Rpb24tY2FyZC1mZWF0dXJlcyAuZmVhdHVyZS1pY29uIHtcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5hY3Rpb24tY2FyZC1ub3RlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0zKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTMpIHZhcigtLXNpemUtNC0yKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGZvbnQtc2l6ZTogMC44NWVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLmFjdGlvbi1jYXJkLW5vdGUgLm5vdGUtaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4vKiBSZXNwb25zaXZlIGFkanVzdG1lbnRzICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0Lm9uYm9hcmRpbmctdmlldyAuc2V0dGluZ3MtY2hlY2stY29udGVudCB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cdH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBXZWxjb21lIFN0ZXAgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ub25ib2FyZGluZy12aWV3IC53ZWxjb21lLXNlY3Rpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLmZlYXR1cmVzLW92ZXJ2aWV3IHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyODBweCwgMWZyKSk7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xuXHRtYXJnaW46IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZykgMDtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuZmVhdHVyZS1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5mZWF0dXJlLWljb24ge1xuXHRmb250LXNpemU6IDEuNWVtO1xuXHRmbGV4LXNocmluazogMDtcblx0bGluZS1oZWlnaHQ6IDE7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLnNldHVwLW5vdGUge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5zZXR1cC1kZXNjcmlwdGlvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjk1ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdG1hcmdpbjogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBVc2VyIExldmVsIFNlbGVjdGlvbiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5vbmJvYXJkaW5nLXZpZXcgLnVzZXItbGV2ZWwtY2FyZHMge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDI1MHB4LCAxZnIpKTtcblx0Z2FwOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xuXHRtYXJnaW46IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZykgMDtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAudXNlci1sZXZlbC1jYXJkIHtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xuXHRwYWRkaW5nOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IHZhcigtLW9uYm9hcmRpbmctdHJhbnNpdGlvbik7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNtKTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAudXNlci1sZXZlbC1jYXJkLmNhcmQtaG92ZXIge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LWxnKTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAudXNlci1sZXZlbC1jYXJkLnNlbGVjdGVkIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Ym94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMSk7XG59XG5cbi51c2VyLWxldmVsLWNhcmQgLmNhcmQtaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLnVzZXItbGV2ZWwtY2FyZCAuY2FyZC1pY29uIHtcblx0Zm9udC1zaXplOiAxLjhlbTtcblx0bGluZS1oZWlnaHQ6IDE7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4udXNlci1sZXZlbC1jYXJkIC5jYXJkLXRpdGxlIHtcblx0bWFyZ2luOiAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXNpemU6IDEuMmVtO1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuXG4udXNlci1sZXZlbC1jYXJkIC5jYXJkLWRlc2NyaXB0aW9uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRsaW5lLWhlaWdodDogMS40O1xuXHRtYXJnaW46IDAgMCB2YXIoLS1zaXplLTQtMikgMDtcbn1cblxuLnVzZXItbGV2ZWwtY2FyZCAuY2FyZC1mZWF0dXJlcyB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLnVzZXItbGV2ZWwtY2FyZCAuY2FyZC1mZWF0dXJlcyB1bCB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zaXplLTQtMyk7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi51c2VyLWxldmVsLWNhcmQgLmNhcmQtZmVhdHVyZXMgbGkge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjg1ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcbn1cblxuLnVzZXItbGV2ZWwtY2FyZCAuY2FyZC1mZWF0dXJlcyBsaTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlx1MjAyMlwiO1xuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiBjYWxjKC0xICogdmFyKC0tc2l6ZS00LTMpKTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi51c2VyLWxldmVsLWNhcmQgLnJlY29tbWVuZGF0aW9uLWJhZGdlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IHZhcigtLXNpemUtNC0yKTtcblx0cmlnaHQ6IHZhcigtLXNpemUtNC0yKTtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtNC0xKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRmb250LXNpemU6IDAuN2VtO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIENvbmZpZ3VyYXRpb24gUHJldmlldyAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5vbmJvYXJkaW5nLXZpZXcgLmNvbmZpZy1vdmVydmlldyB7XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXgtd2lkdGg6IDgwMHB4O1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5tb2RlLWljb24ge1xuXHQtLWljb24tc2l6ZTogdmFyKC0tc2l6ZS00LTQpO1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuY29uZmlnLXNldHRpbmdzIHtcblx0d2lkdGg6IDEwMCU7XG5cdG1heC13aWR0aDogODAwcHg7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLmNvbmZpZy1mZWF0dXJlcyB7XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXgtd2lkdGg6IDgwMHB4O1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5jb25maWctdmlld3Mge1xuXHR3aWR0aDogMTAwJTtcblx0bWF4LXdpZHRoOiA4MDBweDtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuZW5hYmxlZC1mZWF0dXJlcy1saXN0IHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luOiAwO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuZW5hYmxlZC1mZWF0dXJlcy1saXN0IGxpIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5mZWF0dXJlLWNoZWNrIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLnZpZXdzLWdyaWQge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDEyMHB4LCAxZnIpKTtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLnZpZXctaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC52aWV3LWljb24ge1xuXHRmb250LXNpemU6IDEuMmVtO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMSk7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLnZpZXctbmFtZSB7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1zdW1tYXJ5LWxpc3Qge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IDA7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1zdW1tYXJ5LWxpc3QgbGkge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSAwO1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1zdW1tYXJ5LWxpc3QgbGk6bGFzdC1jaGlsZCB7XG5cdGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLnNldHRpbmctbGFiZWwge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5nLXZhbHVlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5jb25maWctb3B0aW9ucyB7XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXgtd2lkdGg6IDgwMHB4O1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5jdXN0b21pemF0aW9uLW5vdGUge1xuXHR3aWR0aDogMTAwJTtcblx0bWF4LXdpZHRoOiA4MDBweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAubm90ZS10ZXh0IHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRtYXJnaW46IDA7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyogQ29uZmlndXJhdGlvbiBDaGFuZ2VzIFByZXZpZXcgKi9cbi5vbmJvYXJkaW5nLXZpZXcgLmNvbmZpZy1jaGFuZ2VzLXN1bW1hcnkge1xuXHR3aWR0aDogMTAwJTtcblx0bWF4LXdpZHRoOiA4MDBweDtcblx0bWFyZ2luOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpIDA7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGFuZ2VzIHtcblx0bWFyZ2luOiB2YXIoLS1zaXplLTQtMikgMDtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLnByZXNlcnZlZC1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtNC0xKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTEpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5wcmVzZXJ2ZWQtaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbik7XG5cdGZvbnQtc2l6ZTogMS4xZW07XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLmNoYW5nZS10ZXh0IHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAudXBkYXRlZC12aWV3cyxcbi5vbmJvYXJkaW5nLW1vZGFsIC51cGRhdGVkLXZpZXdzIHtcblx0ZGlzcGxheTogZmxleDtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuY2hhbmdlLWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5jaGFuZ2UtaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRmb250LXNpemU6IDEuMWVtO1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNpemUtNC0xKTtcblx0ZGlzcGxheTogZmxleDtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuc2V0dGluZ3MtY2hhbmdlcy1saXN0IHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luOiB2YXIoLS1zaXplLTQtMSkgMCAwIHZhcigtLXNpemUtNC00KTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuc2V0dGluZ3MtY2hhbmdlcy1saXN0IGxpIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjg1ZW07XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLnNhZmV0eS1ub3RlIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG5cdGJhY2tncm91bmQ6IHJnYmEodmFyKC0tY29sb3ItYmx1ZS1yZ2IpLCAwLjEpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTEpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5zYWZldHktaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ibHVlKTtcblx0Zm9udC1zaXplOiAxLjFlbTtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLnNhZmV0eS10ZXh0IHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJsdWUpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogVGFzayBDcmVhdGlvbiBHdWlkZSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5vbmJvYXJkaW5nLXZpZXcgLnRhc2stZ3VpZGUtaW50cm8ge1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5ndWlkZS1kZXNjcmlwdGlvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjk1ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdG1hcmdpbjogMDtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuc2hvcnRjdXRzLXNlY3Rpb24ge1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5mb3JtYXQtZXhhbXBsZSB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC00KTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTQpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5mb3JtYXQtZXhhbXBsZSBjb2RlIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtNC0xKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xuXHRmb250LXNpemU6IDAuODVlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luOiB2YXIoLS1zaXplLTItMSkgMDtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuZm9ybWF0LWxlZ2VuZCBzbWFsbCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS0yLTEpO1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuLm9uYm9hcmRpbmctdmlldyAubWV0YWRhdGEtc3ltYm9scyB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuc3RhdHVzLWxpc3QgbGksXG4ub25ib2FyZGluZy12aWV3IC5zeW1ib2xzLWxpc3Qge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRtYXJnaW46IDA7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLnN0YXR1cy1saXN0IGxpLFxuLm9uYm9hcmRpbmctdmlldyAuc3ltYm9scy1saXN0IGxpIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIDA7XG5cdGZvbnQtc2l6ZTogMC44NWVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5zdGF0dXMtbGlzdCBjb2RlIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS00LTEpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS00LTIpO1xuXHRtaW4td2lkdGg6IDQwcHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuZGVtby1jb250ZW50IHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLmRlbW8tYnV0dG9uIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyOiBub25lO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1idXR0b24tcmFkaXVzKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHR0cmFuc2l0aW9uOiB2YXIoLS1vbmJvYXJkaW5nLXRyYW5zaXRpb24pO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLmRlbW8tYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAucHJhY3RpY2UtZmVlZGJhY2sge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTEpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC52YWxpZGF0aW9uLXN1Y2Nlc3Mge1xuXHRiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWNvbG9yLWdyZWVuLXJnYiksIDAuMSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWdyZWVuKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAudmFsaWRhdGlvbi1lcnJvciB7XG5cdGJhY2tncm91bmQ6IHJnYmEodmFyKC0tY29sb3ItcmVkLXJnYiksIDAuMSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXJlZCk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1yZWQpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC52YWxpZGF0aW9uLXdhcm5pbmcge1xuXHRiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWNvbG9yLW9yYW5nZS1yZ2IpLCAwLjEpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1vcmFuZ2UpO1xuXHRjb2xvcjogdmFyKC0tY29sb3Itb3JhbmdlKTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAudmFsaWRhdGlvbi1pbmZvIHtcblx0YmFja2dyb3VuZDogcmdiYSh2YXIoLS1jb2xvci1ibHVlLXJnYiksIDAuMSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJsdWUpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYmx1ZSk7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLnNob3J0Y3V0cy1saXN0IHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luOiAwO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuc2hvcnRjdXRzLWxpc3QgbGkge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgMDtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuc2hvcnRjdXRzLWxpc3QgY29kZSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTQtMik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zaXplLTQtMyk7XG5cdG1pbi13aWR0aDogMTAwcHg7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogQ29tcGxldGlvbiBQYWdlICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLm9uYm9hcmRpbmctdmlldyAuY29tcGxldGlvbi1zdWNjZXNzIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5zdWNjZXNzLWljb24ge1xuXHRmb250LXNpemU6IDNlbTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5zdWNjZXNzLW1lc3NhZ2Uge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC45NWVtO1xuXHRtYXJnaW46IDA7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLmZlZWRiYWNrLXNlY3Rpb24ge1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5jb25maWctc3VtbWFyeS1jYXJkIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLmNvbmZpZy1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTEpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5jb25maWctaWNvbiB7XG5cdGZvbnQtc2l6ZTogMS41ZW07XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLmNvbmZpZy1uYW1lIHtcblx0Zm9udC1zaXplOiAxLjFlbTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuY29uZmlnLWRlc2NyaXB0aW9uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRtYXJnaW46IDA7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLnF1aWNrLXN0YXJ0LXN0ZXBzIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLnF1aWNrLXN0YXJ0LXN0ZXAge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5zdGVwLW51bWJlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdHdpZHRoOiAyNHB4O1xuXHRoZWlnaHQ6IDI0cHg7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5zdGVwLWNvbnRlbnQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRsaW5lLWhlaWdodDogMS40O1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5uZXh0LXN0ZXBzLWxpc3Qge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IDA7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLm5leHQtc3RlcHMtbGlzdCBsaSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuc3RlcC1jaGVjayB7XG5cdGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLnN0ZXAtdGV4dCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLnJlc291cmNlcy1saXN0IHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMDBweCwgMWZyKSk7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5yZXNvdXJjZS1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xuXHR0cmFuc2l0aW9uOiB2YXIoLS1vbmJvYXJkaW5nLXRyYW5zaXRpb24pO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5yZXNvdXJjZS1jbGlja2FibGUge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLnJlc291cmNlLWNsaWNrYWJsZTpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5yZXNvdXJjZS1pY29uIHtcblx0Zm9udC1zaXplOiAxLjVlbTtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLmZlZWRiYWNrLWRlc2NyaXB0aW9uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRsaW5lLWhlaWdodDogMS41O1xuXHRtYXJnaW46IDAgMCB2YXIoLS1zaXplLTQtMikgMDtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuZmVlZGJhY2stYnV0dG9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuZmVlZGJhY2stYnV0dG9uIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXI6IG5vbmU7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtNCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJ1dHRvbi1yYWRpdXMpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdHRyYW5zaXRpb246IHZhcigtLW9uYm9hcmRpbmctdHJhbnNpdGlvbik7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLmZlZWRiYWNrLXBvc2l0aXZlOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItZ3JlZW4pO1xuXHRjb2xvcjogd2hpdGU7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLmZlZWRiYWNrLW5lZ2F0aXZlOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcmVkKTtcblx0Y29sb3I6IHdoaXRlO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5mZWVkYmFjay10aGFua3Mge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5mZWVkYmFjay10aGFua3MtbWVzc2FnZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdG1hcmdpbjogMCAwIHZhcigtLXNpemUtNC0yKSAwO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5mZWVkYmFjay10aGFua3MgYSB7XG5cdGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLmZlZWRiYWNrLXRoYW5rcyBhOmhvdmVyIHtcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLmZpbmFsLW1lc3NhZ2Uge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuZmluYWwtbWVzc2FnZS10ZXh0IHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDFlbTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRtYXJnaW46IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogUmVzcG9uc2l2ZSBEZXNpZ24gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0Lm9uYm9hcmRpbmctdmlldyB7XG5cdFx0LS1kaWFsb2ctd2lkdGg6IDk1dnc7XG5cdFx0LS1kaWFsb2ctbWF4LXdpZHRoOiA5NXZ3O1xuXHRcdC0tZGlhbG9nLW1heC1oZWlnaHQ6IDk1dmg7XG5cdH1cblxuXHQub25ib2FyZGluZy12aWV3IC51c2VyLWxldmVsLWNhcmRzIHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblx0fVxuXG5cdC5vbmJvYXJkaW5nLXZpZXcgLmZlYXR1cmVzLW92ZXJ2aWV3IHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblx0fVxuXG5cdC5vbmJvYXJkaW5nLXZpZXcgLnZpZXdzLWdyaWQge1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTAwcHgsIDFmcikpO1xuXHR9XG5cblx0Lm9uYm9hcmRpbmctdmlldyAucmVzb3VyY2VzLWxpc3Qge1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXHR9XG5cblx0Lm9uYm9hcmRpbmctdmlldyAuZmVlZGJhY2stYnV0dG9ucyB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0fVxuXG5cdC5vbmJvYXJkaW5nLXZpZXcgLm9uYm9hcmRpbmctYnV0dG9ucyB7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR9XG5cblx0LyogTW9kZSBhbmQgUGxhY2VtZW50IFNlbGVjdGlvbiAtIE1vYmlsZSBMYXlvdXQgKi9cblx0Lm1vZGUtb3B0aW9ucyxcblx0LnBsYWNlbWVudC1vcHRpb25zIHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblx0fVxuXG5cdC5tb2RlLWNhcmQtcHJldmlldyB7XG5cdFx0aGVpZ2h0OiAxMDBweDtcblx0fVxuXG5cdC5wbGFjZW1lbnQtY2FyZC1wcmV2aWV3IHtcblx0XHRoZWlnaHQ6IDgwcHg7XG5cdH1cblxuXHQubW9kZS1jYXJkLFxuXHQucGxhY2VtZW50LWNhcmQge1xuXHRcdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcblx0fVxuXG5cdC8qIEludHJvIG1vZGUgc2VsZWN0aW9uIC0gTW9iaWxlIGFkanVzdG1lbnRzICovXG5cdC5pbnRyby1tb2RlLXNlbGVjdGlvbi1jb250YWluZXIge1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRwYWRkaW5nOiAwIHZhcigtLXNpemUtNC0xKTtcblx0fVxuXG5cdC5pbnRyby10eXBpbmcge1xuXHRcdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KSB2YXIoLS1zaXplLTQtMik7XG5cdH1cblxuXHQvKiBGb290ZXIgYWRqdXN0bWVudHMgZm9yIG1vYmlsZSAqL1xuXHQub25ib2FyZGluZy12aWV3IC5vbmJvYXJkaW5nLWZvb3RlciB7XG5cdFx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpIHZhcigtLXNpemUtNC0yKTtcblx0fVxuXG5cdC5vbmJvYXJkaW5nLXZpZXcgLm9uYm9hcmRpbmctYnV0dG9ucyB7XG5cdFx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdH1cblxuXHQub25ib2FyZGluZy12aWV3IC5vbmJvYXJkaW5nLWJ1dHRvbnMgYnV0dG9uIHtcblx0XHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTMpO1xuXHRcdGZvbnQtc2l6ZTogMC45ZW07XG5cdH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBEYXJrIFRoZW1lIEFkanVzdG1lbnRzICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogRGFyayB0aGVtZSBhZGp1c3RtZW50cyBmb3IgZm9vdGVyICovXG4udGhlbWUtZGFyayAudGhlbWUtZGFyayAub25ib2FyZGluZy12aWV3IC5vbmJvYXJkaW5nLWZvb3RlciB7XG5cdGJveC1zaGFkb3c6IDAgLTJweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbn1cblxuLnRoZW1lLWRhcmsgLnRoZW1lLWRhcmsgLm9uYm9hcmRpbmctdmlldyAub25ib2FyZGluZy1mb290ZXI6OmJlZm9yZSB7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yKSwgdHJhbnNwYXJlbnQpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEFuaW1hdGlvbiBhbmQgVHJhbnNpdGlvbnMgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ub25ib2FyZGluZy12aWV3IC5vbmJvYXJkaW5nLWNvbnRlbnQge1xuXHRhbmltYXRpb246IGZhZGVJblVwIDAuM3MgZWFzZS1vdXQ7XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluVXAge1xuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcblx0fVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdH1cbn1cblxuLm9uYm9hcmRpbmctdmlldyAudXNlci1sZXZlbC1jYXJkLnNlbGVjdGVkIHtcblx0YW5pbWF0aW9uOiBjYXJkU2VsZWN0IDAuMnMgZWFzZS1vdXQ7XG59XG5cbkBrZXlmcmFtZXMgY2FyZFNlbGVjdCB7XG5cdDAlIHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHR9XG5cdDUwJSB7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjAyKTtcblx0fVxuXHQxMDAlIHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHR9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogTW9kZSBTZWxlY3Rpb24gLSBGbHVlbnQgdnMgTGVnYWN5ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLm1vZGUtc2VsZWN0aW9uIHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcbn1cblxuLm1vZGUtb3B0aW9ucyB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjgwcHgsIDFmcikpO1xuXHRnYXA6IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XG5cdG1hcmdpbjogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKSAwO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5tb2RlLWNhcmQge1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XG5cdHBhZGRpbmc6IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogdmFyKC0tb25ib2FyZGluZy10cmFuc2l0aW9uKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4ubW9kZS1jYXJkOmhvdmVyIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctcyk7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbn1cblxuLm1vZGUtY2FyZC5pcy1zZWxlY3RlZCB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjIpO1xufVxuXG4ubW9kZS1jYXJkLWhlYWRlciB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0zKTtcbn1cblxuLm1vZGUtY2FyZC10aXRsZSB7XG5cdGZvbnQtc2l6ZTogMS4xZW07XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLm1vZGUtY2FyZC1ib2R5IHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4ubW9kZS1jYXJkLXByZXZpZXcge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDNlbTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubW9kZS1mbHVlbnQgLm1vZGUtY2FyZC1wcmV2aWV3IHtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuXHRcdDEzNWRlZyxcblx0XHR2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSkgMCUsXG5cdFx0dmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3ZlcikgMTAwJVxuXHQpO1xufVxuXG4ubW9kZS1sZWdhY3kgLm1vZGUtY2FyZC1wcmV2aWV3IHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5tb2RlLWNhcmQtZGVzYyB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0bGluZS1oZWlnaHQ6IDEuNTtcblx0bWluLWhlaWdodDogM2VtO1xufVxuXG4vKiBTZWN0aW9uIHNoYXJlZCBzdHlsZXMgKi9cbi5zZWN0aW9uLXRpdGxlIHtcblx0Zm9udC1zaXplOiAxLjI1ZW07XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uc2VjdGlvbi1kZXNjIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDAuOTVlbTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTQpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5tb2RlLXRpcHMsXG4ucGxhY2VtZW50LXRpcHMge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4ubW9kZS10aXBzIHAsXG4ucGxhY2VtZW50LXRpcHMgcCB7XG5cdG1hcmdpbjogMDtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBQbGFjZW1lbnQgU2VsZWN0aW9uIC0gU2lkZWxlYXZlcyB2cyBJbmxpbmUgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucGxhY2VtZW50LXNlbGVjdGlvbiB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XG59XG5cbi5wbGFjZW1lbnQtb3B0aW9ucyB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjgwcHgsIDFmcikpO1xuXHRnYXA6IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XG5cdG1hcmdpbjogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKSAwO1xufVxuXG4ucGxhY2VtZW50LWNhcmQge1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XG5cdHBhZGRpbmc6IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogdmFyKC0tb25ib2FyZGluZy10cmFuc2l0aW9uKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4ucGxhY2VtZW50LWNhcmQ6aG92ZXIge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zKTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xufVxuXG4ucGxhY2VtZW50LWNhcmQuaXMtc2VsZWN0ZWQge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4yKTtcbn1cblxuLnBsYWNlbWVudC1jYXJkLWhlYWRlciB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0zKTtcbn1cblxuLnBsYWNlbWVudC1jYXJkLXRpdGxlIHtcblx0Zm9udC1zaXplOiAxLjFlbTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4ucGxhY2VtZW50LWNhcmQtYm9keSB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLnBsYWNlbWVudC1jYXJkLXByZXZpZXcge1xuXHRoZWlnaHQ6IDEwMHB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qIFZpc3VhbCByZXByZXNlbnRhdGlvbnMgZm9yIHBsYWNlbWVudCBtb2RlcyAqL1xuLnBsYWNlbWVudC1zaWRlbGVhdmVzIC5wbGFjZW1lbnQtY2FyZC1wcmV2aWV3IHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMmZyIDFmcjtcblx0Z2FwOiA0cHg7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLnBsYWNlbWVudC1wcmV2aWV3LWNvbCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbi5wbGFjZW1lbnQtcHJldmlldy1jb2wucGxhY2VtZW50LXByZXZpZXctbWFpbiB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdG9wYWNpdHk6IDAuMztcbn1cblxuLnBsYWNlbWVudC1pbmxpbmUgLnBsYWNlbWVudC1jYXJkLXByZXZpZXcge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5wbGFjZW1lbnQtcHJldmlldy1zaW5nbGUge1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRvcGFjaXR5OiAwLjM7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLnBsYWNlbWVudC1jYXJkLWRlc2Mge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdG1pbi1oZWlnaHQ6IDNlbTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBBSS1TdHlsZSBJbnRybyBUeXBpbmcgQW5pbWF0aW9uICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogV3JhcHBlciB0byBwcmV2ZW50IGxheW91dCBzaGlmdCAqL1xuLmludHJvLXR5cGluZy13cmFwcGVyIHtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpICogMyk7XG5cdHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKSAqIDMpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5vbmJvYXJkaW5nLWNvbnRlbnQuaW50cm8tdHlwaW5nLXdyYXBwZXIge1xuXHRwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKSAqIDMpO1xuXHRwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLW9uYm9hcmRpbmctc3BhY2luZykgKiAzKTtcbn1cblxuLmludHJvLXR5cGluZyB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC02KSB2YXIoLS1zaXplLTQtNCk7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uaW50cm8tbGluZSB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC00KTtcblx0bGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuLmludHJvLWxpbmUtMSB7XG5cdC8qIFwiSGksXCIgLSBMYXJnZSByZXNwb25zaXZlIGdyZWV0aW5nICovXG5cdGZvbnQtc2l6ZTogY2xhbXAoM3JlbSwgNnZ3LCA1cmVtKTtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xuXHRsaW5lLWhlaWdodDogMS4yO1xufVxuXG4uaW50cm8tbGluZS0yIHtcblx0LyogXCJUaGFuayB5b3UgZm9yIHVzaW5nIFRhc2sgR2VuaXVzXCIgLSBTZWNvbmRhcnkgZ3JlZXRpbmcgKi9cblx0Zm9udC1zaXplOiBjbGFtcCgxLjVyZW0sIDN2dywgMi41cmVtKTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTYpO1xuXHRsaW5lLWhlaWdodDogMS40O1xufVxuXG4uaW50cm8tbGluZS0zLFxuLmludHJvLWxpbmUtNCB7XG5cdC8qIERlc2NyaXB0aW9uIHRleHQgLSBSZXNwb25zaXZlIGJvZHkgdGV4dCAqL1xuXHRmb250LXNpemU6IGNsYW1wKDFyZW0sIDJ2dywgMS40cmVtKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtNSk7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5pbnRyby1saW5lLTQge1xuXHRwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpICogNCk7XG59XG5cbi5vbmJvYXJkaW5nLWhlYWRlciA+IC5pbnRyby1saW5lLTQge1xuXHRwYWRkaW5nLXRvcDogMDtcbn1cblxuLyogQUktc3R5bGUgc3RyZWFtaW5nIGNoYXJhY3RlcnMgKi9cbi5pbnRyby1jaGFyIHtcblx0ZGlzcGxheTogaW5saW5lO1xuXHRvcGFjaXR5OiAwO1xuXHRmaWx0ZXI6IGJsdXIoNHB4KTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuXHR0cmFuc2l0aW9uOlxuXHRcdG9wYWNpdHkgMC40cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpLFxuXHRcdGZpbHRlciAwLjRzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksXG5cdFx0dHJhbnNmb3JtIDAuNHMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uaW50cm8tY2hhci12aXNpYmxlIHtcblx0b3BhY2l0eTogMTtcblx0ZmlsdGVyOiBibHVyKDBweCk7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuLyogU3BhY2UgY2hhcmFjdGVyIGhhbmRsaW5nICovXG4uaW50cm8tY2hhci1zcGFjZSB7XG5cdHdpZHRoOiAwLjI1ZW07XG59XG5cbi8qIFN0cmVhbWluZyBjdXJzb3IgdGhhdCBmb2xsb3dzIGNoYXJhY3RlcnMgKi9cbi5pbnRyby1jdXJzb3Ige1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdG1hcmdpbi1sZWZ0OiAxcHg7XG5cdG9wYWNpdHk6IDAuNztcblx0YW5pbWF0aW9uOiBjdXJzb3JCbGluayAxcyBpbmZpbml0ZTtcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuQGtleWZyYW1lcyBjdXJzb3JCbGluayB7XG5cdDAlLFxuXHQ0OSUge1xuXHRcdG9wYWNpdHk6IDAuNztcblx0fVxuXHQ1MCUsXG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cbn1cblxuLyogQ29tcGxldGVkIHN0cmVhbSBsaW5lICovXG4uc3RyZWFtLWNvbXBsZXRlIHtcblx0YW5pbWF0aW9uOiBzdHJlYW1Db21wbGV0ZSAwLjNzIGVhc2Utb3V0O1xufVxuXG5Aa2V5ZnJhbWVzIHN0cmVhbUNvbXBsZXRlIHtcblx0MCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblx0NTAlIHtcblx0XHRvcGFjaXR5OiAwLjk1O1xuXHR9XG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cbn1cblxuLyogRmFkZSBvdXQgYW5pbWF0aW9uIGZvciByZW1vdmluZyBsaW5lcyAqL1xuLmludHJvLWxpbmUtZmFkZW91dCB7XG5cdG9wYWNpdHk6IDA7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG5cdHRyYW5zaXRpb246XG5cdFx0b3BhY2l0eSAwLjVzIGVhc2Utb3V0LFxuXHRcdHRyYW5zZm9ybSAwLjVzIGVhc2Utb3V0O1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLyogTW9kZSBzZWxlY3Rpb24gY29udGFpbmVyIHRoYXQgYXBwZWFycyBhZnRlciBpbnRybyB0eXBpbmcgKi9cbi5pbnRyby1tb2RlLXNlbGVjdGlvbi1jb250YWluZXIge1xuXHRhbmltYXRpb246IGZhZGVJbkZyb21Cb3R0b20gMC42cyBlYXNlLW91dDtcblx0YW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcblx0d2lkdGg6IDEwMCU7XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluRnJvbUJvdHRvbSB7XG5cdGZyb20ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuXHR9XG5cdHRvIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0fVxufVxuXG4vKiBFbmhhbmNlZCByZWFkYWJpbGl0eSBvbiBkaWZmZXJlbnQgdGhlbWVzICovXG4udGhlbWUtZGFyayAuaW50cm8tbGluZS0xIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0dGV4dC1zaGFkb3c6IDAgMCAyMHB4IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMSk7XG59XG5cbi50aGVtZS1kYXJrIC5pbnRyby1jaGFyLXZpc2libGUge1xuXHQvKiBTdWJ0bGUgZ2xvdyBlZmZlY3QgZm9yIGRhcmsgdGhlbWUgKi9cblx0dGV4dC1zaGFkb3c6IDAgMCA4cHggcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4wNSk7XG59XG5cbi8qIFNtb290aCBhcHBlYXJhbmNlIGZvciB3aG9sZSB0eXBpbmcgY29udGFpbmVyICovXG4uaW50cm8tdHlwaW5nIHtcblx0YW5pbWF0aW9uOiBmYWRlSW5UeXBpbmcgMC41cyBlYXNlLW91dDtcbn1cblxuQGtleWZyYW1lcyBmYWRlSW5UeXBpbmcge1xuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcblx0fVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdH1cbn1cblxuLyogVHJhbnNpdGlvbiBtZXNzYWdlIGNvbnRhaW5lciAqL1xuLmludHJvLXRyYW5zaXRpb24tY29udGFpbmVyIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTQpO1xuXHRtaW4taGVpZ2h0OiA2MHB4O1xufVxuXG4uaW50cm8tdHJhbnNpdGlvbi1tZXNzYWdlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKSB2YXIoLS1zaXplLTQtNCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcblx0XHQxMzVkZWcsXG5cdFx0cmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4wOCkgMCUsXG5cdFx0cmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4wMykgMTAwJVxuXHQpO1xuXHRib3JkZXI6IDFweCBzb2xpZCByZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctc20pO1xuXHR0cmFuc2l0aW9uOiBhbGwgMzAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbn1cblxuLmludHJvLXRyYW5zaXRpb24tbWVzc2FnZSAudHJhbnNpdGlvbi1pY29uIHtcblx0Zm9udC1zaXplOiAxLjVlbTtcblx0ZmxleC1zaHJpbms6IDA7XG5cdGFuaW1hdGlvbjogc3BhcmtsZSAxLjVzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xufVxuXG4uaW50cm8tdHJhbnNpdGlvbi1tZXNzYWdlIC50cmFuc2l0aW9uLXRleHQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXNpemU6IDAuOTVlbTtcblx0bGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuQGtleWZyYW1lcyBzcGFya2xlIHtcblx0MCUsXG5cdDEwMCUge1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXHQ1MCUge1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcblx0XHRvcGFjaXR5OiAwLjg7XG5cdH1cbn1cblxuLyogQ29uZmlnIGNoZWNrIHR5cGluZyBhbmltYXRpb24gKi9cbi5jb25maWctY2hlY2stdHlwaW5nIHtcblx0bWluLWhlaWdodDogMjAwcHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uY29uZmlnLWNoZWNrLXR5cGluZyAuY2hlY2stbGluZSB7XG5cdGxpbmUtaGVpZ2h0OiAxLjY7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0tc2l6ZS00LTIpO1xuXHRtYXJnaW4tYmxvY2stZW5kOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5jb25maWctY2hlY2stdHlwaW5nIC5jaGVjay1saW5lLTEge1xuXHQvKiBGaXJzdCBsaW5lIC0gYXR0ZW50aW9uIGdyYWJiZXIgKi9cblx0Zm9udC1zaXplOiBjbGFtcCgxLjJyZW0sIDIuNXZ3LCAxLjhyZW0pO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi5jb25maWctY2hlY2stdHlwaW5nIC5jaGVjay1saW5lLTIsXG4uY29uZmlnLWNoZWNrLXR5cGluZyAuY2hlY2stbGluZS0zIHtcblx0LyogUHJvZ3Jlc3MgbWVzc2FnZXMgKi9cblx0Zm9udC1zaXplOiBjbGFtcCgxcmVtLCAydncsIDEuM3JlbSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLmNvbmZpZy1jaGVjay10eXBpbmcgLmNoZWNrLWxpbmUtcmVzdWx0IHtcblx0LyogUmVzdWx0IG1lc3NhZ2UgLSBoaWdobGlnaHRlZCBjYXJkICovXG5cdGZvbnQtc2l6ZTogY2xhbXAoMS4xcmVtLCAyLjJ2dywgMS42cmVtKTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTQpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCkgdmFyKC0tc2l6ZS00LTUpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcblx0XHQxMzVkZWcsXG5cdFx0cmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4wNSkgMCUsXG5cdFx0cmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4wMikgMTAwJVxuXHQpO1xuXHRib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5jb25maWctY2hlY2stdHlwaW5nIC5jaGVjay1saW5lLXN1Y2Nlc3Mge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pO1xuXHRib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG5cdFx0MTM1ZGVnLFxuXHRcdHJnYmEodmFyKC0tY29sb3ItZ3JlZW4tcmdiKSwgMC4wOCkgMCUsXG5cdFx0cmdiYSh2YXIoLS1jb2xvci1ncmVlbi1yZ2IpLCAwLjAyKSAxMDAlXG5cdCk7XG59XG5cbi5jb25maWctY2hlY2stdHlwaW5nIC5jaGVjay1saW5lLWZyZXNoIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0Ym9yZGVyLWxlZnQtY29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBOZXcgVUkgQ29tcG9uZW50cyAoc2hhZGNuIERlc2lnbikgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiA9PT09PSBTZWxlY3RhYmxlIENhcmQgQ29tcG9uZW50ID09PT09ICovXG4uc2VsZWN0YWJsZS1jYXJkcy1jb250YWluZXIge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDI4MHB4LCAxZnIpKTtcblx0Z2FwOiB2YXIoLS1zaXplLTQtNCk7XG5cdG1hcmdpbjogdmFyKC0tc2l6ZS00LTQpIDA7XG59XG5cbi5zZWxlY3RhYmxlLWNhcmRzLWNvbnRhaW5lci51c2VyLWxldmVsLWNhcmRzIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0Z2FwOiB2YXIoLS1zaXplLTQtNCk7XG59XG5cbi5zZWxlY3RhYmxlLWNhcmQge1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cywgdmFyKC0tcmFkaXVzLW0pKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IHZhcigtLW9uYm9hcmRpbmctdHJhbnNpdGlvbik7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNtKTtcbn1cblxuLnNlbGVjdGFibGUtY2FyZDpob3ZlciB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbGcpO1xufVxuXG4uc2VsZWN0YWJsZS1jYXJkLmlzLXNlbGVjdGVkIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Ym94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMSk7XG59XG5cbi5zZWxlY3RhYmxlLWNhcmQtaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0zKTtcbn1cblxuLnNlbGVjdGFibGUtY2FyZC1pY29uIHtcblx0ZmxleC1zaHJpbms6IDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdG9wYWNpdHk6IDAuODtcbn1cblxuLnNlbGVjdGFibGUtY2FyZC10aXRsZS1jb250YWluZXIge1xuXHRmbGV4OiAxO1xufVxuXG4uc2VsZWN0YWJsZS1jYXJkLXRpdGxlIHtcblx0bWFyZ2luOiAwO1xuXHRmb250LXNpemU6IDEuMWVtO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uc2VsZWN0YWJsZS1jYXJkLXN1YnRpdGxlIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtMi0xKTtcblx0Zm9udC1zaXplOiAwLjg1ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLnNlbGVjdGFibGUtY2FyZC1iYWRnZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiB2YXIoLS1zaXplLTQtMik7XG5cdHJpZ2h0OiB2YXIoLS1zaXplLTQtMik7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTQtMik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Zm9udC1zaXplOiAwLjdlbTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0bGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbn1cblxuLnNlbGVjdGFibGUtY2FyZC1ib2R5IHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4uc2VsZWN0YWJsZS1jYXJkLXByZXZpZXcge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xuXHRtaW4taGVpZ2h0OiAxMDBweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5zZWxlY3RhYmxlLWNhcmQtZGVzY3JpcHRpb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdG1hcmdpbjogMCAwIHZhcigtLXNpemUtNC0yKSAwO1xufVxuXG4uc2VsZWN0YWJsZS1jYXJkLWZlYXR1cmVzIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4uc2VsZWN0YWJsZS1jYXJkLWZlYXR1cmVzIHVsIHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNpemUtNC0zKTtcblx0bGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLnNlbGVjdGFibGUtY2FyZC1mZWF0dXJlcyBsaSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDAuODVlbTtcblx0bGluZS1oZWlnaHQ6IDEuNDtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTEpO1xufVxuXG4uc2VsZWN0YWJsZS1jYXJkLWZlYXR1cmVzIGxpOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXHUyMDIyXCI7XG5cdGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IGNhbGMoLTEgKiB2YXIoLS1zaXplLTQtMykpO1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyogPT09PT0gRmVhdHVyZSBMaXN0IENvbXBvbmVudCA9PT09PSAqL1xuLmZlYXR1cmUtbGlzdCB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdHBhZGRpbmc6IDA7XG5cdG1hcmdpbjogMDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5mZWF0dXJlLWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi5mZWF0dXJlLWl0ZW0taWNvbiB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbik7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRkaXNwbGF5OiBmbGV4O1xufVxuXG4uZmVhdHVyZS1pdGVtLXRleHQge1xuXHRmbGV4OiAxO1xufVxuXG4vKiA9PT09PSBCYWRnZSBDb21wb25lbnQgPT09PT0gKi9cbi5vbmJvYXJkaW5nLWJhZGdlIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTQtMik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Zm9udC1zaXplOiAwLjc1ZW07XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGxldHRlci1zcGFjaW5nOiAwLjAxZW07XG5cdHRyYW5zaXRpb246IHZhcigtLW9uYm9hcmRpbmctdHJhbnNpdGlvbik7XG59XG5cbi5vbmJvYXJkaW5nLWJhZGdlLWRlZmF1bHQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLm9uYm9hcmRpbmctYmFkZ2Utc3VjY2VzcyB7XG5cdGJhY2tncm91bmQ6IHJnYmEodmFyKC0tY29sb3ItZ3JlZW4tcmdiKSwgMC4xKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItZ3JlZW4pO1xufVxuXG4ub25ib2FyZGluZy1iYWRnZS13YXJuaW5nIHtcblx0YmFja2dyb3VuZDogcmdiYSh2YXIoLS1jb2xvci1vcmFuZ2UtcmdiKSwgMC4xKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLW9yYW5nZSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLW9yYW5nZSk7XG59XG5cbi5vbmJvYXJkaW5nLWJhZGdlLWluZm8ge1xuXHRiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWNvbG9yLWJsdWUtcmdiKSwgMC4xKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJsdWUpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ibHVlKTtcbn1cblxuLm9uYm9hcmRpbmctYmFkZ2UtYWNjZW50IHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyOiBub25lO1xufVxuXG4vKiA9PT09PSBBbGVydCBDb21wb25lbnQgPT09PT0gKi9cbi5vbmJvYXJkaW5nLWFsZXJ0IHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdHRyYW5zaXRpb246IHZhcigtLW9uYm9hcmRpbmctdHJhbnNpdGlvbik7XG59XG5cbi5vbmJvYXJkaW5nLWFsZXJ0LWljb24ge1xuXHRmbGV4LXNocmluazogMDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5vbmJvYXJkaW5nLWFsZXJ0LWNvbnRlbnQge1xuXHRmbGV4OiAxO1xufVxuXG4ub25ib2FyZGluZy1hbGVydC10aXRsZSB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcblx0Zm9udC1zaXplOiAwLjk1ZW07XG59XG5cbi5vbmJvYXJkaW5nLWFsZXJ0LW1lc3NhZ2Uge1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRsaW5lLWhlaWdodDogMS41O1xufVxuXG4ub25ib2FyZGluZy1hbGVydC1pbmZvIHtcblx0YmFja2dyb3VuZDogcmdiYSh2YXIoLS1jb2xvci1ibHVlLXJnYiksIDAuMSk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYmx1ZSk7XG59XG5cbi5vbmJvYXJkaW5nLWFsZXJ0LWluZm8gLm9uYm9hcmRpbmctYWxlcnQtaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ibHVlKTtcbn1cblxuLm9uYm9hcmRpbmctYWxlcnQtaW5mbyAub25ib2FyZGluZy1hbGVydC10aXRsZSxcbi5vbmJvYXJkaW5nLWFsZXJ0LWluZm8gLm9uYm9hcmRpbmctYWxlcnQtbWVzc2FnZSB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ibHVlKTtcbn1cblxuLm9uYm9hcmRpbmctYWxlcnQtc3VjY2VzcyB7XG5cdGJhY2tncm91bmQ6IHJnYmEodmFyKC0tY29sb3ItZ3JlZW4tcmdiKSwgMC4xKTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbik7XG59XG5cbi5vbmJvYXJkaW5nLWFsZXJ0LXN1Y2Nlc3MgLm9uYm9hcmRpbmctYWxlcnQtaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbik7XG59XG5cbi5vbmJvYXJkaW5nLWFsZXJ0LXN1Y2Nlc3MgLm9uYm9hcmRpbmctYWxlcnQtdGl0bGUsXG4ub25ib2FyZGluZy1hbGVydC1zdWNjZXNzIC5vbmJvYXJkaW5nLWFsZXJ0LW1lc3NhZ2Uge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pO1xufVxuXG4ub25ib2FyZGluZy1hbGVydC13YXJuaW5nIHtcblx0YmFja2dyb3VuZDogcmdiYSh2YXIoLS1jb2xvci1vcmFuZ2UtcmdiKSwgMC4xKTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1vcmFuZ2UpO1xufVxuXG4ub25ib2FyZGluZy1hbGVydC13YXJuaW5nIC5vbmJvYXJkaW5nLWFsZXJ0LWljb24ge1xuXHRjb2xvcjogdmFyKC0tY29sb3Itb3JhbmdlKTtcbn1cblxuLm9uYm9hcmRpbmctYWxlcnQtd2FybmluZyAub25ib2FyZGluZy1hbGVydC10aXRsZSxcbi5vbmJvYXJkaW5nLWFsZXJ0LXdhcm5pbmcgLm9uYm9hcmRpbmctYWxlcnQtbWVzc2FnZSB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1vcmFuZ2UpO1xufVxuXG4ub25ib2FyZGluZy1hbGVydC1lcnJvciB7XG5cdGJhY2tncm91bmQ6IHJnYmEodmFyKC0tY29sb3ItcmVkLXJnYiksIDAuMSk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcmVkKTtcbn1cblxuLm9uYm9hcmRpbmctYWxlcnQtZXJyb3IgLm9uYm9hcmRpbmctYWxlcnQtaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1yZWQpO1xufVxuXG4ub25ib2FyZGluZy1hbGVydC1lcnJvciAub25ib2FyZGluZy1hbGVydC10aXRsZSxcbi5vbmJvYXJkaW5nLWFsZXJ0LWVycm9yIC5vbmJvYXJkaW5nLWFsZXJ0LW1lc3NhZ2Uge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcmVkKTtcbn1cblxuLyogPT09PT0gUHJvZ3Jlc3MgRG90cyBDb21wb25lbnQgPT09PT0gKi9cbi5wcm9ncmVzcy1kb3RzIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRtYXJnaW46IHZhcigtLXNpemUtNC0zKSAwO1xufVxuXG4ucHJvZ3Jlc3MtZG90LXdyYXBwZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtMi0xKTtcbn1cblxuLnByb2dyZXNzLWRvdCB7XG5cdHdpZHRoOiA4cHg7XG5cdGhlaWdodDogOHB4O1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0dHJhbnNpdGlvbjogdmFyKC0tb25ib2FyZGluZy10cmFuc2l0aW9uKTtcbn1cblxuLnByb2dyZXNzLWRvdC5pcy1hY3RpdmUge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHR0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG5cdGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjIpO1xufVxuXG4ucHJvZ3Jlc3MtZG90LmlzLWNvbXBsZXRlZCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdG9wYWNpdHk6IDAuNjtcbn1cblxuLnByb2dyZXNzLWRvdC1sYWJlbCB7XG5cdGZvbnQtc2l6ZTogMC43ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cbiIsICIvKiBOb2lzZSBMYXllciBFZmZlY3QgKi9cbi50Zy1ub2lzZS1sYXllciB7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0bGVmdDogMDtcblx0dG9wOiAwO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLnRnLW5vaXNlLWxheWVyOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdG9wYWNpdHk6IDAuMjU7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB3aWR0aD1cIjE5MDFcIiBoZWlnaHQ9XCI5NjFcIiB2aWV3Qm94PVwiMCAwIDE5MDEgOTYxXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PGcgb3BhY2l0eT1cIjAuMjVcIiBmaWx0ZXI9XCJ1cmwoJTIzZmlsdGVyMF9uXzFfMilcIj48cmVjdCB3aWR0aD1cIjE5MDFcIiBoZWlnaHQ9XCI5NjFcIiBmaWxsPVwiJTIzRUZFRkVGXCIvPjwvZz48ZGVmcz48ZmlsdGVyIGlkPVwiZmlsdGVyMF9uXzFfMlwiIHg9XCIwXCIgeT1cIjBcIiB3aWR0aD1cIjE5MDFcIiBoZWlnaHQ9XCI5NjFcIiBmaWx0ZXJVbml0cz1cInVzZXJTcGFjZU9uVXNlXCIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPVwic1JHQlwiPjxmZUZsb29kIGZsb29kLW9wYWNpdHk9XCIwXCIgcmVzdWx0PVwiQmFja2dyb3VuZEltYWdlRml4XCIvPjxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbj1cIlNvdXJjZUdyYXBoaWNcIiBpbjI9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiByZXN1bHQ9XCJzaGFwZVwiLz48ZmVUdXJidWxlbmNlIHR5cGU9XCJmcmFjdGFsTm9pc2VcIiBiYXNlRnJlcXVlbmN5PVwiMS4yNSAxLjI1XCIgc3RpdGNoVGlsZXM9XCJzdGl0Y2hcIiBudW1PY3RhdmVzPVwiM1wiIHJlc3VsdD1cIm5vaXNlXCIgc2VlZD1cIjUzMzlcIiAvPjxmZUNvbG9yTWF0cml4IGluPVwibm9pc2VcIiB0eXBlPVwibHVtaW5hbmNlVG9BbHBoYVwiIHJlc3VsdD1cImFscGhhTm9pc2VcIiAvPjxmZUNvbXBvbmVudFRyYW5zZmVyIGluPVwiYWxwaGFOb2lzZVwiIHJlc3VsdD1cImNvbG9yZWROb2lzZTFcIj48ZmVGdW5jQSB0eXBlPVwiZGlzY3JldGVcIiB0YWJsZVZhbHVlcz1cIjEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgXCIvPjwvZmVDb21wb25lbnRUcmFuc2Zlcj48ZmVDb21wb3NpdGUgb3BlcmF0b3I9XCJpblwiIGluMj1cInNoYXBlXCIgaW49XCJjb2xvcmVkTm9pc2UxXCIgcmVzdWx0PVwibm9pc2UxQ2xpcHBlZFwiIC8+PGZlRmxvb2QgZmxvb2QtY29sb3I9XCJyZ2JhKDAsIDAsIDAsIDAuMjUpXCIgcmVzdWx0PVwiY29sb3IxRmxvb2RcIiAvPjxmZUNvbXBvc2l0ZSBvcGVyYXRvcj1cImluXCIgaW4yPVwibm9pc2UxQ2xpcHBlZFwiIGluPVwiY29sb3IxRmxvb2RcIiByZXN1bHQ9XCJjb2xvcjFcIiAvPjxmZU1lcmdlIHJlc3VsdD1cImVmZmVjdDFfbm9pc2VfMV8yXCI+PGZlTWVyZ2VOb2RlIGluPVwic2hhcGVcIiAvPjxmZU1lcmdlTm9kZSBpbj1cImNvbG9yMVwiIC8+PC9mZU1lcmdlPjwvZmlsdGVyPjwvZGVmcz48L3N2Zz4nKTtcblx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHR6LWluZGV4OiAxO1xufVxuXG4udGctbm9pc2UtbGF5ZXIgPiAqIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAyO1xufVxuIiwgIi50Zy1jaGFuZ2Vsb2ctdmlldyB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC02KTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtNCk7XG59XG5cbi50Zy1jaGFuZ2Vsb2ctaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTIpO1xufVxuXG4udGctY2hhbmdlbG9nLWhlYWRlciBoMiB7XG5cdG1hcmdpbjogMDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLWxhcmdlKTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnRnLWNoYW5nZWxvZy1tZXRhIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG59XG5cbi50Zy1jaGFuZ2Vsb2ctbWV0YSBhIHtcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnRnLWNoYW5nZWxvZy1tZXRhIGE6aG92ZXIge1xuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnRnLWNoYW5nZWxvZy1ib2R5IHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG4udGctY2hhbmdlbG9nLWVycm9yIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4udGctY2hhbmdlbG9nLWJvZHkgaDEsXG4udGctY2hhbmdlbG9nLWJvZHkgaDIsXG4udGctY2hhbmdlbG9nLWJvZHkgaDMge1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1pbnRlcmZhY2UsIGluaGVyaXQpO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtNCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcblx0bGluZS1oZWlnaHQ6IDEuMztcbn1cblxuLnRnLWNoYW5nZWxvZy1ib2R5IGgxIHtcblx0Zm9udC1zaXplOiAxLjY1cmVtO1xufVxuXG4udGctY2hhbmdlbG9nLWJvZHkgaDIge1xuXHRmb250LXNpemU6IDEuMzVyZW07XG59XG5cbi50Zy1jaGFuZ2Vsb2ctYm9keSBoMjpub3QoOmZpcnN0LWNoaWxkKSB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC04KTtcbn1cblxuLnRnLWNoYW5nZWxvZy1ib2R5IGgzIHtcblx0Zm9udC1zaXplOiAxLjE1cmVtO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtMik7XG59XG5cbi50Zy1jaGFuZ2Vsb2ctYm9keSBoMzo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcIjtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR3aWR0aDogMXJlbTtcblx0aGVpZ2h0OiAxcmVtO1xuXHRib3JkZXItcmFkaXVzOiAycHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcblx0ZmxleDogMCAwIGF1dG87XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4udGctY2hhbmdlbG9nLWJvZHkgaDNbZGF0YS1oZWFkaW5nXj1cIkJ1ZyBGaXhlc1wiXTo6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcmVkLCAjZTA2Yzc1KTtcbn1cblxuLnRnLWNoYW5nZWxvZy1ib2R5IGgzW2RhdGEtaGVhZGluZ149XCJGZWF0dXJlc1wiXTo6YmVmb3JlLFxuLnRnLWNoYW5nZWxvZy1ib2R5IGgzW2RhdGEtaGVhZGluZ149XCJOZXdcIl06OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWN5YW4sICM1NmI2YzIpO1xufVxuXG4udGctY2hhbmdlbG9nLWJvZHkgaDNbZGF0YS1oZWFkaW5nXj1cIkltcHJvdmVtZW50c1wiXTo6YmVmb3JlLFxuLnRnLWNoYW5nZWxvZy1ib2R5IGgzW2RhdGEtaGVhZGluZ149XCJFbmhhbmNlbWVudHNcIl06OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXllbGxvdywgI2QxOWE2Nik7XG59XG5cbi50Zy1jaGFuZ2Vsb2ctYm9keSBoM1tkYXRhLWhlYWRpbmdePVwiUGVyZm9ybWFuY2VcIl06OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyZWVuLCAjOThjMzc5KTtcbn1cblxuLnRnLWNoYW5nZWxvZy1ib2R5IHAgKyBoMSxcbi50Zy1jaGFuZ2Vsb2ctYm9keSBwICsgaDIsXG4udGctY2hhbmdlbG9nLWJvZHkgcCArIGgzIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTYpO1xufVxuIiwgIi8qIFRpbWVsaW5lIFNpZGViYXIgVmlldyBTdHlsZXMgKi9cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1zaWRlYmFyLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGhlaWdodDogMTAwJTtcblx0d2lkdGg6IDEwMCU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWludGVyZmFjZSk7XG5cdHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuLyogSGVhZGVyICovXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMykgdmFyKC0tc2l6ZS00LTQpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG5cdFx0MTM1ZGVnLFxuXHRcdHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KSAwJSxcblx0XHR2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKSAxMDAlXG5cdCk7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG5cdC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtdGl0bGUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1jb250cm9scyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtYnRuIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtOCk7XG5cdGhlaWdodDogdmFyKC0tc2l6ZS00LTgpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWJ0bjpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtYnRuLmlzLWFjdGl2ZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi8qIFRpbWVsaW5lIENvbnRlbnQgKi9cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1jb250ZW50IHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIDA7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cbi50aW1lbGluZS1jb250ZW50LmZvY3VzLW1vZGVcbi50aW1lbGluZS1kYXRlLWdyb3VwOm5vdCguaXMtdG9kYXkpIHtcblx0b3BhY2l0eTogMC4zO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWVtcHR5IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGhlaWdodDogMTAwJTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTgpO1xufVxuXG4vKiBEYXRlIEdyb3VwcyAqL1xuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWRhdGUtZ3JvdXAge1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZGF0ZS1ncm91cC5pcy10b2RheSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRtYXJnaW46IDAgdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC0yKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctcyk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1kYXRlLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC00KTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xuXHRwb3NpdGlvbjogc3RpY2t5O1xuXHR0b3A6IDA7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdHotaW5kZXg6IDE7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXG4udGltZWxpbmUtZGF0ZS1ncm91cC5pcy10b2RheVxuLnRpbWVsaW5lLWRhdGUtaGVhZGVyIHtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRtYXJnaW46IDAgMCB2YXIoLS1zaXplLTQtMikgMDtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWRhdGUtcmVsYXRpdmUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLyogRXZlbnRzIExpc3QgKi9cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudHMtbGlzdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTEpO1xuXHRwYWRkaW5nOiAwIHZhcigtLXNpemUtMi0zKTtcbn1cblxuLyogVGltZWxpbmUgRXZlbnRzICovXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Ym9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50OmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cbi50aW1lbGluZS1ldmVudDpob3ZlcjpoYXMoLnRpbWVsaW5lLWV2ZW50LWNoZWNrYm94OmhvdmVyKSB7XG5cdHRyYW5zZm9ybTogbm9uZTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LmlzLWNvbXBsZXRlZCB7XG5cdG9wYWNpdHk6IDAuNjtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cbi50aW1lbGluZS1ldmVudC5pcy1jb21wbGV0ZWRcbi50aW1lbGluZS1ldmVudC10ZXh0IHtcblx0dGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLyogRXZlbnQgVGltZSAqL1xuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LXRpbWUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcblx0bWluLXdpZHRoOiA0NXB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdG1hcmdpbi10b3A6IDJweDtcblx0ZmxleC1zaHJpbms6IDA7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMSkgdmFyKC0tc2l6ZS00LTIpO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qIEVuaGFuY2VkIHRpbWUgZGlzcGxheSBzdHlsZXMgKi9cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC10aW1lLnRpbWVsaW5lLWV2ZW50LXRpbWUtc2luZ2xlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LXRpbWUudGltZWxpbmUtZXZlbnQtdGltZS1yYW5nZSB7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCkgMCUsIHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3ZlcikgMTAwJSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdG1pbi13aWR0aDogODBweDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRhbmltYXRpb246IHN1YnRsZS1wdWxzZSAycyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LXRpbWUudGltZWxpbmUtZXZlbnQtdGltZS1yYW5nZTo6YWZ0ZXIge1xuXHRjb250ZW50OiBcIlx1MjNGMVwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogLTZweDtcblx0cmlnaHQ6IC02cHg7XG5cdGZvbnQtc2l6ZTogMTBweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogOTk5cHg7XG5cdG1pbi13aWR0aDogMThweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRwYWRkaW5nOiAwIDRweDtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuXHRsaW5lLWhlaWdodDogMTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLyogV2hlbiBkdXJhdGlvbiBpcyBwcm92aWRlZCwgc2hvdyBpdCBpbnN0ZWFkIG9mIHRoZSBpY29uICovXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQtdGltZS50aW1lbGluZS1ldmVudC10aW1lLXJhbmdlW2RhdGEtZHVyYXRpb25dOjphZnRlciB7XG5cdGNvbnRlbnQ6IGF0dHIoZGF0YS1kdXJhdGlvbik7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC10aW1lLnRpbWVsaW5lLWV2ZW50LXRpbWUtZGVmYXVsdCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQtdGltZS50aW1lbGluZS1ldmVudC10aW1lLWdyb3VwIHtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tdGV4dC1hY2NlbnQpIDAlLCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpIDEwMCUpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRmb250LXdlaWdodDogNzAwO1xuXHRtaW4td2lkdGg6IDYwcHg7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC10aW1lLnRpbWVsaW5lLWV2ZW50LXRpbWUtZGF0ZS1vbmx5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRtaW4td2lkdGg6IDYwcHg7XG59XG5cbi8qIFRpbWUgR3JvdXAgU3R5bGVzICovXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtdGltZS1ncm91cCB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0zKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLXRpbWUtZ3JvdXAtaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtMyk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtdGltZS1ncm91cC1jb3VudCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtdGltZS1ncm91cC1ldmVudHMge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC50aW1lbGluZS1ldmVudC1ncm91cGVkIHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQudGltZWxpbmUtZXZlbnQtZ3JvdXBlZDpsYXN0LWNoaWxkIHtcblx0bWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyogRGF0ZS1vbmx5IEV2ZW50cyBTZWN0aW9uICovXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZGF0ZS1vbmx5LXNlY3Rpb24ge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtNCk7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zaXplLTQtMyk7XG5cdGJvcmRlci10b3A6IDJweCBkYXNoZWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG5cbi8qIEhpZGUgcGVyLWV2ZW50IHRpbWUgbGFiZWxzIGluc2lkZSBBbGwgZGF5IHNlY3Rpb24gYXMgc2FmZXR5IG5ldCAqL1xuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWRhdGUtb25seS1zZWN0aW9uIC50aW1lbGluZS1ldmVudCAudGltZWxpbmUtZXZlbnQtdGltZSB7XG5cdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWRhdGUtb25seS1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTMpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZGF0ZS1vbmx5LXRpdGxlIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qIEV2ZW50IENvbnRlbnQgKi9cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC1jb250ZW50IHtcblx0ZmxleDogMTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRtaW4td2lkdGg6IDA7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC1jaGVja2JveCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1hcmdpbi10b3A6IDJweDtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cbi50aW1lbGluZS1ldmVudC1jaGVja2JveFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcblx0bWFyZ2luOiAwO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC10ZXh0IHtcblx0ZmxleDogMTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0bGluZS1oZWlnaHQ6IDEuNDtcblx0d29yZC13cmFwOiBicmVhay13b3JkO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC1pY29uIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRtYXJnaW4tdG9wOiAxcHg7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC1jb250ZW50LXRleHQge1xuXHRmbGV4OiAxO1xuXHR3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuXG4vKiBFdmVudCBBY3Rpb25zICovXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQtYWN0aW9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTEpO1xuXHRvcGFjaXR5OiAwO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cbi50aW1lbGluZS1ldmVudDpob3ZlclxuLnRpbWVsaW5lLWV2ZW50LWFjdGlvbnMge1xuXHRvcGFjaXR5OiAxO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQtYWN0aW9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtNik7XG5cdGhlaWdodDogdmFyKC0tc2l6ZS00LTYpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LWFjdGlvbjpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLyogUXVpY2sgSW5wdXQgQXJlYSAqL1xuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLXF1aWNrLWlucHV0IHtcblx0ZmxleC1zaHJpbms6IDA7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNpemUtNC0xMik7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0dHJhbnNpdGlvbjogYWxsIDMwMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIENvbGxhcHNlZCBzdGF0ZSAqL1xuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLXF1aWNrLWlucHV0LmlzLWNvbGxhcHNlZCB7XG5cdHBhZGRpbmc6IDA7XG5cdGdhcDogMDtcblx0aGVpZ2h0OiBhdXRvO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxuLnRpbWVsaW5lLXF1aWNrLWlucHV0LmlzLWNvbGxhcHNlZFxuLnF1aWNrLWlucHV0LWhlYWRlcixcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXG4udGltZWxpbmUtcXVpY2staW5wdXQuaXMtY29sbGFwc2VkXG4ucXVpY2staW5wdXQtZWRpdG9yLFxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cbi50aW1lbGluZS1xdWljay1pbnB1dC5pcy1jb2xsYXBzZWRcbi5xdWljay1pbnB1dC1hY3Rpb25zIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLyogQW5pbWF0aW9uIHN0YXRlcyAqL1xuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLXF1aWNrLWlucHV0LmlzLWNvbGxhcHNpbmcge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtcXVpY2staW5wdXQuaXMtZXhwYW5kaW5nIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogQ29sbGFwc2VkIGhlYWRlciAqL1xuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWlucHV0LWhlYWRlci1jb2xsYXBzZWQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKSB2YXIoLS1zaXplLTQtNCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zIGVhc2U7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC1oZWFkZXItY29sbGFwc2VkOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5jb2xsYXBzZWQtZXhwYW5kLWJ0biB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogdmFyKC0tc2l6ZS00LTYpO1xuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC02KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5jb2xsYXBzZWQtZXhwYW5kLWJ0bjpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLmNvbGxhcHNlZC10aXRsZSB7XG5cdGZsZXg6IDE7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zaXplLTQtMik7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5jb2xsYXBzZWQtcXVpY2stYWN0aW9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAuY29sbGFwc2VkLXF1aWNrLWNhcHR1cmUsXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAuY29sbGFwc2VkLW1vcmUtb3B0aW9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogdmFyKC0tc2l6ZS00LTcpO1xuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC03KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5jb2xsYXBzZWQtcXVpY2stY2FwdHVyZTpob3ZlcixcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5jb2xsYXBzZWQtbW9yZS1vcHRpb25zOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAuY29sbGFwc2VkLXF1aWNrLWNhcHR1cmU6aG92ZXIge1xuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLyogRXhwYW5kZWQgaGVhZGVyIHdpdGggY29sbGFwc2UgYnV0dG9uICovXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWlucHV0LWhlYWRlci1sZWZ0IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC1jb2xsYXBzZS1idG4ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IHZhcigtLXNpemUtNC02KTtcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtNik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtY29sbGFwc2UtYnRuOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4vKiBSb3RhdGUgY29sbGFwc2UgYnV0dG9uIGljb24gKi9cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC1jb2xsYXBzZS1idG4gc3ZnIHtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zIGVhc2U7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXG4udGltZWxpbmUtcXVpY2staW5wdXQuaXMtY29sbGFwc2VkXG4ucXVpY2staW5wdXQtY29sbGFwc2UtYnRuXG5zdmcge1xuXHR0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtdGl0bGUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtdGFyZ2V0LWluZm8ge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMSkgdmFyKC0tc2l6ZS00LTIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHR3b3JkLWJyZWFrOiBicmVhay1hbGw7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC1lZGl0b3Ige1xuXHRtaW4taGVpZ2h0OiA4MHB4O1xuXHRib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC10ZXh0KTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0cmVzaXplOiB2ZXJ0aWNhbDtcblx0dHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWlucHV0LWVkaXRvcjpmb2N1cy13aXRoaW4ge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjIpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtZWRpdG9yIC5jbS1lZGl0b3Ige1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0Ym9yZGVyOiBub25lO1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtZWRpdG9yIC5jbS1mb2N1c2VkIHtcblx0b3V0bGluZTogbm9uZTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cbi5xdWljay1pbnB1dC1lZGl0b3Jcbi5jbS1lZGl0b3IuY20tZm9jdXNlZCB7XG5cdG91dGxpbmU6IG5vbmU7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC1hY3Rpb25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1jYXB0dXJlLWJ0bixcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1tb2RhbC1idG4ge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMykgdmFyKC0tc2l6ZS00LTYpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Ym9yZGVyOiBub25lO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuXHRib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2stY2FwdHVyZS1idG4ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2stY2FwdHVyZS1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG5cdGJveC1zaGFkb3c6IDAgNHB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2stbW9kYWwtYnRuIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2stbW9kYWwtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG5cdGJveC1zaGFkb3c6IDAgNHB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xufVxuXG4vKiBSZXNwb25zaXZlIERlc2lnbiAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdGRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1oZWFkZXIge1xuXHRcdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtMyk7XG5cdH1cblxuXHRkaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtY29udHJvbHMge1xuXHRcdGdhcDogdmFyKC0tc2l6ZS00LTEpO1xuXHR9XG5cblx0ZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWJ0biB7XG5cdFx0d2lkdGg6IHZhcigtLXNpemUtNC03KTtcblx0XHRoZWlnaHQ6IHZhcigtLXNpemUtNC03KTtcblx0fVxuXG5cdGRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudHMtbGlzdCB7XG5cdFx0cGFkZGluZzogMCB2YXIoLS1zaXplLTItMyk7XG5cdH1cblxuXHRkaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQge1xuXHRcdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcblx0fVxuXG5cdGRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1xdWljay1pbnB1dCB7XG5cdFx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xuXHR9XG5cblx0ZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cblx0LnRpbWVsaW5lLXF1aWNrLWlucHV0LmlzLWNvbGxhcHNlZCB7XG5cdFx0cGFkZGluZzogMDtcblx0fVxuXG5cdGRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC1lZGl0b3Ige1xuXHRcdG1pbi1oZWlnaHQ6IDYwcHg7XG5cdH1cblxuXHRkaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtaGVhZGVyLWNvbGxhcHNlZCB7XG5cdFx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC0zKTtcblx0fVxuXG5cdGRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5jb2xsYXBzZWQtcXVpY2stY2FwdHVyZSxcblx0ZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLmNvbGxhcHNlZC1tb3JlLW9wdGlvbnMge1xuXHRcdHdpZHRoOiB2YXIoLS1zaXplLTQtNik7XG5cdFx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtNik7XG5cdH1cbn1cblxuLyogU2Nyb2xsYmFyIFN0eWxpbmcgKi9cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXG4udGltZWxpbmUtY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuXHR3aWR0aDogNnB4O1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxuLnRpbWVsaW5lLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxuLnRpbWVsaW5lLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXG4udGltZWxpbmUtY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG59XG5cbi8qIEFuaW1hdGlvbiAqL1xuQGtleWZyYW1lcyBmYWRlSW4ge1xuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcblx0fVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBzdWJ0bGUtcHVsc2Uge1xuXHQwJSwgMTAwJSB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMCByZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjQpO1xuXHR9XG5cdDUwJSB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMSk7XG5cdH1cbn1cblxuLyogRm9jdXMgTW9kZSAqL1xuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWNvbnRlbnQuZm9jdXMtbW9kZSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cbi50aW1lbGluZS1jb250ZW50LmZvY3VzLW1vZGU6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDtcblx0Ym90dG9tOiAwO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG5cdFx0dG8gYm90dG9tLFxuXHRcdHJnYmEodmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LXJnYiksIDAuOSkgMCUsXG5cdFx0cmdiYSh2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktcmdiKSwgMC43KSA1MCUsXG5cdFx0cmdiYSh2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktcmdiKSwgMC45KSAxMDAlXG5cdCk7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHR6LWluZGV4OiAwO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxuLnRpbWVsaW5lLWNvbnRlbnQuZm9jdXMtbW9kZVxuLnRpbWVsaW5lLWRhdGUtZ3JvdXAuaXMtdG9kYXkge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDE7XG59XG5cbi8qIE1hcmtkb3duIHJlbmRlcmVyIHN0eWxlcyBpbiB0aW1lbGluZSBldmVudHMgKi9cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXG4udGltZWxpbmUtZXZlbnQtY29udGVudC10ZXh0XG4ubWFya2Rvd24tYmxvY2sge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGZvbnQtc2l6ZTogaW5oZXJpdDtcblx0bGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXG4udGltZWxpbmUtZXZlbnQtY29udGVudC10ZXh0XG4ubWFya2Rvd24tYmxvY2tcbnAge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGZvbnQtc2l6ZTogaW5oZXJpdDtcblx0bGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXG4udGltZWxpbmUtZXZlbnQtY29udGVudC10ZXh0XG4ubWFya2Rvd24tYmxvY2tcbnN0cm9uZyxcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXG4udGltZWxpbmUtZXZlbnQtY29udGVudC10ZXh0XG4ubWFya2Rvd24tYmxvY2tcbmVtLFxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cbi50aW1lbGluZS1ldmVudC1jb250ZW50LXRleHRcbi5tYXJrZG93bi1ibG9ja1xuY29kZSB7XG5cdGZvbnQtc2l6ZTogaW5oZXJpdDtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cbi50aW1lbGluZS1ldmVudC1jb250ZW50LXRleHRcbi5tYXJrZG93bi1ibG9ja1xuYSB7XG5cdGNvbG9yOiB2YXIoLS1saW5rLWNvbG9yKTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxuLnRpbWVsaW5lLWV2ZW50LWNvbnRlbnQtdGV4dFxuLm1hcmtkb3duLWJsb2NrXG5hOmhvdmVyIHtcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXG4udGltZWxpbmUtZXZlbnQtY29udGVudC10ZXh0XG4ubWFya2Rvd24tYmxvY2tcbnVsLFxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cbi50aW1lbGluZS1ldmVudC1jb250ZW50LXRleHRcbi5tYXJrZG93bi1ibG9ja1xub2wge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc2l6ZS00LTQpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxuLnRpbWVsaW5lLWV2ZW50LWNvbnRlbnQtdGV4dFxuLm1hcmtkb3duLWJsb2NrXG5saSB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcbn1cbiIsICIvKiBTdHlsZXMgZm9yIHRoZSBSZXdhcmQgTW9kYWwgKi9cbi5yZXdhcmQtbW9kYWwtY29udGVudCB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjsgLyogQ2VudGVyIGFsaWduIGNvbnRlbnQgKi9cbn1cblxuLnJld2FyZC1tb2RhbCAubW9kYWwtdGl0bGUge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5yZXdhcmQtbmFtZSB7XG5cdGZvbnQtc2l6ZTogMS4yZW07XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4ucmV3YXJkLWltYWdlLWNvbnRhaW5lciB7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdGRpc3BsYXk6IGZsZXg7IC8qIFVzZSBmbGV4Ym94IGZvciBjZW50ZXJpbmcgKi9cblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7IC8qIENlbnRlciBob3Jpem9udGFsbHkgKi9cblx0YWxpZ24taXRlbXM6IGNlbnRlcjsgLyogQ2VudGVyIHZlcnRpY2FsbHkgKi9cbn1cblxuLnJld2FyZC1pbWFnZSB7XG5cdG1heC13aWR0aDogODAlOyAvKiBMaW1pdCBpbWFnZSB3aWR0aCAqL1xuXHRtYXgtaGVpZ2h0OiAzMDBweDsgLyogTGltaXQgaW1hZ2UgaGVpZ2h0ICovXG5cdGJvcmRlci1yYWRpdXM6IDhweDsgLyogT3B0aW9uYWw6IGFkZCByb3VuZGVkIGNvcm5lcnMgKi9cblx0Ym94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTsgLyogT3B0aW9uYWw6IGFkZCBzdWJ0bGUgc2hhZG93ICovXG59XG5cbi5yZXdhcmQtaW1hZ2UtZXJyb3Ige1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgLyogVXNlIE9ic2lkaWFuJ3MgbXV0ZWQgdGV4dCBjb2xvciAqL1xufVxuXG4ucmV3YXJkLXNwYWNlciB7XG5cdGhlaWdodDogMjBweDsgLyogQWRkIHNvbWUgc3BhY2UgYmVmb3JlIHRoZSBidXR0b25zICovXG59XG5cbi8qIFN0eWxlIHRoZSBidXR0b25zIHdpdGhpbiB0aGUgbW9kYWwgKi9cbi50YXNrLWdlbml1cy1yZXdhcmQtbW9kYWwgLnNldHRpbmctaXRlbS1jb250cm9sIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7IC8qIENlbnRlciBidXR0b25zICovXG5cdGdhcDogMTBweDsgLyogQWRkIHNwYWNlIGJldHdlZW4gYnV0dG9ucyAqL1xufVxuIiwgIi5tYXJrZG93bi1zb3VyY2Utdmlldy5tb2QtY202IC5jbS1ndXR0ZXJzLnRhc2stZ3V0dGVyIHtcblx0bWFyZ2luLWlubGluZS1lbmQ6IDAgIWltcG9ydGFudDtcblx0bWFyZ2luLWlubGluZS1zdGFydDogdmFyKC0tZmlsZS1mb2xkaW5nLW9mZnNldCk7XG59XG5cbi5pcy1tb2JpbGUgLm1hcmtkb3duLXNvdXJjZS12aWV3Lm1vZC1jbTYgLmNtLWd1dHRlcnMudGFzay1ndXR0ZXIge1xuXHRtYXJnaW4taW5saW5lLXN0YXJ0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi50YXNrLWRldGFpbHMtcG9wb3Zlci50Zy1tZW51IHtcblx0ei1pbmRleDogMjA7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LWwpO1xufVxuXG4udGFzay1ndXR0ZXIge1xuXHR3aWR0aDogMjZweDtcbn1cblxuLnRhc2stZ3V0dGVyLW1hcmtlciB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNtYWxsZXIpO1xuXHRvcGFjaXR5OiAwLjE7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xufVxuXG4udGFzay1ndXR0ZXItbWFya2VyOmhvdmVyIHtcblx0b3BhY2l0eTogMTtcbn1cblxuLnRhc2stcG9wb3Zlci1jb250ZW50IHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xuXHRtYXgtd2lkdGg6IDMwMHB4O1xuXHRtYXgtaGVpZ2h0OiA0MDBweDtcblx0b3ZlcmZsb3c6IGF1dG87XG59XG5cbi50YXNrLW1ldGFkYXRhLWVkaXRvciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMik7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuLmZpZWxkLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0yKTtcbn1cblxuLmZpZWxkLWxhYmVsIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNtYWxsZXN0KTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtYm9sZCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4uYWN0aW9uLWJ1dHRvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5hY3Rpb24tYnV0dG9uIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpIHZhcigtLXNpemUtNC0yKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNtYWxsZXN0KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi50YXNrLWd1dHRlci1tYXJrZXIuY2xpY2thYmxlLWljb24ge1xuXHR3aWR0aDogMjRweDtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLyogVGFiYmVkIEludGVyZmFjZSBTdHlsZXMgKi9cbi50YXNrLWRldGFpbHMtcG9wb3ZlciAudGFicy1tYWluLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdHdpZHRoOiAxMDAlOyAvKiBFbnN1cmUgaXQgdGFrZXMgYXZhaWxhYmxlIHdpZHRoICovXG59XG5cbi50YXNrLWRldGFpbHMtcG9wb3ZlciAudGFicy1uYXZpZ2F0aW9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLnRhc2stZGV0YWlscy1wb3BvdmVyIC50YWItYnV0dG9uIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpIHZhcigtLXNpemUtNC0yKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXI6IG5vbmU7XG5cdGJhY2tncm91bmQ6IG5vbmU7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7IC8qIEFkanVzdGVkIGZvciBjb25zaXN0ZW5jeSAqL1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi1ib3R0b206IC0xcHg7IC8qIEFsaWduIHdpdGggcGFyZW50IGJvcmRlciAqL1xuXHR0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2UsIGJvcmRlci1jb2xvciAwLjJzIGVhc2U7XG59XG5cbi50YXNrLWRldGFpbHMtcG9wb3ZlciAudGFiLWJ1dHRvbjpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YXNrLWRldGFpbHMtcG9wb3ZlciAudGFiLWJ1dHRvbi5hY3RpdmUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1ib2xkKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLnRhc2stZGV0YWlscy1wb3BvdmVyIC50YWItcGFuZSB7XG5cdGRpc3BsYXk6IG5vbmU7IC8qIEhpZGUgaW5hY3RpdmUgcGFuZXMgYnkgZGVmYXVsdCAqL1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvKiBFbnN1cmUgY29udGVudCB3aXRoaW4gcGFuZSBmbG93cyB2ZXJ0aWNhbGx5ICovXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpOyAvKiBBZGQgc29tZSBnYXAgYmV0d2VlbiBlbGVtZW50cyBpbiB0aGUgcGFuZSAqL1xufVxuXG4udGFzay1kZXRhaWxzLXBvcG92ZXIgLnRhYi1wYW5lLmFjdGl2ZSB7XG5cdGRpc3BsYXk6IGZsZXg7IC8qIFNob3cgYWN0aXZlIHBhbmUgKi9cbn1cblxuLnRhc2stZGV0YWlscy1wb3BvdmVyIC5kZXRhaWxzLXN0YXR1cy1zZWxlY3Rvcixcbi50YXNrLXN0YXR1cy1lZGl0b3IgLmRldGFpbHMtc3RhdHVzLXNlbGVjdG9yIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4udGFzay1kZXRhaWxzLXBvcG92ZXIgLnF1aWNrLWNhcHR1cmUtc3RhdHVzLXNlbGVjdG9yLFxuLnRhc2stc3RhdHVzLWVkaXRvciAucXVpY2stY2FwdHVyZS1zdGF0dXMtc2VsZWN0b3Ige1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cblx0Z2FwOiB2YXIoLS1zaXplLTQtMyk7XG59XG5cbi50YXNrLWRldGFpbHMtcG9wb3ZlciAucXVpY2stY2FwdHVyZS1zdGF0dXMtc2VsZWN0b3ItbGFiZWwsXG4udGFzay1zdGF0dXMtZWRpdG9yIC5xdWljay1jYXB0dXJlLXN0YXR1cy1zZWxlY3Rvci1sYWJlbCB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tb2RhbC1jb250ZW50LnRhc2stbWV0YWRhdGEtZWRpdG9yIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5tZXRhZGF0YS1mdWxsLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4ubWV0YWRhdGEtZnVsbC1jb250YWluZXIgLmRhdGVzLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuIiwgIi8qIFYyIFZpZXcgTWFpbiBMYXlvdXQgKi9cbi50YXNrLWdlbml1cy1mbHVlbnQtdmlldyB7XG5cdGhlaWdodDogMTAwJTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cGFkZGluZzogMDtcbn1cblxuLnRnLWZsdWVudC1jb250YWluZXIge1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi52aWV3LWNvbnRlbnQudGFzay1nZW5pdXMtZmx1ZW50LXZpZXcge1xuXHRwYWRkaW5nOiAwO1xufVxuXG4udGctZmx1ZW50LWxheW91dCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGhlaWdodDogMTAwJTtcblx0d2lkdGg6IDEwMCU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIFNpZGViYXIgU3R5bGVzICovXG4udGctZmx1ZW50LXNpZGViYXItY29udGFpbmVyIHtcblx0d2lkdGg6IDI2MHB4O1xuXHRtaW4td2lkdGg6IDIwMHB4O1xuXHRtYXgtd2lkdGg6IDQwMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmZsdWVudC1zaWRlYmFyIHtcblx0aGVpZ2h0OiAxMDAlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uZmx1ZW50LXNpZGViYXItaGVhZGVyIHtcblx0cGFkZGluZzogMTJweDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLyogV29ya3NwYWNlIFNlbGVjdG9yICovXG4ud29ya3NwYWNlLXNlbGVjdG9yLWJ1dHRvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IDhweDtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXM7XG59XG5cbi53b3Jrc3BhY2Utc2VsZWN0b3ItYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi53b3Jrc3BhY2UtaW5mbyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMTJweDtcbn1cblxuLndvcmtzcGFjZS1pY29uIHtcblx0d2lkdGg6IDMycHg7XG5cdGhlaWdodDogMzJweDtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Y29sb3I6IHdoaXRlO1xufVxuXG4ud29ya3NwYWNlLWljb24gc3ZnIHtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcbn1cblxuLndvcmtzcGFjZS1kZXRhaWxzIHtcblx0dGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLndvcmtzcGFjZS1uYW1lIHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLndvcmtzcGFjZS1sYWJlbCB7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4ud29ya3NwYWNlLWRyb3Bkb3duLWljb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi8qIE5ldyBUYXNrIEJ1dHRvbiAqL1xuLmZsdWVudC1uZXctdGFzay1idG4ge1xuXHR3aWR0aDogMTAwJTtcblx0bWFyZ2luLXRvcDogMTJweDtcblx0cGFkZGluZzogMTBweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRnYXA6IDhweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzO1xufVxuXG4uZmx1ZW50LW5ldy10YXNrLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi5mbHVlbnQtbmV3LXRhc2staWNvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG59XG5cbi8qIFNpZGViYXIgQ29udGVudCAqL1xuLmZsdWVudC1zaWRlYmFyLWNvbnRlbnQge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRwYWRkaW5nOiA4cHggMDtcblx0LS1pY29uLXNpemU6IDE2cHg7XG59XG5cbi5mbHVlbnQtc2lkZWJhci1zZWN0aW9uIHtcblx0cGFkZGluZzogOHB4IDA7XG59XG5cbi5mbHVlbnQtc2lkZWJhci1zZWN0aW9uICsgLmZsdWVudC1zaWRlYmFyLXNlY3Rpb24ge1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uZmx1ZW50LXNlY3Rpb24taGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRwYWRkaW5nOiA0cHggMTZweDtcblx0bWFyZ2luLWJvdHRvbTogNHB4O1xufVxuXG4uZmx1ZW50LXNlY3Rpb24taGVhZGVyIHNwYW4ge1xuXHRmb250LXNpemU6IDEycHg7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLmZsdWVudC1wcm9qZWN0LWhlYWRlci1idXR0b25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7XG59XG5cbi5mbHVlbnQtYWRkLXByb2plY3QtYnRuLFxuLmZsdWVudC1zb3J0LXByb2plY3QtYnRuLFxuLmZsdWVudC10cmVlLXRvZ2dsZS1idG4ge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0dHJhbnNpdGlvbjogY29sb3IgMC4xNXM7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogMjBweDtcblx0aGVpZ2h0OiAyMHB4O1xufVxuXG4uZmx1ZW50LWFkZC1wcm9qZWN0LWJ0bjpob3Zlcixcbi5mbHVlbnQtc29ydC1wcm9qZWN0LWJ0bjpob3Zlcixcbi5mbHVlbnQtdHJlZS10b2dnbGUtYnRuOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLyogTmF2aWdhdGlvbiBJdGVtcyAqL1xuLmZsdWVudC1uYXZpZ2F0aW9uLWxpc3Qge1xuXHRwYWRkaW5nOiAwIDhweDtcbn1cblxuLmZsdWVudC1uYXZpZ2F0aW9uLWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDEycHg7XG5cdHBhZGRpbmc6IDZweCA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5mbHVlbnQtbmF2aWdhdGlvbi1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi5mbHVlbnQtbmF2aWdhdGlvbi1pdGVtLmlzLWFjdGl2ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlLWhvdmVyKTtcbn1cblxuLmZsdWVudC1uYXZpZ2F0aW9uLWljb24ge1xuXHR3aWR0aDogMjBweDtcblx0aGVpZ2h0OiAyMHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4uZmx1ZW50LW5hdmlnYXRpb24taXRlbS5pcy1hY3RpdmUgLmZsdWVudC1uYXZpZ2F0aW9uLWljb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uZmx1ZW50LW5hdmlnYXRpb24tbGFiZWwge1xuXHRmbGV4OiAxO1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5mbHVlbnQtbmF2aWdhdGlvbi1iYWRnZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGZvbnQtc2l6ZTogMTFweDtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0cGFkZGluZzogMnB4IDZweDtcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcblx0bWluLXdpZHRoOiAxOHB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qIFByb2plY3QgTGlzdCAqL1xuLmZsdWVudC1wcm9qZWN0LXNjcm9sbCB7XG5cdG1heC1oZWlnaHQ6IDMwMHB4O1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRwYWRkaW5nOiAwIDhweDtcbn1cblxuLmZsdWVudC1wcm9qZWN0LWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDEwcHg7XG5cdHBhZGRpbmc6IDZweCA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzO1xufVxuXG4uZmx1ZW50LXByb2plY3QtaXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4uZmx1ZW50LXByb2plY3QtaXRlbS5pcy1hY3RpdmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZS1ob3Zlcik7XG59XG5cbi5mbHVlbnQtcHJvamVjdC1jb2xvciB7XG5cdHdpZHRoOiAxMnB4O1xuXHRoZWlnaHQ6IDEycHg7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi5mbHVlbnQtcHJvamVjdC1jb2xvci1kYXNoZWQge1xuXHR3aWR0aDogMTJweDtcblx0aGVpZ2h0OiAxMnB4O1xuXHRib3JkZXI6IDEuNXB4IGRhc2hlZCB2YXIoLS10ZXh0LW11dGVkKTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xufVxuXG4uZmx1ZW50LXByb2plY3QtbmFtZSB7XG5cdGZsZXg6IDE7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5mbHVlbnQtYWRkLXByb2plY3QgLmZsdWVudC1wcm9qZWN0LW5hbWUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5mbHVlbnQtcHJvamVjdC1jb3VudCB7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4vKiBUcmVlIFZpZXcgU3R5bGVzICovXG4uZmx1ZW50LXByb2plY3QtbGlzdC5pcy10cmVlLXZpZXcgLmZsdWVudC1wcm9qZWN0LWl0ZW0ge1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcbn1cblxuLmZsdWVudC1wcm9qZWN0LWNoZXZyb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcblx0bWFyZ2luLXJpZ2h0OiA0cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgZWFzZTtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi5mbHVlbnQtcHJvamVjdC1jaGV2cm9uOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmZsdWVudC1wcm9qZWN0LWNoZXZyb24gc3ZnIHtcblx0d2lkdGg6IDEycHg7XG5cdGhlaWdodDogMTJweDtcbn1cblxuLmZsdWVudC1wcm9qZWN0LWNoZXZyb24tc3BhY2VyIHtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcblx0bWFyZ2luLXJpZ2h0OiA0cHg7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4vKiBUcmVlIGluZGVudGF0aW9uICovXG4uZmx1ZW50LXByb2plY3QtbGlzdC5pcy10cmVlLXZpZXcgLmZsdWVudC1wcm9qZWN0LWl0ZW1bZGF0YS1sZXZlbD1cIjFcIl0ge1xuXHRwYWRkaW5nLWxlZnQ6IDI4cHg7XG59XG5cbi5mbHVlbnQtcHJvamVjdC1saXN0LmlzLXRyZWUtdmlldyAuZmx1ZW50LXByb2plY3QtaXRlbVtkYXRhLWxldmVsPVwiMlwiXSB7XG5cdHBhZGRpbmctbGVmdDogNDhweDtcbn1cblxuLmZsdWVudC1wcm9qZWN0LWxpc3QuaXMtdHJlZS12aWV3IC5mbHVlbnQtcHJvamVjdC1pdGVtW2RhdGEtbGV2ZWw9XCIzXCJdIHtcblx0cGFkZGluZy1sZWZ0OiA2OHB4O1xufVxuXG4vKiBUcmVlIGhpZXJhcmNoeSBsaW5lcyAob3B0aW9uYWwgLSBjYW4gYmUgYWRkZWQgbGF0ZXIpICovXG4uZmx1ZW50LXByb2plY3QtbGlzdC5pcy10cmVlLXZpZXcgLmZsdWVudC1wcm9qZWN0LWl0ZW06OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogOHB4O1xuXHR0b3A6IDA7XG5cdGJvdHRvbTogMDtcblx0d2lkdGg6IDFweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRvcGFjaXR5OiAwO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzO1xufVxuXG4uZmx1ZW50LXByb2plY3QtbGlzdC5pcy10cmVlLXZpZXdcblx0LmZsdWVudC1wcm9qZWN0LWl0ZW1bZGF0YS1sZXZlbF06bm90KFtkYXRhLWxldmVsPVwiMFwiXSk6aG92ZXI6OmJlZm9yZSB7XG5cdG9wYWNpdHk6IDAuMztcbn1cblxuLyogVmlydHVhbCBwcm9qZWN0IG5vZGVzIChpbnRlcm1lZGlhdGUgZm9sZGVycykgKi9cbi5mbHVlbnQtcHJvamVjdC1pdGVtLmlzLXZpcnR1YWwgLmZsdWVudC1wcm9qZWN0LW5hbWUge1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdG9wYWNpdHk6IDAuODU7XG59XG5cbi5mbHVlbnQtcHJvamVjdC1pdGVtLmlzLXZpcnR1YWwgLmZsdWVudC1wcm9qZWN0LWNvbG9yIHtcblx0b3BhY2l0eTogMC42O1xufVxuXG4uZmx1ZW50LXByb2plY3QtaXRlbS5pcy12aXJ0dWFsOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi8qIE1haW4gQ29udGFpbmVyICovXG4udGctZmx1ZW50LW1haW4tY29udGFpbmVyIHtcblx0ZmxleDogMTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogVG9wIE5hdmlnYXRpb24gKi9cbi50Zy1mbHVlbnQtdG9wLW5hdiB7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG59XG5cbi5mbHVlbnQtdG9wLW5hdmlnYXRpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGhlaWdodDogNTZweDtcblx0cGFkZGluZzogMCAyMHB4O1xuXHRnYXA6IDIwcHg7XG59XG5cbi5mbHVlbnQtbmF2LWxlZnQge1xuXHRmbGV4OiAwIDEgNDAwcHg7XG59XG5cbi5mbHVlbnQtc2VhcmNoLWNvbnRhaW5lciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRtYXgtd2lkdGg6IDQwMHB4O1xuXHRmbGV4OiAxO1xufVxuXG4vKiBDZW50ZXIgTmF2aWdhdGlvbiAqL1xuLmZsdWVudC1uYXYtY2VudGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAxMnB4O1xufVxuXG4uZmx1ZW50LXZpZXctdGFicyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRwYWRkaW5nOiAycHg7XG59XG5cbi5mbHVlbnQtdmlldy10YWIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDZweDtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGJhY2tncm91bmQ6IG5vbmU7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4xNXM7XG59XG5cbi5mbHVlbnQtdmlldy10YWI6aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uZmx1ZW50LXZpZXctdGFiLmlzLWFjdGl2ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi5mbHVlbnQtdmlldy10YWItaWNvbiB7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5mbHVlbnQtbmF2LXNlcGFyYXRvciB7XG5cdHdpZHRoOiAxcHg7XG5cdGhlaWdodDogMjRweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uZmx1ZW50LW5hdi1idXR0b24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDZweDtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGJhY2tncm91bmQ6IG5vbmU7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMTVzO1xufVxuXG4uZmx1ZW50LW5hdi1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLmZsdWVudC1uYXYtYnV0dG9uLWljb24ge1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRkaXNwbGF5OiBmbGV4O1xufVxuXG4vKiBSaWdodCBOYXZpZ2F0aW9uICovXG4uZmx1ZW50LW5hdi1yaWdodCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMTJweDtcbn1cblxuLmZsdWVudC1uYXYtaWNvbi1idXR0b24ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAzNnB4O1xuXHRoZWlnaHQ6IDM2cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4xNXM7XG59XG5cbi5mbHVlbnQtbmF2LWljb24tYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5mbHVlbnQtbm90aWZpY2F0aW9uLWJhZGdlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IC0ycHg7XG5cdHJpZ2h0OiAtMnB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0Y29sb3I6IHdoaXRlO1xuXHRmb250LXNpemU6IDEwcHg7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdHBhZGRpbmc6IDJweCA1cHg7XG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cdG1pbi13aWR0aDogMTZweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKiBDb250ZW50IEFyZWEgKi9cbi50Zy1mbHVlbnQtY29udGVudCB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93OiBhdXRvO1xufVxuXG4uYmFzZXMtdmlldyAudGcta2FuYmFuLWZpbHRlcnMsXG4udGctZmx1ZW50LWNvbnRlbnQgLmNvbnRlbnQtaGVhZGVyLFxuLnRnLWZsdWVudC1jb250ZW50IC50Zy1rYW5iYW4tZmlsdGVycyB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIFZpZXctc3BlY2lmaWMgc3R5bGVzICovXG4udGctZmx1ZW50LWxpc3Qtdmlldyxcbi50Zy1mbHVlbnQta2FuYmFuLXZpZXcsXG4udGctZmx1ZW50LXRyZWUtdmlldyxcbi50Zy1mbHVlbnQtY2FsZW5kYXItdmlldyB7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuLyogUmVzcG9uc2l2ZSBhZGp1c3RtZW50cyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC50Zy1mbHVlbnQtc2lkZWJhci1jb250YWluZXI6bm90KC5pcy1tb2JpbGUtZHJhd2VyKSB7XG5cdFx0d2lkdGg6IDIwMHB4O1xuXHR9XG5cblx0LmZsdWVudC1uYXYtY2VudGVyIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0LmZsdWVudC1zZWFyY2gtY29udGFpbmVyIHtcblx0XHRmbGV4OiAxO1xuXHR9XG5cblx0LmZsdWVudC1uYXYtbGVmdCAuc2VhcmNoLWlucHV0LWNvbnRhaW5lciB7XG5cdFx0d2lkdGg6IDMwMHB4O1xuXHR9XG59XG5cbi8qIE1vYmlsZS1zcGVjaWZpYyBtZWRpYSBxdWVyeSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG5cdC8qIEVuc3VyZSBkcmF3ZXIgdGFrZXMgYXBwcm9wcmlhdGUgd2lkdGggb24gc21hbGwgc2NyZWVucyAqL1xuXHQudGctZmx1ZW50LXNpZGViYXItY29udGFpbmVyLmlzLW1vYmlsZS1kcmF3ZXIge1xuXHRcdHdpZHRoOiA3NXZ3ICFpbXBvcnRhbnQ7XG5cdFx0bWF4LXdpZHRoOiAzMjBweCAhaW1wb3J0YW50O1xuXHR9XG5cblx0LyogTWFrZSBoYW1idXJnZXIgYnV0dG9uIG1vcmUgcHJvbWluZW50IG9uIG1vYmlsZSAqL1xuXHQuZmx1ZW50LWhhbWJ1cmdlci1idXR0b24ge1xuXHRcdHdpZHRoOiA0NHB4O1xuXHRcdGhlaWdodDogNDRweDtcblx0fVxuXG5cdC8qIEFkanVzdCB0b3AgbmF2aWdhdGlvbiBzcGFjaW5nIG9uIG1vYmlsZSAqL1xuXHQuZmx1ZW50LXRvcC1uYXZpZ2F0aW9uIHtcblx0XHRwYWRkaW5nOiAwIDEycHg7XG5cdH1cblxuXHQvKiBIaWRlIHZpZXcgdGFicyBvbiB2ZXJ5IHNtYWxsIHNjcmVlbnMgKi9cblx0LmZsdWVudC12aWV3LXRhYnMge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQvKiBPcHRpbWl6ZSBzZWFyY2ggY29udGFpbmVyIG9uIG1vYmlsZSAqL1xuXHQuZmx1ZW50LXNlYXJjaC1jb250YWluZXIge1xuXHRcdGZsZXg6IDE7XG5cdFx0bWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gMTgwcHgpO1xuXHR9XG59XG5cbi8qID09PT09IENvbGxhcHNlZCBTaWRlYmFyIChSYWlsKSA9PT09PSAqL1xuLnRnLWZsdWVudC1zaWRlYmFyLWNvbnRhaW5lciB7XG5cdHRyYW5zaXRpb246XG5cdFx0d2lkdGggMC4ycyBlYXNlLFxuXHRcdG1pbi13aWR0aCAwLjJzIGVhc2UsXG5cdFx0bWF4LXdpZHRoIDAuMnMgZWFzZTtcbn1cblxuLyogV2hlbiB0aGUgc2lkZWJhciBlbGVtZW50IGl0c2VsZiBpcyBjb2xsYXBzZWQgKi9cbi50Zy1mbHVlbnQtc2lkZWJhci1jb250YWluZXIuaXMtY29sbGFwc2VkLFxuXHQvKiBPciB3aGVuIHRoZSByb290IGFkZHMgYSBoZWxwZXIgY2xhc3MgKi9cbi5mbHVlbnQtc2lkZWJhci1jb2xsYXBzZWQgLnRnLWZsdWVudC1zaWRlYmFyLWNvbnRhaW5lciB7XG5cdHdpZHRoOiA0NHB4O1xuXHRtaW4td2lkdGg6IDQ0cHg7XG5cdG1heC13aWR0aDogNDRweDtcbn1cblxuLyogUmFpbCBsYXlvdXQgKi9cbi5mbHVlbnQtc2lkZWJhci1yYWlsIHtcblx0aGVpZ2h0OiAxMDAlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDhweDtcblx0cGFkZGluZzogOHB4IDRweDtcbn1cblxuLmZsdWVudC1yYWlsLWJ0biB7XG5cdHdpZHRoOiAzNnB4O1xuXHRoZWlnaHQ6IDM2cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOlxuXHRcdGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZSxcblx0XHRjb2xvciAwLjE1cyBlYXNlO1xufVxuXG4uZmx1ZW50LXJhaWwtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5mbHVlbnQtcmFpbC1idG4gc3ZnIHtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcbn1cblxuLyogQWN0aXZlIHN0YXRlIGZvciByYWlsIGJ1dHRvbnMgKi9cbi5mbHVlbnQtcmFpbC1idG4uaXMtYWN0aXZlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUtaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGctYmV0YSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnRnLWJldGE6OmFmdGVyIHtcblx0Y29udGVudDogXCJiZXRhXCI7XG5cdGZvbnQtc2l6ZTogMC40NGVtO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQtaW52ZXJ0ZWQpO1xuXHRwYWRkaW5nLWxlZnQ6IDJweDtcblx0cGFkZGluZy1yaWdodDogMnB4O1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0bWFyZ2luLWxlZnQ6IDRweDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IC0xcHg7XG5cdHJpZ2h0OiAtMnB4O1xuXHRib3JkZXItcmFkaXVzOiAycHg7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdHBhZGRpbmctdG9wOiAxcHg7XG59XG5cbi8qID09PT09IE1vYmlsZSBEcmF3ZXIgU3R5bGVzID09PT09ICovXG4uZHJhd2VyLW92ZXJsYXkge1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0cmlnaHQ6IDA7XG5cdGJvdHRvbTogMDtcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuXHR6LWluZGV4OiA5OTk7XG5cdG9wYWNpdHk6IDA7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmRyYXdlci1vcGVuIC5kcmF3ZXItb3ZlcmxheSB7XG5cdG9wYWNpdHk6IDE7XG5cdHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG4vKiBNb2JpbGUgZHJhd2VyIHNpZGViYXIgKi9cbi50Zy1mbHVlbnQtc2lkZWJhci1jb250YWluZXIuaXMtbW9iaWxlLWRyYXdlciB7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHRib3R0b206IDA7XG5cdHdpZHRoOiAyODBweCAhaW1wb3J0YW50O1xuXHRtYXgtd2lkdGg6IDg1dncgIWltcG9ydGFudDtcblx0bWluLXdpZHRoOiAyODBweCAhaW1wb3J0YW50O1xuXHR6LWluZGV4OiAxMDAwO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuXHRib3gtc2hhZG93OiA0cHggMCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG59XG5cbi8qIFdoZW4gZHJhd2VyIGlzIG9wZW4gKi9cbi5kcmF3ZXItb3BlbiAudGctZmx1ZW50LXNpZGViYXItY29udGFpbmVyLmlzLW1vYmlsZS1kcmF3ZXIge1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG5cbi8qIEVuc3VyZSBzaWRlYmFyIGNvbnRlbnQgaXMgdmlzaWJsZSBvbiBtb2JpbGUgZXZlbiB3aGVuIFwiY29sbGFwc2VkXCIgKi9cbi50Zy1mbHVlbnQtc2lkZWJhci1jb250YWluZXIuaXMtbW9iaWxlLWRyYXdlciAuZmx1ZW50LXNpZGViYXIuaXMtY29sbGFwc2VkIHtcblx0ZGlzcGxheTogZmxleDtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi8qIEhpZGUgcmFpbCBtb2RlIG9uIG1vYmlsZSAqL1xuLnRnLWZsdWVudC1zaWRlYmFyLWNvbnRhaW5lci5pcy1tb2JpbGUtZHJhd2VyIC5mbHVlbnQtc2lkZWJhci1yYWlsIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLyogTW9iaWxlLXNwZWNpZmljIHNpZGViYXIgY29udGVudCBhZGp1c3RtZW50cyAqL1xuLmlzLW1vYmlsZSAuZmx1ZW50LXNpZGViYXIge1xuXHR3aWR0aDogMTAwJTtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0b3ZlcmZsb3cteDogaGlkZGVuO1xufVxuXG4uaXMtbW9iaWxlIC5mbHVlbnQtc2lkZWJhci1oZWFkZXIge1xuXHRwYWRkaW5nOiAxNnB4O1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4vKiBFbnN1cmUgYWxsIHNlY3Rpb25zIGFyZSB2aXNpYmxlIG9uIG1vYmlsZSAqL1xuLmlzLW1vYmlsZSAuZmx1ZW50LXNpZGViYXItY29udGVudCB7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdG1heC1oZWlnaHQ6IGNhbGMoXG5cdFx0MTAwdmggLSAxNTBweFxuXHQpOyAvKiBBY2NvdW50IGZvciBoZWFkZXIgYW5kIG5ldyB0YXNrIGJ1dHRvbiAqL1xufVxuXG4uaXMtbW9iaWxlIC5mbHVlbnQtc2lkZWJhci1zZWN0aW9uIHtcblx0ZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblx0dmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG4vKiBFbnN1cmUgc2VjdGlvbiBoZWFkZXJzIGFyZSB2aXNpYmxlIG9uIG1vYmlsZSAqL1xuLmlzLW1vYmlsZSAuZmx1ZW50LXNlY3Rpb24taGVhZGVyIHtcblx0ZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuXHR2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbi5pcy1tb2JpbGUgLmZsdWVudC1uYXZpZ2F0aW9uLWl0ZW0sXG4uaXMtbW9iaWxlIC5mbHVlbnQtcHJvamVjdC1pdGVtIHtcblx0cGFkZGluZzogMTBweCAxNnB4O1xuXHRmb250LXNpemU6IDE1cHg7XG59XG5cbi5pcy1tb2JpbGUgLmZsdWVudC1uZXctdGFzay1idG4ge1xuXHRwYWRkaW5nOiAxMnB4O1xuXHRmb250LXNpemU6IDE1cHg7XG59XG5cbi5pcy1tb2JpbGUgLmZsdWVudC1uYXZpZ2F0aW9uLWxpc3Qge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmlzLW1vYmlsZSBzcGFuLmZsdWVudC1uYXZpZ2F0aW9uLWxhYmVsIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLyogVG91Y2gtZnJpZW5kbHkgc2l6aW5nICovXG4uaXMtbW9iaWxlIC5mbHVlbnQtbmF2aWdhdGlvbi1pdGVtLFxuLmlzLW1vYmlsZSAuZmx1ZW50LXByb2plY3QtaXRlbSxcbi5pcy1tb2JpbGUgLmZsdWVudC1hZGQtcHJvamVjdCB7XG5cdG1pbi1oZWlnaHQ6IDQ0cHg7XG59XG5cbi8qIEFkanVzdCBtYWluIGNvbnRhaW5lciBvbiBtb2JpbGUgd2hlbiBkcmF3ZXIgaXMgb3BlbiAqL1xuLmRyYXdlci1vcGVuIC50Zy1mbHVlbnQtbWFpbi1jb250YWluZXIge1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLyogSGFtYnVyZ2VyIG1lbnUgYnV0dG9uIGZvciBtb2JpbGUgKi9cbi5mbHVlbnQtaGFtYnVyZ2VyLWJ1dHRvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogNDBweDtcblx0aGVpZ2h0OiA0MHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOlxuXHRcdGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZSxcblx0XHRjb2xvciAwLjE1cyBlYXNlO1xuXHRtYXJnaW4tcmlnaHQ6IDhweDtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi5mbHVlbnQtaGFtYnVyZ2VyLWJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uZmx1ZW50LWhhbWJ1cmdlci1idXR0b24gc3ZnIHtcblx0d2lkdGg6IDIwcHg7XG5cdGhlaWdodDogMjBweDtcbn1cblxuLyogQWRqdXN0IHNlYXJjaCBjb250YWluZXIgb24gbW9iaWxlIHdoZW4gaGFtYnVyZ2VyIGlzIHByZXNlbnQgKi9cbi5mbHVlbnQtbmF2LWxlZnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDhweDtcbn1cblxuLyogSGlkZSBzaWRlYmFyIHRvZ2dsZSBvbiBkZXNrdG9wIHdoZW4gaW4gbW9iaWxlIGRyYXdlciBtb2RlICovXG4udGctZmx1ZW50LXNpZGViYXItY29udGFpbmVyLmlzLW1vYmlsZS1kcmF3ZXJcblx0fiAudGctZmx1ZW50LW1haW4tY29udGFpbmVyXG5cdC5zaWRlYmFyLXRvZ2dsZSB7XG5cdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLyogQW5pbWF0aW9uIGZvciBkcmF3ZXIgZnJvbSByaWdodCAob3B0aW9uYWwgLSBjYW4gYmUgY29uZmlndXJlZCkgKi9cbi50Zy1mbHVlbnQtc2lkZWJhci1jb250YWluZXIuaXMtbW9iaWxlLWRyYXdlci5kcmF3ZXItcmlnaHQge1xuXHRsZWZ0OiBhdXRvO1xuXHRyaWdodDogMDtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuXHRib3gtc2hhZG93OiAtNHB4IDAgMjBweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xufVxuXG4uZHJhd2VyLW9wZW4gLnRnLWZsdWVudC1zaWRlYmFyLWNvbnRhaW5lci5pcy1tb2JpbGUtZHJhd2VyLmRyYXdlci1yaWdodCB7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbn1cblxuLnZpZXctY29udGVudDpoYXMoLnRnLXJpZ2h0LWRldGFpbC12aWV3KSB7XG5cdHBhZGRpbmctbGVmdDogMDtcblx0cGFkZGluZy1yaWdodDogMDtcblx0cGFkZGluZy10b3A6IDA7XG59XG5cbi50Zy1yaWdodC1kZXRhaWwtdmlldyAudGFzay1kZXRhaWxzIHtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi8qIFNtb290aCBhbmltYXRpb25zIGZvciBhbGwgdHJhbnNpdGlvbnMgKi9cbkBrZXlmcmFtZXMgc2xpZGVJbkZyb21MZWZ0IHtcblx0ZnJvbSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcblx0XHRvcGFjaXR5OiAwLjg7XG5cdH1cblx0dG8ge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVJbkZyb21SaWdodCB7XG5cdGZyb20ge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcblx0XHRvcGFjaXR5OiAwLjg7XG5cdH1cblx0dG8ge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG59XG5cbi5vbmJvYXJkaW5nLXNoYWRvdyB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0YmFja2dyb3VuZDogaHNsKHZhcigtLWNvbG9yLWFjY2VudC1oc2wpLCAwKTtcblx0Ym9yZGVyLXJhZGl1czogMjRweDtcblx0cm90YXRlOiAzNWRlZztcblx0d2lkdGg6IDI2MHB4O1xuXHR0b3A6IDIwMHB4O1xuXHRoZWlnaHQ6IDQwMHB4O1xuXHRmaWx0ZXI6IGJsdXIoMTUwcHgpO1xuXHRhbmltYXRpb246IHNoYWRvdy1zbGlkZSBpbmZpbml0ZSA0cyBsaW5lYXIgYWx0ZXJuYXRlO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuQGtleWZyYW1lcyBzaGFkb3ctc2xpZGUge1xuXHQwJSB7XG5cdFx0YmFja2dyb3VuZDogaHNsKHZhcigtLWNvbG9yLWFjY2VudC1oc2wpLCAwLjIpO1xuXHRcdHJpZ2h0OiAzNjBweDtcblx0fVxuXHR0byB7XG5cdFx0YmFja2dyb3VuZDogaHNsKHZhcigtLWNvbG9yLWFjY2VudC1oc2wpLCAwLjgpO1xuXHRcdHJpZ2h0OiAxNjBweDtcblx0fVxufVxuIiwgIi8qIFRhc2sgR2VuaXVzIFYyIEVuaGFuY2VkIFN0eWxlcyAtIFNoYWRjbi1pbnNwaXJlZCAqL1xuXG4vKiA9PT09PT09PT09IEJhc2UgVmFyaWFibGVzID09PT09PT09PT0gKi9cbjpyb290IHtcblx0LyogU2hhZG93cyAqL1xuXHQtLXRnLXNoYWRvdy1zbTogMCAxcHggMnB4IDAgcmdiKDAgMCAwIC8gMC4wNSk7XG5cdC0tdGctc2hhZG93OiAwIDFweCAzcHggMCByZ2IoMCAwIDAgLyAwLjEpLCAwIDFweCAycHggLTFweCByZ2IoMCAwIDAgLyAwLjEpO1xuXHQtLXRnLXNoYWRvdy1tZDpcblx0XHQwIDRweCA2cHggLTFweCByZ2IoMCAwIDAgLyAwLjEpLCAwIDJweCA0cHggLTJweCByZ2IoMCAwIDAgLyAwLjEpO1xuXHQtLXRnLXNoYWRvdy1sZzpcblx0XHQwIDEwcHggMTVweCAtM3B4IHJnYigwIDAgMCAvIDAuMSksIDAgNHB4IDZweCAtNHB4IHJnYigwIDAgMCAvIDAuMSk7XG5cdC0tdGctc2hhZG93LXhsOlxuXHRcdDAgMjBweCAyNXB4IC01cHggcmdiKDAgMCAwIC8gMC4xKSwgMCA4cHggMTBweCAtNnB4IHJnYigwIDAgMCAvIDAuMSk7XG5cblx0LyogQW5pbWF0aW9ucyAqL1xuXHQtLXRnLXRyYW5zaXRpb24tZmFzdDogMTUwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcblx0LS10Zy10cmFuc2l0aW9uLWJhc2U6IDIwMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG5cdC0tdGctdHJhbnNpdGlvbi1zbG93OiAzMDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuXG5cdC8qIEJvcmRlciByYWRpdXMgKi9cblx0LS10Zy1yYWRpdXMtc206IDAuMjVyZW07XG5cdC0tdGctcmFkaXVzOiAwLjM3NXJlbTtcblx0LS10Zy1yYWRpdXMtbWQ6IDAuNXJlbTtcblx0LS10Zy1yYWRpdXMtbGc6IDAuNzVyZW07XG5cdC0tdGctcmFkaXVzLWZ1bGw6IDk5OTlweDtcbn1cblxuLyogPT09PT09PT09PSBUYXNrIExpc3QgVmlldyBTdHlsZXMgPT09PT09PT09PSAqL1xuLnRhc2stbGlzdC1jb250YWluZXIge1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdHBhZGRpbmc6IDEuNXJlbTtcblx0YW5pbWF0aW9uOiBmYWRlSW4gdmFyKC0tdGctdHJhbnNpdGlvbi1iYXNlKTtcbn1cblxuLnRhc2stbGlzdC13cmFwcGVyIHtcblx0bWF4LXdpZHRoOiAxMjAwcHg7XG5cdG1hcmdpbjogMCBhdXRvO1xufVxuXG4udGctdGFzay1saXN0LWl0ZW0ge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXRnLXJhZGl1cy1tZCk7XG5cdG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG5cdHBhZGRpbmc6IDFyZW0gMS4yNXJlbTtcblx0dHJhbnNpdGlvbjogYWxsIHZhcigtLXRnLXRyYW5zaXRpb24tZmFzdCk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnRhc2stbGlzdC1pdGVtOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDA7XG5cdHRvcDogMDtcblx0Ym90dG9tOiAwO1xuXHR3aWR0aDogM3B4O1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCB2YXIoLS10Zy10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4udGctdGFzay1saXN0LWl0ZW06aG92ZXIge1xuXHRib3gtc2hhZG93OiB2YXIoLS10Zy1zaGFkb3cpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLnRnLXRhc2stbGlzdC1pdGVtOmhvdmVyOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4udGFzay1saXN0LWl0ZW0uaXMtY29tcGxldGVkIHtcblx0b3BhY2l0eTogMC42O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi50YXNrLWxpc3QtaXRlbS5pcy1vdmVyZHVlOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLnRhc2stbGlzdC1lbXB0eSB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogM3JlbSAxLjVyZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjlyZW07XG59XG5cbi8qID09PT09PT09PT0gVGFzayBUcmVlIFZpZXcgU3R5bGVzID09PT09PT09PT0gKi9cbi50YXNrLXRyZWUtY29udGFpbmVyIHtcblx0aGVpZ2h0OiAxMDAlO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRwYWRkaW5nOiAxLjVyZW07XG5cdGFuaW1hdGlvbjogZmFkZUluIHZhcigtLXRnLXRyYW5zaXRpb24tYmFzZSk7XG59XG5cbi50YXNrLXRyZWUtd3JhcHBlciB7XG5cdG1heC13aWR0aDogMTIwMHB4O1xuXHRtYXJnaW46IDAgYXV0bztcbn1cblxuLnRhc2stdHJlZS1wcm9qZWN0IHtcblx0bWFyZ2luLWJvdHRvbTogMS41cmVtO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXRnLXJhZGl1cy1sZyk7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRyYW5zaXRpb246IGFsbCB2YXIoLS10Zy10cmFuc2l0aW9uLWJhc2UpO1xufVxuXG4udGFzay10cmVlLXByb2plY3Q6aG92ZXIge1xuXHRib3gtc2hhZG93OiB2YXIoLS10Zy1zaGFkb3ctbWQpO1xufVxuXG4udGFzay10cmVlLXByb2plY3QtaGVhZGVyIHtcblx0cGFkZGluZzogMXJlbSAxLjI1cmVtO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGZvbnQtc2l6ZTogMC45NXJlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tdGctdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnRhc2stdHJlZS1wcm9qZWN0LWhlYWRlcjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4udGFzay10cmVlLXByb2plY3QtaGVhZGVyOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlx1MjVCNlwiO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdG1hcmdpbi1yaWdodDogMC41cmVtO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tdGctdHJhbnNpdGlvbi1mYXN0KTtcblx0Zm9udC1zaXplOiAwLjc1cmVtO1xufVxuXG4udGFzay10cmVlLXByb2plY3QuaXMtZXhwYW5kZWQgLnRhc2stdHJlZS1wcm9qZWN0LWhlYWRlcjo6YmVmb3JlIHtcblx0dHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xufVxuXG4udGFzay10cmVlLXRhc2tzIHtcblx0cGFkZGluZzogMC41cmVtO1xufVxuXG4udGFzay10cmVlLWl0ZW0ge1xuXHRwYWRkaW5nOiAwLjc1cmVtIDFyZW07XG5cdG1hcmdpbjogMC4yNXJlbTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzKTtcblx0dHJhbnNpdGlvbjogYWxsIHZhcigtLXRnLXRyYW5zaXRpb24tZmFzdCk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZy1sZWZ0OiAycmVtO1xufVxuXG4udGFzay10cmVlLWl0ZW06OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMXJlbTtcblx0dG9wOiA1MCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0d2lkdGg6IDRweDtcblx0aGVpZ2h0OiA0cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS10Zy1yYWRpdXMtZnVsbCk7XG59XG5cbi50YXNrLXRyZWUtaXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4udGFzay10cmVlLWVtcHR5IHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiAzcmVtIDEuNXJlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDAuOXJlbTtcbn1cblxuLyogPT09PT09PT09PSBGaWx0ZXIgUGFuZWwgU3R5bGVzID09PT09PT09PT0gKi9cbi50Zy1mbHVlbnQtZmlsdGVyLXBhbmVsIHtcblx0cG9zaXRpb246IGZpeGVkO1xuXHRyaWdodDogLTM4MHB4O1xuXHR0b3A6IDA7XG5cdGJvdHRvbTogMDtcblx0d2lkdGg6IDM4MHB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym94LXNoYWRvdzogdmFyKC0tdGctc2hhZG93LXhsKTtcblx0dHJhbnNpdGlvbjogcmlnaHQgdmFyKC0tdGctdHJhbnNpdGlvbi1zbG93KTtcblx0ei1pbmRleDogMTAwMDtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLnRnLWZsdWVudC1maWx0ZXItcGFuZWwuaXMtb3BlbiB7XG5cdHJpZ2h0OiAwO1xufVxuXG4uZmlsdGVyLXBhbmVsLWhlYWRlciB7XG5cdHBhZGRpbmc6IDEuMjVyZW07XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLmZpbHRlci1wYW5lbC10aXRsZSB7XG5cdGZvbnQtc2l6ZTogMS4xcmVtO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uZmlsdGVyLXBhbmVsLWNsb3NlIHtcblx0d2lkdGg6IDMycHg7XG5cdGhlaWdodDogMzJweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXRnLXJhZGl1cyk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCB2YXIoLS10Zy10cmFuc2l0aW9uLWZhc3QpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5maWx0ZXItcGFuZWwtY2xvc2U6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmZpbHRlci1wYW5lbC1jb250ZW50IHtcblx0cGFkZGluZzogMS4yNXJlbTtcbn1cblxuLmZpbHRlci1ncm91cCB7XG5cdG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbn1cblxuLmZpbHRlci1ncm91cC1sYWJlbCB7XG5cdGZvbnQtc2l6ZTogMC44NzVyZW07XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWFyZ2luLWJvdHRvbTogMC41cmVtO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRsZXR0ZXItc3BhY2luZzogMC4wMjVlbTtcbn1cblxuLmZpbHRlci1vcHRpb25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAwLjVyZW07XG59XG5cbi5maWx0ZXItb3B0aW9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogMC41cmVtIDAuNzVyZW07XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXRnLXJhZGl1cyk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCB2YXIoLS10Zy10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4uZmlsdGVyLW9wdGlvbjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4uZmlsdGVyLW9wdGlvbi5pcy1zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi5maWx0ZXItY2hlY2tib3gge1xuXHRtYXJnaW4tcmlnaHQ6IDAuNzVyZW07XG59XG5cbi8qIEZpbHRlciBzcGVjaWZpYyBzdHlsZXMgKi9cbi5maWx0ZXItc2VsZWN0IHtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWZvcm0tZmllbGQpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXRnLXJhZGl1cyk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtc2l6ZTogMC44NzVyZW07XG5cdHRyYW5zaXRpb246IGFsbCB2YXIoLS10Zy10cmFuc2l0aW9uLWZhc3QpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5maWx0ZXItc2VsZWN0OmhvdmVyIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4uZmlsdGVyLXNlbGVjdDpmb2N1cyB7XG5cdG91dGxpbmU6IG5vbmU7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi5maWx0ZXItdGFncy1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGdhcDogMC41cmVtO1xuXHRwYWRkaW5nOiAwLjVyZW0gMDtcbn1cblxuLmZpbHRlci10YWcge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAwLjVyZW07XG5cdHBhZGRpbmc6IDAuMzc1cmVtIDAuNzVyZW07XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS10Zy1yYWRpdXMtZnVsbCk7XG5cdGZvbnQtc2l6ZTogMC44NzVyZW07XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIHZhcigtLXRnLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5maWx0ZXItdGFnOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi5maWx0ZXItdGFnLmlzLXNlbGVjdGVkIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4uZmlsdGVyLWRhdGUtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAwLjc1cmVtO1xufVxuXG4uZmlsdGVyLWRhdGUtZmllbGQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDAuNXJlbTtcbn1cblxuLmZpbHRlci1kYXRlLWZpZWxkIHNwYW4ge1xuXHRtaW4td2lkdGg6IDUwcHg7XG5cdGZvbnQtc2l6ZTogMC44NzVyZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLmZpbHRlci1kYXRlLWlucHV0IHtcblx0ZmxleDogMTtcblx0cGFkZGluZzogMC41cmVtIDAuNzVyZW07XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZm9ybS1maWVsZCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1zaXplOiAwLjg3NXJlbTtcblx0dHJhbnNpdGlvbjogYWxsIHZhcigtLXRnLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5maWx0ZXItZGF0ZS1pbnB1dDpob3ZlciB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLmZpbHRlci1kYXRlLWlucHV0OmZvY3VzIHtcblx0b3V0bGluZTogbm9uZTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4uZmlsdGVyLWFjdGlvbi1idXR0b25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiAwLjc1cmVtO1xuXHRtYXJnaW4tdG9wOiAxLjVyZW07XG5cdHBhZGRpbmctdG9wOiAxLjVyZW07XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5maWx0ZXItYWN0aW9uLWJ1dHRvbnMgYnV0dG9uIHtcblx0ZmxleDogMTtcbn1cblxuLnByaW9yaXR5LWNvbG9yLWRvdCB7XG5cdHdpZHRoOiAxMnB4O1xuXHRoZWlnaHQ6IDEycHg7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXRnLXJhZGl1cy1mdWxsKTtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi8qID09PT09PT09PT0gTG9hZGluZyBTdGF0ZXMgPT09PT09PT09PSAqL1xuLnRnLWZsdWVudC1sb2FkaW5nIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGhlaWdodDogMTAwJTtcblx0Z2FwOiAxcmVtO1xufVxuXG4udGctZmx1ZW50LXNwaW5uZXIge1xuXHR3aWR0aDogMzJweDtcblx0aGVpZ2h0OiAzMnB4O1xuXHRib3JkZXI6IDNweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci10b3AtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXRnLXJhZGl1cy1mdWxsKTtcblx0YW5pbWF0aW9uOiBzcGluIDFzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyBzcGluIHtcblx0dG8ge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG5cdH1cbn1cblxuLnRnLWZsdWVudC1sb2FkaW5nLXRleHQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC45cmVtO1xufVxuXG4vKiA9PT09PT09PT09IEVtcHR5IFN0YXRlcyA9PT09PT09PT09ICovXG4udGctZmx1ZW50LWVtcHR5LXN0YXRlIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGhlaWdodDogMTAwJTtcblx0cGFkZGluZzogMnJlbTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGctZmx1ZW50LWVtcHR5LWljb24ge1xuXHR3aWR0aDogNjRweDtcblx0aGVpZ2h0OiA2NHB4O1xuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG9wYWNpdHk6IDAuNTtcbn1cblxuLnRnLWZsdWVudC1lbXB0eS10aXRsZSB7XG5cdGZvbnQtc2l6ZTogMS4yNXJlbTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0bWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG4udGctZmx1ZW50LWVtcHR5LWRlc2NyaXB0aW9uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cdG1heC13aWR0aDogNDAwcHg7XG59XG5cbi50Zy1mbHVlbnQtZW1wdHktYWN0aW9uIHtcblx0cGFkZGluZzogMC43NXJlbSAxLjVyZW07XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzLW1kKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdGctdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnRnLWZsdWVudC1lbXB0eS1hY3Rpb246aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG5cdGJveC1zaGFkb3c6IHZhcigtLXRnLXNoYWRvdyk7XG59XG5cbi8qID09PT09PT09PT0gVG9vbHRpcHMgPT09PT09PT09PSAqL1xuLnRnLWZsdWVudC10b29sdGlwIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS10Zy1yYWRpdXMpO1xuXHRmb250LXNpemU6IDAuODc1cmVtO1xuXHRib3gtc2hhZG93OiB2YXIoLS10Zy1zaGFkb3ctbGcpO1xuXHR6LWluZGV4OiA5OTk5O1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0b3BhY2l0eTogMDtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7XG5cdHRyYW5zaXRpb246IGFsbCB2YXIoLS10Zy10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4udGctZmx1ZW50LXRvb2x0aXAuaXMtdmlzaWJsZSB7XG5cdG9wYWNpdHk6IDE7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuLyogPT09PT09PT09PSBDYXJkcyA9PT09PT09PT09ICovXG4udGctZmx1ZW50LWNhcmQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXRnLXJhZGl1cy1sZyk7XG5cdHBhZGRpbmc6IDEuMjVyZW07XG5cdG1hcmdpbi1ib3R0b206IDFyZW07XG5cdHRyYW5zaXRpb246IGFsbCB2YXIoLS10Zy10cmFuc2l0aW9uLWJhc2UpO1xufVxuXG4udGctZmx1ZW50LWNhcmQ6aG92ZXIge1xuXHRib3gtc2hhZG93OiB2YXIoLS10Zy1zaGFkb3ctbWQpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi50Zy1mbHVlbnQtY2FyZC1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdG1hcmdpbi1ib3R0b206IDFyZW07XG5cdHBhZGRpbmctYm90dG9tOiAwLjc1cmVtO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4udGctZmx1ZW50LWNhcmQtdGl0bGUge1xuXHRmb250LXNpemU6IDFyZW07XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50Zy1mbHVlbnQtY2FyZC1hY3Rpb25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiAwLjVyZW07XG59XG5cbi50Zy1mbHVlbnQtY2FyZC1hY3Rpb24ge1xuXHR3aWR0aDogMjhweDtcblx0aGVpZ2h0OiAyOHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdGctdHJhbnNpdGlvbi1mYXN0KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGctZmx1ZW50LWNhcmQtYWN0aW9uOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi8qID09PT09PT09PT0gQnV0dG9ucyA9PT09PT09PT09ICovXG4udGctZmx1ZW50LWJ1dHRvbiB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Z2FwOiAwLjVyZW07XG5cdHBhZGRpbmc6IDAuNjI1cmVtIDEuMjVyZW07XG5cdGZvbnQtc2l6ZTogMC44NzVyZW07XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXRnLXJhZGl1cy1tZCk7XG5cdGJvcmRlcjogbm9uZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdGctdHJhbnNpdGlvbi1mYXN0KTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udGctZmx1ZW50LWJ1dHRvbjo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDUwJTtcblx0bGVmdDogNTAlO1xuXHR3aWR0aDogMDtcblx0aGVpZ2h0OiAwO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS10Zy1yYWRpdXMtZnVsbCk7XG5cdGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cdHRyYW5zaXRpb246XG5cdFx0d2lkdGggdmFyKC0tdGctdHJhbnNpdGlvbi1zbG93KSxcblx0XHRoZWlnaHQgdmFyKC0tdGctdHJhbnNpdGlvbi1zbG93KTtcbn1cblxuLnRnLWZsdWVudC1idXR0b246YWN0aXZlOjpiZWZvcmUge1xuXHR3aWR0aDogMzAwcHg7XG5cdGhlaWdodDogMzAwcHg7XG59XG5cbi50Zy1mbHVlbnQtYnV0dG9uLXByaW1hcnkge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4udGctZmx1ZW50LWJ1dHRvbi1wcmltYXJ5OmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuXHRib3gtc2hhZG93OiB2YXIoLS10Zy1zaGFkb3cpO1xufVxuXG4udGctZmx1ZW50LWJ1dHRvbi1zZWNvbmRhcnkge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLnRnLWZsdWVudC1idXR0b24tc2Vjb25kYXJ5OmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLnRnLWZsdWVudC1idXR0b24tZ2hvc3Qge1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRnLWZsdWVudC1idXR0b24tZ2hvc3Q6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnRnLWZsdWVudC1idXR0b24tZGFuZ2VyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGNvbG9yOiB3aGl0ZTtcbn1cblxuLnRnLWZsdWVudC1idXR0b24tZGFuZ2VyOmhvdmVyIHtcblx0YmFja2dyb3VuZDogI2RjMjYyNjtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuXHRib3gtc2hhZG93OiB2YXIoLS10Zy1zaGFkb3cpO1xufVxuXG4vKiA9PT09PT09PT09IEFuaW1hdGlvbnMgPT09PT09PT09PSAqL1xuQGtleWZyYW1lcyBmYWRlSW4ge1xuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpO1xuXHR9XG5cdHRvIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW4ge1xuXHRmcm9tIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG5cdH1cblx0dG8ge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlVXAge1xuXHRmcm9tIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG5cdH1cblx0dG8ge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIHB1bHNlIHtcblx0MCUsXG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblx0NTAlIHtcblx0XHRvcGFjaXR5OiAwLjU7XG5cdH1cbn1cblxuLyogPT09PT09PT09PSBSZXNwb25zaXZlIERlc2lnbiA9PT09PT09PT09ICovXG5AbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG5cdC50YXNrLWxpc3QtY29udGFpbmVyLFxuXHQudGFzay10cmVlLWNvbnRhaW5lciB7XG5cdFx0cGFkZGluZzogMXJlbTtcblx0fVxuXG5cdC50Zy1mbHVlbnQtZmlsdGVyLXBhbmVsIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRyaWdodDogLTEwMCU7XG5cdH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG5cdC50Zy10YXNrLWxpc3QtaXRlbSB7XG5cdFx0cGFkZGluZzogMC43NXJlbSAxcmVtO1xuXHR9XG5cblx0LnRhc2stdHJlZS1wcm9qZWN0LWhlYWRlciB7XG5cdFx0cGFkZGluZzogMC43NXJlbSAxcmVtO1xuXHR9XG5cblx0LnRnLWZsdWVudC1jYXJkIHtcblx0XHRwYWRkaW5nOiAxcmVtO1xuXHR9XG59XG5cbi8qID09PT09PT09PT0gRGFyayBNb2RlIEFkanVzdG1lbnRzID09PT09PT09PT0gKi9cbi50aGVtZS1kYXJrIHtcblx0LS10Zy1zaGFkb3ctc206IDAgMXB4IDJweCAwIHJnYigwIDAgMCAvIDAuMyk7XG5cdC0tdGctc2hhZG93OiAwIDFweCAzcHggMCByZ2IoMCAwIDAgLyAwLjQpLCAwIDFweCAycHggLTFweCByZ2IoMCAwIDAgLyAwLjMpO1xuXHQtLXRnLXNoYWRvdy1tZDpcblx0XHQwIDRweCA2cHggLTFweCByZ2IoMCAwIDAgLyAwLjQpLCAwIDJweCA0cHggLTJweCByZ2IoMCAwIDAgLyAwLjMpO1xuXHQtLXRnLXNoYWRvdy1sZzpcblx0XHQwIDEwcHggMTVweCAtM3B4IHJnYigwIDAgMCAvIDAuNCksIDAgNHB4IDZweCAtNHB4IHJnYigwIDAgMCAvIDAuMyk7XG5cdC0tdGctc2hhZG93LXhsOlxuXHRcdDAgMjBweCAyNXB4IC01cHggcmdiKDAgMCAwIC8gMC40KSwgMCA4cHggMTBweCAtNnB4IHJnYigwIDAgMCAvIDAuMyk7XG59XG5cbi50aGVtZS1kYXJrIC50Zy1mbHVlbnQtY2FyZDpob3Zlcixcbi50aGVtZS1kYXJrIC50Zy10YXNrLWxpc3QtaXRlbTpob3Zlcixcbi50aGVtZS1kYXJrIC50YXNrLXRyZWUtcHJvamVjdDpob3ZlciB7XG5cdGJveC1zaGFkb3c6XG5cdFx0MCAwIDAgMXB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCksXG5cdFx0dmFyKC0tdGctc2hhZG93LW1kKTtcbn1cblxuLyogPT09PT09PT09PSBQcm9ncmVzcyBCYXJzID09PT09PT09PT0gKi9cbi50Zy1mbHVlbnQtcHJvZ3Jlc3Mge1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiA2cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzLWZ1bGwpO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRtYXJnaW46IDAuNXJlbSAwO1xufVxuXG4udGctZmx1ZW50LXByb2dyZXNzLWJhciB7XG5cdGhlaWdodDogMTAwJTtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzLWZ1bGwpO1xuXHR0cmFuc2l0aW9uOiB3aWR0aCB2YXIoLS10Zy10cmFuc2l0aW9uLXNsb3cpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi50Zy1mbHVlbnQtcHJvZ3Jlc3MtYmFyOjphZnRlciB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDtcblx0Ym90dG9tOiAwO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG5cdFx0OTBkZWcsXG5cdFx0dHJhbnNwYXJlbnQsXG5cdFx0cmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpLFxuXHRcdHRyYW5zcGFyZW50XG5cdCk7XG5cdGFuaW1hdGlvbjogc2hpbW1lciAycyBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyBzaGltbWVyIHtcblx0MCUge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG5cdH1cblx0MTAwJSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuXHR9XG59XG5cbi8qID09PT09PT09PT0gVGFncyA9PT09PT09PT09ICovXG4udGctZmx1ZW50LXRhZyB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiAwLjI1cmVtIDAuNjI1cmVtO1xuXHRmb250LXNpemU6IDAuNzVyZW07XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXRnLXJhZGl1cy1mdWxsKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdG1hcmdpbi1yaWdodDogMC4yNXJlbTtcblx0dHJhbnNpdGlvbjogYWxsIHZhcigtLXRnLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi50Zy1mbHVlbnQtdGFnOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLnRnLWZsdWVudC10YWctcHJpbWFyeSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLnRnLWZsdWVudC10YWctc3VjY2VzcyB7XG5cdGJhY2tncm91bmQ6ICMxMGI5ODE7XG5cdGNvbG9yOiB3aGl0ZTtcblx0Ym9yZGVyLWNvbG9yOiAjMTBiOTgxO1xufVxuXG4udGctZmx1ZW50LXRhZy13YXJuaW5nIHtcblx0YmFja2dyb3VuZDogI2Y1OWUwYjtcblx0Y29sb3I6IHdoaXRlO1xuXHRib3JkZXItY29sb3I6ICNmNTllMGI7XG59XG5cbi50Zy1mbHVlbnQtdGFnLWRhbmdlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRjb2xvcjogd2hpdGU7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi53b3Jrc3BhY2UtbmFtZS13aXRoLWljb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xufVxuIiwgIi8qIFRhc2sgR2VuaXVzIFYyIENvbnRlbnQgSGVhZGVyIFN0eWxlcyAqL1xuXG4vKiA9PT0gQ29udGVudCBXcmFwcGVyID09PSAqL1xuLnRnLWZsdWVudC1jb250ZW50LXdyYXBwZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qID09PSBDb250ZW50IEhlYWRlciA9PT0gKi9cbi5mbHVlbnQtY29udGVudC1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdHBhZGRpbmc6IDEycHggMjBweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0bWluLWhlaWdodDogNTZweDtcblx0Z2FwOiAxNnB4O1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLmZsdWVudC1jb250ZW50LWhlYWRlciAuaGVhZGVyLWxlZnQtc2VjdGlvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMTJweDtcblx0bWluLXdpZHRoOiAyMDBweDtcbn1cblxuLmZsdWVudC1jb250ZW50LWhlYWRlciAuY29udGVudC10aXRsZSB7XG5cdGZvbnQtc2l6ZTogMS4yNXJlbTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmZsdWVudC1jb250ZW50LWhlYWRlciAudGFzay1jb3VudCB7XG5cdGZvbnQtc2l6ZTogMC44NzVyZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0cGFkZGluZzogMnB4IDhweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5mbHVlbnQtY29udGVudC1oZWFkZXIgLmhlYWRlci1jZW50ZXItc2VjdGlvbiB7XG5cdGZsZXg6IDE7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRtYXgtd2lkdGg6IDUwMHB4O1xuXHRtYXJnaW46IDAgYXV0bztcbn1cblxuLmZsdWVudC1jb250ZW50LWhlYWRlciAuY29udGVudC1maWx0ZXIge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLmZsdWVudC1jb250ZW50LWhlYWRlciAuZmlsdGVyLWlucHV0IHtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktYWx0KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdGZvbnQtc2l6ZTogMC44NzVyZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi5mbHVlbnQtY29udGVudC1oZWFkZXIgLmZpbHRlci1pbnB1dDo6cGxhY2Vob2xkZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5mbHVlbnQtY29udGVudC1oZWFkZXIgLmZpbHRlci1pbnB1dDpmb2N1cyB7XG5cdG91dGxpbmU6IG5vbmU7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMik7XG59XG5cbi5mbHVlbnQtY29udGVudC1oZWFkZXIgLmhlYWRlci1yaWdodC1zZWN0aW9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7XG59XG5cbi5mbHVlbnQtY29udGVudC1oZWFkZXIgLnZpZXctdG9nZ2xlLWJ0bixcbi5mbHVlbnQtY29udGVudC1oZWFkZXIgLnNvcnQtYnV0dG9uLFxuLmZsdWVudC1jb250ZW50LWhlYWRlciAuZmlsdGVyLWJ1dHRvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogMzJweDtcblx0aGVpZ2h0OiAzMnB4O1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLmZsdWVudC1jb250ZW50LWhlYWRlciAudmlldy10b2dnbGUtYnRuOmhvdmVyLFxuLmZsdWVudC1jb250ZW50LWhlYWRlciAuc29ydC1idXR0b246aG92ZXIsXG4uZmx1ZW50LWNvbnRlbnQtaGVhZGVyIC5maWx0ZXItYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5mbHVlbnQtY29udGVudC1oZWFkZXIgLnZpZXctdG9nZ2xlLWJ0bjphY3RpdmUsXG4uZmx1ZW50LWNvbnRlbnQtaGVhZGVyIC5zb3J0LWJ1dHRvbjphY3RpdmUsXG4uZmx1ZW50LWNvbnRlbnQtaGVhZGVyIC5maWx0ZXItYnV0dG9uOmFjdGl2ZSB7XG5cdHRyYW5zZm9ybTogc2NhbGUoMC45NSk7XG59XG5cbi5mbHVlbnQtY29udGVudC1oZWFkZXIgLnZpZXctdG9nZ2xlLWJ0biBzdmcsXG4uZmx1ZW50LWNvbnRlbnQtaGVhZGVyIC5zb3J0LWJ1dHRvbiBzdmcsXG4uZmx1ZW50LWNvbnRlbnQtaGVhZGVyIC5maWx0ZXItYnV0dG9uIHN2ZyB7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG59XG5cbi8qID09PSBDb250ZW50IEFyZWEgKHdpdGggaGVhZGVyKSA9PT0gKi9cbi50Zy1mbHVlbnQtY29udGVudCB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG59XG5cbi8qID09PSBSZXNwb25zaXZlIGFkanVzdG1lbnRzID09PSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC5mbHVlbnQtY29udGVudC1oZWFkZXIge1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRwYWRkaW5nOiA4cHggMTJweDtcblx0fVxuXG5cdC5mbHVlbnQtY29udGVudC1oZWFkZXIgLmhlYWRlci1sZWZ0LXNlY3Rpb24ge1xuXHRcdG1pbi13aWR0aDogYXV0bztcblx0fVxuXG5cdC5mbHVlbnQtY29udGVudC1oZWFkZXIgLmhlYWRlci1jZW50ZXItc2VjdGlvbiB7XG5cdFx0b3JkZXI6IDM7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWF4LXdpZHRoOiBub25lO1xuXHRcdG1hcmdpbi10b3A6IDhweDtcblx0fVxuXG5cdC5mbHVlbnQtY29udGVudC1oZWFkZXIgLmNvbnRlbnQtdGl0bGUge1xuXHRcdGZvbnQtc2l6ZTogMS4xcmVtO1xuXHR9XG59XG4iLCAiLyogUHJvamVjdCBQb3BvdmVyIFN0eWxlcyAqL1xuLmZsdWVudC1wcm9qZWN0LXBvcG92ZXItY29udGFpbmVyIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR6LWluZGV4OiAxMDAwO1xufVxuXG4uZmx1ZW50LXByb2plY3QtcG9wb3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHRib3gtc2hhZG93OiAwIDRweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG5cdG1pbi13aWR0aDogMzIwcHg7XG5cdG1heC13aWR0aDogNDAwcHg7XG5cdGFuaW1hdGlvbjogcG9wb3Zlci1mYWRlLWluIDAuMnMgZWFzZS1vdXQ7XG59XG5cbkBrZXlmcmFtZXMgcG9wb3Zlci1mYWRlLWluIHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7XG5cdH1cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHR9XG59XG5cbi5mbHVlbnQtcG9wb3Zlci1hcnJvdyxcbi5mbHVlbnQtcG9wb3Zlci1hcnJvdzo6YmVmb3JlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR3aWR0aDogMTBweDtcblx0aGVpZ2h0OiAxMHB4O1xuXHRiYWNrZ3JvdW5kOiBpbmhlcml0O1xufVxuXG4uZmx1ZW50LXBvcG92ZXItYXJyb3cge1xuXHR2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5mbHVlbnQtcG9wb3Zlci1hcnJvdzo6YmVmb3JlIHtcblx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0Y29udGVudDogXCJcIjtcblx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi8qIEFycm93IHBvc2l0aW9uaW5nIGZvciBkaWZmZXJlbnQgcGxhY2VtZW50cyAqL1xuLmZsdWVudC1wcm9qZWN0LXBvcG92ZXJbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cInRvcFwiXSAuZmx1ZW50LXBvcG92ZXItYXJyb3cge1xuXHRib3R0b206IC01cHg7XG59XG5cbi5mbHVlbnQtcHJvamVjdC1wb3BvdmVyW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJ0b3BcIl1cblx0LmZsdWVudC1wb3BvdmVyLWFycm93OjpiZWZvcmUge1xuXHRib3JkZXItdG9wOiBub25lO1xuXHRib3JkZXItbGVmdDogbm9uZTtcbn1cblxuLmZsdWVudC1wcm9qZWN0LXBvcG92ZXJbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cImJvdHRvbVwiXSAuZmx1ZW50LXBvcG92ZXItYXJyb3cge1xuXHR0b3A6IC01cHg7XG59XG5cbi5mbHVlbnQtcHJvamVjdC1wb3BvdmVyW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJib3R0b21cIl1cblx0LmZsdWVudC1wb3BvdmVyLWFycm93OjpiZWZvcmUge1xuXHRib3JkZXItcmlnaHQ6IG5vbmU7XG5cdGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5mbHVlbnQtcHJvamVjdC1wb3BvdmVyW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJsZWZ0XCJdIC5mbHVlbnQtcG9wb3Zlci1hcnJvdyB7XG5cdHJpZ2h0OiAtNXB4O1xufVxuXG4uZmx1ZW50LXByb2plY3QtcG9wb3ZlcltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwibGVmdFwiXVxuXHQuZmx1ZW50LXBvcG92ZXItYXJyb3c6OmJlZm9yZSB7XG5cdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdGJvcmRlci1sZWZ0OiBub25lO1xufVxuXG4uZmx1ZW50LXByb2plY3QtcG9wb3ZlcltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwicmlnaHRcIl0gLmZsdWVudC1wb3BvdmVyLWFycm93IHtcblx0bGVmdDogLTVweDtcbn1cblxuLmZsdWVudC1wcm9qZWN0LXBvcG92ZXJbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cInJpZ2h0XCJdXG5cdC5mbHVlbnQtcG9wb3Zlci1hcnJvdzo6YmVmb3JlIHtcblx0Ym9yZGVyLXRvcDogbm9uZTtcblx0Ym9yZGVyLXJpZ2h0OiBub25lO1xufVxuXG4uZmx1ZW50LXBvcG92ZXItY29udGVudCB7XG5cdHBhZGRpbmc6IDE2cHg7XG59XG5cbi5mbHVlbnQtcG9wb3Zlci1oZWFkZXIge1xuXHRtYXJnaW4tYm90dG9tOiAxNnB4O1xuXHRwYWRkaW5nLWJvdHRvbTogMTJweDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLmZsdWVudC1wb3BvdmVyLWhlYWRlciBoMyB7XG5cdG1hcmdpbjogMDtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uZmx1ZW50LXBvcG92ZXItc2VjdGlvbiB7XG5cdG1hcmdpbi1ib3R0b206IDE2cHg7XG59XG5cbi5mbHVlbnQtcG9wb3Zlci1zZWN0aW9uIGxhYmVsIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG1hcmdpbi1ib3R0b206IDhweDtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGxldHRlci1zcGFjaW5nOiAwLjVweDtcbn1cblxuLmZsdWVudC1wb3BvdmVyLWlucHV0IHtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IDhweCAxMnB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycztcbn1cblxuLmZsdWVudC1wb3BvdmVyLWlucHV0OmZvY3VzIHtcblx0b3V0bGluZTogbm9uZTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLmZsdWVudC1wb3BvdmVyLWlucHV0LmlzLWVycm9yIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0YW5pbWF0aW9uOiBzaGFrZSAwLjNzO1xufVxuXG5Aa2V5ZnJhbWVzIHNoYWtlIHtcblx0MCUsXG5cdDEwMCUge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblx0fVxuXHQyNSUge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNHB4KTtcblx0fVxuXHQ3NSUge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpO1xuXHR9XG59XG5cbi5mbHVlbnQtY29sb3ItZ3JpZCB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcik7XG5cdGdhcDogOHB4O1xufVxuXG4uZmx1ZW50LWNvbG9yLWJ1dHRvbiB7XG5cdHdpZHRoOiAzNnB4O1xuXHRoZWlnaHQ6IDM2cHg7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycztcblx0Ym9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmZsdWVudC1jb2xvci1idXR0b246aG92ZXIge1xuXHR0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG59XG5cbi5mbHVlbnQtY29sb3ItYnV0dG9uLmlzLXNlbGVjdGVkIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLmZsdWVudC1jb2xvci1idXR0b24uaXMtc2VsZWN0ZWQ6OmFmdGVyIHtcblx0Y29udGVudDogXCJcdTI3MTNcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDUwJTtcblx0bGVmdDogNTAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblx0Y29sb3I6IHdoaXRlO1xuXHRmb250LXNpemU6IDE2cHg7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHR0ZXh0LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbn1cblxuLmZsdWVudC1wb3BvdmVyLWFjdGlvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRnYXA6IDhweDtcblx0bWFyZ2luLXRvcDogMjBweDtcblx0cGFkZGluZy10b3A6IDE2cHg7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5mbHVlbnQtYnV0dG9uIHtcblx0cGFkZGluZzogNnB4IDE2cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzO1xuXHRib3JkZXI6IG5vbmU7XG5cdG91dGxpbmU6IG5vbmU7XG59XG5cbi5mbHVlbnQtYnV0dG9uLXByaW1hcnkge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4uZmx1ZW50LWJ1dHRvbi1wcmltYXJ5OmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLmZsdWVudC1idXR0b24tc2Vjb25kYXJ5IHtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uZmx1ZW50LWJ1dHRvbi1zZWNvbmRhcnk6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLyogTW9kYWwgU3R5bGVzIHVzaW5nIE9ic2lkaWFuIG5hdGl2ZSBNb2RhbCAqL1xuLmZsdWVudC1wcm9qZWN0LW1vZGFsIHtcblx0LyogTW9kYWwgd2lsbCB1c2UgT2JzaWRpYW4ncyBkZWZhdWx0IHN0eWxpbmcgKi9cbn1cblxuLmZsdWVudC1wcm9qZWN0LW1vZGFsIC5tb2RhbC1jb250ZW50IGgyIHtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0Zm9udC1zaXplOiAyMHB4O1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uZmx1ZW50LW1vZGFsLXNlY3Rpb24ge1xuXHRtYXJnaW4tYm90dG9tOiAyNHB4O1xufVxuXG4uZmx1ZW50LW1vZGFsLXNlY3Rpb24gbGFiZWwge1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLmZsdWVudC1tb2RhbC1pbnB1dCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiAxMHB4IDE0cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRmb250LXNpemU6IDE2cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzO1xufVxuXG4uZmx1ZW50LW1vZGFsLWlucHV0OmZvY3VzIHtcblx0b3V0bGluZTogbm9uZTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAzcHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLmZsdWVudC1tb2RhbC1pbnB1dC5pcy1lcnJvciB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGFuaW1hdGlvbjogc2hha2UgMC4zcztcbn1cblxuLmZsdWVudC1tb2RhbC1jb2xvci1ncmlkIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKTtcblx0Z2FwOiAxMnB4O1xufVxuXG4uZmx1ZW50LW1vZGFsLWNvbG9yLWJ1dHRvbiB7XG5cdHdpZHRoOiA0OHB4O1xuXHRoZWlnaHQ6IDQ4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycztcblx0Ym9yZGVyOiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmZsdWVudC1tb2RhbC1jb2xvci1idXR0b246aG92ZXIge1xuXHR0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG59XG5cbi5mbHVlbnQtbW9kYWwtY29sb3ItYnV0dG9uLmlzLXNlbGVjdGVkIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAzcHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLmZsdWVudC1tb2RhbC1jb2xvci1idXR0b24uaXMtc2VsZWN0ZWQ6OmFmdGVyIHtcblx0Y29udGVudDogXCJcdTI3MTNcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDUwJTtcblx0bGVmdDogNTAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblx0Y29sb3I6IHdoaXRlO1xuXHRmb250LXNpemU6IDIwcHg7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHR0ZXh0LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC40KTtcbn1cblxuLmZsdWVudC1tb2RhbC1wcmV2aWV3IHtcblx0cGFkZGluZzogMTJweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG59XG5cbi5mbHVlbnQtcHJvamVjdC1pdGVtLXByZXZpZXcge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDEycHg7XG5cdHBhZGRpbmc6IDhweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xufVxuXG4uZmx1ZW50LXByb2plY3QtaXRlbS1wcmV2aWV3IC5mbHVlbnQtcHJvamVjdC1jb2xvciB7XG5cdHdpZHRoOiA4cHg7XG5cdGhlaWdodDogMzJweDtcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLmZsdWVudC1wcm9qZWN0LWl0ZW0tcHJldmlldyAuZmx1ZW50LXByb2plY3QtbmFtZSB7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmZsdWVudC1tb2RhbC1mb290ZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRnYXA6IDEycHg7XG5cdHBhZGRpbmc6IDIwcHg7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5mbHVlbnQtbW9kYWwtZm9vdGVyIC5mbHVlbnQtYnV0dG9uIHtcblx0cGFkZGluZzogMTBweCAyNHB4O1xuXHRmb250LXNpemU6IDE1cHg7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiO0FBQ0EsQ0FBQztBQUNBLFdBQVM7QUFDVCxZ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 */
|