Files
rspade_system/storage-working/rsx-tmp/scss_048fdb4ef127c481.css
root 77b4d10af8 Refactor filename naming system and apply convention-based renames
Standardize settings file naming and relocate documentation files
Fix code quality violations from rsx:check
Reorganize user_management directory into logical subdirectories
Move Quill Bundle to core and align with Tom Select pattern
Simplify Site Settings page to focus on core site information
Complete Phase 5: Multi-tenant authentication with login flow and site selection
Add route query parameter rule and synchronize filename validation logic
Fix critical bug in UpdateNpmCommand causing missing JavaScript stubs
Implement filename convention rule and resolve VS Code auto-rename conflict
Implement js-sanitizer RPC server to eliminate 900+ Node.js process spawns
Implement RPC server architecture for JavaScript parsing
WIP: Add RPC server infrastructure for JS parsing (partial implementation)
Update jqhtml terminology from destroy to stop, fix datagrid DOM preservation
Add JQHTML-CLASS-01 rule and fix redundant class names
Improve code quality rules and resolve violations
Remove legacy fatal error format in favor of unified 'fatal' error type
Filter internal keys from window.rsxapp output
Update button styling and comprehensive form/modal documentation
Add conditional fly-in animation for modals
Fix non-deterministic bundle compilation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-13 19:10:02 +00:00

1396 lines
131 KiB
CSS
Executable File

