taskgenius_taskgenius-plugin/styles.css
Quorafind 1b9768f5af feat(onboarding): refactor onboarding flow with new placement configuration
- Add new PlacementStep for configuring Fluent layout placement
- Consolidate onboarding steps into unified step-based architecture
- Remove obsolete components (ConfigPreview, FluentPlacement, OnboardingComplete, UserLevelSelector)
- Enhance step navigation with improved back/skip logic
- Add internationalization support to changelog view
- Update changelog branding (icon, URL to taskgenius.md)
- Add experimental TaskViewV2 with enhanced Fluent interface
- Improve onboarding UI with better visual hierarchy and styling
- Update translations across en, zh-cn, zh-tw locales
2025-10-10 17:21:07 +08:00

17805 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);
}
.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+IGRpdjpmaXJzdC1vZi10eXBlIHtcblx0d2lkdGg6IDEwMCU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRnYXA6IDZweDtcbn1cblxuLyogSW5kZW50YXRpb24gZm9yIGhpZXJhcmNoeSAqL1xuLnRhc2staW5kZW50IHtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi50YXNrLWl0ZW0udHJlZS10YXNrLWl0ZW0gLnRhc2stZXhwYW5kLXRvZ2dsZSB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zaXplLTItMik7XG59XG5cbi50YXNrLWl0ZW0gLnRhc2stY2hlY2tib3gge1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc2l6ZS0yLTIpO1xufVxuXG4vKiBFeHBhbmQvY29sbGFwc2UgdG9nZ2xlICovXG4udGFzay1leHBhbmQtdG9nZ2xlIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcblx0ZmxleC1zaHJpbms6IDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnRhc2stZXhwYW5kLXRvZ2dsZTpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi8qIFRhc2sgY2hlY2tib3ggKi9cbi50YXNrLWl0ZW0udHJlZS10YXNrLWl0ZW0gLnRhc2stY2hlY2tib3gge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4udGFzay1pdGVtLnRyZWUtdGFzay1pdGVtIC50YXNrLWNoZWNrYm94OmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLnRhc2staXRlbS50cmVlLXRhc2staXRlbSAudGFzay1jaGVja2JveC5jaGVja2VkIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLyogVGFzayBjb250ZW50ICovXG4udGFzay1jb250ZW50IHtcblx0ZmxleC1ncm93OiAxO1xuXHRsaW5lLWhlaWdodDogMS40O1xufVxuXG4udHJlZS10YXNrLWl0ZW0uY29tcGxldGVkIC50YXNrLWNvbnRlbnQge1xuXHR0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4vKiBEeW5hbWljIGNvbnRlbnQtbWV0YWRhdGEgY29udGFpbmVyIGZvciB0cmVlIHZpZXcgKi9cbi50cmVlLXRhc2staXRlbSAudGFzay1jb250ZW50LW1ldGFkYXRhLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4vKiBTaW5nbGUgbGluZSBjb250ZW50IGxheW91dCAtIGhvcml6b250YWwgKi9cbi50cmVlLXRhc2staXRlbSAudGFzay1jb250ZW50LW1ldGFkYXRhLWNvbnRhaW5lci5zaW5nbGUtbGluZS1jb250ZW50IHtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnRyZWUtdGFzay1pdGVtIC50YXNrLWNvbnRlbnQtbWV0YWRhdGEtY29udGFpbmVyLnNpbmdsZS1saW5lLWNvbnRlbnQgLnRhc2staXRlbS1jb250ZW50IHtcblx0ZmxleDogMTtcblx0bWluLXdpZHRoOiAwOyAvKiBBbGxvdyBjb250ZW50IHRvIHNocmluayAqL1xufVxuXG4udHJlZS10YXNrLWl0ZW0gLnRhc2stY29udGVudC1tZXRhZGF0YS1jb250YWluZXIuc2luZ2xlLWxpbmUtY29udGVudCAudGFzay1tZXRhZGF0YSB7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRtYXJnaW4tdG9wOiAwO1xufVxuXG4vKiBNdWx0aS1saW5lIGNvbnRlbnQgbGF5b3V0IC0gdmVydGljYWwgKi9cbi50cmVlLXRhc2staXRlbSAudGFzay1jb250ZW50LW1ldGFkYXRhLWNvbnRhaW5lci5tdWx0aS1saW5lLWNvbnRlbnQge1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLnRyZWUtdGFzay1pdGVtIC50YXNrLWNvbnRlbnQtbWV0YWRhdGEtY29udGFpbmVyLm11bHRpLWxpbmUtY29udGVudCAudGFzay1pdGVtLWNvbnRlbnQge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLnRyZWUtdGFzay1pdGVtIC50YXNrLWNvbnRlbnQtbWV0YWRhdGEtY29udGFpbmVyLm11bHRpLWxpbmUtY29udGVudCAudGFzay1tZXRhZGF0YSB7XG5cdG1hcmdpbi10b3A6IDRweDtcbn1cblxuLyogVGFzayBtZXRhZGF0YSAqL1xuLnRhc2stbWV0YWRhdGEge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IDhweDtcblx0bWFyZ2luLXRvcDogNHB4O1xuXHRmb250LXNpemU6IDAuODVlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGFzay1tZXRhZGF0YTplbXB0eSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi50YXNrLWR1ZS1kYXRlLm92ZXJkdWUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4udGFzay1pdGVtLnRyZWUtdGFzay1pdGVtIC50YXNrLXByb2plY3Qge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBhZGRpbmc6IDFweCA2cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLnRhc2stcHJpb3JpdHkucHJpb3JpdHktMyB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLnRhc2stcHJpb3JpdHkucHJpb3JpdHktMiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LXdhcm5pbmcpO1xufVxuXG4udGFzay1wcmlvcml0eS5wcmlvcml0eS0xIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLyogTmV3IGZpZWxkIHN0eWxlcyBmb3IgdHJlZSB2aWV3ICovXG4udHJlZS10YXNrLWl0ZW0gLnRhc2stb25jb21wbGV0aW9uIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDJweCA2cHg7XG5cdG1hcmdpbi1sZWZ0OiA0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50cmVlLXRhc2staXRlbSAudGFzay1vbmNvbXBsZXRpb246aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udHJlZS10YXNrLWl0ZW0gLnRhc2stZGVwZW5kc29uIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDJweCA2cHg7XG5cdG1hcmdpbi1sZWZ0OiA0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRyZWUtdGFzay1pdGVtIC50YXNrLWRlcGVuZHNvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3ItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi50cmVlLXRhc2staXRlbSAudGFzay1pZCB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiAycHggNnB4O1xuXHRtYXJnaW4tbGVmdDogNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjY2VudCk7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRyZWUtdGFzay1pdGVtIC50YXNrLWlkOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQtaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQtaG92ZXIpO1xufVxuXG4vKiBDaGlsZHJlbiBjb250YWluZXIgKi9cbi50YXNrLWNoaWxkcmVuLWNvbnRhaW5lciB7XG5cdC8qIG1hcmdpbi1sZWZ0OiAyMHB4OyAqL1xuXHRtYXJnaW4tdG9wOiA0cHg7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4vKiBWaWV3IHRvZ2dsZSBidXR0b24gKi9cbi52aWV3LXRvZ2dsZS1idG4ge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogMjRweDtcblx0aGVpZ2h0OiAyNHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLnZpZXctdG9nZ2xlLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFzay1jaGlsZHJlbi1jb250YWluZXI6ZW1wdHkge1xuXHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4iLCAiLnRhc2stc2lkZWJhci5jb2xsYXBzZWQge1xuXHR3aWR0aDogNDhweDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnBhbmVsLXRvZ2dsZS1idG4ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdG9wYWNpdHk6IDAuNjtcblxuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcbn1cblxuLnBhbmVsLXRvZ2dsZS1idG46aG92ZXIge1xuXHRvcGFjaXR5OiAxO1xufVxuXG4udGFzay1zaWRlYmFyLmNvbGxhcHNlZCAuc2lkZWJhci1uYXYge1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vKiBTaWRlYmFyIE5hdmlnYXRpb24gKi9cbi5zaWRlYmFyLW5hdiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdHBhZGRpbmc6IDIwcHggMCAxMHB4IDA7XG5cdGdhcDogNXB4O1xufVxuXG4uc2lkZWJhci1uYXYtc3BhY2VyIHtcblx0aGVpZ2h0OiAxcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0bWFyZ2luOiA4cHggMTVweDtcblx0b3BhY2l0eTogMC43O1xuXHRtYXJnaW4tdG9wOiBhdXRvO1xufVxuXG4uc2lkZWJhci1uYXYtaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDhweCAxNXB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0bWFyZ2luOiAwIDVweDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG59XG5cbi5zaWRlYmFyLW5hdi1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUpO1xufVxuXG4uc2lkZWJhci1uYXYtaXRlbS5pcy1hY3RpdmUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHQtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXI6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdC0taWNvbi1jb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ubmF2LWl0ZW0taWNvbiB7XG5cdC0taWNvbi1zaXplOiB2YXIoLS1zaXplLTQtNCk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLm5hdi1pdGVtLWxhYmVsIHtcblx0ZmxleDogMTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4ubmF2LWl0ZW0tbGFiZWwuaGlkZGVuIHtcblx0b3BhY2l0eTogMDtcblx0d2lkdGg6IDA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdG1hcmdpbjogMDtcbn1cblxuLnRhc2stc2lkZWJhci5jb2xsYXBzZWQgLnNpZGViYXItbmF2LWl0ZW0ge1xuXHRwYWRkaW5nOiA4cHggMTBweDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtOSk7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXG5cdHRyYW5zaXRpb246IHdpZHRoIDAuM3MgZWFzZS1pbi1vdXQsIGZsZXgtc2hyaW5rIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG5cbi50YXNrLXNpZGViYXIuY29sbGFwc2VkIC5uYXYtaXRlbS1pY29uIHtcblx0bWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4vKiBDb250ZW50IFN0eWxlcyAqL1xuLnRhc2stY29udGVudCB7XG5cdGZsZXg6IDE7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdG1pbi13aWR0aDogMDtcblx0dHJhbnNpdGlvbjogbWFyZ2luIDAuM3MgZWFzZTtcbn1cblxuLnRhc2stc2lkZWJhci5jb2xsYXBzZWQgLnRhc2stY29udGVudCB7XG5cdG1hcmdpbi1sZWZ0OiAtMjAwcHg7XG5cblx0dHJhbnNpdGlvbjogbWFyZ2luIDAuM3MgZWFzZTtcbn1cblxuLyogUHJvamVjdCBUcmVlICovXG4udGFzay1nZW5pdXMtdmlldyAucHJvamVjdC10cmVlIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpIDA7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1yb290IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDZweCA4cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0bWFyZ2luOiAwIDVweDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS5zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS1pY29uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiAyMHB4O1xuXHRoZWlnaHQ6IDIwcHg7XG5cdG1hcmdpbi1yaWdodDogOHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0tbmFtZSB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLWNvdW50IHtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tbGVmdDogNXB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0cGFkZGluZzogMXB4IDZweDtcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS10b2dnbGUsXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLWluZGVudCB7XG5cdHdpZHRoOiAyMHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0bWFyZ2luLXJpZ2h0OiA1cHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0tdG9nZ2xlIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKiBDb250ZW50IEhlYWRlciAqL1xuLmNvbnRlbnQtaGVhZGVyIHtcblx0cGFkZGluZzogMTVweDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi50YXNrLWNvdW50IHtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbi5mb2N1cy1maWx0ZXIge1xuXHRtYXJnaW4tbGVmdDogMTBweDtcbn1cblxuLyogVGFza1ZpZXcgLSBPbW5pRm9jdXMgU3R5bGUgKi9cblxuLndvcmtzcGFjZS1sZWFmLWNvbnRlbnQgLnRhc2stZ2VuaXVzLXZpZXcge1xuXHRwYWRkaW5nOiAwO1xufVxuXG4uYmFzZXMtdmlldyAudGFzay1nZW5pdXMtdmlldyB7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuLyogTWFpbiBjb250YWluZXIgbGF5b3V0ICovXG4udGFzay1nZW5pdXMtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0aGVpZ2h0OiAxMDAlO1xuXHR3aWR0aDogMTAwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIExlZnQgc2lkZWJhciAqL1xuLnRhc2stc2lkZWJhciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXG5cdHdpZHRoOiAyNDBweDtcblx0dHJhbnNpdGlvbjogd2lkdGggMC4zcyBlYXNlLWluLW91dDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKiBNYWluIGNvbnRlbnQgYXJlYSAqL1xuLnRhc2stY29udGVudCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGZsZXg6IDE7XG5cdG1pbi13aWR0aDogMzAwcHg7XG5cdGhlaWdodDogMTAwJTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogTmF2aWdhdGlvbiBzaWRlYmFyICovXG4udGFzay1zaWRlYmFyIC5zaWRlYmFyLW5hdiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdHBhZGRpbmc6IDhweCAwO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbi8qIFByb2plY3QgdHJlZSAqL1xuLnByb2plY3QtdHJlZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdHBhZGRpbmc6IDhweCAwO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4udHJlZS1yb290IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDRweCAxMnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0bWFyZ2luOiAycHggOHB4O1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLXRvZ2dsZSB7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRtYXJnaW4tcmlnaHQ6IDRweDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS1pbmRlbnQge1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRtYXJnaW4tcmlnaHQ6IDRweDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS1pY29uIHtcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0tbmFtZSB7XG5cdGZsZXg6IDE7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLWNvdW50IHtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcblx0cGFkZGluZzogMnB4IDZweDtcblx0bWluLXdpZHRoOiAxNnB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0uZXhwYW5kZWQgPiAudHJlZS1pdGVtLWNoaWxkcmVuIHtcblx0ZGlzcGxheTogZmxleDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS1jaGlsZHJlbiB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG1hcmdpbi1sZWZ0OiAxNnB4O1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLyogQ29udGVudCBoZWFkZXIgKi9cbi50YXNrLWdlbml1cy12aWV3IC5jb250ZW50LWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDEwcHggMTZweDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0bWluLWhlaWdodDogNTBweDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLmNvbnRlbnQtdGl0bGUge1xuXHRmb250LXNpemU6IDEuMmVtO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRtYXJnaW4tcmlnaHQ6IDEycHg7XG5cdGZsZXg6IDE7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC50YXNrLWdlbml1cy12aWV3IC5jb250ZW50LXRpdGxlIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0LnRhc2stZ2VuaXVzLXZpZXcgLnRhc2stY291bnQge1xuXHRcdGZsZXg6IDE7XG5cdH1cblxuXHQudGFzay1nZW5pdXMtdmlldyAuZm9jdXMtZmlsdGVyIHtcblx0XHRmbGV4OiAxO1xuXHR9XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5jb250ZW50LWZpbHRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1hcmdpbi1yaWdodDogMTJweDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLmZpbHRlci1pbnB1dCB7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRwYWRkaW5nOiA0cHggOHB4O1xuXHR3aWR0aDogMjAwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5mb2N1cy1idXR0b24ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1ub3JtYWwpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0cGFkZGluZzogNHB4IDEwcHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLmZvY3VzLWJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWhvdmVyKTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLmZvY3VzLWJ1dHRvbi5mb2N1c2VkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLm1vZC1yb290IC50YXNrLWdlbml1cy1hY3Rpb24tYnRuIHtcblx0LS1pY29uLXNpemU6IDE2cHg7XG59XG5cbi5tb2QtbGVmdC1zcGxpdCAudGFzay1nZW5pdXMtYWN0aW9uLWJ0biB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tb2QtbGVmdC1zcGxpdFxuLndvcmtzcGFjZS10YWItaGVhZGVyLXN0YXR1cy1jb250YWluZXI6aGFzKC50YXNrLWdlbml1cy1hY3Rpb24tYnRuKSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tb2QtcmlnaHQtc3BsaXRcbi53b3Jrc3BhY2UtdGFiLWhlYWRlci1zdGF0dXMtY29udGFpbmVyOmhhcygudGFzay1nZW5pdXMtYWN0aW9uLWJ0bikge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudGFzay1lbXB0eS1zdGF0ZSxcbi50YXNrLWdlbml1cy1mbHVlbnQtdmlldyAudGFzay1lbXB0eS1zdGF0ZSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGZsZXg6IDE7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ubW9kLXJvb3QgLnRhc2stZ2VuaXVzLXRhYi1oZWFkZXIge1xuXHRjb250YWluZXItdHlwZTogaW5saW5lLXNpemUgIWltcG9ydGFudDtcbn1cblxuQGNvbnRhaW5lciAobWF4LXdpZHRoOiAxMjBweCkge1xuXHQubW9kLXJvb3QgLnRhc2stZ2VuaXVzLWFjdGlvbi1idG4ge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuLnRhc2stc2lkZWJhci5jb2xsYXBzZWQgLnNpZGViYXItbmF2IHtcblx0bWF4LXdpZHRoOiA0NXB4O1xufVxuXG4vKiBXb3JrZmxvdyBRdWljayBNb2RhbCBTdHlsZXMgKi9cbi5xdWljay13b3JrZmxvdy1tb2RhbCB7XG5cdG1heC13aWR0aDogNjAwcHg7XG5cdG1pbi1oZWlnaHQ6IDQwMHB4O1xufVxuXG4ud29ya2Zsb3ctdGVtcGxhdGUtc2VjdGlvbiB7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdHBhZGRpbmc6IDE1cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xufVxuXG4udGVtcGxhdGUtZGVzY3JpcHRpb24ge1xuXHRtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4udGVtcGxhdGUtZGVzYy10ZXh0IHtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbjogMDtcbn1cblxuLndvcmtmbG93LWZvcm0tc2VjdGlvbiB7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi53b3JrZmxvdy1zdGFnZXMtcHJldmlldyB7XG5cdG1hcmdpbi10b3A6IDE1cHg7XG59XG5cbi5zdGFnZXMtcHJldmlldy1saXN0IHtcblx0bWFyZ2luLXRvcDogMTBweDtcbn1cblxuLnN0YWdlLXByZXZpZXctaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0cGFkZGluZzogOHB4IDEycHg7XG5cdG1hcmdpbjogNHB4IDA7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5zdGFnZS1pbmZvIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7XG59XG5cbi5zdGFnZS1uYW1lIHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLnN0YWdlLXR5cGUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi5zdGFnZS1hY3Rpb25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiA0cHg7XG59XG5cbi5uby1zdGFnZXMtbWVzc2FnZSB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdHBhZGRpbmc6IDIwcHg7XG5cdGJvcmRlcjogMnB4IGRhc2hlZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0bWFyZ2luLXRvcDogMTBweDtcbn1cblxuLndvcmtmbG93LW1vZGFsLWJ1dHRvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRnYXA6IDEwcHg7XG5cdG1hcmdpbi10b3A6IDIwcHg7XG5cdHBhZGRpbmctdG9wOiAxNXB4O1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4vKiBXb3JrZmxvdyBQcm9ncmVzcyBJbmRpY2F0b3IgU3R5bGVzICovXG4ud29ya2Zsb3ctcHJvZ3Jlc3MtaW5kaWNhdG9yIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0cGFkZGluZzogMTVweDtcblx0bWFyZ2luOiAxMHB4IDA7XG59XG5cbi53b3JrZmxvdy1wcm9ncmVzcy1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbi53b3JrZmxvdy1uYW1lIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Zm9udC1zaXplOiAxLjFlbTtcbn1cblxuLndvcmtmbG93LXByb2dyZXNzLXRleHQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi53b3JrZmxvdy1wcm9ncmVzcy1iYXItY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAxMHB4O1xuXHRtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4ud29ya2Zsb3ctcHJvZ3Jlc3MtYmFyIHtcblx0ZmxleDogMTtcblx0aGVpZ2h0OiA4cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ud29ya2Zsb3ctcHJvZ3Jlc3MtZmlsbCB7XG5cdGhlaWdodDogMTAwJTtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0dHJhbnNpdGlvbjogd2lkdGggMC4zcyBlYXNlO1xufVxuXG4ud29ya2Zsb3ctcHJvZ3Jlc3MtcGVyY2VudGFnZSB7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdG1pbi13aWR0aDogMzVweDtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1saXN0IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiA4cHg7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdGdhcDogMTJweDtcblx0cGFkZGluZzogMTBweDtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLndvcmtmbG93LXN0YWdlLWl0ZW0uY29tcGxldGVkIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1zdWNjZXNzKTtcbn1cblxuLndvcmtmbG93LXN0YWdlLWl0ZW0uY3VycmVudCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWNjZW50KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLndvcmtmbG93LXN0YWdlLWl0ZW0ucGVuZGluZyB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdG9wYWNpdHk6IDAuNztcbn1cblxuLndvcmtmbG93LXN0YWdlLWljb24ge1xuXHR3aWR0aDogMjBweDtcblx0aGVpZ2h0OiAyMHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0bWFyZ2luLXRvcDogMnB4O1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtaWNvbi5jb21wbGV0ZWQtaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LXN1Y2Nlc3MpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtaWNvbi5jdXJyZW50LWljb24ge1xuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLndvcmtmbG93LXN0YWdlLWljb24ucGVuZGluZy1pY29uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtY29udGVudCB7XG5cdGZsZXg6IDE7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1uYW1lIHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0bWFyZ2luLWJvdHRvbTogMnB4O1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtdHlwZSB7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLndvcmtmbG93LXN0YWdlLW51bWJlciB7XG5cdHdpZHRoOiAyNHB4O1xuXHRoZWlnaHQ6IDI0cHg7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0bWFyZ2luLXRvcDogMnB4O1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtaXRlbS5jb21wbGV0ZWQgLndvcmtmbG93LXN0YWdlLW51bWJlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLXRleHQtc3VjY2Vzcyk7XG5cdGNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtaXRlbS5jdXJyZW50IC53b3JrZmxvdy1zdGFnZS1udW1iZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ud29ya2Zsb3ctc3Vic3RhZ2UtY29udGFpbmVyIHtcblx0bWFyZ2luLXRvcDogOHB4O1xuXHRwYWRkaW5nLWxlZnQ6IDE2cHg7XG5cdGJvcmRlci1sZWZ0OiAycHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4ud29ya2Zsb3ctc3Vic3RhZ2UtaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogOHB4O1xuXHRwYWRkaW5nOiA0cHggMDtcbn1cblxuLndvcmtmbG93LXN1YnN0YWdlLWljb24ge1xuXHR3aWR0aDogMTJweDtcblx0aGVpZ2h0OiAxMnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi53b3JrZmxvdy1zdWJzdGFnZS1uYW1lIHtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuIiwgIi8qIHRhc2stcHJvcGVydHkgVmlldyBTdHlsZXMgKi9cbi50YXNrLXByb3BlcnR5LWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGhlaWdodDogMTAwJTtcblx0d2lkdGg6IDEwMCU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi50YXNrLXByb3BlcnR5LWNvbnRlbnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udGFzay1wcm9wZXJ0eS1sZWZ0LWNvbHVtbiB7XG5cdHdpZHRoOiBtYXgoMTIwcHgsIDMwJSk7XG5cdG1pbi13aWR0aDogbWluKDEyMHB4LCAzMCUpO1xuXHRtYXgtd2lkdGg6IDMwMHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5pcy1waG9uZSAudGFzay1wcm9wZXJ0eS1sZWZ0LWNvbHVtbiB7XG5cdG1heC13aWR0aDogMTAwJTtcbn1cblxuLnRhc2stcHJvcGVydHktcmlnaHQtY29sdW1uIHtcblx0ZmxleDogMTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnRhc2stcHJvcGVydHktc2lkZWJhci1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtNCk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGhlaWdodDogdmFyKC0tc2l6ZS00LTEwKTtcbn1cblxuLnRhc2stcHJvcGVydHktc2lkZWJhci10aXRsZSB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLm11bHRpLXNlbGVjdC1tb2RlIC50YXNrLXByb3BlcnR5LW11bHRpLXNlbGVjdC1idG4ge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbn1cblxuLnRhc2stcHJvcGVydHktbXVsdGktc2VsZWN0LWJ0biB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4udGFzay1wcm9wZXJ0eS1tdWx0aS1zZWxlY3QtYnRuOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRhc2stcHJvcGVydHktc2lkZWJhci1saXN0IHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4udGFzay1wcm9wZXJ0eS1saXN0LWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiA0cHggMTJweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG59XG5cbi50YXNrLXByb3BlcnR5LWxpc3QtaXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4udGFzay1wcm9wZXJ0eS1saXN0LWl0ZW0uc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZSk7XG59XG5cbi50YXNrLXByb3BlcnR5LWljb24ge1xuXHRtYXJnaW4tcmlnaHQ6IDhweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4udGFzay1wcm9wZXJ0eS1uYW1lIHtcblx0ZmxleDogMTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi50YXNrLXByb3BlcnR5LWNvdW50IHtcblx0bWFyZ2luLWxlZnQ6IDhweDtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cdHBhZGRpbmc6IDFweCA2cHg7XG59XG5cbi50YXNrLXByb3BlcnR5LXRhc2staGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTQpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC0xMCk7XG59XG5cbi50YXNrLXByb3BlcnR5LXRhc2stdGl0bGUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LXNpemU6IDE2cHg7XG59XG5cbi50YXNrLXByb3BlcnR5LXRhc2stY291bnQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50YXNrLXByb3BlcnR5LXRhc2stbGlzdCB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi50YXNrLXByb3BlcnR5LWVtcHR5LXN0YXRlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGhlaWdodDogMTAwJTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdHBhZGRpbmc6IDE2cHg7XG59XG5cbi8qIHRhc2stcHJvcGVydHkgVmlldyAtIE1vYmlsZSAqL1xuLmlzLXBob25lIC50YXNrLXByb3BlcnR5LWxlZnQtY29sdW1uIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAwO1xuXHR0b3A6IDA7XG5cdGhlaWdodDogMTAwJTtcblx0ei1pbmRleDogMTA7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0d2lkdGg6IDEwMCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0O1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5pcy1waG9uZSAudGFzay1wcm9wZXJ0eS1sZWZ0LWNvbHVtbi5pcy12aXNpYmxlIHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG4uaXMtcGhvbmUgLnRhc2stcHJvcGVydHktc2lkZWJhci10b2dnbGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XG59XG5cbi5pcy1waG9uZSAudGFzay1wcm9wZXJ0eS1zaWRlYmFyLWNsb3NlIHtcblx0LS1pY29uLXNpemU6IHZhcigtLXNpemUtNC00KTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IHZhcigtLXNpemUtNC0yKTtcblx0cmlnaHQ6IDEwcHg7XG5cdHotaW5kZXg6IDE1O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLyogQWRkIG92ZXJsYXkgd2hlbiBsZWZ0IGNvbHVtbiBpcyB2aXNpYmxlIG9uIG1vYmlsZSAqL1xuLmlzLXBob25lXG5cdC50YXNrLXByb3BlcnR5LWNvbnRhaW5lcjpoYXMoXG5cdFx0LnRhc2stcHJvcGVydHktbGVmdC1jb2x1bW4uaXMtdmlzaWJsZVxuXHQpOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1jb3Zlcik7XG5cdG9wYWNpdHk6IDAuNTtcblx0ei1pbmRleDogNTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xufVxuXG4vKiBBZGQgcG9zaXRpb24gcmVsYXRpdmUgdG8gY29udGFpbmVyIGZvciBhYnNvbHV0ZSBwb3NpdGlvbmluZyBjb250ZXh0ICovXG4uaXMtcGhvbmUgLnRhc2stcHJvcGVydHktY29udGFpbmVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uaXMtcGhvbmUgLnRhc2stcHJvcGVydHktc2lkZWJhci1oZWFkZXI6aGFzKC50YXNrLXByb3BlcnR5LXNpZGViYXItY2xvc2UpIHtcblx0cGFkZGluZy1yaWdodDogdmFyKC0tc2l6ZS00LTEyKTtcbn1cbiIsICIvKiBGb3JlY2FzdCBDb21wb25lbnQgU3R5bGVzICovXG4uZm9yZWNhc3QtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0aGVpZ2h0OiAxMDAlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRmbGV4OiAxO1xufVxuXG4uZm9yZWNhc3QtaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiAxNXB4O1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uZm9yZWNhc3QtdGl0bGUtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmZvcmVjYXN0LXRpdGxlIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Zm9udC1zaXplOiAxLjJlbTtcbn1cblxuLmZvcmVjYXN0LWNvdW50IHtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tdG9wOiA0cHg7XG59XG5cbi5mb3JlY2FzdC1hY3Rpb25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uZm9yZWNhc3Qtc2V0dGluZ3Mge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdG9wYWNpdHk6IDAuNztcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG5cblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5mb3JlY2FzdC1zZXR0aW5nczpob3ZlciB7XG5cdG9wYWNpdHk6IDE7XG59XG5cbi5mb3JlY2FzdC1mb2N1cy1iYXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRwYWRkaW5nOiAxMHB4IDE1cHg7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGdhcDogMTBweDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmZvY3VzLWlucHV0IHtcblx0ZmxleDogMTtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnVuZm9jdXMtYnV0dG9uIHtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXI6IG5vbmU7XG59XG5cbi51bmZvY3VzLWJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi8qIE1haW4gY29udGVudCBsYXlvdXQgd2l0aCB0d28gY29sdW1ucyAqL1xuLmZvcmVjYXN0LWNvbnRlbnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZm9yZWNhc3QtbGVmdC1jb2x1bW4ge1xuXHR3aWR0aDogMzYwcHg7XG5cdG1pbi13aWR0aDogMzYwcHg7XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcbn1cblxuLmZvcmVjYXN0LXJpZ2h0LWNvbHVtbiB7XG5cdGZsZXg6IDE7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG59XG5cbi5mb3JlY2FzdC10YXNrLWxpc3Qge1xuXHRvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4uZm9yZWNhc3QtY2FsZW5kYXItc2VjdGlvbiB7XG5cdHBhZGRpbmc6IDEwcHggMDtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTQpO1xuXHRmbGV4LXNocmluazogMDtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLyogU3RhdHMgQmFyICovXG4uZm9yZWNhc3Qtc3RhdHMge1xuXHRkaXNwbGF5OiBmbGV4O1xufVxuXG4uc3RhdC1pdGVtIHtcblx0ZmxleDogMTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogMTBweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uc3RhdC1pdGVtOjphZnRlciB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Ym90dG9tOiAwO1xuXHRsZWZ0OiAxMCU7XG5cdHdpZHRoOiA4MCU7XG5cdGhlaWdodDogM3B4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG59XG5cbi5zdGF0LWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnN0YXQtaXRlbS5hY3RpdmU6OmFmdGVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0YW5pbWF0aW9uOiBjb2xvci1wdWxzZSAxLjVzIGluZmluaXRlIGFsdGVybmF0ZTtcbn1cblxuQGtleWZyYW1lcyBjb2xvci1wdWxzZSB7XG5cdDAlIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQtMSkgIWltcG9ydGFudDtcblx0XHRvcGFjaXR5OiAwLjc7XG5cdH1cblx0MTAwJSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYWNjZW50LTIpICFpbXBvcnRhbnQ7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuXG4uc3RhdC1pdGVtLnRnLXBhc3QtZHVlOjphZnRlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRvcGFjaXR5OiAwLjc7XG59XG5cbi5zdGF0LWl0ZW0udGctdG9kYXk6OmFmdGVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0b3BhY2l0eTogMC43O1xufVxuXG4uc3RhdC1pdGVtLnRnLWZ1dHVyZTo6YWZ0ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdG9wYWNpdHk6IDAuNztcbn1cblxuLnN0YXQtY291bnQge1xuXHRmb250LXNpemU6IDEuNWVtO1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuXG4uc3RhdC1pdGVtLnRnLXBhc3QtZHVlIC5zdGF0LWNvdW50IHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4uc3RhdC1sYWJlbCB7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLyogRHVlIFNvb24gU2VjdGlvbiAqL1xuLmZvcmVjYXN0LWR1ZS1zb29uLXNlY3Rpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xufVxuXG4uZHVlLXNvb24taGVhZGVyIHtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0cGFkZGluZzogNXB4IDE1cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0bGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbn1cblxuLmR1ZS1zb29uLWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdHBhZGRpbmc6IDhweCAxNXB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xufVxuXG4uZHVlLXNvb24taXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRib3JkZXItbGVmdC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLmR1ZS1zb29uLWRhdGUge1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuXG4uZHVlLXNvb24tY291bnQge1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBhZGRpbmc6IDJweCA2cHg7XG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLmR1ZS1zb29uLWVtcHR5IHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiAxNXB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLmRhdGUtc2VjdGlvbi1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiA4cHggMTVweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xufVxuXG4uZGF0ZS1zZWN0aW9uLWhlYWRlciAuc2VjdGlvbi10b2dnbGUge1xuXHRtYXJnaW4tcmlnaHQ6IDhweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5kYXRlLXNlY3Rpb24taGVhZGVyIC5zZWN0aW9uLXRpdGxlIHtcblx0ZmxleDogMTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmRhdGUtc2VjdGlvbi1oZWFkZXIgLnNlY3Rpb24tY291bnQge1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtNSk7XG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtNSk7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLyogT3ZlcmR1ZSBzZWN0aW9uIHN0eWxpbmcgKi9cbi50YXNrLWRhdGUtc2VjdGlvbi5vdmVyZHVlIC5kYXRlLXNlY3Rpb24taGVhZGVyIHtcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLnRhc2stZGF0ZS1zZWN0aW9uLm92ZXJkdWUgLnNlY3Rpb24tdGl0bGUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi50YXNrLWRhdGUtc2VjdGlvbi5vdmVyZHVlIC5zZWN0aW9uLWNvdW50IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGNvbG9yOiB3aGl0ZTtcbn1cblxuLnNlY3Rpb24tdGFza3Mge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uZm9yZWNhc3QtZW1wdHktc3RhdGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRoZWlnaHQ6IDEwMHB4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5mb3JlY2FzdC1zaWRlYmFyLXRvZ2dsZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLmlzLXBob25lXG5cdC5mb3JlY2FzdC1oZWFkZXI6aGFzKC5mb3JlY2FzdC1zaWRlYmFyLXRvZ2dsZSlcblx0LmZvcmVjYXN0LXRpdGxlLWNvbnRhaW5lciB7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc2l6ZS00LTEwKTtcbn1cblxuLyogRm9yZWNhc3QgVmlldyAtIE1vYmlsZSAqL1xuLmlzLXBob25lIC5mb3JlY2FzdC1jb250YWluZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5pcy1waG9uZSAuZm9yZWNhc3QtbGVmdC1jb2x1bW4ge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDA7XG5cdHRvcDogMDtcblx0aGVpZ2h0OiAxMDAlO1xuXHR6LWluZGV4OiAxMDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHR3aWR0aDogMTAwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQ7XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLmlzLXBob25lIC5mb3JlY2FzdC1sZWZ0LWNvbHVtbi5pcy12aXNpYmxlIHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG4uaXMtcGhvbmUgLmZvcmVjYXN0LXNpZGViYXItdG9nZ2xlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG4uaXMtcGhvbmUgLmZvcmVjYXN0LXNpZGViYXItY2xvc2Uge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMTBweDtcblx0cmlnaHQ6IDEwcHg7XG5cdHotaW5kZXg6IDE1O1xuXHR3aWR0aDogMjhweDtcblx0aGVpZ2h0OiAyOHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG4vKiBBZGQgb3ZlcmxheSB3aGVuIGxlZnQgY29sdW1uIGlzIHZpc2libGUgb24gbW9iaWxlICovXG4uaXMtcGhvbmUgLnRhc2stZ2VuaXVzLWNvbnRhaW5lcjpoYXMoLmZvcmVjYXN0LWxlZnQtY29sdW1uLmlzLXZpc2libGUpOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1jb3Zlcik7XG5cdG9wYWNpdHk6IDAuNTtcblx0ei1pbmRleDogNTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xufVxuIiwgIi8qIENhbGVuZGFyIENvbXBvbmVudCBTdHlsZXMgKi9cbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdHdpZHRoOiAxMDAlO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nLWJvdHRvbTogMTBweDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDhweCAxNXB4O1xuXHRtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdGl0bGUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IDVweDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1tb250aCB7XG5cdG1hcmdpbi1yaWdodDogNXB4O1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXllYXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItbmF2IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItbmF2LWJ0biB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogMjRweDtcblx0aGVpZ2h0OiAyNHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdG9wYWNpdHk6IDAuNztcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItbmF2LWJ0bjpob3ZlciB7XG5cdG9wYWNpdHk6IDE7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci10b2RheS1idG4ge1xuXHRwYWRkaW5nOiAycHggOHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXRvZGF5LWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ncmlkIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgMWZyKTtcblx0Z2FwOiAxcHg7XG5cdHBhZGRpbmc6IDAgMTBweDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktaGVhZGVyIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHBhZGRpbmc6IDNweCAwO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRtYXJnaW4tYm90dG9tOiAzcHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3XG5cdC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lclxuXHQuY2FsZW5kYXItZGF5LWhlYWRlci5jYWxlbmRhci13ZWVrZW5kIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLyogQWRqdXN0IGdyaWQgbGF5b3V0IHdoZW4gd2Vla2VuZHMgYXJlIGhpZGRlbiBpbiBtaW5pIGNhbGVuZGFyICovXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIuaGlkZS13ZWVrZW5kcyAuY2FsZW5kYXItZ3JpZCB7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcik7IC8qIDUgY29sdW1ucyBpbnN0ZWFkIG9mIDcgd2hlbiB3ZWVrZW5kcyBoaWRkZW4gKi9cbn1cblxuLyogTm90ZTogV2Vla2VuZCBlbGVtZW50cyBhcmUgbm90IGNyZWF0ZWQgd2hlbiBoaWRlV2Vla2VuZHMgaXMgZW5hYmxlZCxcbiAgIHNvIG5vIGhpZGluZyBydWxlcyBhcmUgbmVlZGVkLiBUaGUgZ3JpZCBsYXlvdXQgYWRqdXN0bWVudHMgYWJvdmUgYXJlIHN1ZmZpY2llbnQuICovXG5cbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5IHtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRwYWRkaW5nOiAxcHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcblx0aGVpZ2h0OiBhdXRvO1xuXHRtaW4taGVpZ2h0OiB2YXIoLS1zaXplLTQtMTIpO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS5zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXkudG9kYXkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS5wYXN0LWR1ZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXkub3RoZXItbW9udGgge1xuXHRvcGFjaXR5OiAwLjU7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LW51bWJlciB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0cGFkZGluZzogMXB4O1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1jb3VudCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHRmb250LXNpemU6IDAuN2VtO1xuXHRwYWRkaW5nOiAxcHggNHB4O1xuXHRtYXJnaW46IDFweCBhdXRvIDA7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0d2lkdGg6IGZpdC1jb250ZW50O1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1jb3VudC5oYXMtcHJpb3JpdHkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxNDAwcHgpIHtcblx0LnRhc2stZ2VuaXVzLWNvbnRhaW5lcjpoYXMoLnRhc2stZGV0YWlscy52aXNpYmxlKVxuXHRcdC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lclxuXHRcdC5mb3JlY2FzdC1sZWZ0LWNvbHVtbiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuIiwgIi8qIFRhc2sgVGFibGUgVmlldyBTdHlsZXMgKi9cbi50YWJsZS12aWV3LWFkYXB0ZXIge1xuXHR3aWR0aDogMTAwJTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAwO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi50YXNrLXRhYmxlLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGhlaWdodDogMTAwJTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xufVxuXG4udGFzay10YWJsZSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuXHR0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRmbGV4OiAxO1xuXHRtaW4taGVpZ2h0OiAwO1xuXHQvKiBFbnN1cmUgdGFibGUgdGFrZXMgZnVsbCB3aWR0aCBldmVuIHdpdGggbWFueSBjb2x1bW5zICovXG5cdG1pbi13aWR0aDogbWF4LWNvbnRlbnQ7XG59XG5cbi8qIFRhYmxlIHdyYXBwZXIgZm9yIHNjcm9sbGluZyAqL1xuLnRhc2stdGFibGUtd3JhcHBlciB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93OiBhdXRvO1xuXHRtaW4taGVpZ2h0OiAwO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdC8qIEVuYWJsZSBib3RoIGhvcml6b250YWwgYW5kIHZlcnRpY2FsIHNjcm9sbGluZyAqL1xuXHRvdmVyZmxvdy14OiBhdXRvO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHQvKiBTbW9vdGggc2Nyb2xsaW5nICovXG5cdHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xufVxuXG4vKiBIZWFkZXIgU3R5bGVzICovXG4udGFzay10YWJsZS1oZWFkZXIge1xuXHRwb3NpdGlvbjogc3RpY2t5O1xuXHR0b3A6IDA7XG5cdHotaW5kZXg6IDEwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdC8qIEVuc3VyZSBoZWFkZXIgZG9lc24ndCBicmVhayB3aGVuIHNjcm9sbGluZyBob3Jpem9udGFsbHkgKi9cblx0bWluLXdpZHRoOiBtYXgtY29udGVudDtcbn1cblxuLnRhc2stdGFibGUtaGVhZGVyLXJvdyB7XG5cdGhlaWdodDogNDBweDtcbn1cblxuLnRhc2stdGFibGUtaGVhZGVyLWNlbGwge1xuXHRwYWRkaW5nOiA4cHggMTJweDtcblx0dGV4dC1hbGlnbjogbGVmdDtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0LyogUHJldmVudCBoZWFkZXIgY2VsbHMgZnJvbSBzaHJpbmtpbmcgdG9vIG11Y2ggKi9cblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRhc2stdGFibGUtaGVhZGVyLWNlbGw6bGFzdC1jaGlsZCB7XG5cdGJvcmRlci1yaWdodDogbm9uZTtcbn1cblxuLnRhc2stdGFibGUtaGVhZGVyLWNlbGwuc29ydGFibGUge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi50YXNrLXRhYmxlLWhlYWRlci1jZWxsLnNvcnRhYmxlOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi50YXNrLXRhYmxlLWhlYWRlci1jb250ZW50IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRnYXA6IDRweDtcbn1cblxuLnRhc2stdGFibGUtaGVhZGVyLXRpdGxlIHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50YXNrLXRhYmxlLXNvcnQtaWNvbiB7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0b3BhY2l0eTogMC41O1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG59XG5cbi50YXNrLXRhYmxlLXNvcnQtaWNvbi5hc2MsXG4udGFzay10YWJsZS1zb3J0LWljb24uZGVzYyB7XG5cdG9wYWNpdHk6IDE7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi50YXNrLXRhYmxlLXJlc2l6ZS1oYW5kbGUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0cmlnaHQ6IDA7XG5cdHdpZHRoOiA0cHg7XG5cdGhlaWdodDogMTAwJTtcblx0Y3Vyc29yOiBjb2wtcmVzaXplO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xufVxuXG4udGFzay10YWJsZS1yZXNpemUtaGFuZGxlOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4vKiBCb2R5IFN0eWxlcyAqL1xuLnRhc2stdGFibGUtYm9keSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG59XG5cbi50YXNrLXRhYmxlLXJvdyB7XG5cdGhlaWdodDogNDBweDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xufVxuXG4udGFzay10YWJsZS1yb3c6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnRhc2stdGFibGUtcm93LnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUtaG92ZXIpO1xufVxuXG4udGFzay10YWJsZS1yb3c6bnRoLWNoaWxkKGV2ZW4pIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcbn1cblxuLnRhc2stdGFibGUtcm93Om50aC1jaGlsZChldmVuKTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4udGFzay10YWJsZS1yb3c6bnRoLWNoaWxkKGV2ZW4pLnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUtaG92ZXIpO1xufVxuXG4udGFzay10YWJsZS1jZWxsIHtcblx0cGFkZGluZzogOHB4IDEycHg7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGFzay10YWJsZS1jZWxsOmxhc3QtY2hpbGQge1xuXHRib3JkZXItcmlnaHQ6IG5vbmU7XG59XG5cbi50YXNrLXRhYmxlLWNlbGwuZWRpdGluZyB7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi8qIFRyZWUgVmlldyBTdHlsZXMgKi9cbi50YXNrLXRhYmxlLXRyZWUtaW5kZW50IHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogNHB4OyBcbn1cblxuLnRhc2stdGFibGUtY2VsbDpoYXMoLnRhc2stdGFibGUtZXhwYW5kLWJ0bikge1xuXHRwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi50YXNrLXRhYmxlLXJvdy50YXNrLXRhYmxlLXN1YnRhc2sge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi50YXNrLXRhYmxlLWV4cGFuZC1idG4ge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHVzZXItc2VsZWN0OiBub25lO1xuXHR3aWR0aDogMjBweDtcblx0aGVpZ2h0OiAyMHB4O1xuXHRwYWRkaW5nOiAwO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xuXHRmb250LXNpemU6IDEwcHg7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcbn1cblxuLnRhc2stdGFibGUtZXhwYW5kLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4udGFzay10YWJsZS1yb3ctbGV2ZWwtMSAudGFzay10YWJsZS1jZWxsOmZpcnN0LWNoaWxkIHtcblx0cGFkZGluZy1sZWZ0OiAzMnB4O1xufVxuXG4udGFzay10YWJsZS1yb3ctbGV2ZWwtMiAudGFzay10YWJsZS1jZWxsOmZpcnN0LWNoaWxkIHtcblx0cGFkZGluZy1sZWZ0OiA1MnB4O1xufVxuXG4udGFzay10YWJsZS1yb3ctbGV2ZWwtMyAudGFzay10YWJsZS1jZWxsOmZpcnN0LWNoaWxkIHtcblx0cGFkZGluZy1sZWZ0OiA3MnB4O1xufVxuXG4udGFzay10YWJsZS1yb3ctbGV2ZWwtNCAudGFzay10YWJsZS1jZWxsOmZpcnN0LWNoaWxkIHtcblx0cGFkZGluZy1sZWZ0OiA5MnB4O1xufVxuXG4udGFzay10YWJsZS1yb3ctbGV2ZWwtNSAudGFzay10YWJsZS1jZWxsOmZpcnN0LWNoaWxkIHtcblx0cGFkZGluZy1sZWZ0OiAxMTJweDtcbn1cblxuLyogQ2VsbCBUeXBlIFN0eWxlcyAqL1xuLnRhc2stdGFibGUtdGV4dCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YXNrLXRhYmxlLW51bWJlciB7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG59XG5cbi8qIFN0YXR1cyBDZWxsICovXG4udGFzay10YWJsZS1zdGF0dXMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDZweDtcbn1cblxuLnRhc2stdGFibGUtc3RhdHVzLWljb24ge1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG59XG5cbi50YXNrLXRhYmxlLXN0YXR1cy10ZXh0IHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi50YXNrLXRhYmxlLXN0YXR1cy5jb21wbGV0ZWQgLnRhc2stdGFibGUtc3RhdHVzLWljb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1zdWNjZXNzKTtcbn1cblxuLnRhc2stdGFibGUtc3RhdHVzLmluLXByb2dyZXNzIC50YXNrLXRhYmxlLXN0YXR1cy1pY29uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtd2FybmluZyk7XG59XG5cbi50YXNrLXRhYmxlLXN0YXR1cy5hYmFuZG9uZWQgLnRhc2stdGFibGUtc3RhdHVzLWljb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi50YXNrLXRhYmxlLXN0YXR1cy5wbGFubmVkIC50YXNrLXRhYmxlLXN0YXR1cy1pY29uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGFzay10YWJsZS1zdGF0dXMubm90LXN0YXJ0ZWQgLnRhc2stdGFibGUtc3RhdHVzLWljb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG59XG5cbi8qIFByaW9yaXR5IENlbGwgKi9cbi50YXNrLXRhYmxlLXByaW9yaXR5IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA2cHg7XG59XG5cbi50YXNrLXRhYmxlLXByaW9yaXR5LmNsaWNrYWJsZS1wcmlvcml0eSB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0cGFkZGluZzogNHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcbn1cblxuLnRhc2stdGFibGUtcHJpb3JpdHkuY2xpY2thYmxlLXByaW9yaXR5OmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi50YXNrLXRhYmxlLXByaW9yaXR5LWljb24ge1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG59XG5cbi50YXNrLXRhYmxlLXByaW9yaXR5LWljb24uaGlnaCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLnRhc2stdGFibGUtcHJpb3JpdHktaWNvbi5tZWRpdW0ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC13YXJuaW5nKTtcbn1cblxuLnRhc2stdGFibGUtcHJpb3JpdHktaWNvbi5sb3cge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50YXNrLXRhYmxlLXByaW9yaXR5LXRleHQge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnRhc2stdGFibGUtcHJpb3JpdHktZW1wdHkge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyogRGF0ZSBDZWxsICovXG4udGFzay10YWJsZS1kYXRlIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAycHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xuXHRwYWRkaW5nOiA0cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLnRhc2stdGFibGUtZGF0ZTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4udGFzay10YWJsZS1kYXRlLXRleHQge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFzay10YWJsZS1kYXRlLXJlbGF0aXZlIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4udGFzay10YWJsZS1kYXRlLXJlbGF0aXZlLnRvZGF5IHtcblx0Y29sb3I6IHZhcigtLXRleHQtc3VjY2Vzcyk7XG59XG5cbi50YXNrLXRhYmxlLWRhdGUtcmVsYXRpdmUudG9tb3Jyb3cge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4udGFzay10YWJsZS1kYXRlLXJlbGF0aXZlLnllc3RlcmRheSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnRhc2stdGFibGUtZGF0ZS1yZWxhdGl2ZS5vdmVyZHVlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4udGFzay10YWJsZS1kYXRlLXJlbGF0aXZlLnVwY29taW5nIHtcblx0Y29sb3I6IHZhcigtLXRleHQtd2FybmluZyk7XG59XG5cbi50YXNrLXRhYmxlLWRhdGUtZW1wdHkge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyogVGFncyBDZWxsICovXG4udGFzay10YWJsZS10YWdzIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRnYXA6IDRweDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnRhc2stdGFibGUtdGFnLWNoaXAge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdHBhZGRpbmc6IDJweCA2cHg7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGFzay10YWJsZS10YWdzLWVtcHR5IHtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qIElubGluZSBFZGl0aW5nIElucHV0cyAqL1xuLnRhc2stdGFibGUtdGV4dC1pbnB1dCxcbi50YXNrLXRhYmxlLXRhZ3MtaW5wdXQge1xuXHRib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0b3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuXHR3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cdGZvbnQ6IGluaGVyaXQgIWltcG9ydGFudDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKSAhaW1wb3J0YW50O1xufVxuXG4udGFzay10YWJsZS10ZXh0LWlucHV0OmZvY3VzLFxuLnRhc2stdGFibGUtdGFncy1pbnB1dDpmb2N1cyB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZm9ybS1maWVsZCkgIWltcG9ydGFudDtcblx0Ym9yZGVyLXJhZGl1czogM3B4ICFpbXBvcnRhbnQ7XG5cdHBhZGRpbmc6IDJweCA0cHggIWltcG9ydGFudDtcbn1cblxuLyogVGFzayBDb3VudCBJY29uICovXG4udGFzay1jb3VudC1pY29uIHtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xufVxuXG4udGFzay10YWJsZS1lbXB0eS1yb3cge1xuXHRoZWlnaHQ6IDgwcHg7XG59XG5cbi50YXNrLXRhYmxlLWVtcHR5LWNlbGwge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vKiBMb2FkaW5nIFN0YXRlICovXG4udGFzay10YWJsZS1sb2FkaW5nIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDUwJTtcblx0bGVmdDogNTAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblx0cGFkZGluZzogMjBweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0ei1pbmRleDogMTAwO1xufVxuXG4vKiBSZXNpemUgU3RhdGUgKi9cbi50YXNrLXRhYmxlLnJlc2l6aW5nIHtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi50YXNrLXRhYmxlLnJlc2l6aW5nICoge1xuXHRjdXJzb3I6IGNvbC1yZXNpemUgIWltcG9ydGFudDtcbn1cblxuLyogVmlydHVhbCBzY3JvbGxpbmcgc3R5bGVzICovXG4udmlydHVhbC1zY3JvbGwtc3BhY2VyIHtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLyogUmVzcG9uc2l2ZSBEZXNpZ24gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQudGFzay10YWJsZS1jb250YWluZXIge1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0fVxuXG5cdC50YXNrLXRhYmxlLXdyYXBwZXIge1xuXHRcdG92ZXJmbG93LXg6IGF1dG87XG5cdH1cblxuXHQudGFzay10YWJsZSB7XG5cdFx0bWluLXdpZHRoOiA4MDBweDsgLyogRW5zdXJlIHRhYmxlIGRvZXNuJ3QgZ2V0IHRvbyBuYXJyb3cgKi9cblx0fVxuXG5cdC50YXNrLXRhYmxlLWhlYWRlci1jZWxsLFxuXHQudGFzay10YWJsZS1jZWxsIHtcblx0XHRwYWRkaW5nOiA2cHggOHB4O1xuXHR9XG5cblx0LnRhc2stdGFibGUtcm93IHtcblx0XHRoZWlnaHQ6IDM2cHg7XG5cdH1cblxuXHQudGFzay10YWJsZS1oZWFkZXItcm93IHtcblx0XHRoZWlnaHQ6IDM2cHg7XG5cdH1cbn1cblxuLyogRGFyayBNb2RlIEFkanVzdG1lbnRzICovXG4udGhlbWUtZGFyayAudGFzay10YWJsZS1jb250YWluZXIge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLnRoZW1lLWRhcmsgLnRhc2stdGFibGUtcm93Om50aC1jaGlsZChldmVuKSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1hbHQpO1xufVxuXG4vKiBIaWdoIENvbnRyYXN0IE1vZGUgKi9cbkBtZWRpYSAocHJlZmVycy1jb250cmFzdDogaGlnaCkge1xuXHQudGFzay10YWJsZS1jb250YWluZXIge1xuXHRcdGJvcmRlci13aWR0aDogMnB4O1xuXHR9XG5cblx0LnRhc2stdGFibGUtaGVhZGVyLWNlbGwsXG5cdC50YXNrLXRhYmxlLWNlbGwge1xuXHRcdGJvcmRlci13aWR0aDogMXB4O1xuXHR9XG5cblx0LnRhc2stdGFibGUtcm93IHtcblx0XHRib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG5cdH1cbn1cblxuLyogUHJpbnQgU3R5bGVzICovXG5AbWVkaWEgcHJpbnQge1xuXHQudGFzay10YWJsZS1jb250YWluZXIge1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRvdmVyZmxvdzogdmlzaWJsZTtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdH1cblxuXHQudGFzay10YWJsZS1oZWFkZXIge1xuXHRcdHBvc2l0aW9uOiBzdGF0aWM7XG5cdH1cblxuXHQudGFzay10YWJsZS1yZXNpemUtaGFuZGxlIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0LnRhc2stdGFibGUtZXhwYW5kLWJ0biB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG4vKiBWaXJ0dWFsIHNjcm9sbGluZyBzdHlsZXMgKi9cbi52aXJ0dWFsLXNjcm9sbC1zcGFjZXItdG9wIHtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi52aXJ0dWFsLXNjcm9sbC1zcGFjZXItdG9wIHRkIHtcblx0cGFkZGluZzogMCAhaW1wb3J0YW50O1xuXHRib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cblxuLyogQ29udGV4dCBtZW51IHN0eWxlcyAqL1xuLnRhc2stdGFibGUtY29udGV4dC1tZW51IHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuXHR6LWluZGV4OiAxMDAwO1xuXHRtaW4td2lkdGg6IDEyMHB4O1xufVxuXG4udGFzay10YWJsZS1jb250ZXh0LW1lbnUtaXRlbSB7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcyBlYXNlO1xufVxuXG4udGFzay10YWJsZS1jb250ZXh0LW1lbnUtaXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4vKiBEYXRlIGlucHV0IGltcHJvdmVtZW50cyAqL1xuLnRhc2stdGFibGUtZGF0ZS1pbnB1dCB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdHBhZGRpbmc6IDRweCA4cHg7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4udGFzay10YWJsZS1kYXRlLWlucHV0OmhvdmVyIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG59XG5cbi50YXNrLXRhYmxlLWRhdGUtaW5wdXQ6Zm9jdXMge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdG91dGxpbmU6IG5vbmU7XG59XG5cbi8qIEF1dG9jb21wbGV0ZSBpbnB1dCBpbXByb3ZlbWVudHMgKi9cbi50YXNrLXRhYmxlLXByb2plY3QtaW5wdXQsXG4udGFzay10YWJsZS1jb250ZXh0LWlucHV0LFxuLnRhc2stdGFibGUtdGFncy1pbnB1dCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRwYWRkaW5nOiA0cHggOHB4O1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLnRhc2stdGFibGUtcHJvamVjdC1pbnB1dDpmb2N1cyxcbi50YXNrLXRhYmxlLWNvbnRleHQtaW5wdXQ6Zm9jdXMsXG4udGFzay10YWJsZS10YWdzLWlucHV0OmZvY3VzIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG4vKiBSb3cgc2VsZWN0aW9uIGltcHJvdmVtZW50cyAqL1xuLnRhc2stdGFibGUtcm93LnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi50YXNrLXRhYmxlLXJvdzpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXItd2Vhayk7XG59XG5cbi8qIFJlc3BvbnNpdmUgaW1wcm92ZW1lbnRzICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0LnRhc2stdGFibGUge1xuXHRcdGZvbnQtc2l6ZTogMC45ZW07XG5cdH1cblxuXHR0aFtkYXRhLWNvbHVtbi1pZD1cInJvd051bWJlclwiXSB7XG5cdFx0bWF4LXdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG5cdFx0bWluLXdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG5cdFx0d2lkdGg6IDQwcHggIWltcG9ydGFudDtcblx0fVxuXG5cdC50YXNrLXRhYmxlLXRyZWUtY29udGFpbmVyIHtcblx0XHRnYXA6IDAgIWltcG9ydGFudDtcblx0fVxuXG5cdC50YXNrLXRhYmxlLWV4cGFuZC1idG4ge1xuXHRcdG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuXHR9XG5cblx0dGRbZGF0YS1jb2x1bW4taWQ9XCJyb3dOdW1iZXJcIl0ge1xuXHRcdG1heC13aWR0aDogNDBweCAhaW1wb3J0YW50O1xuXHRcdG1pbi13aWR0aDogNDBweCAhaW1wb3J0YW50O1xuXHRcdHdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudGFzay10YWJsZS1oZWFkZXItY2VsbCxcblx0LnRhc2stdGFibGUtY2VsbCB7XG5cdFx0cGFkZGluZzogNnB4IDRweDtcblx0fVxufVxuXG4vKiBUYXNrIFRhYmxlIEhlYWRlciBCYXIgU3R5bGVzICovXG4udGFzay10YWJsZS1oZWFkZXItYmFyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiA2cHggOHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDZweCA2cHggMCAwO1xuXHRtYXJnaW4tYm90dG9tOiAwO1xuXHRmbGV4LXNocmluazogMDtcblx0bWluLWhlaWdodDogNDBweDtcbn1cblxuLnRhYmxlLWhlYWRlci1sZWZ0IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAxMnB4O1xufVxuXG4udGFibGUtaGVhZGVyLXJpZ2h0IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7XG59XG5cbi8qIFRhc2sgQ291bnQgRGlzcGxheSAqL1xuLnRhc2stY291bnQtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLnRhc2stY291bnQtdGV4dCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi8qIENvbnRyb2wgQnV0dG9ucyAqL1xuLnRhYmxlLWNvbnRyb2xzLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogOHB4O1xufVxuXG4udGFibGUtY29udHJvbC1idG4ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDZweDtcblx0cGFkZGluZzogOHB4IDEycHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5cblx0Ym94LXNoYWRvdzogdW5zZXQgIWltcG9ydGFudDtcbn1cblxuLnRhYmxlLWNvbnRyb2wtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi50YWJsZS1jb250cm9sLWJ0bjphY3RpdmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZSk7XG59XG5cbi50cmVlLW1vZGUtYnRuLmFjdGl2ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi50cmVlLW1vZGUtaWNvbixcbi5yZWZyZXNoLWljb24sXG4uY29sdW1uLWljb24ge1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4udHJlZS1tb2RlLXRleHQsXG4ucmVmcmVzaC10ZXh0LFxuLmNvbHVtbi10ZXh0IHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmRyb3Bkb3duLWFycm93IHtcblx0Zm9udC1zaXplOiAxMHB4O1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xufVxuXG4vKiBDb2x1bW4gRHJvcGRvd24gKi9cbi5jb2x1bW4tZHJvcGRvd24ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jb2x1bW4tZHJvcGRvd24tbWVudSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAxMDAlO1xuXHRyaWdodDogMDtcblx0bWFyZ2luLXRvcDogNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LWwpO1xuXHR6LWluZGV4OiAxMDAwO1xuXHRtaW4td2lkdGg6IDIwMHB4O1xuXHRtYXgtaGVpZ2h0OiAzMDBweDtcblx0b3ZlcmZsb3cteTogYXV0bztcbn1cblxuLmNvbHVtbi10b2dnbGUtaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogOHB4O1xuXHRwYWRkaW5nOiA4cHggMTJweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLmNvbHVtbi10b2dnbGUtaXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4uY29sdW1uLXRvZ2dsZS1jaGVja2JveCB7XG5cdG1hcmdpbjogMDtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4uY29sdW1uLXRvZ2dsZS1sYWJlbCB7XG5cdGZsZXg6IDE7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0bWFyZ2luOiAwO1xufVxuXG4vKiBSZXNwb25zaXZlIERlc2lnbiBmb3IgSGVhZGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0LnRhc2stdGFibGUtaGVhZGVyLWJhciB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRnYXA6IDEycHg7XG5cdFx0YWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cdH1cblxuXHQudGFibGUtaGVhZGVyLWxlZnQge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQudGFibGUtaGVhZGVyLWxlZnQsXG5cdC50YWJsZS1oZWFkZXItcmlnaHQge1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR9XG5cblx0LnRhYmxlLWNvbnRyb2xzLWNvbnRhaW5lciB7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHR9XG5cblx0LnRhYmxlLWNvbnRyb2wtYnRuIHtcblx0XHRmbGV4OiAxO1xuXHRcdG1pbi13aWR0aDogMTAwcHg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdH1cblxuXHQuY29sdW1uLWRyb3Bkb3duLW1lbnUge1xuXHRcdHJpZ2h0OiBhdXRvO1xuXHRcdGxlZnQ6IDA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cbn1cblxuLyogRGFyayBNb2RlIEFkanVzdG1lbnRzIGZvciBIZWFkZXIgKi9cbi50aGVtZS1kYXJrIC50YXNrLXRhYmxlLWhlYWRlci1iYXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xufVxuXG4udGhlbWUtZGFyayAuY29sdW1uLWRyb3Bkb3duLW1lbnUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktYWx0KTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG59XG5cbi8qIEN1c3RvbSBBdXRvLVN1Z2dlc3QgRHJvcGRvd24gKi9cbi5jdXN0b20tc3VnZ2VzdC1kcm9wZG93biB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbCk7XG5cdHotaW5kZXg6IDEwMDA7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bWF4LWhlaWdodDogMjAwcHg7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdG1pbi13aWR0aDogMTUwcHg7XG59XG5cbi5jdXN0b20tc3VnZ2VzdC1kcm9wZG93biAuc3VnZ2VzdGlvbi1pdGVtIHtcblx0cGFkZGluZzogOHB4IDEycHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uY3VzdG9tLXN1Z2dlc3QtZHJvcGRvd24gLnN1Z2dlc3Rpb24taXRlbTpsYXN0LWNoaWxkIHtcblx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLmN1c3RvbS1zdWdnZXN0LWRyb3Bkb3duIC5zdWdnZXN0aW9uLWl0ZW06aG92ZXIsXG4uY3VzdG9tLXN1Z2dlc3QtZHJvcGRvd24gLnN1Z2dlc3Rpb24taXRlbS5zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4uY3VzdG9tLXN1Z2dlc3QtZHJvcGRvd24gLnN1Z2dlc3Rpb24taXRlbS5zZWxlY3RlZCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi8qIEVuaGFuY2VkIFRyZWUgVmlldyBTdHlsZXMgKi9cbi50YXNrLXRhYmxlLXN1YnRhc2sge1xuXHRib3JkZXItbGVmdDogMnB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLnRhc2stdGFibGUtcGFyZW50IC50YXNrLXRhYmxlLWNlbGw6Zmlyc3QtY2hpbGQge1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4udGFzay10YWJsZS1zdWJ0YXNrLWNlbGwge1xuXHRib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWZvY3VzKTtcbn1cblxuLnRhc2stdGFibGUtdHJlZS1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDZweDtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi50YXNrLXRhYmxlLXRyZWUtc3RydWN0dXJlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAycHg7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4udGFzay10YWJsZS10cmVlLWxpbmUge1xuXHRmb250LWZhbWlseTogbW9ub3NwYWNlO1xuXHRmb250LXNpemU6IDEycHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcblx0bGluZS1oZWlnaHQ6IDE7XG5cdHdpZHRoOiAxNnB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi50YXNrLXRhYmxlLXRyZWUtY29ubmVjdG9yIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGFzay10YWJsZS10cmVlLXZlcnRpY2FsIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xufVxuXG4udGFzay10YWJsZS1zdWJ0YXNrLWluZGljYXRvciB7XG5cdGZvbnQtc2l6ZTogMTBweDtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0bWFyZ2luLXJpZ2h0OiA2cHg7XG5cdG1hcmdpbi1sZWZ0OiA0cHg7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cblxuLnRhc2stdGFibGUtdG9wLWxldmVsLWV4cGFuZCB7XG5cdG1hcmdpbi1yaWdodDogNnB4O1xufVxuXG4udGFzay10YWJsZS1jb250ZW50LXdyYXBwZXIge1xuXHRmbGV4OiAxO1xuXHRtaW4td2lkdGg6IDA7XG59XG5cbi50YXNrLXRhYmxlLWNoaWxkLWluZGljYXRvciB7XG5cdGZvbnQtc2l6ZTogMTBweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tbGVmdDogNnB4O1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLyogRW5oYW5jZWQgU3RhdHVzIENlbGwgKi9cbi50YXNrLXRhYmxlLXN0YXR1cy5jbGlja2FibGUtc3RhdHVzIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRwYWRkaW5nOiA0cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xufVxuXG4udGFzay10YWJsZS1zdGF0dXMuY2xpY2thYmxlLXN0YXR1czpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4vKiBFbmhhbmNlZCBQcmlvcml0eSBJY29ucyAqL1xuLnRhc2stdGFibGUtcHJpb3JpdHktaWNvbi5oaWdoZXN0IHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRmaWx0ZXI6IGJyaWdodG5lc3MoMS4yKTtcbn1cblxuLnRhc2stdGFibGUtcHJpb3JpdHktaWNvbi5sb3dlc3Qge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG59XG5cbi8qIFRyZWUgZXhwYW5kIGJ1dHRvbiBpbXByb3ZlbWVudHMgKi9cbi50YXNrLXRhYmxlLWV4cGFuZC1idG4uY2xpY2thYmxlLWljb24ge1xuXHRvcGFjaXR5OiAwLjc7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycywgYmFja2dyb3VuZC1jb2xvciAwLjJzO1xufVxuXG4udGFzay10YWJsZS1leHBhbmQtYnRuLmNsaWNrYWJsZS1pY29uOmhvdmVyIHtcblx0b3BhY2l0eTogMTtcbn1cblxuLyogT3ZlcnJpZGUgZXhpc3RpbmcgdHJlZSBpbmRlbnRhdGlvbiB0byB1c2UgbmV3IHN5c3RlbSAqL1xuLnRhc2stdGFibGUtcm93LWxldmVsLTEgLnRhc2stdGFibGUtY2VsbDpmaXJzdC1jaGlsZCxcbi50YXNrLXRhYmxlLXJvdy1sZXZlbC0yIC50YXNrLXRhYmxlLWNlbGw6Zmlyc3QtY2hpbGQsXG4udGFzay10YWJsZS1yb3ctbGV2ZWwtMyAudGFzay10YWJsZS1jZWxsOmZpcnN0LWNoaWxkLFxuLnRhc2stdGFibGUtcm93LWxldmVsLTQgLnRhc2stdGFibGUtY2VsbDpmaXJzdC1jaGlsZCxcbi50YXNrLXRhYmxlLXJvdy1sZXZlbC01IC50YXNrLXRhYmxlLWNlbGw6Zmlyc3QtY2hpbGQge1xuXHRwYWRkaW5nLWxlZnQ6IDEycHg7IC8qIFJlc2V0IHRvIG5vcm1hbCBwYWRkaW5nLCBsZXQgdHJlZSBzdHJ1Y3R1cmUgaGFuZGxlIGluZGVudGF0aW9uICovXG59XG4iLCAiLyogVGFzayBHZW5pdXMgLSBRdWFkcmFudCBWaWV3IFN0eWxlcyAqL1xuXG4vKiBNYWluIFF1YWRyYW50IENvbnRhaW5lciAqL1xuLnRnLXF1YWRyYW50LWNvbXBvbmVudC1jb250YWluZXIge1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4vKiBIZWFkZXIgU2VjdGlvbiAqL1xuLnRnLXF1YWRyYW50LWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpIHZhcigtLXNpemUtNC00KTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi50Zy1xdWFkcmFudC10aXRsZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1zZW1pYm9sZCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdG1hcmdpbjogMDtcbn1cblxuLnRnLXF1YWRyYW50LWNvbnRyb2xzIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTItMyk7XG59XG5cbi50Zy1xdWFkcmFudC1zb3J0LXNlbGVjdCB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKSB2YXIoLS1zaXplLTItMyk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjJzIGVhc2U7XG59XG5cbi50Zy1xdWFkcmFudC1zb3J0LXNlbGVjdDpob3ZlciB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4udGctcXVhZHJhbnQtc29ydC1zZWxlY3Q6Zm9jdXMge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG5cdG91dGxpbmU6IG5vbmU7XG59XG5cbi50Zy1xdWFkcmFudC10b2dnbGUtZW1wdHkge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMik7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcblx0d2lkdGg6IDI4cHg7XG5cdGhlaWdodDogMjhweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi50Zy1xdWFkcmFudC10b2dnbGUtZW1wdHk6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG59XG5cbi8qIEZpbHRlciBTZWN0aW9uICovXG4udGctcXVhZHJhbnQtZmlsdGVyLWNvbnRhaW5lciB7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4vKiBRdWFkcmFudCBHcmlkICovXG4udGctcXVhZHJhbnQtZ3JpZCB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcblx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnIgMWZyO1xuXHRnYXA6IDFweDtcblx0ZmxleDogMTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBJbmRpdmlkdWFsIFF1YWRyYW50IENvbHVtbnMgKi9cbi50Zy1xdWFkcmFudC1jb2x1bW4ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRtaW4taGVpZ2h0OiAwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi50Zy1xdWFkcmFudC1jb2x1bW4tLWhpZGRlbiB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIFF1YWRyYW50IEhlYWRlcnMgKi9cbi50Zy1xdWFkcmFudC1jb2x1bW4gLnRnLXF1YWRyYW50LWhlYWRlciB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtMyk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0ZmxleC1zaHJpbms6IDA7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWluLWhlaWdodDogdmFyKC0tc2l6ZS00LTEyKTtcbn1cblxuLnRnLXF1YWRyYW50LXRpdGxlLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMSk7XG59XG5cbi50Zy1xdWFkcmFudC1wcmlvcml0eSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xuXHRsaW5lLWhlaWdodDogMTtcblx0b3BhY2l0eTogMC44O1xufVxuXG4udGctcXVhZHJhbnQtY29sdW1uIC50Zy1xdWFkcmFudC10aXRsZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXNlbWlib2xkKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0bWFyZ2luOiAwO1xufVxuXG4udGctcXVhZHJhbnQtZGVzY3JpcHRpb24ge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTIpO1xuXHRsaW5lLWhlaWdodDogMS4zO1xufVxuXG4udGctcXVhZHJhbnQtY291bnQge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS0yLTIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LW1lZGl1bSk7XG59XG5cbi8qIFF1YWRyYW50IENvbnRlbnQgQXJlYXMgKi9cbi50Zy1xdWFkcmFudC1jb2x1bW4tY29udGVudCB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0zKTtcblx0bWluLWhlaWdodDogMTAwcHg7XG59XG5cbi50Zy1xdWFkcmFudC1jb2x1bW4tY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuXHR3aWR0aDogOHB4O1xufVxuXG4udGctcXVhZHJhbnQtY29sdW1uLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi50Zy1xdWFkcmFudC1jb2x1bW4tY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcbn1cblxuLnRnLXF1YWRyYW50LWNvbHVtbi1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLnRnLXF1YWRyYW50LWNvbHVtbi1jb250ZW50LS1kcm9wLWFjdGl2ZSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRib3JkZXI6IDJweCBkYXNoZWQgdmFyKC0tY29sb3ItYWNjZW50KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xufVxuXG4vKiBRdWFkcmFudCBTcGVjaWZpYyBTdHlsaW5nIC0gU3VidGxlIGFjY2VudCBiYXJzICovXG4ucXVhZHJhbnQtdXJnZW50LWltcG9ydGFudCAudGctcXVhZHJhbnQtaGVhZGVyOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0cmlnaHQ6IDA7XG5cdGhlaWdodDogM3B4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0b3BhY2l0eTogMC42O1xufVxuXG4ucXVhZHJhbnQtbm90LXVyZ2VudC1pbXBvcnRhbnQgLnRnLXF1YWRyYW50LWhlYWRlcjo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHRoZWlnaHQ6IDNweDtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYWNjZW50KTtcblx0b3BhY2l0eTogMC42O1xufVxuXG4ucXVhZHJhbnQtdXJnZW50LW5vdC1pbXBvcnRhbnQgLnRnLXF1YWRyYW50LWhlYWRlcjo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHRoZWlnaHQ6IDNweDtcblx0YmFja2dyb3VuZDogdmFyKC0tdGV4dC13YXJuaW5nKTtcblx0b3BhY2l0eTogMC42O1xufVxuXG4ucXVhZHJhbnQtbm90LXVyZ2VudC1ub3QtaW1wb3J0YW50IC50Zy1xdWFkcmFudC1oZWFkZXI6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDtcblx0aGVpZ2h0OiAzcHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRvcGFjaXR5OiAwLjQ7XG59XG5cbi8qIFRhc2sgQ2FyZHMgKi9cbi50Zy1xdWFkcmFudC1jYXJkIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0zKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zKTtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQ6YWN0aXZlIHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZDpsYXN0LWNoaWxkIHtcblx0bWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyogQ2FyZCBIZWFkZXIgKi9cbi50Zy1xdWFkcmFudC1jYXJkLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0yKTtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLWNoZWNrYm94IHtcblx0ZmxleC1zaHJpbms6IDA7XG5cdG1hcmdpbi10b3A6IDJweDtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQtYWN0aW9ucyB7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRvcGFjaXR5OiAwO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQ6aG92ZXIgLnRnLXF1YWRyYW50LWNhcmQtYWN0aW9ucyB7XG5cdG9wYWNpdHk6IDE7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLW1vcmUtYnRuIHtcblx0YmFja2dyb3VuZDogbm9uZTtcblx0Ym9yZGVyOiBub25lO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5cdHdpZHRoOiAyNHB4O1xuXHRoZWlnaHQ6IDI0cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC1tb3JlLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4vKiBDYXJkIENvbnRlbnQgKi9cbi50Zy1xdWFkcmFudC1jYXJkLWNvbnRlbnQge1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMik7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLXRpdGxlIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0bGluZS1oZWlnaHQ6IDEuNDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTEpO1xuXHR3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LW5vcm1hbCk7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLXByaW9yaXR5IHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNpemUtMi0xKTtcblx0b3BhY2l0eTogMC44O1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC10YWdzIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRnYXA6IHZhcigtLXNpemUtMi0xKTtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS0yLTIpO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC10YWcge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0yKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LW1lZGl1bSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC10YWc6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRnLXF1YWRyYW50LXRhZy0tdXJnZW50IHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLnRnLXF1YWRyYW50LXRhZy0taW1wb3J0YW50IHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG59XG5cbi8qIENhcmQgTWV0YWRhdGEgKi9cbi50Zy1xdWFkcmFudC1jYXJkLW1ldGFkYXRhIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLWR1ZS1kYXRlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTItMSk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0yKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1tZWRpdW0pO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC1kdWUtZGF0ZS1pY29uIHtcblx0d2lkdGg6IDEycHg7XG5cdGhlaWdodDogMTJweDtcblx0b3BhY2l0eTogMC43O1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC1kdWUtZGF0ZS0tdXJnZW50IHtcblx0Y29sb3I6IHZhcigtLXRleHQtd2FybmluZyk7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLWR1ZS1kYXRlLS1vdmVyZHVlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC1maWxlLWluZm8ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRvcGFjaXR5OiAwLjc7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZDpob3ZlciAudGctcXVhZHJhbnQtY2FyZC1maWxlLWluZm8ge1xuXHRvcGFjaXR5OiAxO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC1maWxlLWljb24ge1xuXHR3aWR0aDogMTJweDtcblx0aGVpZ2h0OiAxMnB4O1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC1maWxlLW5hbWUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdG1heC13aWR0aDogMTIwcHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC1saW5lIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdG9wYWNpdHk6IDAuNjtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtbWVkaXVtKTtcbn1cblxuLyogUHJpb3JpdHkgQ2xhc3NlcyAtIFN1YnRsZSBsZWZ0IGJvcmRlciAqL1xuLnRnLXF1YWRyYW50LWNhcmQtLXByaW9yaXR5LWhpZ2hlc3Qge1xuXHRib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC0tcHJpb3JpdHktaGlnaCB7XG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tdGV4dC13YXJuaW5nKTtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQtLXByaW9yaXR5LW1lZGl1bSB7XG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tY29sb3ItYWNjZW50KTtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQtLXByaW9yaXR5LWxvdyB7XG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tdGV4dC1zdWNjZXNzKTtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQtLXByaW9yaXR5LWxvd2VzdCB7XG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi8qIERyYWcgYW5kIERyb3AgU3RhdGVzICovXG4udGctcXVhZHJhbnQtY2FyZC0tZ2hvc3Qge1xuXHRvcGFjaXR5OiAwLjQ7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyOiAycHggZGFzaGVkIHZhcigtLWNvbG9yLWFjY2VudCk7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLS1kcmFnZ2luZyB7XG5cdC8qIFN0eWxlIGZvciB0aGUgY2xvbmUgYmVpbmcgZHJhZ2dlZCAtIGZvbGxvd2luZyBrYW5iYW4gcGF0dGVybiAqL1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbCk7IC8qIE1vcmUgcHJvbWluZW50IHNoYWRvdyAqL1xufVxuXG4vKiBSZW1vdmUgb2xkIGRyYWcgY2xhc3NlcyB0aGF0IGFyZSBubyBsb25nZXIgdXNlZCAqL1xuLnRnLXF1YWRyYW50LWNhcmQtLWNob3NlbiB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zKTtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQtLWRyYWcge1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbCk7XG5cdHotaW5kZXg6IDEwMDA7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbn1cblxuLyogRW1wdHkgU3RhdGUgKi9cbi50Zy1xdWFkcmFudC1lbXB0eS1zdGF0ZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRoZWlnaHQ6IDEyMHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpO1xuXHRvcGFjaXR5OiAwLjg7XG59XG5cbi50Zy1xdWFkcmFudC1lbXB0eS1pY29uIHtcblx0d2lkdGg6IDMycHg7XG5cdGhlaWdodDogMzJweDtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTMpO1xuXHRvcGFjaXR5OiAwLjU7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcbn1cblxuLnRnLXF1YWRyYW50LWVtcHR5LW1lc3NhZ2Uge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRsaW5lLWhlaWdodDogMS40O1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1tZWRpdW0pO1xufVxuXG4vKiBSZXNwb25zaXZlIERlc2lnbiAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC50Zy1xdWFkcmFudC1ncmlkIHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblx0XHRncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCg0LCAxZnIpO1xuXHR9XG5cblx0LnRnLXF1YWRyYW50LWhlYWRlciB7XG5cdFx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTMpIHZhcigtLXNpemUtNC0yKTtcblx0fVxuXG5cdC50Zy1xdWFkcmFudC1jb2x1bW4gLnRnLXF1YWRyYW50LWhlYWRlciB7XG5cdFx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTMpIHZhcigtLXNpemUtNC0yKTtcblx0fVxuXG5cdC50Zy1xdWFkcmFudC1jYXJkIHtcblx0XHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMyk7XG5cdH1cblxuXHQudGctcXVhZHJhbnQtY2FyZC10aXRsZSB7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHR9XG5cblx0LnRnLXF1YWRyYW50LWNvbnRyb2xzIHtcblx0XHRnYXA6IHZhcigtLXNpemUtMi0yKTtcblx0fVxufVxuXG4vKiBGb2N1cyBzdGF0ZXMgZm9yIGFjY2Vzc2liaWxpdHkgKi9cbi50Zy1xdWFkcmFudC1jYXJkOmZvY3VzIHtcblx0b3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWFjY2VudCk7XG5cdG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLW1vcmUtYnRuOmZvY3VzIHtcblx0b3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWFjY2VudCk7XG5cdG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbi8qIEFuaW1hdGlvbiBmb3Igc21vb3RoIGludGVyYWN0aW9ucyAqL1xuQGtleWZyYW1lcyBjYXJkQ29tcGxldGUge1xuXHQwJSB7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0fVxuXHQ1MCUge1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG5cdH1cblx0MTAwJSB7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0fVxufVxuXG4udGctcXVhZHJhbnQtY2FyZC0tY29tcGxldGVkIHtcblx0YW5pbWF0aW9uOiBjYXJkQ29tcGxldGUgMC4zcyBlYXNlLWluLW91dDtcbn1cblxuLyogSW1wcm92ZWQgaG92ZXIgc3RhdGVzICovXG4udGctcXVhZHJhbnQtY2FyZDpob3ZlciAudGctcXVhZHJhbnQtY2FyZC10aXRsZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkOmhvdmVyIC50Zy1xdWFkcmFudC1jYXJkLXByaW9yaXR5IHtcblx0b3BhY2l0eTogMTtcbn1cblxuLyogQmV0dGVyIHZpc3VhbCBoaWVyYXJjaHkgKi9cbi50Zy1xdWFkcmFudC1jYXJkLWNvbnRlbnQge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qIExhenkgbG9hZGluZyBzdHlsZXMgKi9cbi50Zy1xdWFkcmFudC1sb2FkaW5nIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHBhZGRpbmc6IDJyZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWluLWhlaWdodDogMTAwcHg7XG59XG5cbi50Zy1xdWFkcmFudC1sb2FkaW5nLXNwaW5uZXIge1xuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4udGctcXVhZHJhbnQtc3Bpbm5lciB7XG5cdHdpZHRoOiAyNHB4O1xuXHRoZWlnaHQ6IDI0cHg7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xufVxuXG4udGctcXVhZHJhbnQtbG9hZGluZy1tZXNzYWdlIHtcblx0Zm9udC1zaXplOiAwLjlyZW07XG5cdG9wYWNpdHk6IDAuNztcbn1cblxuLyogRW5oYW5jZWQgZHJhZyBhbmQgZHJvcCBzdHlsZXMgKi9cbi50Zy1xdWFkcmFudC1kcmFnZ2luZyB7XG5cdGN1cnNvcjogZ3JhYmJpbmcgIWltcG9ydGFudDtcbn1cblxuLnRnLXF1YWRyYW50LWRyYWdnaW5nICoge1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQtLWdob3N0IHtcblx0b3BhY2l0eTogMC40O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlcjogMnB4IGRhc2hlZCB2YXIoLS1jb2xvci1hY2NlbnQpO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC0tY2hvc2VuIHtcblx0Ym94LXNoYWRvdzogMCA4cHggMjVweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuXHR0cmFuc2Zvcm06IHNjYWxlKDEuMDIpO1xuXHR6LWluZGV4OiAxMDAwO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1hY2NlbnQpO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC0tZHJhZyB7XG5cdG9wYWNpdHk6IDAuODtcblx0Ym94LXNoYWRvdzogMCAxMnB4IDMwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC0tZmFsbGJhY2sge1xuXHRvcGFjaXR5OiAwLjk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWFjY2VudCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0Ym94LXNoYWRvdzogMCA4cHggMjVweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xufVxuXG4udGctcXVhZHJhbnQtY29sdW1uLS1kcmFnLXRhcmdldCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRib3JkZXI6IDJweCBkYXNoZWQgdmFyKC0tY29sb3ItYWNjZW50KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xufVxuXG4udGctcXVhZHJhbnQtY29sdW1uLWNvbnRlbnQtLWRyb3AtYWN0aXZlIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUtaG92ZXIpO1xuXHRib3JkZXI6IDJweCBkYXNoZWQgdmFyKC0tY29sb3ItYWNjZW50KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRtaW4taGVpZ2h0OiA2MHB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi50Zy1xdWFkcmFudC1jb2x1bW4tY29udGVudC0tZHJvcC1hY3RpdmU6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiRHJvcCB0YXNrIGhlcmVcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDUwJTtcblx0bGVmdDogNTAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG5cdGZvbnQtc2l6ZTogMC45cmVtO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRvcGFjaXR5OiAwLjc7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHR6LWluZGV4OiAxO1xufVxuXG4vKiBGZWVkYmFjayBzdHlsZXMgKi9cbi50Zy1xdWFkcmFudC11cGRhdGUtZmVlZGJhY2sge1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHRvcDogMjBweDtcblx0cmlnaHQ6IDIwcHg7XG5cdHotaW5kZXg6IDEwMDAwO1xuXHRvcGFjaXR5OiAwO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG5cdHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4udGctcXVhZHJhbnQtZmVlZGJhY2stLXNob3cge1xuXHRvcGFjaXR5OiAxO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG5cbi50Zy1xdWFkcmFudC1mZWVkYmFjay0taGlkZSB7XG5cdG9wYWNpdHk6IDA7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cblxuLnRnLXF1YWRyYW50LWZlZWRiYWNrLWNvbnRlbnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDAuNXJlbTtcblx0cGFkZGluZzogMC43NXJlbSAxcmVtO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0Ym94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG5cdG1pbi13aWR0aDogMjAwcHg7XG59XG5cbi50Zy1xdWFkcmFudC1mZWVkYmFjay0tZXJyb3IgLnRnLXF1YWRyYW50LWZlZWRiYWNrLWNvbnRlbnQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4udGctcXVhZHJhbnQtZmVlZGJhY2staWNvbiB7XG5cdGZvbnQtc2l6ZTogMS4ycmVtO1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLnRnLXF1YWRyYW50LWZlZWRiYWNrLXRleHQge1xuXHRmb250LXNpemU6IDAuOXJlbTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLyogRW5oYW5jZWQgY2FyZCBpbnRlcmFjdGlvbnMgKi9cbi50Zy1xdWFkcmFudC1jYXJkIHtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcblx0Y3Vyc29yOiBncmFiO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZDpob3ZlciB7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcblx0Ym94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkOmFjdGl2ZSB7XG5cdGN1cnNvcjogZ3JhYmJpbmc7XG59XG5cbi8qIEltcHJvdmVkIGVtcHR5IHN0YXRlICovXG4udGctcXVhZHJhbnQtZW1wdHktc3RhdGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0cGFkZGluZzogMnJlbSAxcmVtO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWluLWhlaWdodDogMTIwcHg7XG5cdGJvcmRlcjogMnB4IGRhc2hlZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0bWFyZ2luOiAwLjVyZW0gMDtcbn1cblxuLnRnLXF1YWRyYW50LWVtcHR5LWljb24ge1xuXHRtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xuXHRvcGFjaXR5OiAwLjU7XG59XG5cbi50Zy1xdWFkcmFudC1lbXB0eS1tZXNzYWdlIHtcblx0Zm9udC1zaXplOiAwLjlyZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG5cdG1heC13aWR0aDogMjAwcHg7XG59XG5cbi8qIExvYWRpbmcgYW5pbWF0aW9uICovXG5Aa2V5ZnJhbWVzIHNwaW4ge1xuXHQwJSB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG5cdH1cblx0MTAwJSB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcblx0fVxufVxuXG4udGctcXVhZHJhbnQtc3Bpbm5lciBjaXJjbGUge1xuXHRhbmltYXRpb246IHNwaW4gMnMgbGluZWFyIGluZmluaXRlO1xuXHR0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG59XG5cbi8qIFJlc3BvbnNpdmUgYWRqdXN0bWVudHMgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQudGctcXVhZHJhbnQtdXBkYXRlLWZlZWRiYWNrIHtcblx0XHR0b3A6IDEwcHg7XG5cdFx0cmlnaHQ6IDEwcHg7XG5cdFx0bGVmdDogMTBweDtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuXHR9XG5cblx0LnRnLXF1YWRyYW50LWZlZWRiYWNrLS1zaG93IHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdH1cblxuXHQudGctcXVhZHJhbnQtZmVlZGJhY2stLWhpZGUge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG5cdH1cblxuXHQudGctcXVhZHJhbnQtZmVlZGJhY2stY29udGVudCB7XG5cdFx0bWluLXdpZHRoOiBhdXRvO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG59XG5cbi8qIERhcmsgbW9kZSBhZGp1c3RtZW50cyAqL1xuLnRoZW1lLWRhcmsgLnRnLXF1YWRyYW50LWNhcmQtLWNob3NlbiB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1hbHQpO1xuXHRib3gtc2hhZG93OiAwIDhweCAyNXB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbn1cblxuLnRoZW1lLWRhcmsgLnRnLXF1YWRyYW50LWNhcmQtLWZhbGxiYWNrIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCk7XG5cdGJveC1zaGFkb3c6IDAgOHB4IDI1cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xufVxuXG4udGhlbWUtZGFyayAudGctcXVhZHJhbnQtZmVlZGJhY2stY29udGVudCB7XG5cdGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjMpO1xufVxuXG4vKiBBY2Nlc3NpYmlsaXR5IGltcHJvdmVtZW50cyAqL1xuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcblx0LnRnLXF1YWRyYW50LWNhcmQsXG5cdC50Zy1xdWFkcmFudC11cGRhdGUtZmVlZGJhY2ssXG5cdC50Zy1xdWFkcmFudC1jYXJkLS1jaG9zZW4sXG5cdC50Zy1xdWFkcmFudC1jYXJkLS1kcmFnIHtcblx0XHR0cmFuc2l0aW9uOiBub25lO1xuXHRcdGFuaW1hdGlvbjogbm9uZTtcblx0fVxuXG5cdC50Zy1xdWFkcmFudC1zcGlubmVyIGNpcmNsZSB7XG5cdFx0YW5pbWF0aW9uOiBub25lO1xuXHR9XG59XG5cbi8qIFNjcm9sbCBjb250YWluZXIgc3R5bGVzICovXG4udGctcXVhZHJhbnQtc2Nyb2xsLWNvbnRhaW5lciB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdG92ZXJmbG93LXg6IGhpZGRlbjtcblx0bWF4LWhlaWdodDogNzB2aDtcblx0c2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xuXHRzY3JvbGxiYXItY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKSB0cmFuc3BhcmVudDtcbn1cblxuLnRnLXF1YWRyYW50LXNjcm9sbC1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcblx0d2lkdGg6IDZweDtcbn1cblxuLnRnLXF1YWRyYW50LXNjcm9sbC1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi50Zy1xdWFkcmFudC1zY3JvbGwtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xufVxuXG4udGctcXVhZHJhbnQtc2Nyb2xsLWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG59XG5cbi8qIExvYWQgbW9yZSBpbmRpY2F0b3Igc3R5bGVzICovXG4udGctcXVhZHJhbnQtbG9hZC1tb3JlIHtcblx0ZGlzcGxheTogbm9uZTtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHBhZGRpbmc6IDFyZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0bWFyZ2luLXRvcDogMC41cmVtO1xufVxuXG4udGctcXVhZHJhbnQtbG9hZC1tb3JlLS12aXNpYmxlIHtcblx0ZGlzcGxheTogZmxleDtcbn1cblxuLnRnLXF1YWRyYW50LWxvYWQtbW9yZS1zcGlubmVyIHtcblx0bWFyZ2luLWJvdHRvbTogMC41cmVtO1xuXHR3aWR0aDogMjRweDtcblx0aGVpZ2h0OiAyNHB4O1xuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLyogQW5pbWF0ZSB0aGUgT2JzaWRpYW4gbG9hZGVyIGljb24gKi9cbi50Zy1xdWFkcmFudC1sb2FkLW1vcmUtc3Bpbm5lciBzdmcge1xuXHRhbmltYXRpb246IHNwaW4gMXMgbGluZWFyIGluZmluaXRlO1xufVxuXG4udGctcXVhZHJhbnQtbG9hZC1tb3JlLW1lc3NhZ2Uge1xuXHRmb250LXNpemU6IDAuOHJlbTtcblx0b3BhY2l0eTogMC43O1xufVxuXG4vKiBDb2x1bW4gbGF5b3V0IGFkanVzdG1lbnRzIGZvciBzY3JvbGxpbmcgKi9cbi50Zy1xdWFkcmFudC1jb2x1bW4ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG1pbi1oZWlnaHQ6IDQwMHB4O1xuXHRtYXgtaGVpZ2h0OiA4MHZoO1xufVxuXG4udGctcXVhZHJhbnQtY29sdW1uLWNvbnRlbnQge1xuXHRmbGV4OiAxO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDAuNXJlbTtcblx0cGFkZGluZzogMC41cmVtO1xufVxuXG4vKiBTbW9vdGggc2Nyb2xsaW5nICovXG4udGctcXVhZHJhbnQtc2Nyb2xsLWNvbnRhaW5lciB7XG5cdHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xufVxuXG4vKiBMb2FkaW5nIHN0YXRlcyBkdXJpbmcgc2Nyb2xsICovXG4udGctcXVhZHJhbnQtY29sdW1uLmxvYWRpbmctbW9yZSAudGctcXVhZHJhbnQtbG9hZC1tb3JlIHtcblx0b3BhY2l0eTogMTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8qIEludGVyc2VjdGlvbiBvYnNlcnZlciB0YXJnZXQgc3R5bGluZyAqL1xuLnRnLXF1YWRyYW50LWxvYWQtbW9yZSB7XG5cdG1pbi1oZWlnaHQ6IDQwcHg7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xufVxuXG4vKiBFbmhhbmNlZCBlbXB0eSBzdGF0ZSBmb3Igc2Nyb2xsYWJsZSBjb250ZW50ICovXG4udGctcXVhZHJhbnQtY29sdW1uLWNvbnRlbnQ6ZW1wdHk6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtaW4taGVpZ2h0OiAxMDBweDtcbn1cblxuLyogR3JpZCBsYXlvdXQgYWRqdXN0bWVudHMgKi9cbi50Zy1xdWFkcmFudC1ncmlkIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcblx0aGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjAwcHgpO1xuXHRtaW4taGVpZ2h0OiA0MDBweDtcbn1cblxuLyogUmVzcG9uc2l2ZSBzY3JvbGwgY29udGFpbmVyIGhlaWdodHMgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAxMjAwcHgpIHtcblx0LnRnLXF1YWRyYW50LXNjcm9sbC1jb250YWluZXIge1xuXHRcdG1heC1oZWlnaHQ6IDYwdmg7XG5cdH1cblxuXHQudGctcXVhZHJhbnQtY29sdW1uIHtcblx0XHRtYXgtaGVpZ2h0OiA3MHZoO1xuXHR9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQudGctcXVhZHJhbnQtc2Nyb2xsLWNvbnRhaW5lciB7XG5cdFx0bWF4LWhlaWdodDogNTB2aDtcblx0fVxuXG5cdC50Zy1xdWFkcmFudC1jb2x1bW4ge1xuXHRcdG1heC1oZWlnaHQ6IDYwdmg7XG5cdFx0bWluLWhlaWdodDogMzAwcHg7XG5cdH1cblxuXHQudGctcXVhZHJhbnQtZ3JpZCB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHR9XG59XG5cbi8qIFBlcmZvcm1hbmNlIG9wdGltaXphdGlvbnMgKi9cbi50Zy1xdWFkcmFudC1jb2x1bW4tY29udGVudCB7XG5cdGNvbnRhaW46IGxheW91dCBzdHlsZTtcblx0d2lsbC1jaGFuZ2U6IGNvbnRlbnRzO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZCB7XG5cdGNvbnRhaW46IGxheW91dCBzdHlsZSBwYWludDtcbn1cblxuLyogU2Nyb2xsIGluZGljYXRvcnMgKi9cbi50Zy1xdWFkcmFudC1zY3JvbGwtY29udGFpbmVyLmhhcy1zY3JvbGw6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBzdGlja3k7XG5cdHRvcDogMDtcblx0aGVpZ2h0OiAxcHg7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcblx0XHR0byBib3R0b20sXG5cdFx0dmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KSxcblx0XHR0cmFuc3BhcmVudFxuXHQpO1xuXHR6LWluZGV4OiAxO1xufVxuXG4udGctcXVhZHJhbnQtc2Nyb2xsLWNvbnRhaW5lci5oYXMtc2Nyb2xsOjphZnRlciB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBzdGlja3k7XG5cdGJvdHRvbTogMDtcblx0aGVpZ2h0OiAxcHg7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSksIHRyYW5zcGFyZW50KTtcblx0ei1pbmRleDogMTtcbn1cbiIsICIvKiBUYXNrIFRpbWVyIFdpZGdldCBTdHlsZXMgLSBTaW1wbGUgVGV4dC1CYXNlZCAqL1xuXG4udGFzay10aW1lci13aWRnZXQge1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luOiA0cHggMDtcblx0cGFkZGluZzogMnB4IDA7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLyogU3RhcnQgYnV0dG9uIGFuZCBhY3Rpb24gbGlua3MgKi9cbi50YXNrLXRpbWVyLXN0YXJ0LFxuLnRhc2stdGltZXItYWN0aW9uIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLnRhc2stdGltZXItc3RhcnQ6aG92ZXIsXG4udGFzay10aW1lci1hY3Rpb246aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQtaG92ZXIpO1xufSIsICIvKiBFeHBlcmltZW50YWwgU2V0dGluZ3MgKi9cbi5leHBlcmltZW50YWwtc2V0dGluZ3Mtc2VjdGlvbiB7XG5cdG1hcmdpbjogMjBweCAwO1xufVxuXG4uZXhwZXJpbWVudGFsLXNlY3Rpb24taGVhZGluZyB7XG5cdG1hcmdpbjogMjBweCAwIDEwcHggMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmV4cGVyaW1lbnRhbC1zdWJzZWN0aW9uLWhlYWRpbmcge1xuXHRtYXJnaW46IDE1cHggMCA4cHggMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuXG4uZXhwZXJpbWVudGFsLXdhcm5pbmcge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0cGFkZGluZzogMTJweDtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRtYXJnaW46IDEwcHggMCAyMHB4IDA7XG5cdGJvcmRlci1sZWZ0OiA0cHggc29saWQgdmFyKC0tY29sb3ItcmVkKTtcbn1cblxuLmV4cGVyaW1lbnRhbC1kYXRhZmxvdy1zZWN0aW9uIHtcblx0bWFyZ2luOiAxNXB4IDA7XG5cdHBhZGRpbmc6IDE1cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xufVxuXG4uZXhwZXJpbWVudGFsLWluZm8ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC44NWVtO1xuXHRtYXJnaW4tdG9wOiA4cHg7XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi5leHBlcmltZW50YWwtcmVzdGFydC1ub3RpY2Uge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWZvcm0tZmllbGQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHBhZGRpbmc6IDhweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRtYXJnaW4tdG9wOiAxMHB4O1xuXHRmb250LXNpemU6IDAuODVlbTtcbn1cblxuLyogQ2hlY2tib3ggU3RhdHVzIEN5Y2xlIG1hbmFnZW1lbnQgVUkgKi9cbi50YXNrLXN0YXRlcy1jb250YWluZXIge1xuXHRtYXJnaW46IDEwcHggMDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA1cHg7XG5cdHBhZGRpbmc6IDEwcHg7XG59XG5cbi50YXNrLXN0YXRlLXJvdyB7XG5cdG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLnRhc2stc3RhdGUtcm93IC5zZXR0aW5nLWl0ZW0ge1xuXHRib3JkZXI6IG5vbmU7XG5cdHBhZGRpbmc6IDZweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4udGFzay1zdGF0ZS1yb3cgLnNldHRpbmctaXRlbS1pbmZvIHtcblx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG4udGFzay1zdGF0ZS1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0ZmxleC13cmFwOiBub3dyYXA7XG59XG5cbi50YXNrLXN0YXRlLXJvdyAuc2V0dGluZy1pdGVtLWNvbnRyb2wgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuXHRtYXJnaW4tcmlnaHQ6IDhweDtcbn1cblxuLnRhc2stc3RhdGUtcm93IC5leHRyYS1zZXR0aW5nLWJ1dHRvbiB7XG5cdHBhZGRpbmc6IDRweDtcblx0d2lkdGg6IDI0cHg7XG5cdGhlaWdodDogMjRweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRtYXJnaW4tbGVmdDogNHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnRhc2stc3RhdGUtcm93IC5zZXR0aW5nLWl0ZW0tY29udHJvbCBidXR0b24ge1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGFzay1zdGF0ZS1jb250YWluZXIge1xuXHRtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLWNoZWNrYm94LXNpemUpICogLTEpO1xufVxuXG4udGFzay1zdGF0ZS1jb250YWluZXIgLnRhc2stc3RhdGUge1xuXHRwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0tc2l6ZS0yLTEpO1xuXHRwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLXNpemUtMi0yKTtcblxuXHR0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcblxuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qIEV4cGVyaW1lbnRhbCBTZXR0aW5ncyAqL1xuLmV4cGVyaW1lbnRhbC1zZXR0aW5ncy1zZWN0aW9uIHtcblx0bWFyZ2luOiAyMHB4IDA7XG59XG5cbi5leHBlcmltZW50YWwtc2VjdGlvbi1oZWFkaW5nIHtcblx0bWFyZ2luOiAyMHB4IDAgMTBweCAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uZXhwZXJpbWVudGFsLXN1YnNlY3Rpb24taGVhZGluZyB7XG5cdG1hcmdpbjogMTVweCAwIDhweCAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi5leHBlcmltZW50YWwtd2FybmluZyB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRwYWRkaW5nOiAxMnB4O1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdG1hcmdpbjogMTBweCAwIDIwcHggMDtcblx0Ym9yZGVyLWxlZnQ6IDRweCBzb2xpZCB2YXIoLS1jb2xvci1yZWQpO1xufVxuXG4uZXhwZXJpbWVudGFsLWRhdGFmbG93LXNlY3Rpb24ge1xuXHRtYXJnaW46IDE1cHggMDtcblx0cGFkZGluZzogMTVweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG59XG5cbi5leHBlcmltZW50YWwtaW5mbyB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjg1ZW07XG5cdG1hcmdpbi10b3A6IDhweDtcblx0bGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLmV4cGVyaW1lbnRhbC1yZXN0YXJ0LW5vdGljZSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZm9ybS1maWVsZCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0cGFkZGluZzogOHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdG1hcmdpbi10b3A6IDEwcHg7XG5cdGZvbnQtc2l6ZTogMC44NWVtO1xufVxuXG4vKiBDaGVja2JveCBTdGF0dXMgQ3ljbGUgbWFuYWdlbWVudCBVSSAqL1xuLnRhc2stc3RhdGVzLWNvbnRhaW5lciB7XG5cdG1hcmdpbjogMTBweCAwO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDVweDtcblx0cGFkZGluZzogMTBweDtcbn1cblxuLnRhc2stc3RhdGUtcm93IHtcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4udGFzay1zdGF0ZS1yb3cgLnNldHRpbmctaXRlbSB7XG5cdGJvcmRlcjogbm9uZTtcblx0cGFkZGluZzogNnB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi50YXNrLXN0YXRlLXJvdyAuc2V0dGluZy1pdGVtLWluZm8ge1xuXHRtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbi50YXNrLXN0YXRlLXJvdyAuc2V0dGluZy1pdGVtLWNvbnRyb2wge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRmbGV4LXdyYXA6IG5vd3JhcDtcbn1cblxuLnRhc2stc3RhdGUtcm93IC5zZXR0aW5nLWl0ZW0tY29udHJvbCBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG5cdG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG4udGFzay1zdGF0ZS1yb3cgLmV4dHJhLXNldHRpbmctYnV0dG9uIHtcblx0cGFkZGluZzogNHB4O1xuXHR3aWR0aDogMjRweDtcblx0aGVpZ2h0OiAyNHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdG1hcmdpbi1sZWZ0OiA0cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4udGFzay1zdGF0ZS1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIGJ1dHRvbiB7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50YXNrLXN0YXRlLWNvbnRhaW5lciB7XG5cdG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0tY2hlY2tib3gtc2l6ZSkgKiAtMSk7XG59XG5cbi50YXNrLXN0YXRlLWNvbnRhaW5lciAudGFzay1zdGF0ZSB7XG5cdHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1zaXplLTItMSk7XG5cdHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0tc2l6ZS0yLTIpO1xuXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuXG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLyogQ2F0ZWdvcml6ZWQgdGFicyBjb250YWluZXIgKi9cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFicy1jYXRlZ29yaXplZC1jb250YWluZXIge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtNCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC00KTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtNik7XG59XG5cbi8qIENhdGVnb3J5IHNlY3Rpb24gKi9cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtY2F0ZWdvcnktc2VjdGlvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4vKiBDYXRlZ29yeSBoZWFkZXIgKi9cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtY2F0ZWdvcnktaGVhZGVyIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuXHRwYWRkaW5nOiAwIHZhcigtLXNpemUtNC0yKTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNpemUtNC0xKTtcbn1cblxuLyogQ2F0ZWdvcnkgdGFicyBjb250YWluZXIgKi9cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtY2F0ZWdvcnktdGFicyB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heCgyMDBweCwgMWZyKSk7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG5cdC50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtY2F0ZWdvcnktdGFicyB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDIwMHB4LCAxZnIpKTtcblx0fVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0LnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy1jYXRlZ29yeS10YWJzIHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblx0fVxufVxuXG4vKiBMZWdhY3kgdGFicyBjb250YWluZXIgKGZhbGxiYWNrKSAqL1xuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWJzLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG5cdGdyaWQtYXV0by1yb3dzOiB2YXIoLS1zaXplLTQtMTgpO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtNCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC00KTtcblx0aGVpZ2h0OiBmaXQtY29udGVudDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtNCk7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQudGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYnMtY29udGFpbmVyIHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuXHR9XG59XG5cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpIHZhcigtLXNpemUtNC00KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRtaW4taGVpZ2h0OiB2YXIoLS1zaXplLTQtMTIpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWI6OmFmdGVyIHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDEwcHg7XG5cdHJpZ2h0OiAtODBweDtcblx0d2lkdGg6IDIwMHB4O1xuXHRoZWlnaHQ6IDIwMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xuXHR0cmFuc2Zvcm06IHJvdGF0ZVooLTE1ZGVnKTtcblx0ei1pbmRleDogMDtcblx0b3BhY2l0eTogMC43O1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG59XG5cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiOmhvdmVyOjphZnRlciB7XG5cdHRyYW5zZm9ybTogcm90YXRlWigtMTBkZWcpO1xuXHRvcGFjaXR5OiAwLjk7XG59XG5cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiLWFjdGl2ZTo6YWZ0ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRvcGFjaXR5OiAwLjM7XG59XG5cbi8qIFRhYiBjb250ZW50IHN0eWxpbmcgKi9cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiLWljb24sXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYiBzcGFuLFxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWItbGFiZWwge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDE7XG59XG5cbi8qIEVuaGFuY2VkIHRhYiBpY29uIHN0eWxpbmcgZm9yIGNhdGVnb3JpemVkIGxheW91dCAqL1xuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy1jYXRlZ29yeS10YWJzIC5zZXR0aW5ncy10YWItaWNvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogdmFyKC0tc2l6ZS00LTQpO1xuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC00KTtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtY2F0ZWdvcnktdGFicyAuc2V0dGluZ3MtdGFiLWljb24gc3ZnIHtcblx0d2lkdGg6IHZhcigtLWljb24tcyk7XG5cdGhlaWdodDogdmFyKC0taWNvbi1zKTtcbn1cblxuLyogRW5oYW5jZWQgdGFiIGxhYmVsIHN0eWxpbmcgZm9yIGNhdGVnb3JpemVkIGxheW91dCAqL1xuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy1jYXRlZ29yeS10YWJzIC5zZXR0aW5ncy10YWItbGFiZWwge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcblx0ZmxleDogMTtcblx0dGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLyogRW5oYW5jZWQgaG92ZXIgYW5kIGFjdGl2ZSBzdGF0ZXMgZm9yIGNhdGVnb3JpemVkIHRhYnMgKi9cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtY2F0ZWdvcnktdGFicyAuc2V0dGluZ3MtdGFiOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1tKTtcbn1cblxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy1jYXRlZ29yeS10YWJzIC5zZXR0aW5ncy10YWItYWN0aXZlIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbSk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG59XG5cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtY2F0ZWdvcnktdGFicyAuc2V0dGluZ3MtdGFiLWFjdGl2ZTpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xufVxuXG4vKiBMZWdhY3kgdGFiIHN0eWxlcyAoZmFsbGJhY2spICovXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYi1hY3RpdmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYi1zZWN0aW9ucyB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiLXNlY3Rpb24ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYi1zZWN0aW9uLWFjdGl2ZSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYi1zZWN0aW9uLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC00KTtcbn1cblxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWItc2VjdGlvbi1oZWFkZXIgLmhlYWRlci1idXR0b24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Z2FwOiA0cHg7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG59XG5cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiLXNlY3Rpb24taGVhZGVyIC5oZWFkZXItYnV0dG9uLWljb24ge1xuXHQtLWljb24tc2l6ZTogMTZweDtcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLyogVGFiIHNlY3Rpb24gaGVhZGVyIHZpc2liaWxpdHkgcnVsZXMgKi9cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiW2RhdGEtdGFiLWlkPVwiZ2VuZXJhbFwiXSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEhpZGUgY2F0ZWdvcml6ZWQgdGFicyBjb250YWluZXIgd2hlbiBhbnkgbm9uLWdlbmVyYWwgdGFiIGlzIGFjdGl2ZSAqL1xuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWJzLWNhdGVnb3JpemVkLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG59XG5cbi50YXNrLWdlbml1cy1zZXR0aW5nczpoYXMoXG5cdFx0LnNldHRpbmdzLXRhYi1zZWN0aW9uLWFjdGl2ZTpub3QoW2RhdGEtdGFiLWlkPVwiZ2VuZXJhbFwiXSlcblx0KVxuLnNldHRpbmdzLXRhYnMtY2F0ZWdvcml6ZWQtY29udGFpbmVyIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLyogTGVnYWN5IHRhYnMgY29udGFpbmVyIHZpc2liaWxpdHkgKGZhbGxiYWNrKSAqL1xuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWJzLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIFNob3cgbGVnYWN5IHRhYnMgd2hlbiBnZW5lcmFsIHRhYiBpcyBhY3RpdmUgKGZhbGxiYWNrIGJlaGF2aW9yKSAqL1xuLnRhc2stZ2VuaXVzLXNldHRpbmdzOmhhcyguc2V0dGluZ3MtdGFiLWFjdGl2ZVtkYXRhLXRhYi1pZD1cImdlbmVyYWxcIl0pXG4uc2V0dGluZ3MtdGFicy1jb250YWluZXIge1xuXHRkaXNwbGF5OiBncmlkO1xufVxuXG4vKiBTZXR0aW5ncyBoZWFkZXIgdmlzaWJpbGl0eSAtIGhpZGUgd2hlbiBub24tZ2VuZXJhbCB0YWIgaXMgYWN0aXZlICovXG4udGFzay1nZW5pdXMtc2V0dGluZ3MtaGVhZGVyIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi50YXNrLWdlbml1cy1zZXR0aW5nczpoYXMoXG5cdFx0LnNldHRpbmdzLXRhYi1zZWN0aW9uLWFjdGl2ZTpub3QoW2RhdGEtdGFiLWlkPVwiZ2VuZXJhbFwiXSlcblx0KVxuLnRhc2stZ2VuaXVzLXNldHRpbmdzLWhlYWRlciB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEV4cHJlc3Npb24gZXhhbXBsZXMgaW4gc2V0dGluZ3MgKi9cbi5leHByZXNzaW9uLWV4YW1wbGVzIHtcblx0bWFyZ2luLXRvcDogOHB4O1xuXHRib3JkZXItcmFkaXVzOiA1cHg7XG59XG5cbi5leHByZXNzaW9uLWV4YW1wbGUtaXRlbSB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0zKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNpemUtNC0zKTtcblx0cGFkZGluZy1yaWdodDogdmFyKC0tc2l6ZS00LTMpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdC8qIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7ICovXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogNnB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5leHByZXNzaW9uLWV4YW1wbGUtbmFtZSB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uZXhwcmVzc2lvbi1leGFtcGxlLWNvZGUge1xuXHRwYWRkaW5nOiA0cHggOHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0b3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcblx0dXNlci1zZWxlY3Q6IHRleHQ7XG59XG5cbi5leHByZXNzaW9uLWV4YW1wbGUtdXNlIHtcblx0YWxpZ24tc2VsZjogZmxleC1lbmQ7XG5cdG1hcmdpbi10b3A6IDRweDtcbn1cblxuLmN1c3RvbS1mb3JtYXQtdGV4dGFyZWEge1xuXHRoZWlnaHQ6IDIwMHB4O1xuXHR3aWR0aDogMTAwJTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcblx0cmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuLmN1c3RvbS1mb3JtYXQtcHJldmlldy1jb250YWluZXIge1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5jdXN0b20tZm9ybWF0LXByZXZpZXctbGFiZWwge1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5jdXN0b20tZm9ybWF0LXByZXZpZXctY29udGVudCB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1pbnRlcmZhY2UpO1xufVxuXG4uY3VzdG9tLWZvcm1hdC1wbGFjZWhvbGRlci1pbmZvIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG5cblx0dXNlci1zZWxlY3Q6IHRleHQ7XG59XG5cbi5jdXN0b20tZm9ybWF0LXByZXZpZXctZXJyb3IsXG4uZXhwcmVzc2lvbi1wcmV2aWV3LWVycm9yIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4vKiBcdTg4NjhcdThGQkVcdTVGMEZcdTc5M0FcdTRGOEJcdTk4ODRcdTg5QzhcdTY4MzdcdTVGMEYgKi9cbi5leHByZXNzaW9uLWV4YW1wbGUtcHJldmlldyB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktYWx0KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuXG4ucHJlc2V0LWZpbHRlcnMtY29udGFpbmVyIHtcblx0bWFyZ2luLXRvcDogMTBweDtcblx0cGFkZGluZzogOHB4O1xuXHRib3JkZXItcmFkaXVzOiA1cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLnByZXNldC1maWx0ZXItcm93IHtcblx0bWFyZ2luLWJvdHRvbTogNXB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zaXplLTQtMik7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc2l6ZS00LTIpO1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zaXplLTQtMik7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xufVxuXG4ucHJlc2V0LWZpbHRlci1yb3c6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xufVxuXG4ubm8tcHJlc2V0cy1tZXNzYWdlIHtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogMTVweDtcbn1cblxuLnByZXNldC1zYXZlZC1tZXNzYWdlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogNXB4O1xuXHRtYXJnaW4tdG9wOiA1cHg7XG5cdGFuaW1hdGlvbjogZmFkZUluIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG5cbi50YXNrLWZpbHRlci1zYXZlLXByZXNldCB7XG5cdG1hcmdpbi10b3A6IDE1cHg7XG5cdHBhZGRpbmc6IDEwcHg7XG5cdGJvcmRlci1yYWRpdXM6IDVweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcbn1cblxuLnRnLW1vZGFsLWJ1dHRvbi1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRnYXA6IDEwcHg7XG5cdG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi50Zy1tb2RhbC1idXR0b24tY29udGFpbmVyIGJ1dHRvbiB7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4udGctbW9kYWwtYnV0dG9uLWNvbnRhaW5lciBidXR0b24ubW9kLXdhcm5pbmcge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcblx0Y29sb3I6IHdoaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG5cdGZyb20ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cbn1cblxuLm1vZGFsLXdvcmtmbG93LWRlZmluaXRpb24ge1xuXHRtYXgtd2lkdGg6IDgwMHB4O1xuXHR3aWR0aDogOTB2dztcbn1cblxuLm1vZGFsLXN0YWdlLWRlZmluaXRpb24ge1xuXHRtYXgtd2lkdGg6IDgwMHB4O1xuXHR3aWR0aDogOTB2dztcbn1cblxuLyogV29ya2Zsb3cgc2V0dGluZ3MgcGFuZWwgaW1wcm92ZW1lbnRzICovXG4ud29ya2Zsb3ctY29udGFpbmVyIHtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA1cHg7XG5cdHBhZGRpbmc6IDE1cHg7XG5cdG1heC1oZWlnaHQ6IDUwMHB4O1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3gtc2hhZG93OiAwIDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbn1cblxuLndvcmtmbG93LXJvdyB7XG5cdG1hcmdpbi1ib3R0b206IDE1cHg7XG5cdHBhZGRpbmc6IDEycHg7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcblx0Ym94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLndvcmtmbG93LXJvdyAuc2V0dGluZy1pdGVtIHtcblx0Ym9yZGVyOiBub25lO1xuXHRwYWRkaW5nOiAwO1xufVxuXG4ud29ya2Zsb3ctcm93IC5zZXR0aW5nLWl0ZW0taW5mbyB7XG5cdHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuLndvcmtmbG93LXJvdyAuc2V0dGluZy1pdGVtLW5hbWUge1xuXHRmb250LXNpemU6IDE2cHg7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi53b3JrZmxvdy1yb3cgLnNldHRpbmctaXRlbS1kZXNjcmlwdGlvbiB7XG5cdGZvbnQtc2l6ZTogMTNweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tdG9wOiA0cHg7XG59XG5cbi53b3JrZmxvdy1zdGFnZXMtaW5mbyB7XG5cdG1hcmdpbi10b3A6IDEycHg7XG5cdHBhZGRpbmc6IDhweCAwIDAgMDtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLndvcmtmbG93LXN0YWdlcy1saXN0IHtcblx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IDA7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1pdGVtIHtcblx0cGFkZGluZzogNHB4IDhweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRmb250LXNpemU6IDEycHg7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1jeWNsZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhc2staW4tcHJvZ3Jlc3MtY29sb3IpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtdGVybWluYWwge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10YXNrLWNvbXBsZXRlZC1jb2xvcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi5uby13b3JrZmxvd3MtbWVzc2FnZSB7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDE1cHg7XG59XG5cbi8qIFdvcmtmbG93IG1vZGFsIHN0eWxlcyAqL1xuLndvcmtmbG93LWZvcm0ge1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4ud29ya2Zsb3ctc3RhZ2VzLXNlY3Rpb24ge1xuXHRtYXJnaW4tdG9wOiAyMHB4O1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nLXRvcDogMTVweDtcbn1cblxuLndvcmtmbG93LXN0YWdlcy1zZWN0aW9uIGgyIHtcblx0bWFyZ2luLXRvcDogMDtcblx0bWFyZ2luLWJvdHRvbTogMTVweDtcblx0Zm9udC1zaXplOiAxLjNlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLndvcmtmbG93LXN0YWdlcy1jb250YWluZXIge1xuXHRtYXJnaW4tdG9wOiAxNXB4O1xufVxuXG4ud29ya2Zsb3ctc3RhZ2VzLWNvbnRhaW5lciAud29ya2Zsb3ctc3RhZ2VzLWxpc3Qge1xuXHRkaXNwbGF5OiBibG9jaztcblx0ZmxleC13cmFwOiB1bnNldDtcblx0Z2FwOiB1bnNldDtcbn1cblxuLndvcmtmbG93LXN0YWdlcy1jb250YWluZXIgLndvcmtmbG93LXN0YWdlLWl0ZW0ge1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0cGFkZGluZzogMDtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi53b3JrZmxvdy1idXR0b25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0Z2FwOiAxMHB4O1xuXHRtYXJnaW4tdG9wOiAyMHB4O1xuXHRwYWRkaW5nLXRvcDogMTBweDtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLndvcmtmbG93LXNhdmUtYnV0dG9uLFxuLndvcmtmbG93LWNhbmNlbC1idXR0b24sXG4ud29ya2Zsb3ctYWRkLXN0YWdlLWJ1dHRvbiB7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLndvcmtmbG93LXNhdmUtYnV0dG9uLm1vZC1jdGEge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ud29ya2Zsb3ctY2FuY2VsLWJ1dHRvbiB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLndvcmtmbG93LWFkZC1zdGFnZS1idXR0b24ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4ubm8tc3RhZ2VzLW1lc3NhZ2Uge1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiAxNXB4O1xufVxuXG4vKiBTdGFnZSBlZGl0aW5nIHN0eWxlcyAqL1xuLndvcmtmbG93LXN0YWdlLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0cGFkZGluZzogOHB4IDEycHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRtYXJnaW4tYm90dG9tOiA4cHg7XG5cdGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1uYW1lIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0ZmxleDogMTtcblx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtYWN0aW9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogNXB4O1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtZWRpdCxcbi53b3JrZmxvdy1zdGFnZS1tb3ZlLXVwLFxuLndvcmtmbG93LXN0YWdlLW1vdmUtZG93bixcbi53b3JrZmxvdy1zdGFnZS1kZWxldGUge1xuXHRwYWRkaW5nOiAzcHggOHB4O1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXNpemU6IDEycHg7XG5cdGJvcmRlcjogbm9uZTtcbn1cblxuLndvcmtmbG93LXN0YWdlLWVkaXQ6aG92ZXIsXG4ud29ya2Zsb3ctc3RhZ2UtbW92ZS11cDpob3Zlcixcbi53b3JrZmxvdy1zdGFnZS1tb3ZlLWRvd246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtZGVsZXRlOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi53b3JrZmxvdy1zdGFnZS10eXBlLWJhZGdlIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwYWRkaW5nOiAycHggNnB4O1xuXHRtYXJnaW4tbGVmdDogOHB4O1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGZvbnQtc2l6ZTogMTBweDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLndvcmtmbG93LXN0YWdlLXR5cGUtbGluZWFyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtdHlwZS1jeWNsZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhc2staW4tcHJvZ3Jlc3MtY29sb3IpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtdHlwZS10ZXJtaW5hbCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhc2stY29tcGxldGVkLWNvbG9yKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLyogU3Vic3RhZ2Ugc3R5bGVzICovXG4ud29ya2Zsb3ctc3Vic3RhZ2VzLWxpc3Qge1xuXHRwYWRkaW5nOiAwIDAgMCB2YXIoLS1zaXplLTQtNik7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xuXHRib3JkZXItbGVmdDogMnB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLnN1YnN0YWdlLXNldHRpbmdzLWNvbnRhaW5lciB7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4vKiBTdGFnZSBlZGl0IG1vZGFsICovXG4uc3RhZ2UtdHlwZS1zZXR0aW5ncyB7XG5cdG1hcmdpbi10b3A6IDIwcHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRwYWRkaW5nOiAxNXB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xufVxuXG4uc3Vic3RhZ2VzLXNlY3Rpb24sXG4uY2FuLXByb2NlZWQtdG8tc2VjdGlvbiB7XG5cdG1hcmdpbi10b3A6IDIwcHg7XG5cdHBhZGRpbmctdG9wOiAxNXB4O1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uc3Vic3RhZ2VzLWNvbnRhaW5lcixcbi5jYW4tcHJvY2VlZC10by1jb250YWluZXIge1xuXHRtYXJnaW4tdG9wOiAxNXB4O1xuXHRwYWRkaW5nOiAxMHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5zdWJzdGFnZXMtbGlzdCxcbi5jYW4tcHJvY2VlZC1saXN0IHtcblx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IDA7XG59XG5cbi5zdWJzdGFnZS1uYW1lLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogMTBweDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0ZmxleDogMTtcbn1cblxuLnN1YnN0YWdlLW5hbWUtY29udGFpbmVyIGlucHV0IHtcblx0cGFkZGluZzogNHB4IDhweDtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG59XG5cbi5zdWJzdGFnZS1uZXh0LWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogNXB4O1xuXHRtYXJnaW4tbGVmdDogMTBweDtcbn1cblxuLnN1YnN0YWdlLXJlbW92ZS1idXR0b24sXG4uY2FuLXByb2NlZWQtcmVtb3ZlLWJ1dHRvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0cGFkZGluZzogMnB4IDVweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXI6IG5vbmU7XG59XG5cbi5zdWJzdGFnZS1yZW1vdmUtYnV0dG9uOmhvdmVyLFxuLmNhbi1wcm9jZWVkLXJlbW92ZS1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLmFkZC1zdWJzdGFnZS1idXR0b24sXG4uYWRkLWNhbi1wcm9jZWVkLWJ1dHRvbiB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdHBhZGRpbmc6IDRweCAxMHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdG1hcmdpbi10b3A6IDEwcHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Ym9yZGVyOiBub25lO1xufVxuXG4uYWRkLWNhbi1wcm9jZWVkLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogMTBweDtcblx0YWxpZ24taXRlbXM6IGZsZXgtZW5kO1xufVxuXG4uYWRkLWNhbi1wcm9jZWVkLXNlbGVjdCB7XG5cdGZsZXg6IDE7XG5cdHBhZGRpbmc6IDRweCA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uc3RhZ2UtYnV0dG9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdGdhcDogMTBweDtcblx0bWFyZ2luLXRvcDogMjBweDtcblx0cGFkZGluZy10b3A6IDEwcHg7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5zdGFnZS1zYXZlLWJ1dHRvbixcbi5zdGFnZS1jYW5jZWwtYnV0dG9uIHtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXI6IG5vbmU7XG59XG5cbi5zdGFnZS1zYXZlLWJ1dHRvbi5tb2QtY3RhIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLnN0YWdlLWNhbmNlbC1idXR0b24ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5zdGFnZS1lcnJvci1tZXNzYWdlIHtcblx0Y29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRtYXJnaW4tdG9wOiAxMHB4O1xuXHRwYWRkaW5nOiA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLyogV29ya2Zsb3cgdGFzayBpbiBlZGl0b3IvcHJldmlldyBtb2RlIHN0eWxlcyAqL1xuLnRhc2std29ya2Zsb3ctdGFnIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwYWRkaW5nOiAycHggNXB4O1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdG1hcmdpbi1sZWZ0OiA1cHg7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcbn1cblxuLnRhc2std29ya2Zsb3ctc3RhZ2Uge1xuXHRtYXJnaW4tbGVmdDogNXB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4udGFzay13b3JrZmxvdy1zdWJzdGFnZSB7XG5cdGZvbnQtc2l6ZTogMTFweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGFzay13b3JrZmxvdy1oaXN0b3J5IHtcblx0bWFyZ2luLWxlZnQ6IDIwcHg7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGFzay13b3JrZmxvdy10aW1lc3RhbXAge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG59XG5cbi8qIFdvcmtmbG93IHNldHRpbmdzIGRpc3BsYXkgZW5oYW5jZW1lbnRzICovXG4uc2V0dGluZy1pdGVtLWNvbnRyb2wgc3BhbltjbGFzc149XCJ3b3JrZmxvdy1zdGFnZS1uYW1lLVwiXSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cGFkZGluZzogMnB4IDZweDtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRmb250LXNpemU6IDEycHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdG1hcmdpbi1yaWdodDogNXB4O1xufVxuXG4uc2V0dGluZy1pdGVtLWNvbnRyb2wgLndvcmtmbG93LXN0YWdlLW5hbWUtY3ljbGUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10YXNrLWluLXByb2dyZXNzLWNvbG9yKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLnNldHRpbmctaXRlbS1jb250cm9sIC53b3JrZmxvdy1zdGFnZS1uYW1lLXRlcm1pbmFsIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGFzay1jb21wbGV0ZWQtY29sb3IpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtaXRlbSB7XG5cdG1hcmdpbi1yaWdodDogNHB4O1xufVxuXG4vKiBXb3JrZmxvd0RlZmluaXRpb25Nb2RhbCBoZWFkZXIgZW5oYW5jZW1lbnRzICovXG4ud29ya2Zsb3ctc3RhZ2VzLWNvbnRhaW5lciAud29ya2Zsb3ctc3RhZ2UtaGVhZGVyIHtcblx0cGFkZGluZzogOHB4IDEycHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuXHRtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi53b3JrZmxvdy1zdGFnZXMtY29udGFpbmVyIC53b3JrZmxvdy1zdGFnZS10eXBlLWJhZGdlIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwYWRkaW5nOiAycHggNnB4O1xuXHRtYXJnaW4tbGVmdDogOHB4O1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGZvbnQtc2l6ZTogMTBweDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLndvcmtmbG93LXN1YnN0YWdlcy1saXN0IHtcblx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRwYWRkaW5nOiAwIDAgMCAyMHB4O1xuXHRtYXJnaW46IDVweCAwIDEwcHggMDtcblx0Ym9yZGVyLWxlZnQ6IDJweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi8qIEJldHRlciBidXR0b25zIGluIHdvcmtmbG93IHBhbmVscyAqL1xuLndvcmtmbG93LWFkZC1zdGFnZS1idXR0b24sXG4uc3RhZ2Utc2F2ZS1idXR0b24ubW9kLWN0YSxcbi53b3JrZmxvdy1zYXZlLWJ1dHRvbi5tb2QtY3RhIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0cGFkZGluZzogNnB4IDE1cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Ym9yZGVyOiBub25lO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLndvcmtmbG93LWFkZC1zdGFnZS1idXR0b246aG92ZXIsXG4uc3RhZ2Utc2F2ZS1idXR0b24ubW9kLWN0YTpob3Zlcixcbi53b3JrZmxvdy1zYXZlLWJ1dHRvbi5tb2QtY3RhOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcblx0Ym94LXNoYWRvdzogMCAzcHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cblxuLndvcmtmbG93LXN0YWdlLW1vdmUtdXAsXG4ud29ya2Zsb3ctc3RhZ2UtbW92ZS1kb3duLFxuLndvcmtmbG93LXN0YWdlLWVkaXQsXG4ud29ya2Zsb3ctc3RhZ2UtZGVsZXRlIHtcblx0Ym9yZGVyOiBub25lO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBhZGRpbmc6IDNweCA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1tb3ZlLXVwOmhvdmVyLFxuLndvcmtmbG93LXN0YWdlLW1vdmUtZG93bjpob3Zlcixcbi53b3JrZmxvdy1zdGFnZS1lZGl0OmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLndvcmtmbG93LXN0YWdlLWRlbGV0ZTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4vKiBTdWJ0YXNrIHN0eWxpbmcgaW1wcm92ZW1lbnRzICovXG4uc3Vic3RhZ2UtaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDZweCAwO1xuXHRtYXJnaW4tYm90dG9tOiA1cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLnN1YnN0YWdlLW5hbWUtY29udGFpbmVyIGlucHV0IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nOiA0cHggOHB4O1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGZvbnQtc2l6ZTogMTNweDtcbn1cblxuLnN1YnN0YWdlLW5hbWUtY29udGFpbmVyIGlucHV0OmZvY3VzIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG4ubm8tc3RhZ2VzLW1lc3NhZ2UsXG4ubm8td29ya2Zsb3dzLW1lc3NhZ2UsXG4ubm8tc3Vic3RhZ2VzLW1lc3NhZ2UsXG4ubm8tY2FuLXByb2NlZWQtbWVzc2FnZSB7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRwYWRkaW5nOiAxNXB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XG5cdGJvcmRlci1yYWRpdXM6IDVweDtcblx0bWFyZ2luOiAxMHB4IDA7XG59XG5cbi8qIFNUQVJUOiBSZXdhcmQgU2V0dGluZ3MgU3R5bGVzICovXG4ucmV3YXJkcy1sZXZlbHMtY29udGFpbmVyLFxuLnJld2FyZHMtaXRlbXMtY29udGFpbmVyIHtcblx0bWFyZ2luLXRvcDogMTBweDtcblx0cGFkZGluZzogMTVweDtcblx0Ym9yZGVyLXJhZGl1czogNXB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbn1cblxuLnJld2FyZHMtbGV2ZWwtcm93IC5zZXR0aW5nLWl0ZW0taW5mbyxcbi5yZXdhcmRzLWl0ZW0tcm93IC5zZXR0aW5nLWl0ZW0taW5mbyB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5yZXdhcmRzLWl0ZW0tcm93LnNldHRpbmctaXRlbSB7XG5cdGJvcmRlci10b3A6IDA7XG59XG5cbi5yZXdhcmRzLWxldmVsLXJvdyAuc2V0dGluZy1pdGVtLWNvbnRyb2wsXG4ucmV3YXJkcy1pdGVtLXJvdyAuc2V0dGluZy1pdGVtLWNvbnRyb2wge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7IC8qIEFsbG93IHdyYXBwaW5nIG9uIHNtYWxsZXIgc2NyZWVucyAqL1xuXHRnYXA6IDEwcHg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5yZXdhcmRzLWxldmVsLXJvdyAuc2V0dGluZy1pdGVtLWNvbnRyb2wgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuXHRmbGV4OiAxO1xuXHRtaW4td2lkdGg6IDEwMHB4OyAvKiBFbnN1cmUgcmVhc29uYWJsZSBtaW5pbXVtIHdpZHRoICovXG59XG5cbi5yZXdhcmRzLWl0ZW0tcm93IC5zZXR0aW5nLWl0ZW0tY29udHJvbCAuaW5wdXQtY29udGFpbmVyIHtcblx0LyogT2JzaWRpYW4gdXNlcyB0aGlzIGNsYXNzIGZvciB0ZXh0L3RleHRhcmVhICovXG5cdGZsZXg6IDE7XG5cdG1pbi13aWR0aDogMTUwcHg7XG59XG5cbi5yZXdhcmRzLWl0ZW0tcm93IC5zZXR0aW5nLWl0ZW0tY29udHJvbCB0ZXh0YXJlYSB7XG5cdHdpZHRoOiAxMDAlOyAvKiBNYWtlIHRleHRhcmVhIHRha2UgZnVsbCB3aWR0aCB3aXRoaW4gaXRzIGNvbnRhaW5lciAqL1xuXHRtaW4taGVpZ2h0OiA0MHB4OyAvKiBFbnN1cmUgaXQncyB0YWxsIGVub3VnaCBmb3IgYSBjb3VwbGUgbGluZXMgKi9cblx0cmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuLnJld2FyZHMtaXRlbS1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIC5kcm9wZG93biB7XG5cdG1pbi13aWR0aDogMTIwcHg7XG59XG5cbi5yZXdhcmRzLWxldmVsLXJvdyAuc2V0dGluZy1pdGVtLWNvbnRyb2wgYnV0dG9uLFxuLnJld2FyZHMtaXRlbS1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIGJ1dHRvbiB7XG5cdG1hcmdpbi1sZWZ0OiBhdXRvOyAvKiBQdXNoIGRlbGV0ZSBidXR0b24gdG8gdGhlIHJpZ2h0ICovXG59XG5cbi5yZXdhcmRzLWl0ZW0tZGl2aWRlciB7XG5cdGJvcmRlcjogbm9uZTtcblx0aGVpZ2h0OiAxcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0bWFyZ2luLXRvcDogMTVweDtcblx0bWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLnNldHRpbmctaXRlbS5zb3J0LWNyaXRlcmlvbi1yb3cgLnNldHRpbmctaXRlbS1pbmZvIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLnNldHRpbmctaXRlbS5zb3J0LWNyaXRlcmlvbi1yb3cgc2VsZWN0LmRyb3Bkb3duIHtcblx0ZmxleDogMTtcbn1cblxuXG4udmlldy1lZGl0LWJ1dHRvbixcbi52aWV3LWNvcHktYnV0dG9uLFxuLnZpZXctb3JkZXItYnV0dG9uLFxuLnZpZXctZGVsZXRlLWJ1dHRvbiB7XG5cdHBhZGRpbmc6IDRweDtcblx0d2lkdGg6IDI0cHg7XG5cdGhlaWdodDogMjRweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRtYXJnaW4tbGVmdDogNHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnZpZXctY29weS1idXR0b24ge1xuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLnZpZXctY29weS1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4udmlldy1kZWxldGUtYnV0dG9uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4udmlldy1kZWxldGUtYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi52aWV3LWljb24ge1xuXHRtYXJnaW4tcmlnaHQ6IDhweDtcblx0LS1pY29uLXNpemU6IDE2cHg7XG59XG5cbi8qIENvcHkgbW9kZSBpbmZvIHN0eWxlcyAqL1xuLmNvcHktbW9kZS1pbmZvIHtcblx0bWFyZ2luOiAxMHB4IDA7XG5cdHBhZGRpbmc6IDEycHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XG5cdGJvcmRlci1yYWRpdXM6IDVweDtcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4uY29weS1tb2RlLWluZm8gcCB7XG5cdG1hcmdpbjogNHB4IDA7XG59XG5cbi8qIFRhc2tzIFBsdWdpbiBDb21wYXRpYmlsaXR5IFdhcm5pbmcgQmFubmVyICovXG4udGFza3MtY29tcGF0aWJpbGl0eS13YXJuaW5nIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC00KTtcblx0YmFja2dyb3VuZC1jb2xvcjogaHNsKFxuXHRcdHZhcigtLWFjY2VudC1oKSxcblx0XHR2YXIoLS1hY2NlbnQtcyksXG5cdFx0dmFyKC0tYWNjZW50LWwpLFxuXHRcdDAuNVxuXHQpO1xuXHRib3JkZXI6IDFweCBzb2xpZCBoc2wodmFyKC0tYWNjZW50LWgpLCB2YXIoLS1hY2NlbnQtcyksIHZhcigtLWFjY2VudC1sKSwgMC41KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4udGFza3Mtd2FybmluZy1pY29uIHtcblx0Zm9udC1zaXplOiAyMHB4O1xuXHRsaW5lLWhlaWdodDogMTtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi50YXNrcy13YXJuaW5nLWNvbnRlbnQge1xuXHRmbGV4OiAxO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcbn1cblxuLnRhc2tzLXdhcm5pbmctdGl0bGUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcbn1cblxuLnRhc2tzLXdhcm5pbmctdGV4dCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi50YXNrcy13YXJuaW5nLXRleHQgYSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4udGFza3Mtd2FybmluZy10ZXh0IGE6aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4udGFzay1nZW5pdXMtZm9ybWF0LWV4YW1wbGVzIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTItMyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcblx0bWFyZ2luOiB2YXIoLS1zaXplLTQtMykgMDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi50YXNrLWdlbml1cy1mb3JtYXQtZXhhbXBsZXMgc3Ryb25nIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcbn1cblxuLnRhc2stZ2VuaXVzLWZvcm1hdC1leGFtcGxlcyBzcGFuIHtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRsaW5lLWhlaWdodDogMS41O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTItMyk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRtYXJnaW46IHZhcigtLXNpemUtMi0xKSAwO1xufVxuXG4udGFzay1nZW5pdXMtZm9ybWF0LWV4YW1wbGVzIHNwYW46Zmlyc3Qtb2YtdHlwZSB7XG5cdG1hcmdpbi10b3A6IDA7XG59XG5cbi50YXNrLWdlbml1cy1mb3JtYXQtZXhhbXBsZXMgc3BhbjpsYXN0LW9mLXR5cGUge1xuXHRtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiBFbmhhbmNlZCBQcm9qZWN0IENvbmZpZ3VyYXRpb24gU3R5bGVzICovXG4ucHJvamVjdC1wYXRoLW1hcHBpbmdzLWNvbnRhaW5lcixcbi5wcm9qZWN0LW1ldGFkYXRhLW1hcHBpbmdzLWNvbnRhaW5lciB7XG5cdG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi5wcm9qZWN0LXBhdGgtbWFwcGluZy1yb3csXG4ucHJvamVjdC1tZXRhZGF0YS1tYXBwaW5nLXJvdyB7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRwYWRkaW5nOiAxMHB4O1xufVxuXG4ubm8tbWFwcGluZ3MtbWVzc2FnZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDIwcHg7XG59XG5cbi8qIFRhc2sgUHJvamVjdCBEaXNwbGF5IFN0eWxlcyAqL1xuLnRhc2stcHJvamVjdC10ZyB7XG5cdG9wYWNpdHk6IDAuODtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRib3JkZXItbGVmdDogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWFjY2VudCk7XG5cdHBhZGRpbmctbGVmdDogNHB4O1xufVxuXG4udGFzay1wcm9qZWN0LXRnOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlx1RDgzRFx1REQxN1wiO1xuXHRtYXJnaW4tcmlnaHQ6IDJweDtcblx0Zm9udC1zaXplOiAwLjhlbTtcbn1cblxuLyogTWV0YWRhdGEgRWRpdG9yIFByb2plY3QgU3R5bGVzICovXG4ucHJvamVjdC1yZWFkb25seSB7XG5cdG9wYWNpdHk6IDAuODtcbn1cblxuLnByb2plY3QtcmVhZG9ubHkgaW5wdXQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5wcm9qZWN0LXNvdXJjZS1pbmRpY2F0b3Ige1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRtYXJnaW4tdG9wOiA0cHg7XG59XG5cbi8qIERhdGUgZm9ybWF0IGNvbmZpZ3VyYXRpb24gc3R5bGVzICovXG4udGFzay1nZW5pdXMtZGF0ZS1mb3JtYXRzLWNvbnRhaW5lciB7XG5cdG1hcmdpbi10b3A6IDE1cHg7XG5cdHBhZGRpbmc6IDE1cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi50YXNrLWdlbml1cy1mb3JtYXRzLWhlYWRlciB7XG5cdG1hcmdpbi10b3A6IDA7XG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdGZvbnQtc2l6ZTogMS4xZW07XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YXNrLWdlbml1cy1mb3JtYXQtbGlzdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMTBweDtcblx0bWFyZ2luLXRvcDogMTVweDtcbn1cblxuLnRhc2stZ2VuaXVzLWZvcm1hdC1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAxMHB4O1xuXHRwYWRkaW5nOiA4cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4udGFzay1nZW5pdXMtZm9ybWF0LWl0ZW06aG92ZXIge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi50YXNrLWdlbml1cy1mb3JtYXQtaW5wdXQge1xuXHRmbGV4OiAxO1xuXHRwYWRkaW5nOiA2cHggMTBweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XG5cdGZvbnQtc2l6ZTogMC45NWVtO1xuXHR0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4ycyBlYXNlO1xufVxuXG4udGFzay1nZW5pdXMtZm9ybWF0LWlucHV0OmZvY3VzIHtcblx0b3V0bGluZTogbm9uZTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLnRhc2stZ2VuaXVzLWZvcm1hdC1pbnB1dDo6cGxhY2Vob2xkZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLnRhc2stZ2VuaXVzLWZvcm1hdC1kZWxldGUtYnRuIHtcblx0d2lkdGg6IDI4cHg7XG5cdGhlaWdodDogMjhweDtcblx0cGFkZGluZzogMDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Zm9udC1zaXplOiAyMHB4O1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4udGFzay1nZW5pdXMtZm9ybWF0LWRlbGV0ZS1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yLWhvdmVyKTtcblx0dHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xufVxuXG4udGFzay1nZW5pdXMtYWRkLWZvcm1hdC1idG4ge1xuXHRwYWRkaW5nOiAxMHB4IDE2cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5cdGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG5cdG1hcmdpbi10b3A6IDVweDtcbn1cblxuLnRhc2stZ2VuaXVzLWFkZC1mb3JtYXQtYnRuOmhvdmVyIHtcblx0Ym94LXNoYWRvdzogMCAycHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cblxuLnRhc2stZ2VuaXVzLWFkZC1mb3JtYXQtYnRuOmFjdGl2ZSB7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuLyogRGF0ZSBmb3JtYXQgZXhhbXBsZXMgc2VjdGlvbiAqL1xuLnRhc2stZ2VuaXVzLWRhdGUtZXhhbXBsZXMge1xuXHRtYXJnaW4tdG9wOiAyMHB4O1xuXHRwYWRkaW5nOiAxNXB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4udGFzay1nZW5pdXMtZXhhbXBsZXMtaGVhZGVyIHtcblx0bWFyZ2luLXRvcDogMDtcblx0bWFyZ2luLWJvdHRvbTogMTJweDtcblx0Zm9udC1zaXplOiAxZW07XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YXNrLWdlbml1cy1kYXRlLWV4YW1wbGVzLXRhYmxlIHtcblx0d2lkdGg6IDEwMCU7XG5cdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi50YXNrLWdlbml1cy1kYXRlLWV4YW1wbGVzLXRhYmxlIHRoLFxuLnRhc2stZ2VuaXVzLWRhdGUtZXhhbXBsZXMtdGFibGUgdGQge1xuXHRwYWRkaW5nOiA4cHggMTJweDtcblx0dGV4dC1hbGlnbjogbGVmdDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4udGFzay1nZW5pdXMtZGF0ZS1leGFtcGxlcy10YWJsZSB0aCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YXNrLWdlbml1cy1kYXRlLWV4YW1wbGVzLXRhYmxlIHRkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcbn1cblxuLnRhc2stZ2VuaXVzLWRhdGUtZXhhbXBsZXMtdGFibGUgdHI6bnRoLWNoaWxkKGV2ZW4pIHRkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCk7XG59XG5cbi50YXNrLWdlbml1cy1kYXRlLWV4YW1wbGVzLXRhYmxlIHRyOmhvdmVyIHRkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi50Zy1pbmRleC10YXNrLXNvdXJjZS13cmFwcGVyIHtcblx0bWFyZ2luLXRvcDogMThweDtcbn1cblxuLnRnLWluZGV4LXRhc2stc291cmNlLXBhbmVscyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMTJweDtcbn1cblxuLnRnLXNvdXJjZS1zZXR0aW5ncy1ib2R5IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAxMnB4O1xufVxuXG4udGctc291cmNlLXNldHRpbmdzLWJvZHkudGctc291cmNlLWRpc2FibGVkIHtcblx0b3BhY2l0eTogMC41NTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4iLCAiLnRnLXN0YXR1cy1pY29uIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS0yLTMpO1xuXHRtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tc2l6ZS0yLTEpKTtcbn1cblxuLnRnLWljb25zLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4udGctaWNvbnMtY29udGFpbmVyIC50Zy1zdGF0dXMtaWNvbiB7XG5cdG1hcmdpbi1yaWdodDogMDtcblx0bWFyZ2luLXRvcDogMDtcbn1cblxuLyogR2xvYmFsIEZpbHRlciBDb250YWluZXIgU3R5bGVzICovXG4uZ2xvYmFsLWZpbHRlci1jb250YWluZXIge1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRwYWRkaW5nOiAxMHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG4vKiBGaWxlIFRhc2sgZHluYW1pYyBjb25maWd1cmF0aW9uIHN0eWxlcyAqL1xuLnRhc2stZ2VuaXVzLW1ldGFkYXRhLWZpZWxkcy1jb250YWluZXIsXG4udGFzay1nZW5pdXMtdGFncy1jb250YWluZXIsXG4udGFzay1nZW5pdXMtcGF0aHMtY29udGFpbmVyLFxuLnRhc2stZ2VuaXVzLWRhdGUtZm9ybWF0cy1jb250YWluZXIge1xuXHRtYXJnaW46IDFyZW0gMDtcblx0cGFkZGluZzogMXJlbTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG59XG5cbi50YXNrLWdlbml1cy1maWVsZHMtaGVhZGVyLFxuLnRhc2stZ2VuaXVzLXRhZ3MtaGVhZGVyLFxuLnRhc2stZ2VuaXVzLXBhdGhzLWhlYWRlcixcbi50YXNrLWdlbml1cy1mb3JtYXRzLWhlYWRlcixcbi50YXNrLWdlbml1cy1leGFtcGxlcy1oZWFkZXIge1xuXHRmb250LXNpemU6IDAuOTVlbTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0bWFyZ2luLWJvdHRvbTogMC41cmVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFzay1nZW5pdXMtZmllbGQtbGlzdCxcbi50YXNrLWdlbml1cy10YWctbGlzdCxcbi50YXNrLWdlbml1cy1wYXRoLWxpc3QsXG4udGFzay1nZW5pdXMtZm9ybWF0LWxpc3Qge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDAuNXJlbTtcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuLnRhc2stZ2VuaXVzLWZpZWxkLWl0ZW0sXG4udGFzay1nZW5pdXMtdGFnLWl0ZW0sXG4udGFzay1nZW5pdXMtcGF0aC1pdGVtLFxuLnRhc2stZ2VuaXVzLWZvcm1hdC1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAwLjVyZW07XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdHBhZGRpbmc6IDAuNXJlbTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjJzO1xufVxuXG4udGFzay1nZW5pdXMtZmllbGQtaXRlbTpob3Zlcixcbi50YXNrLWdlbml1cy10YWctaXRlbTpob3Zlcixcbi50YXNrLWdlbml1cy1wYXRoLWl0ZW06aG92ZXIsXG4udGFzay1nZW5pdXMtZm9ybWF0LWl0ZW06aG92ZXIge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi50YXNrLWdlbml1cy1maWVsZC1pbnB1dCxcbi50YXNrLWdlbml1cy10YWctaW5wdXQsXG4udGFzay1nZW5pdXMtcGF0aC1pbnB1dCxcbi50YXNrLWdlbml1cy1mb3JtYXQtaW5wdXQge1xuXHRmbGV4OiAxO1xuXHRwYWRkaW5nOiAwLjRyZW07XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1pbnRlcmZhY2UpO1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuXG4udGFzay1nZW5pdXMtZmllbGQtaW5wdXQ6Zm9jdXMsXG4udGFzay1nZW5pdXMtdGFnLWlucHV0OmZvY3VzLFxuLnRhc2stZ2VuaXVzLXBhdGgtaW5wdXQ6Zm9jdXMsXG4udGFzay1nZW5pdXMtZm9ybWF0LWlucHV0OmZvY3VzIHtcblx0b3V0bGluZTogbm9uZTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLnRhc2stZ2VuaXVzLWZpZWxkLWRlbGV0ZS1idG4sXG4udGFzay1nZW5pdXMtdGFnLWRlbGV0ZS1idG4sXG4udGFzay1nZW5pdXMtcGF0aC1kZWxldGUtYnRuLFxuLnRhc2stZ2VuaXVzLWZvcm1hdC1kZWxldGUtYnRuIHtcblx0d2lkdGg6IDI4cHg7XG5cdGhlaWdodDogMjhweDtcblx0cGFkZGluZzogMDtcblx0Ym9yZGVyOiBub25lO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogMS4yZW07XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xufVxuXG4udGFzay1nZW5pdXMtZmllbGQtZGVsZXRlLWJ0bjpob3Zlcixcbi50YXNrLWdlbml1cy10YWctZGVsZXRlLWJ0bjpob3Zlcixcbi50YXNrLWdlbml1cy1wYXRoLWRlbGV0ZS1idG46aG92ZXIsXG4udGFzay1nZW5pdXMtZm9ybWF0LWRlbGV0ZS1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yLWhvdmVyKTtcbn1cblxuLnRhc2stZ2VuaXVzLWFkZC1maWVsZC1idG4sXG4udGFzay1nZW5pdXMtYWRkLXRhZy1idG4sXG4udGFzay1nZW5pdXMtYWRkLXBhdGgtYnRuLFxuLnRhc2stZ2VuaXVzLWFkZC1mb3JtYXQtYnRuIHtcblx0cGFkZGluZzogMC41cmVtIDFyZW07XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzO1xufVxuXG4udGFzay1nZW5pdXMtYWRkLWZpZWxkLWJ0bjpob3Zlcixcbi50YXNrLWdlbml1cy1hZGQtdGFnLWJ0bjpob3Zlcixcbi50YXNrLWdlbml1cy1hZGQtcGF0aC1idG46aG92ZXIsXG4udGFzay1nZW5pdXMtYWRkLWZvcm1hdC1idG46aG92ZXIge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4vKiBEYXRlIGZvcm1hdCBleGFtcGxlcyB0YWJsZSAqL1xuLnRhc2stZ2VuaXVzLWRhdGUtZXhhbXBsZXMge1xuXHRtYXJnaW4tdG9wOiAxcmVtO1xuXHRwYWRkaW5nOiAxcmVtO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcbn1cblxuLnRhc2stZ2VuaXVzLWRhdGUtZXhhbXBsZXMtdGFibGUge1xuXHR3aWR0aDogMTAwJTtcblx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLnRhc2stZ2VuaXVzLWRhdGUtZXhhbXBsZXMtdGFibGUgdGgge1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRwYWRkaW5nOiAwLjVyZW07XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLnRhc2stZ2VuaXVzLWRhdGUtZXhhbXBsZXMtdGFibGUgdGQge1xuXHRwYWRkaW5nOiAwLjRyZW0gMC41cmVtO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFzay1nZW5pdXMtZGF0ZS1leGFtcGxlcy10YWJsZSB0cjpsYXN0LWNoaWxkIHRkIHtcblx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLnRhc2stZ2VuaXVzLWRhdGUtZXhhbXBsZXMtdGFibGUgdHI6aG92ZXIgdGQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktYWx0KTtcbn1cblxuLnRhc2stZ2VuaXVzLWlmcmFtZS1tb2RhbCB7XG5cdHdpZHRoOiA5MCU7XG5cdG1heC13aWR0aDogMTQwMHB4O1xuXHRtYXgtaGVpZ2h0OiA5MHZoO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4udGFzay1nZW5pdXMtaWZyYW1lLW1vZGFsIC5tb2RhbC10aXRsZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG59XG5cbi50aW1lLXBhcnNpbmctZXhhbXBsZSB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtMi0yKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTIpO1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNpemUtNC0yKTtcblx0cGFkZGluZy1yaWdodDogdmFyKC0tc2l6ZS00LTIpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xufVxuXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmctaXRlbS1jb250cm9sIGlucHV0W3R5cGU9XCJ0aW1lXCJdIHtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcbn1cblxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5maWxlLXNvdXJjZS1zdHJhdGVneS1jb250YWluZXIge1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc2l6ZS00LTQpO1xufVxuXG5cbi5mbHVlbnQtdmlldy10YWJzLnRnLWluZGV4LXRhc2stc291cmNlLXN3aXRjaGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1zaXplLTItMyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTQpO1xuXHR3aWR0aDogZml0LWNvbnRlbnQ7XG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi50Zy1pbmRleC10YXNrLXNvdXJjZS1zd2l0Y2hlciAuZmx1ZW50LXZpZXctdGFiIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA2cHg7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRiYWNrZ3JvdW5kOiBub25lO1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XG59XG5cbi50Zy1pbmRleC10YXNrLXNvdXJjZS1zd2l0Y2hlciAuZmx1ZW50LXZpZXctdGFiOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRnLWluZGV4LXRhc2stc291cmNlLXN3aXRjaGVyIC5mbHVlbnQtdmlldy10YWIuaXMtYWN0aXZlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Ym94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLnRnLWluZGV4LXRhc2stc291cmNlLXN3aXRjaGVyIC5mbHVlbnQtdmlldy10YWItaWNvbiB7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRmb250LXNpemU6IDE0cHg7XG59XG5cbi50Zy1pbmRleC10YXNrLXNvdXJjZS1zd2l0Y2hlciAuZmx1ZW50LXZpZXctdGFiLWxhYmVsIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4iLCAiLyogQmV0YSB0ZXN0IHdhcm5pbmcgYmFubmVyIHN0eWxlcyAqL1xuLmJldGEtdGVzdC13YXJuaW5nLWJhbm5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRnYXA6IDEycHg7XG5cdHBhZGRpbmc6IDE2cHg7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLW9yYW5nZSk7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcbn1cblxuLmJldGEtd2FybmluZy1pY29uIHtcblx0Zm9udC1zaXplOiAyMHB4O1xuXHRsaW5lLWhlaWdodDogMTtcblx0ZmxleC1zaHJpbms6IDA7XG5cdG1hcmdpbi10b3A6IDJweDtcbn1cblxuLmJldGEtd2FybmluZy1jb250ZW50IHtcblx0ZmxleDogMTtcblx0bWluLXdpZHRoOiAwO1xufVxuXG4uYmV0YS13YXJuaW5nLXRpdGxlIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi5iZXRhLXdhcm5pbmctdGV4dCB7XG5cdGZvbnQtc2l6ZTogMTNweDtcblx0bGluZS1oZWlnaHQ6IDEuNDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuIiwgIi8qIFNldHRpbmdzIFNlYXJjaCBDb21wb25lbnQgU3R5bGVzICovXG5cbi8qIFx1NjQxQ1x1N0QyMlx1OEY5M1x1NTE2NVx1Njg0Nlx1NUJCOVx1NTY2OCAtIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTY4MDdcdTUxQzZcdThGOTNcdTUxNjVcdTY4NDZcdTY4MzdcdTVGMEYgKi9cbi50Zy1zZXR0aW5ncy1zZWFyY2gtaW5wdXQtY29udGFpbmVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnB1dC1iYWNrZ3JvdW5kKTtcblx0Ym9yZGVyOiB2YXIoLS1pbnB1dC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1pbi1vdXQ7XG5cdG1pbi1oZWlnaHQ6IHZhcigtLWlucHV0LWhlaWdodCk7XG59XG5cbi50Zy1zZXR0aW5ncy1zZWFyY2gtaW5wdXQtY29udGFpbmVyOmZvY3VzLXdpdGhpbiB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMik7XG59XG5cbi8qIFx1NjQxQ1x1N0QyMlx1NTZGRVx1NjgwNyAqL1xuLnRnLXNldHRpbmdzLXNlYXJjaC1pY29uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHBhZGRpbmc6IDAgdmFyKC0tc2l6ZS00LTIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4udGctc2V0dGluZ3Mtc2VhcmNoLWljb24gc3ZnIHtcblx0d2lkdGg6IHZhcigtLWljb24tcyk7XG5cdGhlaWdodDogdmFyKC0taWNvbi1zKTtcbn1cblxuLyogXHU2NDFDXHU3RDIyXHU4RjkzXHU1MTY1XHU2ODQ2IC0gXHU5MUNEXHU3RjZFIE9ic2lkaWFuIFx1OUVEOFx1OEJBNFx1NjgzN1x1NUYwRiAqL1xuLnRnLXNldHRpbmdzLXNlYXJjaC1pbnB1dCB7XG5cdGZsZXg6IDE7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKSB2YXIoLS1zaXplLTItMSk7XG5cdGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcblx0b3V0bGluZTogbm9uZTtcbn1cblxuaW5wdXQudGctc2V0dGluZ3Mtc2VhcmNoLWlucHV0IHtcblx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG5cdGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnRnLXNldHRpbmdzLXNlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG9wYWNpdHk6IDAuNztcbn1cblxuLyogXHU2RTA1XHU5NjY0XHU2MzA5XHU5NEFFIC0gXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NjMwOVx1OTRBRVx1NjgzN1x1NUYwRiAqL1xuLnRnLXNldHRpbmdzLXNlYXJjaC1jbGVhciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSk7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS0yLTEpO1xuXHRib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJ1dHRvbi1yYWRpdXMpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1pbi1vdXQ7XG5cdGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblx0ZmxleC1zaHJpbms6IDA7XG5cdHdpZHRoOiB2YXIoLS1jbGlja2FibGUtaWNvbi1zaXplKTtcblx0aGVpZ2h0OiB2YXIoLS1jbGlja2FibGUtaWNvbi1zaXplKTtcbn1cblxuLnRnLXNldHRpbmdzLXNlYXJjaC1jbGVhcjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpICFpbXBvcnRhbnQ7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50Zy1zZXR0aW5ncy1zZWFyY2gtY2xlYXI6YWN0aXZlIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUpICFpbXBvcnRhbnQ7XG59XG5cbi50Zy1zZXR0aW5ncy1zZWFyY2gtY2xlYXIgc3ZnIHtcblx0d2lkdGg6IHZhcigtLWljb24teHMpO1xuXHRoZWlnaHQ6IHZhcigtLWljb24teHMpO1xufVxuXG4vKiBcdTY0MUNcdTdEMjJcdTdFRDNcdTY3OUNcdTVCQjlcdTU2NjggLSBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU1RjM5XHU1MUZBXHU4M0RDXHU1MzU1XHU2ODM3XHU1RjBGICovXG4udGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdHMge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogY2FsYygxMDAlICsgdmFyKC0tc2l6ZS0yLTEpKTtcblx0bGVmdDogMDtcblx0cmlnaHQ6IDA7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LWwpO1xuXHR6LWluZGV4OiB2YXIoLS1sYXllci1wb3BvdmVyKTtcblx0bWF4LWhlaWdodDogMzIwcHg7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cblxuLyogXHU2NDFDXHU3RDIyXHU3RUQzXHU2NzlDXHU5ODc5IC0gXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1ODNEQ1x1NTM1NVx1OTg3OVx1NjgzN1x1NUYwRiAqL1xuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTMpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMgZWFzZS1pbi1vdXQ7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHQ6bGFzdC1jaGlsZCB7XG5cdGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0OmhvdmVyLFxuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHQtc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHQ6YWN0aXZlIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUpO1xufVxuXG4vKiBcdTY0MUNcdTdEMjJcdTdFRDNcdTY3OUNcdTU0MERcdTc5RjAgKi9cbi50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0LW5hbWUge1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTEpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcblx0bGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXRpZ2h0KTtcbn1cblxuLyogXHU2NDFDXHU3RDIyXHU3RUQzXHU2NzlDXHU1MTQzXHU0RkUxXHU2MDZGICovXG4udGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdC1tZXRhIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcbn1cblxuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHQtY2F0ZWdvcnkge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS0yLTIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xufVxuXG4vKiBcdTY0MUNcdTdEMjJcdTdFRDNcdTY3OUNcdTYzQ0ZcdThGRjAgKi9cbi50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0LWRlc2Mge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub3JtYWwpO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTItMSk7XG59XG5cbi8qIFx1NjVFMFx1N0VEM1x1Njc5Q1x1NzJCNlx1NjAwMSAqL1xuLnRnLXNldHRpbmdzLXNlYXJjaC1uby1yZXN1bHQge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCkgdmFyKC0tc2l6ZS00LTMpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyogXHU4QkJFXHU3RjZFXHU5ODc5XHU5QUQ4XHU0RUFFXHU2NTQ4XHU2NzlDICovXG4udGctc2V0dGluZ3Mtc2VhcmNoLWhpZ2hsaWdodCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KSAhaW1wb3J0YW50O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42cyBlYXNlLW91dDtcblx0YW5pbWF0aW9uOiB0Zy1zZXR0aW5ncy1zZWFyY2gtcHVsc2UgMC42cyBlYXNlLW91dDtcbn1cblxuQGtleWZyYW1lcyB0Zy1zZXR0aW5ncy1zZWFyY2gtcHVsc2Uge1xuXHQwJSB7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHR9XG5cdDUwJSB7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMS4wMSk7XG5cdH1cblx0MTAwJSB7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdH1cbn1cblxuLyogXHU5NTJFXHU3NkQ4XHU1QkZDXHU4MjJBXHU2MzA3XHU3OTNBXHU1NjY4ICovXG4udGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdC1zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpICFpbXBvcnRhbnQ7XG5cdG91dGxpbmU6IHZhcigtLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0b3V0bGluZS1vZmZzZXQ6IC0xcHg7XG59XG5cbi8qIFx1NTRDRFx1NUU5NFx1NUYwRlx1OEJCRVx1OEJBMSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0cyB7XG5cdFx0bWF4LWhlaWdodDogMjgwcHg7XG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHR9XG5cblx0LnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHQge1xuXHRcdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtMik7XG5cdH1cblxuXHQudGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdC1uYW1lIHtcblx0XHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHR9XG5cblx0LnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHQtY2F0ZWdvcnkge1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0XHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS0yLTEpO1xuXHR9XG59XG5cbi8qIFx1NkVEQVx1NTJBOFx1Njc2MVx1NjgzN1x1NUYwRiAtIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTY4MDdcdTUxQzZcdTZFREFcdTUyQThcdTY3NjEgKi9cbi50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0cyB7XG5cdHNjcm9sbGJhci13aWR0aDogdGhpbjtcblx0c2Nyb2xsYmFyLWNvbG9yOiB2YXIoLS1zY3JvbGxiYXItdGh1bWItYmcpIHRyYW5zcGFyZW50O1xufVxuXG4udGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdHM6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcblx0d2lkdGg6IHZhcigtLXNjcm9sbGJhci10aGluLXdpZHRoKTtcbn1cblxuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHRzOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4udGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdHM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcblx0YmFja2dyb3VuZDogdmFyKC0tc2Nyb2xsYmFyLXRodW1iLWJnKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tc2Nyb2xsYmFyLXRoaW4tdGh1bWItcmFkaXVzKTtcblx0Ym9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdGJhY2tncm91bmQtY2xpcDogY29udGVudC1ib3g7XG59XG5cbi50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0czo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1zY3JvbGxiYXItdGh1bWItYmctaG92ZXIpO1xuXHRiYWNrZ3JvdW5kLWNsaXA6IGNvbnRlbnQtYm94O1xufVxuXG4vKiBcdTRFMEVcdThCQkVcdTdGNkVcdTY4MDdcdTdCN0VcdTk4NzVcdTVCQjlcdTU2NjhcdTc2ODRcdTk1RjRcdThERERcdThDMDNcdTY1NzQgKi9cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFicy1jYXRlZ29yaXplZC1jb250YWluZXIge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMyk7XG59XG5cbi8qIFx1NEZFRVx1NTkwRFx1NTNFRlx1ODBGRFx1NzY4NCB6LWluZGV4IFx1OTVFRVx1OTg5OCAqL1xuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHRzIHtcblx0ei1pbmRleDogdmFyKC0tbGF5ZXItcG9wb3ZlciwgMjAwKTtcbn1cblxuLyogXHU3ODZFXHU0RkREXHU4RjkzXHU1MTY1XHU2ODQ2XHU4MDVBXHU3MTI2XHU2NUY2XHU3Njg0XHU2ODM3XHU1RjBGXHU2QjYzXHU3ODZFICovXG4udGctc2V0dGluZ3Mtc2VhcmNoLWlucHV0OmZvY3VzIHtcblx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG5cdG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcblx0Ym94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKiBcdTY0MUNcdTdEMjJcdTU2RkVcdTY4MDdcdTc2ODRcdTRFQTRcdTRFOTJcdTcyQjZcdTYwMDEgKi9cbi50Zy1zZXR0aW5ncy1zZWFyY2gtaWNvbiB7XG5cdHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0O1xufVxuXG4udGctc2V0dGluZ3Mtc2VhcmNoLWlucHV0LWNvbnRhaW5lcjpmb2N1cy13aXRoaW4gLnRnLXNldHRpbmdzLXNlYXJjaC1pY29uIHtcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi8qIFx1NkUwNVx1OTY2NFx1NjMwOVx1OTRBRVx1NzY4NFx1NTZGRVx1NjgwN1x1NjgzN1x1NUYwRiAqL1xuLnRnLXNldHRpbmdzLXNlYXJjaC1jbGVhciB7XG5cdG9wYWNpdHk6IDAuODtcbn1cblxuLnRnLXNldHRpbmdzLXNlYXJjaC1jbGVhcjpob3ZlciB7XG5cdG9wYWNpdHk6IDE7XG59XG4iLCAiLyogU2V0dGluZ3MgTWlncmF0aW9uIFN0eWxpbmcgKi9cblxuLnNldHRpbmctaXRlbS1pbmZvLm1vZC13YXJuaW5nIHtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0cGFkZGluZzogMTZweDtcblx0bWFyZ2luOiAxMnB4IDA7XG59XG5cbi5zZXR0aW5nLWl0ZW0taW5mby5tb2Qtd2FybmluZyAuc2V0dGluZy1pdGVtLW5hbWUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLnNldHRpbmctaXRlbS1pbmZvLm1vZC13YXJuaW5nIC5zZXR0aW5nLWl0ZW0tZGVzY3JpcHRpb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi1ib3R0b206IDEycHg7XG59XG5cbi5zZXR0aW5nLWl0ZW0taW5mby5tb2Qtd2FybmluZyAuc2V0dGluZy1pdGVtLWRlc2NyaXB0aW9uIHAge1xuXHRtYXJnaW46IDRweCAwO1xufVxuXG4uc2V0dGluZy1pdGVtLWluZm8ubW9kLXdhcm5pbmcgLnNldHRpbmctaXRlbS1jb250cm9sIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiA4cHg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5zZXR0aW5nLWl0ZW0taW5mby5tb2Qtd2FybmluZyBidXR0b24ubW9kLWN0YSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRwYWRkaW5nOiA4cHggMTZweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4uc2V0dGluZy1pdGVtLWluZm8ubW9kLXdhcm5pbmcgYnV0dG9uLm1vZC1jdGE6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xufVxuXG4uc2V0dGluZy1pdGVtLWluZm8ubW9kLXdhcm5pbmcgYnV0dG9uLm1vZC1tdXRlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRwYWRkaW5nOiA4cHggMTZweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4uc2V0dGluZy1pdGVtLWluZm8ubW9kLXdhcm5pbmcgYnV0dG9uLm1vZC1tdXRlZDpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4vKiBNaWdyYXRpb24gU3VjY2VzcyBJbmRpY2F0b3IgKi9cbi5zZXR0aW5nLWl0ZW0taW5mby5tb2Qtc3VjY2VzcyB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyZWVuLWJnKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItZ3JlZW4pO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdHBhZGRpbmc6IDE2cHg7XG5cdG1hcmdpbjogMTJweCAwO1xufVxuXG4uc2V0dGluZy1pdGVtLWluZm8ubW9kLXN1Y2Nlc3MgLnNldHRpbmctaXRlbS1uYW1lIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4vKiBGaWxlU291cmNlIEludGVncmF0aW9uIE5vdGljZSAqL1xuLmZpbGUtc291cmNlLW5vdGljZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRwYWRkaW5nOiAxMnB4O1xuXHRtYXJnaW46IDhweCAwO1xufVxuXG4uZmlsZS1zb3VyY2Utbm90aWNlIC5ub3RpY2UtdGl0bGUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRtYXJnaW4tYm90dG9tOiA0cHg7XG59XG5cbi5maWxlLXNvdXJjZS1ub3RpY2UgLm5vdGljZS1kZXNjcmlwdGlvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cbiIsICIvKiBXb3Jrc3BhY2UgU2V0dGluZ3MgU2VsZWN0b3IgU3R5bGVzICovXG5cbi8qIE1haW4gY29udGFpbmVyIGZvciB0aGUgaGVhZGVyIGJhciAqL1xuLnRnLXNldHRpbmdzLWhlYWRlci1iYXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDEycHg7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4vKiBDb250YWluZXIgZm9yIHdvcmtzcGFjZSBzZWxlY3RvciAqL1xuLnRnLXdvcmtzcGFjZS1zZWxlY3Rvci1jb250YWluZXIge1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLyogV29ya3NwYWNlIHNlbGVjdG9yIGJ1dHRvbiAqL1xuLndvcmtzcGFjZS1zZXR0aW5ncy1zZWxlY3RvciB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLndvcmtzcGFjZS1zZXR0aW5ncy1zZWxlY3Rvci1idXR0b24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDhweDtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZm9ybS1maWVsZCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xuXHRtaW4td2lkdGg6IDE1MHB4O1xuXHRoZWlnaHQ6IDM0cHg7IC8qIE1hdGNoIHNlYXJjaCBiYXIgaGVpZ2h0ICovXG59XG5cbi53b3Jrc3BhY2Utc2V0dGluZ3Mtc2VsZWN0b3ItYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4ud29ya3NwYWNlLXNldHRpbmdzLXNlbGVjdG9yLWJ1dHRvbjphY3RpdmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZS1ob3Zlcik7XG59XG5cbi8qIFdvcmtzcGFjZSBpY29uICovXG4ud29ya3NwYWNlLXNldHRpbmdzLXNlbGVjdG9yLWJ1dHRvbiAud29ya3NwYWNlLWljb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDIwcHg7XG5cdGhlaWdodDogMjBweDtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi53b3Jrc3BhY2Utc2V0dGluZ3Mtc2VsZWN0b3ItYnV0dG9uIC53b3Jrc3BhY2UtaWNvbiBzdmcge1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRmaWxsOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLyogV29ya3NwYWNlIG5hbWUgKi9cbi53b3Jrc3BhY2Utc2V0dGluZ3Mtc2VsZWN0b3ItYnV0dG9uIC53b3Jrc3BhY2UtbmFtZSB7XG5cdGZsZXg6IDE7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi8qIERyb3Bkb3duIGFycm93IGljb24gKi9cbi53b3Jrc3BhY2Utc2V0dGluZ3Mtc2VsZWN0b3ItYnV0dG9uIC53b3Jrc3BhY2UtZHJvcGRvd24taWNvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRmbGV4LXNocmluazogMDtcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi53b3Jrc3BhY2Utc2V0dGluZ3Mtc2VsZWN0b3ItYnV0dG9uIC53b3Jrc3BhY2UtZHJvcGRvd24taWNvbiBzdmcge1xuXHR3aWR0aDogMTJweDtcblx0aGVpZ2h0OiAxMnB4O1xuXHRmaWxsOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGVhc2U7XG59XG5cbi53b3Jrc3BhY2Utc2V0dGluZ3Mtc2VsZWN0b3ItYnV0dG9uOmhvdmVyIC53b3Jrc3BhY2UtZHJvcGRvd24taWNvbiBzdmcge1xuXHRmaWxsOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi8qIEFkanVzdCBzZWFyY2ggY29udGFpbmVyIHRvIHRha2UgcmVtYWluaW5nIHNwYWNlICovXG4udGctc2V0dGluZ3MtaGVhZGVyLWJhciAudGctc2V0dGluZ3Mtc2VhcmNoLWNvbnRhaW5lciB7XG5cdGZsZXg6IDE7XG5cdG1heC13aWR0aDogbm9uZTtcbn1cblxuLyogRW5zdXJlIHNlYXJjaCBpbnB1dCBjb250YWluZXIgZmlsbHMgd2lkdGggKi9cbi50Zy1zZXR0aW5ncy1oZWFkZXItYmFyIC50Zy1zZXR0aW5ncy1zZWFyY2gtaW5wdXQtY29udGFpbmVyIHtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi8qIE1haW4gY29udGFpbmVyIGFkanVzdG1lbnRzICovXG4udGctc2V0dGluZ3MtbWFpbi1jb250YWluZXIge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLyogRW5zdXJlIHNlYXJjaCByZXN1bHRzIGFwcGVhciBiZWxvdyB0aGUgaGVhZGVyIGJhciAqL1xuLnRnLXNldHRpbmdzLW1haW4tY29udGFpbmVyIC50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0cyB7XG5cdG1hcmdpbi10b3A6IDhweDtcbn1cblxuLyogTW9iaWxlIHJlc3BvbnNpdmUgYWRqdXN0bWVudHMgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQudGctc2V0dGluZ3MtaGVhZGVyLWJhciB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRhbGlnbi1pdGVtczogc3RyZXRjaDtcblx0XHRnYXA6IDhweDtcblx0fVxuXG5cdC53b3Jrc3BhY2Utc2V0dGluZ3Mtc2VsZWN0b3ItYnV0dG9uIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRtaW4td2lkdGg6IHVuc2V0O1xuXHR9XG5cblx0LnRnLXNldHRpbmdzLWhlYWRlci1iYXIgLnRnLXNldHRpbmdzLXNlYXJjaC1jb250YWluZXIge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG59XG4iLCAiLyogT25ib2FyZGluZyBDb21wb25lbnQgUHJldmlld3MgU3R5bGVzICovXG5cbi5vbmJvYXJkaW5nLXZpZXc6aGFzKC5jb21wb25lbnQtc2hvd2Nhc2UpIC5vbmJvYXJkaW5nLWNvbnRlbnQge1xuXHRvdmVyZmxvdy15OiBoaWRkZW47XG59XG5cbi5vbmJvYXJkaW5nLXZpZXc6aGFzKC5jb21wb25lbnQtc2hvd2Nhc2UpIC5vbmJvYXJkaW5nLWhlYWRlciB7XG5cdHBhZGRpbmc6IGNhbGModmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKSAqIDIpIHZhcigtLW9uYm9hcmRpbmctc3BhY2luZylcblx0XHR2YXIoLS1zaXplLTQtMikgdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcbn1cblxuLmZsdWVudC10b3AtbmF2aWdhdGlvbi5jb21wb25lbnQtcHJldmlldyB7XG5cdG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi5mbHVlbnQtc2lkZWJhci5jb21wb25lbnQtcHJldmlldyB7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uY29tcG9uZW50LXNob3djYXNlOmhhcyhcblx0XHQudGctZmx1ZW50LWNvbnRhaW5lci5jb21wb25lbnQtcHJldmlldy1zaWRlYmFyXG5cdFx0XHQrIC50Zy1mbHVlbnQtY29udGFpbmVyLmNvbXBvbmVudC1wcmV2aWV3LXRvcG5hdlxuXHQpXG5cdC50Zy1mbHVlbnQtY29udGFpbmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcbn1cblxuLnRnLWZsdWVudC1jb250YWluZXIuY29tcG9uZW50LXByZXZpZXctc2lkZWJhciB7XG5cdHdpZHRoOiAyMDBweDtcblx0bWluLXdpZHRoOiAyMDBweDtcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4udGctZmx1ZW50LWNvbnRhaW5lci5jb21wb25lbnQtcHJldmlldy10b3BuYXYge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xufVxuXG4vKiBDb21wb25lbnQgc2hvd2Nhc2UgY29udGFpbmVyICovXG4uY29tcG9uZW50LXNob3djYXNlIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtNik7XG5cdG1hcmdpbjogdmFyKC0tc2l6ZS00LTQpIDA7XG5cdG1pbi1oZWlnaHQ6IDQwMHB4O1xuXHRtaW4td2lkdGg6IDkwJTtcbn1cblxuLmNvbXBvbmVudC1zaG93Y2FzZS1wcmV2aWV3IHtcblx0ZmxleDogMTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi5jb21wb25lbnQtc2hvd2Nhc2UtZGVzY3JpcHRpb24ge1xuXHRmbGV4OiAxO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcbn1cblxuLmNvbXBvbmVudC1zaG93Y2FzZS1kZXNjcmlwdGlvbiBoMyB7XG5cdG1hcmdpbjogMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmNvbXBvbmVudC1zaG93Y2FzZS1kZXNjcmlwdGlvbiBwIHtcblx0bWFyZ2luOiAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbi5jb21wb25lbnQtZmVhdHVyZS1saXN0IHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luOiAwO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLmNvbXBvbmVudC1mZWF0dXJlLWxpc3QgbGkge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5jb21wb25lbnQtZmVhdHVyZS1saXN0IGxpOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlx1MjcxM1wiO1xuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4vKiBDb21wb25lbnQgcHJldmlldyBhZGp1c3RtZW50cyAqL1xuLmNvbXBvbmVudC1wcmV2aWV3IHtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4vKiBTY2FsZSBkb3duIHByZXZpZXdzIHRvIGZpdCAqL1xuLmNvbXBvbmVudC1wcmV2aWV3LXNpZGViYXIge1xuXHRtYXgtd2lkdGg6IDMwMHB4O1xufVxuXG4uY29tcG9uZW50LXByZXZpZXctcG9wb3ZlciB7XG5cdG1heC13aWR0aDogMzUwcHg7XG59XG5cbi8qIERpc2FibGUgaW50ZXJhY3Rpb25zIGluIHByZXZpZXdzICovXG4uY29tcG9uZW50LXByZXZpZXcgaW5wdXQsXG4uY29tcG9uZW50LXByZXZpZXcgYnV0dG9uLFxuLmNvbXBvbmVudC1wcmV2aWV3IC5jbGlja2FibGUtaWNvbiB7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8qIENvbXBvbmVudCB0YWJzIGZvciBzd2l0Y2hpbmcgdmlld3MgKi9cbi5jb21wb25lbnQtdGFicyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtNCk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5jb21wb25lbnQtdGFiIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC00KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmNvbXBvbmVudC10YWI6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmNvbXBvbmVudC10YWIuaXMtYWN0aXZlIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLyogTXVsdGlwbGUgY29tcG9uZW50IHNob3djYXNlICovXG4uY29tcG9uZW50cy1ncmlkIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTgpO1xufVxuXG4vKiBSZXNwb25zaXZlIGFkanVzdG1lbnRzICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0LmNvbXBvbmVudC1zaG93Y2FzZSB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0fVxuXG5cdC5jb21wb25lbnQtc2hvd2Nhc2UtcHJldmlldyB7XG5cdFx0bWluLWhlaWdodDogMzAwcHg7XG5cdH1cbn1cblxuLyogRmlsZSBmaWx0ZXIgcHJldmlldyBzdHlsZXMgKi9cbi5maWxlLWZpbHRlci1wcmV2aWV3IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtNCk7XG59XG5cbi5maWxlLWZpbHRlci1jb25maWcge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uZmlsZS1maWx0ZXItc3RhdHMtcHJldmlldyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTQpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xufVxuXG4uZmlsdGVyLXN0YXQtaXRlbSB7XG5cdGZsZXg6IDE7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmZpbHRlci1zdGF0LXZhbHVlIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLWxhcmdlcik7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uZmlsdGVyLXN0YXQtbGFiZWwge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMSk7XG59XG5cbi8qIFJlY29tbWVuZGVkIGNvbmZpZ3MgKi9cbi5yZWNvbW1lbmRlZC1jb25maWdzIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC00KTtcbn1cblxuLnJlY29tbWVuZGVkLWNvbmZpZy1pdGVtIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi5yZWNvbW1lbmRlZC1jb25maWctaXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi5yZWNvbW1lbmRlZC1jb25maWctaXRlbSBoNCB7XG5cdG1hcmdpbjogMCAwIHZhcigtLXNpemUtNC0yKSAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcbn1cblxuLnJlY29tbWVuZGVkLWNvbmZpZy1pdGVtIHAge1xuXHRtYXJnaW46IDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcbn1cblxuLmNvbXBvbmVudC1zaG93Y2FzZS1wcmV2aWV3LnRnLWZsdWVudC1jb250YWluZXIuY29tcG9uZW50LXByZXZpZXctc2lkZWJhclxuXHQuZmx1ZW50LXNpZGViYXIge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLyogUHJldmlldyBpbnRlcmFjdGl2aXR5IChzY29wZWQgdG8gcHJldmlldyBvbmx5KSAqL1xuLmNvbXBvbmVudC1zaG93Y2FzZS1wcmV2aWV3IC5jb21wb25lbnQtcHJldmlldy1zaWRlYmFyIC5mbHVlbnQtbmF2aWdhdGlvbi1pdGVtLFxuLmNvbXBvbmVudC1zaG93Y2FzZS1wcmV2aWV3IC5jb21wb25lbnQtcHJldmlldy1zaWRlYmFyIC5mbHVlbnQtcHJvamVjdC1pdGVtIHtcblx0cG9pbnRlci1ldmVudHM6IGF1dG87XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0b3V0bGluZTogbm9uZTtcbn1cblxuLmNvbXBvbmVudC1zaG93Y2FzZS1wcmV2aWV3XG5cdC5jb21wb25lbnQtcHJldmlldy1zaWRlYmFyXG5cdC5mbHVlbnQtbmF2aWdhdGlvbi1pdGVtLmlzLWFjdGl2ZSxcbi5jb21wb25lbnQtc2hvd2Nhc2UtcHJldmlld1xuXHQuY29tcG9uZW50LXByZXZpZXctc2lkZWJhclxuXHQuZmx1ZW50LXByb2plY3QtaXRlbS5pcy1hY3RpdmUge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xufVxuXG4uY29tcG9uZW50LXNob3djYXNlLXByZXZpZXdcblx0LmNvbXBvbmVudC1wcmV2aWV3LXNpZGViYXJcblx0LmZsdWVudC1uYXZpZ2F0aW9uLWl0ZW06Zm9jdXMtdmlzaWJsZSxcbi5jb21wb25lbnQtc2hvd2Nhc2UtcHJldmlld1xuXHQuY29tcG9uZW50LXByZXZpZXctc2lkZWJhclxuXHQuZmx1ZW50LXByb2plY3QtaXRlbTpmb2N1cy12aXNpYmxlIHtcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcbn1cblxuLyogRm9jdXMvRGltIG1vZGUgZm9yIHN0ZXAgaGlnaGxpZ2h0cyAqL1xuLmNvbXBvbmVudC1zaG93Y2FzZS1wcmV2aWV3LmZvY3VzLW1vZGUgLmlzLWRpbW1lZCB7XG5cdG9wYWNpdHk6IDAuNTtcblx0ZmlsdGVyOiBncmF5c2NhbGUoMTUlKTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5jb21wb25lbnQtc2hvd2Nhc2UtcHJldmlldy5mb2N1cy1tb2RlIC5pcy1mb2N1c2VkIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdXRsaW5lOiAxcHggc29saWQgdmFyKC0tY29sb3ItYWNjZW50KTtcblx0b3V0bGluZS1vZmZzZXQ6IC0xcHg7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0ei1pbmRleDogMTtcbn1cblxuLmNvbXBvbmVudC1zaG93Y2FzZTpoYXMoLmZsdWVudC10b3AtbmF2aWdhdGlvbik6bm90KFxuXHRcdDpoYXMoLmNvbXBvbmVudC1wcmV2aWV3LXNpZGViYXIpXG5cdCkge1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uY29tcG9uZW50LXNob3djYXNlLXByZXZpZXcuZm9jdXMtbW9kZS50Zy1mbHVlbnQtY29udGFpbmVyLmNvbXBvbmVudC1wcmV2aWV3LXRvcG5hdiB7XG5cdGZsZXg6IHVuc2V0O1xuXHRoZWlnaHQ6IG1heC1jb250ZW50O1xufVxuXG4uZmx1ZW50LXRvcC1uYXZpZ2F0aW9uLmNvbXBvbmVudC1wcmV2aWV3LmlzLWZvY3VzZWQge1xuXHRvdXRsaW5lOiB1bnNldDtcbn1cblxuLmNvbXBvbmVudC1zaG93Y2FzZS1wcmV2aWV3Omhhcyhcblx0XHQuY29tcG9uZW50LXByZXZpZXctc2lkZWJhciArIC5jb21wb25lbnQtcHJldmlldy10b3BuYXZcblx0KVxuXHQuY29tcG9uZW50LXByZXZpZXctc2lkZWJhciB7XG5cdGJvcmRlci10b3A6IHVuc2V0O1xufVxuXG4uY29tcG9uZW50LXNob3djYXNlOmhhcyhcblx0XHQudGctZmx1ZW50LWNvbnRhaW5lci5jb21wb25lbnQtcHJldmlldy1zaWRlYmFyXG5cdFx0XHQrIC50Zy1mbHVlbnQtY29udGFpbmVyLmNvbXBvbmVudC1wcmV2aWV3LXRvcG5hdlxuXHQpXG5cdC50Zy1mbHVlbnQtY29udGFpbmVyLmNvbXBvbmVudC1wcmV2aWV3LXRvcG5hdiB7XG5cdGJvcmRlci10b3A6IHVuc2V0O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xufVxuXG4ub25ib2FyZGluZy1jb250ZW50IC5yZXNvdXJjZXMtc2VjdGlvbiB7XG5cdHdpZHRoOiAxMDAlO1xufVxuIiwgIi8qIFBsYWNlbWVudCBQcmV2aWV3IFN0eWxlcyAqL1xuXG4ucGxhY2VtZW50LXByZXZpZXcge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAyZnIgMWZyO1xuXHRnYXA6IDJweDtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHRoZWlnaHQ6IDE4MHB4O1xuXHR3aWR0aDogMTAwJTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4vKiBTaWRlYmFycyAqL1xuLnBsYWNlbWVudC1zaWRlYmFyIHtcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xuXHRwYWRkaW5nOiA0cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMnB4O1xufVxuXG4ucGxhY2VtZW50LXNpZGViYXItYWN0aXZlIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0b3BhY2l0eTogMC40O1xufVxuXG4ucGxhY2VtZW50LXNpZGViYXItaW5hY3RpdmUge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdG9wYWNpdHk6IDAuMztcbn1cblxuLyogU2lkZWJhciBpdGVtcyAqL1xuLnBsYWNlbWVudC1zaWRlYmFyLWl0ZW0ge1xuXHRoZWlnaHQ6IDZweDtcblx0Ym9yZGVyLXJhZGl1czogMXB4O1xufVxuXG4ucGxhY2VtZW50LXNpZGViYXItaXRlbS1hY3RpdmUge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdG9wYWNpdHk6IDAuMztcbn1cblxuLnBsYWNlbWVudC1zaWRlYmFyLWl0ZW0taW5hY3RpdmUge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS10ZXh0LWZhaW50KTtcblx0b3BhY2l0eTogMC4yO1xufVxuXG4vKiBSaWdodCBzaWRlYmFyIGl0ZW1zIChzbWFsbGVyKSAqL1xuLnBsYWNlbWVudC1zaWRlYmFyLWl0ZW0tc21hbGwge1xuXHRoZWlnaHQ6IDVweDtcbn1cblxuLyogQ2VudGVyIGFyZWEgKi9cbi5wbGFjZW1lbnQtY2VudGVyIHtcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4ucGxhY2VtZW50LWNlbnRlci1hY3RpdmUge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRvcGFjaXR5OiAwLjQ7XG59XG5cbi8qIFRhYiBiYXIgKi9cbi5wbGFjZW1lbnQtdGFiLWJhciB7XG5cdGhlaWdodDogMTZweDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0cGFkZGluZzogMnB4IDRweDtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiAycHg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5wbGFjZW1lbnQtdGFiIHtcblx0d2lkdGg6IDI0cHg7XG5cdGhlaWdodDogMTBweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRvcGFjaXR5OiAwLjM7XG5cdGJvcmRlci1yYWRpdXM6IDFweDtcbn1cblxuLnBsYWNlbWVudC10YWItYWN0aXZlIHtcblx0YmFja2dyb3VuZDogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRvcGFjaXR5OiAwLjU7XG59XG5cbi8qIENvbnRlbnQgYXJlYSAqL1xuLnBsYWNlbWVudC1jb250ZW50IHtcblx0ZmxleDogMTtcblx0cGFkZGluZzogNnB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDRweDtcbn1cblxuLnBsYWNlbWVudC1jb250ZW50LWxpbmUge1xuXHRoZWlnaHQ6IDhweDtcblx0YmFja2dyb3VuZDogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRvcGFjaXR5OiAwLjM7XG5cdGJvcmRlci1yYWRpdXM6IDFweDtcbn1cbiIsICIvKiBGaWxlIEZpbHRlciBTZXR0aW5ncyBTdHlsZXMgKi9cblxuLmZpbGUtZmlsdGVyLXJ1bGVzLWNvbnRhaW5lciB7XG5cdG1hcmdpbi10b3A6IDFyZW07XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRwYWRkaW5nOiAxcmVtO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi5maWxlLWZpbHRlci1ydWxlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAxcmVtO1xuXHRwYWRkaW5nOiAwLjc1cmVtO1xuXHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4uZmlsZS1maWx0ZXItcnVsZTpsYXN0LWNoaWxkIHtcblx0bWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmZpbGUtZmlsdGVyLXJ1bGUtdHlwZSxcbi5maWxlLWZpbHRlci1ydWxlLXBhdGgsXG4uZmlsZS1maWx0ZXItcnVsZS1zY29wZSxcbi5maWxlLWZpbHRlci1ydWxlLWVuYWJsZWQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDAuMjVyZW07XG59XG5cbi5maWxlLWZpbHRlci1ydWxlLXR5cGUge1xuXHRtaW4td2lkdGg6IDgwcHg7XG59XG5cbi5maWxlLWZpbHRlci1ydWxlLXBhdGgge1xuXHRmbGV4OiAxO1xufVxuXG4uZmlsZS1maWx0ZXItcnVsZS1lbmFibGVkIHtcblx0bWluLXdpZHRoOiA2MHB4O1xufVxuXG4uZmlsZS1maWx0ZXItcnVsZSBsYWJlbCB7XG5cdGZvbnQtc2l6ZTogMC44cmVtO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5maWxlLWZpbHRlci1ydWxlIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcblx0cGFkZGluZzogMC4yNXJlbSAwLjVyZW07XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXNpemU6IDAuOXJlbTtcbn1cblxuLmZpbGUtZmlsdGVyLXJ1bGUgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcbn1cblxuLmZpbGUtZmlsdGVyLXJ1bGUtZGVsZXRlIHtcblx0cGFkZGluZzogMC4yNXJlbTtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1pbi13aWR0aDogMjhweDtcblx0aGVpZ2h0OiAyOHB4O1xufVxuXG4uZmlsZS1maWx0ZXItYWRkLXJ1bGUge1xuXHRtYXJnaW4tdG9wOiAxcmVtO1xufVxuXG4uZmlsZS1maWx0ZXItYWRkLXJ1bGUgLnNldHRpbmctaXRlbSB7XG5cdGJvcmRlcjogbm9uZTtcblx0cGFkZGluZzogMDtcbn1cblxuLmZpbGUtZmlsdGVyLWFkZC1ydWxlIC5zZXR0aW5nLWl0ZW0tY29udHJvbCB7XG5cdGdhcDogMC41cmVtO1xufVxuXG4uZmlsZS1maWx0ZXItYWRkLXJ1bGUgKyAuc2V0dGluZy1pdGVtIHtcblx0Ym9yZGVyLXRvcDogbm9uZTtcbn1cblxuLmZpbGUtZmlsdGVyLXN0YXRzIHtcblx0bWFyZ2luLXRvcDogMS41cmVtO1xuXHRwYWRkaW5nOiAxcmVtO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG4uZmlsZS1maWx0ZXItc3RhdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogMC4yNXJlbSAwO1xufVxuXG4uZmlsZS1maWx0ZXItc3RhdDpub3QoOmxhc3QtY2hpbGQpIHtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0bWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcblx0cGFkZGluZy1ib3R0b206IDAuNXJlbTtcbn1cblxuLnN0YXQtbGFiZWwge1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uc3RhdC12YWx1ZSB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4vKiBFcnJvciBzdGF0ZSBmb3Igc3RhdGlzdGljcyAqL1xuLmZpbGUtZmlsdGVyLXN0YXQuZXJyb3Ige1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLmZpbGUtZmlsdGVyLXN0YXQuZXJyb3IgLnN0YXQtbGFiZWwge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi8qIFJlZnJlc2ggYnV0dG9uIHN0eWxpbmcgKi9cbi5zZXR0aW5nLWl0ZW0gLnNldHRpbmctaXRlbS1jb250cm9sIGJ1dHRvblthcmlhLWxhYmVsKj1cInJlZnJlc2hcIl0ge1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xufVxuXG4uc2V0dGluZy1pdGVtIC5zZXR0aW5nLWl0ZW0tY29udHJvbCBidXR0b25bYXJpYS1sYWJlbCo9XCJyZWZyZXNoXCJdOmhvdmVyIHtcblx0dHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xufVxuXG4vKiBMb2FkaW5nIHN0YXRlIGFuaW1hdGlvbiAqL1xuQGtleWZyYW1lcyByZWZyZXNoLXNwaW4ge1xuXHRmcm9tIHtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcblx0fVxuXHR0byB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcblx0fVxufVxuXG4uc2V0dGluZy1pdGVtIC5zZXR0aW5nLWl0ZW0tY29udHJvbCBidXR0b25bZGlzYWJsZWRdIC5sdWNpZGUtcmVmcmVzaC1jdyB7XG5cdGFuaW1hdGlvbjogcmVmcmVzaC1zcGluIDFzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuLyogUmVzcG9uc2l2ZSBkZXNpZ24gZm9yIHNtYWxsZXIgc2NyZWVucyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC5maWxlLWZpbHRlci1ydWxlIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXHRcdGdhcDogMC41cmVtO1xuXHR9XG5cblx0LmZpbGUtZmlsdGVyLXJ1bGUtdHlwZSxcblx0LmZpbGUtZmlsdGVyLXJ1bGUtcGF0aCxcblx0LmZpbGUtZmlsdGVyLXJ1bGUtZW5hYmxlZCB7XG5cdFx0bWluLXdpZHRoOiBhdXRvO1xuXHR9XG5cblx0LmZpbGUtZmlsdGVyLXJ1bGUtZGVsZXRlIHtcblx0XHRhbGlnbi1zZWxmOiBmbGV4LWVuZDtcblx0XHRtYXJnaW4tdG9wOiAwLjVyZW07XG5cdH1cbn1cblxuLyogRGFyayB0aGVtZSBhZGp1c3RtZW50cyAqL1xuLnRoZW1lLWRhcmsgLmZpbGUtZmlsdGVyLXJ1bGUgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktYWx0KTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG59XG5cbi50aGVtZS1kYXJrIC5maWxlLWZpbHRlci1ydWxlIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLyogRW1wdHkgc3RhdGUgc3R5bGluZyAqL1xuLmZpbGUtZmlsdGVyLXJ1bGVzLWNvbnRhaW5lcjplbXB0eTo6YmVmb3JlIHtcblx0Y29udGVudDogXCJObyBmaWx0ZXIgcnVsZXMgY29uZmlndXJlZC4gQWRkIHJ1bGVzIGJlbG93IHRvIHN0YXJ0IGZpbHRlcmluZyBmaWxlcyBhbmQgZm9sZGVycy5cIjtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdHBhZGRpbmc6IDJyZW07XG59XG5cbi8qIFByZXNldCB0ZW1wbGF0ZXMgc2VjdGlvbiAqL1xuLmZpbGUtZmlsdGVyLXByZXNldC1jb250YWluZXIge1xuXHRtYXJnaW4tdG9wOiAxcmVtO1xuXHRwYWRkaW5nOiAxcmVtO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG4uZmlsZS1maWx0ZXItcHJlc2V0LWNvbnRhaW5lciAuc2V0dGluZy1pdGVtIHtcblx0Ym9yZGVyOiBub25lO1xuXHRwYWRkaW5nOiAwLjVyZW0gMDtcbn1cblxuLmZpbGUtZmlsdGVyLXByZXNldC1jb250YWluZXIgLnNldHRpbmctaXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLyogUHJlc2V0IGJ1dHRvbiBzdHlsaW5nICovXG4uZmlsZS1maWx0ZXItcHJlc2V0LWNvbnRhaW5lciBidXR0b24ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi5maWxlLWZpbHRlci1wcmVzZXQtY29udGFpbmVyIGJ1dHRvbjpkaXNhYmxlZCB7XG5cdG9wYWNpdHk6IDAuNjtcblx0Y3Vyc29yOiBub3QtYWxsb3dlZDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5maWxlLWZpbHRlci1wcmVzZXQtY29udGFpbmVyIGJ1dHRvbjpub3QoOmRpc2FibGVkKTpob3ZlciB7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LXMpO1xufVxuXG4vKiBTdWNjZXNzIHN0YXRlIGZvciBhcHBsaWVkIHByZXNldHMgKi9cbi5maWxlLWZpbHRlci1wcmVzZXQtY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF0ge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ncmVlbik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pO1xufVxuXG4udGhlbWUtZGFyayAuZmlsZS1maWx0ZXItcHJlc2V0LWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItZ3JlZW4tcmdiKTtcblx0b3BhY2l0eTogMC44O1xufVxuXG4uZmlsZS1maWx0ZXItcnVsZS1lZGl0b3ItbW9kYWwge1xuXHRtYXgtd2lkdGg6IDgwMHB4O1xuXHR3aWR0aDogOTB2dztcbn1cbiIsICIvKiBcdTRFNjBcdTYwRUZcdTdGMTZcdThGOTFcdTVGMzlcdTdBOTdcdTY4MzdcdTVGMEYgKi9cblxuLmhhYml0LWVkaXQtZGlhbG9nIHtcblx0bWF4LXdpZHRoOiA2MDBweDtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAubW9kYWwtY29udGVudCB7XG5cdHBhZGRpbmc6IDIwcHg7XG59XG5cbi8qIFx1NEU2MFx1NjBFRlx1N0M3Qlx1NTc4Qlx1OTAwOVx1NjJFOVx1NTY2OCAqL1xuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLXNlbGVjdG9yIHtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLWRlc2NyaXB0aW9uIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLWdyaWQge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuXHRnYXA6IDEwcHg7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA1MDBweCkge1xuXHQuaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXR5cGUtZ3JpZCB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cdH1cbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRwYWRkaW5nOiAxMnB4O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1pdGVtLnNlbGVjdGVkIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xufVxuXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXR5cGUtaWNvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogNDBweDtcblx0aGVpZ2h0OiA0MHB4O1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdG1hcmdpbi1yaWdodDogMTBweDtcbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLWljb24gc3ZnIHtcblx0d2lkdGg6IDIwcHg7XG5cdGhlaWdodDogMjBweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLXRleHQge1xuXHRmbGV4OiAxO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXR5cGUtbmFtZSB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdG1hcmdpbi1ib3R0b206IDRweDtcbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLWRlc2Mge1xuXHRmb250LXNpemU6IDAuODVlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4vKiBcdTkwMUFcdTc1MjhcdTg4NjhcdTUzNTVcdTY4MzdcdTVGMEYgKi9cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtY29tbW9uLWZvcm0sXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXR5cGUtZm9ybSB7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi8qIFx1NTZGRVx1NjgwN1x1OTg4NFx1ODlDOCAqL1xuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1pY29uLXByZXZpZXcge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDMwcHg7XG5cdGhlaWdodDogMzBweDtcblx0bWFyZ2luLWxlZnQ6IDEwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1pY29uLXByZXZpZXcgc3ZnIHtcblx0d2lkdGg6IDE4cHg7XG5cdGhlaWdodDogMThweDtcbn1cblxuLyogXHU2NjIwXHU1QzA0XHU3RjE2XHU4RjkxXHU1NjY4ICovXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LW1hcHBpbmctY29udGFpbmVyIHtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHBhZGRpbmc6IDEwcHg7XG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdG1hcmdpbi10b3A6IDVweDtcbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1tYXBwaW5nLXJvdyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1tYXBwaW5nLWtleSB7XG5cdHdpZHRoOiA4MHB4O1xuXHRtYXJnaW4tcmlnaHQ6IDVweDtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1tYXBwaW5nLWFycm93IHtcblx0bWFyZ2luOiAwIDEwcHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1tYXBwaW5nLXZhbHVlIHtcblx0ZmxleDogMTtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zaXplLTQtNCk7XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtbWFwcGluZy1kZWxldGUge1xuXHRiYWNrZ3JvdW5kOiBub25lO1xuXHRib3JkZXI6IG5vbmU7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXNpemU6IDEuMmVtO1xuXHRwYWRkaW5nOiAwIDhweDtcbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1hZGQtbWFwcGluZy1idXR0b24ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLyogXHU0RThCXHU0RUY2XHU3RjE2XHU4RjkxXHU1NjY4ICovXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LWV2ZW50cy1jb250YWluZXIge1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0cGFkZGluZzogMTBweDtcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0bWFyZ2luLXRvcDogNXB4O1xufVxuXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LWV2ZW50LXJvdyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdG1hcmdpbi1ib3R0b206IDhweDtcblx0Z2FwOiA1cHg7XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtZXZlbnQtbmFtZSB7XG5cdHdpZHRoOiAxMjBweDtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1ldmVudC1kZXRhaWxzIHtcblx0ZmxleDogMTtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1ldmVudC1wcm9wZXJ0eSB7XG5cdHdpZHRoOiAxMjBweDtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1ldmVudC1kZWxldGUge1xuXHRiYWNrZ3JvdW5kOiBub25lO1xuXHRib3JkZXI6IG5vbmU7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXNpemU6IDEuMmVtO1xuXHRwYWRkaW5nOiAwIDhweDtcbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1hZGQtZXZlbnQtYnV0dG9uIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi8qIFx1NjMwOVx1OTRBRVx1NUJCOVx1NTY2OCAqL1xuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1lZGl0LWJ1dHRvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRnYXA6IDEwcHg7XG5cdG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtY2FuY2VsLWJ1dHRvbiB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0cGFkZGluZzogOHB4IDE2cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1zYXZlLWJ1dHRvbiB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRwYWRkaW5nOiA4cHggMTZweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKiBcdThGOTNcdTUxNjVcdTVCNTdcdTZCQjUgKi9cbi5oYWJpdC1lZGl0LWRpYWxvZyBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi5oYWJpdC1lZGl0LWRpYWxvZyBpbnB1dFt0eXBlPVwibnVtYmVyXCJdIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHBhZGRpbmc6IDZweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLWl0ZW0uc2VsZWN0ZWQgLmhhYml0LXR5cGUtZGVzYyxcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1pdGVtLnNlbGVjdGVkIC5oYWJpdC10eXBlLW5hbWUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuIiwgIi8qIFx1NEU2MFx1NjBFRlx1NTIxN1x1ODg2OFx1NUJCOVx1NTY2OCAqL1xuLmhhYml0LWxpc3QtY29udGFpbmVyIHtcblx0cGFkZGluZzogMTJweDtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5oYWJpdC1zZXR0aW5ncy1jb250YWluZXIge1xuXHRwYWRkaW5nLXRvcDogMTJweDtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLyogXHU2REZCXHU1MkEwXHU2MzA5XHU5NEFFICovXG4uaGFiaXQtYWRkLWJ1dHRvbi1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuXG4uaGFiaXQtYWRkLWJ1dHRvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogNnB4O1xuXHRwYWRkaW5nOiA2cHggMTJweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLmhhYml0LWFkZC1idXR0b24gc3ZnIHtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcbn1cblxuLyogXHU0RTYwXHU2MEVGXHU1MjE3XHU4ODY4XHU0RTNBXHU3QTdBXHU3MkI2XHU2MDAxICovXG4uaGFiaXQtZW1wdHktc3RhdGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0bWluLWhlaWdodDogMjAwcHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogMjBweDtcblx0Ym9yZGVyOiAxcHggZGFzaGVkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi5oYWJpdC1lbXB0eS1zdGF0ZSBoMiB7XG5cdG1hcmdpbjogMCAwIDEwcHggMDtcblx0Zm9udC1zaXplOiAxLjJlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmhhYml0LWVtcHR5LXN0YXRlIHAge1xuXHRtYXJnaW46IDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLyogXHU0RTYwXHU2MEVGXHU5ODc5XHU1MjE3XHU4ODY4ICovXG4uaGFiaXQtaXRlbXMtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAxMHB4O1xufVxuXG4vKiBcdTRFNjBcdTYwRUZcdTk4NzkgKi9cbi5oYWJpdC1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogMTJweDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0aGVpZ2h0OiA3LjVyZW07XG59XG5cbi5oYWJpdC1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi8qIFx1NEU2MFx1NjBFRlx1NTZGRVx1NjgwNyAqL1xuLmhhYml0LWl0ZW0taWNvbiB7XG5cdC0taWNvbi1zaXplOiAyMHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDQ4cHg7XG5cdGhlaWdodDogNDhweDtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRtYXJnaW4tcmlnaHQ6IDEycHg7XG59XG5cbi5oYWJpdC1pdGVtLWljb24gc3ZnIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLyogXHU0RTYwXHU2MEVGXHU0RkUxXHU2MDZGICovXG4uaGFiaXQtaXRlbS1pbmZvIHtcblx0ZmxleDogMTtcblx0bWluLXdpZHRoOiAwOyAvKiBcdTk2MzJcdTZCNjJcdTUxODVcdTVCQjlcdThGQzdcdTk1N0ZcdTY0OTFcdTVGMDBcdTVFMDNcdTVDNDAgKi9cbn1cblxuLmhhYml0LWl0ZW0tbmFtZSB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdG1hcmdpbi1ib3R0b206IDRweDtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLmhhYml0LWl0ZW0tZGVzY3JpcHRpb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdG1hcmdpbi1ib3R0b206IDRweDtcbn1cblxuLmhhYml0LWl0ZW0tdHlwZSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0Zm9udC1zaXplOiAxMXB4O1xuXHRwYWRkaW5nOiAycHggNnB4O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4vKiBcdTRFNjBcdTYwRUZcdTY0Q0RcdTRGNUNcdTYzMDlcdTk0QUUgKi9cbi5oYWJpdC1pdGVtLWFjdGlvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IDhweDtcblx0bWFyZ2luLWxlZnQ6IDEycHg7XG59XG5cbi5oYWJpdC1lZGl0LWJ1dHRvbixcbi5oYWJpdC1kZWxldGUtYnV0dG9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiAzMnB4O1xuXHRoZWlnaHQ6IDMycHg7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRwYWRkaW5nOiAwO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5oYWJpdC1lZGl0LWJ1dHRvbjpob3Zlcixcbi5oYWJpdC1kZWxldGUtYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi5oYWJpdC1lZGl0LWJ1dHRvbiBzdmcsXG4uaGFiaXQtZGVsZXRlLWJ1dHRvbiBzdmcge1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5oYWJpdC1kZWxldGUtYnV0dG9uOmhvdmVyIHN2ZyB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLyogXHU0RTYwXHU2MEVGXHU1MjIwXHU5NjY0XHU1QkY5XHU4QkREXHU2ODQ2XHU2ODM3XHU1RjBGICovXG4uaGFiaXQtZGVsZXRlLW1vZGFsLWJ1dHRvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRnYXA6IDEwcHg7XG5cdG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi5oYWJpdC1kZWxldGUtYnV0dG9uLWNvbmZpcm0ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0Y29sb3I6ICNmZmY7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRwYWRkaW5nOiA4cHggMTZweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuIiwgIi8qIElDUyBTZXR0aW5ncyBTdHlsZXMgKi9cblxuLyogTWFpbiBjb250YWluZXIgKi9cbi5pY3Mtc2V0dGluZ3MtY29udGFpbmVyIHtcblx0bWF4LXdpZHRoOiA4MDBweDtcblx0bWFyZ2luOiAwIGF1dG87XG59XG5cbi8qIEhlYWRlciBzZWN0aW9uICovXG4uaWNzLWhlYWRlci1jb250YWluZXIge1xuXHRtYXJnaW4tYm90dG9tOiAycmVtO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nLWJvdHRvbTogMXJlbTtcbn1cblxuLmljcy1iYWNrLWJ1dHRvbiB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlcjogbm9uZTtcblx0cGFkZGluZzogMC41cmVtIDFyZW07XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4uaWNzLWJhY2stYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xufVxuXG4uaWNzLWRlc2NyaXB0aW9uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tdG9wOiAwLjVyZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi8qIEdsb2JhbCBzZXR0aW5ncyAqL1xuLmljcy1nbG9iYWwtc2V0dGluZ3Mge1xuXHRtYXJnaW4tYm90dG9tOiAycmVtO1xuXHRwYWRkaW5nOiAxLjVyZW07XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi8qIFNvdXJjZXMgbGlzdCAqL1xuLmljcy1zb3VyY2VzLWxpc3Qge1xuXHRtYXJnaW4tdG9wOiAxLjVyZW07XG59XG5cbi5pY3Mtc291cmNlcy1saXN0IGgzIHtcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmljcy1zb3VyY2UtaXRlbSB7XG5cdG1hcmdpbi1ib3R0b206IDFyZW07XG5cdHBhZGRpbmc6IDEuNXJlbTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi5pY3Mtc291cmNlLWl0ZW06aG92ZXIge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zKTtcbn1cblxuLmljcy1zb3VyY2UtaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4uaWNzLXNvdXJjZS10aXRsZSBzdHJvbmcge1xuXHRmb250LXNpemU6IDEuMWVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uaWNzLXNvdXJjZS1zdGF0dXMge1xuXHRwYWRkaW5nOiAwLjNyZW0gMC44cmVtO1xuXHRib3JkZXItcmFkaXVzOiAxMnB4O1xuXHRmb250LXNpemU6IDAuNzVlbTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0bGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xufVxuXG4uc3RhdHVzLWVuYWJsZWQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ncmVlbik7XG5cdGNvbG9yOiB3aGl0ZTtcbn1cblxuLnN0YXR1cy1kaXNhYmxlZCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXJlZCk7XG5cdGNvbG9yOiB3aGl0ZTtcbn1cblxuLmljcy1zb3VyY2UtZGV0YWlscyB7XG5cdG1hcmdpbi1ib3R0b206IDEuNXJlbTtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRsaW5lLWhlaWdodDogMS40O1xufVxuXG4uaWNzLXNvdXJjZS1kZXRhaWxzIGRpdiB7XG5cdG1hcmdpbi1ib3R0b206IDAuNHJlbTtcbn1cblxuLyogQWN0aW9uIGJ1dHRvbnMgKi9cbi5pY3Mtc291cmNlLWFjdGlvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMXJlbTtcbn1cblxuLnByaW1hcnktYWN0aW9ucyxcbi5zZWNvbmRhcnktYWN0aW9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogMC41cmVtO1xufVxuXG4uaWNzLXNvdXJjZS1hY3Rpb25zIGJ1dHRvbiB7XG5cdHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXNpemU6IDAuODVlbTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuXHRtaW4td2lkdGg6IDgwcHg7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5pY3Mtc291cmNlLWFjdGlvbnMgYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xufVxuXG4uaWNzLXNvdXJjZS1hY3Rpb25zIGJ1dHRvbi5tb2QtY3RhIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4uaWNzLXNvdXJjZS1hY3Rpb25zIGJ1dHRvbi5tb2QtY3RhOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLmljcy1zb3VyY2UtYWN0aW9ucyBidXR0b24ubW9kLXdhcm5pbmcge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1yZWQpO1xuXHRjb2xvcjogd2hpdGU7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcmVkKTtcbn1cblxuLmljcy1zb3VyY2UtYWN0aW9ucyBidXR0b24ubW9kLXdhcm5pbmc6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1yZWQpO1xuXHRvcGFjaXR5OiAwLjg7XG59XG5cbi5pY3Mtc291cmNlLWFjdGlvbnMgYnV0dG9uOmRpc2FibGVkIHtcblx0b3BhY2l0eTogMC41O1xuXHRjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXHR0cmFuc2Zvcm06IG5vbmU7XG59XG5cbi5pY3Mtc291cmNlLWFjdGlvbnMgYnV0dG9uLnN5bmNpbmcge1xuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLmljcy1zb3VyY2UtYWN0aW9ucyBidXR0b24uc3VjY2VzcyB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWdyZWVuKTtcblx0Y29sb3I6IHdoaXRlO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcbn1cblxuLmljcy1zb3VyY2UtYWN0aW9ucyBidXR0b24uZXJyb3Ige1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1yZWQpO1xuXHRjb2xvcjogd2hpdGU7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcmVkKTtcbn1cblxuLyogQWRkIHNvdXJjZSBjb250YWluZXIgKi9cbi5pY3MtYWRkLXNvdXJjZS1jb250YWluZXIge1xuXHRtYXJnaW4tdG9wOiAycmVtO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDJyZW07XG5cdGJvcmRlcjogMnB4IGRhc2hlZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4uaWNzLWFkZC1zb3VyY2UtY29udGFpbmVyOmhvdmVyIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLmljcy1hZGQtc291cmNlLWNvbnRhaW5lciBidXR0b24ge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXI6IG5vbmU7XG5cdHBhZGRpbmc6IDAuOHJlbSAxLjVyZW07XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuXHRmb250LXNpemU6IDAuOTVlbTtcbn1cblxuLmljcy1hZGQtc291cmNlLWNvbnRhaW5lciBidXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG59XG5cbi8qIFRlc3QgY29udGFpbmVyICovXG4uaWNzLXRlc3QtY29udGFpbmVyIHtcblx0bWFyZ2luLXRvcDogMXJlbTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiAxcmVtO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1mb3JtLWZpZWxkKTtcbn1cblxuLmljcy10ZXN0LWJ1dHRvbiB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLW9yYW5nZSk7XG5cdGNvbG9yOiB3aGl0ZTtcblx0Ym9yZGVyOiBub25lO1xuXHRwYWRkaW5nOiAwLjZyZW0gMS4ycmVtO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLmljcy10ZXN0LWJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLW9yYW5nZSk7XG5cdG9wYWNpdHk6IDAuODtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xufVxuXG4vKiBFbXB0eSBzdGF0ZSAqL1xuLmljcy1lbXB0eS1zdGF0ZSB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogM3JlbSAycmVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLyogTW9kYWwgc3R5bGVzICovXG4uaWNzLXNvdXJjZS1tb2RhbCAubW9kYWwtY29udGVudCB7XG5cdG1heC13aWR0aDogNjAwcHg7XG5cdG1heC1oZWlnaHQ6IDgwdmg7XG5cdG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi5hdXRoLWZpZWxkIHtcblx0bWFyZ2luLXRvcDogMC41cmVtO1xufVxuXG4ubW9kYWwtYnV0dG9uLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogMC41cmVtO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRtYXJnaW4tdG9wOiAxLjVyZW07XG5cdHBhZGRpbmctdG9wOiAxcmVtO1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4ubW9kYWwtYnV0dG9uLWNvbnRhaW5lciBidXR0b24ge1xuXHRwYWRkaW5nOiAwLjVyZW0gMXJlbTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRtaW4td2lkdGg6IDgwcHg7XG59XG5cbi8qIFJlc3BvbnNpdmUgZGVzaWduICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0Lmljcy1zb3VyY2UtaGVhZGVyIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRcdGdhcDogMC41cmVtO1xuXHR9XG5cblx0Lmljcy1zb3VyY2UtYWN0aW9ucyB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRnYXA6IDAuNXJlbTtcblx0fVxuXG5cdC5wcmltYXJ5LWFjdGlvbnMsXG5cdC5zZWNvbmRhcnktYWN0aW9ucyB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHR9XG5cblx0Lmljcy1zb3VyY2UtYWN0aW9ucyBidXR0b24ge1xuXHRcdGZsZXg6IDE7XG5cdFx0bWluLXdpZHRoOiBhdXRvO1xuXHR9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuXHQuaWNzLXNvdXJjZS1pdGVtIHtcblx0XHRwYWRkaW5nOiAxcmVtO1xuXHR9XG5cblx0LnByaW1hcnktYWN0aW9ucyxcblx0LnNlY29uZGFyeS1hY3Rpb25zIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHR9XG5cblx0Lmljcy1zb3VyY2UtYWN0aW9ucyBidXR0b24ge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG1hcmdpbi1ib3R0b206IDAuM3JlbTtcblx0fVxuXG5cdC5tb2RhbC1idXR0b24tY29udGFpbmVyIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHR9XG5cblx0Lm1vZGFsLWJ1dHRvbi1jb250YWluZXIgYnV0dG9uIHtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxufVxuXG4vKiBUZXh0IFJlcGxhY2VtZW50cyBTdHlsZXMgKi9cbi50ZXh0LXJlcGxhY2VtZW50cy1saXN0IHtcblx0bWFyZ2luOiAxcmVtIDA7XG59XG5cbi50ZXh0LXJlcGxhY2VtZW50cy1lbXB0eSB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogMnJlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRib3JkZXI6IDFweCBkYXNoZWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4udGV4dC1yZXBsYWNlbWVudC1ydWxlIHtcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcblx0cGFkZGluZzogMXJlbTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi50ZXh0LXJlcGxhY2VtZW50LXJ1bGU6aG92ZXIge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi50ZXh0LXJlcGxhY2VtZW50LWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0bWFyZ2luLWJvdHRvbTogMC44cmVtO1xufVxuXG4udGV4dC1yZXBsYWNlbWVudC1oZWFkZXIgc3Ryb25nIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1zaXplOiAxZW07XG59XG5cbi50ZXh0LXJlcGxhY2VtZW50LXN0YXR1cyB7XG5cdHBhZGRpbmc6IDAuMnJlbSAwLjZyZW07XG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cdGZvbnQtc2l6ZTogMC43ZW07XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGxldHRlci1zcGFjaW5nOiAwLjVweDtcbn1cblxuLnRleHQtcmVwbGFjZW1lbnQtc3RhdHVzLmVuYWJsZWQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ncmVlbik7XG5cdGNvbG9yOiB3aGl0ZTtcbn1cblxuLnRleHQtcmVwbGFjZW1lbnQtc3RhdHVzLmRpc2FibGVkIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcmVkKTtcblx0Y29sb3I6IHdoaXRlO1xufVxuXG4udGV4dC1yZXBsYWNlbWVudC1kZXRhaWxzIHtcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcblx0Zm9udC1zaXplOiAwLjg1ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLnRleHQtcmVwbGFjZW1lbnQtZGV0YWlscyBkaXYge1xuXHRtYXJnaW4tYm90dG9tOiAwLjNyZW07XG59XG5cbi50ZXh0LXJlcGxhY2VtZW50LXBhdHRlcm4ge1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWZvcm0tZmllbGQpO1xuXHRwYWRkaW5nOiAwLjJyZW0gMC40cmVtO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0bWFyZ2luLWxlZnQ6IDAuNXJlbTtcbn1cblxuLnRleHQtcmVwbGFjZW1lbnQtcmVwbGFjZW1lbnQge1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWZvcm0tZmllbGQpO1xuXHRwYWRkaW5nOiAwLjJyZW0gMC40cmVtO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0bWFyZ2luLWxlZnQ6IDAuNXJlbTtcbn1cblxuLnRleHQtcmVwbGFjZW1lbnQtYWN0aW9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogMC41cmVtO1xuXHRmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi50ZXh0LXJlcGxhY2VtZW50LWFjdGlvbnMgYnV0dG9uIHtcblx0cGFkZGluZzogMC40cmVtIDAuOHJlbTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4udGV4dC1yZXBsYWNlbWVudC1hY3Rpb25zIGJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi50ZXh0LXJlcGxhY2VtZW50LWFjdGlvbnMgYnV0dG9uLm1vZC1jdGEge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi50ZXh0LXJlcGxhY2VtZW50LWFjdGlvbnMgYnV0dG9uLm1vZC13YXJuaW5nIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcmVkKTtcblx0Y29sb3I6IHdoaXRlO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXJlZCk7XG59XG5cbi50ZXh0LXJlcGxhY2VtZW50LWFkZCB7XG5cdG1hcmdpbi10b3A6IDFyZW07XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRleHQtcmVwbGFjZW1lbnQtYWRkIGJ1dHRvbiB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlcjogbm9uZTtcblx0cGFkZGluZzogMC42cmVtIDEuMnJlbTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi50ZXh0LXJlcGxhY2VtZW50LWFkZCBidXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG59XG5cbi8qIFRleHQgUmVwbGFjZW1lbnQgTW9kYWwgU3R5bGVzICovXG4udGV4dC1yZXBsYWNlbWVudC1tb2RhbCAubW9kYWwtY29udGVudCB7XG5cdG1heC13aWR0aDogNzAwcHg7XG5cdG1heC1oZWlnaHQ6IDg1dmg7XG5cdG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi50ZXN0LW91dHB1dCB7XG5cdG1hcmdpbi10b3A6IDAuNXJlbTtcblx0cGFkZGluZzogMC44cmVtO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWZvcm0tZmllbGQpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLnRlc3QtcmVzdWx0IHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLyogRXhhbXBsZXMgc2VjdGlvbiAqL1xuLnRleHQtcmVwbGFjZW1lbnQtbW9kYWwgdWwge1xuXHRtYXJnaW46IDAuNXJlbSAwO1xuXHRwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbn1cblxuLnRleHQtcmVwbGFjZW1lbnQtbW9kYWwgbGkge1xuXHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi50ZXh0LXJlcGxhY2VtZW50LW1vZGFsIGNvZGUge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWZvcm0tZmllbGQpO1xuXHRwYWRkaW5nOiAwLjFyZW0gMC4zcmVtO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XG5cdGZvbnQtc2l6ZTogMC44NWVtO1xufVxuXG4vKiBBbmltYXRpb24gZm9yIHN5bmMgYnV0dG9uICovXG5Aa2V5ZnJhbWVzIHNwaW4ge1xuXHQwJSB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG5cdH1cblx0MTAwJSB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcblx0fVxufVxuXG4uaWNzLXNvdXJjZS1hY3Rpb25zIGJ1dHRvbi5zeW5jaW5nOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlwiO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdG1hcmdpbi1yaWdodDogMC4zcmVtO1xuXHRhbmltYXRpb246IHNwaW4gMXMgbGluZWFyIGluZmluaXRlO1xufVxuXG4uaWNzLXRleHQtcmVwbGFjZW1lbnQtbW9kYWwsXG4uaWNzLXNvdXJjZS1tb2RhbCB7XG5cdG1heC13aWR0aDogMTAwMHB4O1xuXHRtYXgtaGVpZ2h0OiA5MHZoO1xuXG5cdHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cbi5pY3MtdGV4dC1yZXBsYWNlbWVudC1tb2RhbCAubW9kYWwtY29udGVudCxcbi5pY3Mtc291cmNlLW1vZGFsIC5tb2RhbC1jb250ZW50IHtcblx0cGFkZGluZy1yaWdodDogdmFyKC0tc2l6ZS00LTIpO1xufVxuIiwgIi8qIFRhc2sgZmlsdGVyIHBhbmVsIHN0eWxlcyAqL1xuLnRhc2stZmlsdGVyLXBhbmVsIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpIHZhcigtLXNpemUtNC00KTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNpemUtMi0yKTtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zaXplLTQtOCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG1heC1oZWlnaHQ6IDMwMHB4O1xuXHRvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4udGFzay1maWx0ZXItYWN0aXZlIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWFjY2VudC0yKTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi50YXNrLWZpbHRlci1wYW5lbCA+IC5zZXR0aW5nLWl0ZW0ge1xuXHRib3JkZXItdG9wOiB1bnNldDtcbn1cblxuLnRhc2stZmlsdGVyLWhlYWRlci1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4udGFzay1maWx0ZXItdGl0bGUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFzay1maWx0ZXItb3B0aW9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMTBweDtcbn1cblxuLnRhc2stZmlsdGVyLXNlY3Rpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4udGFzay1maWx0ZXItc2VjdGlvbiBoMyB7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0bWFyZ2luOiA1cHggMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGFzay1maWx0ZXItc2VjdGlvbjpsYXN0LWNoaWxkIHtcblx0Ym9yZGVyLWJvdHRvbTogdW5zZXQ7XG59XG5cbi50YXNrLWZpbHRlci1vcHRpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDZweDtcbn1cblxuLnRhc2stZmlsdGVyLW9wdGlvbiBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuXHRtYXJnaW46IDA7XG59XG5cbi50YXNrLWZpbHRlci1vcHRpb24gbGFiZWwge1xuXHRmb250LXNpemU6IDEzcHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YXNrLWZpbHRlci1idXR0b25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0Z2FwOiA4cHg7XG5cdG1hcmdpbi10b3A6IDhweDtcblx0cGFkZGluZy10b3A6IDhweDtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLnRhc2stZmlsdGVyLWFwcGx5LFxuLnRhc2stZmlsdGVyLWNsb3NlIHtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi50YXNrLWZpbHRlci1hcHBseSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi50YXNrLWZpbHRlci1yZXNldCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRhc2stZmlsdGVyLWNsb3NlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFzay1maWx0ZXItcXVlcnktaW5wdXQge1xuXHR3aWR0aDogMTAwJTtcblx0bWluLXdpZHRoOiAyNTBweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRwYWRkaW5nOiA4cHggMTJweDtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcblx0Zm9udC1zaXplOiAxNHB4O1xufVxuXG4udGFzay1maWx0ZXItcXVlcnktaW5wdXQ6Zm9jdXMge1xuXHRib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0b3V0bGluZTogbm9uZTtcbn1cblxuLnRhc2stZmlsdGVyLXNlY3Rpb24gLnNldHRpbmctaXRlbS1kZXNjcmlwdGlvbiB7XG5cdG1hcmdpbi10b3A6IDVweDtcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi50YXNrLWZpbHRlci1vcHRpb25zIHtcblx0bWF4LWhlaWdodDogNzB2aDtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0cGFkZGluZy1yaWdodDogNXB4O1xufVxuXG4udGFzay1maWx0ZXItb3B0aW9ucyB7XG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zaXplLTQtNCk7XG59XG4iLCAiLmZpbHRlci1ncm91cC1zZXBhcmF0b3Ige1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0bWFyZ2luOiB2YXIoLS1zaXplLTItMikgMDsgLyogXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NzY4NFx1NUMzQVx1NUJGOFx1NTNEOFx1OTFDRiAqL1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IC8qIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTc2ODRcdTZCMjFcdTg5ODFcdTY1ODdcdTY3MkNcdTk4OUNcdTgyNzIgKi9cblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU1QjU3XHU0RjUzXHU1OTI3XHU1QzBGXHU1M0Q4XHU5MUNGICovXG59XG5cbi5maWx0ZXItZ3JvdXAtc2VwYXJhdG9yOjpiZWZvcmUsXG4uZmlsdGVyLWdyb3VwLXNlcGFyYXRvcjo6YWZ0ZXIge1xuXHRjb250ZW50OiBcIlwiO1xuXHRmbGV4LWdyb3c6IDE7XG5cdGhlaWdodDogMXB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXG5cdFx0LS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlclxuXHQpOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU4RkI5XHU2ODQ2XHU5ODlDXHU4MjcyICovXG5cdG1hcmdpbjogMCB2YXIoLS1zaXplLTItMSk7IC8qIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTc2ODRcdTVDM0FcdTVCRjhcdTUzRDhcdTkxQ0YgKi9cbn1cblxuLmRyYWctaGFuZGxlIHtcblx0Y3Vyc29yOiBncmFiO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLyogXHU2MzA5XHU5NEFFXHU1NDhDXHU4RjkzXHU1MTY1XHU2ODQ2XHU3Njg0XHU4RjgzXHU1QzBGXHU2NTg3XHU2NzJDXHU1NDhDXHU1MTg1XHU4RkI5XHU4REREICovXG4uY29tcGFjdC1idG4ge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS0yLTIpOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU1QzNBXHU1QkY4XHU1M0Q4XHU5MUNGICovXG5cdGJveC1zaGFkb3c6IHVuc2V0ICFpbXBvcnRhbnQ7XG5cdGJvcmRlcjogdW5zZXQgIWltcG9ydGFudDtcblx0LS1pY29uLXNpemU6IHZhcigtLXNpemUtNC00KTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xuXG5cdC13ZWJraXQtYXBwLXJlZ2lvbjogbm8tZHJhZztcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tYnV0dG9uLXJhZGl1cyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWlucHV0LWZvbnQtd2VpZ2h0KTtcblx0Y3Vyc29yOiB2YXIoLS1jdXJzb3IpO1xuXHRmb250LWZhbWlseTogaW5oZXJpdDtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG5cblx0bWluLWhlaWdodDogMzBweDtcbn1cblxuLmNvbXBhY3QtYnRuOmhvdmVyIHtcblx0Ym94LXNoYWRvdzogbm9uZTtcblx0b3BhY2l0eTogdmFyKC0taWNvbi1vcGFjaXR5LWhvdmVyKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5jb21wYWN0LWlucHV0LFxuLmNvbXBhY3Qtc2VsZWN0IHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU1QjU3XHU0RjUzXHU1OTI3XHU1QzBGXHU1M0Q4XHU5MUNGICovXG5cdGhlaWdodDogdmFyKC0taW5wdXQtaGVpZ2h0KTsgLyogXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NzY4NFx1OEY5M1x1NTE2NVx1Njg0Nlx1OUFEOFx1NUVBNlx1NTNEOFx1OTFDRiAqL1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5jb21wYWN0LXNlbGVjdDpob3ZlciB7XG5cdGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5jb21wYWN0LXRleHQge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7IC8qIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTc2ODRcdTVCNTdcdTRGNTNcdTU5MjdcdTVDMEZcdTUzRDhcdTkxQ0YgKi9cbn1cblxuLyogXHU2MkQ2XHU1MkE4XHU2NUY2XHU3Njg0XHU1MzYwXHU0RjREXHU3QjI2ICovXG4uZHJhZ2dpbmctcGxhY2Vob2xkZXIge1xuXHRvcGFjaXR5OiAwLjU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcihcblx0XHQtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXJcblx0KTsgLyogXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NzY4NFx1NjBBQ1x1NTA1Q1x1ODBDQ1x1NjY2Rlx1ODI3MiAqL1xufVxuXG4vKiBcdTU5ODJcdTY3OUNcdTk3MDBcdTg5ODFcdUZGMENcdTRFM0FcdThGQzdcdTZFRTRcdTU2NjhcdTdFQzRcdTRFRjZcdTc2ODRcdTY4MzlcdTVCQjlcdTU2NjhcdThCQkVcdTdGNkVcdTY4MzdcdTVGMEYgKi9cbi50YXNrLWZpbHRlci1yb290LWNvbnRhaW5lci50YXNrLXBvcG92ZXItY29udGVudCB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKTsgLyogXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NzY4NFx1NUMzQVx1NUJGOFx1NTNEOFx1OTFDRiAqL1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cdG1heC1oZWlnaHQ6IDEwMCU7XG59XG5cbi50YXNrLWZpbHRlci1tYWluLXBhbmVsIHtcblx0bWF4LXdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMik7IC8qIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTc2ODRcdTVDM0FcdTVCRjhcdTUzRDhcdTkxQ0YgKi9cblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU1NzA2XHU4OUQyXHU1M0Q4XHU5MUNGICovXG59XG5cbi5maWx0ZXItbWVudSB7XG5cdHotaW5kZXg6IDUwO1xuXHRtaW4td2lkdGg6IDYwMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4vKiByb290RmlsdGVyU2V0dXBTZWN0aW9uIGluIFRTLCBjb3JyZXNwb25kcyB0byBIVE1MJ3MgI3Jvb3QtZmlsdGVyLWNvbnRhaW5lciAqL1xuLnJvb3QtZmlsdGVyLXNldHVwLXNlY3Rpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDAuNzVyZW07IC8qIHNwYWNlLXktMyBmcm9tIEhUTUwsIFRhaWx3aW5kIHZhcigtLXNwYWNlLTMpICovXG59XG5cbi8qIFJvb3QgQ29uZGl0aW9uIFNlY3Rpb24gKGRpdi5mbGV4Lml0ZW1zLWNlbnRlci5zcGFjZS14LTIucC0yLmJnLXNsYXRlLTEwMC5yb3VuZGVkLW1kLmJvcmRlci5ib3JkZXItc2xhdGUtMjAwKSAqL1xuLnJvb3QtY29uZGl0aW9uLXNlY3Rpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDAuNXJlbTsgLyogc3BhY2UteC0yIGZyb20gSFRNTCwgVGFpbHdpbmQgdmFyKC0tc3BhY2UtMikgKi9cblx0cGFkZGluZzogMC41cmVtOyAvKiBwLTIgZnJvbSBIVE1MLCBUYWlsd2luZCB2YXIoLS1zcGFjZS0yKSAqL1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXG5cdFx0LS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQsXG5cdFx0dmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcilcblx0KTsgLyogYmctc2xhdGUtMTAwICovXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTsgLyogcm91bmRlZC1tZCAqL1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7IC8qIGJvcmRlciBib3JkZXItc2xhdGUtMjAwICovXG59XG5cbi5yb290LWNvbmRpdGlvbi1sYWJlbCB7XG5cdC8qIGNvbXBhY3QtdGV4dCBhbHJlYWR5IHByb3ZpZGVzIGZvbnQtc2l6ZSAqL1xuXHRmb250LXdlaWdodDogNTAwOyAvKiBmb250LW1lZGl1bSAqL1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpOyAvKiB0ZXh0LXNsYXRlLTYwMCAqL1xufVxuXG4ucm9vdC1jb25kaXRpb24tc2VsZWN0IHtcblx0LyogY29tcGFjdC1zZWxlY3QgYWxyZWFkeSBwcm92aWRlcyBiYXNlIHN0eWxpbmcgKi9cblx0d2lkdGg6IGF1dG87XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWlucHV0LWJvcmRlci1jb2xvciwgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpKTsgLyogYm9yZGVyIGJvcmRlci1zbGF0ZS0zMDAgKi9cblx0LyogYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXMpOyAvKiBzaGFkb3ctc20gKi8gLyogQ29uc2lkZXIgaWYgbmVlZGVkICovXG59XG5cbi5yb290LWNvbmRpdGlvbi1zZWxlY3Q6Zm9jdXMge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IDAgMCAwIDFweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4ucm9vdC1jb25kaXRpb24tc3BhbiB7XG5cdC8qIGNvbXBhY3QtdGV4dCBhbHJlYWR5IHByb3ZpZGVzIGZvbnQtc2l6ZSAqL1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpOyAvKiB0ZXh0LXNsYXRlLTYwMCAqL1xufVxuXG4vKiBGaWx0ZXIgR3JvdXBzIENvbnRhaW5lciAoI2ZpbHRlci1ncm91cHMtY29udGFpbmVyKSAqL1xuLmZpbHRlci1ncm91cHMtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTItMyk7IC8qIHNwYWNlLXktMyBmcm9tIEhUTUwgKi9cblxuXHRtYXgtaGVpZ2h0OiA1MHZoO1xuXHRvdmVyZmxvdzogYXV0bztcbn1cblxuLyogRmlsdGVyIEdyb3VwICgjZmlsdGVyLWdyb3VwLXRlbXBsYXRlKSAqL1xuLmZpbHRlci1ncm91cCB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0zKTsgLyogcC0zIGZyb20gSFRNTCAqL1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7IC8qIGJvcmRlciBib3JkZXItc2xhdGUtMzAwICovXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTsgLyogcm91bmRlZC1tZCAqL1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpOyAvKiBiZy13aGl0ZSAqL1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTsgLyogc3BhY2UteS0yIGZyb20gSFRNTCAqL1xufVxuXG4uZmlsdGVyLWdyb3VwLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLmZpbHRlci1ncm91cC1oZWFkZXItbGVmdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMC4zNzVyZW07IC8qIHNwYWNlLXgtMS41IGZyb20gSFRNTCAqL1xufVxuXG4uZmlsdGVyLWdyb3VwLWhlYWRlci1sZWZ0IC5kcmFnLWhhbmRsZS1jb250YWluZXIgLnN2Zy1pY29uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpOyAvKiB0ZXh0LXNsYXRlLTQwMCAqL1xufVxuXG4uZmlsdGVyLWdyb3VwLWhlYWRlci1sZWZ0IC5kcmFnLWhhbmRsZS1jb250YWluZXI6aG92ZXIgLnN2Zy1pY29uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyAvKiBob3Zlcjp0ZXh0LXNsYXRlLTUwMCAqL1xufVxuXG4uZmlsdGVyLWdyb3VwLWhlYWRlci1sZWZ0IC5kcmFnLWhhbmRsZS1jb250YWluZXIge1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zaXplLTItMSk7XG59XG5cbi5maWx0ZXItZ3JvdXAtaGVhZGVyLWxlZnQgPiAuY29tcGFjdC10ZXh0LFxuLmZpbHRlci1ncm91cC1oZWFkZXItbGVmdCA+IHNwYW4uY29tcGFjdC10ZXh0IHtcblx0Zm9udC13ZWlnaHQ6IDUwMDsgLyogZm9udC1tZWRpdW0gKi9cblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTsgLyogdGV4dC1zbGF0ZS02MDAgKi9cbn1cblxuLmZpbHRlci1ncm91cC1oZWFkZXItbGVmdCAuZ3JvdXAtY29uZGl0aW9uLXNlbGVjdC5jb21wYWN0LXNlbGVjdCB7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWlucHV0LWJvcmRlci1jb2xvciwgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpKTtcbn1cblxuLmZpbHRlci1ncm91cC1oZWFkZXItbGVmdCAuZ3JvdXAtY29uZGl0aW9uLXNlbGVjdC5jb21wYWN0LXNlbGVjdDpmb2N1cyB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogMCAwIDAgMXB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi5maWx0ZXItZ3JvdXAtaGVhZGVyLXJpZ2h0IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAwLjI1cmVtOyAvKiBzcGFjZS14LTEgZnJvbSBIVE1MICovXG59XG5cbi5maWx0ZXItZ3JvdXAtaGVhZGVyLXJpZ2h0IC5kdXBsaWNhdGUtZ3JvdXAtYnRuLmNvbXBhY3QtaWNvbi1idG4sXG4uZmlsdGVyLWdyb3VwLWhlYWRlci1yaWdodCAucmVtb3ZlLWdyb3VwLWJ0bi5jb21wYWN0LWljb24tYnRuIHtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpOyAvKiByb3VuZGVkLW1kIGZyb20gVGFpbHdpbmQgKi9cbn1cblxuLmZpbHRlci1ncm91cC1oZWFkZXItcmlnaHQgLmR1cGxpY2F0ZS1ncm91cC1idG4uY29tcGFjdC1pY29uLWJ0biAuc3ZnLWljb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IC8qIHRleHQtc2xhdGUtNTAwICovXG59XG5cbi5maWx0ZXItZ3JvdXAtaGVhZGVyLXJpZ2h0XG4uZHVwbGljYXRlLWdyb3VwLWJ0bi5jb21wYWN0LWljb24tYnRuOmhvdmVyXG4uc3ZnLWljb24ge1xuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTsgLyogaG92ZXI6dGV4dC1pbmRpZ28tNjAwICovXG59XG5cbi5maWx0ZXItZ3JvdXAtaGVhZGVyLXJpZ2h0IC5kdXBsaWNhdGUtZ3JvdXAtYnRuLmNvbXBhY3QtaWNvbi1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLmZpbHRlci1ncm91cC1oZWFkZXItcmlnaHQgLnJlbW92ZS1ncm91cC1idG4uY29tcGFjdC1pY29uLWJ0biAuc3ZnLWljb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IC8qIHRleHQtc2xhdGUtNTAwICovXG59XG5cbi5maWx0ZXItZ3JvdXAtaGVhZGVyLXJpZ2h0IC5yZW1vdmUtZ3JvdXAtYnRuLmNvbXBhY3QtaWNvbi1idG46aG92ZXIgLnN2Zy1pY29uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpOyAvKiBob3Zlcjp0ZXh0LXJlZC02MDAgKi9cbn1cblxuLmZpbHRlci1ncm91cC1oZWFkZXItcmlnaHQgLnJlbW92ZS1ncm91cC1idG4uY29tcGFjdC1pY29uLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcihcblx0XHQtLWJhY2tncm91bmQtZXJyb3ItaG92ZXIsXG5cdFx0dmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvci1ob3Zlcilcblx0KTtcbn1cblxuLyogRmlsdGVycyBMaXN0ICguZmlsdGVycy1saXN0KSAqL1xuLmZpbHRlcnMtbGlzdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpOyAvKiBzcGFjZS15LTEuNSBmcm9tIEhUTUwgKi9cblx0cGFkZGluZy1sZWZ0OiAxcmVtOyAvKiBwbC00IGZyb20gSFRNTCAqL1xuXHRib3JkZXItbGVmdDogMnB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTsgLyogYm9yZGVyLWwtMiBib3JkZXItc2xhdGUtMjAwICovXG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zaXplLTQtMik7IC8qIG1sLTEuNSBmcm9tIEhUTUwgKi9cbn1cblxuLmZpbHRlcnMtbGlzdDplbXB0eSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEdyb3VwIEZvb3RlciAoLmdyb3VwLWZvb3RlcikgKi9cbi5ncm91cC1mb290ZXIge1xuXHQvKiBIVE1MOiA8ZGl2IGNsYXNzPVwicGwtNCBtdC0xLjVcIj4gY29udGFpbmluZyBidXR0b24gKi9cblx0LyogVFMgY3JlYXRlcyAuZ3JvdXAtZm9vdGVyLCB0aGVuIGFkZHMgQnV0dG9uQ29tcG9uZW50IHRvIGl0LiAqL1xuXHRwYWRkaW5nLWxlZnQ6IDAuMzc1cmVtOyAvKiBDb3JyZXNwb25kcyB0byBwbC0xLjUgZWZmZWN0aXZlbHkgaWYgaXRlbXMgaW5zaWRlIC5maWx0ZXJzLWxpc3QgaGF2ZSBtYXJnaW4vcGFkZGluZyAqL1xuXHRtYXJnaW4tdG9wOiAwLjM3NXJlbTsgLyogbXQtMS41ICovXG59XG5cbi5hZGQtZmlsdGVyLWJ0bi1pY29uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi8qIEZpbHRlciBJdGVtICgjZmlsdGVyLWl0ZW0tdGVtcGxhdGUpICovXG4uZmlsdGVyLWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHQvKiBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7ICovXG5cdC8qIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTsgKi9cblx0cGFkZGluZy10b3A6IDA7XG5cdHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4uZmlsdGVyLWl0ZW0gLmZpbHRlci1jb25qdW5jdGlvbiB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTsgLyogdGV4dC0yeHMgKi9cblx0Zm9udC13ZWlnaHQ6IDYwMDsgLyogZm9udC1zZW1pYm9sZCAqL1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7IC8qIHRleHQtc2xhdGUtNDAwICovXG5cdGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cblxuLmZpbHRlci1pdGVtIC5maWx0ZXItcHJvcGVydHktc2VsZWN0LmNvbXBhY3Qtc2VsZWN0IHtcblx0ZmxleC1iYXNpczogMzAlOyAvKiB3LTEvMyAqL1xuXHRmbGV4LWdyb3c6IDA7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1pbnB1dC1ib3JkZXItY29sb3IsIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKSk7XG5cdC8qIGJvcmRlcjogdW5zZXQgIWltcG9ydGFudDsgKi9cblx0Ym94LXNoYWRvdzogbm9uZTtcbn1cblxuLmZpbHRlci1pdGVtIC5maWx0ZXItcHJvcGVydHktc2VsZWN0LmNvbXBhY3Qtc2VsZWN0OmZvY3VzIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAxcHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLmZpbHRlci1pdGVtIC5maWx0ZXItY29uZGl0aW9uLXNlbGVjdC5jb21wYWN0LXNlbGVjdCB7XG5cdHdpZHRoOiBhdXRvOyAvKiB3LWF1dG8gKi9cblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0taW5wdXQtYm9yZGVyLWNvbG9yLCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcikpO1xuXHQvKiBib3JkZXI6IHVuc2V0ICFpbXBvcnRhbnQ7ICovXG5cdGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5maWx0ZXItaXRlbSAuZmlsdGVyLWNvbmRpdGlvbi1zZWxlY3QuY29tcGFjdC1zZWxlY3Q6Zm9jdXMge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IDAgMCAwIDFweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4uZmlsdGVyLWl0ZW0gLmZpbHRlci12YWx1ZS1pbnB1dC5jb21wYWN0LWlucHV0IHtcblx0ZmxleC1ncm93OiAxOyAvKiBmbGV4LWdyb3cgKi9cblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0taW5wdXQtYm9yZGVyLWNvbG9yLCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcikpO1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLmZpbHRlci1pdGVtIC5maWx0ZXItdmFsdWUtaW5wdXQuY29tcGFjdC1pbnB1dDpmb2N1cyB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogMCAwIDAgMXB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi5maWx0ZXItaXRlbSAucmVtb3ZlLWZpbHRlci1idG4uY29tcGFjdC1pY29uLWJ0biAuc3ZnLWljb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IC8qIHRleHQtc2xhdGUtNTAwICovXG59XG5cbi5maWx0ZXItaXRlbSAucmVtb3ZlLWZpbHRlci1idG4uY29tcGFjdC1pY29uLWJ0bjpob3ZlciAuc3ZnLWljb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7IC8qIGhvdmVyOnRleHQtcmVkLTYwMCAqL1xufVxuXG4uZmlsdGVyLWl0ZW0gLnJlbW92ZS1maWx0ZXItYnRuLmNvbXBhY3QtaWNvbi1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXG5cdFx0LS1iYWNrZ3JvdW5kLWVycm9yLWhvdmVyLFxuXHRcdHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3ItaG92ZXIpXG5cdCk7XG59XG5cbi8qIEFkZCBGaWx0ZXIgR3JvdXAgQnV0dG9uIFNlY3Rpb24gKi9cbi5hZGQtZ3JvdXAtc2VjdGlvbiB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtMi0xKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTEpO1xuXHRtYXJnaW4tbGVmdDogdmFyKC0tc2l6ZS0yLTEpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5hZGQtZmlsdGVyLWdyb3VwLWJ0bi1pY29uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi8qIEZpbHRlciBDb25maWd1cmF0aW9uIFNlY3Rpb24gKi9cbi5maWx0ZXItY29uZmlnLXNlY3Rpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0LyogbWFyZ2luLXRvcDogdmFyKC0tc2l6ZS0yLTEpOyAqL1xuXHQvKiBtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMSk7ICovXG5cdC8qIG1hcmdpbi1sZWZ0OiB2YXIoLS1zaXplLTItMSk7ICovXG5cdC8qIHBhZGRpbmctdG9wOiB2YXIoLS1zaXplLTItMik7ICovXG5cdC8qIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7ICovXG59XG5cbi5zYXZlLWZpbHRlci1jb25maWctYnRuLFxuLmxvYWQtZmlsdGVyLWNvbmZpZy1idG4ge1xuXHRmbGV4OiAxO1xufVxuXG4uc2F2ZS1maWx0ZXItY29uZmlnLWJ0bi1pY29uLFxuLmxvYWQtZmlsdGVyLWNvbmZpZy1idG4taWNvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uc2F2ZS1maWx0ZXItY29uZmlnLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi5sb2FkLWZpbHRlci1jb25maWctYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi8qIEZpbHRlciBDb25maWcgTW9kYWwgU3R5bGVzICovXG4uZmlsdGVyLWNvbmZpZy1kZXRhaWxzIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWwpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG5cdFx0MTM1ZGVnLFxuXHRcdHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KSAwJSxcblx0XHR2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktYWx0KSAxMDAlXG5cdCk7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zKTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG59XG5cbi5maWx0ZXItY29uZmlnLWRldGFpbHM6aG92ZXIge1xuXHRib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cblxuLmZpbHRlci1jb25maWctZGV0YWlscyBoMyB7XG5cdG1hcmdpbjogMCAwIHZhcigtLXNpemUtNC0yKSAwO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG59XG5cbi5maWx0ZXItY29uZmlnLWRldGFpbHMgcCB7XG5cdG1hcmdpbjogdmFyKC0tc2l6ZS0yLTIpIDA7XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5maWx0ZXItY29uZmlnLW1ldGEge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWFyZ2luOiB2YXIoLS1zaXplLTItMSkgMDtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0yKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1mb3JtLWZpZWxkKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi5maWx0ZXItY29uZmlnLXN1bW1hcnkge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSAwIDAgMDtcblx0Ym9yZGVyLXRvcDogMnB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLmZpbHRlci1jb25maWctc3VtbWFyeSBoNCB7XG5cdG1hcmdpbjogMCAwIHZhcigtLXNpemUtMi0zKSAwO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtMi0xKTtcbn1cblxuLmZpbHRlci1jb25maWctc3VtbWFyeSBwIHtcblx0bWFyZ2luOiB2YXIoLS1zaXplLTItMSkgMDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTItMik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1hbHQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG59XG5cbi5maWx0ZXItY29uZmlnLWJ1dHRvbnMge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMyk7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5maWx0ZXItY29uZmlnLW5hbWUtaGlnaGxpZ2h0IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRwYWRkaW5nOiAwLjEyNXJlbSAwLjI1cmVtO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi8qIEFkdmFuY2VkIGZpbHRlciBjb250YWluZXIgc3R5bGVzIGZvciBWaWV3Q29uZmlnTW9kYWwgKi9cbi5hZHZhbmNlZC1maWx0ZXItY29udGFpbmVyIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi5hZHZhbmNlZC1maWx0ZXItY29udGFpbmVyIC50YXNrLWZpbHRlci1yb290LWNvbnRhaW5lciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRib3JkZXI6IG5vbmU7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi5hZHZhbmNlZC1maWx0ZXItY29udGFpbmVyIC50YXNrLWZpbHRlci1tYWluLXBhbmVsIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGJvcmRlcjogbm9uZTtcblx0cGFkZGluZzogMDtcbn1cblxuLyogU21hbGxlciBzdHlsaW5nIGZvciBmaWx0ZXJzIGluIG1vZGFsICovXG4udGFzay1nZW5pdXMtdmlldy1jb25maWctbW9kYWwgLmFkdmFuY2VkLWZpbHRlci1jb250YWluZXIgLmZpbHRlci1ncm91cCB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4udGFzay1nZW5pdXMtdmlldy1jb25maWctbW9kYWwgLmFkdmFuY2VkLWZpbHRlci1jb250YWluZXIgLmZpbHRlci1pdGVtIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpO1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXctY29uZmlnLW1vZGFsIC5hZHZhbmNlZC1maWx0ZXItY29udGFpbmVyIC5jb21wYWN0LWJ0biB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTItMik7XG5cdG1pbi1oZWlnaHQ6IDI2cHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3LWNvbmZpZy1tb2RhbCAuYWR2YW5jZWQtZmlsdGVyLWNvbnRhaW5lciAuY29tcGFjdC1zZWxlY3QsXG4udGFzay1nZW5pdXMtdmlldy1jb25maWctbW9kYWwgLmFkdmFuY2VkLWZpbHRlci1jb250YWluZXIgLmNvbXBhY3QtaW5wdXQge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGhlaWdodDogMjhweDtcbn1cbiIsICIvKiBWaWV3IFNldHRpbmdzIFRhYiBTdHlsZXMgKi9cblxuLyogVmlldyBtYW5hZ2VtZW50IGxpc3QgY29udGFpbmVyICovXG4udmlldy1tYW5hZ2VtZW50LWxpc3Qge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDIwcHg7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC00KTtcbn1cblxuLyogU2VjdGlvbiBjb250YWluZXJzICovXG4udmlldy1zZWN0aW9uLWNvbnRhaW5lciB7XG5cdG1pbi1oZWlnaHQ6IDEwMHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0cGFkZGluZzogMTBweDtcbn1cblxuLyogU2VjdGlvbiBoZWFkZXJzICovXG4udmlldy1zZWN0aW9uLWhlYWRlciB7XG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi52aWV3LXNlY3Rpb24taGVhZGVyIGg0IHtcblx0bWFyZ2luOiAwO1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnZpZXctc2VjdGlvbi1pdGVtcyxcbi5zb3J0YWJsZS12aWV3cyB7XG5cdG1pbi1oZWlnaHQ6IDYwcHg7XG5cdGJvcmRlcjogMXB4IGRhc2hlZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0cGFkZGluZzogOHB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xufVxuXG4uc29ydGFibGUtdmlld3M6ZW1wdHk6OmFmdGVyIHtcblx0Y29udGVudDogYXR0cihkYXRhLWVtcHR5LXRleHQpO1xuXHRkaXNwbGF5OiBibG9jaztcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHBhZGRpbmc6IDIwcHg7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLnNvcnRhYmxlLXZpZXdzW2RhdGEtcmVnaW9uPVwidG9wXCJdOmVtcHR5OjphZnRlciB7XG5cdGNvbnRlbnQ6IFwiRHJhZyB2aWV3cyBoZXJlIGZvciB0aGUgdG9wIHNlY3Rpb25cIjtcbn1cblxuLnNvcnRhYmxlLXZpZXdzW2RhdGEtcmVnaW9uPVwiYm90dG9tXCJdOmVtcHR5OjphZnRlciB7XG5cdGNvbnRlbnQ6IFwiRHJhZyB2aWV3cyBoZXJlIGZvciB0aGUgYm90dG9tIHNlY3Rpb25cIjtcbn1cblxuLyogVmlldyBpdGVtIHN0eWxlcyAqL1xuLnZpZXctaXRlbSxcbi5zb3J0YWJsZS12aWV3LWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiA4cHg7XG5cdG1hcmdpbi1ib3R0b206IDRweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGN1cnNvcjogbW92ZTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLnZpZXctaXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCkgIWltcG9ydGFudDtcbn1cblxuLyogRHJhZyBoYW5kbGUgc3R5bGVzICovXG4udmlldy1kcmFnLWhhbmRsZSB7XG5cdGN1cnNvcjogZ3JhYjtcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XG5cdG9wYWNpdHk6IDAuNTtcbn1cblxuLnZpZXctZHJhZy1oYW5kbGU6YWN0aXZlIHtcblx0Y3Vyc29yOiBncmFiYmluZyAhaW1wb3J0YW50O1xufVxuXG4vKiBWaWV3IGl0ZW0gaWNvbiAqL1xuLnZpZXctaXRlbS1pY29uIHtcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XG59XG5cbi8qIFZpZXcgaXRlbSBpbmZvICovXG4udmlldy1pdGVtLWluZm8ge1xuXHRmbGV4OiAxO1xuXHRtYXJnaW4tcmlnaHQ6IDhweDtcbn1cblxuLnZpZXctaXRlbS1uYW1lIHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLnZpZXctaXRlbS10eXBlIHtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi8qIFZpZXcgaXRlbSBhY3Rpb25zICovXG4udmlldy1pdGVtLWFjdGlvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IDRweDtcbn1cblxuLnZpZXctYWN0aW9uLWJ1dHRvbiB7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRib3JkZXI6IG5vbmU7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0cGFkZGluZzogNHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi52aWV3LWFjdGlvbi1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnZpZXctYWN0aW9uLWRlbGV0ZTpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4uc29ydGFibGUtZ2hvc3Qge1xuXHRvcGFjaXR5OiAwLjQ7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpICFpbXBvcnRhbnQ7XG59XG5cbi5zb3J0YWJsZS1kcmFnIHtcblx0b3BhY2l0eTogMDtcbn1cblxuLnNvcnRhYmxlLWNob3NlbiB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpICFpbXBvcnRhbnQ7XG59XG4iLCAiLyogTUNQIEludGVncmF0aW9uIFNldHRpbmdzIFN0eWxlcyAqL1xuXG4vKiBTdGF0dXMgQ29udGFpbmVyICovXG4ubWNwLXN0YXR1cy1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLm1jcC1zdGF0dXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDEwcHg7XG59XG5cbi5tY3Atc3RhdHVzLWluZGljYXRvciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTBweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMS4wNWVtO1xufVxuXG4ubWNwLXN0YXR1cy1pbmRpY2F0b3IucnVubmluZyAuc3RhdHVzLWRvdCB7XG4gICAgY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItc3VjY2Vzcyk7XG4gICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICBhbmltYXRpb246IHB1bHNlIDJzIGluZmluaXRlO1xufVxuXG4ubWNwLXN0YXR1cy1pbmRpY2F0b3Iuc3RvcHBlZCAuc3RhdHVzLWRvdCB7XG4gICAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuICAgIGZvbnQtc2l6ZTogMS4yZW07XG59XG5cbi5tY3Atc3RhdHVzLWRldGFpbHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAyNHB4O1xuICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbn1cblxuLyogQ2xpZW50IENvbmZpZ3VyYXRpb24gKi9cbi5tY3AtY29uZmlnLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLm1jcC1jbGllbnQtc2VjdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm1jcC1jbGllbnQtaGVhZGVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcGFkZGluZzogMTJweCAxNnB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTBweDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG59XG5cbi5tY3AtY2xpZW50LWhlYWRlcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi8qIEFycm93IGljb24gZm9yIGNvbGxhcHNpYmxlIHNlY3Rpb25zICovXG4ubWNwLWFycm93IHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycztcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbn1cblxuLm1jcC1hcnJvdyBzdmcge1xuICAgIHdpZHRoOiAxNHB4O1xuICAgIGhlaWdodDogMTRweDtcbiAgICBzdHJva2Utd2lkdGg6IDI7XG59XG5cbi5tY3AtYXJyb3cuZXhwYW5kZWQge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbn1cblxuLm1jcC1jbGllbnQtbmFtZSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ubWNwLWNsaWVudC1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ubWNwLWNsaWVudC1jb250ZW50LmV4cGFuZGVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm1jcC1jb25maWctYmxvY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4ubWNwLWNvbmZpZy1jb2RlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMTZweCA2MHB4IDE2cHggMTZweCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvZGUtYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMzAwcHg7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcbiAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG4gICAgc2Nyb2xsYmFyLWNvbG9yOiB2YXIoLS1zY3JvbGxiYXItdGh1bWItYmcpIHZhcigtLXNjcm9sbGJhci1iZyk7XG59XG5cbi5tY3AtY29uZmlnLWNvZGUgY29kZSB7XG4gICAgY29sb3I6IHZhcigtLWNvZGUtbm9ybWFsKTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xuICAgIHdoaXRlLXNwYWNlOiBwcmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5tY3AtY29uZmlnLWNvZGU6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICB3aWR0aDogOHB4O1xuICAgIGhlaWdodDogOHB4O1xufVxuXG4ubWNwLWNvbmZpZy1jb2RlOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tc2Nyb2xsYmFyLWJnKTtcbn1cblxuLm1jcC1jb25maWctY29kZTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXNjcm9sbGJhci10aHVtYi1iZyk7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4ubWNwLWNvbmZpZy1jb2RlOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tc2Nyb2xsYmFyLWFjdGl2ZS10aHVtYi1iZyk7XG59XG5cbi8qIENvcHkgQnV0dG9ucyAqL1xuLm1jcC1jb3B5LWJ0biB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgdG9wOiAxMnB4O1xuICAgIHJpZ2h0OiAxMnB4O1xuICAgIHBhZGRpbmc6IDZweCAxMnB4O1xuICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgYmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgei1pbmRleDogMTA7XG59XG5cbi5tY3AtY29weS1idG46aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG5cbi5tY3AtY29weS1idG4uY29waWVkIHtcbiAgICBhbmltYXRpb246IGNvcHlTdWNjZXNzIDAuM3MgZWFzZTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLXN1Y2Nlc3MpICFpbXBvcnRhbnQ7XG59XG5cbi8qIEF1dGhlbnRpY2F0aW9uIE1ldGhvZHMgTGlzdCAqL1xuLm1jcC1hdXRoLW1ldGhvZHMge1xuICAgIG1hcmdpbjogMTVweCAwO1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5tY3AtYXV0aC1saXN0IHtcbiAgICBtYXJnaW46IDEwcHggMCAwIDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuODtcbn1cblxuLm1jcC1hdXRoLWxpc3QgbGkge1xuICAgIG1hcmdpbjogOHB4IDA7XG4gICAgY29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLm1jcC1hdXRoLWxpc3QgY29kZSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29kZS1iYWNrZ3JvdW5kKTtcbiAgICBwYWRkaW5nOiAycHggNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBmb250LXNpemU6IDAuOWVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2RlLW5vcm1hbCk7XG59XG5cbi8qIFRva2VuIElucHV0ICovXG4ubWNwLXRva2VuLWlucHV0IHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICAgIHdpZHRoOiAzMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbi8qIEFQSSBEb2N1bWVudGF0aW9uICovXG4ubWNwLWRvY3MtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4ubWNwLWRvY3Mtc2VjdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLm1jcC1kb2NzLXN1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgY29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLyogRW5kcG9pbnQgQm94ICovXG4ubWNwLWVuZHBvaW50LWJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTJweDtcbiAgICBwYWRkaW5nOiAxMnB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5tY3AtZW5kcG9pbnQtY29udGVudCB7XG4gICAgZmxleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG59XG5cbi5tY3AtZW5kcG9pbnQtbGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4ubWNwLWVuZHBvaW50LXVybCB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcbiAgICBwYWRkaW5nOiA2cHggMTBweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgY29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbiAgICB1c2VyLXNlbGVjdDogdGV4dDtcbn1cblxuLm1jcC1jb3B5LWVuZHBvaW50LWJ0biB7XG4gICAgcGFkZGluZzogNnB4IDEycHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtbm9ybWFsKTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycztcbn1cblxuLm1jcC1jb3B5LWVuZHBvaW50LWJ0bjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtaG92ZXIpO1xufVxuXG4ubWNwLWNvcHktZW5kcG9pbnQtYnRuLmNvcGllZCB7XG4gICAgYW5pbWF0aW9uOiBjb3B5U3VjY2VzcyAwLjNzIGVhc2U7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1zdWNjZXNzKSAhaW1wb3J0YW50O1xufVxuXG4vKiBUb29scyBHcmlkICovXG4ubWNwLXRvb2xzLWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMjgwcHgsIDFmcikpO1xuICAgIGdhcDogMTZweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xufVxuXG4ubWNwLXRvb2wtY2FyZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpIDAlLCB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpIDEwMCUpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm1jcC10b29sLWNhcmQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogM3B4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KSAwJSwgdmFyKC0tdGV4dC1hY2NlbnQpIDEwMCUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcbn1cblxuLm1jcC10b29sLWNhcmQ6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTtcbiAgICBib3gtc2hhZG93OiAwIDhweCAyNHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4ubWNwLXRvb2wtY2FyZDpob3Zlcjo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbn1cblxuLm1jcC10b29sLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5tY3AtdG9vbC1pY29uIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuICAgIG9wYWNpdHk6IDAuOTtcbn1cblxuLm1jcC10b29sLWljb24gc3ZnIHtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgc3Ryb2tlLXdpZHRoOiAyO1xufVxuXG4ubWNwLXRvb2wtbmFtZSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcbiAgICBmb250LXNpemU6IDAuODVlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3gpO1xuICAgIHBhZGRpbmc6IDRweCA4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG59XG5cbi5tY3AtdG9vbC1kZXNjIHtcbiAgICBmb250LXNpemU6IDAuODVlbTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBwYWRkaW5nLWxlZnQ6IDI4cHg7XG59XG5cbi8qIEV4YW1wbGUgQ29udGFpbmVyICovXG4ubWNwLWV4YW1wbGUtY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG59XG5cbi8qIEV4YW1wbGUgVGFicyAqL1xuLm1jcC1leGFtcGxlLXRhYnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAwO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KSAwJSwgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3gpIDEwMCUpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLm1jcC1leGFtcGxlLXRhYiB7XG4gICAgZmxleDogMTtcbiAgICBwYWRkaW5nOiAxNHB4IDIwcHg7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbiAgICBmb250LXNpemU6IDAuOWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5tY3AtZXhhbXBsZS10YWI6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGVYKDApO1xuICAgIHdpZHRoOiA4MCU7XG4gICAgaGVpZ2h0OiAzcHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweCAzcHggMCAwO1xufVxuXG4ubWNwLWV4YW1wbGUtdGFiOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjA1KTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ubWNwLWV4YW1wbGUtdGFiLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4xKTtcbiAgICBjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4ubWNwLWV4YW1wbGUtdGFiLmFjdGl2ZTo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZVgoMSk7XG59XG5cbi8qIEV4YW1wbGUgQ29kZSAqL1xuLm1jcC1leGFtcGxlLWNvZGUtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29kZS1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4ubWNwLWV4YW1wbGUtYmxvY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGFuaW1hdGlvbjogZmFkZUluIDAuM3MgZWFzZTtcbn1cblxuLm1jcC1leGFtcGxlLWJsb2NrLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG4ubWNwLWV4YW1wbGUtY29kZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDI0cHggODBweCAyNHB4IDI0cHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tY29kZS1iYWNrZ3JvdW5kKSAwJSwgcmdiYSh2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktcmdiKSwgMC41KSAxMDAlKTtcbiAgICBmb250LXNpemU6IDAuODVlbTtcbiAgICBsaW5lLWhlaWdodDogMS43O1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LWhlaWdodDogNTAwcHg7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubWNwLWV4YW1wbGUtY29kZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB0cmFuc3BhcmVudCwgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpLCB0cmFuc3BhcmVudCk7XG59XG5cbi5tY3AtZXhhbXBsZS1jb2RlIGNvZGUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2RlLW5vcm1hbCk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcbiAgICB3aGl0ZS1zcGFjZTogcHJlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbn1cblxuLm1jcC1leGFtcGxlLWNvcHktYnRuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAyMHB4O1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIHBhZGRpbmc6IDhweCAxNnB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG4gICAgY29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDAuODVlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gICAgei1pbmRleDogMTA7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMyk7XG59XG5cbi5tY3AtZXhhbXBsZS1jb3B5LWJ0bjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjQpO1xufVxuXG4ubWNwLWV4YW1wbGUtY29weS1idG46YWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgYm94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMyk7XG59XG5cbi5tY3AtZXhhbXBsZS1jb3B5LWJ0bi5jb3BpZWQge1xuICAgIGFuaW1hdGlvbjogY29weVN1Y2Nlc3MgMC40cyBlYXNlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItc3VjY2VzcykgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1zdWNjZXNzLXJnYiksIDAuMyk7XG59XG5cbi8qIEFuaW1hdGlvbnMgKi9cbkBrZXlmcmFtZXMgY29weVN1Y2Nlc3Mge1xuICAgIDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAgIDUwJSB7IHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG59XG5cbkBrZXlmcmFtZXMgcHVsc2Uge1xuICAgIDAlIHsgb3BhY2l0eTogMTsgfVxuICAgIDUwJSB7IG9wYWNpdHk6IDAuNjsgfVxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XG59XG5cbi8qIFNtb290aCB0cmFuc2l0aW9ucyBmb3IgYWxsIGludGVyYWN0aXZlIGVsZW1lbnRzICovXG4ubWNwLWNsaWVudC1oZWFkZXIsXG4ubWNwLWV4YW1wbGUtdGFiLFxuLm1jcC10b29sLWNhcmQsXG5idXR0b24ge1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi8qIENvZGUgc3ludGF4IGNvbG9ycyBmb3IgYmV0dGVyIHJlYWRhYmlsaXR5ICovXG4ubWNwLWNvbmZpZy1jb2RlIC5qc29uLWtleSB7XG4gICAgY29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLm1jcC1jb25maWctY29kZSAuanNvbi1zdHJpbmcge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXN1Y2Nlc3MpO1xufVxuXG4ubWNwLWNvbmZpZy1jb2RlIC5qc29uLW51bWJlciB7XG4gICAgY29sb3I6IHZhcigtLXRleHQtd2FybmluZyk7XG59XG5cbi5tY3AtY29uZmlnLWNvZGUgLmpzb24tYm9vbGVhbiB7XG4gICAgY29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4vKiBSZXNwb25zaXZlIGFkanVzdG1lbnRzICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAubWNwLXRvb2xzLWdyaWQge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICB9XG4gICAgXG4gICAgLm1jcC1zdGF0dXMtZGV0YWlscyB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogOHB4O1xuICAgIH1cbn1cblxuLm1jcC1leGFtcGxlLXN1YnRpdGxlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNpemUtNC00KTtcbn1cblxuLyogQ3Vyc29yIE9uZS1DbGljayBJbnN0YWxsIFNlY3Rpb24gKi9cbi5tY3AtY3Vyc29yLWluc3RhbGwtc2VjdGlvbiB7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5tY3AtY3Vyc29yLWluc3RhbGwtY29udGFpbmVyIHtcblx0bWFyZ2luLXRvcDogMTJweDtcbn1cblxuLm1jcC1jdXJzb3ItaW5zdGFsbC1kZXNjIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tYm90dG9tOiAxMnB4O1xuXHRmb250LXNpemU6IDE0cHg7XG59XG5cbi5tY3AtY3Vyc29yLWluc3RhbGwtbGluayB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0bWFyZ2luLWJvdHRvbTogMTZweDtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcbn1cblxuLm1jcC1jdXJzb3ItaW5zdGFsbC1saW5rOmhvdmVyIHtcblx0dHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbn1cblxuLm1jcC1jdXJzb3ItYWRkaXRpb25hbC1idXR0b25zIHtcblx0bWFyZ2luLXRvcDogMTJweDtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiAxMHB4O1xufVxuXG5cbi5tY3AtY3Vyc29yLWNvcHktZGVlcGxpbmstYnRuIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtbm9ybWFsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nOiA4cHggMTZweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLm1jcC1jdXJzb3ItY29weS1kZWVwbGluay1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1ob3Zlcik7XG59XG5cbi5tY3AtY3Vyc29yLWNvcHktZGVlcGxpbmstYnRuLmNvcGllZCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLXN1Y2Nlc3MpO1xuXHRjb2xvcjogd2hpdGU7XG59XG5cbi5tY3AtY3Vyc29yLWRlYnVnLWNvbnRhaW5lciB7XG5cdG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi5tY3AtY3Vyc29yLWRlYnVnLXRvZ2dsZSB7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi5tY3AtY3Vyc29yLWRlYnVnLXRvZ2dsZTpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ubWNwLWN1cnNvci1kZWJ1Zy1jb250ZW50IHtcblx0bWFyZ2luLXRvcDogMTJweDtcblx0cGFkZGluZzogMTJweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5tY3AtY3Vyc29yLWRlYnVnLWxhYmVsIHtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi1ib3R0b206IDhweDtcblx0bWFyZ2luLXRvcDogMTJweDtcbn1cblxuLm1jcC1jdXJzb3ItZGVidWctbGFiZWw6Zmlyc3QtY2hpbGQge1xuXHRtYXJnaW4tdG9wOiAwO1xufVxuXG4ubWNwLWN1cnNvci1kZWJ1Zy1jb2RlIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29kZS1iYWNrZ3JvdW5kKTtcblx0cGFkZGluZzogOHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0b3ZlcmZsb3cteDogYXV0bztcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4ubWNwLWN1cnNvci1kZWJ1Zy1jb2RlIGNvZGUge1xuXHRjb2xvcjogdmFyKC0tY29kZS1ub3JtYWwpO1xuXHR3b3JkLWJyZWFrOiBicmVhay1hbGw7XG59XG5cbi5tY3Atc2VjdGlvbi1zZXBhcmF0b3Ige1xuXHRtYXJnaW46IDI0cHggMDtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufSIsICIvKiBXb3JrZmxvdyBEZWNvcmF0b3IgU3R5bGVzICovXG4uY20td29ya2Zsb3ctc3RhZ2UtaW5kaWNhdG9yIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRtYXJnaW4tbGVmdDogNHB4O1xuXHRmb250LXNpemU6IDEycHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0b3BhY2l0eTogMC43O1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmNtLXdvcmtmbG93LXN0YWdlLWluZGljYXRvciBzcGFuIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uY20td29ya2Zsb3ctc3RhZ2UtaW5kaWNhdG9yOmhvdmVyIHtcblx0b3BhY2l0eTogMTtcbn1cblxuLyogRGlmZmVyZW50IGNvbG9ycyBmb3IgZGlmZmVyZW50IHN0YWdlIHR5cGVzICovXG4uY20td29ya2Zsb3ctc3RhZ2UtaW5kaWNhdG9yW2RhdGEtc3RhZ2UtdHlwZT1cImxpbmVhclwiXSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi5jbS13b3JrZmxvdy1zdGFnZS1pbmRpY2F0b3JbZGF0YS1zdGFnZS10eXBlPVwiY3ljbGVcIl0ge1xuXHRjb2xvcjogdmFyKC0tdGFzay1pbi1wcm9ncmVzcy1jb2xvcik7XG59XG5cbi5jbS13b3JrZmxvdy1zdGFnZS1pbmRpY2F0b3JbZGF0YS1zdGFnZS10eXBlPVwidGVybWluYWxcIl0ge1xuXHRjb2xvcjogdmFyKC0tdGFzay1jb21wbGV0ZWQtY29sb3IpO1xufVxuXG4vKiBEYXJrIHRoZW1lIGFkanVzdG1lbnRzICovXG4udGhlbWUtZGFyayAuY20td29ya2Zsb3ctc3RhZ2UtaW5kaWNhdG9yW2RhdGEtc3RhZ2UtdHlwZT1cImxpbmVhclwiXSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi50aGVtZS1kYXJrIC5jbS13b3JrZmxvdy1zdGFnZS1pbmRpY2F0b3JbZGF0YS1zdGFnZS10eXBlPVwiY3ljbGVcIl0ge1xuXHRjb2xvcjogdmFyKC0tdGFzay1pbi1wcm9ncmVzcy1jb2xvcik7XG59XG5cbi50aGVtZS1kYXJrIC5jbS13b3JrZmxvdy1zdGFnZS1pbmRpY2F0b3JbZGF0YS1zdGFnZS10eXBlPVwidGVybWluYWxcIl0ge1xuXHRjb2xvcjogdmFyKC0tdGFzay1jb21wbGV0ZWQtY29sb3IpO1xufVxuIiwgIi8qIFF1aWNrIENhcHR1cmUgRW5oYW5jZWQgU3R5bGVzIC0gd2l0aCBzaGFkY24gdGhlbWUgKi9cblxuOnJvb3Qge1xuXHQvKiBUYWIgY29tcG9uZW50IGNvbG9ycyAqL1xuXHQtLXRnLXRhYi1iYWNrZ3JvdW5kOiAwIDAlIDEwMCU7XG5cdC0tdGctdGFiLWZvcmVncm91bmQ6IDI0MCAxMCUgMy45JTtcblx0LS10Zy10YWItbXV0ZWQ6IDI0MCA0LjglIDk1LjklO1xuXHQtLXRnLXRhYi1tdXRlZC1mb3JlZ3JvdW5kOiAyNDAgMy44JSA0Ni4xJTtcblx0LS10Zy10YWItYm9yZGVyOiAyNDAgNS45JSA5MCU7XG5cblx0LyogUXVpY2sgQ2FwdHVyZSBIZWFkZXIgYmFja2dyb3VuZCAobGlnaHQpICovXG5cdC0tdGctcWMtaGVhZGVyLWJnOiAwIDAlIDEwMCU7XG59XG5cbi50aGVtZS1kYXJrIHtcblx0LS10Zy10YWItYmFja2dyb3VuZDogMjQwIDEwJSAzLjklO1xuXHQtLXRnLXRhYi1mb3JlZ3JvdW5kOiAwIDAlIDk4JTtcblx0LS10Zy10YWItbXV0ZWQ6IDI0MCAzLjclIDE1LjklO1xuXHQtLXRnLXRhYi1tdXRlZC1mb3JlZ3JvdW5kOiAyNDAgNSUgNjQuOSU7XG5cdC0tdGctdGFiLWJvcmRlcjogMjQwIDMuNyUgMTUuOSU7XG5cblx0LyogUXVpY2sgQ2FwdHVyZSBIZWFkZXIgYmFja2dyb3VuZCAoZGFyaykgKi9cblx0LS10Zy1xYy1oZWFkZXItYmc6IDI0MCA0JSAxMCU7XG59XG5cbi8qIFF1aWNrIENhcHR1cmUgSGVhZGVyIC0gc2hhZGNuIHN0eWxlLCB3aXRoIGN1c3RvbSBiYWNrZ3JvdW5kIGZvciBoZWFkZXIgKi9cbi5xdWljay1jYXB0dXJlLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogMTJweCAxNnB4O1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgaHNsKHZhcigtLXRnLXRhYi1ib3JkZXIpKTtcblx0YmFja2dyb3VuZDogaHNsKHZhcigtLXRnLXFjLWhlYWRlci1iZykpO1xufVxuXG4udGctbWluaW1hbC1jYXB0dXJlLW1vZGFsIC5xdWljay1jYXB0dXJlLWhlYWRlciB7XG5cdHBhZGRpbmc6IDRweCA4cHg7XG59XG5cbi50Zy1taW5pbWFsLWNhcHR1cmUtbW9kYWwgLm1vZGVsLWhlYWRlciB7XG5cdG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qIFF1aWNrIENhcHR1cmUgVGFicyAtIHNoYWRjbiBzdHlsZSAqL1xuLnF1aWNrLWNhcHR1cmUtdGFicyB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRwYWRkaW5nOiA0cHg7XG5cdGJhY2tncm91bmQ6IGhzbCh2YXIoLS10Zy10YWItbXV0ZWQpKTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRnYXA6IDJweDtcbn1cblxuLnF1aWNrLWNhcHR1cmUtdGFiIHtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4xNXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcblx0Y29sb3I6IGhzbCh2YXIoLS10Zy10YWItbXV0ZWQtZm9yZWdyb3VuZCkpO1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udGctbWluaW1hbC1jYXB0dXJlLW1vZGFsIC5xdWljay1jYXB0dXJlLXRhYi10ZXh0IHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLnRnLW1pbmltYWwtY2FwdHVyZS1tb2RhbCAucXVpY2stY2FwdHVyZS10YWItaWNvbiB7XG5cdG1hcmdpbi1yaWdodDogMDtcbn1cblxuLnF1aWNrLWNhcHR1cmUtdGFiOmhvdmVyOm5vdCguYWN0aXZlKSB7XG5cdGNvbG9yOiBoc2wodmFyKC0tdGctdGFiLWZvcmVncm91bmQpKTtcbn1cblxuLnF1aWNrLWNhcHR1cmUtdGFiLmFjdGl2ZSB7XG5cdGJhY2tncm91bmQ6IGhzbCh2YXIoLS10Zy10YWItYmFja2dyb3VuZCkpO1xuXHRjb2xvcjogaHNsKHZhcigtLXRnLXRhYi1mb3JlZ3JvdW5kKSk7XG5cdGJveC1zaGFkb3c6XG5cdFx0MCAxcHggM3B4IDAgcmdiKDAgMCAwIC8gMC4xKSxcblx0XHQwIDFweCAycHggLTFweCByZ2IoMCAwIDAgLyAwLjEpO1xufVxuXG4ucXVpY2stY2FwdHVyZS10YWJzLmlzLWhpZGRlbiB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIFF1aWNrIENhcHR1cmUgVGFiIEJ1dHRvbiBJY29uIGFuZCBUZXh0IC0gc2hhZGNuIHN0eWxlICovXG4ucXVpY2stY2FwdHVyZS10YWItaWNvbiB7XG5cdG1hcmdpbi1yaWdodDogNnB4O1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcbn1cblxuLnF1aWNrLWNhcHR1cmUtdGFiLWljb24gc3ZnIHtcblx0d2lkdGg6IDE0cHg7XG5cdGhlaWdodDogMTRweDtcbn1cblxuLnF1aWNrLWNhcHR1cmUtdGFiLXRleHQge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0bGluZS1oZWlnaHQ6IDE7XG59XG5cbi8qIFF1aWNrIENhcHR1cmUgQ2xlYXIgQnV0dG9uIC0gc2hhZGNuIHN0eWxlICovXG4ucXVpY2stY2FwdHVyZS1jbGVhciB7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0Ym9yZGVyOiAxcHggc29saWQgaHNsKHZhcigtLXRnLXRhYi1ib3JkZXIpKTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjE1cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuXHRjb2xvcjogaHNsKHZhcigtLXRnLXRhYi1tdXRlZC1mb3JlZ3JvdW5kKSk7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLnF1aWNrLWNhcHR1cmUtY2xlYXI6aG92ZXIge1xuXHQvKmJhY2tncm91bmQ6IGhzbCh2YXIoLS10Zy10YWItbXV0ZWQpKTsqL1xuXHQvKmNvbG9yOiBoc2wodmFyKC0tdGctdGFiLWZvcmVncm91bmQpKTsqL1xuXHQvKmJvcmRlci1jb2xvcjogaHNsKHZhcigtLXRnLXRhYi1tdXRlZC1mb3JlZ3JvdW5kKSk7Ki9cbn1cblxuLyogUXVpY2sgQ2FwdHVyZSBDb250ZW50ICovXG4ucXVpY2stY2FwdHVyZS1jb250ZW50IHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xufVxuXG4vKiBRdWljayBDYXB0dXJlIEZvb3RlciAqL1xuLnF1aWNrLWNhcHR1cmUtZm9vdGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5xdWljay1jYXB0dXJlLWZvb3Rlci1sZWZ0LFxuLnF1aWNrLWNhcHR1cmUtZm9vdGVyLXJpZ2h0IHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG59XG5cbi5xdWljay1jYXB0dXJlLWNvbnRpbnVlIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpIHZhcigtLXNpemUtNC0zKTtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi8qIEZpbGUgTmFtZSBJbnB1dCBDb21wb25lbnQgKi9cbi5maWxlLW5hbWUtaW5wdXQtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTItMSk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0zKTtcbn1cblxuLmZpbGUtbmFtZS1sYWJlbCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmZpbGUtbmFtZS1pbnB1dCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMik7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uZmlsZS1uYW1lLWlucHV0OmZvY3VzIHtcblx0b3V0bGluZTogbm9uZTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLmZpbGUtbmFtZS10ZW1wbGF0ZXMge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi50ZW1wbGF0ZXMtbGFiZWwge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcbn1cblxuLnRlbXBsYXRlLWJ1dHRvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTEpO1xufVxuXG4udGVtcGxhdGUtYnV0dG9uIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0zKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnRlbXBsYXRlLWJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi8qIE1vZGUtc3BlY2lmaWMgYWRqdXN0bWVudHMgKi9cbi5xdWljay1jYXB0dXJlLW1vZGFsLnF1aWNrLWNhcHR1cmUtY2hlY2tib3gge1xuXHR3aWR0aDogODAwcHg7XG5cdG1heC13aWR0aDogOTB2dztcblx0aGVpZ2h0OiA3MDBweDtcblx0bWF4LWhlaWdodDogODB2aDtcblx0bWluLWhlaWdodDogZml0LWNvbnRlbnQ7XG59XG5cbi5xdWljay1jYXB0dXJlLW1vZGFsLnF1aWNrLWNhcHR1cmUtZmlsZSB7XG5cdHdpZHRoOiA4MDBweDtcblx0bWF4LXdpZHRoOiA5MHZ3O1xuXHRoZWlnaHQ6IDcwMHB4O1xuXHRtYXgtaGVpZ2h0OiA4MHZoO1xuXHRtaW4taGVpZ2h0OiBmaXQtY29udGVudDtcbn1cblxuLnF1aWNrLWNhcHR1cmUtbW9kYWwudGctbWluaW1hbC1jYXB0dXJlLW1vZGFsIHtcblx0d2lkdGg6IDYwMHB4O1xuXHRtYXgtd2lkdGg6IDkwdnc7XG5cdGhlaWdodDogMzAwcHg7XG5cdG1heC1oZWlnaHQ6IDgwdmg7XG5cdG1pbi1oZWlnaHQ6IGZpdC1jb250ZW50O1xufVxuXG4vKiBRdWljayBDYXB0dXJlIFBhbmVsICovXG4ucXVpY2stY2FwdHVyZS1wYW5lbCB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi8qIFF1aWNrIENhcHR1cmUgQWN0aW9ucyAqL1xuLnF1aWNrLWNhcHR1cmUtYWN0aW9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTEpO1xuXHRtYXJnaW4tbGVmdDogYXV0bztcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnF1aWNrLWNhcHR1cmUtYWN0aW9ucyAucXVpY2stYWN0aW9uLWJ1dHRvbiB7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5xdWljay1jYXB0dXJlLWFjdGlvbnMgLnF1aWNrLWFjdGlvbi1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnF1aWNrLWNhcHR1cmUtYWN0aW9ucyAucXVpY2stYWN0aW9uLWJ1dHRvbi5hY3RpdmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4vKiBNaW5pbWFsIFF1aWNrIENhcHR1cmUgTW9kYWwgKi9cbi5xdWljay1jYXB0dXJlLW1vZGFsLm1pbmltYWwge1xuXHRtYXgtd2lkdGg6IDYwMHB4O1xuXHRtaW4td2lkdGg6IDUwMHB4O1xuXHRtYXgtaGVpZ2h0OiAzMDBweDtcbn1cblxuLyogTWluaW1hbCBRdWljayBDYXB0dXJlIFRhcmdldCBEaXNwbGF5ICovXG4ucXVpY2stY2FwdHVyZS1taW5pbWFsLXRhcmdldC1jb250YWluZXIge1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdG1hcmdpbi1ib3R0b206IDEycHg7XG59XG5cbi5xdWljay1jYXB0dXJlLW1pbmltYWwtdGFyZ2V0IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7XG5cdGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLnF1aWNrLWNhcHR1cmUtdGFyZ2V0LWxhYmVsIHtcblx0Y29sb3I6IGhzbCh2YXIoLS10Zy10YWItbXV0ZWQtZm9yZWdyb3VuZCkpO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4ucXVpY2stY2FwdHVyZS10YXJnZXQtdmFsdWUge1xuXHRjb2xvcjogaHNsKHZhcigtLXRnLXRhYi1mb3JlZ3JvdW5kKSk7XG5cdGZsZXg6IDE7XG59XG5cbi5xdWljay1jYXB0dXJlLW1pbmltYWwtZmlsZS1pbnB1dCB7XG5cdGZsZXg6IDE7XG5cdHBhZGRpbmc6IDRweCA4cHg7XG5cdGJhY2tncm91bmQ6IGhzbCh2YXIoLS10Zy10YWItYmFja2dyb3VuZCkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCBoc2wodmFyKC0tdGctdGFiLWJvcmRlcikpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Y29sb3I6IGhzbCh2YXIoLS10Zy10YWItZm9yZWdyb3VuZCkpO1xufVxuXG4ucXVpY2stY2FwdHVyZS1taW5pbWFsLWZpbGUtaW5wdXQ6Zm9jdXMge1xuXHRvdXRsaW5lOiBub25lO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xufVxuXG4vKiBSZW1vdmVkIG1pbmltYWwgbW9kZSBzdHlsZXMgYXMgbWluaW1hbCBVSSBtb2RlIG5vIGxvbmdlciBleGlzdHMgKi9cblxuLnF1aWNrLWFjdGlvbnMtbGVmdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTEpO1xufVxuXG4ucXVpY2stYWN0aW9ucy1yaWdodCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTEpO1xufVxuXG4ucXVpY2stYWN0aW9uLWJ1dHRvbi5hY3RpdmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi5xdWljay1hY3Rpb24tc2F2ZSB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTQtMik7XG5cdG1pbi13aWR0aDogODBweDtcblx0aGVpZ2h0OiAzMnB4O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG59XG5cbi5xdWljay1jYXB0dXJlLXRhZy1pbnB1dCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Ym90dG9tOiA2MHB4O1xuXHRsZWZ0OiA1MCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblx0d2lkdGg6IDMwMHB4O1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdGV4dC1zaXplKTtcblx0ei1pbmRleDogMTAwMDtcbn1cblxuLyogTWluaW1hbCBRdWljayBDYXB0dXJlIFN1Z2dlc3QgKi9cbi5taW5pbWFsLXF1aWNrLWNhcHR1cmUtc3VnZ2VzdGlvbiB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTQtMik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcblx0bWluLWhlaWdodDogNDBweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm1pbmltYWwtcXVpY2stY2FwdHVyZS1zdWdnZXN0aW9uOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi5taW5pbWFsLXF1aWNrLWNhcHR1cmUtc3VnZ2VzdGlvbi5pcy1zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi5taW5pbWFsLXF1aWNrLWNhcHR1cmUtc3VnZ2VzdGlvbi5pcy1zZWxlY3RlZCAuc3VnZ2VzdGlvbi1sYWJlbCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi5taW5pbWFsLXF1aWNrLWNhcHR1cmUtc3VnZ2VzdGlvbi5pcy1zZWxlY3RlZCAuc3VnZ2VzdGlvbi1kZXNjcmlwdGlvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdG9wYWNpdHk6IDAuODtcbn1cblxuLnN1Z2dlc3Rpb24taWNvbiB7XG5cdGZvbnQtc2l6ZTogMTZweDtcblx0bWluLXdpZHRoOiAyMHB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5zdWdnZXN0aW9uLWNvbnRlbnQge1xuXHRmbGV4OiAxO1xufVxuXG4uc3VnZ2VzdGlvbi1sYWJlbCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC10ZXh0LXNpemUpO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uc3VnZ2VzdGlvbi1kZXNjcmlwdGlvbiB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWFyZ2luLXRvcDogMnB4O1xufVxuXG4ucXVpY2stY2FwdHVyZS1oZWFkZXItY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS00LTIpO1xuXHRmbGV4LXdyYXA6IG5vd3JhcDtcbn1cblxuLnF1aWNrLWNhcHR1cmUtdGl0bGUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ucXVpY2stY2FwdHVyZS10YXJnZXQge1xuXHRmbGV4OiAxO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC10ZXh0LXNpemUpO1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRtaW4td2lkdGg6IDEwMHB4O1xuXHRtYXgtd2lkdGg6IDUwMHB4O1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0cGFkZGluZzogMnB4IDRweDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG59XG5cbi5xdWljay1jYXB0dXJlLXRhcmdldDpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4ucXVpY2stY2FwdHVyZS10YXJnZXQ6Zm9jdXMge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0b3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xuXHRvdmVyZmxvdzogdmlzaWJsZTtcblx0dGV4dC1vdmVyZmxvdzogaW5pdGlhbDtcbn1cblxuLnF1aWNrLWNhcHR1cmUtaGludCB7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tYm90dG9tOiA4cHg7XG5cdG1hcmdpbi10b3A6IC00cHg7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4ucXVpY2stY2FwdHVyZS1lZGl0b3Ige1xuXHRtaW4taGVpZ2h0OiAyMDBweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcbn1cblxuLnF1aWNrLWNhcHR1cmUtZmlsZS1zdWdnZXN0IHtcblx0bWF4LXdpZHRoOiA1MDBweDtcbn1cblxuLnF1aWNrLWNhcHR1cmUtYnV0dG9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdGdhcDogOHB4O1xufVxuXG4ucXVpY2stY2FwdHVyZS1zdWJtaXQsXG4ucXVpY2stY2FwdHVyZS1jYW5jZWwge1xuXHRwYWRkaW5nOiA2cHggMTJweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5xdWljay1jYXB0dXJlLXN1Ym1pdCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi5xdWljay1jYXB0dXJlLWNhbmNlbCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnF1aWNrLWNhcHR1cmUtbW9kYWwgLm1vZGFsLXRpdGxlOmhhcyguaXMtaGlkZGVuKSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5xdWljay1jYXB0dXJlLW1vZGFsIC5tb2RhbC10aXRsZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGdhcDogMTBweDtcblxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5xdWljay1jYXB0dXJlLW1vZGFsLWVkaXRvciB7XG5cdG1pbi1oZWlnaHQ6IDE1MHB4O1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4ucXVpY2stY2FwdHVyZS1tb2RhbC1idXR0b25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0Z2FwOiAxMHB4O1xufVxuXG4vKiBGdWxsLWZlYXR1cmVkIG1vZGFsIHN0eWxlcyAqL1xuLnF1aWNrLWNhcHR1cmUtbW9kYWwuZnVsbCB7XG5cdHdpZHRoOiA4MHZ3O1xuXHRtYXgtd2lkdGg6IDkwMHB4O1xufVxuXG4ucXVpY2stY2FwdHVyZS1sYXlvdXQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGdhcDogMTZweDtcblx0bWFyZ2luLWJvdHRvbTogMTZweDtcbn1cblxuLnF1aWNrLWNhcHR1cmUtY29uZmlnLXBhbmVsIHtcblx0ZmxleDogMTtcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRtYXgtd2lkdGg6IDQwJTtcbn1cblxuLnF1aWNrLWNhcHR1cmUtZWRpdG9yLXBhbmVsIHtcblx0ZmxleDogMS41O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4ucXVpY2stY2FwdHVyZS1zZWN0aW9uLXRpdGxlIHtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdG1hcmdpbi1ib3R0b206IDhweDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5xdWljay1jYXB0dXJlLXRhcmdldC1jb250YWluZXIge1xuXHRtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuXG4ucXVpY2stY2FwdHVyZS1tb2RhbC5mdWxsIC5xdWljay1jYXB0dXJlLW1vZGFsLWVkaXRvciB7XG5cdG1pbi1oZWlnaHQ6IDIwMHB4O1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0cGFkZGluZzogOHB4O1xuXHRtYXJnaW4tdG9wOiA4cHg7XG59XG5cbi8qIE1vYmlsZSBvcHRpbWl6YXRpb24gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQucXVpY2stY2FwdHVyZS1tb2RhbC5mdWxsIHtcblx0XHR3aWR0aDogOTV2dztcblx0fVxuXG5cdC5xdWljay1jYXB0dXJlLWxheW91dCB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0fVxuXG5cdC5xdWljay1jYXB0dXJlLWNvbmZpZy1wYW5lbCB7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdGJvcmRlci1yaWdodDogbm9uZTtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0cGFkZGluZy1ib3R0b206IDE2cHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogMTZweDtcblx0XHRtYXgtaGVpZ2h0OiA0MCU7XG5cdH1cbn1cblxuLnF1aWNrLWNhcHR1cmUtY29uZmlnLXBhbmVsIC5kZXRhaWxzLXN0YXR1cy1zZWxlY3RvciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLnF1aWNrLWNhcHR1cmUtY29uZmlnLXBhbmVsIC5xdWljay1jYXB0dXJlLXN0YXR1cy1zZWxlY3RvciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcbn1cbiIsICIvKiBUYWdzIFZpZXcgU3R5bGVzICovXG4udGFncy1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHdpZHRoOiAxMDAlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRmbGV4OiAxO1xufVxuXG4udGFzay1nZW5pdXMtdmlldzpoYXMoLnRhc2stZGV0YWlscy52aXNpYmxlKSAudGFncy1sZWZ0LWNvbHVtbiB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi50YWdzLWNvbnRlbnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubXVsdGktc2VsZWN0LW1vZGUgLnRhZ3MtbXVsdGktc2VsZWN0LWJ0biB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xufVxuXG4udGFncy1sZWZ0LWNvbHVtbiB7XG5cdHdpZHRoOiBtYXgoMTIwcHgsIDMwJSk7XG5cdG1pbi13aWR0aDogbWluKDEyMHB4LCAzMCUpO1xuXHRtYXgtd2lkdGg6IDQwMHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi50YWdzLXJpZ2h0LWNvbHVtbiB7XG5cdGZsZXg6IDE7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi50YWdzLXNpZGViYXItaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTQpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC0xMCk7XG59XG5cbi50YWdzLXNpZGViYXItdGl0bGUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LXNpemU6IDE0cHg7XG59XG5cbi50YWdzLW11bHRpLXNlbGVjdC1idG4ge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnRhZ3MtbXVsdGktc2VsZWN0LWJ0bjpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YWdzLXNpZGViYXItbGlzdCB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtMi0xKTtcbn1cblxuLnRhZy1saXN0LWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiA0cHggMTJweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcbn1cblxuLnRhZy1saXN0LWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnRhZy1saXN0LWl0ZW0uc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZSk7XG59XG5cbi50YWctaW5kZW50IHtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi50YWctaWNvbiB7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS0yLTIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdC0taWNvbi1zaXplOiB2YXIoLS1zaXplLTQtNCk7XG59XG5cbi50YWctbmFtZSB7XG5cdGZsZXg6IDE7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4udGFnLWNvdW50IHtcblx0bWFyZ2luLWxlZnQ6IDhweDtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cdHBhZGRpbmc6IDFweCA2cHg7XG59XG5cbi50YWctY2hpbGRyZW4ge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLnRhZ3MtdGFzay1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtNCk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGhlaWdodDogdmFyKC0tc2l6ZS00LTEwKTtcbn1cblxuLnRhZ3MtdGFzay10aXRsZSB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGZvbnQtc2l6ZTogMTZweDtcbn1cblxuLnRhZ3MtdGFzay1jb3VudCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnRhZ3MtdGFzay1saXN0IHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3cteTogYXV0bztcbn1cblxuLnRhZ3MtZW1wdHktc3RhdGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0aGVpZ2h0OiAxMDAlO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0cGFkZGluZzogMTZweDtcbn1cblxuLnRhZy1zZWN0aW9uLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDhweCAxNXB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XG59XG5cbi50YWctc2VjdGlvbi1oZWFkZXIgLnNlY3Rpb24tdG9nZ2xlIHtcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4udGFnLXNlY3Rpb24taGVhZGVyIC5zZWN0aW9uLXRpdGxlIHtcblx0ZmxleDogMTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLnRhZy1zZWN0aW9uLWhlYWRlciAuc2VjdGlvbi1jb3VudCB7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nOiAycHggNnB4O1xuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC01KTtcblx0d2lkdGg6IHZhcigtLXNpemUtNC01KTtcbn1cblxuLyogVGFncyBWaWV3IC0gTW9iaWxlICovXG4uaXMtcGhvbmUgLnRhZ3MtY29udGFpbmVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uaXMtcGhvbmUgLnRhZ3MtbGVmdC1jb2x1bW4ge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDA7XG5cdHRvcDogMDtcblx0aGVpZ2h0OiAxMDAlO1xuXHR6LWluZGV4OiAxMDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHR3aWR0aDogMTAwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQ7XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLmlzLXBob25lIC50YWdzLWxlZnQtY29sdW1uLmlzLXZpc2libGUge1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG5cbi5pcy1waG9uZSAudGFncy1zaWRlYmFyLXRvZ2dsZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRtYXJnaW4tcmlnaHQ6IDhweDtcbn1cblxuLmlzLXBob25lIC50YWdzLXNpZGViYXItY2xvc2Uge1xuXHQtLWljb24tc2l6ZTogdmFyKC0tc2l6ZS00LTQpO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRyaWdodDogMTBweDtcblx0ei1pbmRleDogMTU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4vKiBBZGQgb3ZlcmxheSB3aGVuIGxlZnQgY29sdW1uIGlzIHZpc2libGUgb24gbW9iaWxlICovXG4uaXMtcGhvbmUgLnRhZ3MtY29udGFpbmVyOmhhcygudGFncy1sZWZ0LWNvbHVtbi5pcy12aXNpYmxlKTo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItY292ZXIpO1xuXHRvcGFjaXR5OiAwLjU7XG5cdHotaW5kZXg6IDU7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDtcbn1cblxuLmlzLXBob25lIC50YWdzLXNpZGViYXItaGVhZGVyOmhhcygudGFncy1zaWRlYmFyLWNsb3NlKSB7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNpemUtNC0xMik7XG59XG4iLCAiLyogUHJvamVjdHMgVmlldyBTdHlsZXMgKi9cbi5wcm9qZWN0cy1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHdpZHRoOiAxMDAlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucHJvamVjdHMtY29udGVudCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5wcm9qZWN0cy1sZWZ0LWNvbHVtbiB7XG5cdHdpZHRoOiBtYXgoMTIwcHgsIDMwJSk7XG5cdG1pbi13aWR0aDogbWluKDEyMHB4LCAzMCUpO1xuXHRtYXgtd2lkdGg6IDMwMHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5pcy1waG9uZSAucHJvamVjdHMtbGVmdC1jb2x1bW4ge1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5wcm9qZWN0cy1yaWdodC1jb2x1bW4ge1xuXHRmbGV4OiAxO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucHJvamVjdHMtc2lkZWJhci1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtNCk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGhlaWdodDogdmFyKC0tc2l6ZS00LTEwKTtcbn1cblxuLnByb2plY3RzLXNpZGViYXItdGl0bGUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LXNpemU6IDE0cHg7XG59XG5cbi5wcm9qZWN0cy1zaWRlYmFyLWhlYWRlci1idG4tZ3JvdXAge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLm11bHRpLXNlbGVjdC1tb2RlIC5wcm9qZWN0cy1tdWx0aS1zZWxlY3QtYnRuIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG59XG5cbi5wcm9qZWN0cy10cmVlLXRvZ2dsZS1idG4ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnByb2plY3RzLW11bHRpLXNlbGVjdC1idG4ge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnByb2plY3RzLW11bHRpLXNlbGVjdC1idG46aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ucHJvamVjdHMtc2lkZWJhci1saXN0IHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC0yKTtcbn1cblxuLnByb2plY3QtbGlzdC1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLnByb2plY3QtbGlzdC1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi5wcm9qZWN0LWxpc3QtaXRlbS5zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbn1cblxuLnByb2plY3QtaWNvbiB7XG5cdG1hcmdpbi1yaWdodDogOHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5wcm9qZWN0LW5hbWUge1xuXHRmbGV4OiAxO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnByb2plY3QtY291bnQge1xuXHRtYXJnaW4tbGVmdDogOHB4O1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcblx0cGFkZGluZzogMXB4IDZweDtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UsIGNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLyogUHJvZ3Jlc3MgY291bnQgc3R5bGluZyB3aGVuIHNob3dpbmcgY29tcGxldGVkL3RvdGFsICovXG4ucHJvamVjdC1jb3VudC5wYXJ0aWFsbHktY29tcGxldGVkIHtcblx0Y29sb3I6IHZhcigtLXRleHQtc3VjY2Vzcyk7XG59XG5cbi5wcm9qZWN0LWNvdW50LmFsbC1jb21wbGV0ZWQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuXG4ucHJvamVjdC1jb3VudC5oYXMtcHJvZ3Jlc3Mge1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG59XG5cbi8qIFNlbGVjdGVkIHN0YXRlIG92ZXJyaWRlcyAqL1xuLnByb2plY3QtbGlzdC1pdGVtLnNlbGVjdGVkIC5wcm9qZWN0LWNvdW50IHtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLnByb2plY3QtbGlzdC1pdGVtLnNlbGVjdGVkIC5wcm9qZWN0LWNvdW50LmFsbC1jb21wbGV0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG59XG5cbi5wcm9qZWN0cy10YXNrLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC00KTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0bWluLWhlaWdodDogdmFyKC0tc2l6ZS00LTEwKTtcbn1cblxuLnByb2plY3RzLWhlYWRlci1tYWluLWNvbnRlbnQge1xuXHRmbGV4OiAxO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLnByb2plY3RzLWhlYWRlci10b3Atcm93IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG5cdHdpZHRoOiAxMDAlO1xufVxuXG4ucHJvamVjdHMtaGVhZGVyLXRvcC1yaWdodCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4vKiBQcm9ncmVzcyBiYXIgc3R5bGVzIGZvciBQcm9qZWN0cyB2aWV3ICovXG4ucHJvamVjdHMtaGVhZGVyLXByb2dyZXNzIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiA2cHg7XG5cdG1hcmdpbi10b3A6IDRweDtcbn1cblxuLyogQWRqdXN0IHRoZSBleGlzdGluZyBwcm9ncmVzcyBiYXIgc3R5bGVzIHdoZW4gdXNlZCBpbiBwcm9qZWN0cyB2aWV3ICovXG4ucHJvamVjdHMtaGVhZGVyLXByb2dyZXNzIC5jbS10YXNrLXByb2dyZXNzLWJhciB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDhweDtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5wcm9qZWN0cy1oZWFkZXItcHJvZ3Jlc3MgLnByb2dyZXNzLWJhci1pbmxpbmUtYmFja2dyb3VuZCB7XG5cdGZsZXg6IDE7XG5cdG1heC13aWR0aDogMTAwJTtcbn1cblxuLnByb2plY3RzLWhlYWRlci1wcm9ncmVzcyAucHJvZ3Jlc3Mtc3RhdHVzIHtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ucHJvamVjdHMtdGFzay10aXRsZSB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGZvbnQtc2l6ZTogMTZweDtcbn1cblxuLnByb2plY3RzLXRhc2stY291bnQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5wcm9qZWN0cy10YXNrLWxpc3Qge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4ucHJvamVjdHMtZW1wdHktc3RhdGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0aGVpZ2h0OiAxMDAlO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0cGFkZGluZzogMTZweDtcbn1cblxuLyogUHJvamVjdHMgVmlldyAtIE1vYmlsZSAqL1xuLmlzLXBob25lIC5wcm9qZWN0cy1sZWZ0LWNvbHVtbiB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0dG9wOiAwO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHotaW5kZXg6IDEwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdHdpZHRoOiAxMDAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dDtcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uaXMtcGhvbmUgLnByb2plY3RzLWxlZnQtY29sdW1uLmlzLXZpc2libGUge1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG5cbi5pcy1waG9uZSAucHJvamVjdHMtc2lkZWJhci10b2dnbGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XG59XG5cbi5pcy1waG9uZSAucHJvamVjdHMtc2lkZWJhci1jbG9zZSB7XG5cdC0taWNvbi1zaXplOiB2YXIoLS1zaXplLTQtNCk7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiB2YXIoLS1zaXplLTQtMik7XG5cdHJpZ2h0OiAxMHB4O1xuXHR6LWluZGV4OiAxNTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi8qIEFkZCBvdmVybGF5IHdoZW4gbGVmdCBjb2x1bW4gaXMgdmlzaWJsZSBvbiBtb2JpbGUgKi9cbi5pcy1waG9uZSAucHJvamVjdHMtY29udGFpbmVyOmhhcygucHJvamVjdHMtbGVmdC1jb2x1bW4uaXMtdmlzaWJsZSk6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWNvdmVyKTtcblx0b3BhY2l0eTogMC41O1xuXHR6LWluZGV4OiA1O1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG59XG5cbi8qIEFkZCBwb3NpdGlvbiByZWxhdGl2ZSB0byBjb250YWluZXIgZm9yIGFic29sdXRlIHBvc2l0aW9uaW5nIGNvbnRleHQgKi9cbi5pcy1waG9uZSAucHJvamVjdHMtY29udGFpbmVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uaXMtcGhvbmUgLnByb2plY3RzLXNpZGViYXItaGVhZGVyOmhhcygucHJvamVjdHMtc2lkZWJhci1jbG9zZSkge1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zaXplLTQtMTIpO1xufVxuXG4vKiBQcm9qZWN0IGluZm8gcG9wb3ZlciBzdHlsaW5nICovXG4udGctcHJvamVjdC1wb3BvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LXMpO1xuXHRwYWRkaW5nOiAxMHB4IDEycHg7XG5cdG1heC13aWR0aDogNTIwcHg7XG5cdG1heC1oZWlnaHQ6IDYwdmg7XG5cdG92ZXJmbG93OiBhdXRvO1xufVxuXG4udGctcHJvamVjdC1wcm9wcyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogNnB4O1xufVxuXG4vKiBFYWNoIHJvdzoga2V5IG9uIHRoZSBsZWZ0LCB2YWx1ZSBvbiB0aGUgcmlnaHQgKi9cbi50Zy1wcm9qZWN0LXByb3BzID4gZGl2IHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoOTBweCwgMTYwcHgpIDFmcjtcblx0YWxpZ24taXRlbXM6IHN0YXJ0O1xuXHRjb2x1bW4tZ2FwOiAxMHB4O1xuXHRwYWRkaW5nOiAycHggMDtcbn1cblxuLyogS2V5IGNlbGwgKi9cbi50Zy1wcm9qZWN0LXByb3BzID4gZGl2ID4gZGl2OmZpcnN0LWNoaWxkIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDEycHg7XG5cdGxpbmUtaGVpZ2h0OiAxLjM7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4vKiBWYWx1ZSBjZWxsICovXG4udGctcHJvamVjdC1wcm9wcyA+IGRpdiA+IGRpdjpsYXN0LWNoaWxkIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0bGluZS1oZWlnaHQ6IDEuNDtcblx0d2hpdGUtc3BhY2U6IHByZS13cmFwO1xuXHR3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuXG4vKiBJbmZvIGJ1dHRvbiBwb2xpc2ggKi9cbi5wcm9qZWN0cy1wcm9wcy1idG4ge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiB2YXIoLS1pY29uLXNpemUsIDI0cHgpO1xuXHRoZWlnaHQ6IHZhcigtLWljb24tc2l6ZSwgMjRweCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG59XG4ucHJvamVjdHMtcHJvcHMtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG4iLCAiLyoqXG4gKiBQcm9qZWN0IFRyZWUgVmlldyBTdHlsZXNcbiAqL1xuXG46cm9vdCB7XG5cdC8qIERlZmF1bHQgdHJlZSBpbmRlbnRhdGlvbiBzaXplIHBlciBsZXZlbCAqL1xuXHQtLXRyZWUtaW5kZW50LXNpemU6IDEuNXJlbTtcblx0LyogR3VpZGUgbGluZSBjb2xvciAqL1xuXHQtLXRyZWUtZ3VpZGUtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLyogQ29udGFpbmVyICovXG4ucHJvamVjdC10cmVlLWNvbnRhaW5lciB7XG5cdGhlaWdodDogMTAwJTtcblx0b3ZlcmZsb3c6IGF1dG87XG59XG5cbi5wcm9qZWN0LXRyZWUge1xuXHRwYWRkaW5nOiAwLjVyZW0gMDtcbn1cblxuLyogVHJlZSBJdGVtIEJhc2UgKi9cbi5wcm9qZWN0LXRyZWUtaXRlbSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdC0tdHJlZS1sZXZlbDogMDsgLyogRGVmYXVsdCBsZXZlbCwgd2lsbCBiZSBvdmVycmlkZGVuIGJ5IGlubGluZSBzdHlsZSAqL1xufVxuXG4ucHJvamVjdC10cmVlLWl0ZW0tY29udGVudCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDhweDtcblx0cGFkZGluZy1sZWZ0OiBjYWxjKGNhbGModmFyKC0tdHJlZS1sZXZlbCkgLSAxKSAqIHZhcigtLXRyZWUtaW5kZW50LXNpemUpKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucHJvamVjdC10cmVlLWl0ZW0tY29udGVudDpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4vKiBTZWxlY3RlZCBTdGF0ZSAqL1xuLnByb2plY3QtdHJlZS1pdGVtLmlzLXNlbGVjdGVkID4gLnByb2plY3QtdHJlZS1pdGVtLWNvbnRlbnQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZS1ob3Zlcik7XG59XG5cbi8qIFRvZ2dsZSBCdXR0b24gKi9cbi5wcm9qZWN0LXRyZWUtaXRlbS10b2dnbGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDEuNXJlbTtcblx0aGVpZ2h0OiAxLjVyZW07XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGVhc2U7XG59XG5cbi5wcm9qZWN0LXRyZWUtaXRlbS10b2dnbGU6aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ucHJvamVjdC10cmVlLWl0ZW0tdG9nZ2xlIHN2ZyB7XG5cdHdpZHRoOiAwLjg3NXJlbTtcblx0aGVpZ2h0OiAwLjg3NXJlbTtcbn1cblxuLnByb2plY3QtdHJlZS1pdGVtLXRvZ2dsZS1zcGFjZXIge1xuXHR3aWR0aDogMS41cmVtO1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLyogSWNvbiAqL1xuLnByb2plY3QtdHJlZS1pdGVtLWljb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDEuMjVyZW07XG5cdGhlaWdodDogMS4yNXJlbTtcblx0bWFyZ2luLXJpZ2h0OiAwLjVyZW07XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi8qIENvbnRlbnQgV3JhcHBlciAqL1xuLnByb2plY3QtdHJlZS1pdGVtLWNvbnRlbnQtd3JhcHBlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0ZmxleDogMTtcblx0bWluLXdpZHRoOiAwO1xuXHRnYXA6IDAuNXJlbTtcbn1cblxuLyogUHJvamVjdCBOYW1lICovXG4ucHJvamVjdC10cmVlLWl0ZW0tbmFtZSB7XG5cdGZsZXg6IDE7XG5cdG1pbi13aWR0aDogMDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8qIFRhc2sgQ291bnRzICovXG4ucHJvamVjdC10cmVlLWl0ZW0tY291bnRzIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAwLjI1cmVtO1xufVxuXG4ucHJvamVjdC10cmVlLWl0ZW0tY291bnQtZGlyZWN0LFxuLnByb2plY3QtdHJlZS1pdGVtLWNvdW50LXRvdGFsIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRtaW4td2lkdGg6IDEuMjVyZW07XG5cdGhlaWdodDogMS4yNXJlbTtcblx0cGFkZGluZzogMCAwLjI1cmVtO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLnByb2plY3QtdHJlZS1pdGVtLWNvdW50LWRpcmVjdCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UsIGNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLnByb2plY3QtdHJlZS1pdGVtLWNvdW50LXRvdGFsIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLCBjb2xvciAwLjJzIGVhc2U7XG59XG5cbi8qIFByb2dyZXNzIGNvdW50IHN0eWxpbmcgZm9yIHRyZWUgdmlldyAqL1xuLnByb2plY3QtdHJlZS1pdGVtLWNvdW50LWRpcmVjdC5wYXJ0aWFsbHktY29tcGxldGVkLFxuLnByb2plY3QtdHJlZS1pdGVtLWNvdW50LXRvdGFsLnBhcnRpYWxseS1jb21wbGV0ZWQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1zdWNjZXNzKTtcbn1cblxuLnByb2plY3QtdHJlZS1pdGVtLWNvdW50LWRpcmVjdC5hbGwtY29tcGxldGVkLFxuLnByb2plY3QtdHJlZS1pdGVtLWNvdW50LXRvdGFsLmFsbC1jb21wbGV0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1zdWNjZXNzKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLyogU2VsZWN0ZWQgc3RhdGUgZm9yIGNvdW50IGJhZGdlcyBpbiB0cmVlICovXG4ucHJvamVjdC10cmVlLWl0ZW0uaXMtc2VsZWN0ZWQgLnByb2plY3QtdHJlZS1pdGVtLWNvdW50LWRpcmVjdC5hbGwtY29tcGxldGVkLFxuLnByb2plY3QtdHJlZS1pdGVtLmlzLXNlbGVjdGVkIC5wcm9qZWN0LXRyZWUtaXRlbS1jb3VudC10b3RhbC5hbGwtY29tcGxldGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtc3VjY2Vzcyk7XG5cdG9wYWNpdHk6IDAuOTtcbn1cblxuLyogQ2hpbGRyZW4gQ29udGFpbmVyICovXG4ucHJvamVjdC10cmVlLWNoaWxkcmVuIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKiBUcmVlIGd1aWRlIGxpbmVzIChvcHRpb25hbCkgKi9cbi5wcm9qZWN0LXRyZWUtaXRlbVtkYXRhLWxldmVsXTpub3QoW2RhdGEtbGV2ZWw9XCIwXCJdKSA+IC5wcm9qZWN0LXRyZWUtaXRlbS1jb250ZW50OjpiZWZvcmUge1xuXHRjb250ZW50OiAnJztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiBjYWxjKDAuNXJlbSArICh2YXIoLS10cmVlLWxldmVsKSAtIDEpICogdmFyKC0tdHJlZS1pbmRlbnQtc2l6ZSkgKyAwLjc1cmVtKTtcblx0dG9wOiAwO1xuXHRib3R0b206IDA7XG5cdHdpZHRoOiAxcHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLXRyZWUtZ3VpZGUtY29sb3IpO1xuXHRvcGFjaXR5OiAwLjM7XG59XG5cbi5wcm9qZWN0LXRyZWUtaXRlbS1jaGlsZHJlbiB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4ycyBlYXNlO1xufVxuXG4ucHJvamVjdC10cmVlLWl0ZW0tY2hpbGRyZW46bm90KC5pcy1leHBhbmRlZCkge1xuXHRtYXgtaGVpZ2h0OiAwO1xufVxuXG4vKiBFbXB0eSBTdGF0ZSAqL1xuLnByb2plY3QtdHJlZS1lbXB0eSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRwYWRkaW5nOiAycmVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG59XG5cbi8qIFZpZXcgVG9nZ2xlIEJ1dHRvbiAqL1xuLnByb2plY3RzLXZpZXctdG9nZ2xlLWJ0biB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogMS43NXJlbTtcblx0aGVpZ2h0OiAxLjc1cmVtO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcbn1cblxuLnByb2plY3RzLXZpZXctdG9nZ2xlLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ucHJvamVjdHMtdmlldy10b2dnbGUtYnRuIHN2ZyB7XG5cdHdpZHRoOiAxcmVtO1xuXHRoZWlnaHQ6IDFyZW07XG59XG5cbi8qIE11bHRpLXNlbGVjdCBNb2RlIEluZGljYXRvciAqL1xuLnByb2plY3QtdHJlZS1jb250YWluZXIubXVsdGktc2VsZWN0LW1vZGUgLnByb2plY3QtdHJlZS1pdGVtLWNvbnRlbnQge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wcm9qZWN0LXRyZWUtY29udGFpbmVyLm11bHRpLXNlbGVjdC1tb2RlIC5wcm9qZWN0LXRyZWUtaXRlbS1jb250ZW50OjpiZWZvcmUge1xuXHRjb250ZW50OiAnJztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAwLjI1cmVtO1xuXHR0b3A6IDUwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHR3aWR0aDogMC44NzVyZW07XG5cdGhlaWdodDogMC44NzVyZW07XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xufVxuXG4ucHJvamVjdC10cmVlLWNvbnRhaW5lci5tdWx0aS1zZWxlY3QtbW9kZSAucHJvamVjdC10cmVlLWl0ZW0uaXMtc2VsZWN0ZWQgLnByb2plY3QtdHJlZS1pdGVtLWNvbnRlbnQ6OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLnByb2plY3QtdHJlZS1jb250YWluZXIubXVsdGktc2VsZWN0LW1vZGUgLnByb2plY3QtdHJlZS1pdGVtLmlzLXNlbGVjdGVkIC5wcm9qZWN0LXRyZWUtaXRlbS1jb250ZW50OjphZnRlciB7XG5cdGNvbnRlbnQ6ICdcdTI3MTMnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDAuMjVyZW07XG5cdHRvcDogNTAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdHdpZHRoOiAwLjg3NXJlbTtcblx0aGVpZ2h0OiAwLjg3NXJlbTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGZvbnQtc2l6ZTogMC42MjVyZW07XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiBEYXJrIFRoZW1lIEFkanVzdG1lbnRzICovXG4udGhlbWUtZGFyayAucHJvamVjdC10cmVlLWl0ZW0tY291bnQtZGlyZWN0IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUtaG92ZXIpO1xufVxuXG4udGhlbWUtZGFyayAucHJvamVjdC10cmVlLWl0ZW0tY291bnQtdG90YWwge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG59XG5cbi8qIFJlc3BvbnNpdmUgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQucHJvamVjdC10cmVlLWl0ZW0tY29udGVudCB7XG5cdFx0cGFkZGluZzogMC4zNzVyZW0gMC41cmVtO1xuXHR9XG59XG5cbi8qIEFuaW1hdGlvbiBmb3IgdHJlZSBleHBhbnNpb24gKi9cbkBrZXlmcmFtZXMgc2xpZGVEb3duIHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuNXJlbSk7XG5cdH1cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHR9XG59XG5cbi5wcm9qZWN0LXRyZWUtaXRlbS1jaGlsZHJlbiA+IC5wcm9qZWN0LXRyZWUtaXRlbSB7XG5cdGFuaW1hdGlvbjogc2xpZGVEb3duIDAuMTVzIGVhc2U7XG59XG4iLCAiLyogUHJvamVjdHMgVmlldyBTdHlsZXMgKi9cbi5yZXZpZXctY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0aGVpZ2h0OiAxMDAlO1xuXHR3aWR0aDogMTAwJTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnJldmlldy1jb250ZW50IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0ZmxleDogMTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnJldmlldy1sZWZ0LWNvbHVtbiB7XG5cdHdpZHRoOiAyNTBweDtcblx0bWluLXdpZHRoOiAyMDBweDtcblx0bWF4LXdpZHRoOiAzMDBweDtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uaXMtcGhvbmUgLnJldmlldy1sZWZ0LWNvbHVtbiB7XG5cdG1heC13aWR0aDogMTAwJTtcbn1cblxuLnJldmlldy1yaWdodC1jb2x1bW4ge1xuXHRmbGV4OiAxO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucmV2aWV3LXNpZGViYXItaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTQpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC0xMCk7XG59XG5cbi5yZXZpZXctc2lkZWJhci10aXRsZSB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLnJldmlldy1tdWx0aS1zZWxlY3QtYnRuIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5yZXZpZXctbXVsdGktc2VsZWN0LWJ0bjpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5yZXZpZXctc2lkZWJhci1saXN0IHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4vKiBQcm9qZWN0IGdyb3VwIGhlYWRlcnMgKi9cbi5yZXZpZXctcHJvamVjdHMtZ3JvdXAtaGVhZGVyIHtcblx0Zm9udC1zaXplOiAxMHB4O1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdHBhZGRpbmc6IDRweCA4cHggNHB4O1xuXHRtYXJnaW4tdG9wOiAxMnB4O1xuXHRsZXR0ZXItc3BhY2luZzogMC41cHg7XG59XG5cbi5yZXZpZXctcHJvamVjdHMtZ3JvdXAtaGVhZGVyOmZpcnN0LWNoaWxkIHtcblx0bWFyZ2luLXRvcDogNHB4O1xufVxuXG4vKiBQcm9qZWN0IGl0ZW1zIGluIHRoZSBzaWRlYmFyICovXG4ucmV2aWV3LXByb2plY3QtaXRlbSB7XG5cdC0taWNvbi1zaXplOiB2YXIoLS1zaXplLTQtNCk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDRweCA4cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRtYXJnaW4tYm90dG9tOiAycHg7XG59XG5cbi5yZXZpZXctcHJvamVjdC1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi5yZXZpZXctcHJvamVjdC1pdGVtLnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUpO1xufVxuXG4vKiBQcm9qZWN0cyB3aXRoIHJldmlldyBzZXR0aW5ncyAqL1xuLnJldmlldy1wcm9qZWN0LWl0ZW0uaGFzLXJldmlldy1zZXR0aW5ncyAucmV2aWV3LXByb2plY3QtaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi5yZXZpZXctcHJvamVjdC1pdGVtLmhhcy1yZXZpZXctc2V0dGluZ3MgLnJldmlldy1wcm9qZWN0LW5hbWUge1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4vKiBQcm9qZWN0cyB3aXRob3V0IHJldmlldyBzZXR0aW5ncyAqL1xuLnJldmlldy1wcm9qZWN0LWl0ZW06bm90KC5oYXMtcmV2aWV3LXNldHRpbmdzKSAucmV2aWV3LXByb2plY3QtaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnJldmlldy1wcm9qZWN0LWljb24ge1xuXHRtYXJnaW4tcmlnaHQ6IDhweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5yZXZpZXctcHJvamVjdC1uYW1lIHtcblx0ZmxleDogMTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5yZXZpZXctdGFzay1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5pcy1waG9uZSAucmV2aWV3LXRhc2staGVhZGVyIHtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5yZXZpZXctaGVhZGVyLWNvbnRlbnQgaDMge1xuXHRtYXJnaW46IDAgMCA4cHggMDtcblx0cGFkZGluZzogMDtcbn1cblxuLnJldmlldy1pbmZvIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuXG4ucmV2aWV3LXNlcGFyYXRvciB7XG5cdG1hcmdpbjogMCA4cHg7XG59XG5cbi5yZXZpZXctZnJlcXVlbmN5IHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLnJldmlldy1mcmVxdWVuY3k6aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnJldmlldy1sYXN0LWRhdGUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ucmV2aWV3LW5vLXNldHRpbmdzIHtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKiBGaWx0ZXIgaW5mb3JtYXRpb24gKi9cbi5yZXZpZXctZmlsdGVyLWluZm8ge1xuXHRtYXJnaW4tdG9wOiAxMHB4O1xuXHRwYWRkaW5nOiA2cHggMTBweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGZvbnQtc2l6ZTogMC44NWVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4ucmV2aWV3LWZpbHRlci10b2dnbGUge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xuXHRtYXJnaW4tbGVmdDogNXB4O1xufVxuXG4ucmV2aWV3LWZpbHRlci10b2dnbGU6aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQtaG92ZXIpO1xufVxuXG4ucmV2aWV3LXRhc2stbGlzdCB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLnJldmlldy1lbXB0eS1zdGF0ZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRwYWRkaW5nOiAxNnB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qIFJldmlldyBidXR0b25zICovXG4ucmV2aWV3LWJ1dHRvbi1jb250YWluZXIge1xuXHRtYXJnaW4tdG9wOiAxMnB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi5yZXZpZXctY29tcGxldGUtYnRuLFxuLnJldmlldy1jb25maWd1cmUtYnRuIHtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbn1cblxuLnJldmlldy1jb21wbGV0ZS1idG4ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4ucmV2aWV3LWNvbXBsZXRlLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4ucmV2aWV3LWNvbmZpZ3VyZS1idG4ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5yZXZpZXctY29uZmlndXJlLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ucmV2aWV3LWVkaXQtYnRuIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50LWhvdmVyKTtcblx0bWFyZ2luLWxlZnQ6IDhweDtcbn1cblxuLnJldmlldy1lZGl0LWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQtaG92ZXIpO1xufVxuXG4vKiBSZXZpZXcgQ29uZmlndXJlIE1vZGFsICovXG4ucmV2aWV3LW1vZGFsLXRpdGxlIHtcblx0bWFyZ2luLXRvcDogMDtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0Zm9udC1zaXplOiAxLjVlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0cGFkZGluZy1ib3R0b206IDEwcHg7XG59XG5cbi5yZXZpZXctbW9kYWwtZm9ybSB7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5yZXZpZXctbW9kYWwtZmllbGQge1xuXHRtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuXG4ucmV2aWV3LW1vZGFsLWxhYmVsIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdG1hcmdpbi1ib3R0b206IDRweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnJldmlldy1tb2RhbC1kZXNjcmlwdGlvbiB7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4ucmV2aWV3LW1vZGFsLXNlbGVjdCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1zaXplOiAxNHB4O1xufVxuXG4ucmV2aWV3LW1vZGFsLWN1c3RvbS1mcmVxdWVuY3kge1xuXHRtYXJnaW4tdG9wOiA4cHg7XG59XG5cbi5yZXZpZXctbW9kYWwtaW5wdXQge1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogOHB4O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1zaXplOiAxNHB4O1xufVxuXG4ucmV2aWV3LW1vZGFsLWxhc3QtcmV2aWV3ZWQge1xuXHRwYWRkaW5nOiA4cHg7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG59XG5cbi5yZXZpZXctbW9kYWwtYnV0dG9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdG1hcmdpbi10b3A6IDI0cHg7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBhZGRpbmctdG9wOiAxNnB4O1xufVxuXG4ucmV2aWV3LW1vZGFsLWJ1dHRvbiB7XG5cdHBhZGRpbmc6IDhweCAxNnB4O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5yZXZpZXctbW9kYWwtYnV0dG9uLWNhbmNlbCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tcmlnaHQ6IDhweDtcbn1cblxuLnJldmlldy1tb2RhbC1idXR0b24tY2FuY2VsOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5yZXZpZXctbW9kYWwtYnV0dG9uLXNhdmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ucmV2aWV3LW1vZGFsLWJ1dHRvbi1zYXZlOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLyogUmV2aWV3IFZpZXcgLSBNb2JpbGUgKi9cbi5pcy1waG9uZSAucmV2aWV3LWNvbnRhaW5lciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmlzLXBob25lIC5yZXZpZXctbGVmdC1jb2x1bW4ge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDA7XG5cdHRvcDogMDtcblx0aGVpZ2h0OiAxMDAlO1xuXHR6LWluZGV4OiAxMDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHR3aWR0aDogMTAwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQ7XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLmlzLXBob25lIC5yZXZpZXctbGVmdC1jb2x1bW4uaXMtdmlzaWJsZSB7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbn1cblxuLmlzLXBob25lIC5yZXZpZXctc2lkZWJhci10b2dnbGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XG59XG5cbi5pcy1waG9uZSAucmV2aWV3LXNpZGViYXItY2xvc2Uge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogdmFyKC0tc2l6ZS0yLTIpO1xuXHRyaWdodDogMTBweDtcblx0ei1pbmRleDogMTU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4vKiBBZGQgb3ZlcmxheSB3aGVuIGxlZnQgY29sdW1uIGlzIHZpc2libGUgb24gbW9iaWxlICovXG4uaXMtcGhvbmUgLnJldmlldy1jb250YWluZXI6aGFzKC5yZXZpZXctbGVmdC1jb2x1bW4uaXMtdmlzaWJsZSk6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWNvdmVyKTtcblx0b3BhY2l0eTogMC41O1xuXHR6LWluZGV4OiA1O1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG59XG4iLCAiLnRnLWhhYml0LWNvbXBvbmVudC1jb250YWluZXIge1xuXHR3aWR0aDogMTAwJTtcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDFyZW07IC8qIGdhcC00ICovXG5cdHBhZGRpbmc6IDFyZW07IC8qIHAtNCAqL1xuXHRoZWlnaHQ6IDEwMCU7IC8qIEFsbG93IHNjcm9sbGluZyBpZiBjb250ZW50IG92ZXJmbG93cyAqL1xuXHRvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4vKiA9PT0gSGFiaXQgTGlzdCBDb250YWluZXIgPT09ICovXG4uaGFiaXQtbGlzdC1jb250YWluZXIge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCBtaW5tYXgoMCwgMWZyKSk7XG5cdGdhcDogMXJlbTsgLyogZ2FwLTQgKi9cblx0d2lkdGg6IDEwMCU7XG59XG5cbi8qIFx1NUMwRlx1NUM0Rlx1NUU1NVx1OEJCRVx1NTkwNyAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcblx0LmhhYml0LWxpc3QtY29udGFpbmVyIHtcblx0XHRwYWRkaW5nOiAwLjVyZW07XG5cdFx0Z2FwOiAwLjc1cmVtO1xuXHR9XG59XG5cbi8qIFx1NEUyRFx1N0I0OVx1NUM0Rlx1NUU1NVx1OEJCRVx1NTkwNyB+NzY4cHggKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG5cdC5oYWJpdC1saXN0LWNvbnRhaW5lciB7XG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRcdG1heC13aWR0aDogNDAwcHg7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHR9XG59XG5cbi8qIFx1NTkyN1x1NUM0Rlx1NUU1NVx1OEJCRVx1NTkwNyAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG5cdC5oYWJpdC1saXN0LWNvbnRhaW5lciB7XG5cdFx0bWF4LXdpZHRoOiA1MDBweDtcblx0fVxufVxuLyogQWRqdXN0IG1heC13aWR0aC9jb2x1bW5zIGJhc2VkIG9uIGRlc2lyZWQgbGF5b3V0ICovXG5cbi5oYWJpdC1jYXJkLXdyYXBwZXIge1xuXHR3aWR0aDogMTAwJTtcblx0bWluLWhlaWdodDogZml0LWNvbnRlbnQ7XG59XG5cbi8qID09PSBDcmVhdGUgSGFiaXQgQnV0dG9uID09PSAqL1xuLmhhYml0LWNyZWF0ZS1idXR0b24tY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4vKiA9PT0gQmFzZSBDYXJkIFN0eWxlcyA9PT0gKi9cbi5oYWJpdC1jYXJkIHtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7IC8qIFN0YW5kYXJkIG1lZGl1bSByYWRpdXMgKi9cblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvKiBTdGFjayBoZWFkZXIgYW5kIGNvbnRlbnQgKi9cblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0bWluLWhlaWdodDogZml0LWNvbnRlbnQ7XG59XG5cbi5oYWJpdC1jYXJkIC5jYXJkLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0cGFkZGluZzogMC41cmVtIDFyZW07XG5cdGdhcDogMC41cmVtO1xuXHQvKiBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpOyAqL1xufVxuXG4uaGFiaXQtY2FyZCAuY2FyZC10aXRsZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMC41cmVtOyAvKiBnYXAtMiAqL1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbGFyZ2UpOyAvKiBMYXJnZXIgVUkgZm9udCAqL1xuXHRmb250LXdlaWdodDogNjAwOyAvKiBmb250LXNlbWlib2xkICovXG5cdGZsZXgtZ3JvdzogMTsgLyogQWxsb3cgdGl0bGUgdG8gdGFrZSBzcGFjZSAqL1xuXHRvdmVyZmxvdzogaGlkZGVuOyAvKiBQcmV2ZW50IGxvbmcgbmFtZXMgYnJlYWtpbmcgbGF5b3V0ICovXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4uaGFiaXQtbmFtZS5oYWJpdC1uYW1lOmhvdmVyIHtcblx0LyogU3BlY2lmaWNpdHkgZm9yIGhvdmVyICovXG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5oYWJpdC1jYXJkIC5jYXJkLWNvbnRlbnQtd3JhcHBlciB7XG5cdHBhZGRpbmc6IDAuNzVyZW0gMXJlbTsgLyogQ29uc2lzdGVudCBwYWRkaW5nICovXG5cdGZsZXgtZ3JvdzogMTsgLyogQWxsb3cgY29udGVudCB0byBmaWxsIHNwYWNlICovXG5cdC8qIExheW91dCBzcGVjaWZpY3MgZGVmaW5lZCBwZXIgY2FyZCB0eXBlICovXG59XG5cbi8qID09PSBEYWlseSBIYWJpdCBDYXJkID09PSAqL1xuLmRhaWx5LWhhYml0LWNhcmQgLmNhcmQtaGVhZGVyIHtcblx0LyogTm8gYm9yZGVyIG5lZWRlZCBpZiBjaGVja2JveCBpcyBtYWluIGFjdGlvbiAqL1xuXHQvKiBib3JkZXItYm90dG9tOiBub25lOyAqL1xufVxuLmRhaWx5LWhhYml0LWNhcmQgLmhhYml0LWNoZWNrYm94LWNvbnRhaW5lciB7XG5cdC8qIFN0eWxlIGNvbnRhaW5lciBpZiBuZWVkZWQgKi9cbn1cbi5kYWlseS1oYWJpdC1jYXJkIC5oYWJpdC1jaGVja2JveCB7XG5cdC0tY2hlY2tib3gtc2l6ZTogMS4yNXJlbTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRhY2NlbnQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7IC8qIFN0eWxlIGNoZWNrYm94IGNvbG9yICovXG59XG4uZGFpbHktaGFiaXQtY2FyZCAuY2FyZC1jb250ZW50LXdyYXBwZXIge1xuXHQvKiBDb250YWlucyBoZWF0bWFwICovXG5cdHBhZGRpbmc6IDByZW0gMXJlbSAwLjc1cmVtOyAvKiBBZGp1c3QgcGFkZGluZyBhcm91bmQgaGVhdG1hcCAqL1xufVxuXG4vKiA9PT0gQ291bnQgSGFiaXQgQ2FyZCA9PT0gKi9cbi5jb3VudC1oYWJpdC1jYXJkIC5jYXJkLWNvbnRlbnQtd3JhcHBlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8qIERlZmF1bHQgbW9iaWxlIGxheW91dCAqL1xuXHRnYXA6IDAuNzVyZW07IC8qIEFkanVzdGVkIGdhcCAqL1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uY291bnQtaGFiaXQtY2FyZCAuaGFiaXQtaWNvbi1idXR0b24ge1xuXHQtLWljb24tc2l6ZTogMnJlbTtcblx0aGVpZ2h0OiA0cmVtOyAvKiBTbGlnaHRseSBzbWFsbGVyIHRoYW4gaC0xNiAqL1xuXHR3aWR0aDogNHJlbTtcblx0YXNwZWN0LXJhdGlvOiAxO1xuXHRwYWRkaW5nOiAwO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTsgLyogU21hbGxlciByYWRpdXMgKi9cblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGZvbnQtc2l6ZTogMS41cmVtOyAvKiBGb3IgaWNvbiAqL1xufVxuXG4uY291bnQtaGFiaXQtY2FyZCAuaGFiaXQtaWNvbi1idXR0b24ge1xuXHRjb2xvcjogdmFyKC0taWNvbi1jb2xvcik7XG59XG5cbi5jb3VudC1oYWJpdC1jYXJkIC5oYWJpdC1pY29uLWJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbn1cblxuLmNvdW50LWhhYml0LWNhcmQgLmhhYml0LWNhcmQtbmFtZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1sYXJnZSk7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5jb3VudC1oYWJpdC1jYXJkIC5oYWJpdC1hY3RpdmUtZGF5IHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXdlaWdodDogNDAwO1xufVxuXG4uY291bnQtaGFiaXQtY2FyZCAuaGFiaXQtaW5mbyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8qIENlbnRlciB0ZXh0IG9uIG1vYmlsZSAqL1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGZsZXgtZ3JvdzogMTtcbn1cbi5jb3VudC1oYWJpdC1jYXJkIC5oYWJpdC1pbmZvIGgzIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLWxhcmdlKTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmNvdW50LWhhYml0LWNhcmQgLmhhYml0LXByb2dyZXNzLWFyZWEge1xuXHR3aWR0aDogMTAwJTsgLyogRnVsbCB3aWR0aCBvbiBtb2JpbGUgKi9cblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAwLjVyZW07XG59XG5cbi8qIFRhYmxldC9EZXNrdG9wIGxheW91dCBmb3IgQ291bnQgQ2FyZCAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG5cdC8qIHNtIGJyZWFrcG9pbnQgKi9cblx0LmNvdW50LWhhYml0LWNhcmQgLmNhcmQtY29udGVudC13cmFwcGVyIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8qIEFsaWduIGl0ZW1zIHZlcnRpY2FsbHkgKi9cblx0XHRnYXA6IDFyZW07XG5cdH1cblx0LmNvdW50LWhhYml0LWNhcmQgLmhhYml0LXByb2dyZXNzLWFyZWEge1xuXHRcdHdpZHRoOiBhdXRvOyAvKiBBbGxvdyBpdCB0byBzaHJpbmsgKi9cblx0XHRtaW4td2lkdGg6IDE1MHB4OyAvKiBFbnN1cmUgbWluaW11bSB3aWR0aCBmb3IgaGVhdG1hcC9wcm9ncmVzcyAqL1xuXHRcdGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgLyogQWxpZ24gcHJvZ3Jlc3MgdG8gdGhlIHJpZ2h0ICovXG5cdH1cblx0LmNvdW50LWhhYml0LWNhcmQgLmhhYml0LWhlYXRtYXAtc21hbGwge1xuXHRcdHdpZHRoOiAxMDAlOyAvKiBBbGxvdyBoZWF0bWFwIHRvIGRlZmluZSBpdHMgb3duIHdpZHRoICovXG5cdH1cbn1cblxuLyogPT09IFNjaGVkdWxlZCBIYWJpdCBDYXJkID09PSAqL1xuLnNjaGVkdWxlZC1oYWJpdC1jYXJkIC5jYXJkLWhlYWRlciB7XG5cdHBhZGRpbmctYm90dG9tOiAwLjVyZW07IC8qIHBiLTIgKi9cbn1cbi5zY2hlZHVsZWQtaGFiaXQtY2FyZCAuY2FyZC1jb250ZW50LXdyYXBwZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvKiBNb2JpbGUgZGVmYXVsdCAqL1xuXHRnYXA6IDAuNzVyZW07XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8qIENlbnRlciBvbiBtb2JpbGUgKi9cbn1cblxuLnNjaGVkdWxlZC1oYWJpdC1jYXJkIC5oYWJpdC1oZWF0bWFwLW1lZGl1bSB7XG5cdHdpZHRoOiAxMDAlOyAvKiBGdWxsIHdpZHRoIGhlYXRtYXAgb24gbW9iaWxlICovXG59XG5cbi5zY2hlZHVsZWQtaGFiaXQtY2FyZCAuaGFiaXQtY29udHJvbHMge1xuXHR3aWR0aDogMTAwJTsgLyogRnVsbCB3aWR0aCBjb250cm9scyBvbiBtb2JpbGUgKi9cblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAwLjVyZW07XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8qIENlbnRlciBjb250cm9scyBvbiBtb2JpbGUgKi9cbn1cblxuLnNjaGVkdWxlZC1oYWJpdC1jYXJkIC5oYWJpdC1ldmVudC1kcm9wZG93biB7XG5cdHdpZHRoOiBhdXRvOyAvKiBBdXRvIHdpZHRoIGRyb3Bkb3duICovXG5cdG1hcmdpbi1ib3R0b206IDAuNXJlbTtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi8qIFRhYmxldC9EZXNrdG9wIGxheW91dCBmb3IgU2NoZWR1bGVkIENhcmQgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuXHQuc2NoZWR1bGVkLWhhYml0LWNhcmQgLmNhcmQtY29udGVudC13cmFwcGVyIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyAvKiBBbGlnbiB0b3AgKi9cblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdH1cblx0LnNjaGVkdWxlZC1oYWJpdC1jYXJkIC5oYWJpdC1oZWF0bWFwLW1lZGl1bSB7XG5cdFx0d2lkdGg6IGF1dG87IC8qIEFsbG93IGhlYXRtYXAgdG8gc2hyaW5rICovXG5cdFx0ZmxleC1ncm93OiAxOyAvKiBBbGxvdyBoZWF0bWFwIHRvIHRha2UgYXZhaWxhYmxlIHNwYWNlICovXG5cdFx0bWFyZ2luLXJpZ2h0OiAxcmVtOyAvKiBTcGFjZSBiZXR3ZWVuIGhlYXRtYXAgYW5kIGNvbnRyb2xzICovXG5cdH1cblx0LnNjaGVkdWxlZC1oYWJpdC1jYXJkIC5oYWJpdC1jb250cm9scyB7XG5cdFx0d2lkdGg6IGF1dG87IC8qIFNocmluayBjb250cm9scyAqL1xuXHRcdG1pbi13aWR0aDogMTUwcHg7IC8qIE1pbmltdW0gd2lkdGggKi9cblx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDsgLyogQWxpZ24gY29udHJvbHMgbGVmdCAqL1xuXHR9XG59XG5cbi8qID09PSBNYXBwaW5nIEhhYml0IENhcmQgPT09ICovXG4ubWFwcGluZy1oYWJpdC1jYXJkIC5jYXJkLWhlYWRlciB7XG5cdHBhZGRpbmctYm90dG9tOiAwLjVyZW07IC8qIHBiLTIgKi9cbn1cbi5tYXBwaW5nLWhhYml0LWNhcmQgLmNhcmQtY29udGVudC13cmFwcGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLyogTW9iaWxlIGRlZmF1bHQgKi9cblx0Z2FwOiAwLjc1cmVtO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nLXRvcDogMDtcblx0cGFkZGluZy1ib3R0b206IDEuMnJlbTtcbn1cbi5tYXBwaW5nLWhhYml0LWNhcmQgLmhhYml0LWhlYXRtYXAtbWVkaXVtIHtcblx0d2lkdGg6IDEwMCU7IC8qIEZ1bGwgd2lkdGggaGVhdG1hcCBvbiBtb2JpbGUgKi9cbn1cbi5tYXBwaW5nLWhhYml0LWNhcmQgLmhhYml0LWNvbnRyb2xzIHtcblx0d2lkdGg6IDEwMCU7IC8qIEZ1bGwgd2lkdGggY29udHJvbHMgb24gbW9iaWxlICovXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMC41cmVtO1xufVxuXG4ubWFwcGluZy1oYWJpdC1jYXJkIC5oYWJpdC1tYXBwaW5nLWJ1dHRvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRmb250LXNpemU6IDEuNzVyZW07IC8qIExhcmdlciBlbW9qaS90ZXh0ICovXG5cdHBhZGRpbmc6IDAuNXJlbTtcblx0d2lkdGg6IDEwMCU7XG5cdG1heC13aWR0aDogMTAwcHg7IC8qIExpbWl0IGJ1dHRvbiB3aWR0aCAqL1xuXHRoZWlnaHQ6IDMuNXJlbTsgLyogaC0xNiBlcXVpdmFsZW50ICovXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJ1dHRvbi1zZWNvbmRhcnktYm9yZGVyLWNvbG9yKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLXNlY29uZGFyeS1iZyk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7IC8qIEVuc3VyZSBlbW9qaSB2aXNpYmlsaXR5ICovXG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xufVxuLm1hcHBpbmctaGFiaXQtY2FyZCAuaGFiaXQtbWFwcGluZy1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tc2Vjb25kYXJ5LWhvdmVyLWJnKTtcbn1cblxuLm1hcHBpbmctaGFiaXQtY2FyZCAuaGFiaXQtc2xpZGVyLXNldHRpbmcge1xuXHR3aWR0aDogMTAwJTsgLyogU2xpZGVyIHRha2VzIGZ1bGwgd2lkdGggKi9cblx0bWF4LXdpZHRoOiAyMDBweDsgLyogTGltaXQgc2xpZGVyIHdpZHRoICovXG59XG4ubWFwcGluZy1oYWJpdC1jYXJkIC5oYWJpdC1zbGlkZXItc2V0dGluZyAuc2V0dGluZy1pdGVtLWluZm8ge1xuXHRkaXNwbGF5OiBub25lOyAvKiBIaWRlIHNsaWRlciBsYWJlbCAqL1xufVxuLm1hcHBpbmctaGFiaXQtY2FyZCAuaGFiaXQtc2xpZGVyLXNldHRpbmcgLnNldHRpbmctaXRlbSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiAwO1xuXHRib3JkZXI6IG5vbmU7XG59XG4ubWFwcGluZy1oYWJpdC1jYXJkIC5oYWJpdC1zbGlkZXItc2V0dGluZyAuc2V0dGluZy1pdGVtLWNvbnRyb2wge1xuXHR3aWR0aDogMTAwJTsgLyogTWFrZSBzbGlkZXIgY29udHJvbCB0YWtlIGZ1bGwgd2lkdGggKi9cbn1cblxuLm1hcHBpbmctaGFiaXQtY2FyZCAuaGVhdG1hcC1tZCAuaGVhdG1hcC1jb250YWluZXItc2ltcGxlIHtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG59XG5cbi8qIFRhYmxldC9EZXNrdG9wIGxheW91dCBmb3IgTWFwcGluZyBDYXJkICovXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcblx0Lm1hcHBpbmctaGFiaXQtY2FyZCAuY2FyZC1jb250ZW50LXdyYXBwZXIge1xuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjsgLyogQ2VudGVyIGl0ZW1zIHZlcnRpY2FsbHkgKi9cblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdH1cblx0Lm1hcHBpbmctaGFiaXQtY2FyZCAuaGFiaXQtaGVhdG1hcC1tZWRpdW0ge1xuXHRcdHdpZHRoOiBhdXRvO1xuXHRcdGZsZXgtZ3JvdzogMTtcblx0XHRtYXJnaW4tcmlnaHQ6IDFyZW07XG5cdH1cblx0Lm1hcHBpbmctaGFiaXQtY2FyZCAuaGFiaXQtY29udHJvbHMge1xuXHRcdHdpZHRoOiBhdXRvO1xuXHRcdG1pbi13aWR0aDogODBweDsgLyogV2lkdGggZm9yIGJ1dHRvbiArIHNsaWRlciAqL1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8qIEtlZXAgYnV0dG9uIGFib3ZlIHNsaWRlciAqL1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0Z2FwOiAwLjc1cmVtO1xuXHR9XG5cdC5tYXBwaW5nLWhhYml0LWNhcmQgLmhhYml0LW1hcHBpbmctYnV0dG9uIHtcblx0XHR3aWR0aDogNHJlbTsgLyogRml4ZWQgd2lkdGggYnV0dG9uICovXG5cdFx0aGVpZ2h0OiA0cmVtO1xuXHR9XG5cdC5tYXBwaW5nLWhhYml0LWNhcmQgLmhhYml0LXNsaWRlci1zZXR0aW5nIHtcblx0XHR3aWR0aDogMTAwJTsgLyogU2xpZGVyIHRha2VzIHdpZHRoIG9mIGNvbnRyb2wgYXJlYSAqL1xuXHRcdG1heC13aWR0aDogbm9uZTtcblx0fVxufVxuXG4vKiA9PT0gUHJvZ3Jlc3MgQmFyIChDb21tb24gZm9yIENvdW50L1NjaGVkdWxlZCkgPT09ICovXG4uaGFiaXQtcHJvZ3Jlc3MtY29udGFpbmVyIHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMC43NXJlbTsgLyogU2xpZ2h0bHkgdGhpY2tlciAqL1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sKTsgLyogUGlsbCBzaGFwZSAqL1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7IC8qIEZvciB0ZXh0IG92ZXJsYXkgKi9cbn1cbi5oYWJpdC1wcm9ncmVzcy1iYXIge1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sKTtcblx0dHJhbnNpdGlvbjogd2lkdGggMC4zcyBlYXNlLWluLW91dDtcbn1cbi5oYWJpdC1wcm9ncmVzcy1jb250YWluZXIuZmlsbGVkIC5oYWJpdC1wcm9ncmVzcy10ZXh0IHtcblx0bWl4LWJsZW5kLW1vZGU6IHVuc2V0O1xufVxuLmhhYml0LXByb2dyZXNzLXRleHQge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGZvbnQtc2l6ZTogMC42cmVtOyAvKiBUaW55IHRleHQgKi9cblx0bGluZS1oZWlnaHQ6IDE7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7IC8qIFRleHQgY29sb3Igb24gZmlsbGVkIHBhcnQgKi9cblx0bWl4LWJsZW5kLW1vZGU6IGRpZmZlcmVuY2U7IC8qIFRyeSB0byBtYWtlIHRleHQgdmlzaWJsZSAqL1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4vKiA9PT0gSGVhdG1hcCBTdHlsZXMgPT09ICovXG4udGctaGVhdG1hcC1yb290IHtcblx0d2lkdGg6IDEwMCU7IC8qIFRha2UgYXZhaWxhYmxlIHdpZHRoICovXG59XG4uaGVhdG1hcC1zbSAuaGVhdG1hcC1jb250YWluZXItc2ltcGxlIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG5cdG92ZXJmbG93LXg6IGF1dG87IC8qIEFsbG93IGhvcml6b250YWwgc2Nyb2xsIGlmIHRvbyBtYW55IGNlbGxzICovXG5cdHBhZGRpbmctYm90dG9tOiAycHg7IC8qIFNwYWNlIGZvciBzY3JvbGxiYXIgKi9cbn1cblxuLmhlYXRtYXAtbWQgLmhlYXRtYXAtY29udGFpbmVyLXNpbXBsZSB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDYsIDFmcik7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xuXHRvdmVyZmxvdy14OiBhdXRvOyAvKiBBbGxvdyBob3Jpem9udGFsIHNjcm9sbCBpZiB0b28gbWFueSBjZWxscyAqL1xuXHRwYWRkaW5nLWJvdHRvbTogMnB4OyAvKiBTcGFjZSBmb3Igc2Nyb2xsYmFyICovXG5cdGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcbn1cblxuLmhlYXRtYXAtbGcgLmhlYXRtYXAtY29udGFpbmVyLXNpbXBsZSB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEwLCAxZnIpO1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcblx0b3ZlcmZsb3cteDogYXV0bzsgLyogQWxsb3cgaG9yaXpvbnRhbCBzY3JvbGwgaWYgdG9vIG1hbnkgY2VsbHMgKi9cblx0cGFkZGluZy1ib3R0b206IDJweDsgLyogU3BhY2UgZm9yIHNjcm9sbGJhciAqL1xuXHRqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5oZWF0bWFwLWNlbGwge1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7IC8qIFNtYWxsIHJhZGl1cyAqL1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmbGV4LXNocmluazogMDsgLyogUHJldmVudCBjZWxscyBmcm9tIHNocmlua2luZyAqL1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXG5cdFx0LS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlclxuXHQpOyAvKiBEZWZhdWx0IGJhY2tncm91bmQgKi9cblx0Ym9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IC8qIEJvcmRlciBmb3IgYmxhbmsvY3VzdG9tICovXG59XG5cbi8qIEhlYXRtYXAgU2hhcGVzICovXG4uaGVhdG1hcC1jZWxsLXNxdWFyZSB7XG5cdC8qIERlZmluZWQgYnkgc2l6ZSAqL1xufVxuLmhlYXRtYXAtY2VsbC1kb3Qge1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbi8qIEhlYXRtYXAgU2l6ZXMgKi9cbi5oZWF0bWFwLXNtIC5oZWF0bWFwLWNlbGwge1xuXHR3aWR0aDogMC43NXJlbTtcblx0aGVpZ2h0OiAwLjc1cmVtO1xufVxuLmhhYml0LWhlYXRtYXAtbWVkaXVtIC5oZWF0bWFwLW1kIC5oZWF0bWFwLWNlbGwge1xuXHR3aWR0aDogMS40cmVtO1xuXHRoZWlnaHQ6IDEuNHJlbTtcblx0Zm9udC1zaXplOiAwLjdyZW07XG59XG5cbi5oZWF0bWFwLW1kIC5oZWF0bWFwLWNlbGwge1xuXHR3aWR0aDogMS4xcmVtO1xuXHRoZWlnaHQ6IDEuMXJlbTtcblx0Zm9udC1zaXplOiAwLjdyZW07XG59IC8qIE1hcHBpbmcvU2NoZWR1bGVkICovXG4uaGVhdG1hcC1sZyAuaGVhdG1hcC1jZWxsIHtcblx0d2lkdGg6IDEuMjVyZW07XG5cdGhlaWdodDogMS4yNXJlbTtcblx0Zm9udC1zaXplOiAwLjc1cmVtO1xufSAvKiBEYWlseSAqL1xuXG4vKiBIZWF0bWFwIFZhcmlhbnRzICovXG4uaGVhdG1hcC1jZWxsLmRlZmF1bHQge1xuXHQvKiBEZWZhdWx0IHN0eWxlcyBhbHJlYWR5IHNldCAqL1xufVxuLmhlYXRtYXAtY2VsbC5maWxsZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpOyAvKiBUZXh0IG9uIGZpbGxlZCAoZS5nLiwgZW1vamkpICovXG59XG5cbi5oZWF0bWFwLWNlbGwuaGFzLWN1c3RvbS1jb250ZW50OmhhcygucGllLWRvdC1jb250YWluZXIpIHtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdGJvcmRlcjogdW5zZXQ7XG59XG5cbi8qIFN0eWxlIGZvciBjZWxscyB3aXRoIGN1c3RvbSBjb250ZW50IGxpa2UgUGllRG90IG9yIEVtb2ppICovXG4uaGVhdG1hcC1jZWxsLmhhcy1jdXN0b20tY29udGVudCxcbi5oZWF0bWFwLWNlbGwuaGFzLXRleHQtY29udGVudCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTsgLyogVXNlIGNhcmQgYmFja2dyb3VuZCAqL1xuXHRib3JkZXItY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTsgLyogQWRkIGJvcmRlciAqL1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpOyAvKiBFbnN1cmUgdGV4dC9lbW9qaSBpcyB2aXNpYmxlICovXG59XG4uaGVhdG1hcC1jZWxsLmhhcy10ZXh0LWNvbnRlbnQge1xuXHRsaW5lLWhlaWdodDogMTsgLyogQ2VudGVyIGVtb2ppIHZlcnRpY2FsbHkgKi9cbn1cblxuLyogUGllRG90IENvbnRhaW5lciAqL1xuLnBpZS1kb3QtY29udGFpbmVyIHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4ucGllLWRvdC1jb250YWluZXIgc3ZnIHtcblx0ZGlzcGxheTogYmxvY2s7IC8qIFJlbW92ZSBleHRyYSBzcGFjZSBiZWxvdyBTVkcgKi9cbn1cblxuLyogPT09IEVtcHR5IFN0YXRlID09PSAqL1xuLmhhYml0LWVtcHR5LXN0YXRlIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiAycmVtIDFyZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cbi5oYWJpdC1lbXB0eS1zdGF0ZSBoMiB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1sYXJnZSk7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cbi5oYWJpdC1lbXB0eS1zdGF0ZSBwIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW5vcm1hbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcbn1cblxuLyogPT09IEljb25zIFBsYWNlaG9sZGVyID09PSAqL1xuLmhhYml0LWljb24ge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdC8qIHdpZHRoOiAxZW07ICovXG5cdGhlaWdodDogMWVtO1xuXHRsaW5lLWhlaWdodDogMTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0bWFyZ2luLXJpZ2h0OiAwLjI1ZW07XG5cdC0taWNvbi1zaXplOiAxLjVyZW07XG59XG5cbi8qID09PSBIYWJpdCBDaGFydCBNb2RhbCA9PT0gKi9cbi5oYWJpdC1jaGFydC1jb250cm9scyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMC41cmVtO1xuXHRtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xufVxuLmhhYml0LWNoYXJ0LWZpbHRlcnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGdhcDogMC41cmVtO1xufVxuLmhhYml0LWNoYXJ0LWZpbHRlcnMgLmZpbHRlci1idG4ge1xuXHRwYWRkaW5nOiAwLjI1cmVtIDAuNnJlbTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuLmhhYml0LWNoYXJ0LWZpbHRlcnMgLmZpbHRlci1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xufVxuLmhhYml0LWNoYXJ0LXllYXJzIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAwLjVyZW07XG59XG4uaGFiaXQtY2hhcnQteWVhcnMgLnllYXJzLWxhYmVsIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xufVxuLmhhYml0LWNoYXJ0LXllYXJzIC55ZWFycy1iYXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IG5vd3JhcDtcblx0Z2FwOiAwLjRyZW07XG5cdG92ZXJmbG93LXg6IGF1dG87XG5cdHBhZGRpbmctYm90dG9tOiAycHg7XG59XG4uaGFiaXQtY2hhcnQteWVhcnMgLnllYXItYnRuIHtcblx0cGFkZGluZzogMC4ycmVtIDAuNXJlbTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4uaGFiaXQtY2hhcnQteWVhcnMgLnllYXItYnRuLnNlbGVjdGVkLFxuLmhhYml0LWNoYXJ0LXllYXJzIC55ZWFyLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cbi5oYWJpdC1jaGFydC1oZWF0bWFwIHtcblx0LyogUmV1c2UgdGhlIGhlYXRtYXAgZ3JpZCBzdHlsZXM7IGFsbG93IG92ZXJmbG93ICovXG5cdG1heC1oZWlnaHQ6IDYwdmg7XG5cdG92ZXJmbG93OiBhdXRvO1xufVxuIiwgIi8qIERlZmluZSB0aGVtZSB2YXJpYWJsZXMgKi9cbjpyb290IHtcblx0LyogVGFzayBzdGF0dXMgY29sb3JzICovXG5cdC0tdGFzay1jb21wbGV0ZWQtY29sb3I6ICM0Y2FmNTA7XG5cdC0tdGFzay1kb2luZy1jb2xvcjogIzgwZGVlNTtcblx0LS10YXNrLWluLXByb2dyZXNzLWNvbG9yOiAjZjlkOTIzO1xuXHQtLXRhc2stYWJhbmRvbmVkLWNvbG9yOiAjZWI1MzUzO1xuXHQtLXRhc2stcGxhbm5lZC1jb2xvcjogIzljMjdiMDsgLyogUGxhbm5lZCB0YXNrIGNvbG9yICovXG5cdC0tdGFzay1xdWVzdGlvbi1jb2xvcjogIzIxOTZmMzsgLyogUXVlc3Rpb24gdGFza3MgKi9cblx0LS10YXNrLWltcG9ydGFudC1jb2xvcjogI2Y0NDMzNjsgLyogSW1wb3J0YW50IHRhc2tzICovXG5cdC0tdGFzay1zdGFyLWNvbG9yOiAjZmZjMTA3OyAvKiBTdGFyIHRhc2tzICovXG5cdC0tdGFzay1xdW90ZS1jb2xvcjogIzYwN2Q4YjsgLyogUXVvdGUgdGFza3MgKi9cblx0LS10YXNrLWxvY2F0aW9uLWNvbG9yOiAjNzk1NTQ4OyAvKiBMb2NhdGlvbiB0YXNrcyAqL1xuXHQtLXRhc2stYm9va21hcmstY29sb3I6ICNmZjk4MDA7IC8qIEJvb2ttYXJrIHRhc2tzICovXG5cdC0tdGFzay1pbmZvcm1hdGlvbi1jb2xvcjogIzAwYmNkNDsgLyogSW5mb3JtYXRpb24gdGFza3MgKi9cblx0LS10YXNrLWlkZWEtY29sb3I6ICM5YzI3YjA7IC8qIElkZWEgdGFza3MgKi9cblx0LS10YXNrLXByb3MtY29sb3I6ICM0Y2FmNTA7IC8qIFByb3MgdGFza3MgKi9cblx0LS10YXNrLWNvbnMtY29sb3I6ICNmNDQzMzY7IC8qIENvbnMgdGFza3MgKi9cblx0LS10YXNrLWZpcmUtY29sb3I6ICNmZjU3MjI7IC8qIEZpcmUgdGFza3MgKi9cblx0LS10YXNrLWtleS1jb2xvcjogI2ZmZDcwMDsgLyogS2V5IHRhc2tzICovXG5cdC0tdGFzay13aW4tY29sb3I6ICM2NmJiNmE7IC8qIFdpbiB0YXNrcyAqL1xuXHQtLXRhc2stdXAtY29sb3I6ICM0Y2FmNTA7IC8qIFVwIHRhc2tzICovXG5cdC0tdGFzay1kb3duLWNvbG9yOiAjZjQ0MzM2OyAvKiBEb3duIHRhc2tzICovXG5cdC0tdGFzay1ub3RlLWNvbG9yOiAjOWU5ZTllOyAvKiBOb3RlIHRhc2tzICovXG5cdC0tdGFzay1hbW91bnQtY29sb3I6ICM4YmMzNGE7IC8qIEFtb3VudC9zYXZpbmdzIHRhc2tzICovXG5cdC0tdGFzay1zcGVlY2gtY29sb3I6ICMwM2E5ZjQ7IC8qIFNwZWVjaCBidWJibGUgdGFza3MgKi9cblxuXHQvKiBQcm9ncmVzcyBiYXIgZ3JhZGllbnQgY29sb3JzIC0gbGlnaHQgdGhlbWUgKi9cblx0LS1wcm9ncmVzcy0wLWNvbG9yOiAjYWU0MzFlO1xuXHQtLXByb2dyZXNzLTI1LWNvbG9yOiAjZTU4OTBhO1xuXHQtLXByb2dyZXNzLTUwLWNvbG9yOiAjYjRjNmE2O1xuXHQtLXByb2dyZXNzLTc1LWNvbG9yOiAjNmJjYjc3O1xuXHQtLXByb2dyZXNzLTEwMC1jb2xvcjogIzRkOTZmZjtcblxuXHQtLXByb2dyZXNzLWJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XG59XG5cbi8qIERhcmsgdGhlbWUgY29sb3IgYWRqdXN0bWVudHMgKi9cbi50aGVtZS1kYXJrIHtcblx0LS10YXNrLWNvbXBsZXRlZC1jb2xvcjogIzRjYWY1MDtcblx0LS10YXNrLWRvaW5nLWNvbG9yOiAjMzc5ZmE3O1xuXHQtLXRhc2staW4tcHJvZ3Jlc3MtY29sb3I6ICNmZmMxMDc7XG5cdC0tdGFzay1hYmFuZG9uZWQtY29sb3I6ICNmNDQzMzY7XG5cdC0tdGFzay1wbGFubmVkLWNvbG9yOiAjY2U5M2Q4OyAvKiBQbGFubmVkIHRhc2sgY29sb3IgZm9yIGRhcmsgdGhlbWUgKi9cblx0LS10YXNrLXF1ZXN0aW9uLWNvbG9yOiAjNDJhNWY1OyAvKiBRdWVzdGlvbiB0YXNrcyBkYXJrIHRoZW1lICovXG5cdC0tdGFzay1pbXBvcnRhbnQtY29sb3I6ICNlZjUzNTA7IC8qIEltcG9ydGFudCB0YXNrcyBkYXJrIHRoZW1lICovXG5cdC0tdGFzay1zdGFyLWNvbG9yOiAjZmZkNTRmOyAvKiBTdGFyIHRhc2tzIGRhcmsgdGhlbWUgKi9cblx0LS10YXNrLXF1b3RlLWNvbG9yOiAjOTBhNGFlOyAvKiBRdW90ZSB0YXNrcyBkYXJrIHRoZW1lICovXG5cdC0tdGFzay1sb2NhdGlvbi1jb2xvcjogIzhkNmU2MzsgLyogTG9jYXRpb24gdGFza3MgZGFyayB0aGVtZSAqL1xuXHQtLXRhc2stYm9va21hcmstY29sb3I6ICNmZmI3NGQ7IC8qIEJvb2ttYXJrIHRhc2tzIGRhcmsgdGhlbWUgKi9cblx0LS10YXNrLWluZm9ybWF0aW9uLWNvbG9yOiAjMjZjNmRhOyAvKiBJbmZvcm1hdGlvbiB0YXNrcyBkYXJrIHRoZW1lICovXG5cdC0tdGFzay1pZGVhLWNvbG9yOiAjY2U5M2Q4OyAvKiBJZGVhIHRhc2tzIGRhcmsgdGhlbWUgKi9cblx0LS10YXNrLXByb3MtY29sb3I6ICM2NmJiNmE7IC8qIFByb3MgdGFza3MgZGFyayB0aGVtZSAqL1xuXHQtLXRhc2stY29ucy1jb2xvcjogI2VmNTM1MDsgLyogQ29ucyB0YXNrcyBkYXJrIHRoZW1lICovXG5cdC0tdGFzay1maXJlLWNvbG9yOiAjZmY3MDQzOyAvKiBGaXJlIHRhc2tzIGRhcmsgdGhlbWUgKi9cblx0LS10YXNrLWtleS1jb2xvcjogI2ZmZDcwMDsgLyogS2V5IHRhc2tzIGRhcmsgdGhlbWUgKi9cblx0LS10YXNrLXdpbi1jb2xvcjogIzgxYzc4NDsgLyogV2luIHRhc2tzIGRhcmsgdGhlbWUgKi9cblx0LS10YXNrLXVwLWNvbG9yOiAjNjZiYjZhOyAvKiBVcCB0YXNrcyBkYXJrIHRoZW1lICovXG5cdC0tdGFzay1kb3duLWNvbG9yOiAjZWY1MzUwOyAvKiBEb3duIHRhc2tzIGRhcmsgdGhlbWUgKi9cblx0LS10YXNrLW5vdGUtY29sb3I6ICNiZGJkYmQ7IC8qIE5vdGUgdGFza3MgZGFyayB0aGVtZSAqL1xuXHQtLXRhc2stYW1vdW50LWNvbG9yOiAjYWVkNTgxOyAvKiBBbW91bnQvc2F2aW5ncyB0YXNrcyBkYXJrIHRoZW1lICovXG5cdC0tdGFzay1zcGVlY2gtY29sb3I6ICMyOWI2ZjY7IC8qIFNwZWVjaCBidWJibGUgdGFza3MgZGFyayB0aGVtZSAqL1xuXG5cdC0tcHJvZ3Jlc3MtMC1jb2xvcjogI2FlNDMxZTtcblx0LS1wcm9ncmVzcy0yNS1jb2xvcjogI2U1ODkwYTtcblx0LS1wcm9ncmVzcy01MC1jb2xvcjogI2I0YzZhNjtcblx0LS1wcm9ncmVzcy03NS1jb2xvcjogIzZiY2I3Nztcblx0LS1wcm9ncmVzcy0xMDAtY29sb3I6ICM0ZDk2ZmY7XG5cblx0LS1wcm9ncmVzcy1iYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xufVxuIiwgIi50YXNrLWdlbml1cy12aWV3LWNvbmZpZy1tb2RhbCB7XG5cdHdpZHRoOiBtYXgoNzAlLCA1MDBweCk7XG59XG5cbi8qIFN0eWxpbmcgZm9yIHRoZSBWaWV3IENvbmZpZ3VyYXRpb24gTW9kYWwgKi9cbi50YXNrLWdlbml1cy12aWV3LWNvbmZpZy1tb2RhbCAuc2V0dGluZy1pdGVtIHtcblx0LyogQWRkIHNvbWUgc3BhY2luZyBiZXR3ZWVuIHNldHRpbmdzIGluIHRoZSBtb2RhbCAqL1xuXHRtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4udGFzay1nZW5pdXMtdmlldy1jb25maWctbW9kYWxcblx0LnNldHRpbmctaXRlbTpub3QoLnNldHRpbmctaXRlbS1oZWFkaW5nKVxuXHQuc2V0dGluZy1pdGVtLWluZm8ge1xuXHQvKiBFbnN1cmUgbGFiZWxzIGFyZSBhbGlnbmVkIHdlbGwgKi9cblx0d2lkdGg6IDEyMHB4O1xufVxuXG4udGFzay1nZW5pdXMtdmlldy1jb25maWctbW9kYWwgLnNldHRpbmctaXRlbS1jb250cm9sIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuLnRhc2stZ2VuaXVzLXZpZXctY29uZmlnLW1vZGFsIC5zZXR0aW5nLWl0ZW0tY29udHJvbCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdIHtcblx0LyogRW5zdXJlIHRleHQgaW5wdXRzIHRha2UgYXZhaWxhYmxlIHdpZHRoICovXG5cdHdpZHRoOiAxMDAlO1xufVxuXG4udGFzay1nZW5pdXMtdmlldy1jb25maWctbW9kYWwgLnNldHRpbmctaXRlbS1kZXNjcmlwdGlvbiB7XG5cdC8qIFN0eWxlIGRlc2NyaXB0aW9ucyAqL1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWFyZ2luLXRvcDogMnB4O1xufVxuXG4vKiBTdHlsaW5nIGZvciB0aGUgVmlldyBNYW5hZ2VtZW50IExpc3QgaW4gU2V0dGluZ3MgVGFiICovXG4udmlldy1tYW5hZ2VtZW50LWxpc3QgLnNldHRpbmctaXRlbSB7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBhZGRpbmc6IDEwcHggMDtcblx0ZGlzcGxheTogZmxleDsgLyogVXNlIGZsZXggZm9yIGJldHRlciBjb250cm9sICovXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8qIEFsaWduIGl0ZW1zIHZlcnRpY2FsbHkgKi9cbn1cblxuLnZpZXctbWFuYWdlbWVudC1saXN0IC5zZXR0aW5nLWl0ZW0taW5mbyB7XG5cdGZsZXgtZ3JvdzogMTsgLyogQWxsb3cgbmFtZS9kZXNjcmlwdGlvbiB0byB0YWtlIHVwIHNwYWNlICovXG5cdG1hcmdpbi1yaWdodDogMTBweDtcbn1cblxuLnZpZXctbWFuYWdlbWVudC1saXN0IC5zZXR0aW5nLWl0ZW0tY29udHJvbCB7XG5cdC8qIEtlZXAgY29udHJvbHMgdG9nZXRoZXIgKi9cblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7IC8qIFNwYWNlIGJldHdlZW4gdG9nZ2xlcy9idXR0b25zICovXG59XG5cbi52aWV3LW1hbmFnZW1lbnQtbGlzdCAuc2V0dGluZy1pdGVtLWNvbnRyb2wgLmJ1dHRvbi1jb21wb25lbnQge1xuXHRwYWRkaW5nOiA1cHg7IC8qIFNtYWxsZXIgcGFkZGluZyBmb3IgaWNvbiBidXR0b25zICovXG5cdGhlaWdodDogYXV0bztcbn1cblxuLnZpZXctbWFuYWdlbWVudC1saXN0IC52aWV3LW9yZGVyLWJ1dHRvbixcbi52aWV3LW1hbmFnZW1lbnQtbGlzdCAudmlldy1kZWxldGUtYnV0dG9uIHtcblx0LyogU3R5bGUgYWN0aW9uIGJ1dHRvbnMgKi9cblx0bWFyZ2luLWxlZnQ6IDVweDtcbn1cblxuLnZpZXctbWFuYWdlbWVudC1saXN0IC5zZXR0aW5nLWl0ZW06bGFzdC1jaGlsZCB7XG5cdGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi8qIFNwZWNpZmljIHN0eWxpbmcgZm9yIHRvZ2dsZXMgaW4gdGhlIGxpc3QgKi9cbi52aWV3LW1hbmFnZW1lbnQtbGlzdCAuc2V0dGluZy1pdGVtLWNvbnRyb2wgLmNoZWNrYm94LWNvbnRhaW5lciB7XG5cdG1hcmdpbjogMDsgLyogUmVtb3ZlIGRlZmF1bHQgbWFyZ2lucyBpZiBhbnkgKi9cbn1cblxuLyogSWNvbiBQaWNrZXIgTWVudSBTdHlsZXMgKFNjb3BlZCkgKi9cbi50Zy1pY29uLW1lbnUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHotaW5kZXg6IDEwMDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LWwpO1xuXHRwYWRkaW5nOiA4cHg7XG5cdG1heC1oZWlnaHQ6IDMwMHB4OyAvKiBMaW1pdCBvdmVyYWxsIG1lbnUgaGVpZ2h0ICovXG5cdHdpZHRoOiAyNTBweDtcblx0ZGlzcGxheTogZmxleDsgLyogVXNlIGZsZXhib3ggKi9cblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0LyogUHJldmVudCBwYWRkaW5nIGZyb20gYWZmZWN0aW5nIG1heC1oZWlnaHQgY2FsY3VsYXRpb24gZm9yIGZsZXggY2hpbGRyZW4gKi9cblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLyogUmVtb3ZlIHN0eWxlcyBmb3IgdGhlIGludGVybWVkaWF0ZSBjb250YWluZXIgKi9cbi8qIC5ibS1wbHVnaW4taWNvbi1tZW51IC5ibS1tZW51LWNvbnRlbnQgeyBcblx0ZmxleC1ncm93OiAxOyBcblx0b3ZlcmZsb3cteTogYXV0bzsgXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG1pbi1oZWlnaHQ6IDA7IFxufSAqL1xuXG4udGctaWNvbi1tZW51IC50Zy1tZW51LXNlYXJjaCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiA2cHggOHB4O1xuXHRtYXJnaW4tYm90dG9tOiA4cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRmbGV4LXNocmluazogMDsgLyogUHJldmVudCBzZWFyY2ggYmFyIGZyb20gc2hyaW5raW5nICovXG59XG5cbi50Zy1pY29uLW1lbnUgLnRnLW1lbnUtaWNvbnMge1xuXHRmbGV4LWdyb3c6IDE7IC8qIEljb24gbGlzdCB0YWtlcyByZW1haW5pbmcgdmVydGljYWwgc3BhY2UgKi9cblx0b3ZlcmZsb3cteTogYXV0bzsgLyogTWFrZSB0aGUgaWNvbiBsaXN0IHNjcm9sbGFibGUgKi9cblx0bWluLWhlaWdodDogMDsgLyogQ3J1Y2lhbCBmb3IgYWxsb3dpbmcgZmxleCBjaGlsZCB0byBzaHJpbmsgYW5kIHNjcm9sbCAqL1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgzMnB4LCAxZnIpKTtcblx0Z2FwOiA0cHg7XG5cdC8qIFJlbW92ZSBtaW4taGVpZ2h0IHByZXZpb3VzbHkgbmVlZGVkIGZvciBncmlkIGluIGZsZXggKi9cbn1cblxuLyogU2NvcGUgdGhlIGNsaWNrYWJsZSBpY29uICp3aXRoaW4qIHRoZSBtZW51ICovXG4udGctaWNvbi1tZW51IC5jbGlja2FibGUtaWNvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiA2cHg7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgMC4xcyBlYXNlLWluLW91dDtcbn1cblxuLnRnLWljb24tbWVudSAuY2xpY2thYmxlLWljb246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG59XG5cbi50Zy1pY29uLW1lbnUgLmNsaWNrYWJsZS1pY29uIHN2ZyB7XG5cdHdpZHRoOiAyMHB4O1xuXHRoZWlnaHQ6IDIwcHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cbiIsICIvKiBDaGVja2JveCBTdGF0dXMgU3dpdGNoZXIgU3R5bGVzICovXG4udGFzay1zdGF0dXMtd2lkZ2V0IHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWJvbGQpO1xufVxuXG4udGFzay1zdGF0ZS5saXZlLXByZXZpZXctbW9kZSB7XG5cdHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1zaXplLTQtMik7XG5cdHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0tc2l6ZS0yLTEpO1xufVxuXG4udGFzay1zdGF0dXMtd2lkZ2V0IC5saXN0LWJ1bGxldDo6YWZ0ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saXN0LW1hcmtlci1jb2xvcikgIWltcG9ydGFudDtcbn1cblxuLyogVE9ETyBzdGF0dXMgc3R5bGUgKi9cbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIiBcIl0ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4vKiBET0lORyBzdGF0dXMgc3R5bGUgKi9cbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIi9cIl0ge1xuXHRjb2xvcjogdmFyKC0tdGFzay1kb2luZy1jb2xvcik7XG59XG5cbi8qIElOLVBST0dSRVNTIHN0YXR1cyBzdHlsZSAqL1xuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiPlwiXSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLWluLXByb2dyZXNzLWNvbG9yKTtcbn1cblxuLyogRE9ORSBzdGF0dXMgc3R5bGUgKi9cbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cInhcIl0sXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJYXCJdIHtcblx0Y29sb3I6IHZhcigtLXRhc2stY29tcGxldGVkLWNvbG9yKTtcbn1cblxuLyogQ0FOQ0VMTEVEIHN0YXR1cyBzdHlsZSAqL1xuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiLVwiXSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLWFiYW5kb25lZC1jb2xvcik7XG59XG5cbi8qIFNDSEVEVUxFRCBzdGF0dXMgc3R5bGUgKi9cbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIjxcIl0ge1xuXHRjb2xvcjogdmFyKC0tdGFzay1wbGFubmVkLWNvbG9yKTtcbn1cblxuLyogUVVFU1RJT04gc3RhdHVzIHN0eWxlICovXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCI/XCJdIHtcblx0Y29sb3I6IHZhcigtLXRhc2stcXVlc3Rpb24tY29sb3IpO1xufVxuXG4vKiBJTVBPUlRBTlQgc3RhdHVzIHN0eWxlICovXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCIhXCJdIHtcblx0Y29sb3I6IHZhcigtLXRhc2staW1wb3J0YW50LWNvbG9yKTtcbn1cblxuLyogU1RBUiBzdGF0dXMgc3R5bGUgKi9cbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIipcIl0ge1xuXHRjb2xvcjogdmFyKC0tdGFzay1zdGFyLWNvbG9yKTtcbn1cblxuLyogUVVPVEUgc3RhdHVzIHN0eWxlICovXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9J1wiJ10ge1xuXHRjb2xvcjogdmFyKC0tdGFzay1xdW90ZS1jb2xvcik7XG59XG5cbi8qIExPQ0FUSU9OIHN0YXR1cyBzdHlsZSAqL1xuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwibFwiXSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLWxvY2F0aW9uLWNvbG9yKTtcbn1cblxuLyogQk9PS01BUksgc3RhdHVzIHN0eWxlICovXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJiXCJdIHtcblx0Y29sb3I6IHZhcigtLXRhc2stYm9va21hcmstY29sb3IpO1xufVxuXG4vKiBJTkZPUk1BVElPTiBzdGF0dXMgc3R5bGUgKi9cbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cImlcIl0ge1xuXHRjb2xvcjogdmFyKC0tdGFzay1pbmZvcm1hdGlvbi1jb2xvcik7XG59XG5cbi8qIElERUEgc3RhdHVzIHN0eWxlICovXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJJXCJdIHtcblx0Y29sb3I6IHZhcigtLXRhc2staWRlYS1jb2xvcik7XG59XG5cbi8qIFBST1Mgc3RhdHVzIHN0eWxlICovXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJwXCJdIHtcblx0Y29sb3I6IHZhcigtLXRhc2stcHJvcy1jb2xvcik7XG59XG5cbi8qIENPTlMgc3RhdHVzIHN0eWxlICovXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJjXCJdIHtcblx0Y29sb3I6IHZhcigtLXRhc2stY29ucy1jb2xvcik7XG59XG5cbi8qIEZJUkUgc3RhdHVzIHN0eWxlICovXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJmXCJdIHtcblx0Y29sb3I6IHZhcigtLXRhc2stZmlyZS1jb2xvcik7XG59XG5cbi8qIEtFWSBzdGF0dXMgc3R5bGUgKi9cbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cImtcIl0ge1xuXHRjb2xvcjogdmFyKC0tdGFzay1rZXktY29sb3IpO1xufVxuXG4vKiBXSU4gc3RhdHVzIHN0eWxlICovXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJ3XCJdIHtcblx0Y29sb3I6IHZhcigtLXRhc2std2luLWNvbG9yKTtcbn1cblxuLyogVVAgc3RhdHVzIHN0eWxlICovXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJ1XCJdIHtcblx0Y29sb3I6IHZhcigtLXRhc2stdXAtY29sb3IpO1xufVxuXG4vKiBET1dOIHN0YXR1cyBzdHlsZSAqL1xuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiZFwiXSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLWRvd24tY29sb3IpO1xufVxuXG4vKiBOT1RFIHN0YXR1cyBzdHlsZSAqL1xuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiblwiXSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLW5vdGUtY29sb3IpO1xufVxuXG4vKiBBTU9VTlQvU0FWSU5HUyBzdGF0dXMgc3R5bGUgKi9cbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIlNcIl0ge1xuXHRjb2xvcjogdmFyKC0tdGFzay1hbW91bnQtY29sb3IpO1xufVxuXG4vKiBTUEVFQ0ggQlVCQkxFIHN0YXR1cyBzdHlsZSAqL1xuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiMFwiXSxcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIjFcIl0sXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCIyXCJdLFxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiM1wiXSxcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIjRcIl0sXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCI1XCJdLFxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiNlwiXSxcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIjdcIl0sXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCI4XCJdLFxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiOVwiXSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLXNwZWVjaC1jb2xvcik7XG59XG5cbi50YXNrLWZha2UtYnVsbGV0IHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR3aWR0aDogNXB4O1xuXHRoZWlnaHQ6IDVweDtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdG1hcmdpbi1yaWdodDogNHB4O1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5vbCA+IC50YXNrLWxpc3QtaXRlbSAudGFzay1mYWtlLWJ1bGxldCB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbm9sID4gLnRhc2stbGlzdC1pdGVtIC50YXNrLXN0YXRlLWNvbnRhaW5lciB7XG5cdG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XG59XG4iLCAiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFRhc2sgR2VuaXVzIE9uYm9hcmRpbmcgU3R5bGVzICovXG4vKiBzaGFkY24gRGVzaWduIFByaW5jaXBsZXMgQXBwbGllZCAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogTWFpbiBvbmJvYXJkaW5nIHN0eWxlcyAtIHNoYXJlZCBieSBtb2RhbCBhbmQgdmlldyAqL1xuLm9uYm9hcmRpbmctdmlldyB7XG5cdC0tZGlhbG9nLXdpZHRoOiA4MDBweDtcblx0LS1kaWFsb2ctbWF4LXdpZHRoOiA5MHZ3O1xuXHQtLWRpYWxvZy1tYXgtaGVpZ2h0OiA5MHZoO1xuXHQtLW9uYm9hcmRpbmctc3BhY2luZzogdmFyKC0tc2l6ZS00LTQpO1xuXHQtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1czogOHB4O1xuXHQtLW9uYm9hcmRpbmctdHJhbnNpdGlvbjogYWxsIDIwMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG5cblx0Lyogc2hhZGNuIGRlc2lnbiB0b2tlbnMgKi9cblx0LS1zaGFkb3ctc206IDAgMXB4IDJweCAwIHJnYigwIDAgMCAvIDAuMDUpO1xuXHQtLXNoYWRvdy1tZDogMCAxcHggM3B4IDAgcmdiKDAgMCAwIC8gMC4xKSwgMCAxcHggMnB4IC0xcHggcmdiKDAgMCAwIC8gMC4xKTtcblx0LS1zaGFkb3ctbGc6XG5cdFx0MCA0cHggNnB4IC0xcHggcmdiKDAgMCAwIC8gMC4xKSwgMCAycHggNHB4IC0ycHggcmdiKDAgMCAwIC8gMC4xKTtcblx0LS1zaGFkb3cteGw6XG5cdFx0MCAxMHB4IDE1cHggLTNweCByZ2IoMCAwIDAgLyAwLjEpLCAwIDRweCA2cHggLTRweCByZ2IoMCAwIDAgLyAwLjEpO1xufVxuXG4vKiBNb2RhbCBzcGVjaWZpYyBzdHlsZXMgKi9cbi5vbmJvYXJkaW5nLXZpZXcgLm1vZGFsLWNvbnRlbnQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tb2RhbC1iYWNrZ3JvdW5kKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tbW9kYWwtcmFkaXVzKTtcblx0bWF4LXdpZHRoOiB2YXIoLS1kaWFsb2ctbWF4LXdpZHRoKTtcblx0bWF4LWhlaWdodDogdmFyKC0tZGlhbG9nLW1heC1oZWlnaHQpO1xuXHRoZWlnaHQ6IDkwdmg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG92ZXJmbG93OiBhdXRvO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG1pbi1oZWlnaHQ6IDEwMHB4O1xufVxuXG4vKiBWaWV3IHNwZWNpZmljIHN0eWxlcyAqL1xuLm9uYm9hcmRpbmctdmlldyB7XG5cdGhlaWdodDogMTAwJTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAudmlldy1jb250ZW50IHtcblx0aGVpZ2h0OiAxMDAlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4vKiBIaWRlIG9uYm9hcmRpbmctaGVhZGVyIGlmIG5vIGhlYWRlciBjb250ZW50ICovXG4ub25ib2FyZGluZy12aWV3IC5vbmJvYXJkaW5nLWhlYWRlcjplbXB0eSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLm9uYm9hcmRpbmctc3VidGl0bGUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC45NWVtO1xuXHRtYXJnaW46IDA7XG59XG5cbi8qIENvbnRlbnQgc2VjdGlvbiAqL1xuLm9uYm9hcmRpbmctdmlldyAub25ib2FyZGluZy1jb250ZW50IHtcblx0ZmxleDogMTtcblx0cGFkZGluZzogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0bWluLWhlaWdodDogMDtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLyogRm9vdGVyIHNlY3Rpb24gLSBNb2Rlcm4gZGVzaWduICovXG4ub25ib2FyZGluZy12aWV3IC5vbmJvYXJkaW5nLWZvb3RlciB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KSB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXItdG9wOiBub25lO1xuXHRib3gtc2hhZG93OiAwIC0ycHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMDYpO1xuXHRmbGV4LXNocmluazogMDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xufVxuXG4vKiBHbGFzcyBtb3JwaGlzbSBlZmZlY3QgZm9yIG1vZGVybiBsb29rICovXG4ub25ib2FyZGluZy12aWV3IC5vbmJvYXJkaW5nLWZvb3Rlcjo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHRib3R0b206IDA7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSksIHRyYW5zcGFyZW50KTtcblx0b3BhY2l0eTogMC41O1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAub25ib2FyZGluZy1idXR0b25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMyk7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAxO1xufVxuXG4vKiBCdXR0b24gZ3JvdXBzIC0gbGVmdCBhbmQgcmlnaHQgKi9cbi5vbmJvYXJkaW5nLXZpZXcgLmJ1dHRvbnMtbGVmdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5idXR0b25zLXJpZ2h0IHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMyk7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4vKiBFbmhhbmNlZCBidXR0b24gc3R5bGVzICovXG4ub25ib2FyZGluZy12aWV3IC5vbmJvYXJkaW5nLWJ1dHRvbnMgYnV0dG9uIHtcblx0bWluLWhlaWdodDogMzZweDtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC00KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLm9uYm9hcmRpbmctYnV0dG9ucyBidXR0b246bm90KC5tb2QtY3RhKTpob3ZlciB7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cblxuLyogUmlwcGxlIGVmZmVjdCBvbiBidXR0b24gY2xpY2sgKi9cbi5vbmJvYXJkaW5nLXZpZXcgLm9uYm9hcmRpbmctYnV0dG9ucyBidXR0b246OmFmdGVyIHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDUwJTtcblx0bGVmdDogNTAlO1xuXHR3aWR0aDogMDtcblx0aGVpZ2h0OiAwO1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cdHRyYW5zaXRpb246XG5cdFx0d2lkdGggMC42cyxcblx0XHRoZWlnaHQgMC42cztcbn1cblxuLm9uYm9hcmRpbmctdmlldyAub25ib2FyZGluZy1idXR0b25zIGJ1dHRvbjphY3RpdmU6OmFmdGVyIHtcblx0d2lkdGg6IDIwMHB4O1xuXHRoZWlnaHQ6IDIwMHB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFNldHRpbmdzIENoZWNrIFN0ZXAgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGVjay1jb250ZW50IHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMS4yZnI7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTYpO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtNCk7XG59XG5cbi8qIEN1cnJlbnQgY29uZmlndXJhdGlvbiBjYXJkICovXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGVjay1jdXJyZW50LWNhcmQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpO1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctc20pO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGVjay1jYXJkLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMyk7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zaXplLTQtMyk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLmNoZWNrLWhlYWRlci1pY29uIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcblx0Zm9udC1zaXplOiAxLjVlbTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuY2hlY2staGVhZGVyLXRpdGxlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdGZsZXg6IDE7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLmNoZWNrLWhlYWRlci10aXRsZSBoMyB7XG5cdG1hcmdpbjogMDtcblx0Zm9udC1zaXplOiAxLjFlbTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuc2V0dGluZ3MtY2hlY2stY2FyZC1ib2R5IHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5jaGVjay1jYXJkLWRlc2Mge1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMyk7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLnNldHRpbmdzLWNoZWNrLWNoYW5nZXMtbGlzdCB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdHBhZGRpbmc6IDA7XG5cdG1hcmdpbjogMDtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLnNldHRpbmdzLWNoZWNrLWNoYW5nZXMtbGlzdCBsaSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5jaGFuZ2UtY2hlY2staWNvbiB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbik7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4vKiBBY3Rpb25zIGNvbnRhaW5lciAqL1xuLm9uYm9hcmRpbmctdmlldyAuc2V0dGluZ3MtY2hlY2stYWN0aW9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xufVxuXG4vKiBBY3Rpb24gY2FyZHMgKi9cbi5vbmJvYXJkaW5nLXZpZXcgLnNldHRpbmdzLWNoZWNrLWFjdGlvbi1jYXJkIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAycHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogdmFyKC0tb25ib2FyZGluZy10cmFuc2l0aW9uKTtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNtKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBTZWxlY3RlZCBjYXJkIHN0YXRlICovXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGVjay1hY3Rpb24tY2FyZC5pcy1zZWxlY3RlZCB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuXHRcdDEzNWRlZyxcblx0XHRyZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjA1KSAwJSxcblx0XHR2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpIDEwMCVcblx0KTtcblx0Ym94LXNoYWRvdzpcblx0XHR2YXIoLS1zaGFkb3ctbWQpLFxuXHRcdDAgMCAwIDNweCByZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjEpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGVjay1hY3Rpb24tY2FyZDpob3ZlciB7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LWxnKTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGVjay1hY3Rpb24tY2FyZDpob3Zlcjo6YmVmb3JlIHtcblx0dHJhbnNmb3JtOiBzY2FsZVgoMSk7XG59XG5cbi8qIFdpemFyZCBjYXJkIChwcmltYXJ5KSAqL1xuLm9uYm9hcmRpbmctdmlldyAuc2V0dGluZ3MtY2hlY2stYWN0aW9uLXdpemFyZCB7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcblx0XHQxMzVkZWcsXG5cdFx0dmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KSAwJSxcblx0XHR2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSkgMTAwJVxuXHQpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGVjay1hY3Rpb24td2l6YXJkOjpiZWZvcmUge1xuXHR0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbn1cblxuLyogS2VlcCBjYXJkIChzZWNvbmRhcnkpICovXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGVjay1hY3Rpb24ta2VlcCB7XG5cdG9wYWNpdHk6IDAuOTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuc2V0dGluZ3MtY2hlY2stYWN0aW9uLWtlZXA6aG92ZXIge1xuXHRvcGFjaXR5OiAxO1xufVxuXG4vKiBBY3Rpb24gY2FyZCBjb250ZW50ICovXG4ub25ib2FyZGluZy12aWV3IC5hY3Rpb24tY2FyZC1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMyk7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLmFjdGlvbi1jYXJkLWljb24ge1xuXHRmb250LXNpemU6IDJlbTtcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS00LTMpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5hY3Rpb24tY2FyZC1jb250ZW50IGgzIHtcblx0bWFyZ2luOiAwIDAgdmFyKC0tc2l6ZS00LTIpIDA7XG5cdGZvbnQtc2l6ZTogMS4yZW07XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLmFjdGlvbi1jYXJkLWNvbnRlbnQgPiBwIHtcblx0bWFyZ2luOiAwIDAgdmFyKC0tc2l6ZS00LTMpIDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0bGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuYWN0aW9uLWNhcmQtZmVhdHVyZXMge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IHZhcigtLXNpemUtNC0zKSAwIDAgMDtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTItMyk7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLmFjdGlvbi1jYXJkLWZlYXR1cmVzIGxpIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjg1ZW07XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLmFjdGlvbi1jYXJkLWZlYXR1cmVzIC5mZWF0dXJlLWljb24ge1xuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLmFjdGlvbi1jYXJkLW5vdGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMykgdmFyKC0tc2l6ZS00LTIpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Zm9udC1zaXplOiAwLjg1ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuYWN0aW9uLWNhcmQtbm90ZSAubm90ZS1pY29uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi8qIFJlc3BvbnNpdmUgYWRqdXN0bWVudHMgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGVjay1jb250ZW50IHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblx0fVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFdlbGNvbWUgU3RlcCAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5vbmJvYXJkaW5nLXZpZXcgLndlbGNvbWUtc2VjdGlvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuZmVhdHVyZXMtb3ZlcnZpZXcge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDI4MHB4LCAxZnIpKTtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMyk7XG5cdG1hcmdpbjogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKSAwO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5mZWF0dXJlLWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLmZlYXR1cmUtaWNvbiB7XG5cdGZvbnQtc2l6ZTogMS41ZW07XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRsaW5lLWhlaWdodDogMTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuc2V0dXAtbm90ZSB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLnNldHVwLWRlc2NyaXB0aW9uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDAuOTVlbTtcblx0bGluZS1oZWlnaHQ6IDEuNTtcblx0bWFyZ2luOiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFVzZXIgTGV2ZWwgU2VsZWN0aW9uICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLm9uYm9hcmRpbmctdmlldyAudXNlci1sZXZlbC1jYXJkcyB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjUwcHgsIDFmcikpO1xuXHRnYXA6IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XG5cdG1hcmdpbjogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKSAwO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC51c2VyLWxldmVsLWNhcmQge1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XG5cdHBhZGRpbmc6IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogdmFyKC0tb25ib2FyZGluZy10cmFuc2l0aW9uKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctc20pO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC51c2VyLWxldmVsLWNhcmQuY2FyZC1ob3ZlciB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbGcpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC51c2VyLWxldmVsLWNhcmQuc2VsZWN0ZWQge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4xKTtcbn1cblxuLnVzZXItbGV2ZWwtY2FyZCAuY2FyZC1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4udXNlci1sZXZlbC1jYXJkIC5jYXJkLWljb24ge1xuXHRmb250LXNpemU6IDEuOGVtO1xuXHRsaW5lLWhlaWdodDogMTtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi51c2VyLWxldmVsLWNhcmQgLmNhcmQtdGl0bGUge1xuXHRtYXJnaW46IDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtc2l6ZTogMS4yZW07XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi51c2VyLWxldmVsLWNhcmQgLmNhcmQtZGVzY3JpcHRpb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG5cdG1hcmdpbjogMCAwIHZhcigtLXNpemUtNC0yKSAwO1xufVxuXG4udXNlci1sZXZlbC1jYXJkIC5jYXJkLWZlYXR1cmVzIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4udXNlci1sZXZlbC1jYXJkIC5jYXJkLWZlYXR1cmVzIHVsIHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNpemUtNC0zKTtcblx0bGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLnVzZXItbGV2ZWwtY2FyZCAuY2FyZC1mZWF0dXJlcyBsaSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDAuODVlbTtcblx0bGluZS1oZWlnaHQ6IDEuNDtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTEpO1xufVxuXG4udXNlci1sZXZlbC1jYXJkIC5jYXJkLWZlYXR1cmVzIGxpOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXHUyMDIyXCI7XG5cdGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IGNhbGMoLTEgKiB2YXIoLS1zaXplLTQtMykpO1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cblxuLnVzZXItbGV2ZWwtY2FyZCAucmVjb21tZW5kYXRpb24tYmFkZ2Uge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRyaWdodDogdmFyKC0tc2l6ZS00LTIpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS00LTEpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGZvbnQtc2l6ZTogMC43ZW07XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogQ29uZmlndXJhdGlvbiBQcmV2aWV3ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLm9uYm9hcmRpbmctdmlldyAuY29uZmlnLW92ZXJ2aWV3IHtcblx0d2lkdGg6IDEwMCU7XG5cdG1heC13aWR0aDogODAwcHg7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLm1vZGUtaWNvbiB7XG5cdC0taWNvbi1zaXplOiB2YXIoLS1zaXplLTQtNCk7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5jb25maWctc2V0dGluZ3Mge1xuXHR3aWR0aDogMTAwJTtcblx0bWF4LXdpZHRoOiA4MDBweDtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuY29uZmlnLWZlYXR1cmVzIHtcblx0d2lkdGg6IDEwMCU7XG5cdG1heC13aWR0aDogODAwcHg7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLmNvbmZpZy12aWV3cyB7XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXgtd2lkdGg6IDgwMHB4O1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5lbmFibGVkLWZlYXR1cmVzLWxpc3Qge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IDA7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5lbmFibGVkLWZlYXR1cmVzLWxpc3QgbGkge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLmZlYXR1cmUtY2hlY2sge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pO1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAudmlld3MtZ3JpZCB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTIwcHgsIDFmcikpO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAudmlldy1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLnZpZXctaWNvbiB7XG5cdGZvbnQtc2l6ZTogMS4yZW07XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAudmlldy1uYW1lIHtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLnNldHRpbmdzLXN1bW1hcnktbGlzdCB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdHBhZGRpbmc6IDA7XG5cdG1hcmdpbjogMDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLnNldHRpbmdzLXN1bW1hcnktbGlzdCBsaSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIDA7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLnNldHRpbmdzLXN1bW1hcnktbGlzdCBsaTpsYXN0LWNoaWxkIHtcblx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuc2V0dGluZy1sYWJlbCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLnNldHRpbmctdmFsdWUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLmNvbmZpZy1vcHRpb25zIHtcblx0d2lkdGg6IDEwMCU7XG5cdG1heC13aWR0aDogODAwcHg7XG5cdG1hcmdpbi10b3A6IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLmN1c3RvbWl6YXRpb24tbm90ZSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXgtd2lkdGg6IDgwMHB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5ub3RlLXRleHQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdG1hcmdpbjogMDtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKiBDb25maWd1cmF0aW9uIENoYW5nZXMgUHJldmlldyAqL1xuLm9uYm9hcmRpbmctdmlldyAuY29uZmlnLWNoYW5nZXMtc3VtbWFyeSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXgtd2lkdGg6IDgwMHB4O1xuXHRtYXJnaW46IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZykgMDtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLnNldHRpbmdzLWNoYW5nZXMge1xuXHRtYXJnaW46IHZhcigtLXNpemUtNC0yKSAwO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAucHJlc2VydmVkLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTEpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMSk7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLnByZXNlcnZlZC1pY29uIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcblx0Zm9udC1zaXplOiAxLjFlbTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuY2hhbmdlLXRleHQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC51cGRhdGVkLXZpZXdzLFxuLm9uYm9hcmRpbmctbW9kYWwgLnVwZGF0ZWQtdmlld3Mge1xuXHRkaXNwbGF5OiBmbGV4O1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5jaGFuZ2UtaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLmNoYW5nZS1pY29uIHtcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGZvbnQtc2l6ZTogMS4xZW07XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS00LTEpO1xuXHRkaXNwbGF5OiBmbGV4O1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGFuZ2VzLWxpc3Qge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IHZhcigtLXNpemUtNC0xKSAwIDAgdmFyKC0tc2l6ZS00LTQpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGFuZ2VzLWxpc3QgbGkge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDAuODVlbTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuc2FmZXR5LW5vdGUge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcblx0YmFja2dyb3VuZDogcmdiYSh2YXIoLS1jb2xvci1ibHVlLXJnYiksIDAuMSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMSk7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLnNhZmV0eS1pY29uIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJsdWUpO1xuXHRmb250LXNpemU6IDEuMWVtO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuc2FmZXR5LXRleHQge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYmx1ZSk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBUYXNrIENyZWF0aW9uIEd1aWRlICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLm9uYm9hcmRpbmctdmlldyAudGFzay1ndWlkZS1pbnRybyB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLmd1aWRlLWRlc2NyaXB0aW9uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDAuOTVlbTtcblx0bGluZS1oZWlnaHQ6IDEuNTtcblx0bWFyZ2luOiAwO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5zaG9ydGN1dHMtc2VjdGlvbiB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLmZvcm1hdC1leGFtcGxlIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTQpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtNCk7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLmZvcm1hdC1leGFtcGxlIGNvZGUge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS00LTEpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XG5cdGZvbnQtc2l6ZTogMC44NWVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW46IHZhcigtLXNpemUtMi0xKSAwO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5mb3JtYXQtbGVnZW5kIHNtYWxsIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTItMSk7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5tZXRhZGF0YS1zeW1ib2xzIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5zdGF0dXMtbGlzdCBsaSxcbi5vbmJvYXJkaW5nLXZpZXcgLnN5bWJvbHMtbGlzdCB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdG1hcmdpbjogMDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuc3RhdHVzLWxpc3QgbGksXG4ub25ib2FyZGluZy12aWV3IC5zeW1ib2xzLWxpc3QgbGkge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgMDtcblx0Zm9udC1zaXplOiAwLjg1ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLnN0YXR1cy1saXN0IGNvZGUge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTQtMSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zaXplLTQtMik7XG5cdG1pbi13aWR0aDogNDBweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5kZW1vLWNvbnRlbnQge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuZGVtby1idXR0b24ge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXI6IG5vbmU7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtNCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJ1dHRvbi1yYWRpdXMpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdHRyYW5zaXRpb246IHZhcigtLW9uYm9hcmRpbmctdHJhbnNpdGlvbik7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuZGVtby1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5wcmFjdGljZS1mZWVkYmFjayB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAudmFsaWRhdGlvbi1tZXNzYWdlIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMSk7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLnZhbGlkYXRpb24tc3VjY2VzcyB7XG5cdGJhY2tncm91bmQ6IHJnYmEodmFyKC0tY29sb3ItZ3JlZW4tcmdiKSwgMC4xKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItZ3JlZW4pO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC52YWxpZGF0aW9uLWVycm9yIHtcblx0YmFja2dyb3VuZDogcmdiYSh2YXIoLS1jb2xvci1yZWQtcmdiKSwgMC4xKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItcmVkKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXJlZCk7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLnZhbGlkYXRpb24td2FybmluZyB7XG5cdGJhY2tncm91bmQ6IHJnYmEodmFyKC0tY29sb3Itb3JhbmdlLXJnYiksIDAuMSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLW9yYW5nZSk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1vcmFuZ2UpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC52YWxpZGF0aW9uLWluZm8ge1xuXHRiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWNvbG9yLWJsdWUtcmdiKSwgMC4xKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYmx1ZSk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ibHVlKTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuc2hvcnRjdXRzLWxpc3Qge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IDA7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5zaG9ydGN1dHMtbGlzdCBsaSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSAwO1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5zaG9ydGN1dHMtbGlzdCBjb2RlIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtNC0yKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNpemUtNC0zKTtcblx0bWluLXdpZHRoOiAxMDBweDtcblx0Zm9udC1zaXplOiAwLjhlbTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBDb21wbGV0aW9uIFBhZ2UgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ub25ib2FyZGluZy12aWV3IC5jb21wbGV0aW9uLXN1Y2Nlc3Mge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLnN1Y2Nlc3MtaWNvbiB7XG5cdGZvbnQtc2l6ZTogM2VtO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLnN1Y2Nlc3MtbWVzc2FnZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjk1ZW07XG5cdG1hcmdpbjogMDtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuZmVlZGJhY2stc2VjdGlvbiB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLmNvbmZpZy1zdW1tYXJ5LWNhcmQge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuY29uZmlnLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMSk7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLmNvbmZpZy1pY29uIHtcblx0Zm9udC1zaXplOiAxLjVlbTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuY29uZmlnLW5hbWUge1xuXHRmb250LXNpemU6IDEuMWVtO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5jb25maWctZGVzY3JpcHRpb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdG1hcmdpbjogMDtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAucXVpY2stc3RhcnQtc3RlcHMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAucXVpY2stc3RhcnQtc3RlcCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLnN0ZXAtbnVtYmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0d2lkdGg6IDI0cHg7XG5cdGhlaWdodDogMjRweDtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLnN0ZXAtY29udGVudCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLm5leHQtc3RlcHMtbGlzdCB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdHBhZGRpbmc6IDA7XG5cdG1hcmdpbjogMDtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAubmV4dC1zdGVwcy1saXN0IGxpIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTEpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5zdGVwLWNoZWNrIHtcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuc3RlcC10ZXh0IHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0bGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAucmVzb3VyY2VzLWxpc3Qge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDIwMHB4LCAxZnIpKTtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLnJlc291cmNlLWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XG5cdHRyYW5zaXRpb246IHZhcigtLW9uYm9hcmRpbmctdHJhbnNpdGlvbik7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLnJlc291cmNlLWNsaWNrYWJsZSB7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAucmVzb3VyY2UtY2xpY2thYmxlOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLnJlc291cmNlLWljb24ge1xuXHRmb250LXNpemU6IDEuNWVtO1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuZmVlZGJhY2stZGVzY3JpcHRpb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdG1hcmdpbjogMCAwIHZhcigtLXNpemUtNC0yKSAwO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5mZWVkYmFjay1idXR0b25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5mZWVkYmFjay1idXR0b24ge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlcjogbm9uZTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC00KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tYnV0dG9uLXJhZGl1cyk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0dHJhbnNpdGlvbjogdmFyKC0tb25ib2FyZGluZy10cmFuc2l0aW9uKTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuZmVlZGJhY2stcG9zaXRpdmU6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ncmVlbik7XG5cdGNvbG9yOiB3aGl0ZTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuZmVlZGJhY2stbmVnYXRpdmU6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1yZWQpO1xuXHRjb2xvcjogd2hpdGU7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLmZlZWRiYWNrLXRoYW5rcyB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLmZlZWRiYWNrLXRoYW5rcy1tZXNzYWdlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0bWFyZ2luOiAwIDAgdmFyKC0tc2l6ZS00LTIpIDA7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLmZlZWRiYWNrLXRoYW5rcyBhIHtcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuZmVlZGJhY2stdGhhbmtzIGE6aG92ZXIge1xuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAuZmluYWwtbWVzc2FnZSB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5maW5hbC1tZXNzYWdlLXRleHQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMWVtO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdG1hcmdpbjogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBSZXNwb25zaXZlIERlc2lnbiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQub25ib2FyZGluZy12aWV3IHtcblx0XHQtLWRpYWxvZy13aWR0aDogOTV2dztcblx0XHQtLWRpYWxvZy1tYXgtd2lkdGg6IDk1dnc7XG5cdFx0LS1kaWFsb2ctbWF4LWhlaWdodDogOTV2aDtcblx0fVxuXG5cdC5vbmJvYXJkaW5nLXZpZXcgLnVzZXItbGV2ZWwtY2FyZHMge1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXHR9XG5cblx0Lm9uYm9hcmRpbmctdmlldyAuZmVhdHVyZXMtb3ZlcnZpZXcge1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXHR9XG5cblx0Lm9uYm9hcmRpbmctdmlldyAudmlld3MtZ3JpZCB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxMDBweCwgMWZyKSk7XG5cdH1cblxuXHQub25ib2FyZGluZy12aWV3IC5yZXNvdXJjZXMtbGlzdCB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cdH1cblxuXHQub25ib2FyZGluZy12aWV3IC5mZWVkYmFjay1idXR0b25zIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHR9XG5cblx0Lm9uYm9hcmRpbmctdmlldyAub25ib2FyZGluZy1idXR0b25zIHtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdH1cblxuXHQvKiBNb2RlIGFuZCBQbGFjZW1lbnQgU2VsZWN0aW9uIC0gTW9iaWxlIExheW91dCAqL1xuXHQubW9kZS1vcHRpb25zLFxuXHQucGxhY2VtZW50LW9wdGlvbnMge1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXHR9XG5cblx0Lm1vZGUtY2FyZC1wcmV2aWV3IHtcblx0XHRoZWlnaHQ6IDEwMHB4O1xuXHR9XG5cblx0LnBsYWNlbWVudC1jYXJkLXByZXZpZXcge1xuXHRcdGhlaWdodDogODBweDtcblx0fVxuXG5cdC5tb2RlLWNhcmQsXG5cdC5wbGFjZW1lbnQtY2FyZCB7XG5cdFx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xuXHR9XG5cblx0LyogSW50cm8gbW9kZSBzZWxlY3Rpb24gLSBNb2JpbGUgYWRqdXN0bWVudHMgKi9cblx0LmludHJvLW1vZGUtc2VsZWN0aW9uLWNvbnRhaW5lciB7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdHBhZGRpbmc6IDAgdmFyKC0tc2l6ZS00LTEpO1xuXHR9XG5cblx0LmludHJvLXR5cGluZyB7XG5cdFx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpIHZhcigtLXNpemUtNC0yKTtcblx0fVxuXG5cdC8qIEZvb3RlciBhZGp1c3RtZW50cyBmb3IgbW9iaWxlICovXG5cdC5vbmJvYXJkaW5nLXZpZXcgLm9uYm9hcmRpbmctZm9vdGVyIHtcblx0XHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMykgdmFyKC0tc2l6ZS00LTIpO1xuXHR9XG5cblx0Lm9uYm9hcmRpbmctdmlldyAub25ib2FyZGluZy1idXR0b25zIHtcblx0XHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0fVxuXG5cdC5vbmJvYXJkaW5nLXZpZXcgLm9uYm9hcmRpbmctYnV0dG9ucyBidXR0b24ge1xuXHRcdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtMyk7XG5cdFx0Zm9udC1zaXplOiAwLjllbTtcblx0fVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIERhcmsgVGhlbWUgQWRqdXN0bWVudHMgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBEYXJrIHRoZW1lIGFkanVzdG1lbnRzIGZvciBmb290ZXIgKi9cbi50aGVtZS1kYXJrIC50aGVtZS1kYXJrIC5vbmJvYXJkaW5nLXZpZXcgLm9uYm9hcmRpbmctZm9vdGVyIHtcblx0Ym94LXNoYWRvdzogMCAtMnB4IDE2cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xufVxuXG4udGhlbWUtZGFyayAudGhlbWUtZGFyayAub25ib2FyZGluZy12aWV3IC5vbmJvYXJkaW5nLWZvb3Rlcjo6YmVmb3JlIHtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjIpLCB0cmFuc3BhcmVudCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogQW5pbWF0aW9uIGFuZCBUcmFuc2l0aW9ucyAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5vbmJvYXJkaW5nLXZpZXcgLm9uYm9hcmRpbmctY29udGVudCB7XG5cdGFuaW1hdGlvbjogZmFkZUluVXAgMC4zcyBlYXNlLW91dDtcbn1cblxuQGtleWZyYW1lcyBmYWRlSW5VcCB7XG5cdGZyb20ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuXHR9XG5cdHRvIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0fVxufVxuXG4ub25ib2FyZGluZy12aWV3IC51c2VyLWxldmVsLWNhcmQuc2VsZWN0ZWQge1xuXHRhbmltYXRpb246IGNhcmRTZWxlY3QgMC4ycyBlYXNlLW91dDtcbn1cblxuQGtleWZyYW1lcyBjYXJkU2VsZWN0IHtcblx0MCUge1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdH1cblx0NTAlIHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMDIpO1xuXHR9XG5cdDEwMCUge1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBNb2RlIFNlbGVjdGlvbiAtIEZsdWVudCB2cyBMZWdhY3kgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ubW9kZS1zZWxlY3Rpb24ge1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xufVxuXG4ubW9kZS1vcHRpb25zIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyODBweCwgMWZyKSk7XG5cdGdhcDogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcblx0bWFyZ2luOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpIDA7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLm1vZGUtY2FyZCB7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcblx0cGFkZGluZzogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiB2YXIoLS1vbmJvYXJkaW5nLXRyYW5zaXRpb24pO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5tb2RlLWNhcmQ6aG92ZXIge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zKTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xufVxuXG4ubW9kZS1jYXJkLmlzLXNlbGVjdGVkIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMik7XG59XG5cbi5tb2RlLWNhcmQtaGVhZGVyIHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xufVxuXG4ubW9kZS1jYXJkLXRpdGxlIHtcblx0Zm9udC1zaXplOiAxLjFlbTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4ubW9kZS1jYXJkLWJvZHkge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5tb2RlLWNhcmQtcHJldmlldyB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMyk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogM2VtO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5tb2RlLWZsdWVudCAubW9kZS1jYXJkLXByZXZpZXcge1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG5cdFx0MTM1ZGVnLFxuXHRcdHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KSAwJSxcblx0XHR2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKSAxMDAlXG5cdCk7XG59XG5cbi5tb2RlLWxlZ2FjeSAubW9kZS1jYXJkLXByZXZpZXcge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLm1vZGUtY2FyZC1kZXNjIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRsaW5lLWhlaWdodDogMS41O1xuXHRtaW4taGVpZ2h0OiAzZW07XG59XG5cbi8qIFNlY3Rpb24gc2hhcmVkIHN0eWxlcyAqL1xuLnNlY3Rpb24tdGl0bGUge1xuXHRmb250LXNpemU6IDEuMjVlbTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5zZWN0aW9uLWRlc2Mge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC45NWVtO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtNCk7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0bGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLm1vZGUtdGlwcyxcbi5wbGFjZW1lbnQtdGlwcyB7XG5cdG1hcmdpbi10b3A6IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5tb2RlLXRpcHMgcCxcbi5wbGFjZW1lbnQtdGlwcyBwIHtcblx0bWFyZ2luOiAwO1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFBsYWNlbWVudCBTZWxlY3Rpb24gLSBTaWRlbGVhdmVzIHZzIElubGluZSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5wbGFjZW1lbnQtc2VsZWN0aW9uIHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcbn1cblxuLnBsYWNlbWVudC1vcHRpb25zIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyODBweCwgMWZyKSk7XG5cdGdhcDogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcblx0bWFyZ2luOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpIDA7XG59XG5cbi5wbGFjZW1lbnQtY2FyZCB7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcblx0cGFkZGluZzogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiB2YXIoLS1vbmJvYXJkaW5nLXRyYW5zaXRpb24pO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5wbGFjZW1lbnQtY2FyZDpob3ZlciB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LXMpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG59XG5cbi5wbGFjZW1lbnQtY2FyZC5pcy1zZWxlY3RlZCB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjIpO1xufVxuXG4ucGxhY2VtZW50LWNhcmQtaGVhZGVyIHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xufVxuXG4ucGxhY2VtZW50LWNhcmQtdGl0bGUge1xuXHRmb250LXNpemU6IDEuMWVtO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5wbGFjZW1lbnQtY2FyZC1ib2R5IHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4ucGxhY2VtZW50LWNhcmQtcHJldmlldyB7XG5cdGhlaWdodDogMTAwcHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMyk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyogVmlzdWFsIHJlcHJlc2VudGF0aW9ucyBmb3IgcGxhY2VtZW50IG1vZGVzICovXG4ucGxhY2VtZW50LXNpZGVsZWF2ZXMgLnBsYWNlbWVudC1jYXJkLXByZXZpZXcge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAyZnIgMWZyO1xuXHRnYXA6IDRweDtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4ucGxhY2VtZW50LXByZXZpZXctY29sIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiAycHg7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuLnBsYWNlbWVudC1wcmV2aWV3LWNvbC5wbGFjZW1lbnQtcHJldmlldy1tYWluIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0b3BhY2l0eTogMC4zO1xufVxuXG4ucGxhY2VtZW50LWlubGluZSAucGxhY2VtZW50LWNhcmQtcHJldmlldyB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLnBsYWNlbWVudC1wcmV2aWV3LXNpbmdsZSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdG9wYWNpdHk6IDAuMztcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4ucGxhY2VtZW50LWNhcmQtZGVzYyB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0bGluZS1oZWlnaHQ6IDEuNTtcblx0bWluLWhlaWdodDogM2VtO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEFJLVN0eWxlIEludHJvIFR5cGluZyBBbmltYXRpb24gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBXcmFwcGVyIHRvIHByZXZlbnQgbGF5b3V0IHNoaWZ0ICovXG4uaW50cm8tdHlwaW5nLXdyYXBwZXIge1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLW9uYm9hcmRpbmctc3BhY2luZykgKiAzKTtcblx0cGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpICogMyk7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLm9uYm9hcmRpbmctY29udGVudC5pbnRyby10eXBpbmctd3JhcHBlciB7XG5cdHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpICogMyk7XG5cdHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKSAqIDMpO1xufVxuXG4uaW50cm8tdHlwaW5nIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTYpIHZhcigtLXNpemUtNC00KTtcblx0dGV4dC1hbGlnbjogbGVmdDtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5pbnRyby1saW5lIHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTQpO1xuXHRsaW5lLWhlaWdodDogMS42O1xufVxuXG4uaW50cm8tbGluZS0xIHtcblx0LyogXCJIaSxcIiAtIExhcmdlIHJlc3BvbnNpdmUgZ3JlZXRpbmcgKi9cblx0Zm9udC1zaXplOiBjbGFtcCgzcmVtLCA2dncsIDVyZW0pO1xuXHRmb250LXdlaWdodDogNzAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG5cdGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbi5pbnRyby1saW5lLTIge1xuXHQvKiBcIlRoYW5rIHlvdSBmb3IgdXNpbmcgVGFzayBHZW5pdXNcIiAtIFNlY29uZGFyeSBncmVldGluZyAqL1xuXHRmb250LXNpemU6IGNsYW1wKDEuNXJlbSwgM3Z3LCAyLjVyZW0pO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtNik7XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi5pbnRyby1saW5lLTMsXG4uaW50cm8tbGluZS00IHtcblx0LyogRGVzY3JpcHRpb24gdGV4dCAtIFJlc3BvbnNpdmUgYm9keSB0ZXh0ICovXG5cdGZvbnQtc2l6ZTogY2xhbXAoMXJlbSwgMnZ3LCAxLjRyZW0pO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC01KTtcblx0dGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmludHJvLWxpbmUtNCB7XG5cdHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLW9uYm9hcmRpbmctc3BhY2luZykgKiA0KTtcbn1cblxuLm9uYm9hcmRpbmctaGVhZGVyID4gLmludHJvLWxpbmUtNCB7XG5cdHBhZGRpbmctdG9wOiAwO1xufVxuXG4vKiBBSS1zdHlsZSBzdHJlYW1pbmcgY2hhcmFjdGVycyAqL1xuLmludHJvLWNoYXIge1xuXHRkaXNwbGF5OiBpbmxpbmU7XG5cdG9wYWNpdHk6IDA7XG5cdGZpbHRlcjogYmx1cig0cHgpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG5cdHRyYW5zaXRpb246XG5cdFx0b3BhY2l0eSAwLjRzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksXG5cdFx0ZmlsdGVyIDAuNHMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSxcblx0XHR0cmFuc2Zvcm0gMC40cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5pbnRyby1jaGFyLXZpc2libGUge1xuXHRvcGFjaXR5OiAxO1xuXHRmaWx0ZXI6IGJsdXIoMHB4KTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG4vKiBTcGFjZSBjaGFyYWN0ZXIgaGFuZGxpbmcgKi9cbi5pbnRyby1jaGFyLXNwYWNlIHtcblx0d2lkdGg6IDAuMjVlbTtcbn1cblxuLyogU3RyZWFtaW5nIGN1cnNvciB0aGF0IGZvbGxvd3MgY2hhcmFjdGVycyAqL1xuLmludHJvLWN1cnNvciB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0bWFyZ2luLWxlZnQ6IDFweDtcblx0b3BhY2l0eTogMC43O1xuXHRhbmltYXRpb246IGN1cnNvckJsaW5rIDFzIGluZmluaXRlO1xuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0dmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5Aa2V5ZnJhbWVzIGN1cnNvckJsaW5rIHtcblx0MCUsXG5cdDQ5JSB7XG5cdFx0b3BhY2l0eTogMC43O1xuXHR9XG5cdDUwJSxcblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxufVxuXG4vKiBDb21wbGV0ZWQgc3RyZWFtIGxpbmUgKi9cbi5zdHJlYW0tY29tcGxldGUge1xuXHRhbmltYXRpb246IHN0cmVhbUNvbXBsZXRlIDAuM3MgZWFzZS1vdXQ7XG59XG5cbkBrZXlmcmFtZXMgc3RyZWFtQ29tcGxldGUge1xuXHQwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXHQ1MCUge1xuXHRcdG9wYWNpdHk6IDAuOTU7XG5cdH1cblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuXG4vKiBGYWRlIG91dCBhbmltYXRpb24gZm9yIHJlbW92aW5nIGxpbmVzICovXG4uaW50cm8tbGluZS1mYWRlb3V0IHtcblx0b3BhY2l0eTogMDtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcblx0dHJhbnNpdGlvbjpcblx0XHRvcGFjaXR5IDAuNXMgZWFzZS1vdXQsXG5cdFx0dHJhbnNmb3JtIDAuNXMgZWFzZS1vdXQ7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vKiBNb2RlIHNlbGVjdGlvbiBjb250YWluZXIgdGhhdCBhcHBlYXJzIGFmdGVyIGludHJvIHR5cGluZyAqL1xuLmludHJvLW1vZGUtc2VsZWN0aW9uLWNvbnRhaW5lciB7XG5cdGFuaW1hdGlvbjogZmFkZUluRnJvbUJvdHRvbSAwLjZzIGVhc2Utb3V0O1xuXHRhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuXHR3aWR0aDogMTAwJTtcbn1cblxuQGtleWZyYW1lcyBmYWRlSW5Gcm9tQm90dG9tIHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG5cdH1cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHR9XG59XG5cbi8qIEVuaGFuY2VkIHJlYWRhYmlsaXR5IG9uIGRpZmZlcmVudCB0aGVtZXMgKi9cbi50aGVtZS1kYXJrIC5pbnRyby1saW5lLTEge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHR0ZXh0LXNoYWRvdzogMCAwIDIwcHggcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4xKTtcbn1cblxuLnRoZW1lLWRhcmsgLmludHJvLWNoYXItdmlzaWJsZSB7XG5cdC8qIFN1YnRsZSBnbG93IGVmZmVjdCBmb3IgZGFyayB0aGVtZSAqL1xuXHR0ZXh0LXNoYWRvdzogMCAwIDhweCByZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjA1KTtcbn1cblxuLyogU21vb3RoIGFwcGVhcmFuY2UgZm9yIHdob2xlIHR5cGluZyBjb250YWluZXIgKi9cbi5pbnRyby10eXBpbmcge1xuXHRhbmltYXRpb246IGZhZGVJblR5cGluZyAwLjVzIGVhc2Utb3V0O1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblR5cGluZyB7XG5cdGZyb20ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xuXHR9XG5cdHRvIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0fVxufVxuXG4vKiBUcmFuc2l0aW9uIG1lc3NhZ2UgY29udGFpbmVyICovXG4uaW50cm8tdHJhbnNpdGlvbi1jb250YWluZXIge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtNCk7XG5cdG1pbi1oZWlnaHQ6IDYwcHg7XG59XG5cbi5pbnRyby10cmFuc2l0aW9uLW1lc3NhZ2Uge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpIHZhcigtLXNpemUtNC00KTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuXHRcdDEzNWRlZyxcblx0XHRyZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjA4KSAwJSxcblx0XHRyZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjAzKSAxMDAlXG5cdCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zbSk7XG5cdHRyYW5zaXRpb246IGFsbCAzMDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xufVxuXG4uaW50cm8tdHJhbnNpdGlvbi1tZXNzYWdlIC50cmFuc2l0aW9uLWljb24ge1xuXHRmb250LXNpemU6IDEuNWVtO1xuXHRmbGV4LXNocmluazogMDtcblx0YW5pbWF0aW9uOiBzcGFya2xlIDEuNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG5cbi5pbnRyby10cmFuc2l0aW9uLW1lc3NhZ2UgLnRyYW5zaXRpb24tdGV4dCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtc2l6ZTogMC45NWVtO1xuXHRsaW5lLWhlaWdodDogMS41O1xufVxuXG5Aa2V5ZnJhbWVzIHNwYXJrbGUge1xuXHQwJSxcblx0MTAwJSB7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cdDUwJSB7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuXHRcdG9wYWNpdHk6IDAuODtcblx0fVxufVxuXG4vKiBDb25maWcgY2hlY2sgdHlwaW5nIGFuaW1hdGlvbiAqL1xuLmNvbmZpZy1jaGVjay10eXBpbmcge1xuXHRtaW4taGVpZ2h0OiAyMDBweDtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5jb25maWctY2hlY2stdHlwaW5nIC5jaGVjay1saW5lIHtcblx0bGluZS1oZWlnaHQ6IDEuNjtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0bWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1zaXplLTQtMik7XG5cdG1hcmdpbi1ibG9jay1lbmQ6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLmNvbmZpZy1jaGVjay10eXBpbmcgLmNoZWNrLWxpbmUtMSB7XG5cdC8qIEZpcnN0IGxpbmUgLSBhdHRlbnRpb24gZ3JhYmJlciAqL1xuXHRmb250LXNpemU6IGNsYW1wKDEuMnJlbSwgMi41dncsIDEuOHJlbSk7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLmNvbmZpZy1jaGVjay10eXBpbmcgLmNoZWNrLWxpbmUtMixcbi5jb25maWctY2hlY2stdHlwaW5nIC5jaGVjay1saW5lLTMge1xuXHQvKiBQcm9ncmVzcyBtZXNzYWdlcyAqL1xuXHRmb250LXNpemU6IGNsYW1wKDFyZW0sIDJ2dywgMS4zcmVtKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRsaW5lLWhlaWdodDogMS41O1xufVxuXG4uY29uZmlnLWNoZWNrLXR5cGluZyAuY2hlY2stbGluZS1yZXN1bHQge1xuXHQvKiBSZXN1bHQgbWVzc2FnZSAtIGhpZ2hsaWdodGVkIGNhcmQgKi9cblx0Zm9udC1zaXplOiBjbGFtcCgxLjFyZW0sIDIuMnZ3LCAxLjZyZW0pO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtNCk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KSB2YXIoLS1zaXplLTQtNSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuXHRcdDEzNWRlZyxcblx0XHRyZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjA1KSAwJSxcblx0XHRyZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjAyKSAxMDAlXG5cdCk7XG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0bGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLmNvbmZpZy1jaGVjay10eXBpbmcgLmNoZWNrLWxpbmUtc3VjY2VzcyB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbik7XG5cdGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbik7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcblx0XHQxMzVkZWcsXG5cdFx0cmdiYSh2YXIoLS1jb2xvci1ncmVlbi1yZ2IpLCAwLjA4KSAwJSxcblx0XHRyZ2JhKHZhcigtLWNvbG9yLWdyZWVuLXJnYiksIDAuMDIpIDEwMCVcblx0KTtcbn1cblxuLmNvbmZpZy1jaGVjay10eXBpbmcgLmNoZWNrLWxpbmUtZnJlc2gge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xuXHRib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIE5ldyBVSSBDb21wb25lbnRzIChzaGFkY24gRGVzaWduKSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qID09PT09IFNlbGVjdGFibGUgQ2FyZCBDb21wb25lbnQgPT09PT0gKi9cbi5zZWxlY3RhYmxlLWNhcmRzLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjgwcHgsIDFmcikpO1xuXHRnYXA6IHZhcigtLXNpemUtNC00KTtcblx0bWFyZ2luOiB2YXIoLS1zaXplLTQtNCkgMDtcbn1cblxuLnNlbGVjdGFibGUtY2FyZHMtY29udGFpbmVyLnVzZXItbGV2ZWwtY2FyZHMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRnYXA6IHZhcigtLXNpemUtNC00KTtcbn1cblxuLnNlbGVjdGFibGUtY2FyZCB7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzLCB2YXIoLS1yYWRpdXMtbSkpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogdmFyKC0tb25ib2FyZGluZy10cmFuc2l0aW9uKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctc20pO1xufVxuXG4uc2VsZWN0YWJsZS1jYXJkOmhvdmVyIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sZyk7XG59XG5cbi5zZWxlY3RhYmxlLWNhcmQuaXMtc2VsZWN0ZWQge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4xKTtcbn1cblxuLnNlbGVjdGFibGUtY2FyZC1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xufVxuXG4uc2VsZWN0YWJsZS1jYXJkLWljb24ge1xuXHRmbGV4LXNocmluazogMDtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0b3BhY2l0eTogMC44O1xufVxuXG4uc2VsZWN0YWJsZS1jYXJkLXRpdGxlLWNvbnRhaW5lciB7XG5cdGZsZXg6IDE7XG59XG5cbi5zZWxlY3RhYmxlLWNhcmQtdGl0bGUge1xuXHRtYXJnaW46IDA7XG5cdGZvbnQtc2l6ZTogMS4xZW07XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5zZWxlY3RhYmxlLWNhcmQtc3VidGl0bGUge1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS0yLTEpO1xuXHRmb250LXNpemU6IDAuODVlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4uc2VsZWN0YWJsZS1jYXJkLWJhZGdlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IHZhcigtLXNpemUtNC0yKTtcblx0cmlnaHQ6IHZhcigtLXNpemUtNC0yKTtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtNC0yKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRmb250LXNpemU6IDAuN2VtO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xufVxuXG4uc2VsZWN0YWJsZS1jYXJkLWJvZHkge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5zZWxlY3RhYmxlLWNhcmQtcHJldmlldyB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMyk7XG5cdG1pbi1oZWlnaHQ6IDEwMHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnNlbGVjdGFibGUtY2FyZC1kZXNjcmlwdGlvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0bGluZS1oZWlnaHQ6IDEuNTtcblx0bWFyZ2luOiAwIDAgdmFyKC0tc2l6ZS00LTIpIDA7XG59XG5cbi5zZWxlY3RhYmxlLWNhcmQtZmVhdHVyZXMge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5zZWxlY3RhYmxlLWNhcmQtZmVhdHVyZXMgdWwge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc2l6ZS00LTMpO1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uc2VsZWN0YWJsZS1jYXJkLWZlYXR1cmVzIGxpIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC44NWVtO1xuXHRsaW5lLWhlaWdodDogMS40O1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMSk7XG59XG5cbi5zZWxlY3RhYmxlLWNhcmQtZmVhdHVyZXMgbGk6YmVmb3JlIHtcblx0Y29udGVudDogXCJcdTIwMjJcIjtcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogY2FsYygtMSAqIHZhcigtLXNpemUtNC0zKSk7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiA9PT09PSBGZWF0dXJlIExpc3QgQ29tcG9uZW50ID09PT09ICovXG4uZmVhdHVyZS1saXN0IHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luOiAwO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLmZlYXR1cmUtaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLmZlYXR1cmUtaXRlbS1pY29uIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcblx0ZmxleC1zaHJpbms6IDA7XG5cdGRpc3BsYXk6IGZsZXg7XG59XG5cbi5mZWF0dXJlLWl0ZW0tdGV4dCB7XG5cdGZsZXg6IDE7XG59XG5cbi8qID09PT09IEJhZGdlIENvbXBvbmVudCA9PT09PSAqL1xuLm9uYm9hcmRpbmctYmFkZ2Uge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtNC0yKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRmb250LXNpemU6IDAuNzVlbTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0bGV0dGVyLXNwYWNpbmc6IDAuMDFlbTtcblx0dHJhbnNpdGlvbjogdmFyKC0tb25ib2FyZGluZy10cmFuc2l0aW9uKTtcbn1cblxuLm9uYm9hcmRpbmctYmFkZ2UtZGVmYXVsdCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4ub25ib2FyZGluZy1iYWRnZS1zdWNjZXNzIHtcblx0YmFja2dyb3VuZDogcmdiYSh2YXIoLS1jb2xvci1ncmVlbi1yZ2IpLCAwLjEpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ncmVlbik7XG59XG5cbi5vbmJvYXJkaW5nLWJhZGdlLXdhcm5pbmcge1xuXHRiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWNvbG9yLW9yYW5nZS1yZ2IpLCAwLjEpO1xuXHRjb2xvcjogdmFyKC0tY29sb3Itb3JhbmdlKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3Itb3JhbmdlKTtcbn1cblxuLm9uYm9hcmRpbmctYmFkZ2UtaW5mbyB7XG5cdGJhY2tncm91bmQ6IHJnYmEodmFyKC0tY29sb3ItYmx1ZS1yZ2IpLCAwLjEpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYmx1ZSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJsdWUpO1xufVxuXG4ub25ib2FyZGluZy1iYWRnZS1hY2NlbnQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXI6IG5vbmU7XG59XG5cbi8qID09PT09IEFsZXJ0IENvbXBvbmVudCA9PT09PSAqL1xuLm9uYm9hcmRpbmctYWxlcnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0dHJhbnNpdGlvbjogdmFyKC0tb25ib2FyZGluZy10cmFuc2l0aW9uKTtcbn1cblxuLm9uYm9hcmRpbmctYWxlcnQtaWNvbiB7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLm9uYm9hcmRpbmctYWxlcnQtY29udGVudCB7XG5cdGZsZXg6IDE7XG59XG5cbi5vbmJvYXJkaW5nLWFsZXJ0LXRpdGxlIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTEpO1xuXHRmb250LXNpemU6IDAuOTVlbTtcbn1cblxuLm9uYm9hcmRpbmctYWxlcnQtbWVzc2FnZSB7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5vbmJvYXJkaW5nLWFsZXJ0LWluZm8ge1xuXHRiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWNvbG9yLWJsdWUtcmdiKSwgMC4xKTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ibHVlKTtcbn1cblxuLm9uYm9hcmRpbmctYWxlcnQtaW5mbyAub25ib2FyZGluZy1hbGVydC1pY29uIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJsdWUpO1xufVxuXG4ub25ib2FyZGluZy1hbGVydC1pbmZvIC5vbmJvYXJkaW5nLWFsZXJ0LXRpdGxlLFxuLm9uYm9hcmRpbmctYWxlcnQtaW5mbyAub25ib2FyZGluZy1hbGVydC1tZXNzYWdlIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJsdWUpO1xufVxuXG4ub25ib2FyZGluZy1hbGVydC1zdWNjZXNzIHtcblx0YmFja2dyb3VuZDogcmdiYSh2YXIoLS1jb2xvci1ncmVlbi1yZ2IpLCAwLjEpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcbn1cblxuLm9uYm9hcmRpbmctYWxlcnQtc3VjY2VzcyAub25ib2FyZGluZy1hbGVydC1pY29uIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcbn1cblxuLm9uYm9hcmRpbmctYWxlcnQtc3VjY2VzcyAub25ib2FyZGluZy1hbGVydC10aXRsZSxcbi5vbmJvYXJkaW5nLWFsZXJ0LXN1Y2Nlc3MgLm9uYm9hcmRpbmctYWxlcnQtbWVzc2FnZSB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbik7XG59XG5cbi5vbmJvYXJkaW5nLWFsZXJ0LXdhcm5pbmcge1xuXHRiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWNvbG9yLW9yYW5nZS1yZ2IpLCAwLjEpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLW9yYW5nZSk7XG59XG5cbi5vbmJvYXJkaW5nLWFsZXJ0LXdhcm5pbmcgLm9uYm9hcmRpbmctYWxlcnQtaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1vcmFuZ2UpO1xufVxuXG4ub25ib2FyZGluZy1hbGVydC13YXJuaW5nIC5vbmJvYXJkaW5nLWFsZXJ0LXRpdGxlLFxuLm9uYm9hcmRpbmctYWxlcnQtd2FybmluZyAub25ib2FyZGluZy1hbGVydC1tZXNzYWdlIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLW9yYW5nZSk7XG59XG5cbi5vbmJvYXJkaW5nLWFsZXJ0LWVycm9yIHtcblx0YmFja2dyb3VuZDogcmdiYSh2YXIoLS1jb2xvci1yZWQtcmdiKSwgMC4xKTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1yZWQpO1xufVxuXG4ub25ib2FyZGluZy1hbGVydC1lcnJvciAub25ib2FyZGluZy1hbGVydC1pY29uIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXJlZCk7XG59XG5cbi5vbmJvYXJkaW5nLWFsZXJ0LWVycm9yIC5vbmJvYXJkaW5nLWFsZXJ0LXRpdGxlLFxuLm9uYm9hcmRpbmctYWxlcnQtZXJyb3IgLm9uYm9hcmRpbmctYWxlcnQtbWVzc2FnZSB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1yZWQpO1xufVxuXG4vKiA9PT09PSBQcm9ncmVzcyBEb3RzIENvbXBvbmVudCA9PT09PSAqL1xuLnByb2dyZXNzLWRvdHMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1hcmdpbjogdmFyKC0tc2l6ZS00LTMpIDA7XG59XG5cbi5wcm9ncmVzcy1kb3Qtd3JhcHBlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTEpO1xufVxuXG4ucHJvZ3Jlc3MtZG90IHtcblx0d2lkdGg6IDhweDtcblx0aGVpZ2h0OiA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHR0cmFuc2l0aW9uOiB2YXIoLS1vbmJvYXJkaW5nLXRyYW5zaXRpb24pO1xufVxuXG4ucHJvZ3Jlc3MtZG90LmlzLWFjdGl2ZSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdHRyYW5zZm9ybTogc2NhbGUoMS41KTtcblx0Ym94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMik7XG59XG5cbi5wcm9ncmVzcy1kb3QuaXMtY29tcGxldGVkIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0b3BhY2l0eTogMC42O1xufVxuXG4ucHJvZ3Jlc3MtZG90LWxhYmVsIHtcblx0Zm9udC1zaXplOiAwLjdlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuIiwgIi8qIE5vaXNlIExheWVyIEVmZmVjdCAqL1xuLnRnLW5vaXNlLWxheWVyIHtcblx0cG9zaXRpb246IGZpeGVkO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRsZWZ0OiAwO1xuXHR0b3A6IDA7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4udGctbm9pc2UtbGF5ZXI6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0b3BhY2l0eTogMC4yNTtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHdpZHRoPVwiMTkwMVwiIGhlaWdodD1cIjk2MVwiIHZpZXdCb3g9XCIwIDAgMTkwMSA5NjFcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48ZyBvcGFjaXR5PVwiMC4yNVwiIGZpbHRlcj1cInVybCglMjNmaWx0ZXIwX25fMV8yKVwiPjxyZWN0IHdpZHRoPVwiMTkwMVwiIGhlaWdodD1cIjk2MVwiIGZpbGw9XCIlMjNFRkVGRUZcIi8+PC9nPjxkZWZzPjxmaWx0ZXIgaWQ9XCJmaWx0ZXIwX25fMV8yXCIgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiMTkwMVwiIGhlaWdodD1cIjk2MVwiIGZpbHRlclVuaXRzPVwidXNlclNwYWNlT25Vc2VcIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9XCJzUkdCXCI+PGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT1cIjBcIiByZXN1bHQ9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIi8+PGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluPVwiU291cmNlR3JhcGhpY1wiIGluMj1cIkJhY2tncm91bmRJbWFnZUZpeFwiIHJlc3VsdD1cInNoYXBlXCIvPjxmZVR1cmJ1bGVuY2UgdHlwZT1cImZyYWN0YWxOb2lzZVwiIGJhc2VGcmVxdWVuY3k9XCIxLjI1IDEuMjVcIiBzdGl0Y2hUaWxlcz1cInN0aXRjaFwiIG51bU9jdGF2ZXM9XCIzXCIgcmVzdWx0PVwibm9pc2VcIiBzZWVkPVwiNTMzOVwiIC8+PGZlQ29sb3JNYXRyaXggaW49XCJub2lzZVwiIHR5cGU9XCJsdW1pbmFuY2VUb0FscGhhXCIgcmVzdWx0PVwiYWxwaGFOb2lzZVwiIC8+PGZlQ29tcG9uZW50VHJhbnNmZXIgaW49XCJhbHBoYU5vaXNlXCIgcmVzdWx0PVwiY29sb3JlZE5vaXNlMVwiPjxmZUZ1bmNBIHR5cGU9XCJkaXNjcmV0ZVwiIHRhYmxlVmFsdWVzPVwiMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCBcIi8+PC9mZUNvbXBvbmVudFRyYW5zZmVyPjxmZUNvbXBvc2l0ZSBvcGVyYXRvcj1cImluXCIgaW4yPVwic2hhcGVcIiBpbj1cImNvbG9yZWROb2lzZTFcIiByZXN1bHQ9XCJub2lzZTFDbGlwcGVkXCIgLz48ZmVGbG9vZCBmbG9vZC1jb2xvcj1cInJnYmEoMCwgMCwgMCwgMC4yNSlcIiByZXN1bHQ9XCJjb2xvcjFGbG9vZFwiIC8+PGZlQ29tcG9zaXRlIG9wZXJhdG9yPVwiaW5cIiBpbjI9XCJub2lzZTFDbGlwcGVkXCIgaW49XCJjb2xvcjFGbG9vZFwiIHJlc3VsdD1cImNvbG9yMVwiIC8+PGZlTWVyZ2UgcmVzdWx0PVwiZWZmZWN0MV9ub2lzZV8xXzJcIj48ZmVNZXJnZU5vZGUgaW49XCJzaGFwZVwiIC8+PGZlTWVyZ2VOb2RlIGluPVwiY29sb3IxXCIgLz48L2ZlTWVyZ2U+PC9maWx0ZXI+PC9kZWZzPjwvc3ZnPicpO1xuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdHotaW5kZXg6IDE7XG59XG5cbi50Zy1ub2lzZS1sYXllciA+ICoge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDI7XG59XG4iLCAiLnRnLWNoYW5nZWxvZy12aWV3IHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTYpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtNC00KTtcbn1cblxuLnRnLWNoYW5nZWxvZy1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtMik7XG59XG5cbi50Zy1jaGFuZ2Vsb2ctaGVhZGVyIGgyIHtcblx0bWFyZ2luOiAwO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbGFyZ2UpO1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuXG4udGctY2hhbmdlbG9nLW1ldGEge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtMik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcbn1cblxuLnRnLWNoYW5nZWxvZy1tZXRhIGEge1xuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4udGctY2hhbmdlbG9nLW1ldGEgYTpob3ZlciB7XG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4udGctY2hhbmdlbG9nLWJvZHkge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi50Zy1jaGFuZ2Vsb2ctZXJyb3Ige1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi50Zy1jaGFuZ2Vsb2ctYm9keSBoMSxcbi50Zy1jaGFuZ2Vsb2ctYm9keSBoMixcbi50Zy1jaGFuZ2Vsb2ctYm9keSBoMyB7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWludGVyZmFjZSwgaW5oZXJpdCk7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC00KTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xuXHRsaW5lLWhlaWdodDogMS4zO1xufVxuXG4udGctY2hhbmdlbG9nLWJvZHkgaDEge1xuXHRmb250LXNpemU6IDEuNjVyZW07XG59XG5cbi50Zy1jaGFuZ2Vsb2ctYm9keSBoMiB7XG5cdGZvbnQtc2l6ZTogMS4zNXJlbTtcbn1cblxuLnRnLWNoYW5nZWxvZy1ib2R5IGgyOm5vdCg6Zmlyc3QtY2hpbGQpIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTgpO1xufVxuXG4udGctY2hhbmdlbG9nLWJvZHkgaDMge1xuXHRmb250LXNpemU6IDEuMTVyZW07XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS0yKTtcbn1cblxuLnRnLWNoYW5nZWxvZy1ib2R5IGgzOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlwiO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHdpZHRoOiAxcmVtO1xuXHRoZWlnaHQ6IDFyZW07XG5cdGJvcmRlci1yYWRpdXM6IDJweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xuXHRmbGV4OiAwIDAgYXV0bztcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi50Zy1jaGFuZ2Vsb2ctYm9keSBoM1tkYXRhLWhlYWRpbmdePVwiQnVnIEZpeGVzXCJdOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1yZWQsICNlMDZjNzUpO1xufVxuXG4udGctY2hhbmdlbG9nLWJvZHkgaDNbZGF0YS1oZWFkaW5nXj1cIkZlYXR1cmVzXCJdOjpiZWZvcmUsXG4udGctY2hhbmdlbG9nLWJvZHkgaDNbZGF0YS1oZWFkaW5nXj1cIk5ld1wiXTo6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItY3lhbiwgIzU2YjZjMik7XG59XG5cbi50Zy1jaGFuZ2Vsb2ctYm9keSBoM1tkYXRhLWhlYWRpbmdePVwiSW1wcm92ZW1lbnRzXCJdOjpiZWZvcmUsXG4udGctY2hhbmdlbG9nLWJvZHkgaDNbZGF0YS1oZWFkaW5nXj1cIkVuaGFuY2VtZW50c1wiXTo6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3IteWVsbG93LCAjZDE5YTY2KTtcbn1cblxuLnRnLWNoYW5nZWxvZy1ib2R5IGgzW2RhdGEtaGVhZGluZ149XCJQZXJmb3JtYW5jZVwiXTo6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4sICM5OGMzNzkpO1xufVxuXG4udGctY2hhbmdlbG9nLWJvZHkgcCArIGgxLFxuLnRnLWNoYW5nZWxvZy1ib2R5IHAgKyBoMixcbi50Zy1jaGFuZ2Vsb2ctYm9keSBwICsgaDMge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtNik7XG59XG4iLCAiLyogVGltZWxpbmUgU2lkZWJhciBWaWV3IFN0eWxlcyAqL1xuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLXNpZGViYXItY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0aGVpZ2h0OiAxMDAlO1xuXHR3aWR0aDogMTAwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaW50ZXJmYWNlKTtcblx0cGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG4vKiBIZWFkZXIgKi9cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKSB2YXIoLS1zaXplLTQtNCk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcblx0XHQxMzVkZWcsXG5cdFx0dmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpIDAlLFxuXHRcdHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpIDEwMCVcblx0KTtcblx0ZmxleC1zaHJpbms6IDA7XG5cdGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcblx0LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS10aXRsZSB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWNvbnRyb2xzIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1idG4ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IHZhcigtLXNpemUtNC04KTtcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtOCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtYnRuOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1idG4uaXMtYWN0aXZlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLyogVGltZWxpbmUgQ29udGVudCAqL1xuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWNvbnRlbnQge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgMDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxuLnRpbWVsaW5lLWNvbnRlbnQuZm9jdXMtbW9kZVxuLnRpbWVsaW5lLWRhdGUtZ3JvdXA6bm90KC5pcy10b2RheSkge1xuXHRvcGFjaXR5OiAwLjM7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZW1wdHkge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0aGVpZ2h0OiAxMDAlO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtOCk7XG59XG5cbi8qIERhdGUgR3JvdXBzICovXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZGF0ZS1ncm91cCB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1kYXRlLWdyb3VwLmlzLXRvZGF5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdG1hcmdpbjogMCB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTIpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWRhdGUtaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTQpO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG5cdHBvc2l0aW9uOiBzdGlja3k7XG5cdHRvcDogMDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0ei1pbmRleDogMTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cbi50aW1lbGluZS1kYXRlLWdyb3VwLmlzLXRvZGF5XG4udGltZWxpbmUtZGF0ZS1oZWFkZXIge1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdG1hcmdpbjogMCAwIHZhcigtLXNpemUtNC0yKSAwO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZGF0ZS1yZWxhdGl2ZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4vKiBFdmVudHMgTGlzdCAqL1xuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50cy1saXN0IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTItMSk7XG5cdHBhZGRpbmc6IDAgdmFyKC0tc2l6ZS0yLTMpO1xufVxuXG4vKiBUaW1lbGluZSBFdmVudHMgKi9cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQ6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxuLnRpbWVsaW5lLWV2ZW50OmhvdmVyOmhhcygudGltZWxpbmUtZXZlbnQtY2hlY2tib3g6aG92ZXIpIHtcblx0dHJhbnNmb3JtOiBub25lO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQuaXMtY29tcGxldGVkIHtcblx0b3BhY2l0eTogMC42O1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxuLnRpbWVsaW5lLWV2ZW50LmlzLWNvbXBsZXRlZFxuLnRpbWVsaW5lLWV2ZW50LXRleHQge1xuXHR0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4vKiBFdmVudCBUaW1lICovXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQtdGltZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xuXHRtaW4td2lkdGg6IDQ1cHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0bWFyZ2luLXRvcDogMnB4O1xuXHRmbGV4LXNocmluazogMDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0xKSB2YXIoLS1zaXplLTQtMik7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyogRW5oYW5jZWQgdGltZSBkaXNwbGF5IHN0eWxlcyAqL1xuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LXRpbWUudGltZWxpbmUtZXZlbnQtdGltZS1zaW5nbGUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQtdGltZS50aW1lbGluZS1ldmVudC10aW1lLXJhbmdlIHtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KSAwJSwgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKSAxMDAlKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0bWluLXdpZHRoOiA4MHB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGFuaW1hdGlvbjogc3VidGxlLXB1bHNlIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQtdGltZS50aW1lbGluZS1ldmVudC10aW1lLXJhbmdlOjphZnRlciB7XG5cdGNvbnRlbnQ6IFwiXHUyM0YxXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAtNnB4O1xuXHRyaWdodDogLTZweDtcblx0Zm9udC1zaXplOiAxMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXItcmFkaXVzOiA5OTlweDtcblx0bWluLXdpZHRoOiAxOHB4O1xuXHRoZWlnaHQ6IDE2cHg7XG5cdHBhZGRpbmc6IDAgNHB4O1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMik7XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vKiBXaGVuIGR1cmF0aW9uIGlzIHByb3ZpZGVkLCBzaG93IGl0IGluc3RlYWQgb2YgdGhlIGljb24gKi9cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC10aW1lLnRpbWVsaW5lLWV2ZW50LXRpbWUtcmFuZ2VbZGF0YS1kdXJhdGlvbl06OmFmdGVyIHtcblx0Y29udGVudDogYXR0cihkYXRhLWR1cmF0aW9uKTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LXRpbWUudGltZWxpbmUtZXZlbnQtdGltZS1kZWZhdWx0IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC10aW1lLnRpbWVsaW5lLWV2ZW50LXRpbWUtZ3JvdXAge1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS10ZXh0LWFjY2VudCkgMCUsIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCkgMTAwJSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdG1pbi13aWR0aDogNjBweDtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LXRpbWUudGltZWxpbmUtZXZlbnQtdGltZS1kYXRlLW9ubHkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdG1pbi13aWR0aDogNjBweDtcbn1cblxuLyogVGltZSBHcm91cCBTdHlsZXMgKi9cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS10aW1lLWdyb3VwIHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtdGltZS1ncm91cC1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC0zKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS10aW1lLWdyb3VwLWNvdW50IHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS10aW1lLWdyb3VwLWV2ZW50cyB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LnRpbWVsaW5lLWV2ZW50LWdyb3VwZWQge1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC50aW1lbGluZS1ldmVudC1ncm91cGVkOmxhc3QtY2hpbGQge1xuXHRtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiBEYXRlLW9ubHkgRXZlbnRzIFNlY3Rpb24gKi9cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1kYXRlLW9ubHktc2VjdGlvbiB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC00KTtcblx0cGFkZGluZy10b3A6IHZhcigtLXNpemUtNC0zKTtcblx0Ym9yZGVyLXRvcDogMnB4IGRhc2hlZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cblxuLyogSGlkZSBwZXItZXZlbnQgdGltZSBsYWJlbHMgaW5zaWRlIEFsbCBkYXkgc2VjdGlvbiBhcyBzYWZldHkgbmV0ICovXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZGF0ZS1vbmx5LXNlY3Rpb24gLnRpbWVsaW5lLWV2ZW50IC50aW1lbGluZS1ldmVudC10aW1lIHtcblx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZGF0ZS1vbmx5LWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtMyk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1kYXRlLW9ubHktdGl0bGUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyogRXZlbnQgQ29udGVudCAqL1xuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LWNvbnRlbnQge1xuXHRmbGV4OiAxO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdG1pbi13aWR0aDogMDtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LWNoZWNrYm94IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0bWFyZ2luLXRvcDogMnB4O1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxuLnRpbWVsaW5lLWV2ZW50LWNoZWNrYm94XG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuXHRtYXJnaW46IDA7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LXRleHQge1xuXHRmbGV4OiAxO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRsaW5lLWhlaWdodDogMS40O1xuXHR3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LWljb24ge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcblx0ZmxleC1zaHJpbms6IDA7XG5cdG1hcmdpbi10b3A6IDFweDtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LWNvbnRlbnQtdGV4dCB7XG5cdGZsZXg6IDE7XG5cdHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG59XG5cbi8qIEV2ZW50IEFjdGlvbnMgKi9cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC1hY3Rpb25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMSk7XG5cdG9wYWNpdHk6IDA7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxuLnRpbWVsaW5lLWV2ZW50OmhvdmVyXG4udGltZWxpbmUtZXZlbnQtYWN0aW9ucyB7XG5cdG9wYWNpdHk6IDE7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC1hY3Rpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IHZhcigtLXNpemUtNC02KTtcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtNik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQtYWN0aW9uOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4vKiBRdWljayBJbnB1dCBBcmVhICovXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtcXVpY2staW5wdXQge1xuXHRmbGV4LXNocmluazogMDtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc2l6ZS00LTEyKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR0cmFuc2l0aW9uOiBhbGwgMzAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogQ29sbGFwc2VkIHN0YXRlICovXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtcXVpY2staW5wdXQuaXMtY29sbGFwc2VkIHtcblx0cGFkZGluZzogMDtcblx0Z2FwOiAwO1xuXHRoZWlnaHQ6IGF1dG87XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXG4udGltZWxpbmUtcXVpY2staW5wdXQuaXMtY29sbGFwc2VkXG4ucXVpY2staW5wdXQtaGVhZGVyLFxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cbi50aW1lbGluZS1xdWljay1pbnB1dC5pcy1jb2xsYXBzZWRcbi5xdWljay1pbnB1dC1lZGl0b3IsXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxuLnRpbWVsaW5lLXF1aWNrLWlucHV0LmlzLWNvbGxhcHNlZFxuLnF1aWNrLWlucHV0LWFjdGlvbnMge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4vKiBBbmltYXRpb24gc3RhdGVzICovXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtcXVpY2staW5wdXQuaXMtY29sbGFwc2luZyB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1xdWljay1pbnB1dC5pcy1leHBhbmRpbmcge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBDb2xsYXBzZWQgaGVhZGVyICovXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtaGVhZGVyLWNvbGxhcHNlZCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpIHZhcigtLXNpemUtNC00KTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjAwbXMgZWFzZTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWlucHV0LWhlYWRlci1jb2xsYXBzZWQ6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLmNvbGxhcHNlZC1leHBhbmQtYnRuIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtNik7XG5cdGhlaWdodDogdmFyKC0tc2l6ZS00LTYpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0dHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLmNvbGxhcHNlZC1leHBhbmQtYnRuOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAuY29sbGFwc2VkLXRpdGxlIHtcblx0ZmxleDogMTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLmNvbGxhcHNlZC1xdWljay1hY3Rpb25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5jb2xsYXBzZWQtcXVpY2stY2FwdHVyZSxcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5jb2xsYXBzZWQtbW9yZS1vcHRpb25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtNyk7XG5cdGhlaWdodDogdmFyKC0tc2l6ZS00LTcpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLmNvbGxhcHNlZC1xdWljay1jYXB0dXJlOmhvdmVyLFxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLmNvbGxhcHNlZC1tb3JlLW9wdGlvbnM6aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5jb2xsYXBzZWQtcXVpY2stY2FwdHVyZTpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4vKiBFeHBhbmRlZCBoZWFkZXIgd2l0aCBjb2xsYXBzZSBidXR0b24gKi9cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtaGVhZGVyLWxlZnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWlucHV0LWNvbGxhcHNlLWJ0biB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogdmFyKC0tc2l6ZS00LTYpO1xuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC02KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC1jb2xsYXBzZS1idG46aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi8qIFJvdGF0ZSBjb2xsYXBzZSBidXR0b24gaWNvbiAqL1xuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWlucHV0LWNvbGxhcHNlLWJ0biBzdmcge1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMgZWFzZTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cbi50aW1lbGluZS1xdWljay1pbnB1dC5pcy1jb2xsYXBzZWRcbi5xdWljay1pbnB1dC1jb2xsYXBzZS1idG5cbnN2ZyB7XG5cdHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC10aXRsZSB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC10YXJnZXQtaW5mbyB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0xKSB2YXIoLS1zaXplLTQtMik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWlucHV0LWVkaXRvciB7XG5cdG1pbi1oZWlnaHQ6IDgwcHg7XG5cdGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXRleHQpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRyZXNpemU6IHZlcnRpY2FsO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtZWRpdG9yOmZvY3VzLXdpdGhpbiB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMik7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC1lZGl0b3IgLmNtLWVkaXRvciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRib3JkZXI6IG5vbmU7XG5cdG91dGxpbmU6IG5vbmU7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC1lZGl0b3IgLmNtLWZvY3VzZWQge1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxuLnF1aWNrLWlucHV0LWVkaXRvclxuLmNtLWVkaXRvci5jbS1mb2N1c2VkIHtcblx0b3V0bGluZTogbm9uZTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWlucHV0LWFjdGlvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWNhcHR1cmUtYnRuLFxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLW1vZGFsLWJ0biB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKSB2YXIoLS1zaXplLTQtNik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXI6IG5vbmU7XG5cdHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG5cdGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1jYXB0dXJlLWJ0biB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1jYXB0dXJlLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcblx0Ym94LXNoYWRvdzogMCA0cHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1tb2RhbC1idG4ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1tb2RhbC1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcblx0Ym94LXNoYWRvdzogMCA0cHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG59XG5cbi8qIFJlc3BvbnNpdmUgRGVzaWduICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0ZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWhlYWRlciB7XG5cdFx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC0zKTtcblx0fVxuXG5cdGRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1jb250cm9scyB7XG5cdFx0Z2FwOiB2YXIoLS1zaXplLTQtMSk7XG5cdH1cblxuXHRkaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtYnRuIHtcblx0XHR3aWR0aDogdmFyKC0tc2l6ZS00LTcpO1xuXHRcdGhlaWdodDogdmFyKC0tc2l6ZS00LTcpO1xuXHR9XG5cblx0ZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50cy1saXN0IHtcblx0XHRwYWRkaW5nOiAwIHZhcigtLXNpemUtMi0zKTtcblx0fVxuXG5cdGRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudCB7XG5cdFx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHR9XG5cblx0ZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLXF1aWNrLWlucHV0IHtcblx0XHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XG5cdH1cblxuXHRkaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxuXHQudGltZWxpbmUtcXVpY2staW5wdXQuaXMtY29sbGFwc2VkIHtcblx0XHRwYWRkaW5nOiAwO1xuXHR9XG5cblx0ZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWlucHV0LWVkaXRvciB7XG5cdFx0bWluLWhlaWdodDogNjBweDtcblx0fVxuXG5cdGRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC1oZWFkZXItY29sbGFwc2VkIHtcblx0XHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTMpO1xuXHR9XG5cblx0ZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLmNvbGxhcHNlZC1xdWljay1jYXB0dXJlLFxuXHRkaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAuY29sbGFwc2VkLW1vcmUtb3B0aW9ucyB7XG5cdFx0d2lkdGg6IHZhcigtLXNpemUtNC02KTtcblx0XHRoZWlnaHQ6IHZhcigtLXNpemUtNC02KTtcblx0fVxufVxuXG4vKiBTY3JvbGxiYXIgU3R5bGluZyAqL1xuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cbi50aW1lbGluZS1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhciB7XG5cdHdpZHRoOiA2cHg7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXG4udGltZWxpbmUtY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXG4udGltZWxpbmUtY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cbi50aW1lbGluZS1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLyogQW5pbWF0aW9uICovXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG5cdGZyb20ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xuXHR9XG5cdHRvIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIHN1YnRsZS1wdWxzZSB7XG5cdDAlLCAxMDAlIHtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuNCk7XG5cdH1cblx0NTAlIHtcblx0XHRib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4xKTtcblx0fVxufVxuXG4vKiBGb2N1cyBNb2RlICovXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtY29udGVudC5mb2N1cy1tb2RlIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxuLnRpbWVsaW5lLWNvbnRlbnQuZm9jdXMtbW9kZTo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHRib3R0b206IDA7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcblx0XHR0byBib3R0b20sXG5cdFx0cmdiYSh2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktcmdiKSwgMC45KSAwJSxcblx0XHRyZ2JhKHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1yZ2IpLCAwLjcpIDUwJSxcblx0XHRyZ2JhKHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1yZ2IpLCAwLjkpIDEwMCVcblx0KTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdHotaW5kZXg6IDA7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXG4udGltZWxpbmUtY29udGVudC5mb2N1cy1tb2RlXG4udGltZWxpbmUtZGF0ZS1ncm91cC5pcy10b2RheSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMTtcbn1cblxuLyogTWFya2Rvd24gcmVuZGVyZXIgc3R5bGVzIGluIHRpbWVsaW5lIGV2ZW50cyAqL1xuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cbi50aW1lbGluZS1ldmVudC1jb250ZW50LXRleHRcbi5tYXJrZG93bi1ibG9jayB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0Zm9udC1zaXplOiBpbmhlcml0O1xuXHRsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cbi50aW1lbGluZS1ldmVudC1jb250ZW50LXRleHRcbi5tYXJrZG93bi1ibG9ja1xucCB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0Zm9udC1zaXplOiBpbmhlcml0O1xuXHRsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cbi50aW1lbGluZS1ldmVudC1jb250ZW50LXRleHRcbi5tYXJrZG93bi1ibG9ja1xuc3Ryb25nLFxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cbi50aW1lbGluZS1ldmVudC1jb250ZW50LXRleHRcbi5tYXJrZG93bi1ibG9ja1xuZW0sXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxuLnRpbWVsaW5lLWV2ZW50LWNvbnRlbnQtdGV4dFxuLm1hcmtkb3duLWJsb2NrXG5jb2RlIHtcblx0Zm9udC1zaXplOiBpbmhlcml0O1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxuLnRpbWVsaW5lLWV2ZW50LWNvbnRlbnQtdGV4dFxuLm1hcmtkb3duLWJsb2NrXG5hIHtcblx0Y29sb3I6IHZhcigtLWxpbmstY29sb3IpO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXG4udGltZWxpbmUtZXZlbnQtY29udGVudC10ZXh0XG4ubWFya2Rvd24tYmxvY2tcbmE6aG92ZXIge1xuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cbi50aW1lbGluZS1ldmVudC1jb250ZW50LXRleHRcbi5tYXJrZG93bi1ibG9ja1xudWwsXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxuLnRpbWVsaW5lLWV2ZW50LWNvbnRlbnQtdGV4dFxuLm1hcmtkb3duLWJsb2NrXG5vbCB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zaXplLTQtNCk7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXG4udGltZWxpbmUtZXZlbnQtY29udGVudC10ZXh0XG4ubWFya2Rvd24tYmxvY2tcbmxpIHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xufVxuIiwgIi8qIFN0eWxlcyBmb3IgdGhlIFJld2FyZCBNb2RhbCAqL1xuLnJld2FyZC1tb2RhbC1jb250ZW50IHtcblx0dGV4dC1hbGlnbjogY2VudGVyOyAvKiBDZW50ZXIgYWxpZ24gY29udGVudCAqL1xufVxuXG4ucmV3YXJkLW1vZGFsIC5tb2RhbC10aXRsZSB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnJld2FyZC1uYW1lIHtcblx0Zm9udC1zaXplOiAxLjJlbTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbi5yZXdhcmQtaW1hZ2UtY29udGFpbmVyIHtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0ZGlzcGxheTogZmxleDsgLyogVXNlIGZsZXhib3ggZm9yIGNlbnRlcmluZyAqL1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgLyogQ2VudGVyIGhvcml6b250YWxseSAqL1xuXHRhbGlnbi1pdGVtczogY2VudGVyOyAvKiBDZW50ZXIgdmVydGljYWxseSAqL1xufVxuXG4ucmV3YXJkLWltYWdlIHtcblx0bWF4LXdpZHRoOiA4MCU7IC8qIExpbWl0IGltYWdlIHdpZHRoICovXG5cdG1heC1oZWlnaHQ6IDMwMHB4OyAvKiBMaW1pdCBpbWFnZSBoZWlnaHQgKi9cblx0Ym9yZGVyLXJhZGl1czogOHB4OyAvKiBPcHRpb25hbDogYWRkIHJvdW5kZWQgY29ybmVycyAqL1xuXHRib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEpOyAvKiBPcHRpb25hbDogYWRkIHN1YnRsZSBzaGFkb3cgKi9cbn1cblxuLnJld2FyZC1pbWFnZS1lcnJvciB7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyAvKiBVc2UgT2JzaWRpYW4ncyBtdXRlZCB0ZXh0IGNvbG9yICovXG59XG5cbi5yZXdhcmQtc3BhY2VyIHtcblx0aGVpZ2h0OiAyMHB4OyAvKiBBZGQgc29tZSBzcGFjZSBiZWZvcmUgdGhlIGJ1dHRvbnMgKi9cbn1cblxuLyogU3R5bGUgdGhlIGJ1dHRvbnMgd2l0aGluIHRoZSBtb2RhbCAqL1xuLnRhc2stZ2VuaXVzLXJld2FyZC1tb2RhbCAuc2V0dGluZy1pdGVtLWNvbnRyb2wge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgLyogQ2VudGVyIGJ1dHRvbnMgKi9cblx0Z2FwOiAxMHB4OyAvKiBBZGQgc3BhY2UgYmV0d2VlbiBidXR0b25zICovXG59XG4iLCAiLm1hcmtkb3duLXNvdXJjZS12aWV3Lm1vZC1jbTYgLmNtLWd1dHRlcnMudGFzay1ndXR0ZXIge1xuXHRtYXJnaW4taW5saW5lLWVuZDogMCAhaW1wb3J0YW50O1xuXHRtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1maWxlLWZvbGRpbmctb2Zmc2V0KTtcbn1cblxuLmlzLW1vYmlsZSAubWFya2Rvd24tc291cmNlLXZpZXcubW9kLWNtNiAuY20tZ3V0dGVycy50YXNrLWd1dHRlciB7XG5cdG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDAgIWltcG9ydGFudDtcbn1cblxuLnRhc2stZGV0YWlscy1wb3BvdmVyLnRnLW1lbnUge1xuXHR6LWluZGV4OiAyMDtcblx0cG9zaXRpb246IGZpeGVkO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbCk7XG59XG5cbi50YXNrLWd1dHRlciB7XG5cdHdpZHRoOiAyNnB4O1xufVxuXG4udGFzay1ndXR0ZXItbWFya2VyIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc21hbGxlcik7XG5cdG9wYWNpdHk6IDAuMTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG59XG5cbi50YXNrLWd1dHRlci1tYXJrZXI6aG92ZXIge1xuXHRvcGFjaXR5OiAxO1xufVxuXG4udGFzay1wb3BvdmVyLWNvbnRlbnQge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XG5cdG1heC13aWR0aDogMzAwcHg7XG5cdG1heC1oZWlnaHQ6IDQwMHB4O1xuXHRvdmVyZmxvdzogYXV0bztcbn1cblxuLnRhc2stbWV0YWRhdGEtZWRpdG9yIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKTtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG4uZmllbGQtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTIpO1xufVxuXG4uZmllbGQtbGFiZWwge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc21hbGxlc3QpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1ib2xkKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTEpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5hY3Rpb24tYnV0dG9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLmFjdGlvbi1idXR0b24ge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMikgdmFyKC0tc2l6ZS00LTIpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc21hbGxlc3QpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnRhc2stZ3V0dGVyLW1hcmtlci5jbGlja2FibGUtaWNvbiB7XG5cdHdpZHRoOiAyNHB4O1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vKiBUYWJiZWQgSW50ZXJmYWNlIFN0eWxlcyAqL1xuLnRhc2stZGV0YWlscy1wb3BvdmVyIC50YWJzLW1haW4tY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0d2lkdGg6IDEwMCU7IC8qIEVuc3VyZSBpdCB0YWtlcyBhdmFpbGFibGUgd2lkdGggKi9cbn1cblxuLnRhc2stZGV0YWlscy1wb3BvdmVyIC50YWJzLW5hdmlnYXRpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4udGFzay1kZXRhaWxzLXBvcG92ZXIgLnRhYi1idXR0b24ge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMikgdmFyKC0tc2l6ZS00LTIpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlcjogbm9uZTtcblx0YmFja2dyb3VuZDogbm9uZTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTsgLyogQWRqdXN0ZWQgZm9yIGNvbnNpc3RlbmN5ICovXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWFyZ2luLWJvdHRvbTogLTFweDsgLyogQWxpZ24gd2l0aCBwYXJlbnQgYm9yZGVyICovXG5cdHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZSwgYm9yZGVyLWNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLnRhc2stZGV0YWlscy1wb3BvdmVyIC50YWItYnV0dG9uOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRhc2stZGV0YWlscy1wb3BvdmVyIC50YWItYnV0dG9uLmFjdGl2ZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWJvbGQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4udGFzay1kZXRhaWxzLXBvcG92ZXIgLnRhYi1wYW5lIHtcblx0ZGlzcGxheTogbm9uZTsgLyogSGlkZSBpbmFjdGl2ZSBwYW5lcyBieSBkZWZhdWx0ICovXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8qIEVuc3VyZSBjb250ZW50IHdpdGhpbiBwYW5lIGZsb3dzIHZlcnRpY2FsbHkgKi9cblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7IC8qIEFkZCBzb21lIGdhcCBiZXR3ZWVuIGVsZW1lbnRzIGluIHRoZSBwYW5lICovXG59XG5cbi50YXNrLWRldGFpbHMtcG9wb3ZlciAudGFiLXBhbmUuYWN0aXZlIHtcblx0ZGlzcGxheTogZmxleDsgLyogU2hvdyBhY3RpdmUgcGFuZSAqL1xufVxuXG4udGFzay1kZXRhaWxzLXBvcG92ZXIgLmRldGFpbHMtc3RhdHVzLXNlbGVjdG9yLFxuLnRhc2stc3RhdHVzLWVkaXRvciAuZGV0YWlscy1zdGF0dXMtc2VsZWN0b3Ige1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi50YXNrLWRldGFpbHMtcG9wb3ZlciAucXVpY2stY2FwdHVyZS1zdGF0dXMtc2VsZWN0b3IsXG4udGFzay1zdGF0dXMtZWRpdG9yIC5xdWljay1jYXB0dXJlLXN0YXR1cy1zZWxlY3RvciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcbn1cblxuLnRhc2stZGV0YWlscy1wb3BvdmVyIC5xdWljay1jYXB0dXJlLXN0YXR1cy1zZWxlY3Rvci1sYWJlbCxcbi50YXNrLXN0YXR1cy1lZGl0b3IgLnF1aWNrLWNhcHR1cmUtc3RhdHVzLXNlbGVjdG9yLWxhYmVsIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLm1vZGFsLWNvbnRlbnQudGFzay1tZXRhZGF0YS1lZGl0b3Ige1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLm1ldGFkYXRhLWZ1bGwtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5tZXRhZGF0YS1mdWxsLWNvbnRhaW5lciAuZGF0ZXMtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG59XG4iLCAiLyogVjIgVmlldyBNYWluIExheW91dCAqL1xuLnRhc2stZ2VuaXVzLWZsdWVudC12aWV3IHtcblx0aGVpZ2h0OiAxMDAlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwYWRkaW5nOiAwO1xufVxuXG4udGctZmx1ZW50LWNvbnRhaW5lciB7XG5cdGhlaWdodDogMTAwJTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLnZpZXctY29udGVudC50YXNrLWdlbml1cy1mbHVlbnQtdmlldyB7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi50Zy1mbHVlbnQtbGF5b3V0IHtcblx0ZGlzcGxheTogZmxleDtcblx0aGVpZ2h0OiAxMDAlO1xuXHR3aWR0aDogMTAwJTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogU2lkZWJhciBTdHlsZXMgKi9cbi50Zy1mbHVlbnQtc2lkZWJhci1jb250YWluZXIge1xuXHR3aWR0aDogMjYwcHg7XG5cdG1pbi13aWR0aDogMjAwcHg7XG5cdG1heC13aWR0aDogNDAwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZmx1ZW50LXNpZGViYXIge1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5mbHVlbnQtc2lkZWJhci1oZWFkZXIge1xuXHRwYWRkaW5nOiAxMnB4O1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4vKiBXb3Jrc3BhY2UgU2VsZWN0b3IgKi9cbi53b3Jrc3BhY2Utc2VsZWN0b3ItYnV0dG9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogOHB4O1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cztcbn1cblxuLndvcmtzcGFjZS1zZWxlY3Rvci1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLndvcmtzcGFjZS1pbmZvIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAxMnB4O1xufVxuXG4ud29ya3NwYWNlLWljb24ge1xuXHR3aWR0aDogMzJweDtcblx0aGVpZ2h0OiAzMnB4O1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRjb2xvcjogd2hpdGU7XG59XG5cbi53b3Jrc3BhY2UtaWNvbiBzdmcge1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xufVxuXG4ud29ya3NwYWNlLWRldGFpbHMge1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4ud29ya3NwYWNlLW5hbWUge1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ud29ya3NwYWNlLWxhYmVsIHtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi53b3Jrc3BhY2UtZHJvcGRvd24taWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLyogTmV3IFRhc2sgQnV0dG9uICovXG4uZmx1ZW50LW5ldy10YXNrLWJ0biB7XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXJnaW4tdG9wOiAxMnB4O1xuXHRwYWRkaW5nOiAxMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGdhcDogOHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXM7XG59XG5cbi5mbHVlbnQtbmV3LXRhc2stYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLmZsdWVudC1uZXctdGFzay1pY29uIHtcblx0ZGlzcGxheTogZmxleDtcbn1cblxuLyogU2lkZWJhciBDb250ZW50ICovXG4uZmx1ZW50LXNpZGViYXItY29udGVudCB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdHBhZGRpbmc6IDhweCAwO1xuXHQtLWljb24tc2l6ZTogMTZweDtcbn1cblxuLmZsdWVudC1zaWRlYmFyLXNlY3Rpb24ge1xuXHRwYWRkaW5nOiA4cHggMDtcbn1cblxuLmZsdWVudC1zaWRlYmFyLXNlY3Rpb24gKyAuZmx1ZW50LXNpZGViYXItc2VjdGlvbiB7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5mbHVlbnQtc2VjdGlvbi1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdHBhZGRpbmc6IDRweCAxNnB4O1xuXHRtYXJnaW4tYm90dG9tOiA0cHg7XG59XG5cbi5mbHVlbnQtc2VjdGlvbi1oZWFkZXIgc3BhbiB7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4uZmx1ZW50LXByb2plY3QtaGVhZGVyLWJ1dHRvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDhweDtcbn1cblxuLmZsdWVudC1hZGQtcHJvamVjdC1idG4sXG4uZmx1ZW50LXNvcnQtcHJvamVjdC1idG4sXG4uZmx1ZW50LXRyZWUtdG9nZ2xlLWJ0biB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHR0cmFuc2l0aW9uOiBjb2xvciAwLjE1cztcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiAyMHB4O1xuXHRoZWlnaHQ6IDIwcHg7XG59XG5cbi5mbHVlbnQtYWRkLXByb2plY3QtYnRuOmhvdmVyLFxuLmZsdWVudC1zb3J0LXByb2plY3QtYnRuOmhvdmVyLFxuLmZsdWVudC10cmVlLXRvZ2dsZS1idG46aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4vKiBOYXZpZ2F0aW9uIEl0ZW1zICovXG4uZmx1ZW50LW5hdmlnYXRpb24tbGlzdCB7XG5cdHBhZGRpbmc6IDAgOHB4O1xufVxuXG4uZmx1ZW50LW5hdmlnYXRpb24taXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMTJweDtcblx0cGFkZGluZzogNnB4IDhweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXM7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmZsdWVudC1uYXZpZ2F0aW9uLWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLmZsdWVudC1uYXZpZ2F0aW9uLWl0ZW0uaXMtYWN0aXZlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUtaG92ZXIpO1xufVxuXG4uZmx1ZW50LW5hdmlnYXRpb24taWNvbiB7XG5cdHdpZHRoOiAyMHB4O1xuXHRoZWlnaHQ6IDIwcHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5mbHVlbnQtbmF2aWdhdGlvbi1pdGVtLmlzLWFjdGl2ZSAuZmx1ZW50LW5hdmlnYXRpb24taWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5mbHVlbnQtbmF2aWdhdGlvbi1sYWJlbCB7XG5cdGZsZXg6IDE7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmZsdWVudC1uYXZpZ2F0aW9uLWJhZGdlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Zm9udC1zaXplOiAxMXB4O1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRwYWRkaW5nOiAycHggNnB4O1xuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xuXHRtaW4td2lkdGg6IDE4cHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogUHJvamVjdCBMaXN0ICovXG4uZmx1ZW50LXByb2plY3Qtc2Nyb2xsIHtcblx0bWF4LWhlaWdodDogMzAwcHg7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdHBhZGRpbmc6IDAgOHB4O1xufVxuXG4uZmx1ZW50LXByb2plY3QtaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMTBweDtcblx0cGFkZGluZzogNnB4IDhweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXM7XG59XG5cbi5mbHVlbnQtcHJvamVjdC1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi5mbHVlbnQtcHJvamVjdC1pdGVtLmlzLWFjdGl2ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlLWhvdmVyKTtcbn1cblxuLmZsdWVudC1wcm9qZWN0LWNvbG9yIHtcblx0d2lkdGg6IDEycHg7XG5cdGhlaWdodDogMTJweDtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLmZsdWVudC1wcm9qZWN0LWNvbG9yLWRhc2hlZCB7XG5cdHdpZHRoOiAxMnB4O1xuXHRoZWlnaHQ6IDEycHg7XG5cdGJvcmRlcjogMS41cHggZGFzaGVkIHZhcigtLXRleHQtbXV0ZWQpO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG59XG5cbi5mbHVlbnQtcHJvamVjdC1uYW1lIHtcblx0ZmxleDogMTtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLmZsdWVudC1hZGQtcHJvamVjdCAuZmx1ZW50LXByb2plY3QtbmFtZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLmZsdWVudC1wcm9qZWN0LWNvdW50IHtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi8qIFRyZWUgVmlldyBTdHlsZXMgKi9cbi5mbHVlbnQtcHJvamVjdC1saXN0LmlzLXRyZWUtdmlldyAuZmx1ZW50LXByb2plY3QtaXRlbSB7XG5cdHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xufVxuXG4uZmx1ZW50LXByb2plY3QtY2hldnJvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRtYXJnaW4tcmlnaHQ6IDRweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBlYXNlO1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLmZsdWVudC1wcm9qZWN0LWNoZXZyb246aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uZmx1ZW50LXByb2plY3QtY2hldnJvbiBzdmcge1xuXHR3aWR0aDogMTJweDtcblx0aGVpZ2h0OiAxMnB4O1xufVxuXG4uZmx1ZW50LXByb2plY3QtY2hldnJvbi1zcGFjZXIge1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRtYXJnaW4tcmlnaHQ6IDRweDtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi8qIFRyZWUgaW5kZW50YXRpb24gKi9cbi5mbHVlbnQtcHJvamVjdC1saXN0LmlzLXRyZWUtdmlldyAuZmx1ZW50LXByb2plY3QtaXRlbVtkYXRhLWxldmVsPVwiMVwiXSB7XG5cdHBhZGRpbmctbGVmdDogMjhweDtcbn1cblxuLmZsdWVudC1wcm9qZWN0LWxpc3QuaXMtdHJlZS12aWV3IC5mbHVlbnQtcHJvamVjdC1pdGVtW2RhdGEtbGV2ZWw9XCIyXCJdIHtcblx0cGFkZGluZy1sZWZ0OiA0OHB4O1xufVxuXG4uZmx1ZW50LXByb2plY3QtbGlzdC5pcy10cmVlLXZpZXcgLmZsdWVudC1wcm9qZWN0LWl0ZW1bZGF0YS1sZXZlbD1cIjNcIl0ge1xuXHRwYWRkaW5nLWxlZnQ6IDY4cHg7XG59XG5cbi8qIFRyZWUgaGllcmFyY2h5IGxpbmVzIChvcHRpb25hbCAtIGNhbiBiZSBhZGRlZCBsYXRlcikgKi9cbi5mbHVlbnQtcHJvamVjdC1saXN0LmlzLXRyZWUtdmlldyAuZmx1ZW50LXByb2plY3QtaXRlbTo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiA4cHg7XG5cdHRvcDogMDtcblx0Ym90dG9tOiAwO1xuXHR3aWR0aDogMXB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdG9wYWNpdHk6IDA7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXM7XG59XG5cbi5mbHVlbnQtcHJvamVjdC1saXN0LmlzLXRyZWUtdmlld1xuXHQuZmx1ZW50LXByb2plY3QtaXRlbVtkYXRhLWxldmVsXTpub3QoW2RhdGEtbGV2ZWw9XCIwXCJdKTpob3Zlcjo6YmVmb3JlIHtcblx0b3BhY2l0eTogMC4zO1xufVxuXG4vKiBWaXJ0dWFsIHByb2plY3Qgbm9kZXMgKGludGVybWVkaWF0ZSBmb2xkZXJzKSAqL1xuLmZsdWVudC1wcm9qZWN0LWl0ZW0uaXMtdmlydHVhbCAuZmx1ZW50LXByb2plY3QtbmFtZSB7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0b3BhY2l0eTogMC44NTtcbn1cblxuLmZsdWVudC1wcm9qZWN0LWl0ZW0uaXMtdmlydHVhbCAuZmx1ZW50LXByb2plY3QtY29sb3Ige1xuXHRvcGFjaXR5OiAwLjY7XG59XG5cbi5mbHVlbnQtcHJvamVjdC1pdGVtLmlzLXZpcnR1YWw6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLyogTWFpbiBDb250YWluZXIgKi9cbi50Zy1mbHVlbnQtbWFpbi1jb250YWluZXIge1xuXHRmbGV4OiAxO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBUb3AgTmF2aWdhdGlvbiAqL1xuLnRnLWZsdWVudC10b3AtbmF2IHtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcbn1cblxuLmZsdWVudC10b3AtbmF2aWdhdGlvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0aGVpZ2h0OiA1NnB4O1xuXHRwYWRkaW5nOiAwIDIwcHg7XG5cdGdhcDogMjBweDtcbn1cblxuLmZsdWVudC1uYXYtbGVmdCB7XG5cdGZsZXg6IDAgMSA0MDBweDtcbn1cblxuLmZsdWVudC1zZWFyY2gtY29udGFpbmVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdG1heC13aWR0aDogNDAwcHg7XG5cdGZsZXg6IDE7XG59XG5cbi8qIENlbnRlciBOYXZpZ2F0aW9uICovXG4uZmx1ZW50LW5hdi1jZW50ZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDEycHg7XG59XG5cbi5mbHVlbnQtdmlldy10YWJzIHtcblx0ZGlzcGxheTogZmxleDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdHBhZGRpbmc6IDJweDtcbn1cblxuLmZsdWVudC12aWV3LXRhYiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogNnB4O1xuXHRwYWRkaW5nOiA2cHggMTJweDtcblx0YmFja2dyb3VuZDogbm9uZTtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjE1cztcbn1cblxuLmZsdWVudC12aWV3LXRhYjpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5mbHVlbnQtdmlldy10YWIuaXMtYWN0aXZlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Ym94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLmZsdWVudC12aWV3LXRhYi1pY29uIHtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmZsdWVudC1uYXYtc2VwYXJhdG9yIHtcblx0d2lkdGg6IDFweDtcblx0aGVpZ2h0OiAyNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5mbHVlbnQtbmF2LWJ1dHRvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogNnB4O1xuXHRwYWRkaW5nOiA2cHggMTJweDtcblx0YmFja2dyb3VuZDogbm9uZTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4xNXM7XG59XG5cbi5mbHVlbnQtbmF2LWJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4uZmx1ZW50LW5hdi1idXR0b24taWNvbiB7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG59XG5cbi8qIFJpZ2h0IE5hdmlnYXRpb24gKi9cbi5mbHVlbnQtbmF2LXJpZ2h0IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAxMnB4O1xufVxuXG4uZmx1ZW50LW5hdi1pY29uLWJ1dHRvbiB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDM2cHg7XG5cdGhlaWdodDogMzZweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjE1cztcbn1cblxuLmZsdWVudC1uYXYtaWNvbi1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmZsdWVudC1ub3RpZmljYXRpb24tYmFkZ2Uge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogLTJweDtcblx0cmlnaHQ6IC0ycHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRjb2xvcjogd2hpdGU7XG5cdGZvbnQtc2l6ZTogMTBweDtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0cGFkZGluZzogMnB4IDVweDtcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcblx0bWluLXdpZHRoOiAxNnB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qIENvbnRlbnQgQXJlYSAqL1xuLnRnLWZsdWVudC1jb250ZW50IHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3c6IGF1dG87XG59XG5cbi5iYXNlcy12aWV3IC50Zy1rYW5iYW4tZmlsdGVycyxcbi50Zy1mbHVlbnQtY29udGVudCAuY29udGVudC1oZWFkZXIsXG4udGctZmx1ZW50LWNvbnRlbnQgLnRnLWthbmJhbi1maWx0ZXJzIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLyogVmlldy1zcGVjaWZpYyBzdHlsZXMgKi9cbi50Zy1mbHVlbnQtbGlzdC12aWV3LFxuLnRnLWZsdWVudC1rYW5iYW4tdmlldyxcbi50Zy1mbHVlbnQtdHJlZS12aWV3LFxuLnRnLWZsdWVudC1jYWxlbmRhci12aWV3IHtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG4vKiBSZXNwb25zaXZlIGFkanVzdG1lbnRzICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0LnRnLWZsdWVudC1zaWRlYmFyLWNvbnRhaW5lcjpub3QoLmlzLW1vYmlsZS1kcmF3ZXIpIHtcblx0XHR3aWR0aDogMjAwcHg7XG5cdH1cblxuXHQuZmx1ZW50LW5hdi1jZW50ZXIge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQuZmx1ZW50LXNlYXJjaC1jb250YWluZXIge1xuXHRcdGZsZXg6IDE7XG5cdH1cblxuXHQuZmx1ZW50LW5hdi1sZWZ0IC5zZWFyY2gtaW5wdXQtY29udGFpbmVyIHtcblx0XHR3aWR0aDogMzAwcHg7XG5cdH1cbn1cblxuLyogTW9iaWxlLXNwZWNpZmljIG1lZGlhIHF1ZXJ5ICovXG5AbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcblx0LyogRW5zdXJlIGRyYXdlciB0YWtlcyBhcHByb3ByaWF0ZSB3aWR0aCBvbiBzbWFsbCBzY3JlZW5zICovXG5cdC50Zy1mbHVlbnQtc2lkZWJhci1jb250YWluZXIuaXMtbW9iaWxlLWRyYXdlciB7XG5cdFx0d2lkdGg6IDc1dncgIWltcG9ydGFudDtcblx0XHRtYXgtd2lkdGg6IDMyMHB4ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQvKiBNYWtlIGhhbWJ1cmdlciBidXR0b24gbW9yZSBwcm9taW5lbnQgb24gbW9iaWxlICovXG5cdC5mbHVlbnQtaGFtYnVyZ2VyLWJ1dHRvbiB7XG5cdFx0d2lkdGg6IDQ0cHg7XG5cdFx0aGVpZ2h0OiA0NHB4O1xuXHR9XG5cblx0LyogQWRqdXN0IHRvcCBuYXZpZ2F0aW9uIHNwYWNpbmcgb24gbW9iaWxlICovXG5cdC5mbHVlbnQtdG9wLW5hdmlnYXRpb24ge1xuXHRcdHBhZGRpbmc6IDAgMTJweDtcblx0fVxuXG5cdC8qIEhpZGUgdmlldyB0YWJzIG9uIHZlcnkgc21hbGwgc2NyZWVucyAqL1xuXHQuZmx1ZW50LXZpZXctdGFicyB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC8qIE9wdGltaXplIHNlYXJjaCBjb250YWluZXIgb24gbW9iaWxlICovXG5cdC5mbHVlbnQtc2VhcmNoLWNvbnRhaW5lciB7XG5cdFx0ZmxleDogMTtcblx0XHRtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAxODBweCk7XG5cdH1cbn1cblxuLyogPT09PT0gQ29sbGFwc2VkIFNpZGViYXIgKFJhaWwpID09PT09ICovXG4udGctZmx1ZW50LXNpZGViYXItY29udGFpbmVyIHtcblx0dHJhbnNpdGlvbjpcblx0XHR3aWR0aCAwLjJzIGVhc2UsXG5cdFx0bWluLXdpZHRoIDAuMnMgZWFzZSxcblx0XHRtYXgtd2lkdGggMC4ycyBlYXNlO1xufVxuXG4vKiBXaGVuIHRoZSBzaWRlYmFyIGVsZW1lbnQgaXRzZWxmIGlzIGNvbGxhcHNlZCAqL1xuLnRnLWZsdWVudC1zaWRlYmFyLWNvbnRhaW5lci5pcy1jb2xsYXBzZWQsXG5cdC8qIE9yIHdoZW4gdGhlIHJvb3QgYWRkcyBhIGhlbHBlciBjbGFzcyAqL1xuLmZsdWVudC1zaWRlYmFyLWNvbGxhcHNlZCAudGctZmx1ZW50LXNpZGViYXItY29udGFpbmVyIHtcblx0d2lkdGg6IDQ0cHg7XG5cdG1pbi13aWR0aDogNDRweDtcblx0bWF4LXdpZHRoOiA0NHB4O1xufVxuXG4vKiBSYWlsIGxheW91dCAqL1xuLmZsdWVudC1zaWRlYmFyLXJhaWwge1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogOHB4O1xuXHRwYWRkaW5nOiA4cHggNHB4O1xufVxuXG4uZmx1ZW50LXJhaWwtYnRuIHtcblx0d2lkdGg6IDM2cHg7XG5cdGhlaWdodDogMzZweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246XG5cdFx0YmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLFxuXHRcdGNvbG9yIDAuMTVzIGVhc2U7XG59XG5cbi5mbHVlbnQtcmFpbC1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmZsdWVudC1yYWlsLWJ0biBzdmcge1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xufVxuXG4vKiBBY3RpdmUgc3RhdGUgZm9yIHJhaWwgYnV0dG9ucyAqL1xuLmZsdWVudC1yYWlsLWJ0bi5pcy1hY3RpdmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZS1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50Zy1iZXRhIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udGctYmV0YTo6YWZ0ZXIge1xuXHRjb250ZW50OiBcImJldGFcIjtcblx0Zm9udC1zaXplOiAwLjQ0ZW07XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudC1pbnZlcnRlZCk7XG5cdHBhZGRpbmctbGVmdDogMnB4O1xuXHRwYWRkaW5nLXJpZ2h0OiAycHg7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRtYXJnaW4tbGVmdDogNHB4O1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogLTFweDtcblx0cmlnaHQ6IC0ycHg7XG5cdGJvcmRlci1yYWRpdXM6IDJweDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0cGFkZGluZy10b3A6IDFweDtcbn1cblxuLyogPT09PT0gTW9iaWxlIERyYXdlciBTdHlsZXMgPT09PT0gKi9cbi5kcmF3ZXItb3ZlcmxheSB7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDtcblx0Ym90dG9tOiAwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG5cdHotaW5kZXg6IDk5OTtcblx0b3BhY2l0eTogMDtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uZHJhd2VyLW9wZW4gLmRyYXdlci1vdmVybGF5IHtcblx0b3BhY2l0eTogMTtcblx0cG9pbnRlci1ldmVudHM6IGF1dG87XG59XG5cbi8qIE1vYmlsZSBkcmF3ZXIgc2lkZWJhciAqL1xuLnRnLWZsdWVudC1zaWRlYmFyLWNvbnRhaW5lci5pcy1tb2JpbGUtZHJhd2VyIHtcblx0cG9zaXRpb246IGZpeGVkO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdGJvdHRvbTogMDtcblx0d2lkdGg6IDI4MHB4ICFpbXBvcnRhbnQ7XG5cdG1heC13aWR0aDogODV2dyAhaW1wb3J0YW50O1xuXHRtaW4td2lkdGg6IDI4MHB4ICFpbXBvcnRhbnQ7XG5cdHotaW5kZXg6IDEwMDA7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG5cdGJveC1zaGFkb3c6IDRweCAwIDIwcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbn1cblxuLyogV2hlbiBkcmF3ZXIgaXMgb3BlbiAqL1xuLmRyYXdlci1vcGVuIC50Zy1mbHVlbnQtc2lkZWJhci1jb250YWluZXIuaXMtbW9iaWxlLWRyYXdlciB7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbn1cblxuLyogRW5zdXJlIHNpZGViYXIgY29udGVudCBpcyB2aXNpYmxlIG9uIG1vYmlsZSBldmVuIHdoZW4gXCJjb2xsYXBzZWRcIiAqL1xuLnRnLWZsdWVudC1zaWRlYmFyLWNvbnRhaW5lci5pcy1tb2JpbGUtZHJhd2VyIC5mbHVlbnQtc2lkZWJhci5pcy1jb2xsYXBzZWQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLyogSGlkZSByYWlsIG1vZGUgb24gbW9iaWxlICovXG4udGctZmx1ZW50LXNpZGViYXItY29udGFpbmVyLmlzLW1vYmlsZS1kcmF3ZXIgLmZsdWVudC1zaWRlYmFyLXJhaWwge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4vKiBNb2JpbGUtc3BlY2lmaWMgc2lkZWJhciBjb250ZW50IGFkanVzdG1lbnRzICovXG4uaXMtbW9iaWxlIC5mbHVlbnQtc2lkZWJhciB7XG5cdHdpZHRoOiAxMDAlO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbi5pcy1tb2JpbGUgLmZsdWVudC1zaWRlYmFyLWhlYWRlciB7XG5cdHBhZGRpbmc6IDE2cHg7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi8qIEVuc3VyZSBhbGwgc2VjdGlvbnMgYXJlIHZpc2libGUgb24gbW9iaWxlICovXG4uaXMtbW9iaWxlIC5mbHVlbnQtc2lkZWJhci1jb250ZW50IHtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0bWF4LWhlaWdodDogY2FsYyhcblx0XHQxMDB2aCAtIDE1MHB4XG5cdCk7IC8qIEFjY291bnQgZm9yIGhlYWRlciBhbmQgbmV3IHRhc2sgYnV0dG9uICovXG59XG5cbi5pcy1tb2JpbGUgLmZsdWVudC1zaWRlYmFyLXNlY3Rpb24ge1xuXHRkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXHR2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbi8qIEVuc3VyZSBzZWN0aW9uIGhlYWRlcnMgYXJlIHZpc2libGUgb24gbW9iaWxlICovXG4uaXMtbW9iaWxlIC5mbHVlbnQtc2VjdGlvbi1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG5cdHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbn1cblxuLmlzLW1vYmlsZSAuZmx1ZW50LW5hdmlnYXRpb24taXRlbSxcbi5pcy1tb2JpbGUgLmZsdWVudC1wcm9qZWN0LWl0ZW0ge1xuXHRwYWRkaW5nOiAxMHB4IDE2cHg7XG5cdGZvbnQtc2l6ZTogMTVweDtcbn1cblxuLmlzLW1vYmlsZSAuZmx1ZW50LW5ldy10YXNrLWJ0biB7XG5cdHBhZGRpbmc6IDEycHg7XG5cdGZvbnQtc2l6ZTogMTVweDtcbn1cblxuLmlzLW1vYmlsZSAuZmx1ZW50LW5hdmlnYXRpb24tbGlzdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uaXMtbW9iaWxlIHNwYW4uZmx1ZW50LW5hdmlnYXRpb24tbGFiZWwge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4vKiBUb3VjaC1mcmllbmRseSBzaXppbmcgKi9cbi5pcy1tb2JpbGUgLmZsdWVudC1uYXZpZ2F0aW9uLWl0ZW0sXG4uaXMtbW9iaWxlIC5mbHVlbnQtcHJvamVjdC1pdGVtLFxuLmlzLW1vYmlsZSAuZmx1ZW50LWFkZC1wcm9qZWN0IHtcblx0bWluLWhlaWdodDogNDRweDtcbn1cblxuLyogQWRqdXN0IG1haW4gY29udGFpbmVyIG9uIG1vYmlsZSB3aGVuIGRyYXdlciBpcyBvcGVuICovXG4uZHJhd2VyLW9wZW4gLnRnLWZsdWVudC1tYWluLWNvbnRhaW5lciB7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vKiBIYW1idXJnZXIgbWVudSBidXR0b24gZm9yIG1vYmlsZSAqL1xuLmZsdWVudC1oYW1idXJnZXItYnV0dG9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiA0MHB4O1xuXHRoZWlnaHQ6IDQwcHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246XG5cdFx0YmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLFxuXHRcdGNvbG9yIDAuMTVzIGVhc2U7XG5cdG1hcmdpbi1yaWdodDogOHB4O1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLmZsdWVudC1oYW1idXJnZXItYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5mbHVlbnQtaGFtYnVyZ2VyLWJ1dHRvbiBzdmcge1xuXHR3aWR0aDogMjBweDtcblx0aGVpZ2h0OiAyMHB4O1xufVxuXG4vKiBBZGp1c3Qgc2VhcmNoIGNvbnRhaW5lciBvbiBtb2JpbGUgd2hlbiBoYW1idXJnZXIgaXMgcHJlc2VudCAqL1xuLmZsdWVudC1uYXYtbGVmdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogOHB4O1xufVxuXG4vKiBIaWRlIHNpZGViYXIgdG9nZ2xlIG9uIGRlc2t0b3Agd2hlbiBpbiBtb2JpbGUgZHJhd2VyIG1vZGUgKi9cbi50Zy1mbHVlbnQtc2lkZWJhci1jb250YWluZXIuaXMtbW9iaWxlLWRyYXdlclxuXHR+IC50Zy1mbHVlbnQtbWFpbi1jb250YWluZXJcblx0LnNpZGViYXItdG9nZ2xlIHtcblx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKiBBbmltYXRpb24gZm9yIGRyYXdlciBmcm9tIHJpZ2h0IChvcHRpb25hbCAtIGNhbiBiZSBjb25maWd1cmVkKSAqL1xuLnRnLWZsdWVudC1zaWRlYmFyLWNvbnRhaW5lci5pcy1tb2JpbGUtZHJhd2VyLmRyYXdlci1yaWdodCB7XG5cdGxlZnQ6IGF1dG87XG5cdHJpZ2h0OiAwO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG5cdGJveC1zaGFkb3c6IC00cHggMCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG59XG5cbi5kcmF3ZXItb3BlbiAudGctZmx1ZW50LXNpZGViYXItY29udGFpbmVyLmlzLW1vYmlsZS1kcmF3ZXIuZHJhd2VyLXJpZ2h0IHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG4udmlldy1jb250ZW50OmhhcygudGctcmlnaHQtZGV0YWlsLXZpZXcpIHtcblx0cGFkZGluZy1sZWZ0OiAwO1xuXHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRwYWRkaW5nLXRvcDogMDtcbn1cblxuLnRnLXJpZ2h0LWRldGFpbC12aWV3IC50YXNrLWRldGFpbHMge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLyogU21vb3RoIGFuaW1hdGlvbnMgZm9yIGFsbCB0cmFuc2l0aW9ucyAqL1xuQGtleWZyYW1lcyBzbGlkZUluRnJvbUxlZnQge1xuXHRmcm9tIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuXHRcdG9wYWNpdHk6IDAuODtcblx0fVxuXHR0byB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZUluRnJvbVJpZ2h0IHtcblx0ZnJvbSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuXHRcdG9wYWNpdHk6IDAuODtcblx0fVxuXHR0byB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cbn1cblxuLm9uYm9hcmRpbmctc2hhZG93IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRiYWNrZ3JvdW5kOiBoc2wodmFyKC0tY29sb3ItYWNjZW50LWhzbCksIDApO1xuXHRib3JkZXItcmFkaXVzOiAyNHB4O1xuXHRyb3RhdGU6IDM1ZGVnO1xuXHR3aWR0aDogMjYwcHg7XG5cdHRvcDogMjAwcHg7XG5cdGhlaWdodDogNDAwcHg7XG5cdGZpbHRlcjogYmx1cigxNTBweCk7XG5cdGFuaW1hdGlvbjogc2hhZG93LXNsaWRlIGluZmluaXRlIDRzIGxpbmVhciBhbHRlcm5hdGU7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5Aa2V5ZnJhbWVzIHNoYWRvdy1zbGlkZSB7XG5cdDAlIHtcblx0XHRiYWNrZ3JvdW5kOiBoc2wodmFyKC0tY29sb3ItYWNjZW50LWhzbCksIDAuMik7XG5cdFx0cmlnaHQ6IDM2MHB4O1xuXHR9XG5cdHRvIHtcblx0XHRiYWNrZ3JvdW5kOiBoc2wodmFyKC0tY29sb3ItYWNjZW50LWhzbCksIDAuOCk7XG5cdFx0cmlnaHQ6IDE2MHB4O1xuXHR9XG59XG4iLCAiLyogVGFzayBHZW5pdXMgVjIgRW5oYW5jZWQgU3R5bGVzIC0gU2hhZGNuLWluc3BpcmVkICovXG5cbi8qID09PT09PT09PT0gQmFzZSBWYXJpYWJsZXMgPT09PT09PT09PSAqL1xuOnJvb3Qge1xuXHQvKiBTaGFkb3dzICovXG5cdC0tdGctc2hhZG93LXNtOiAwIDFweCAycHggMCByZ2IoMCAwIDAgLyAwLjA1KTtcblx0LS10Zy1zaGFkb3c6IDAgMXB4IDNweCAwIHJnYigwIDAgMCAvIDAuMSksIDAgMXB4IDJweCAtMXB4IHJnYigwIDAgMCAvIDAuMSk7XG5cdC0tdGctc2hhZG93LW1kOlxuXHRcdDAgNHB4IDZweCAtMXB4IHJnYigwIDAgMCAvIDAuMSksIDAgMnB4IDRweCAtMnB4IHJnYigwIDAgMCAvIDAuMSk7XG5cdC0tdGctc2hhZG93LWxnOlxuXHRcdDAgMTBweCAxNXB4IC0zcHggcmdiKDAgMCAwIC8gMC4xKSwgMCA0cHggNnB4IC00cHggcmdiKDAgMCAwIC8gMC4xKTtcblx0LS10Zy1zaGFkb3cteGw6XG5cdFx0MCAyMHB4IDI1cHggLTVweCByZ2IoMCAwIDAgLyAwLjEpLCAwIDhweCAxMHB4IC02cHggcmdiKDAgMCAwIC8gMC4xKTtcblxuXHQvKiBBbmltYXRpb25zICovXG5cdC0tdGctdHJhbnNpdGlvbi1mYXN0OiAxNTBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuXHQtLXRnLXRyYW5zaXRpb24tYmFzZTogMjAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcblx0LS10Zy10cmFuc2l0aW9uLXNsb3c6IDMwMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG5cblx0LyogQm9yZGVyIHJhZGl1cyAqL1xuXHQtLXRnLXJhZGl1cy1zbTogMC4yNXJlbTtcblx0LS10Zy1yYWRpdXM6IDAuMzc1cmVtO1xuXHQtLXRnLXJhZGl1cy1tZDogMC41cmVtO1xuXHQtLXRnLXJhZGl1cy1sZzogMC43NXJlbTtcblx0LS10Zy1yYWRpdXMtZnVsbDogOTk5OXB4O1xufVxuXG4vKiA9PT09PT09PT09IFRhc2sgTGlzdCBWaWV3IFN0eWxlcyA9PT09PT09PT09ICovXG4udGFzay1saXN0LWNvbnRhaW5lciB7XG5cdGhlaWdodDogMTAwJTtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0cGFkZGluZzogMS41cmVtO1xuXHRhbmltYXRpb246IGZhZGVJbiB2YXIoLS10Zy10cmFuc2l0aW9uLWJhc2UpO1xufVxuXG4udGFzay1saXN0LXdyYXBwZXIge1xuXHRtYXgtd2lkdGg6IDEyMDBweDtcblx0bWFyZ2luOiAwIGF1dG87XG59XG5cbi50Zy10YXNrLWxpc3QtaXRlbSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzLW1kKTtcblx0bWFyZ2luLWJvdHRvbTogMC43NXJlbTtcblx0cGFkZGluZzogMXJlbSAxLjI1cmVtO1xuXHR0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdGctdHJhbnNpdGlvbi1mYXN0KTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udGFzay1saXN0LWl0ZW06OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0dG9wOiAwO1xuXHRib3R0b206IDA7XG5cdHdpZHRoOiAzcHg7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIHZhcigtLXRnLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi50Zy10YXNrLWxpc3QtaXRlbTpob3ZlciB7XG5cdGJveC1zaGFkb3c6IHZhcigtLXRnLXNoYWRvdyk7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4udGctdGFzay1saXN0LWl0ZW06aG92ZXI6OmJlZm9yZSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi50YXNrLWxpc3QtaXRlbS5pcy1jb21wbGV0ZWQge1xuXHRvcGFjaXR5OiAwLjY7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbn1cblxuLnRhc2stbGlzdC1pdGVtLmlzLW92ZXJkdWU6OmJlZm9yZSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4udGFzay1saXN0LWVtcHR5IHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiAzcmVtIDEuNXJlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDAuOXJlbTtcbn1cblxuLyogPT09PT09PT09PSBUYXNrIFRyZWUgVmlldyBTdHlsZXMgPT09PT09PT09PSAqL1xuLnRhc2stdHJlZS1jb250YWluZXIge1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdHBhZGRpbmc6IDEuNXJlbTtcblx0YW5pbWF0aW9uOiBmYWRlSW4gdmFyKC0tdGctdHJhbnNpdGlvbi1iYXNlKTtcbn1cblxuLnRhc2stdHJlZS13cmFwcGVyIHtcblx0bWF4LXdpZHRoOiAxMjAwcHg7XG5cdG1hcmdpbjogMCBhdXRvO1xufVxuXG4udGFzay10cmVlLXByb2plY3Qge1xuXHRtYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzLWxnKTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dHJhbnNpdGlvbjogYWxsIHZhcigtLXRnLXRyYW5zaXRpb24tYmFzZSk7XG59XG5cbi50YXNrLXRyZWUtcHJvamVjdDpob3ZlciB7XG5cdGJveC1zaGFkb3c6IHZhcigtLXRnLXNoYWRvdy1tZCk7XG59XG5cbi50YXNrLXRyZWUtcHJvamVjdC1oZWFkZXIge1xuXHRwYWRkaW5nOiAxcmVtIDEuMjVyZW07XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Zm9udC1zaXplOiAwLjk1cmVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCB2YXIoLS10Zy10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4udGFzay10cmVlLXByb2plY3QtaGVhZGVyOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi50YXNrLXRyZWUtcHJvamVjdC1oZWFkZXI6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXHUyNUI2XCI7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0bWFyZ2luLXJpZ2h0OiAwLjVyZW07XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS10Zy10cmFuc2l0aW9uLWZhc3QpO1xuXHRmb250LXNpemU6IDAuNzVyZW07XG59XG5cbi50YXNrLXRyZWUtcHJvamVjdC5pcy1leHBhbmRlZCAudGFzay10cmVlLXByb2plY3QtaGVhZGVyOjpiZWZvcmUge1xuXHR0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG59XG5cbi50YXNrLXRyZWUtdGFza3Mge1xuXHRwYWRkaW5nOiAwLjVyZW07XG59XG5cbi50YXNrLXRyZWUtaXRlbSB7XG5cdHBhZGRpbmc6IDAuNzVyZW0gMXJlbTtcblx0bWFyZ2luOiAwLjI1cmVtO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS10Zy1yYWRpdXMpO1xuXHR0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdGctdHJhbnNpdGlvbi1mYXN0KTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nLWxlZnQ6IDJyZW07XG59XG5cbi50YXNrLXRyZWUtaXRlbTo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAxcmVtO1xuXHR0b3A6IDUwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHR3aWR0aDogNHB4O1xuXHRoZWlnaHQ6IDRweDtcblx0YmFja2dyb3VuZDogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXRnLXJhZGl1cy1mdWxsKTtcbn1cblxuLnRhc2stdHJlZS1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi50YXNrLXRyZWUtZW1wdHkge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDNyZW0gMS41cmVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC45cmVtO1xufVxuXG4vKiA9PT09PT09PT09IEZpbHRlciBQYW5lbCBTdHlsZXMgPT09PT09PT09PSAqL1xuLnRnLWZsdWVudC1maWx0ZXItcGFuZWwge1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHJpZ2h0OiAtMzgwcHg7XG5cdHRvcDogMDtcblx0Ym90dG9tOiAwO1xuXHR3aWR0aDogMzgwcHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3gtc2hhZG93OiB2YXIoLS10Zy1zaGFkb3cteGwpO1xuXHR0cmFuc2l0aW9uOiByaWdodCB2YXIoLS10Zy10cmFuc2l0aW9uLXNsb3cpO1xuXHR6LWluZGV4OiAxMDAwO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4udGctZmx1ZW50LWZpbHRlci1wYW5lbC5pcy1vcGVuIHtcblx0cmlnaHQ6IDA7XG59XG5cbi5maWx0ZXItcGFuZWwtaGVhZGVyIHtcblx0cGFkZGluZzogMS4yNXJlbTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uZmlsdGVyLXBhbmVsLXRpdGxlIHtcblx0Zm9udC1zaXplOiAxLjFyZW07XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5maWx0ZXItcGFuZWwtY2xvc2Uge1xuXHR3aWR0aDogMzJweDtcblx0aGVpZ2h0OiAzMnB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIHZhcigtLXRnLXRyYW5zaXRpb24tZmFzdCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLmZpbHRlci1wYW5lbC1jbG9zZTpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uZmlsdGVyLXBhbmVsLWNvbnRlbnQge1xuXHRwYWRkaW5nOiAxLjI1cmVtO1xufVxuXG4uZmlsdGVyLWdyb3VwIHtcblx0bWFyZ2luLWJvdHRvbTogMS41cmVtO1xufVxuXG4uZmlsdGVyLWdyb3VwLWxhYmVsIHtcblx0Zm9udC1zaXplOiAwLjg3NXJlbTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGxldHRlci1zcGFjaW5nOiAwLjAyNWVtO1xufVxuXG4uZmlsdGVyLW9wdGlvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDAuNXJlbTtcbn1cblxuLmZpbHRlci1vcHRpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiAwLjVyZW0gMC43NXJlbTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIHZhcigtLXRnLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5maWx0ZXItb3B0aW9uOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi5maWx0ZXItb3B0aW9uLmlzLXNlbGVjdGVkIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLmZpbHRlci1jaGVja2JveCB7XG5cdG1hcmdpbi1yaWdodDogMC43NXJlbTtcbn1cblxuLyogRmlsdGVyIHNwZWNpZmljIHN0eWxlcyAqL1xuLmZpbHRlci1zZWxlY3Qge1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogMC41cmVtIDAuNzVyZW07XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZm9ybS1maWVsZCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1zaXplOiAwLjg3NXJlbTtcblx0dHJhbnNpdGlvbjogYWxsIHZhcigtLXRnLXRyYW5zaXRpb24tZmFzdCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmZpbHRlci1zZWxlY3Q6aG92ZXIge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi5maWx0ZXItc2VsZWN0OmZvY3VzIHtcblx0b3V0bGluZTogbm9uZTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLmZpbHRlci10YWdzLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0Z2FwOiAwLjVyZW07XG5cdHBhZGRpbmc6IDAuNXJlbSAwO1xufVxuXG4uZmlsdGVyLXRhZyB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDAuNXJlbTtcblx0cGFkZGluZzogMC4zNzVyZW0gMC43NXJlbTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXRnLXJhZGl1cy1mdWxsKTtcblx0Zm9udC1zaXplOiAwLjg3NXJlbTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdGctdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLmZpbHRlci10YWc6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLmZpbHRlci10YWcuaXMtc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi5maWx0ZXItZGF0ZS1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDAuNzVyZW07XG59XG5cbi5maWx0ZXItZGF0ZS1maWVsZCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMC41cmVtO1xufVxuXG4uZmlsdGVyLWRhdGUtZmllbGQgc3BhbiB7XG5cdG1pbi13aWR0aDogNTBweDtcblx0Zm9udC1zaXplOiAwLjg3NXJlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4uZmlsdGVyLWRhdGUtaW5wdXQge1xuXHRmbGV4OiAxO1xuXHRwYWRkaW5nOiAwLjVyZW0gMC43NXJlbTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1mb3JtLWZpZWxkKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS10Zy1yYWRpdXMpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXNpemU6IDAuODc1cmVtO1xuXHR0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdGctdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLmZpbHRlci1kYXRlLWlucHV0OmhvdmVyIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4uZmlsdGVyLWRhdGUtaW5wdXQ6Zm9jdXMge1xuXHRvdXRsaW5lOiBub25lO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi5maWx0ZXItYWN0aW9uLWJ1dHRvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IDAuNzVyZW07XG5cdG1hcmdpbi10b3A6IDEuNXJlbTtcblx0cGFkZGluZy10b3A6IDEuNXJlbTtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLmZpbHRlci1hY3Rpb24tYnV0dG9ucyBidXR0b24ge1xuXHRmbGV4OiAxO1xufVxuXG4ucHJpb3JpdHktY29sb3ItZG90IHtcblx0d2lkdGg6IDEycHg7XG5cdGhlaWdodDogMTJweDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzLWZ1bGwpO1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLyogPT09PT09PT09PSBMb2FkaW5nIFN0YXRlcyA9PT09PT09PT09ICovXG4udGctZmx1ZW50LWxvYWRpbmcge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0aGVpZ2h0OiAxMDAlO1xuXHRnYXA6IDFyZW07XG59XG5cbi50Zy1mbHVlbnQtc3Bpbm5lciB7XG5cdHdpZHRoOiAzMnB4O1xuXHRoZWlnaHQ6IDMycHg7XG5cdGJvcmRlcjogM3B4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXRvcC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzLWZ1bGwpO1xuXHRhbmltYXRpb246IHNwaW4gMXMgbGluZWFyIGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIHNwaW4ge1xuXHR0byB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcblx0fVxufVxuXG4udGctZmx1ZW50LWxvYWRpbmctdGV4dCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjlyZW07XG59XG5cbi8qID09PT09PT09PT0gRW1wdHkgU3RhdGVzID09PT09PT09PT0gKi9cbi50Zy1mbHVlbnQtZW1wdHktc3RhdGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0aGVpZ2h0OiAxMDAlO1xuXHRwYWRkaW5nOiAycmVtO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi50Zy1mbHVlbnQtZW1wdHktaWNvbiB7XG5cdHdpZHRoOiA2NHB4O1xuXHRoZWlnaHQ6IDY0cHg7XG5cdG1hcmdpbi1ib3R0b206IDFyZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0b3BhY2l0eTogMC41O1xufVxuXG4udGctZmx1ZW50LWVtcHR5LXRpdGxlIHtcblx0Zm9udC1zaXplOiAxLjI1cmVtO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbi50Zy1mbHVlbnQtZW1wdHktZGVzY3JpcHRpb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi1ib3R0b206IDEuNXJlbTtcblx0bWF4LXdpZHRoOiA0MDBweDtcbn1cblxuLnRnLWZsdWVudC1lbXB0eS1hY3Rpb24ge1xuXHRwYWRkaW5nOiAwLjc1cmVtIDEuNXJlbTtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS10Zy1yYWRpdXMtbWQpO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCB2YXIoLS10Zy10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4udGctZmx1ZW50LWVtcHR5LWFjdGlvbjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcblx0Ym94LXNoYWRvdzogdmFyKC0tdGctc2hhZG93KTtcbn1cblxuLyogPT09PT09PT09PSBUb29sdGlwcyA9PT09PT09PT09ICovXG4udGctZmx1ZW50LXRvb2x0aXAge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0cGFkZGluZzogMC41cmVtIDAuNzVyZW07XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXRnLXJhZGl1cyk7XG5cdGZvbnQtc2l6ZTogMC44NzVyZW07XG5cdGJveC1zaGFkb3c6IHZhcigtLXRnLXNoYWRvdy1sZyk7XG5cdHotaW5kZXg6IDk5OTk7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRvcGFjaXR5OiAwO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KTtcblx0dHJhbnNpdGlvbjogYWxsIHZhcigtLXRnLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi50Zy1mbHVlbnQtdG9vbHRpcC5pcy12aXNpYmxlIHtcblx0b3BhY2l0eTogMTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG4vKiA9PT09PT09PT09IENhcmRzID09PT09PT09PT0gKi9cbi50Zy1mbHVlbnQtY2FyZCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzLWxnKTtcblx0cGFkZGluZzogMS4yNXJlbTtcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcblx0dHJhbnNpdGlvbjogYWxsIHZhcigtLXRnLXRyYW5zaXRpb24tYmFzZSk7XG59XG5cbi50Zy1mbHVlbnQtY2FyZDpob3ZlciB7XG5cdGJveC1zaGFkb3c6IHZhcigtLXRnLXNoYWRvdy1tZCk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLnRnLWZsdWVudC1jYXJkLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcblx0cGFkZGluZy1ib3R0b206IDAuNzVyZW07XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi50Zy1mbHVlbnQtY2FyZC10aXRsZSB7XG5cdGZvbnQtc2l6ZTogMXJlbTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRnLWZsdWVudC1jYXJkLWFjdGlvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IDAuNXJlbTtcbn1cblxuLnRnLWZsdWVudC1jYXJkLWFjdGlvbiB7XG5cdHdpZHRoOiAyOHB4O1xuXHRoZWlnaHQ6IDI4cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS10Zy1yYWRpdXMpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCB2YXIoLS10Zy10cmFuc2l0aW9uLWZhc3QpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50Zy1mbHVlbnQtY2FyZC1hY3Rpb246aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLyogPT09PT09PT09PSBCdXR0b25zID09PT09PT09PT0gKi9cbi50Zy1mbHVlbnQtYnV0dG9uIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRnYXA6IDAuNXJlbTtcblx0cGFkZGluZzogMC42MjVyZW0gMS4yNXJlbTtcblx0Zm9udC1zaXplOiAwLjg3NXJlbTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzLW1kKTtcblx0Ym9yZGVyOiBub25lO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCB2YXIoLS10Zy10cmFuc2l0aW9uLWZhc3QpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi50Zy1mbHVlbnQtYnV0dG9uOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogNTAlO1xuXHRsZWZ0OiA1MCU7XG5cdHdpZHRoOiAwO1xuXHRoZWlnaHQ6IDA7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXRnLXJhZGl1cy1mdWxsKTtcblx0YmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblx0dHJhbnNpdGlvbjpcblx0XHR3aWR0aCB2YXIoLS10Zy10cmFuc2l0aW9uLXNsb3cpLFxuXHRcdGhlaWdodCB2YXIoLS10Zy10cmFuc2l0aW9uLXNsb3cpO1xufVxuXG4udGctZmx1ZW50LWJ1dHRvbjphY3RpdmU6OmJlZm9yZSB7XG5cdHdpZHRoOiAzMDBweDtcblx0aGVpZ2h0OiAzMDBweDtcbn1cblxuLnRnLWZsdWVudC1idXR0b24tcHJpbWFyeSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi50Zy1mbHVlbnQtYnV0dG9uLXByaW1hcnk6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG5cdGJveC1zaGFkb3c6IHZhcigtLXRnLXNoYWRvdyk7XG59XG5cbi50Zy1mbHVlbnQtYnV0dG9uLXNlY29uZGFyeSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4udGctZmx1ZW50LWJ1dHRvbi1zZWNvbmRhcnk6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4udGctZmx1ZW50LWJ1dHRvbi1naG9zdCB7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGctZmx1ZW50LWJ1dHRvbi1naG9zdDpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4udGctZmx1ZW50LWJ1dHRvbi1kYW5nZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0Y29sb3I6IHdoaXRlO1xufVxuXG4udGctZmx1ZW50LWJ1dHRvbi1kYW5nZXI6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiAjZGMyNjI2O1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG5cdGJveC1zaGFkb3c6IHZhcigtLXRnLXNoYWRvdyk7XG59XG5cbi8qID09PT09PT09PT0gQW5pbWF0aW9ucyA9PT09PT09PT09ICovXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG5cdGZyb20ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7XG5cdH1cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVJbiB7XG5cdGZyb20ge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcblx0fVxuXHR0byB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVVcCB7XG5cdGZyb20ge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcblx0fVxuXHR0byB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgcHVsc2Uge1xuXHQwJSxcblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXHQ1MCUge1xuXHRcdG9wYWNpdHk6IDAuNTtcblx0fVxufVxuXG4vKiA9PT09PT09PT09IFJlc3BvbnNpdmUgRGVzaWduID09PT09PT09PT0gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcblx0LnRhc2stbGlzdC1jb250YWluZXIsXG5cdC50YXNrLXRyZWUtY29udGFpbmVyIHtcblx0XHRwYWRkaW5nOiAxcmVtO1xuXHR9XG5cblx0LnRnLWZsdWVudC1maWx0ZXItcGFuZWwge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHJpZ2h0OiAtMTAwJTtcblx0fVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcblx0LnRnLXRhc2stbGlzdC1pdGVtIHtcblx0XHRwYWRkaW5nOiAwLjc1cmVtIDFyZW07XG5cdH1cblxuXHQudGFzay10cmVlLXByb2plY3QtaGVhZGVyIHtcblx0XHRwYWRkaW5nOiAwLjc1cmVtIDFyZW07XG5cdH1cblxuXHQudGctZmx1ZW50LWNhcmQge1xuXHRcdHBhZGRpbmc6IDFyZW07XG5cdH1cbn1cblxuLyogPT09PT09PT09PSBEYXJrIE1vZGUgQWRqdXN0bWVudHMgPT09PT09PT09PSAqL1xuLnRoZW1lLWRhcmsge1xuXHQtLXRnLXNoYWRvdy1zbTogMCAxcHggMnB4IDAgcmdiKDAgMCAwIC8gMC4zKTtcblx0LS10Zy1zaGFkb3c6IDAgMXB4IDNweCAwIHJnYigwIDAgMCAvIDAuNCksIDAgMXB4IDJweCAtMXB4IHJnYigwIDAgMCAvIDAuMyk7XG5cdC0tdGctc2hhZG93LW1kOlxuXHRcdDAgNHB4IDZweCAtMXB4IHJnYigwIDAgMCAvIDAuNCksIDAgMnB4IDRweCAtMnB4IHJnYigwIDAgMCAvIDAuMyk7XG5cdC0tdGctc2hhZG93LWxnOlxuXHRcdDAgMTBweCAxNXB4IC0zcHggcmdiKDAgMCAwIC8gMC40KSwgMCA0cHggNnB4IC00cHggcmdiKDAgMCAwIC8gMC4zKTtcblx0LS10Zy1zaGFkb3cteGw6XG5cdFx0MCAyMHB4IDI1cHggLTVweCByZ2IoMCAwIDAgLyAwLjQpLCAwIDhweCAxMHB4IC02cHggcmdiKDAgMCAwIC8gMC4zKTtcbn1cblxuLnRoZW1lLWRhcmsgLnRnLWZsdWVudC1jYXJkOmhvdmVyLFxuLnRoZW1lLWRhcmsgLnRnLXRhc2stbGlzdC1pdGVtOmhvdmVyLFxuLnRoZW1lLWRhcmsgLnRhc2stdHJlZS1wcm9qZWN0OmhvdmVyIHtcblx0Ym94LXNoYWRvdzpcblx0XHQwIDAgMCAxcHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KSxcblx0XHR2YXIoLS10Zy1zaGFkb3ctbWQpO1xufVxuXG4vKiA9PT09PT09PT09IFByb2dyZXNzIEJhcnMgPT09PT09PT09PSAqL1xuLnRnLWZsdWVudC1wcm9ncmVzcyB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDZweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS10Zy1yYWRpdXMtZnVsbCk7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdG1hcmdpbjogMC41cmVtIDA7XG59XG5cbi50Zy1mbHVlbnQtcHJvZ3Jlc3MtYmFyIHtcblx0aGVpZ2h0OiAxMDAlO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS10Zy1yYWRpdXMtZnVsbCk7XG5cdHRyYW5zaXRpb246IHdpZHRoIHZhcigtLXRnLXRyYW5zaXRpb24tc2xvdyk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnRnLWZsdWVudC1wcm9ncmVzcy1iYXI6OmFmdGVyIHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHRib3R0b206IDA7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcblx0XHQ5MGRlZyxcblx0XHR0cmFuc3BhcmVudCxcblx0XHRyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyksXG5cdFx0dHJhbnNwYXJlbnRcblx0KTtcblx0YW5pbWF0aW9uOiBzaGltbWVyIDJzIGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIHNoaW1tZXIge1xuXHQwJSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcblx0fVxuXHQxMDAlIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG5cdH1cbn1cblxuLyogPT09PT09PT09PSBUYWdzID09PT09PT09PT0gKi9cbi50Zy1mbHVlbnQtdGFnIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDAuMjVyZW0gMC42MjVyZW07XG5cdGZvbnQtc2l6ZTogMC43NXJlbTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzLWZ1bGwpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0bWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xuXHR0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdGctdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnRnLWZsdWVudC10YWc6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4udGctZmx1ZW50LXRhZy1wcmltYXJ5IHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4udGctZmx1ZW50LXRhZy1zdWNjZXNzIHtcblx0YmFja2dyb3VuZDogIzEwYjk4MTtcblx0Y29sb3I6IHdoaXRlO1xuXHRib3JkZXItY29sb3I6ICMxMGI5ODE7XG59XG5cbi50Zy1mbHVlbnQtdGFnLXdhcm5pbmcge1xuXHRiYWNrZ3JvdW5kOiAjZjU5ZTBiO1xuXHRjb2xvcjogd2hpdGU7XG5cdGJvcmRlci1jb2xvcjogI2Y1OWUwYjtcbn1cblxuLnRnLWZsdWVudC10YWctZGFuZ2VyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGNvbG9yOiB3aGl0ZTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLndvcmtzcGFjZS1uYW1lLXdpdGgtaWNvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG59XG4iLCAiLyogVGFzayBHZW5pdXMgVjIgQ29udGVudCBIZWFkZXIgU3R5bGVzICovXG5cbi8qID09PSBDb250ZW50IFdyYXBwZXIgPT09ICovXG4udGctZmx1ZW50LWNvbnRlbnQtd3JhcHBlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGhlaWdodDogMTAwJTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogPT09IENvbnRlbnQgSGVhZGVyID09PSAqL1xuLmZsdWVudC1jb250ZW50LWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0cGFkZGluZzogMTJweCAyMHB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRtaW4taGVpZ2h0OiA1NnB4O1xuXHRnYXA6IDE2cHg7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uZmx1ZW50LWNvbnRlbnQtaGVhZGVyIC5oZWFkZXItbGVmdC1zZWN0aW9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAxMnB4O1xuXHRtaW4td2lkdGg6IDIwMHB4O1xufVxuXG4uZmx1ZW50LWNvbnRlbnQtaGVhZGVyIC5jb250ZW50LXRpdGxlIHtcblx0Zm9udC1zaXplOiAxLjI1cmVtO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uZmx1ZW50LWNvbnRlbnQtaGVhZGVyIC50YXNrLWNvdW50IHtcblx0Zm9udC1zaXplOiAwLjg3NXJlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRwYWRkaW5nOiAycHggOHB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmZsdWVudC1jb250ZW50LWhlYWRlciAuaGVhZGVyLWNlbnRlci1zZWN0aW9uIHtcblx0ZmxleDogMTtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1heC13aWR0aDogNTAwcHg7XG5cdG1hcmdpbjogMCBhdXRvO1xufVxuXG4uZmx1ZW50LWNvbnRlbnQtaGVhZGVyIC5jb250ZW50LWZpbHRlciB7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uZmx1ZW50LWNvbnRlbnQtaGVhZGVyIC5maWx0ZXItaW5wdXQge1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1hbHQpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0Zm9udC1zaXplOiAwLjg3NXJlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLmZsdWVudC1jb250ZW50LWhlYWRlciAuZmlsdGVyLWlucHV0OjpwbGFjZWhvbGRlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLmZsdWVudC1jb250ZW50LWhlYWRlciAuZmlsdGVyLWlucHV0OmZvY3VzIHtcblx0b3V0bGluZTogbm9uZTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4yKTtcbn1cblxuLmZsdWVudC1jb250ZW50LWhlYWRlciAuaGVhZGVyLXJpZ2h0LXNlY3Rpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDhweDtcbn1cblxuLmZsdWVudC1jb250ZW50LWhlYWRlciAudmlldy10b2dnbGUtYnRuLFxuLmZsdWVudC1jb250ZW50LWhlYWRlciAuc29ydC1idXR0b24sXG4uZmx1ZW50LWNvbnRlbnQtaGVhZGVyIC5maWx0ZXItYnV0dG9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiAzMnB4O1xuXHRoZWlnaHQ6IDMycHg7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4uZmx1ZW50LWNvbnRlbnQtaGVhZGVyIC52aWV3LXRvZ2dsZS1idG46aG92ZXIsXG4uZmx1ZW50LWNvbnRlbnQtaGVhZGVyIC5zb3J0LWJ1dHRvbjpob3Zlcixcbi5mbHVlbnQtY29udGVudC1oZWFkZXIgLmZpbHRlci1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmZsdWVudC1jb250ZW50LWhlYWRlciAudmlldy10b2dnbGUtYnRuOmFjdGl2ZSxcbi5mbHVlbnQtY29udGVudC1oZWFkZXIgLnNvcnQtYnV0dG9uOmFjdGl2ZSxcbi5mbHVlbnQtY29udGVudC1oZWFkZXIgLmZpbHRlci1idXR0b246YWN0aXZlIHtcblx0dHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcbn1cblxuLmZsdWVudC1jb250ZW50LWhlYWRlciAudmlldy10b2dnbGUtYnRuIHN2Zyxcbi5mbHVlbnQtY29udGVudC1oZWFkZXIgLnNvcnQtYnV0dG9uIHN2Zyxcbi5mbHVlbnQtY29udGVudC1oZWFkZXIgLmZpbHRlci1idXR0b24gc3ZnIHtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcbn1cblxuLyogPT09IENvbnRlbnQgQXJlYSAod2l0aCBoZWFkZXIpID09PSAqL1xuLnRnLWZsdWVudC1jb250ZW50IHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcbn1cblxuLyogPT09IFJlc3BvbnNpdmUgYWRqdXN0bWVudHMgPT09ICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0LmZsdWVudC1jb250ZW50LWhlYWRlciB7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdHBhZGRpbmc6IDhweCAxMnB4O1xuXHR9XG5cblx0LmZsdWVudC1jb250ZW50LWhlYWRlciAuaGVhZGVyLWxlZnQtc2VjdGlvbiB7XG5cdFx0bWluLXdpZHRoOiBhdXRvO1xuXHR9XG5cblx0LmZsdWVudC1jb250ZW50LWhlYWRlciAuaGVhZGVyLWNlbnRlci1zZWN0aW9uIHtcblx0XHRvcmRlcjogMztcblx0XHR3aWR0aDogMTAwJTtcblx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cdFx0bWFyZ2luLXRvcDogOHB4O1xuXHR9XG5cblx0LmZsdWVudC1jb250ZW50LWhlYWRlciAuY29udGVudC10aXRsZSB7XG5cdFx0Zm9udC1zaXplOiAxLjFyZW07XG5cdH1cbn1cbiIsICIvKiBQcm9qZWN0IFBvcG92ZXIgU3R5bGVzICovXG4uZmx1ZW50LXByb2plY3QtcG9wb3Zlci1jb250YWluZXIge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHotaW5kZXg6IDEwMDA7XG59XG5cbi5mbHVlbnQtcHJvamVjdC1wb3BvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdGJveC1zaGFkb3c6IDAgNHB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcblx0bWluLXdpZHRoOiAzMjBweDtcblx0bWF4LXdpZHRoOiA0MDBweDtcblx0YW5pbWF0aW9uOiBwb3BvdmVyLWZhZGUtaW4gMC4ycyBlYXNlLW91dDtcbn1cblxuQGtleWZyYW1lcyBwb3BvdmVyLWZhZGUtaW4ge1xuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTtcblx0fVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdH1cbn1cblxuLmZsdWVudC1wb3BvdmVyLWFycm93LFxuLmZsdWVudC1wb3BvdmVyLWFycm93OjpiZWZvcmUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHdpZHRoOiAxMHB4O1xuXHRoZWlnaHQ6IDEwcHg7XG5cdGJhY2tncm91bmQ6IGluaGVyaXQ7XG59XG5cbi5mbHVlbnQtcG9wb3Zlci1hcnJvdyB7XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLmZsdWVudC1wb3BvdmVyLWFycm93OjpiZWZvcmUge1xuXHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHRjb250ZW50OiBcIlwiO1xuXHR0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLyogQXJyb3cgcG9zaXRpb25pbmcgZm9yIGRpZmZlcmVudCBwbGFjZW1lbnRzICovXG4uZmx1ZW50LXByb2plY3QtcG9wb3ZlcltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwidG9wXCJdIC5mbHVlbnQtcG9wb3Zlci1hcnJvdyB7XG5cdGJvdHRvbTogLTVweDtcbn1cblxuLmZsdWVudC1wcm9qZWN0LXBvcG92ZXJbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cInRvcFwiXVxuXHQuZmx1ZW50LXBvcG92ZXItYXJyb3c6OmJlZm9yZSB7XG5cdGJvcmRlci10b3A6IG5vbmU7XG5cdGJvcmRlci1sZWZ0OiBub25lO1xufVxuXG4uZmx1ZW50LXByb2plY3QtcG9wb3ZlcltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwiYm90dG9tXCJdIC5mbHVlbnQtcG9wb3Zlci1hcnJvdyB7XG5cdHRvcDogLTVweDtcbn1cblxuLmZsdWVudC1wcm9qZWN0LXBvcG92ZXJbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cImJvdHRvbVwiXVxuXHQuZmx1ZW50LXBvcG92ZXItYXJyb3c6OmJlZm9yZSB7XG5cdGJvcmRlci1yaWdodDogbm9uZTtcblx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLmZsdWVudC1wcm9qZWN0LXBvcG92ZXJbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cImxlZnRcIl0gLmZsdWVudC1wb3BvdmVyLWFycm93IHtcblx0cmlnaHQ6IC01cHg7XG59XG5cbi5mbHVlbnQtcHJvamVjdC1wb3BvdmVyW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJsZWZ0XCJdXG5cdC5mbHVlbnQtcG9wb3Zlci1hcnJvdzo6YmVmb3JlIHtcblx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcblx0Ym9yZGVyLWxlZnQ6IG5vbmU7XG59XG5cbi5mbHVlbnQtcHJvamVjdC1wb3BvdmVyW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJyaWdodFwiXSAuZmx1ZW50LXBvcG92ZXItYXJyb3cge1xuXHRsZWZ0OiAtNXB4O1xufVxuXG4uZmx1ZW50LXByb2plY3QtcG9wb3ZlcltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwicmlnaHRcIl1cblx0LmZsdWVudC1wb3BvdmVyLWFycm93OjpiZWZvcmUge1xuXHRib3JkZXItdG9wOiBub25lO1xuXHRib3JkZXItcmlnaHQ6IG5vbmU7XG59XG5cbi5mbHVlbnQtcG9wb3Zlci1jb250ZW50IHtcblx0cGFkZGluZzogMTZweDtcbn1cblxuLmZsdWVudC1wb3BvdmVyLWhlYWRlciB7XG5cdG1hcmdpbi1ib3R0b206IDE2cHg7XG5cdHBhZGRpbmctYm90dG9tOiAxMnB4O1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uZmx1ZW50LXBvcG92ZXItaGVhZGVyIGgzIHtcblx0bWFyZ2luOiAwO1xuXHRmb250LXNpemU6IDE2cHg7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5mbHVlbnQtcG9wb3Zlci1zZWN0aW9uIHtcblx0bWFyZ2luLWJvdHRvbTogMTZweDtcbn1cblxuLmZsdWVudC1wb3BvdmVyLXNlY3Rpb24gbGFiZWwge1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xuXHRmb250LXNpemU6IDEycHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0bGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xufVxuXG4uZmx1ZW50LXBvcG92ZXItaW5wdXQge1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogOHB4IDEycHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzO1xufVxuXG4uZmx1ZW50LXBvcG92ZXItaW5wdXQ6Zm9jdXMge1xuXHRvdXRsaW5lOiBub25lO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xufVxuXG4uZmx1ZW50LXBvcG92ZXItaW5wdXQuaXMtZXJyb3Ige1xuXHRib3JkZXItY29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRhbmltYXRpb246IHNoYWtlIDAuM3M7XG59XG5cbkBrZXlmcmFtZXMgc2hha2Uge1xuXHQwJSxcblx0MTAwJSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuXHR9XG5cdDI1JSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00cHgpO1xuXHR9XG5cdDc1JSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCk7XG5cdH1cbn1cblxuLmZsdWVudC1jb2xvci1ncmlkIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKTtcblx0Z2FwOiA4cHg7XG59XG5cbi5mbHVlbnQtY29sb3ItYnV0dG9uIHtcblx0d2lkdGg6IDM2cHg7XG5cdGhlaWdodDogMzZweDtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzO1xuXHRib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZmx1ZW50LWNvbG9yLWJ1dHRvbjpob3ZlciB7XG5cdHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbn1cblxuLmZsdWVudC1jb2xvci1idXR0b24uaXMtc2VsZWN0ZWQge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xufVxuXG4uZmx1ZW50LWNvbG9yLWJ1dHRvbi5pcy1zZWxlY3RlZDo6YWZ0ZXIge1xuXHRjb250ZW50OiBcIlx1MjcxM1wiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogNTAlO1xuXHRsZWZ0OiA1MCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXHRjb2xvcjogd2hpdGU7XG5cdGZvbnQtc2l6ZTogMTZweDtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdHRleHQtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjMpO1xufVxuXG4uZmx1ZW50LXBvcG92ZXItYWN0aW9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdGdhcDogOHB4O1xuXHRtYXJnaW4tdG9wOiAyMHB4O1xuXHRwYWRkaW5nLXRvcDogMTZweDtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLmZsdWVudC1idXR0b24ge1xuXHRwYWRkaW5nOiA2cHggMTZweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnM7XG5cdGJvcmRlcjogbm9uZTtcblx0b3V0bGluZTogbm9uZTtcbn1cblxuLmZsdWVudC1idXR0b24tcHJpbWFyeSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi5mbHVlbnQtYnV0dG9uLXByaW1hcnk6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xufVxuXG4uZmx1ZW50LWJ1dHRvbi1zZWNvbmRhcnkge1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5mbHVlbnQtYnV0dG9uLXNlY29uZGFyeTpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4vKiBNb2RhbCBTdHlsZXMgdXNpbmcgT2JzaWRpYW4gbmF0aXZlIE1vZGFsICovXG4uZmx1ZW50LXByb2plY3QtbW9kYWwge1xuXHQvKiBNb2RhbCB3aWxsIHVzZSBPYnNpZGlhbidzIGRlZmF1bHQgc3R5bGluZyAqL1xufVxuXG4uZmx1ZW50LXByb2plY3QtbW9kYWwgLm1vZGFsLWNvbnRlbnQgaDIge1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRmb250LXNpemU6IDIwcHg7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5mbHVlbnQtbW9kYWwtc2VjdGlvbiB7XG5cdG1hcmdpbi1ib3R0b206IDI0cHg7XG59XG5cbi5mbHVlbnQtbW9kYWwtc2VjdGlvbiBsYWJlbCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW4tYm90dG9tOiA4cHg7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4uZmx1ZW50LW1vZGFsLWlucHV0IHtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IDEwcHggMTRweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdGZvbnQtc2l6ZTogMTZweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnM7XG59XG5cbi5mbHVlbnQtbW9kYWwtaW5wdXQ6Zm9jdXMge1xuXHRvdXRsaW5lOiBub25lO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IDAgMCAwIDNweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xufVxuXG4uZmx1ZW50LW1vZGFsLWlucHV0LmlzLWVycm9yIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0YW5pbWF0aW9uOiBzaGFrZSAwLjNzO1xufVxuXG4uZmx1ZW50LW1vZGFsLWNvbG9yLWdyaWQge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpO1xuXHRnYXA6IDEycHg7XG59XG5cbi5mbHVlbnQtbW9kYWwtY29sb3ItYnV0dG9uIHtcblx0d2lkdGg6IDQ4cHg7XG5cdGhlaWdodDogNDhweDtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzO1xuXHRib3JkZXI6IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZmx1ZW50LW1vZGFsLWNvbG9yLWJ1dHRvbjpob3ZlciB7XG5cdHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbn1cblxuLmZsdWVudC1tb2RhbC1jb2xvci1idXR0b24uaXMtc2VsZWN0ZWQge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IDAgMCAwIDNweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xufVxuXG4uZmx1ZW50LW1vZGFsLWNvbG9yLWJ1dHRvbi5pcy1zZWxlY3RlZDo6YWZ0ZXIge1xuXHRjb250ZW50OiBcIlx1MjcxM1wiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogNTAlO1xuXHRsZWZ0OiA1MCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXHRjb2xvcjogd2hpdGU7XG5cdGZvbnQtc2l6ZTogMjBweDtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdHRleHQtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjQpO1xufVxuXG4uZmx1ZW50LW1vZGFsLXByZXZpZXcge1xuXHRwYWRkaW5nOiAxMnB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcbn1cblxuLmZsdWVudC1wcm9qZWN0LWl0ZW0tcHJldmlldyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMTJweDtcblx0cGFkZGluZzogOHB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG59XG5cbi5mbHVlbnQtcHJvamVjdC1pdGVtLXByZXZpZXcgLmZsdWVudC1wcm9qZWN0LWNvbG9yIHtcblx0d2lkdGg6IDhweDtcblx0aGVpZ2h0OiAzMnB4O1xuXHRib3JkZXItcmFkaXVzOiAycHg7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uZmx1ZW50LXByb2plY3QtaXRlbS1wcmV2aWV3IC5mbHVlbnQtcHJvamVjdC1uYW1lIHtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uZmx1ZW50LW1vZGFsLWZvb3RlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdGdhcDogMTJweDtcblx0cGFkZGluZzogMjBweDtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLmZsdWVudC1tb2RhbC1mb290ZXIgLmZsdWVudC1idXR0b24ge1xuXHRwYWRkaW5nOiAxMHB4IDI0cHg7XG5cdGZvbnQtc2l6ZTogMTVweDtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7QUFDQSxDQUFDO0FBQ0EsV0FBUztBQUNULFlBQVU7QUFDVixlQUFhO0FBQ2IsaUJBQWU7QUFDaEI7QUFFQSxDQUFDLGdCQUFnQixDQVBoQjtBQVFBLFdBQVM7QUFD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QUVBLENBWEMsa0JBV2tCO0FBQ2xCLFdBQVM7QUFDVCxnQkFBYyxJQUFJO0FBQ2xCLGNBQVksRUFBRSxFQUFFLEVBQUUsSUFBSSxJQUFJO0FBQzNCO0FBRUEsQ0FqQkMsa0JBaUJrQixDQXhJRztBQXlJckIsZ0JBQWMsSUFBSTtBQUNsQixhQUFXLE1BQU07QUFDbEI7QUFFQSxDQUFDO0FBQ0EsV0FBUztBQUNULHlCQUF1QixPQUFPLENBQUMsRUFBRTtBQUNqQyxPQUFLO0FBQ047QUFFQSxDQUFDO0FBQ0EsU0FBTztBQUNQLFVBQVE7QUFDUixpQkFBZTtBQUNmLFVBQVE7QUFDUixjQUFZLElBQUk7QUFDaEIsVUFBUSxJQUFJLE1BQU07QUFDbEIsWUFBVTtBQUNYO0FBRUEsQ0FWQyx5QkFVeUI7QUFDekIsYUFBVyxNQUFNO0FBQ2xCO0FBRUEsQ0FkQyx5QkFjeUIsQ0EzSEw7QUE0SHBCLGdCQUFjLElBQUk7QUFDbEIsY0FBWSxFQUFFLEVBQUUsRUFBRSxJQUFJLElBQUk7QUFDM0I7QUFFQSxDQW5CQyx5QkFtQnlCLENBaElMLFdBZ0lpQjtBQUNyQyxXQUFTO0FBQ1QsWUFBVTtBQUNWLE9BQUs7QUFDTCxRQUFNO0FBQ04sYUFBVyxVQUFVLElBQUksRUFBRTtBQUMzQixTQUFPO0FBQ1AsYUFBVztBQUNYLGVBQWE7QUFDYixlQUFhLEVBQUUsSUFBSSxJQUFJLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUU7QUFDdEM7QUFFQSxDQUFDO0FBQ0EsV0FBUztBQUNULGNBQVksSUFBSTtBQUNoQixpQkFBZTtBQUNoQjtBQUVBLENBQUM7QUFDQSxXQUFTO0FBQ1QsZUFBYTtBQUNiLE9BQUs7QUFDTCxXQUFTO0FBQ1QsY0FBWSxJQUFJO0FBQ2hCLGlCQUFlO0FBQ2hCO0FBRUEsQ0FUQyw0QkFTNEIsQ0FBQztBQUM3QixTQUFPO0FBQ1AsVUFBUTtBQUNSLGlCQUFlO0FBQ2YsZUFBYTtBQUNkO0FBRUEsQ0FoQkMsNEJBZ0I0QixDQUFDO0FBQzdCLGFBQVc7QUFDWCxlQUFhO0FBQ2IsU0FBTyxJQUFJO0FBQ1o7QUFFQSxDQUFDO0FBQ0EsV0FBUztBQUNULG1CQUFpQjtBQUNqQixPQUFLO0FBQ0wsV0FBUztBQUNULGNBQVksSUFBSSxNQUFNLElBQUk7QUFDM0I7QUFFQSxDQVJDLG9CQVFvQixDQXRKcEI7QUF1SkEsV0FBUyxLQUFLO0FBQ2QsYUFBVztBQUNaOyIsCiAgIm5hbWVzIjogW10KfQo= */