/* ======= FILE: app/RSpade/Integrations/Jqhtml/Jqhtml_Integration.scss ======= */
.Jqhtml_Component_Init {
display: none;
}
/* ======= FILE: rsx/theme/variables.scss ======= */
/* ======= FILE: rsx/theme/components/datagrid/datagrid_abstract.scss ======= */
/**
* DataGrid Component Styles (Phase 1)
*
* **Responsive Strategy**:
* - Desktop (>= 768px): Table layout
* - Mobile (< 768px): Card layout (Phase 1 - basic, will enhance in future)
*
* **Design Philosophy**:
* - Clean, minimal styling
* - Bootstrap 5 compatible
* - No shadows or excessive borders
* - Touch-friendly tap targets on mobile
*/
.DataGrid {
/* Container */
}
.DataGrid {
/* Loading State */
}
.DataGrid .datagrid-loading {
text-align: center;
padding: 60px 20px;
}
.DataGrid .datagrid-loading .spinner-border {
width: 3rem;
height: 3rem;
}
.DataGrid {
/* Desktop: Table Layout */
}
.DataGrid table thead th {
background-color: #f8f9fa;
border-bottom: 2px solid #dee2e6;
font-weight: 600;
white-space: nowrap;
vertical-align: middle;
padding: 0.75rem 0.75rem;
}
.DataGrid table thead th .sortable-header {
cursor: pointer;
user-select: none;
color: inherit;
text-decoration: none;
display: inline-flex;
align-items: center;
}
.DataGrid table thead th .sortable-header:hover {
color: inherit;
text-decoration: underline;
}
.DataGrid table thead th .sortable-header i {
margin-left: 5px;
font-size: 0.8em;
vertical-align: middle;
color: #0d6efd;
}
.DataGrid table tbody {
display: table-row-group;
position: relative;
}
.DataGrid table tbody.is-loading tr.loading-row td,
.DataGrid table tbody.is-loading tr.empty-row td, .DataGrid table tbody.is-empty tr.loading-row td,
.DataGrid table tbody.is-empty tr.empty-row td {
vertical-align: middle;
height: 100%;
}
.DataGrid table tbody tr:hover:not(.loading-row):not(.empty-row) {
background-color: #f8f9fa;
}
.DataGrid table tbody tr td {
vertical-align: middle;
padding: 0 0.75rem;
}
.DataGrid table tbody tr td .datagrid-row-link {
display: block;
color: inherit;
text-decoration: none;
width: 100%;
height: 100%;
}
.DataGrid table tbody tr td .datagrid-row-link:hover {
color: inherit;
text-decoration: none;
}
.DataGrid table tbody tr td.has-only-text {
padding: 0.75rem 0.75rem;
}
.DataGrid table tbody tr td.has-full-link {
padding: 0;
}
.DataGrid table tbody tr td.has-full-link > a {
display: block;
padding: 0.75rem 0.75rem;
color: inherit;
text-decoration: none;
}
.DataGrid table tbody tr td.has-full-link > a:hover {
color: inherit;
text-decoration: none;
}
.DataGrid table th:first-child,
.DataGrid table td:first-child {
text-align: center;
width: 40px;
}
.DataGrid {
/* Empty State */
}
.DataGrid .datagrid-empty {
text-align: center;
padding: 60px 20px;
}
.DataGrid .datagrid-empty i {
display: block;
margin-bottom: 1rem;
}
.DataGrid {
/* Mobile Responsive (< 768px) - Phase 1 keeps table, will add cards later */
}
@media (max-width: 767px) {
.DataGrid table {
font-size: 0.875rem;
}
.DataGrid table thead th {
padding: 0.5025rem 0.5025rem;
}
.DataGrid table tbody td {
padding: 0 0.5025rem;
}
.DataGrid table tbody td.has-only-text {
padding: 0.5025rem 0.5025rem;
}
.DataGrid table tbody td.has-full-link > a {
padding: 0.5025rem 0.5025rem;
}
}
.DataGrid {
/* Print Styles */
}
@media print {
.DataGrid input[type=checkbox] {
display: none !important;
}
.DataGrid .datagrid-table-wrapper {
overflow: visible;
}
.DataGrid .datagrid-table tbody tr:hover {
background-color: transparent;
}
}
/* ======= FILE: rsx/theme/components/_archived/unfinished/activity_feed.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/actor_reference.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/advanced_search_panel.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/alert_banner.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/avatar.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/blockquote.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/breadcrumbs.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/bulk_action_bar.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/bulk_selection.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/button_group.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/button_primary.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/button_secondary.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/button.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/calendar_event.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/calendar_grid.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/card.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/chart_component.scss ======= */
.Frontend_Dashboard .chart-placeholder {
min-height: 300px;
}
/* ======= FILE: rsx/theme/components/_archived/unfinished/checkbox.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/code_block.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/column_visibility_toggle.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/comment_thread.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/date_picker.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/dropdown_menu.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/empty_state.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/export_button.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/file_upload.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/filter_bar.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/form_field_group.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/form_validation_message.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/gantt_chart.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/icon_button.scss ======= */
.Icon_Button {
padding: 0.375rem;
display: inline-flex;
align-items: center;
justify-content: center;
}
.Icon_Button .Icon {
display: block;
margin: 0;
}
/* ======= FILE: rsx/theme/components/_archived/unfinished/icon_with_label.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/icon_with_text.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/icon.scss ======= */
.icon {
display: inline-block;
width: 1.5rem;
height: 1.5rem;
vertical-align: middle;
}
.icon.icon-xs {
width: 1rem;
height: 1rem;
}
.icon.icon-sm {
width: 1.25rem;
height: 1.25rem;
}
.icon.icon-lg {
width: 2rem;
height: 2rem;
}
.icon.icon-xl {
width: 3rem;
height: 3rem;
}
.icon.icon-xxs {
width: 0.75rem;
height: 0.75rem;
}
/* ======= FILE: rsx/theme/components/_archived/unfinished/info_box.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/inline_edit_field.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/input_with_icon.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/input_with_validation.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/input.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/kanban_board.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/link.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/list.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/loading_skeleton.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/metric_card.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/mobile_header.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/modal_dialog.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/multi_select.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/notification_badge.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/notification_dropdown.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/overdue_indicator.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/page_header.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/page_section.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/page.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/popover.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/progress_bar.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/radio_button.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/rich_text_editor.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/row_action_menu.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/search_bar.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/searchable_select.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/select_dropdown.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/sidebar_nav.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/sortable_column_header.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/spinner.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/stat_card.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/status_badge.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/tab_content.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/table_pagination.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/table.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/tabs.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/tag_group.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/tag.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/text_display.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/textarea.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/three_column_layout.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/time_picker.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/timeline.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/timestamp_display.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/tooltip.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/top_nav.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/trend_indicator.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/two_column_layout.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/user_avatar_dropdown.scss ======= */
/* ======= FILE: rsx/theme/components/modal/rsx_modal.scss ======= */
/**
* Rsx_Modal Styling
*
* Overrides Bootstrap modal defaults to implement custom sizing and behavior
*/
.rsx-modal.modal {
display: flex !important;
align-items: center;
justify-content: center;
opacity: 0;
}
.rsx-modal.modal.show {
opacity: 1;
}
.rsx-modal .modal-dialog {
margin: 0;
max-width: none;
width: auto;
min-width: 400px;
}
.rsx-modal .modal-content {
max-height: 100%;
display: flex;
flex-direction: column;
min-height: 260px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.rsx-modal .modal-header {
flex-shrink: 0;
border-bottom: 1px solid #dee2e6;
background-color: #f8f9fa;
padding: 0.75rem 1rem;
}
.rsx-modal .modal-header .modal-title {
font-weight: 600;
font-size: 1rem;
}
.rsx-modal .modal-header .btn-close {
padding: 0.5rem;
margin: -0.5rem -0.5rem -0.5rem auto;
}
.rsx-modal .modal-body {
flex: 1 1 auto;
overflow-y: auto;
padding: 1.5rem;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
}
.rsx-modal .modal-body form {
text-align: left;
width: 100%;
}
.rsx-modal .modal-body.has-icon {
justify-content: flex-start;
text-align: left;
}
.rsx-modal .modal-body.has-icon .modal-icon {
flex-shrink: 0;
font-size: 40px;
margin-right: 1rem;
align-self: flex-start;
}
.rsx-modal .modal-body.has-icon .modal-icon.bi-exclamation-circle {
color: #dc3545;
}
.rsx-modal .modal-body.has-icon .modal-body-content {
flex: 1;
}
.rsx-modal .modal-footer {
flex-shrink: 0;
border-top: 1px solid #dee2e6;
padding: 1rem 1.5rem;
display: flex;
gap: 0.5rem;
justify-content: center;
}
.rsx-modal .modal-footer .btn {
min-width: 80px;
}
.rsx-modal .modal-dialog {
transition: transform 150ms ease-out, opacity 150ms ease-out;
}
.modal-backdrop {
position: fixed;
top: 0;
left: 0;
z-index: 1040;
width: 100vw;
height: 100vh;
background-color: rgba(0, 0, 0, 0.5);
}
.modal-backdrop.fade {
opacity: 1;
transition: none;
}
.rsx-modal {
z-index: 1050;
}
@media (max-width: 767px) {
.rsx-modal .modal-dialog {
margin: 5%;
max-width: 90%;
min-width: 280px;
}
.rsx-modal .modal-body {
padding: 1rem;
}
.rsx-modal .modal-footer {
padding: 0.75rem 1rem;
}
.rsx-modal .modal-footer .btn {
min-width: 60px;
font-size: 0.875rem;
}
}
.rsx-modal .modal-body .is-invalid {
border-color: #dc3545;
}
.rsx-modal .modal-body .invalid-feedback {
display: block;
color: #dc3545;
font-size: 0.875rem;
margin-top: 0.25rem;
}
.rsx-modal .modal-body .alert {
margin-bottom: 1rem;
}
/* ======= FILE: rsx/theme/components/forms/pin_verification_form.scss ======= */
.Pin_Verification_Form .pin-inputs .pin-input {
width: 50px;
height: 60px;
font-size: 24px;
font-weight: 600;
padding: 0;
border: 2px solid #dee2e6;
border-radius: 8px;
transition: all 0.2s ease;
}
.Pin_Verification_Form .pin-inputs .pin-input:focus {
border-color: #0d6efd;
box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
outline: 0;
}
.Pin_Verification_Form .pin-inputs .pin-input.is-invalid {
border-color: #dc3545;
}
.Pin_Verification_Form .text-muted {
margin-top: 10px;
}
/* ======= FILE: rsx/theme/layout.scss ======= */
.page-content--constrained {
max-width: 1600px;
margin: 0 auto;
}
.page-content--constrained-wider {
max-width: 1800px;
margin: 0 auto;
}
/* ======= FILE: rsx/app/frontend/dashboard/frontend_dashboard.scss ======= */
/* ======= FILE: rsx/app/frontend/clients/frontend_clients.scss ======= */
/* ======= FILE: rsx/app/frontend/clients/edit/frontend_clients_edit.scss ======= */
/* ======= FILE: rsx/app/frontend/clients/view/frontend_clients_view.scss ======= */
/* ======= FILE: rsx/app/frontend/settings/team/frontend_settings_team.scss ======= */
/* ======= FILE: rsx/app/frontend/settings/notifications/frontend_settings_notifications.scss ======= */
/* ======= FILE: rsx/app/frontend/settings/billing/frontend_settings_billing.scss ======= */
/* ======= FILE: rsx/app/frontend/settings/import/frontend_settings_import.scss ======= */
/* ======= FILE: rsx/app/frontend/settings/api/frontend_settings_api.scss ======= */
/* ======= FILE: rsx/app/frontend/settings/templates/frontend_settings_templates.scss ======= */
/* ======= FILE: rsx/app/frontend/settings/audit/frontend_settings_audit.scss ======= */
/* ======= FILE: rsx/app/frontend/settings/frontend_settings.scss ======= */
/**
* Frontend Settings - Unified Styles
* Shared styles for all settings pages (general, profile, account)
*/
.frontend-settings .sidebar {
min-height: calc(100vh - 56px);
padding: 0;
box-shadow: inset -1px 0 0 rgba(0, 0, 0, 0.1);
}
.frontend-settings .sidebar .position-sticky {
top: 1rem;
}
.frontend-settings .sidebar .sidebar-heading {
font-size: 0.75rem;
font-weight: 600;
letter-spacing: 0.05em;
}
.frontend-settings .sidebar .nav-link {
font-weight: 500;
color: #333;
padding: 0.5rem 1.5rem;
transition: background-color 0.2s, color 0.2s;
}
.frontend-settings .sidebar .nav-link i {
width: 20px;
margin-right: 0.5rem;
}
.frontend-settings .sidebar .nav-link:hover {
background-color: rgba(0, 0, 0, 0.05);
}
.frontend-settings .sidebar .nav-link.active {
color: #0d6efd;
background-color: rgba(13, 110, 253, 0.1);
border-left: 3px solid #0d6efd;
padding-left: calc(1.5rem - 3px);
}
.frontend-settings main {
padding-top: 1rem;
}
.frontend-settings .page-header {
border-bottom: 1px solid #dee2e6;
padding-bottom: 1rem;
margin-bottom: 2rem;
}
.frontend-settings .page-header h1 {
font-weight: 500;
}
.frontend-settings .card {
border: 1px solid rgba(0, 0, 0, 0.125);
box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
margin-bottom: 1.5rem;
}
.frontend-settings .card .card-header {
background-color: #f8f9fa;
border-bottom: 1px solid rgba(0, 0, 0, 0.125);
padding: 1rem 1.25rem;
}
.frontend-settings .card .card-header h5,
.frontend-settings .card .card-header h6 {
margin-bottom: 0;
font-weight: 600;
}
.frontend-settings .card .card-body {
padding: 1.25rem;
}
.frontend-settings .form-label {
font-weight: 500;
margin-bottom: 0.5rem;
}
.frontend-settings .form-text {
font-size: 0.875em;
color: #6c757d;
}
.frontend-settings .usage-metric .progress {
background-color: #e9ecef;
}
.frontend-settings .usage-metric .progress .progress-bar {
background-color: #0d6efd;
}
.frontend-settings .usage-metric small {
font-size: 0.875rem;
}
.frontend-settings .profile-section .avatar-lg {
width: 120px;
height: 120px;
border-radius: 50%;
background-color: #0d6efd;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto;
}
.frontend-settings .profile-section .avatar-lg .avatar-initials {
color: white;
font-size: 2.5rem;
font-weight: 500;
}
.frontend-settings .account-section .subscription-badge {
font-size: 0.875rem;
padding: 0.35em 0.65em;
}
.frontend-settings .account-section .billing-info {
background-color: #f8f9fa;
border-radius: 0.375rem;
padding: 1rem;
margin-top: 1rem;
}
.frontend-settings .card-actions {
display: flex;
gap: 0.5rem;
justify-content: flex-end;
padding-top: 1rem;
border-top: 1px solid #dee2e6;
margin-top: 1rem;
}
.frontend-settings .stats-widget .stat-item {
padding: 0.75rem 0;
border-bottom: 1px solid #e9ecef;
}
.frontend-settings .stats-widget .stat-item:last-child {
border-bottom: none;
}
.frontend-settings .stats-widget .stat-item .stat-label {
font-size: 0.875rem;
color: #6c757d;
}
.frontend-settings .stats-widget .stat-item .stat-value {
font-size: 1.125rem;
font-weight: 600;
color: #212529;
}
@media (max-width: 767.98px) {
.frontend-settings .sidebar {
position: static;
min-height: auto;
padding: 1rem;
}
.frontend-settings main {
padding: 1rem;
}
}
/* ======= FILE: rsx/app/frontend/settings/profile_display/frontend_settings_profile_display.scss ======= */
/* ======= FILE: rsx/app/frontend/settings/profile_edit/frontend_settings_profile_edit.scss ======= */
/* ======= FILE: rsx/app/frontend/settings/user_settings/frontend_settings_user_settings.scss ======= */
/* ======= FILE: rsx/app/frontend/settings/password_security/frontend_settings_password_security.scss ======= */
/* ======= FILE: rsx/app/frontend/settings/api_keys/frontend_settings_api_keys.scss ======= */
/* ======= FILE: rsx/app/frontend/settings/user_management/frontend_settings_user_management.scss ======= */
/* ======= FILE: rsx/app/frontend/settings/site_settings/frontend_settings_site_settings.scss ======= */
/* ======= FILE: rsx/app/frontend/contacts/frontend_contacts.scss ======= */
/* ======= FILE: rsx/app/frontend/contacts/_data_table_qq/data_table.scss ======= */
/* ======= FILE: rsx/app/frontend/contacts/view/frontend_contacts_view.scss ======= */
/* ======= FILE: rsx/app/frontend/projects/frontend_projects.scss ======= */
/* ======= FILE: rsx/app/frontend/projects/frontend_projects_list.scss ======= */
/* ======= FILE: rsx/app/frontend/projects/frontend_projects_view.scss ======= */
/* ======= FILE: rsx/app/frontend/projects/frontend_projects_add.scss ======= */
/* ======= FILE: rsx/app/frontend/tasks/frontend_tasks.scss ======= */
/* ======= FILE: rsx/app/frontend/tasks/frontend_tasks_view.scss ======= */
/* ======= FILE: rsx/app/frontend/tasks/frontend_tasks_add.scss ======= */
/* ======= FILE: rsx/app/frontend/calendar/frontend_calendar.scss ======= */
/* ======= FILE: rsx/app/frontend/calendar/frontend_calendar_event.scss ======= */
/* ======= FILE: rsx/app/frontend/invoices/frontend_invoices.scss ======= */
/* ======= FILE: rsx/app/frontend/invoices/frontend_invoices_view.scss ======= */
/* ======= FILE: rsx/app/frontend/invoices/frontend_invoices_add.scss ======= */
.Frontend_Invoices_Add .invoice-edit-with-sidebar {
display: grid;
grid-template-columns: 280px 1fr;
gap: 1.5rem;
max-width: 1400px;
margin: 0 auto;
padding: 1.5rem;
}
@media (max-width: 992px) {
.Frontend_Invoices_Add .invoice-edit-with-sidebar {
grid-template-columns: 1fr;
}
}
.Frontend_Invoices_Add .invoice-sidebar {
position: sticky;
top: 1.5rem;
height: fit-content;
background: #f8f9fa;
border-radius: 0.5rem;
overflow: hidden;
}
@media (max-width: 992px) {
.Frontend_Invoices_Add .invoice-sidebar {
position: relative;
top: 0;
}
}
.Frontend_Invoices_Add .invoice-sidebar .sidebar-header {
background: white;
border-bottom: 1px solid #dee2e6;
padding: 1rem;
}
.Frontend_Invoices_Add .invoice-sidebar .sidebar-actions {
max-height: calc(100vh - 200px);
overflow-y: auto;
}
.Frontend_Invoices_Add .invoice-main {
min-width: 0;
}
.Frontend_Invoices_Add #lineItemsTable .line-item:hover {
background-color: #f8f9fa;
}
.Frontend_Invoices_Add #lineItemsTable .line-item input.form-control {
border-color: #dee2e6;
}
.Frontend_Invoices_Add #lineItemsTable .line-item input.form-control:focus {
border-color: #86b7fe;
box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.Frontend_Invoices_Add #lineItemsTable .line-item .item-amount {
color: #212529;
}
.Frontend_Invoices_Add #lineItemsTable .line-item .remove-item {
opacity: 0;
transition: opacity 0.15s ease;
}
.Frontend_Invoices_Add #lineItemsTable .line-item:hover .remove-item {
opacity: 1;
}
.Frontend_Invoices_Add .table.table-sm {
margin-bottom: 0;
}
.Frontend_Invoices_Add .table.table-sm td {
border-top: none;
padding: 0.5rem;
}
.Frontend_Invoices_Add .table.table-sm td:first-child {
width: 60%;
}
.Frontend_Invoices_Add .table.table-sm td:last-child {
width: 40%;
}
.Frontend_Invoices_Add .table.table-sm tr.border-top td {
border-top: 2px solid #dee2e6 !important;
padding-top: 0.75rem;
}
@media (max-width: 768px) {
.Frontend_Invoices_Add .invoice-edit-with-sidebar {
padding: 1rem;
}
.Frontend_Invoices_Add #lineItemsTable {
font-size: 0.875rem;
}
.Frontend_Invoices_Add #lineItemsTable input.form-control {
font-size: 0.875rem;
}
}
/* ======= FILE: rsx/app/frontend/reports/frontend_reports.scss ======= */
/* ======= FILE: rsx/app/frontend/reports/frontend_reports_revenue.scss ======= */
/* ======= FILE: rsx/app/frontend/reports/frontend_reports_clients.scss ======= */
/* ======= FILE: rsx/app/frontend/reports/frontend_reports_projects.scss ======= */
/* ======= FILE: rsx/app/frontend/reports/frontend_reports_time.scss ======= */
/* ======= FILE: rsx/app/frontend/account/frontend_account.scss ======= */
/**
* Styles for Frontend_Account view
*/
.account-management {
padding: 2rem 0;
}
.account-management .usage-metric .progress {
background-color: #f0f0f0;
}
.account-management .usage-metric .progress .progress-bar {
background-color: #0d6efd;
}
.account-management .payment-method {
transition: background-color 0.2s;
}
.account-management .payment-method:hover {
background-color: #f8f9fa;
}
.account-management .avatar.avatar-sm {
width: 40px;
height: 40px;
}
.account-management .avatar .avatar-initial {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
font-weight: 500;
color: white;
}
.account-management .table th {
font-weight: 600;
color: #6c757d;
border-bottom-width: 2px;
}
.account-management .table td {
vertical-align: middle;
}
.account-management .card {
border: 1px solid #dee2e6;
box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
}
.account-management .card .card-header {
background-color: #f8f9fa;
border-bottom: 1px solid #dee2e6;
font-weight: 500;
}
.account-management .btn-link {
text-decoration: none;
padding: 0.25rem 0.5rem;
}
.account-management .btn-link:hover {
text-decoration: underline;
}
.account-management .pagination .page-link {
color: #495057;
}
.account-management .pagination .page-link:hover {
background-color: #e9ecef;
}
.account-management .pagination .page-item.active .page-link {
background-color: #0d6efd;
border-color: #0d6efd;
}
.account-management #upgradeModal .card.border-primary {
border-width: 2px;
}
@media (max-width: 768px) {
.account-management .card-header .btn {
font-size: 0.875rem;
}
.account-management .table-responsive {
font-size: 0.875rem;
}
}
/* ======= FILE: rsx/app/frontend/frontend.scss ======= */
body {
margin: 0;
padding: 0;
}
.app-sidebar {
background: #f8f9fa;
width: 215px;
position: fixed;
top: 0;
bottom: 0;
left: 0;
display: flex;
flex-direction: column;
z-index: 1000;
}
.app-sidebar .sidebar-brand {
padding: 0.5rem 1.5rem;
height: 57px;
border-bottom: 1px solid var(--bs-border-color);
background: #212529;
display: flex;
align-items: center;
}
.app-sidebar .sidebar-brand a {
font-size: 1.25rem;
font-weight: 600;
color: white;
text-decoration: none;
}
.app-sidebar .sidebar-brand a:hover {
color: #e9ecef;
}
.app-sidebar .sidebar-nav {
flex: 1;
padding: 1rem;
overflow-y: auto;
}
.app-sidebar .sidebar-nav .nav-section {
margin-bottom: 1.5rem;
}
.app-sidebar .sidebar-nav .nav-section:last-child {
margin-bottom: 0;
}
.app-sidebar .sidebar-nav .nav-section-title {
font-size: 0.75rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.5px;
color: #6c757d;
padding: 0.5rem 1rem;
margin-bottom: 0.25rem;
}
.app-sidebar .sidebar-nav .nav-link {
display: flex;
align-items: center;
padding: 0.75rem 1rem;
margin-bottom: 0.25rem;
color: #495057;
text-decoration: none;
border-radius: 0.375rem;
transition: background-color 0.2s ease, color 0.2s ease;
}
.app-sidebar .sidebar-nav .nav-link i {
font-size: 1.1rem;
width: 1.5rem;
margin-right: 0.5rem;
text-align: center;
}
.app-sidebar .sidebar-nav .nav-link:hover {
background: rgba(13, 110, 253, 0.1);
color: #0d6efd;
}
.app-sidebar .sidebar-nav .nav-link.active {
background: #0d6efd;
color: white;
font-weight: 500;
}
.app-sidebar .sidebar-nav .nav-link.active i {
color: white;
}
.app-sidebar .sidebar-bottom {
padding: 1rem;
border-top: 1px solid var(--bs-border-color);
background: white;
}
.app-sidebar .sidebar-bottom .nav-link {
display: flex;
align-items: center;
padding: 0.75rem 1rem;
color: #495057;
text-decoration: none;
border-radius: 0.375rem;
transition: background-color 0.2s ease, color 0.2s ease;
}
.app-sidebar .sidebar-bottom .nav-link i {
font-size: 1.1rem;
width: 1.5rem;
margin-right: 0.5rem;
text-align: center;
}
.app-sidebar .sidebar-bottom .nav-link:hover {
background: rgba(13, 110, 253, 0.1);
color: #0d6efd;
}
@media (max-width: 991.98px) {
.app-sidebar {
position: static;
width: 100%;
border-right: none;
border-bottom: 1px solid var(--bs-border-color);
}
}
.app-content {
margin-left: 215px;
background: rgb(248, 249, 250);
min-height: calc(100vh - 57px);
}
@media (max-width: 991.98px) {
.app-content {
margin-left: 0;
}
}
.app-header {
background: white;
border-bottom: 1px solid var(--bs-border-color);
height: 57px;
display: flex;
align-items: center;
position: sticky;
top: 0;
z-index: 999;
}
.app-header .user-profile-icon-link {
text-decoration: none;
display: block;
}
.app-header .user-profile-icon {
width: 32px;
height: 32px;
border-radius: 50%;
background: #e9ecef;
display: flex;
align-items: center;
justify-content: center;
}
.app-header .user-profile-icon i {
font-size: 1.25rem;
color: #6c757d;
}
.app-header .user-profile-icon--image {
border: 1px solid #000;
object-fit: cover;
}
.app-header .form-control {
min-width: 200px;
}
.page-content {
padding-top: 30px;
padding-left: 2rem;
padding-right: 2rem;
padding-bottom: 2rem;
}
@media (max-width: 991.98px) {
.page-content {
padding: 1rem;
}
}
.card {
background-color: white;
}
.dashboard-content .activity-icon {
width: 36px;
height: 36px;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}
.dashboard-content .card.bg-primary .card-title,
.dashboard-content .card.bg-success .card-title,
.dashboard-content .card.bg-warning .card-title,
.dashboard-content .card.bg-info .card-title,
.dashboard-content .card.bg-danger .card-title {
font-size: 0.9rem;
text-transform: uppercase;
letter-spacing: 0.5px;
opacity: 0.9;
}
.dashboard-content .card.bg-primary h2,
.dashboard-content .card.bg-success h2,
.dashboard-content .card.bg-warning h2,
.dashboard-content .card.bg-info h2,
.dashboard-content .card.bg-danger h2 {
font-weight: 600;
}
.dashboard-content .progress {
height: 0.5rem;
background-color: #e9ecef;
}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzdG9yYWdlL3JzeC10bXAvc2Nzc19jb21waWxlXzY5MTRlMGJjMzEwNjUvYXBwLnNjc3MiLCJhcHAvUlNwYWRlL0ludGVncmF0aW9ucy9KcWh0bWwvSnFodG1sX0ludGVncmF0aW9uLnNjc3MiLCJyc3gvdGhlbWUvY29tcG9uZW50cy9kYXRhZ3JpZC9kYXRhZ3JpZF9hYnN0cmFjdC5zY3NzIiwicnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvY2hhcnRfY29tcG9uZW50LnNjc3MiLCJyc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9pY29uX2J1dHRvbi5zY3NzIiwicnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvaWNvbi5zY3NzIiwicnN4L3RoZW1lL2NvbXBvbmVudHMvbW9kYWwvcnN4X21vZGFsLnNjc3MiLCJyc3gvdGhlbWUvY29tcG9uZW50cy9mb3Jtcy9waW5fdmVyaWZpY2F0aW9uX2Zvcm0uc2NzcyIsInJzeC90aGVtZS9sYXlvdXQuc2NzcyIsInJzeC9hcHAvZnJvbnRlbmQvc2V0dGluZ3MvZnJvbnRlbmRfc2V0dGluZ3Muc2NzcyIsInJzeC9hcHAvZnJvbnRlbmQvaW52b2ljZXMvZnJvbnRlbmRfaW52b2ljZXNfYWRkLnNjc3MiLCJyc3gvYXBwL2Zyb250ZW5kL2FjY291bnQvZnJvbnRlbmRfYWNjb3VudC5zY3NzIiwicnN4L2FwcC9mcm9udGVuZC9mcm9udGVuZC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBO0FDSEE7RUFDSTs7O0FESUo7QUFFQTtBQUVBO0FBRUE7QUVYQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWtCQTtBQUNJOztBQURKO0FBTUk7O0FBQ0E7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFiWjtBQWlCSTs7QUFLSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFLWjtFQUdJO0VBQ0E7O0FBUVE7QUFBQTtBQUFBO0VBQ0k7RUFDQTs7QUFPWjtFQUNJOztBQUdKO0VBQ0k7RUFDQTs7QUFHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOztBQUtSO0VBQ0k7O0FBSUo7RUFDSTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFRcEI7QUFBQTtFQUVJO0VBQ0E7O0FBNUhaO0FBaUlJOztBQUNBO0VBQ0k7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBeElaO0FBNElJOztBQUNBO0VBQ0k7SUFDSTs7RUFFQTtJQUNJOztFQUdKO0lBQ0k7O0VBRUE7SUFDSTs7RUFHSjtJQUNJOzs7QUE3SnBCO0FBbUtJOztBQUNBO0VBRUk7SUFDSTs7RUFJSjtJQUNJOztFQUlKO0lBQ0k7Ozs7QUZ0TFo7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUc5RUU7RUFDRTs7O0FIK0VKO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FJdElBO0VBRUU7RUFHQTtFQUNBO0VBQ0E7O0FBR0E7RUFDRTtFQUNBOzs7QUo0SEo7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FLbEpBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBR0E7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7O0FMdUhKO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FNM1ZBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFVSTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBS1I7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFJSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUtSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0E7RUFDSTtFQUNBOztBQUlKO0VBQ0k7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUdBO0VBQ0k7O0FBSVI7RUFDSTs7QUFNWjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOzs7QUFPUjtFQUVJOzs7QUFLUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdBO0VBQ0k7RUFDQTs7O0FBS1I7RUFDSTs7O0FBSUo7RUFFUTtJQUNJO0lBQ0E7SUFDQTs7RUFHSjtJQUNJOztFQUdKO0lBQ0k7O0VBRUE7SUFDSTtJQUNBOzs7QUFTUjtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTs7O0FOMEtaO0FBRUE7QU83VlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7O0FBS1o7RUFDSTs7O0FQd1VSO0FBRUE7QVE5Vkk7RUFDSTtFQUNBOztBQUlKO0VBQ0k7RUFDQTs7O0FSd1ZSO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBU25aQTtBQUFBO0FBQUE7QUFBQTtBQU9JO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQSxZQUNJOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBTVo7RUFDSTs7QUFJSjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUtSO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0FBQUE7RUFFSTtFQUNBOztBQUlSO0VBQ0k7O0FBS1I7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFLQTtFQUNJOztBQUVBO0VBQ0k7O0FBSVI7RUFDSTs7QUFNSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7O0FBT1I7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBS1I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBS0E7RUFDSTtFQUNBOztBQUVBO0VBQ0k7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQU1aO0VBQ0k7SUFDSTtJQUNBO0lBQ0E7O0VBR0o7SUFDSTs7OztBVHVOWjtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FVemVJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBUko7SUFTUTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFSSjtJQVNRO0lBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFJUjtFQUNJOztBQU1JO0VBQ0k7O0FBR0o7RUFDSTs7QUFFQTtFQUNJO0VBQ0E7O0FBSVI7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTs7QUFNWjtFQUNJOztBQUVBO0VBQ0k7RUFDQTs7QUFFQTtFQUNJOztBQUdKO0VBQ0k7O0FBSVI7RUFDSTtFQUNBOztBQUtSO0VBQ0k7SUFDSTs7RUFHSjtJQUNJOztFQUVBO0lBQ0k7Ozs7QVZpWWhCO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBV25nQkE7QUFBQTtBQUFBO0FBR0E7RUFDSTs7QUFJSTtFQUNJOztBQUVBO0VBQ0k7O0FBTVo7RUFDSTs7QUFFQTtFQUNJOztBQU1KO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQU1KO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7O0FBS1I7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBOztBQUtSO0VBQ0k7RUFDQTs7QUFFQTtFQUNJOztBQU1KO0VBQ0k7O0FBRUE7RUFDSTs7QUFJUjtFQUNJO0VBQ0E7O0FBYUE7RUFDSTs7QUFNWjtFQUVRO0lBQ0k7O0VBSVI7SUFDSTs7OztBWDhZWjtBQUVBO0FZdmRBO0VBQ0k7RUFDQTs7O0FBSUo7RUFDSTtFQUVBLE9BakRZO0VBa0RaO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdBO0VBQ0k7RUFDQSxRQTFEUTtFQTJEUjtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBTVo7RUFDSTtFQUNBO0VBQ0E7O0FBR0E7RUFDSTs7QUFFQTtFQUNJOztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxlQS9GYTtFQWdHYixZQUNJOztBQUdKO0VBQ0k7RUFDQSxPQXBHQztFQXFHRDtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQU9oQjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxlQXhJYTtFQXlJYixZQUNJOztBQUdKO0VBQ0k7RUFDQSxPQTdJQztFQThJRDtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFNWjtFQTlISjtJQStIUTtJQUNBO0lBQ0E7SUFDQTs7OztBQUtSO0VBQ0ksYUF0TFk7RUF1TFo7RUFDQTs7QUFFQTtFQUxKO0lBTVE7Ozs7QUFLUjtFQUNJO0VBQ0E7RUFDQSxRQWhNWTtFQWlNWjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFHSjtFQUNJLE9BM0xpQjtFQTRMakIsUUE1TGlCO0VBNkxqQjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBSVI7RUFDSTs7O0FBS1I7RUFFSSxhQXJPdUI7RUFzT3ZCLGNBck84QjtFQXNPOUIsZUF0TzhCO0VBdU85QixnQkF0TzBCOztBQXdPMUI7RUFQSjtJQVFROzs7O0FBS1I7RUFDSTs7O0FBT0E7RUFDSSxPQXZPYTtFQXdPYixRQXhPYTtFQXlPYjtFQUNBO0VBQ0E7RUFDQTs7QUFTQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNJOztBQUtSO0VBQ0ksUUFoUWM7RUFpUWQ7OztBWnFPUiIsInNvdXJjZXNDb250ZW50IjpbIi8vIE1hc3RlciBTQ1NTIGZpbGUgLSBHZW5lcmF0ZWQgYnkgU2Nzc1Byb2Nlc3NvclxuLy8gVGhpcyBmaWxlIGltcG9ydHMgYWxsIFNDU1MgZmlsZXMgaW4gdGhlIGJ1bmRsZSBpbiBvcmRlclxuXG4vKiA9PT09PT09PT09PT0gU1RBUlQ6IGFwcC9SU3BhZGUvSW50ZWdyYXRpb25zL0pxaHRtbC9KcWh0bWxfSW50ZWdyYXRpb24uc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvYXBwXFwvUlNwYWRlXFwvSW50ZWdyYXRpb25zXFwvSnFodG1sXFwvSnFodG1sX0ludGVncmF0aW9uLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IGFwcC9SU3BhZGUvSW50ZWdyYXRpb25zL0pxaHRtbC9KcWh0bWxfSW50ZWdyYXRpb24uc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvdmFyaWFibGVzLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvdmFyaWFibGVzLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS92YXJpYWJsZXMuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9kYXRhZ3JpZC9kYXRhZ3JpZF9hYnN0cmFjdC5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9kYXRhZ3JpZFxcL2RhdGFncmlkX2Fic3RyYWN0LnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL2RhdGFncmlkL2RhdGFncmlkX2Fic3RyYWN0LnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvYWN0aXZpdHlfZmVlZC5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvYWN0aXZpdHlfZmVlZC5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9hY3Rpdml0eV9mZWVkLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvYWN0b3JfcmVmZXJlbmNlLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC9hY3Rvcl9yZWZlcmVuY2Uuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvYWN0b3JfcmVmZXJlbmNlLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvYWR2YW5jZWRfc2VhcmNoX3BhbmVsLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC9hZHZhbmNlZF9zZWFyY2hfcGFuZWwuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvYWR2YW5jZWRfc2VhcmNoX3BhbmVsLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvYWxlcnRfYmFubmVyLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC9hbGVydF9iYW5uZXIuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvYWxlcnRfYmFubmVyLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvYXZhdGFyLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC9hdmF0YXIuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvYXZhdGFyLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvYmxvY2txdW90ZS5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvYmxvY2txdW90ZS5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9ibG9ja3F1b3RlLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvYnJlYWRjcnVtYnMuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL2JyZWFkY3J1bWJzLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL2JyZWFkY3J1bWJzLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvYnVsa19hY3Rpb25fYmFyLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC9idWxrX2FjdGlvbl9iYXIuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvYnVsa19hY3Rpb25fYmFyLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvYnVsa19zZWxlY3Rpb24uc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL2J1bGtfc2VsZWN0aW9uLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL2J1bGtfc2VsZWN0aW9uLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvYnV0dG9uX2dyb3VwLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC9idXR0b25fZ3JvdXAuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvYnV0dG9uX2dyb3VwLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvYnV0dG9uX3ByaW1hcnkuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL2J1dHRvbl9wcmltYXJ5LnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL2J1dHRvbl9wcmltYXJ5LnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvYnV0dG9uX3NlY29uZGFyeS5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvYnV0dG9uX3NlY29uZGFyeS5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9idXR0b25fc2Vjb25kYXJ5LnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvYnV0dG9uLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC9idXR0b24uc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvYnV0dG9uLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvY2FsZW5kYXJfZXZlbnQuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL2NhbGVuZGFyX2V2ZW50LnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL2NhbGVuZGFyX2V2ZW50LnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvY2FsZW5kYXJfZ3JpZC5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvY2FsZW5kYXJfZ3JpZC5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9jYWxlbmRhcl9ncmlkLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvY2FyZC5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvY2FyZC5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9jYXJkLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvY2hhcnRfY29tcG9uZW50LnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC9jaGFydF9jb21wb25lbnQuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvY2hhcnRfY29tcG9uZW50LnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvY2hlY2tib3guc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL2NoZWNrYm94LnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL2NoZWNrYm94LnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvY29kZV9ibG9jay5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvY29kZV9ibG9jay5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9jb2RlX2Jsb2NrLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvY29sdW1uX3Zpc2liaWxpdHlfdG9nZ2xlLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC9jb2x1bW5fdmlzaWJpbGl0eV90b2dnbGUuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvY29sdW1uX3Zpc2liaWxpdHlfdG9nZ2xlLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvY29tbWVudF90aHJlYWQuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL2NvbW1lbnRfdGhyZWFkLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL2NvbW1lbnRfdGhyZWFkLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvZGF0ZV9waWNrZXIuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL2RhdGVfcGlja2VyLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL2RhdGVfcGlja2VyLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvZHJvcGRvd25fbWVudS5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvZHJvcGRvd25fbWVudS5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9kcm9wZG93bl9tZW51LnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvZW1wdHlfc3RhdGUuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL2VtcHR5X3N0YXRlLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL2VtcHR5X3N0YXRlLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvZXhwb3J0X2J1dHRvbi5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvZXhwb3J0X2J1dHRvbi5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9leHBvcnRfYnV0dG9uLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvZmlsZV91cGxvYWQuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL2ZpbGVfdXBsb2FkLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL2ZpbGVfdXBsb2FkLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvZmlsdGVyX2Jhci5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvZmlsdGVyX2Jhci5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9maWx0ZXJfYmFyLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvZm9ybV9maWVsZF9ncm91cC5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvZm9ybV9maWVsZF9ncm91cC5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9mb3JtX2ZpZWxkX2dyb3VwLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvZm9ybV92YWxpZGF0aW9uX21lc3NhZ2Uuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL2Zvcm1fdmFsaWRhdGlvbl9tZXNzYWdlLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL2Zvcm1fdmFsaWRhdGlvbl9tZXNzYWdlLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvZ2FudHRfY2hhcnQuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL2dhbnR0X2NoYXJ0LnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL2dhbnR0X2NoYXJ0LnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvaWNvbl9idXR0b24uc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL2ljb25fYnV0dG9uLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL2ljb25fYnV0dG9uLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvaWNvbl93aXRoX2xhYmVsLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC9pY29uX3dpdGhfbGFiZWwuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvaWNvbl93aXRoX2xhYmVsLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvaWNvbl93aXRoX3RleHQuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL2ljb25fd2l0aF90ZXh0LnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL2ljb25fd2l0aF90ZXh0LnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvaWNvbi5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvaWNvbi5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9pY29uLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvaW5mb19ib3guc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL2luZm9fYm94LnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL2luZm9fYm94LnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvaW5saW5lX2VkaXRfZmllbGQuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL2lubGluZV9lZGl0X2ZpZWxkLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL2lubGluZV9lZGl0X2ZpZWxkLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvaW5wdXRfd2l0aF9pY29uLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC9pbnB1dF93aXRoX2ljb24uc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvaW5wdXRfd2l0aF9pY29uLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvaW5wdXRfd2l0aF92YWxpZGF0aW9uLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC9pbnB1dF93aXRoX3ZhbGlkYXRpb24uc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvaW5wdXRfd2l0aF92YWxpZGF0aW9uLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvaW5wdXQuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL2lucHV0LnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL2lucHV0LnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQva2FuYmFuX2JvYXJkLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC9rYW5iYW5fYm9hcmQuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQva2FuYmFuX2JvYXJkLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvbGluay5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvbGluay5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9saW5rLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvbGlzdC5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvbGlzdC5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9saXN0LnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvbG9hZGluZ19za2VsZXRvbi5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvbG9hZGluZ19za2VsZXRvbi5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9sb2FkaW5nX3NrZWxldG9uLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvbWV0cmljX2NhcmQuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL21ldHJpY19jYXJkLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL21ldHJpY19jYXJkLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvbW9iaWxlX2hlYWRlci5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvbW9iaWxlX2hlYWRlci5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9tb2JpbGVfaGVhZGVyLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvbW9kYWxfZGlhbG9nLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC9tb2RhbF9kaWFsb2cuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvbW9kYWxfZGlhbG9nLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvbXVsdGlfc2VsZWN0LnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC9tdWx0aV9zZWxlY3Quc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvbXVsdGlfc2VsZWN0LnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvbm90aWZpY2F0aW9uX2JhZGdlLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC9ub3RpZmljYXRpb25fYmFkZ2Uuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvbm90aWZpY2F0aW9uX2JhZGdlLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvbm90aWZpY2F0aW9uX2Ryb3Bkb3duLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC9ub3RpZmljYXRpb25fZHJvcGRvd24uc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvbm90aWZpY2F0aW9uX2Ryb3Bkb3duLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvb3ZlcmR1ZV9pbmRpY2F0b3Iuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL292ZXJkdWVfaW5kaWNhdG9yLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL292ZXJkdWVfaW5kaWNhdG9yLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvcGFnZV9oZWFkZXIuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL3BhZ2VfaGVhZGVyLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL3BhZ2VfaGVhZGVyLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvcGFnZV9zZWN0aW9uLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC9wYWdlX3NlY3Rpb24uc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvcGFnZV9zZWN0aW9uLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvcGFnZS5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvcGFnZS5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9wYWdlLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvcG9wb3Zlci5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvcG9wb3Zlci5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9wb3BvdmVyLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvcHJvZ3Jlc3NfYmFyLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC9wcm9ncmVzc19iYXIuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvcHJvZ3Jlc3NfYmFyLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvcmFkaW9fYnV0dG9uLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC9yYWRpb19idXR0b24uc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvcmFkaW9fYnV0dG9uLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvcmljaF90ZXh0X2VkaXRvci5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvcmljaF90ZXh0X2VkaXRvci5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9yaWNoX3RleHRfZWRpdG9yLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvcm93X2FjdGlvbl9tZW51LnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC9yb3dfYWN0aW9uX21lbnUuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvcm93X2FjdGlvbl9tZW51LnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvc2VhcmNoX2Jhci5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvc2VhcmNoX2Jhci5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9zZWFyY2hfYmFyLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvc2VhcmNoYWJsZV9zZWxlY3Quc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL3NlYXJjaGFibGVfc2VsZWN0LnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL3NlYXJjaGFibGVfc2VsZWN0LnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvc2VsZWN0X2Ryb3Bkb3duLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC9zZWxlY3RfZHJvcGRvd24uc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvc2VsZWN0X2Ryb3Bkb3duLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvc2lkZWJhcl9uYXYuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL3NpZGViYXJfbmF2LnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL3NpZGViYXJfbmF2LnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvc29ydGFibGVfY29sdW1uX2hlYWRlci5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvc29ydGFibGVfY29sdW1uX2hlYWRlci5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9zb3J0YWJsZV9jb2x1bW5faGVhZGVyLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvc3Bpbm5lci5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvc3Bpbm5lci5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9zcGlubmVyLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvc3RhdF9jYXJkLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC9zdGF0X2NhcmQuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvc3RhdF9jYXJkLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvc3RhdHVzX2JhZGdlLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC9zdGF0dXNfYmFkZ2Uuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvc3RhdHVzX2JhZGdlLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvdGFiX2NvbnRlbnQuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL3RhYl9jb250ZW50LnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL3RhYl9jb250ZW50LnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvdGFibGVfcGFnaW5hdGlvbi5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvdGFibGVfcGFnaW5hdGlvbi5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC90YWJsZV9wYWdpbmF0aW9uLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvdGFibGUuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL3RhYmxlLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL3RhYmxlLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvdGFicy5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvdGFicy5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC90YWJzLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvdGFnX2dyb3VwLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC90YWdfZ3JvdXAuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvdGFnX2dyb3VwLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvdGFnLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC90YWcuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvdGFnLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvdGV4dF9kaXNwbGF5LnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC90ZXh0X2Rpc3BsYXkuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvdGV4dF9kaXNwbGF5LnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvdGV4dGFyZWEuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL3RleHRhcmVhLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL3RleHRhcmVhLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvdGhyZWVfY29sdW1uX2xheW91dC5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvdGhyZWVfY29sdW1uX2xheW91dC5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC90aHJlZV9jb2x1bW5fbGF5b3V0LnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvdGltZV9waWNrZXIuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL3RpbWVfcGlja2VyLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL3RpbWVfcGlja2VyLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvdGltZWxpbmUuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL3RpbWVsaW5lLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL3RpbWVsaW5lLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvdGltZXN0YW1wX2Rpc3BsYXkuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL3RpbWVzdGFtcF9kaXNwbGF5LnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL3RpbWVzdGFtcF9kaXNwbGF5LnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvdG9vbHRpcC5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvdG9vbHRpcC5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC90b29sdGlwLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvdG9wX25hdi5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvdG9wX25hdi5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC90b3BfbmF2LnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvdHJlbmRfaW5kaWNhdG9yLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC90cmVuZF9pbmRpY2F0b3Iuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvdHJlbmRfaW5kaWNhdG9yLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvdHdvX2NvbHVtbl9sYXlvdXQuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL3R3b19jb2x1bW5fbGF5b3V0LnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL3R3b19jb2x1bW5fbGF5b3V0LnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvdXNlcl9hdmF0YXJfZHJvcGRvd24uc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL3VzZXJfYXZhdGFyX2Ryb3Bkb3duLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL3VzZXJfYXZhdGFyX2Ryb3Bkb3duLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvbW9kYWwvcnN4X21vZGFsLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL21vZGFsXFwvcnN4X21vZGFsLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL21vZGFsL3JzeF9tb2RhbC5zY3NzID09PT09PT09PT09PSAqL1xuXG4vKiA9PT09PT09PT09PT0gU1RBUlQ6IHJzeC90aGVtZS9jb21wb25lbnRzL2Zvcm1zL3Bpbl92ZXJpZmljYXRpb25fZm9ybS5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9mb3Jtc1xcL3Bpbl92ZXJpZmljYXRpb25fZm9ybS5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9mb3Jtcy9waW5fdmVyaWZpY2F0aW9uX2Zvcm0uc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvbGF5b3V0LnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvbGF5b3V0LnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9sYXlvdXQuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvYXBwL2Zyb250ZW5kL2Rhc2hib2FyZC9mcm9udGVuZF9kYXNoYm9hcmQuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvYXBwXFwvZnJvbnRlbmRcXC9kYXNoYm9hcmRcXC9mcm9udGVuZF9kYXNoYm9hcmQuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L2FwcC9mcm9udGVuZC9kYXNoYm9hcmQvZnJvbnRlbmRfZGFzaGJvYXJkLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L2FwcC9mcm9udGVuZC9jbGllbnRzL2Zyb250ZW5kX2NsaWVudHMuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvYXBwXFwvZnJvbnRlbmRcXC9jbGllbnRzXFwvZnJvbnRlbmRfY2xpZW50cy5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvYXBwL2Zyb250ZW5kL2NsaWVudHMvZnJvbnRlbmRfY2xpZW50cy5zY3NzID09PT09PT09PT09PSAqL1xuXG4vKiA9PT09PT09PT09PT0gU1RBUlQ6IHJzeC9hcHAvZnJvbnRlbmQvY2xpZW50cy9lZGl0L2Zyb250ZW5kX2NsaWVudHNfZWRpdC5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC9hcHBcXC9mcm9udGVuZFxcL2NsaWVudHNcXC9lZGl0XFwvZnJvbnRlbmRfY2xpZW50c19lZGl0LnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC9hcHAvZnJvbnRlbmQvY2xpZW50cy9lZGl0L2Zyb250ZW5kX2NsaWVudHNfZWRpdC5zY3NzID09PT09PT09PT09PSAqL1xuXG4vKiA9PT09PT09PT09PT0gU1RBUlQ6IHJzeC9hcHAvZnJvbnRlbmQvY2xpZW50cy92aWV3L2Zyb250ZW5kX2NsaWVudHNfdmlldy5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC9hcHBcXC9mcm9udGVuZFxcL2NsaWVudHNcXC92aWV3XFwvZnJvbnRlbmRfY2xpZW50c192aWV3LnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC9hcHAvZnJvbnRlbmQvY2xpZW50cy92aWV3L2Zyb250ZW5kX2NsaWVudHNfdmlldy5zY3NzID09PT09PT09PT09PSAqL1xuXG4vKiA9PT09PT09PT09PT0gU1RBUlQ6IHJzeC9hcHAvZnJvbnRlbmQvc2V0dGluZ3MvdGVhbS9mcm9udGVuZF9zZXR0aW5nc190ZWFtLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL2FwcFxcL2Zyb250ZW5kXFwvc2V0dGluZ3NcXC90ZWFtXFwvZnJvbnRlbmRfc2V0dGluZ3NfdGVhbS5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvYXBwL2Zyb250ZW5kL3NldHRpbmdzL3RlYW0vZnJvbnRlbmRfc2V0dGluZ3NfdGVhbS5zY3NzID09PT09PT09PT09PSAqL1xuXG4vKiA9PT09PT09PT09PT0gU1RBUlQ6IHJzeC9hcHAvZnJvbnRlbmQvc2V0dGluZ3Mvbm90aWZpY2F0aW9ucy9mcm9udGVuZF9zZXR0aW5nc19ub3RpZmljYXRpb25zLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL2FwcFxcL2Zyb250ZW5kXFwvc2V0dGluZ3NcXC9ub3RpZmljYXRpb25zXFwvZnJvbnRlbmRfc2V0dGluZ3Nfbm90aWZpY2F0aW9ucy5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvYXBwL2Zyb250ZW5kL3NldHRpbmdzL25vdGlmaWNhdGlvbnMvZnJvbnRlbmRfc2V0dGluZ3Nfbm90aWZpY2F0aW9ucy5zY3NzID09PT09PT09PT09PSAqL1xuXG4vKiA9PT09PT09PT09PT0gU1RBUlQ6IHJzeC9hcHAvZnJvbnRlbmQvc2V0dGluZ3MvYmlsbGluZy9mcm9udGVuZF9zZXR0aW5nc19iaWxsaW5nLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL2FwcFxcL2Zyb250ZW5kXFwvc2V0dGluZ3NcXC9iaWxsaW5nXFwvZnJvbnRlbmRfc2V0dGluZ3NfYmlsbGluZy5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvYXBwL2Zyb250ZW5kL3NldHRpbmdzL2JpbGxpbmcvZnJvbnRlbmRfc2V0dGluZ3NfYmlsbGluZy5zY3NzID09PT09PT09PT09PSAqL1xuXG4vKiA9PT09PT09PT09PT0gU1RBUlQ6IHJzeC9hcHAvZnJvbnRlbmQvc2V0dGluZ3MvaW1wb3J0L2Zyb250ZW5kX3NldHRpbmdzX2ltcG9ydC5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC9hcHBcXC9mcm9udGVuZFxcL3NldHRpbmdzXFwvaW1wb3J0XFwvZnJvbnRlbmRfc2V0dGluZ3NfaW1wb3J0LnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC9hcHAvZnJvbnRlbmQvc2V0dGluZ3MvaW1wb3J0L2Zyb250ZW5kX3NldHRpbmdzX2ltcG9ydC5zY3NzID09PT09PT09PT09PSAqL1xuXG4vKiA9PT09PT09PT09PT0gU1RBUlQ6IHJzeC9hcHAvZnJvbnRlbmQvc2V0dGluZ3MvYXBpL2Zyb250ZW5kX3NldHRpbmdzX2FwaS5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC9hcHBcXC9mcm9udGVuZFxcL3NldHRpbmdzXFwvYXBpXFwvZnJvbnRlbmRfc2V0dGluZ3NfYXBpLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC9hcHAvZnJvbnRlbmQvc2V0dGluZ3MvYXBpL2Zyb250ZW5kX3NldHRpbmdzX2FwaS5zY3NzID09PT09PT09PT09PSAqL1xuXG4vKiA9PT09PT09PT09PT0gU1RBUlQ6IHJzeC9hcHAvZnJvbnRlbmQvc2V0dGluZ3MvdGVtcGxhdGVzL2Zyb250ZW5kX3NldHRpbmdzX3RlbXBsYXRlcy5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC9hcHBcXC9mcm9udGVuZFxcL3NldHRpbmdzXFwvdGVtcGxhdGVzXFwvZnJvbnRlbmRfc2V0dGluZ3NfdGVtcGxhdGVzLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC9hcHAvZnJvbnRlbmQvc2V0dGluZ3MvdGVtcGxhdGVzL2Zyb250ZW5kX3NldHRpbmdzX3RlbXBsYXRlcy5zY3NzID09PT09PT09PT09PSAqL1xuXG4vKiA9PT09PT09PT09PT0gU1RBUlQ6IHJzeC9hcHAvZnJvbnRlbmQvc2V0dGluZ3MvYXVkaXQvZnJvbnRlbmRfc2V0dGluZ3NfYXVkaXQuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvYXBwXFwvZnJvbnRlbmRcXC9zZXR0aW5nc1xcL2F1ZGl0XFwvZnJvbnRlbmRfc2V0dGluZ3NfYXVkaXQuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L2FwcC9mcm9udGVuZC9zZXR0aW5ncy9hdWRpdC9mcm9udGVuZF9zZXR0aW5nc19hdWRpdC5zY3NzID09PT09PT09PT09PSAqL1xuXG4vKiA9PT09PT09PT09PT0gU1RBUlQ6IHJzeC9hcHAvZnJvbnRlbmQvc2V0dGluZ3MvZnJvbnRlbmRfc2V0dGluZ3Muc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvYXBwXFwvZnJvbnRlbmRcXC9zZXR0aW5nc1xcL2Zyb250ZW5kX3NldHRpbmdzLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC9hcHAvZnJvbnRlbmQvc2V0dGluZ3MvZnJvbnRlbmRfc2V0dGluZ3Muc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvYXBwL2Zyb250ZW5kL3NldHRpbmdzL3Byb2ZpbGVfZGlzcGxheS9mcm9udGVuZF9zZXR0aW5nc19wcm9maWxlX2Rpc3BsYXkuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvYXBwXFwvZnJvbnRlbmRcXC9zZXR0aW5nc1xcL3Byb2ZpbGVfZGlzcGxheVxcL2Zyb250ZW5kX3NldHRpbmdzX3Byb2ZpbGVfZGlzcGxheS5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvYXBwL2Zyb250ZW5kL3NldHRpbmdzL3Byb2ZpbGVfZGlzcGxheS9mcm9udGVuZF9zZXR0aW5nc19wcm9maWxlX2Rpc3BsYXkuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvYXBwL2Zyb250ZW5kL3NldHRpbmdzL3Byb2ZpbGVfZWRpdC9mcm9udGVuZF9zZXR0aW5nc19wcm9maWxlX2VkaXQuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvYXBwXFwvZnJvbnRlbmRcXC9zZXR0aW5nc1xcL3Byb2ZpbGVfZWRpdFxcL2Zyb250ZW5kX3NldHRpbmdzX3Byb2ZpbGVfZWRpdC5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvYXBwL2Zyb250ZW5kL3NldHRpbmdzL3Byb2ZpbGVfZWRpdC9mcm9udGVuZF9zZXR0aW5nc19wcm9maWxlX2VkaXQuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvYXBwL2Zyb250ZW5kL3NldHRpbmdzL3VzZXJfc2V0dGluZ3MvZnJvbnRlbmRfc2V0dGluZ3NfdXNlcl9zZXR0aW5ncy5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC9hcHBcXC9mcm9udGVuZFxcL3NldHRpbmdzXFwvdXNlcl9zZXR0aW5nc1xcL2Zyb250ZW5kX3NldHRpbmdzX3VzZXJfc2V0dGluZ3Muc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L2FwcC9mcm9udGVuZC9zZXR0aW5ncy91c2VyX3NldHRpbmdzL2Zyb250ZW5kX3NldHRpbmdzX3VzZXJfc2V0dGluZ3Muc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvYXBwL2Zyb250ZW5kL3NldHRpbmdzL3Bhc3N3b3JkX3NlY3VyaXR5L2Zyb250ZW5kX3NldHRpbmdzX3Bhc3N3b3JkX3NlY3VyaXR5LnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL2FwcFxcL2Zyb250ZW5kXFwvc2V0dGluZ3NcXC9wYXNzd29yZF9zZWN1cml0eVxcL2Zyb250ZW5kX3NldHRpbmdzX3Bhc3N3b3JkX3NlY3VyaXR5LnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC9hcHAvZnJvbnRlbmQvc2V0dGluZ3MvcGFzc3dvcmRfc2VjdXJpdHkvZnJvbnRlbmRfc2V0dGluZ3NfcGFzc3dvcmRfc2VjdXJpdHkuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvYXBwL2Zyb250ZW5kL3NldHRpbmdzL2FwaV9rZXlzL2Zyb250ZW5kX3NldHRpbmdzX2FwaV9rZXlzLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL2FwcFxcL2Zyb250ZW5kXFwvc2V0dGluZ3NcXC9hcGlfa2V5c1xcL2Zyb250ZW5kX3NldHRpbmdzX2FwaV9rZXlzLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC9hcHAvZnJvbnRlbmQvc2V0dGluZ3MvYXBpX2tleXMvZnJvbnRlbmRfc2V0dGluZ3NfYXBpX2tleXMuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvYXBwL2Zyb250ZW5kL3NldHRpbmdzL3VzZXJfbWFuYWdlbWVudC9mcm9udGVuZF9zZXR0aW5nc191c2VyX21hbmFnZW1lbnQuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvYXBwXFwvZnJvbnRlbmRcXC9zZXR0aW5nc1xcL3VzZXJfbWFuYWdlbWVudFxcL2Zyb250ZW5kX3NldHRpbmdzX3VzZXJfbWFuYWdlbWVudC5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvYXBwL2Zyb250ZW5kL3NldHRpbmdzL3VzZXJfbWFuYWdlbWVudC9mcm9udGVuZF9zZXR0aW5nc191c2VyX21hbmFnZW1lbnQuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvYXBwL2Zyb250ZW5kL3NldHRpbmdzL3NpdGVfc2V0dGluZ3MvZnJvbnRlbmRfc2V0dGluZ3Nfc2l0ZV9zZXR0aW5ncy5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC9hcHBcXC9mcm9udGVuZFxcL3NldHRpbmdzXFwvc2l0ZV9zZXR0aW5nc1xcL2Zyb250ZW5kX3NldHRpbmdzX3NpdGVfc2V0dGluZ3Muc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L2FwcC9mcm9udGVuZC9zZXR0aW5ncy9zaXRlX3NldHRpbmdzL2Zyb250ZW5kX3NldHRpbmdzX3NpdGVfc2V0dGluZ3Muc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvYXBwL2Zyb250ZW5kL2NvbnRhY3RzL2Zyb250ZW5kX2NvbnRhY3RzLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL2FwcFxcL2Zyb250ZW5kXFwvY29udGFjdHNcXC9mcm9udGVuZF9jb250YWN0cy5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvYXBwL2Zyb250ZW5kL2NvbnRhY3RzL2Zyb250ZW5kX2NvbnRhY3RzLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L2FwcC9mcm9udGVuZC9jb250YWN0cy9fZGF0YV90YWJsZV9xcS9kYXRhX3RhYmxlLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL2FwcFxcL2Zyb250ZW5kXFwvY29udGFjdHNcXC9fZGF0YV90YWJsZV9xcVxcL2RhdGFfdGFibGUuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L2FwcC9mcm9udGVuZC9jb250YWN0cy9fZGF0YV90YWJsZV9xcS9kYXRhX3RhYmxlLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L2FwcC9mcm9udGVuZC9jb250YWN0cy92aWV3L2Zyb250ZW5kX2NvbnRhY3RzX3ZpZXcuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvYXBwXFwvZnJvbnRlbmRcXC9jb250YWN0c1xcL3ZpZXdcXC9mcm9udGVuZF9jb250YWN0c192aWV3LnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC9hcHAvZnJvbnRlbmQvY29udGFjdHMvdmlldy9mcm9udGVuZF9jb250YWN0c192aWV3LnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L2FwcC9mcm9udGVuZC9wcm9qZWN0cy9mcm9udGVuZF9wcm9qZWN0cy5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC9hcHBcXC9mcm9udGVuZFxcL3Byb2plY3RzXFwvZnJvbnRlbmRfcHJvamVjdHMuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L2FwcC9mcm9udGVuZC9wcm9qZWN0cy9mcm9udGVuZF9wcm9qZWN0cy5zY3NzID09PT09PT09PT09PSAqL1xuXG4vKiA9PT09PT09PT09PT0gU1RBUlQ6IHJzeC9hcHAvZnJvbnRlbmQvcHJvamVjdHMvZnJvbnRlbmRfcHJvamVjdHNfbGlzdC5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC9hcHBcXC9mcm9udGVuZFxcL3Byb2plY3RzXFwvZnJvbnRlbmRfcHJvamVjdHNfbGlzdC5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvYXBwL2Zyb250ZW5kL3Byb2plY3RzL2Zyb250ZW5kX3Byb2plY3RzX2xpc3Quc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvYXBwL2Zyb250ZW5kL3Byb2plY3RzL2Zyb250ZW5kX3Byb2plY3RzX3ZpZXcuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvYXBwXFwvZnJvbnRlbmRcXC9wcm9qZWN0c1xcL2Zyb250ZW5kX3Byb2plY3RzX3ZpZXcuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L2FwcC9mcm9udGVuZC9wcm9qZWN0cy9mcm9udGVuZF9wcm9qZWN0c192aWV3LnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L2FwcC9mcm9udGVuZC9wcm9qZWN0cy9mcm9udGVuZF9wcm9qZWN0c19hZGQuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvYXBwXFwvZnJvbnRlbmRcXC9wcm9qZWN0c1xcL2Zyb250ZW5kX3Byb2plY3RzX2FkZC5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvYXBwL2Zyb250ZW5kL3Byb2plY3RzL2Zyb250ZW5kX3Byb2plY3RzX2FkZC5zY3NzID09PT09PT09PT09PSAqL1xuXG4vKiA9PT09PT09PT09PT0gU1RBUlQ6IHJzeC9hcHAvZnJvbnRlbmQvdGFza3MvZnJvbnRlbmRfdGFza3Muc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvYXBwXFwvZnJvbnRlbmRcXC90YXNrc1xcL2Zyb250ZW5kX3Rhc2tzLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC9hcHAvZnJvbnRlbmQvdGFza3MvZnJvbnRlbmRfdGFza3Muc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvYXBwL2Zyb250ZW5kL3Rhc2tzL2Zyb250ZW5kX3Rhc2tzX3ZpZXcuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvYXBwXFwvZnJvbnRlbmRcXC90YXNrc1xcL2Zyb250ZW5kX3Rhc2tzX3ZpZXcuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L2FwcC9mcm9udGVuZC90YXNrcy9mcm9udGVuZF90YXNrc192aWV3LnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L2FwcC9mcm9udGVuZC90YXNrcy9mcm9udGVuZF90YXNrc19hZGQuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvYXBwXFwvZnJvbnRlbmRcXC90YXNrc1xcL2Zyb250ZW5kX3Rhc2tzX2FkZC5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvYXBwL2Zyb250ZW5kL3Rhc2tzL2Zyb250ZW5kX3Rhc2tzX2FkZC5zY3NzID09PT09PT09PT09PSAqL1xuXG4vKiA9PT09PT09PT09PT0gU1RBUlQ6IHJzeC9hcHAvZnJvbnRlbmQvY2FsZW5kYXIvZnJvbnRlbmRfY2FsZW5kYXIuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvYXBwXFwvZnJvbnRlbmRcXC9jYWxlbmRhclxcL2Zyb250ZW5kX2NhbGVuZGFyLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC9hcHAvZnJvbnRlbmQvY2FsZW5kYXIvZnJvbnRlbmRfY2FsZW5kYXIuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvYXBwL2Zyb250ZW5kL2NhbGVuZGFyL2Zyb250ZW5kX2NhbGVuZGFyX2V2ZW50LnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL2FwcFxcL2Zyb250ZW5kXFwvY2FsZW5kYXJcXC9mcm9udGVuZF9jYWxlbmRhcl9ldmVudC5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvYXBwL2Zyb250ZW5kL2NhbGVuZGFyL2Zyb250ZW5kX2NhbGVuZGFyX2V2ZW50LnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L2FwcC9mcm9udGVuZC9pbnZvaWNlcy9mcm9udGVuZF9pbnZvaWNlcy5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC9hcHBcXC9mcm9udGVuZFxcL2ludm9pY2VzXFwvZnJvbnRlbmRfaW52b2ljZXMuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L2FwcC9mcm9udGVuZC9pbnZvaWNlcy9mcm9udGVuZF9pbnZvaWNlcy5zY3NzID09PT09PT09PT09PSAqL1xuXG4vKiA9PT09PT09PT09PT0gU1RBUlQ6IHJzeC9hcHAvZnJvbnRlbmQvaW52b2ljZXMvZnJvbnRlbmRfaW52b2ljZXNfdmlldy5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC9hcHBcXC9mcm9udGVuZFxcL2ludm9pY2VzXFwvZnJvbnRlbmRfaW52b2ljZXNfdmlldy5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvYXBwL2Zyb250ZW5kL2ludm9pY2VzL2Zyb250ZW5kX2ludm9pY2VzX3ZpZXcuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvYXBwL2Zyb250ZW5kL2ludm9pY2VzL2Zyb250ZW5kX2ludm9pY2VzX2FkZC5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC9hcHBcXC9mcm9udGVuZFxcL2ludm9pY2VzXFwvZnJvbnRlbmRfaW52b2ljZXNfYWRkLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC9hcHAvZnJvbnRlbmQvaW52b2ljZXMvZnJvbnRlbmRfaW52b2ljZXNfYWRkLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L2FwcC9mcm9udGVuZC9yZXBvcnRzL2Zyb250ZW5kX3JlcG9ydHMuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvYXBwXFwvZnJvbnRlbmRcXC9yZXBvcnRzXFwvZnJvbnRlbmRfcmVwb3J0cy5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvYXBwL2Zyb250ZW5kL3JlcG9ydHMvZnJvbnRlbmRfcmVwb3J0cy5zY3NzID09PT09PT09PT09PSAqL1xuXG4vKiA9PT09PT09PT09PT0gU1RBUlQ6IHJzeC9hcHAvZnJvbnRlbmQvcmVwb3J0cy9mcm9udGVuZF9yZXBvcnRzX3JldmVudWUuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvYXBwXFwvZnJvbnRlbmRcXC9yZXBvcnRzXFwvZnJvbnRlbmRfcmVwb3J0c19yZXZlbnVlLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC9hcHAvZnJvbnRlbmQvcmVwb3J0cy9mcm9udGVuZF9yZXBvcnRzX3JldmVudWUuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvYXBwL2Zyb250ZW5kL3JlcG9ydHMvZnJvbnRlbmRfcmVwb3J0c19jbGllbnRzLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL2FwcFxcL2Zyb250ZW5kXFwvcmVwb3J0c1xcL2Zyb250ZW5kX3JlcG9ydHNfY2xpZW50cy5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvYXBwL2Zyb250ZW5kL3JlcG9ydHMvZnJvbnRlbmRfcmVwb3J0c19jbGllbnRzLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L2FwcC9mcm9udGVuZC9yZXBvcnRzL2Zyb250ZW5kX3JlcG9ydHNfcHJvamVjdHMuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvYXBwXFwvZnJvbnRlbmRcXC9yZXBvcnRzXFwvZnJvbnRlbmRfcmVwb3J0c19wcm9qZWN0cy5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvYXBwL2Zyb250ZW5kL3JlcG9ydHMvZnJvbnRlbmRfcmVwb3J0c19wcm9qZWN0cy5zY3NzID09PT09PT09PT09PSAqL1xuXG4vKiA9PT09PT09PT09PT0gU1RBUlQ6IHJzeC9hcHAvZnJvbnRlbmQvcmVwb3J0cy9mcm9udGVuZF9yZXBvcnRzX3RpbWUuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvYXBwXFwvZnJvbnRlbmRcXC9yZXBvcnRzXFwvZnJvbnRlbmRfcmVwb3J0c190aW1lLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC9hcHAvZnJvbnRlbmQvcmVwb3J0cy9mcm9udGVuZF9yZXBvcnRzX3RpbWUuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvYXBwL2Zyb250ZW5kL2FjY291bnQvZnJvbnRlbmRfYWNjb3VudC5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC9hcHBcXC9mcm9udGVuZFxcL2FjY291bnRcXC9mcm9udGVuZF9hY2NvdW50LnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC9hcHAvZnJvbnRlbmQvYWNjb3VudC9mcm9udGVuZF9hY2NvdW50LnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L2FwcC9mcm9udGVuZC9mcm9udGVuZC5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC9hcHBcXC9mcm9udGVuZFxcL2Zyb250ZW5kLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC9hcHAvZnJvbnRlbmQvZnJvbnRlbmQuc2NzcyA9PT09PT09PT09PT0gKi9cbiIsIi5KcWh0bWxfQ29tcG9uZW50X0luaXQge1xuICAgIGRpc3BsYXk6bm9uZTtcbn1cbiIsIi8qKlxuICogRGF0YUdyaWQgQ29tcG9uZW50IFN0eWxlcyAoUGhhc2UgMSlcbiAqXG4gKiAqKlJlc3BvbnNpdmUgU3RyYXRlZ3kqKjpcbiAqIC0gRGVza3RvcCAoPj0gNzY4cHgpOiBUYWJsZSBsYXlvdXRcbiAqIC0gTW9iaWxlICg8IDc2OHB4KTogQ2FyZCBsYXlvdXQgKFBoYXNlIDEgLSBiYXNpYywgd2lsbCBlbmhhbmNlIGluIGZ1dHVyZSlcbiAqXG4gKiAqKkRlc2lnbiBQaGlsb3NvcGh5Kio6XG4gKiAtIENsZWFuLCBtaW5pbWFsIHN0eWxpbmdcbiAqIC0gQm9vdHN0cmFwIDUgY29tcGF0aWJsZVxuICogLSBObyBzaGFkb3dzIG9yIGV4Y2Vzc2l2ZSBib3JkZXJzXG4gKiAtIFRvdWNoLWZyaWVuZGx5IHRhcCB0YXJnZXRzIG9uIG1vYmlsZVxuICovXG5cbi8vIENlbGwgcGFkZGluZyB2YWx1ZXMgKERSWSAtIGRlZmluZWQgb25jZSwgcmV1c2VkIHRocm91Z2hvdXQpXG4kZGF0YWdyaWQtY2VsbC1wYWRkaW5nLXk6IDAuNzVyZW07XG4kZGF0YWdyaWQtY2VsbC1wYWRkaW5nLXg6IDAuNzVyZW07XG5cbi5EYXRhR3JpZCB7XG4gICAgLyogQ29udGFpbmVyICovXG4gICAgJi5jYXJkLWJvZHkge1xuICAgICAgICAvLyBJbmhlcml0cyBCb290c3RyYXAgY2FyZC1ib2R5IHN0eWxlc1xuICAgIH1cblxuICAgIC8qIExvYWRpbmcgU3RhdGUgKi9cbiAgICAuZGF0YWdyaWQtbG9hZGluZyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogNjBweCAyMHB4O1xuXG4gICAgICAgIC5zcGlubmVyLWJvcmRlciB7XG4gICAgICAgICAgICB3aWR0aDogM3JlbTtcbiAgICAgICAgICAgIGhlaWdodDogM3JlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIERlc2t0b3A6IFRhYmxlIExheW91dCAqL1xuICAgIC8vIC5kYXRhZ3JpZC10YWJsZS13cmFwcGVyIHtcbiAgICAvLyBJbmhlcml0cyBCb290c3RyYXAgdGFibGUtcmVzcG9uc2l2ZVxuXG4gICAgdGFibGUge1xuICAgICAgICB0aGVhZCB0aCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNkZWUyZTY7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZGF0YWdyaWQtY2VsbC1wYWRkaW5nLXkgJGRhdGFncmlkLWNlbGwtcGFkZGluZy14O1xuXG4gICAgICAgICAgICAvLyBTb3J0YWJsZSBjb2x1bW4gaGVhZGVyc1xuICAgICAgICAgICAgLnNvcnRhYmxlLWhlYWRlciB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMwZDZlZmQ7IC8vIEJvb3RzdHJhcCBwcmltYXJ5XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGJvZHkge1xuICAgICAgICAgICAgLy8gRml4ZWQgbWluaW11bSBoZWlnaHQgZm9yIGNvbnNpc3RlbnQgbGF5b3V0IChzZXQgZHluYW1pY2FsbHkgdmlhIEpTKVxuICAgICAgICAgICAgLy8gUHJldmVudHMganVtcGluZyB3aGVuIHN3aXRjaGluZyBiZXR3ZWVuIGxvYWRpbmcvZW1wdHkvcmVzdWx0cyBzdGF0ZXNcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgLy8gTG9hZGluZyBhbmQgZW1wdHkgc3RhdGVzXG4gICAgICAgICAgICAmLmlzLWxvYWRpbmcsXG4gICAgICAgICAgICAmLmlzLWVtcHR5IHtcbiAgICAgICAgICAgICAgICAvLyBDZW50ZXIgY29udGVudCB2ZXJ0aWNhbGx5IHdpdGhpbiBmaXhlZCBoZWlnaHRcbiAgICAgICAgICAgICAgICB0ci5sb2FkaW5nLXJvdyxcbiAgICAgICAgICAgICAgICB0ci5lbXB0eS1yb3cge1xuICAgICAgICAgICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGJvZHkgdHIge1xuICAgICAgICAgICAgJjpob3Zlcjpub3QoLmxvYWRpbmctcm93KTpub3QoLmVtcHR5LXJvdykge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgJGRhdGFncmlkLWNlbGwtcGFkZGluZy14O1xuXG4gICAgICAgICAgICAgICAgLy8gQ2VsbCBjb250ZW50cyB3cmFwcGVkIGluIGxpbmtzXG4gICAgICAgICAgICAgICAgLmRhdGFncmlkLXJvdy1saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIFRleHQtb25seSBjZWxscyBnZXQgdmVydGljYWwgcGFkZGluZ1xuICAgICAgICAgICAgICAgICYuaGFzLW9ubHktdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRkYXRhZ3JpZC1jZWxsLXBhZGRpbmcteSAkZGF0YWdyaWQtY2VsbC1wYWRkaW5nLXg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gRnVsbC13aWR0aCBsaW5rIGNlbGxzOiB0cmFuc2ZlciBwYWRkaW5nIGZyb20gY2VsbCB0byBhbmNob3JcbiAgICAgICAgICAgICAgICAmLmhhcy1mdWxsLWxpbmsge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRkYXRhZ3JpZC1jZWxsLXBhZGRpbmcteSAkZGF0YWdyaWQtY2VsbC1wYWRkaW5nLXg7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ2hlY2tib3ggY29sdW1uXG4gICAgICAgIHRoOmZpcnN0LWNoaWxkLFxuICAgICAgICB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyB9XG5cbiAgICAvKiBFbXB0eSBTdGF0ZSAqL1xuICAgIC5kYXRhZ3JpZC1lbXB0eSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogNjBweCAyMHB4O1xuXG4gICAgICAgIGkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogTW9iaWxlIFJlc3BvbnNpdmUgKDwgNzY4cHgpIC0gUGhhc2UgMSBrZWVwcyB0YWJsZSwgd2lsbCBhZGQgY2FyZHMgbGF0ZXIgKi9cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgdGFibGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcblxuICAgICAgICAgICAgdGhlYWQgdGgge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICgkZGF0YWdyaWQtY2VsbC1wYWRkaW5nLXkgKiAwLjY3KSAoJGRhdGFncmlkLWNlbGwtcGFkZGluZy14ICogMC42Nyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRib2R5IHRkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwICgkZGF0YWdyaWQtY2VsbC1wYWRkaW5nLXggKiAwLjY3KTtcblxuICAgICAgICAgICAgICAgICYuaGFzLW9ubHktdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICgkZGF0YWdyaWQtY2VsbC1wYWRkaW5nLXkgKiAwLjY3KSAoJGRhdGFncmlkLWNlbGwtcGFkZGluZy14ICogMC42Nyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5oYXMtZnVsbC1saW5rID4gYSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICgkZGF0YWdyaWQtY2VsbC1wYWRkaW5nLXkgKiAwLjY3KSAoJGRhdGFncmlkLWNlbGwtcGFkZGluZy14ICogMC42Nyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogUHJpbnQgU3R5bGVzICovXG4gICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgLy8gSGlkZSBjaGVja2JveGVzXG4gICAgICAgIGlucHV0W3R5cGU9J2NoZWNrYm94J10ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRXhwYW5kIHRhYmxlIHRvIGZ1bGwgd2lkdGhcbiAgICAgICAgLmRhdGFncmlkLXRhYmxlLXdyYXBwZXIge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSZW1vdmUgaG92ZXIgZWZmZWN0c1xuICAgICAgICAuZGF0YWdyaWQtdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuRnJvbnRlbmRfRGFzaGJvYXJkIHtcbiAgLmNoYXJ0LXBsYWNlaG9sZGVyIHtcbiAgICBtaW4taGVpZ2h0OiAzMDBweDtcbiAgfVxufVxuIiwiLy8gSWNvbiBidXR0b24gLSBpY29uLW9ubHkgYnV0dG9uIHdpdGggcGVyZmVjdCBjZW50ZXJpbmdcbi5JY29uX0J1dHRvbiB7XG4gIC8vIFNxdWFyZSBwYWRkaW5nIGZvciBpY29uLW9ubHkgYnV0dG9uc1xuICBwYWRkaW5nOiAwLjM3NXJlbTtcblxuICAvLyBQZXJmZWN0IGNlbnRlcmluZyB1c2luZyBmbGV4Ym94XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAvLyBJY29uIGRpc3BsYXkgd2l0aGluIGJ1dHRvblxuICAuSWNvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwOyAvLyBPdmVycmlkZSBhbnkgaWNvbiBtYXJnaW5zXG4gIH1cbn1cbiIsIi8vIEljb24gc2l6ZSB1dGlsaXRpZXMgLSBiYXNlZCBvbiBWb2x0IEJvb3RzdHJhcCA1IERhc2hib2FyZFxuLmljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxLjVyZW07ICAvLyAyNHB4IC0gZGVmYXVsdCBzaXplXG4gIGhlaWdodDogMS41cmVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gIC8vIFNpemUgdmFyaWFudHNcbiAgJi5pY29uLXhzIHtcbiAgICB3aWR0aDogMXJlbTsgICAgLy8gMTZweFxuICAgIGhlaWdodDogMXJlbTtcbiAgfVxuXG4gICYuaWNvbi1zbSB7XG4gICAgd2lkdGg6IDEuMjVyZW07IC8vIDIwcHhcbiAgICBoZWlnaHQ6IDEuMjVyZW07XG4gIH1cblxuICAmLmljb24tbGcge1xuICAgIHdpZHRoOiAycmVtOyAgICAvLyAzMnB4XG4gICAgaGVpZ2h0OiAycmVtO1xuICB9XG5cbiAgJi5pY29uLXhsIHtcbiAgICB3aWR0aDogM3JlbTsgICAgLy8gNDhweFxuICAgIGhlaWdodDogM3JlbTtcbiAgfVxuXG4gICYuaWNvbi14eHMge1xuICAgIHdpZHRoOiAwLjc1cmVtOyAvLyAxMnB4XG4gICAgaGVpZ2h0OiAwLjc1cmVtO1xuICB9XG59XG4iLCIvKipcbiAqIFJzeF9Nb2RhbCBTdHlsaW5nXG4gKlxuICogT3ZlcnJpZGVzIEJvb3RzdHJhcCBtb2RhbCBkZWZhdWx0cyB0byBpbXBsZW1lbnQgY3VzdG9tIHNpemluZyBhbmQgYmVoYXZpb3JcbiAqL1xuXG4vLyBAU0NTUy1BTklNLTAxLUVYQ0VQVElPTiAtIE1vZGFsIGZseS1pbiBhbmltYXRpb24gaXMgaW50ZW50aW9uYWwgVVhcblxuLnJzeC1tb2RhbCB7XG4gICAgLy8gRGlzcGxheSBhcyBmbGV4IGZvciBjZW50ZXJpbmdcbiAgICAmLm1vZGFsIHtcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgb3BhY2l0eTogMDtcblxuICAgICAgICAmLnNob3cge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpbiwgd2UgY29udHJvbCBwb3NpdGlvbmluZ1xuICAgIC5tb2RhbC1kaWFsb2cge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1pbi13aWR0aDogNDAwcHg7IC8vIE1pbmltdW0gd2lkdGggbGlrZSBzdGFuZGFyZCBPUyBhbGVydCBib3hlc1xuICAgIH1cblxuICAgIC8vIEVuc3VyZSBjb250ZW50IGRvZXNuJ3Qgb3ZlcmZsb3dcbiAgICAubW9kYWwtY29udGVudCB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI2MHB4OyAvLyBNaW5pbXVtIGhlaWdodCBmb3IgcmVhc29uYWJsZSBhcHBlYXJhbmNlXG4gICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjE1KTsgLy8gU3VidGxlIGRyb3Agc2hhZG93XG4gICAgfVxuXG4gICAgLy8gSGVhZGVyIHN0eWxpbmdcbiAgICAubW9kYWwtaGVhZGVyIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGVlMmU2O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhOyAvLyBTbGlnaHQgZ3JheSBiYWNrZ3JvdW5kXG4gICAgICAgIHBhZGRpbmc6IDAuNzVyZW0gMXJlbTsgLy8gU2hvcnRlciBoZWlnaHRcblxuICAgICAgICAubW9kYWwtdGl0bGUge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgLy8gU21hbGxlciBmb250XG4gICAgICAgIH1cblxuICAgICAgICAuYnRuLWNsb3NlIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICAgICAgICAgIG1hcmdpbjogLTAuNXJlbSAtMC41cmVtIC0wLjVyZW0gYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJvZHkgY2FuIHNjcm9sbCBpZiBuZWVkZWRcbiAgICAubW9kYWwtYm9keSB7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgLy8gRm9ybXMgc2hvdWxkIGJlIGxlZnQtYWxpZ25lZFxuICAgICAgICBmb3JtIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFdoZW4gbW9kYWwgaGFzIGFuIGljb25cbiAgICAgICAgJi5oYXMtaWNvbiB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgICAgICAubW9kYWwtaWNvbiB7XG4gICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgICAgICAgICAgLy8gRXJyb3IgaWNvbiBjb2xvclxuICAgICAgICAgICAgICAgICYuYmktZXhjbGFtYXRpb24tY2lyY2xlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNkYzM1NDU7IC8vIEJvb3RzdHJhcCBkYW5nZXIgcmVkXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubW9kYWwtYm9keS1jb250ZW50IHtcbiAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRm9vdGVyIHdpdGggYnV0dG9uc1xuICAgIC5tb2RhbC1mb290ZXIge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZWUyZTY7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMS41cmVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDAuNXJlbTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgLmJ0biB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDgwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIE1vZGFsIGRpYWxvZyB3aXRoIG9wdGlvbmFsIGFuaW1hdGlvblxuLnJzeC1tb2RhbCB7XG4gICAgLm1vZGFsLWRpYWxvZyB7XG4gICAgICAgIC8vIEVuYWJsZSB0cmFuc2l0aW9ucyBmb3IgZmx5LWluIGFuaW1hdGlvblxuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTUwbXMgZWFzZS1vdXQsIG9wYWNpdHkgMTUwbXMgZWFzZS1vdXQ7XG4gICAgfVxufVxuXG4vLyBCYWNrZHJvcCBzdHlsaW5nXG4ubW9kYWwtYmFja2Ryb3Age1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxMDQwO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcblxuICAgIC8vIFJlbW92ZSBiYWNrZHJvcCBmYWRlIHRyYW5zaXRpb25cbiAgICAmLmZhZGUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cbn1cblxuLy8gRW5zdXJlIG1vZGFsIGlzIGFib3ZlIGJhY2tkcm9wXG4ucnN4LW1vZGFsIHtcbiAgICB6LWluZGV4OiAxMDUwO1xufVxuXG4vLyBNb2JpbGUgc3BlY2lmaWMgc3R5bGVzXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAucnN4LW1vZGFsIHtcbiAgICAgICAgLm1vZGFsLWRpYWxvZyB7XG4gICAgICAgICAgICBtYXJnaW46IDUlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA5MCU7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDI4MHB4OyAvLyBTbWFsbGVyIG1pbmltdW0gZm9yIG1vYmlsZSBzY3JlZW5zXG4gICAgICAgIH1cblxuICAgICAgICAubW9kYWwtYm9keSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1vZGFsLWZvb3RlciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjc1cmVtIDFyZW07XG5cbiAgICAgICAgICAgIC5idG4ge1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogNjBweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBGb3JtIGVycm9yIHN0eWxpbmcgd2l0aGluIG1vZGFsc1xuLnJzeC1tb2RhbCB7XG4gICAgLm1vZGFsLWJvZHkge1xuICAgICAgICAuaXMtaW52YWxpZCB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICNkYzM1NDU7XG4gICAgICAgIH1cblxuICAgICAgICAuaW52YWxpZC1mZWVkYmFjayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGNvbG9yOiAjZGMzNTQ1O1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuMjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuYWxlcnQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5QaW5fVmVyaWZpY2F0aW9uX0Zvcm0ge1xuICAgIC5waW4taW5wdXRzIHtcbiAgICAgICAgLnBpbi1pbnB1dCB7XG4gICAgICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2RlZTJlNjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5cbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogIzBkNmVmZDtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjI1cmVtIHJnYmEoMTMsIDExMCwgMjUzLCAwLjI1KTtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmlzLWludmFsaWQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI2RjMzU0NTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50ZXh0LW11dGVkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICB9XG59XG4iLCIvLyBMYXlvdXQgQ29tcG9uZW50IFN0eWxlc1xuXG4vLyBQYWdlIGNvbnRlbnQgY29udGFpbmVyIHdpZHRoIGNvbnRyb2xcbi5wYWdlLWNvbnRlbnQge1xuICAgIC8vIENvbnN0cmFpbmVkIHdpZHRoIChkZWZhdWx0IGZvciBtb3N0IHBhZ2VzIC0gZm9ybXMsIGRldGFpbCB2aWV3cylcbiAgICAmLS1jb25zdHJhaW5lZCB7XG4gICAgICAgIG1heC13aWR0aDogMTYwMHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG5cbiAgICAvLyBXaWRlciBjb25zdHJhaW5lZCB3aWR0aCAoZm9yIHBhZ2VzIG5lZWRpbmcgbW9yZSBob3Jpem9udGFsIHNwYWNlKVxuICAgICYtLWNvbnN0cmFpbmVkLXdpZGVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxODAwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cblxuICAgIC8vIEZ1bGwgd2lkdGggaXMgdGhlIGRlZmF1bHQgd2l0aG91dCB0aGUgbW9kaWZpZXIgY2xhc3NcbiAgICAvLyBEYXRhR3JpZCBwYWdlcywgZGFzaGJvYXJkcywgYW5kIG90aGVyIGRhdGEtZGVuc2UgcGFnZXMgdXNlIHRoaXNcbn1cbiIsIi8qKlxuICogRnJvbnRlbmQgU2V0dGluZ3MgLSBVbmlmaWVkIFN0eWxlc1xuICogU2hhcmVkIHN0eWxlcyBmb3IgYWxsIHNldHRpbmdzIHBhZ2VzIChnZW5lcmFsLCBwcm9maWxlLCBhY2NvdW50KVxuICovXG5cbi5mcm9udGVuZC1zZXR0aW5ncyB7XG4gICAgLy8gU2lkZWJhciBTdHlsZXNcbiAgICAuc2lkZWJhciB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSA1NnB4KTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpO1xuXG4gICAgICAgIC5wb3NpdGlvbi1zdGlja3kge1xuICAgICAgICAgICAgdG9wOiAxcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNpZGViYXItaGVhZGluZyB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXYtbGluayB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgY29sb3I6ICMzMzM7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMS41cmVtO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMsXG4gICAgICAgICAgICAgICAgY29sb3IgMC4ycztcblxuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzBkNmVmZDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEzLCAxMTAsIDI1MywgMC4xKTtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICMwZDZlZmQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKDEuNXJlbSAtIDNweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBNYWluIENvbnRlbnQgQXJlYVxuICAgIG1haW4ge1xuICAgICAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICB9XG5cbiAgICAvLyBQYWdlIEhlYWRlclxuICAgIC5wYWdlLWhlYWRlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGVlMmU2O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcblxuICAgICAgICBoMSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ2FyZCBTdHlsZXNcbiAgICAuY2FyZCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xMjUpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAuMTI1cmVtIDAuMjVyZW0gcmdiYSgwLCAwLCAwLCAwLjA3NSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcblxuICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTI1KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW0gMS4yNXJlbTtcblxuICAgICAgICAgICAgaDUsXG4gICAgICAgICAgICBoNiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNhcmQtYm9keSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjI1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRm9ybSBTdHlsZXNcbiAgICAuZm9ybS1sYWJlbCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICB9XG5cbiAgICAuZm9ybS10ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NWVtO1xuICAgICAgICBjb2xvcjogIzZjNzU3ZDtcbiAgICB9XG5cbiAgICAvLyBVc2FnZSBNZXRyaWNzXG4gICAgLnVzYWdlLW1ldHJpYyB7XG4gICAgICAgIC5wcm9ncmVzcyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmO1xuXG4gICAgICAgICAgICAucHJvZ3Jlc3MtYmFyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGQ2ZWZkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc21hbGwge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFByb2ZpbGUgU2VjdGlvbiBTcGVjaWZpYyBTdHlsZXNcbiAgICAucHJvZmlsZS1zZWN0aW9uIHtcbiAgICAgICAgLmF2YXRhci1sZyB7XG4gICAgICAgICAgICB3aWR0aDogMTIwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEyMHB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBkNmVmZDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgICAgICAgLmF2YXRhci1pbml0aWFscyB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBY2NvdW50IFNlY3Rpb24gU3BlY2lmaWMgU3R5bGVzXG4gICAgLmFjY291bnQtc2VjdGlvbiB7XG4gICAgICAgIC5zdWJzY3JpcHRpb24tYmFkZ2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuMzVlbSAwLjY1ZW07XG4gICAgICAgIH1cblxuICAgICAgICAuYmlsbGluZy1pbmZvIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmE7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIEdyb3VwcyBpbiBDYXJkc1xuICAgIC5jYXJkLWFjdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDAuNXJlbTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGVlMmU2O1xuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIH1cblxuICAgIC8vIFN0YXRzIFdpZGdldFxuICAgIC5zdGF0cy13aWRnZXQge1xuICAgICAgICAuc3RhdC1pdGVtIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNzVyZW0gMDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTllY2VmO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zdGF0LWxhYmVsIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjNmM3NTdkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc3RhdC12YWx1ZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjMjEyNTI5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBhZGp1c3RtZW50c1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAgICAgICAuc2lkZWJhciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgbWluLWhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgIH1cblxuICAgICAgICBtYWluIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIC8vIFNldHRpbmdzIHBhZ2Ugc3R5bGVzXG4vLyAuRnJvbnRlbmRfU2V0dGluZ3Mge1xuLy8gICAgIC8vIFNpZGViYXIgc3R5bGVzXG4vLyAgICAgLnNpZGViYXIge1xuLy8gICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4vLyAgICAgICAgIHRvcDogNTZweDsgLy8gQmVsb3cgbmF2YmFyXG4vLyAgICAgICAgIGJvdHRvbTogMDtcbi8vICAgICAgICAgbGVmdDogMDtcbi8vICAgICAgICAgei1pbmRleDogMTAwO1xuLy8gICAgICAgICBwYWRkaW5nOiA0OHB4IDAgMDtcbi8vICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAuMSk7XG4vLyAgICAgfVxuXG4vLyAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4vLyAgICAgICAgIC5zaWRlYmFyIHtcbi8vICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4vLyAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMXJlbTtcbi8vICAgICAgICAgfVxuLy8gICAgIH1cblxuLy8gICAgIC5zaWRlYmFyLXN0aWNreSB7XG4vLyAgICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDQ4cHgpO1xuLy8gICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4vLyAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4vLyAgICAgfVxuXG4vLyAgICAgLnNpZGViYXIgLm5hdi1saW5rIHtcbi8vICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbi8vICAgICAgICAgY29sb3I6ICMzMzM7XG4vLyAgICAgICAgIHBhZGRpbmc6IC41cmVtIDFyZW07XG5cbi8vICAgICAgICAgaSB7XG4vLyAgICAgICAgICAgICB3aWR0aDogMjBweDtcbi8vICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuLy8gICAgICAgICB9XG5cbi8vICAgICAgICAgJjpob3ZlciB7XG4vLyAgICAgICAgICAgICBjb2xvcjogIzBkNmVmZDtcbi8vICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTMsIDExMCwgMjUzLCAwLjA1KTtcbi8vICAgICAgICAgfVxuXG4vLyAgICAgICAgICYuYWN0aXZlIHtcbi8vICAgICAgICAgICAgIGNvbG9yOiAjMGQ2ZWZkO1xuLy8gICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMywgMTEwLCAyNTMsIDAuMSk7XG4vLyAgICAgICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICMwZDZlZmQ7XG4vLyAgICAgICAgIH1cbi8vICAgICB9XG5cbi8vICAgICAuc2lkZWJhci1oZWFkaW5nIHtcbi8vICAgICAgICAgZm9udC1zaXplOiAuNzVyZW07XG4vLyAgICAgfVxuXG4vLyAgICAgLy8gTWFpbiBjb250ZW50IG9mZnNldCBmb3Igc2lkZWJhclxuLy8gICAgIG1haW4ge1xuLy8gICAgICAgICBtYXJnaW4tbGVmdDogMDtcbi8vICAgICB9XG5cbi8vICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbi8vICAgICAgICAgbWFpbiB7XG4vLyAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbi8vICAgICAgICAgfVxuLy8gICAgIH1cbi8vIH1cblxuLy8gLy8gTW9iaWxlIHNpZGViYXIgdG9nZ2xlIGJ1dHRvblxuLy8gLnNpZGViYXItdG9nZ2xlIHtcbi8vICAgICBwb3NpdGlvbjogZml4ZWQ7XG4vLyAgICAgYm90dG9tOiAyMHB4O1xuLy8gICAgIHJpZ2h0OiAyMHB4O1xuLy8gICAgIHotaW5kZXg6IDEwMTtcbi8vICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4vLyAgICAgd2lkdGg6IDUwcHg7XG4vLyAgICAgaGVpZ2h0OiA1MHB4O1xuLy8gICAgIGRpc3BsYXk6IGZsZXg7XG4vLyAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbi8vICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbi8vICAgICBib3gtc2hhZG93OiAwIDJweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcblxuLy8gICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuLy8gICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4vLyAgICAgfVxuLy8gfVxuIiwiLkZyb250ZW5kX0ludm9pY2VzX0FkZCB7XG4gICAgLy8gU2lkZWJhciBMYXlvdXQgKHNpbWlsYXIgdG8gY2xpZW50IGVkaXQpXG4gICAgLmludm9pY2UtZWRpdC13aXRoLXNpZGViYXIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDI4MHB4IDFmcjtcbiAgICAgICAgZ2FwOiAxLjVyZW07XG4gICAgICAgIG1heC13aWR0aDogMTQwMHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgcGFkZGluZzogMS41cmVtO1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW52b2ljZS1zaWRlYmFyIHtcbiAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgdG9wOiAxLjVyZW07XG4gICAgICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmOGY5ZmE7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zaWRlYmFyLWhlYWRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGVlMmU2O1xuICAgICAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zaWRlYmFyLWFjdGlvbnMge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDIwMHB4KTtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW52b2ljZS1tYWluIHtcbiAgICAgICAgbWluLXdpZHRoOiAwOyAvLyBQcmV2ZW50IGdyaWQgYmxvd291dFxuICAgIH1cblxuICAgIC8vIExpbmUgSXRlbXMgVGFibGVcbiAgICAjbGluZUl0ZW1zVGFibGUge1xuICAgICAgICAubGluZS1pdGVtIHtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlucHV0LmZvcm0tY29udHJvbCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZGVlMmU2O1xuXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogIzg2YjdmZTtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4yNXJlbSByZ2JhKDEzLCAxMTAsIDI1MywgMC4yNSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaXRlbS1hbW91bnQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjMjEyNTI5O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucmVtb3ZlLWl0ZW0ge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIC5yZW1vdmUtaXRlbSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRvdGFscyBUYWJsZVxuICAgIC50YWJsZS50YWJsZS1zbSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgdGQge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbTtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdHIuYm9yZGVyLXRvcCB0ZCB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgI2RlZTJlNiAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDAuNzVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIGFkanVzdG1lbnRzXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC5pbnZvaWNlLWVkaXQtd2l0aC1zaWRlYmFyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgIH1cblxuICAgICAgICAjbGluZUl0ZW1zVGFibGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcblxuICAgICAgICAgICAgaW5wdXQuZm9ybS1jb250cm9sIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBTdHlsZXMgZm9yIEZyb250ZW5kX0FjY291bnQgdmlld1xuICovXG4uYWNjb3VudC1tYW5hZ2VtZW50IHtcbiAgICBwYWRkaW5nOiAycmVtIDA7XG5cbiAgICAvLyBVc2FnZSBtZXRyaWNzXG4gICAgLnVzYWdlLW1ldHJpYyB7XG4gICAgICAgIC5wcm9ncmVzcyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xuXG4gICAgICAgICAgICAucHJvZ3Jlc3MtYmFyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGQ2ZWZkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUGF5bWVudCBtZXRob2RzXG4gICAgLnBheW1lbnQtbWV0aG9kIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEF2YXRhciBpbml0aWFsc1xuICAgIC5hdmF0YXIge1xuICAgICAgICAmLmF2YXRhci1zbSB7XG4gICAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hdmF0YXItaW5pdGlhbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gSW52b2ljZSB0YWJsZVxuICAgIC50YWJsZSB7XG4gICAgICAgIHRoIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBjb2xvcjogIzZjNzU3ZDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDYXJkc1xuICAgIC5jYXJkIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RlZTJlNjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwLjEyNXJlbSAwLjI1cmVtIHJnYmEoMCwgMCwgMCwgMC4wNzUpO1xuXG4gICAgICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZWUyZTY7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uc1xuICAgIC5idG4tbGluayB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFBhZ2luYXRpb25cbiAgICAucGFnaW5hdGlvbiB7XG4gICAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICAgICAgY29sb3I6ICM0OTUwNTc7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWY7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucGFnZS1pdGVtLmFjdGl2ZSAucGFnZS1saW5rIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwZDZlZmQ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICMwZDZlZmQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBNb2RhbCBwcmljaW5nIGNhcmRzXG4gICAgI3VwZ3JhZGVNb2RhbCB7XG4gICAgICAgIC5jYXJkIHtcbiAgICAgICAgICAgIC8vIFJlbW92ZWQgdHJhbnNmb3JtIHRyYW5zaXRpb24gYXMgdHJhbnNmb3JtcyBpbiBob3ZlciBzdGF0ZXMgYXJlIHByb2hpYml0ZWRcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgLy8gVHJhbnNmb3JtIHJlbW92ZWQgLSBlbGVtZW50cyBtdXN0IG5vdCBtb3ZlIG9uIGludGVyYWN0aW9uXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYm9yZGVyLXByaW1hcnkge1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBhZGp1c3RtZW50c1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgLmJ0biB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC50YWJsZS1yZXNwb25zaXZlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIH1cbiAgICB9XG59IiwiLy8gR2VuZXJhbCBzdHlsZXMgZm9yIHRoZSBmcm9udGVuZFxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTEFZT1VUIFZBUklBQkxFU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENvcmUgbGF5b3V0IGRpbWVuc2lvbnMgdGhhdCBkZWZpbmUgdGhlIGFwcGxpY2F0aW9uIHN0cnVjdHVyZVxuXG4vLyBTaWRlYmFyIGRpbWVuc2lvbnNcbiRzaWRlYmFyLXdpZHRoOiAyMTVweDsgLy8gRml4ZWQgc2lkZWJhciB3aWR0aCAoZGVza3RvcClcblxuLy8gSGVhZGVyIGRpbWVuc2lvbnNcbiRoZWFkZXItaGVpZ2h0OiA1N3B4OyAvLyBIZWlnaHQgb2YgdG9wIG5hdmlnYXRpb24gYmFyIGFuZCBzaWRlYmFyIGJyYW5kIGFyZWFcblxuLy8gUGFnZSBjb250ZW50IHNwYWNpbmdcbiRwYWdlLWNvbnRlbnQtcGFkZGluZy10b3A6IDMwcHg7IC8vIFRvcCBwYWRkaW5nIGZvciBtYWluIGNvbnRlbnQgYXJlYVxuJHBhZ2UtY29udGVudC1wYWRkaW5nLWhvcml6b250YWw6IDJyZW07IC8vIExlZnQvcmlnaHQgcGFkZGluZyBmb3IgbWFpbiBjb250ZW50IGFyZWFcbiRwYWdlLWNvbnRlbnQtcGFkZGluZy1ib3R0b206IDJyZW07IC8vIEJvdHRvbSBwYWRkaW5nIGZvciBtYWluIGNvbnRlbnQgYXJlYVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVUkgQ09NUE9ORU5UIFZBUklBQkxFU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIERpbWVuc2lvbnMgYW5kIHN0eWxpbmcgZm9yIHJldXNhYmxlIFVJIGVsZW1lbnRzXG5cbi8vIE5hdmlnYXRpb25cbiRuYXYtbGluay1ib3JkZXItcmFkaXVzOiAwLjM3NXJlbTsgLy8gUm91bmRlZCBjb3JuZXJzIGZvciBuYXZpZ2F0aW9uIGxpbmtzXG4kbmF2LWxpbmstdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4yczsgLy8gSG92ZXIvYWN0aXZlIHN0YXRlIHRyYW5zaXRpb24gc3BlZWRcbiRuYXYtaWNvbi13aWR0aDogMS41cmVtOyAvLyBGaXhlZCB3aWR0aCBmb3IgbmF2aWdhdGlvbiBpY29ucyAoZW5zdXJlcyBhbGlnbm1lbnQpXG5cbi8vIFVzZXIgcHJvZmlsZVxuJHVzZXItcHJvZmlsZS1pY29uLXNpemU6IDMycHg7IC8vIFByb2ZpbGUgcGhvdG8vYXZhdGFyIHNpemUgaW4gaGVhZGVyXG5cbi8vIERhc2hib2FyZCBhY3Rpdml0eVxuJGFjdGl2aXR5LWljb24tc2l6ZTogMzZweDsgLy8gSWNvbiBjb250YWluZXIgc2l6ZSBpbiBhY3Rpdml0eSBmZWVkXG5cbi8vIFByb2dyZXNzIGluZGljYXRvcnNcbiRwcm9ncmVzcy1iYXItaGVpZ2h0OiAwLjVyZW07IC8vIEhlaWdodCBvZiBwcm9ncmVzcyBiYXJzXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBSRVNQT05TSVZFIEJSRUFLUE9JTlRTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU2NyZWVuIHNpemUgdGhyZXNob2xkcyBmb3IgbGF5b3V0IGNoYW5nZXNcblxuJG1vYmlsZS1icmVha3BvaW50OiA5OTEuOThweDsgLy8gQmVsb3cgdGhpczogbW9iaWxlIGxheW91dCwgYWJvdmU6IGRlc2t0b3AgbGF5b3V0XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBMQVlPVVQgU1RSVUNUVVJFXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5ib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLy8gU2lkZWJhciBOYXZpZ2F0aW9uXG4uYXBwLXNpZGViYXIge1xuICAgIGJhY2tncm91bmQ6ICNmOGY5ZmE7XG4gICAgLy8gYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYnMtYm9yZGVyLWNvbG9yKTtcbiAgICB3aWR0aDogJHNpZGViYXItd2lkdGg7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgei1pbmRleDogMTAwMDtcblxuICAgIC8vIEJyYW5kIGFyZWEgKGRlc2t0b3Agb25seSlcbiAgICAuc2lkZWJhci1icmFuZCB7XG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbSAxLjVyZW07XG4gICAgICAgIGhlaWdodDogJGhlYWRlci1oZWlnaHQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1icy1ib3JkZXItY29sb3IpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMjEyNTI5O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNlOWVjZWY7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOYXZpZ2F0aW9uIGxpbmtzXG4gICAgLnNpZGViYXItbmF2IHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgICAgICAvLyBOYXZpZ2F0aW9uIHNlY3Rpb25zXG4gICAgICAgIC5uYXYtc2VjdGlvbiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXYtc2VjdGlvbi10aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICAgICAgICAgIGNvbG9yOiAjNmM3NTdkO1xuICAgICAgICAgICAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5hdi1saW5rIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZzogMC43NXJlbSAxcmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICAgICAgICAgIGNvbG9yOiAjNDk1MDU3O1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJG5hdi1saW5rLWJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgJG5hdi1saW5rLXRyYW5zaXRpb24tZHVyYXRpb24gZWFzZSxcbiAgICAgICAgICAgICAgICBjb2xvciAkbmF2LWxpbmstdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlO1xuXG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgICAgICAgICB3aWR0aDogJG5hdi1pY29uLXdpZHRoO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgxMywgMTEwLCAyNTMsIDAuMSk7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMwZDZlZmQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMGQ2ZWZkO1xuICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCb3R0b20gbmF2aWdhdGlvblxuICAgIC5zaWRlYmFyLWJvdHRvbSB7XG4gICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1icy1ib3JkZXItY29sb3IpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcblxuICAgICAgICAubmF2LWxpbmsge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjc1cmVtIDFyZW07XG4gICAgICAgICAgICBjb2xvcjogIzQ5NTA1NztcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRuYXYtbGluay1ib3JkZXItcmFkaXVzO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yICRuYXYtbGluay10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2UsXG4gICAgICAgICAgICAgICAgY29sb3IgJG5hdi1saW5rLXRyYW5zaXRpb24tZHVyYXRpb24gZWFzZTtcblxuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICAgICAgICAgICAgd2lkdGg6ICRuYXYtaWNvbi13aWR0aDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTMsIDExMCwgMjUzLCAwLjEpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjMGQ2ZWZkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gTW9iaWxlIGFkanVzdG1lbnRzXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtb2JpbGUtYnJlYWtwb2ludCkge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYnMtYm9yZGVyLWNvbG9yKTtcbiAgICB9XG59XG5cbi8vIE1haW4gQ29udGVudCBBcmVhXG4uYXBwLWNvbnRlbnQge1xuICAgIG1hcmdpbi1sZWZ0OiAkc2lkZWJhci13aWR0aDtcbiAgICBiYWNrZ3JvdW5kOiByZ2IoMjQ4LCAyNDksIDI1MCk7IC8vIEdyYXkgYmFja2dyb3VuZCBmaWxscyBmdWxsIHdpZHRoXG4gICAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtICRoZWFkZXItaGVpZ2h0KTsgLy8gQWNjb3VudCBmb3IgaGVhZGVyIGhlaWdodFxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtb2JpbGUtYnJlYWtwb2ludCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG59XG5cbi8vIFRvcCBIZWFkZXIgTmF2YmFyXG4uYXBwLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJzLWJvcmRlci1jb2xvcik7XG4gICAgaGVpZ2h0OiAkaGVhZGVyLWhlaWdodDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogOTk5O1xuXG4gICAgLnVzZXItcHJvZmlsZS1pY29uLWxpbmsge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC51c2VyLXByb2ZpbGUtaWNvbiB7XG4gICAgICAgIHdpZHRoOiAkdXNlci1wcm9maWxlLWljb24tc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiAkdXNlci1wcm9maWxlLWljb24tc2l6ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZTllY2VmO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICBpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgICAgIGNvbG9yOiAjNmM3NTdkO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0taW1hZ2Uge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgfVxufVxuXG4vLyBQYWdlIENvbnRlbnRcbi5wYWdlLWNvbnRlbnQge1xuICAgIC8vIEJhY2tncm91bmQgaXMgbm93IG9uIC5hcHAtY29udGVudCBzbyBpdCBmaWxscyBmdWxsIHdpZHRoXG4gICAgcGFkZGluZy10b3A6ICRwYWdlLWNvbnRlbnQtcGFkZGluZy10b3A7XG4gICAgcGFkZGluZy1sZWZ0OiAkcGFnZS1jb250ZW50LXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkcGFnZS1jb250ZW50LXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHBhZ2UtY29udGVudC1wYWRkaW5nLWJvdHRvbTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbW9iaWxlLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICB9XG59XG5cbi8vIENhcmQgc3R5bGluZ1xuLmNhcmQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuXG4vLyBEYXNoYm9hcmQgQ29udGVudFxuLmRhc2hib2FyZC1jb250ZW50IHtcblxuICAgIC8vIEFjdGl2aXR5IGxpc3Qgc3R5bGluZ1xuICAgIC5hY3Rpdml0eS1pY29uIHtcbiAgICAgICAgd2lkdGg6ICRhY3Rpdml0eS1pY29uLXNpemU7XG4gICAgICAgIGhlaWdodDogJGFjdGl2aXR5LWljb24tc2l6ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC8vIENvbG9yZWQgY2FyZHMgdGV4dCBhZGp1c3RtZW50c1xuICAgIC5jYXJkLmJnLXByaW1hcnksXG4gICAgLmNhcmQuYmctc3VjY2VzcyxcbiAgICAuY2FyZC5iZy13YXJuaW5nLFxuICAgIC5jYXJkLmJnLWluZm8sXG4gICAgLmNhcmQuYmctZGFuZ2VyIHtcbiAgICAgICAgLmNhcmQtdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICAgICAgICAgICAgb3BhY2l0eTogMC45O1xuICAgICAgICB9XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFByb2dyZXNzIGJhcnNcbiAgICAucHJvZ3Jlc3Mge1xuICAgICAgICBoZWlnaHQ6ICRwcm9ncmVzcy1iYXItaGVpZ2h0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmO1xuICAgIH1cbn0iXX0= */