/*

Google Chrome default values for the body tag as retrieved from Developer tools 

body {display: block;margin: 8px;}


Body settings for fixing footer at bottom of page
body {
	margin:0;
	padding:0;
	height:100%;
}

*/
html, body {
  margin: 0;
  padding: 0;
  height: 100%;
}

/*  overall font color also placed in head_section_include_every_page.jsp as JS var _PROXL_DEFAULT_FONT_COLOR = "#545454"; */
BODY {
  color: #545454;
  background-color: #FFFFFF;
  font-size: 14px;
  font-family: arial, sans-serif;
  font-style: normal;
  font-weight: 500;
}

/*  Colors per link type.  Used in Charts and other places.  Also placed in head_section_include_every_page.jsp as JS variables _PROXL_COLOR_LINK_TYPE_... */
.font-color-link-type-crosslink {
  color: #A55353;
}

.font-color-link-type-looplink {
  color: #53A553;
}

.font-color-link-type-unlinked {
  color: #5353A5;
}

.font-color-link-type-all-combined {
  color: #A5A5A5;
}

.table-no-border-no-cell-spacing-no-cell-padding {
  border-width: 0px;
  padding: 0px;
  border-spacing: 0px;
}

.table-no-border-no-cell-spacing-no-cell-padding tbody,
.table-no-border-no-cell-spacing-no-cell-padding tr,
.table-no-border-no-cell-spacing-no-cell-padding th,
.table-no-border-no-cell-spacing-no-cell-padding td,
tr.table-no-border-no-cell-spacing-no-cell-padding,
td.table-no-border-no-cell-spacing-no-cell-padding {
  padding-top: 0px;
  padding-bottom: 0px;
  border-spacing: 0px;
}

tr.table-no-border-no-cell-spacing-no-cell-padding, .table-no-border-no-cell-spacing-no-cell-padding, .table-no-border-no-cell-spacing-no-cell-padding td {
  padding-top: 0px;
  padding-bottom: 0px;
  border-spacing: 0px;
}

.chart-standard-container-div {
  border-width: 1px;
  border-style: solid;
  border-color: #CDCDCD;
  position: relative;
}

/*  TABLE SORTER CSS Override  */
/* Add padding-right so the header text stays to the left of the icons TableSorter adds  */
table.tablesorter thead tr th, table.tablesorter tfoot tr th {
  padding-right: 15px;
  background-color: #FFF0F0;
}

table.tablesorter tbody td {
  padding-right: 15px;
}

/*  END  TABLE SORTER CSS Override  */
/* Highlight a row  */
.highlight-row {
  font-weight: bold;
}

/* This doesn't work since tablesorter background color has a higher specificity
.highlight-row { background-color: #FFF0F0 }
*/
td.highlight-cell {
  background-color: #FFF0F0;
}

A.overide-text-color-to-base-color:link, A.overide-text-color-to-base-color:visited, A.overide-text-color-to-base-color:active, A.overide-text-color-to-base-color:hover {
  color: #545454;
}

.error-text {
  color: #A55353;
}

input {
  font-size: 14px;
}

select {
  font-size: 14px;
}

input[type=radio], input[type=checkbox] {
  vertical-align: middle;
  margin-top: 0px;
  margin-bottom: 0px;
}

/*        
input { font-size:20px;  }
*/
BODY.inset-page, BODY.login-page, BODY.reset-password-page, BODY.reset-password-code-fail-page {
  background-color: #FFF8F8;
}

body.view-merged-image-page .colorpicker {
  z-index: 21;
}

/* */
A:link {
  color: #A55353;
  text-decoration: none;
}

A:visited {
  color: #A55353;
}

A:hover {
  color: green;
  text-decoration: none;
}

A:active {
  color: green;
}

/* Links used for Javascript to show the child data for the given row */
/*
A.show-child-data-link  { color: black; text-decoration: none; }
A.show-child-data-link:link  { color: blue; text-decoration: none; }
A:show-child-data-link:visited  { color: black; }
A:show-child-data-link:hover  { color: green  !important; text-decoration: underline  !important;  }
A:show-child-data-link:active  { text-decoration: underline; }
*/
/* Links used for Javascript to show the search details data  */
label {
  padding-right: 2px;
}

label:hover {
  background-color: #ECECEC;
}

input[type=button], input[type=submit] {
  font-size: 14px;
  color: #FFFFFF;
  background-color: #A55353;
}

input[type=button]:disabled, input[type=submit]:disabled, .disabled-checkbox {
  opacity: 0.6;
  filter: alpha(opacity=60);
}

/* .disabled-checkbox  is put on the span surrounding the checkbox to also impact the label */
.submit-button {
  font-size: 14px;
  color: #FFFFFF;
  background-color: #A55353;
}

/* input[type="button"] */
.submit-button:disabled {
  opacity: 0.6;
  filter: alpha(opacity=60);
}

.non-link {
  opacity: 0.6;
  filter: alpha(opacity=60);
}

.download-svg-link-non-link {
  opacity: 0.6;
  filter: alpha(opacity=60);
}

.structure-link-non-link {
  opacity: 0.6;
  filter: alpha(opacity=60);
}

/* options for the "Download As" hover dropdown menu */
#svg-download {
  position: relative;
  display: inline-block;
}

#svg-download:hover #svg-download-options {
  display: block;
}

#svg-download-options {
  z-index: 10;
  padding-top: 7px;
  display: none;
  position: absolute;
  background-color: #f9f9f9;
  min-width: 160px;
  box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
}

.svg-download-option {
  display: block;
  margin-left: 5px;
}

/*  Duplicate only using class, not  id.  Currently used for download charts for PSMs.  */
/* options for the "Download As" hover dropdown menu */
.svg-download-block {
  position: relative;
  display: inline-block;
}

.svg-download-block:hover .svg-download-options-backing-block {
  display: block;
}

.svg-download-options-backing-block {
  font-size: 12px;
  z-index: 7;
  top: -1px;
  display: none;
  position: absolute;
  width: 160px;
  height: 40px;
}

.svg-download-block:hover .svg-download-options-block {
  display: block;
}

.svg-download-options-block {
  font-size: 12px;
  z-index: 10;
  padding-top: 7px;
  display: none;
  position: absolute;
  background-color: #f9f9f9;
  min-width: 160px;
  box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
}

.svg-download-option {
  display: block;
  margin-left: 5px;
}

#data-download {
  position: relative;
  display: inline-block;
}

#data-download:hover #data-download-options {
  display: block;
}

#data-download-options {
  z-index: 10;
  padding-top: 7px;
  display: none;
  position: absolute;
  background-color: #f9f9f9;
  min-width: 350px;
  box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
}

.download-option {
  display: block;
  margin-left: 5px;
}

/*  Class for all objects that are clickable.  Changes mouse pointer to same as when hover on a link */
.clickable {
  cursor: pointer;
}

/*  CSS styling for qtip2 tool tips  */
/*  Values in the qtip2 css file:
.qtip-default{border-width:1px;border-style:solid;border-color:#F1D031;background-color:#FFFFA3;color:#555}
*/
.qtip-default {
  border-width: 1px;
  border-style: solid;
  border-color: #AAAAAA;
  background-color: #FFF0F0;
  color: #000000;
  font-size: 10pt;
}

/* css for styling the autocomplete */
.autocomplete {
  background-color: #E8EAFF;
  border-color: #000000;
  border-width: 1;
  border-style: solid;
  padding: 10px;
  overflow-y: scroll;
  overflow-x: hidden;
}

.autocomplete .selected {
  color: white;
  background-color: #000000;
}

.autocomplete div {
  padding: 2px 5px;
  white-space: nowrap;
  overflow: hidden;
}

.ProXL-DB-text {
  color: #A55353;
  font-weight: bold;
}

/* styling of text in tooltip svg on merged image page.  "fill" sets the text color on <text> element */
.proxl-primary-color-bold-svg-text {
  fill: #A55353;
  font-weight: bold;
}

.hidden {
  display: none;
}

.isTooltip {
  font-size: 11px;
  font-family: sans-serif;
}

.is-tooltip-label {
  font-weight: bold;
}

img.edit-icon {
  max-width: 12px;
  margin-left: 2px;
  margin-right: 5px;
  opacity: 0.8;
  filter: alpha(opacity=80);
  border-width: 0px;
}

span.search-name-display {
  font-weight: bold;
}

/*  Whole Page level  */
/* 'body.inset-page'  is for pages with an 'inset' look, login.jsp, forgotPassword.jsp, ... */
body.inset-page .inset-page-main-outermost-div { /*  lock the footer to the bottom of the page */
  min-height: 100%;
  position: relative;
}

body.inset-page div.page-content-outer-container {
  width: 100%;
  text-align: center;
  padding-bottom: 40px;
}

body.inset-page div.page-content-container {
  width: 466px;
  margin-top: 140px;
  display: inline-block;
}

body.inset-page div.page-content {
  text-align: center; /*  width: 100%;   */
  border-width: 2px;
  border-color: #D3D3D3;
  border-style: solid;
  background-color: #FFFFFF;
}

body.inset-page div.logo-large-container {
  margin-top: 20px;
}

body.inset-page .page-label {
  font-size: 20px;
  margin-top: 20px;
  margin-bottom: 10px;
}

body.inset-page .page-text {
  font-size: 14px;
  text-align: left;
}

body.inset-page .input-field, body.inset-page div.page-text, body.inset-page .submit-button {
  display: inline-block;
  width: 302px;
  margin-bottom: 4px;
}

body.inset-page .input-field {
  font-size: 21px;
  color: #000000;
  opacity: 0.8;
  filter: alpha(opacity=80);
}

body.inset-page input {
  font-size: 21px;
}

body.inset-page select {
  font-size: 21px;
}

body.inset-page input[type=button], body.inset-page input[type=submit] {
  font-size: 21px;
}

body.inset-page .bottom-tab {
  float: right;
  padding: 8px;
  border-width: 2px;
  border-top-width: 0px;
  border-color: #D3D3D3;
  border-style: solid;
  background-color: #FFFFFF;
}

body.inset-page .bottom-tab a {
  color: #000000;
  background-color: #FFF8F8;
  opacity: 0.5;
  filter: alpha(opacity=50);
  text-decoration: none;
}

body.inset-page div.error-message-container, body.inset-page div.success-message-container {
  display: none;
  width: 100%;
  text-align: center;
  position: absolute;
  z-index: 1;
}

body.inset-page .error-message-inner-container, body.inset-page .success-message-inner-container {
  display: inline-block;
  width: 90%;
  font-size: 18px;
  padding: 10px;
  border-width: 2px;
  border-color: #D3D3D3;
  border-style: solid;
  color: white;
}

body.inset-page .error-message-inner-container {
  background-color: red;
}

body.inset-page .success-message-inner-container {
  background-color: green;
}

body.inset-page .error-message-close-x, body.inset-page .success-message-close-x {
  cursor: pointer;
  float: right;
  margin-left: 10px;
}

/*   Terms of service Page  */
body.inset-page div.page-terms-of-service-container {
  width: 80%;
}

/*   Login Page  */
/* -----   Terms of Service  Overlay Div on Manage COnfiguration Page  modal dialog background ----- */
.terms-of-service-modal-dialog-overlay-background {
  z-index: 18;
  background-color: black;
  opacity: 0.8;
  filter: Alpha(Opacity=80);
  /*  Moved to inline style in header so context is not hard coded
  background: #666 url(/???context???/css/jquery-ui-1.10.2-Themes/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat;
  */
  /*  
  opacity: .50;
  filter: Alpha(Opacity=50);
  */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

div.terms-of-service-overlay-div {
  opacity: 1;
  filter: Alpha(Opacity=100);
  background-color: white;
  outline: 0px;
  /* center horizontally */
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  -webkit-transform: translate(-50%, 0);
  top: 30px;
  border: 1px;
  border-style: solid;
  border-color: #D3D3D3;
  display: block;
  z-index: 20;
  width: 800px;
}

.terms-of-service-overlay-header {
  height: 35px;
  background-color: #FFF0F0;
  padding-bottom: 5px;
  border-width: 0px;
  border-bottom-width: 1px;
  border-style: solid;
  border-color: #D3D3D3;
}

.terms-of-service-overlay-header-text {
  color: black;
  padding: 3px;
  margin: 0px;
  text-align: center;
}

.terms-of-service-overlay-body {
  padding: 20px;
  text-align: left;
}

.terms-of-service-overlay-text {
  margin: 5px;
  padding: 20px;
  border-width: 1px;
  border-style: solid;
  border-color: #A55353;
}

.terms-of-service-overlay-div .terms-of-service-overlay-body input.terms-of-service-overlay-button {
  font-size: 14px;
}

/*  Terms of Service page  */
body.terms-of-service-page .terms-of-service-header {
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 10px;
}

body.terms-of-service-page .terms-of-service-text {
  text-align: left;
  font-size: 14px;
  padding-left: 25px;
  padding-right: 25px;
  padding-bottom: 25px;
  padding-top: 25px;
}

body.terms-of-service-page .terms-of-service-close-button {
  text-align: left;
  padding-left: 25px;
}

/* Invite Landing Page  */
body.user-invite-landing-page .sign-in-above-text {
  margin-top: 10px;
}

/*  Main pages (non-inset pages)  */
/* In Showing Protein and Peptide data per search, this specifies the vertical space between the tables for each search */
.data-per-search-between-searches {
  height: 1px;
}

/*
		These pages have special settings on the *-outer-container to lock the footer to the bottom of the page
*/
/*  Whole Page level  */
body.crosslinks-page-main .crosslinks-page-main-outermost-div { /*  lock the footer to the bottom of the page */
  min-height: 100%;
  position: relative;
}

body.crosslinks-page-main .project-text-link {
  font-size: 12px;
  text-decoration: none;
  color: black;
  font-weight: bold;
  opacity: 0.7;
  filter: alpha(opacity=70);
}

body.crosslinks-page-main div.error-message-container, body.crosslinks-page-main div.success-message-container {
  display: none;
  width: 100%;
  text-align: center;
  position: absolute;
  z-index: 1;
}

body.crosslinks-page-main .error-message-inner-container, body.crosslinks-page-main .success-message-inner-container {
  display: inline-block;
  width: 90%;
  font-size: 18px;
  padding: 10px;
  border-width: 2px;
  border-color: #D3D3D3;
  border-style: solid;
  color: white;
}

body.crosslinks-page-main .error-message-inner-container {
  background-color: red;
}

body.crosslinks-page-main .success-message-inner-container {
  background-color: green;
}

body.crosslinks-page-main .error-message-close-x, body.crosslinks-page-main .success-message-close-x {
  cursor: pointer;
  float: right;
  margin-left: 10px;
}

/*  override row highlighting */
table.tablesorter .psm-qc-charts-container tr {
  background-color: #ffffff;
}

table.tablesorter .psm-qc-charts-container tr:hover {
  background-color: #ffffff;
}

/* Main Pages, integer number columns in tables, usually columns sorted by tablesorter jQuery plugin  */
body.crosslinks-page-main .integer-number-column-header,
body.crosslinks-page-main .integer-number-column {
  text-align: right;
  padding-right: 15px;
}

/* For Rightmost column if no table sorter */
body.crosslinks-page-main .integer-number-column-right-most-column-no-ts-header,
body.crosslinks-page-main .integer-number-column-right-most-column-no-ts {
  text-align: right;
}

/*  Shrink the expand and contract images to fit the 8pt text in the data tables */
body.crosslinks-page-main .icon-expand-contract-in-data-table {
  max-width: 10px;
  margin-left: 3px;
}

/*  from g2p
overlay-background {

cursor: pointer;

background: #666 url(/g2p/css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat;
opacity: .50;
filter: Alpha(Opacity=50);


*/
/* modal dialog background */
body.crosslinks-page-main .modal-dialog-overlay-background {
  display: none;
  position: fixed;
  cursor: pointer;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: #000;
  opacity: 0.8;
  filter: alpha(opacity=80);
  z-index: 99998;
}

/* modal dialog overlay container */
body.crosslinks-page-main .modal-dialog-overlay-container {
  display: none;
  text-align: left;
  position: absolute;
  z-index: 999999;
  background-color: white;
  padding: 20px;
  border-color: #A0A0A0;
  border-width: 2px;
  border-style: solid;
}

/*  Header and Footer  */
body.crosslinks-page-main .header-outer-container, .footer-outer-container {
  min-width: 1000px;
}

/*  Header  */
/* min-width set for this class above so that it is the same for the header and footer  */
body.crosslinks-page-main .header-outer-container {
  height: 22px;
  padding: 4px;
  background-color: #FFF0F0;
  border-bottom-style: solid;
  border-bottom-color: #D3D3D3;
  border-bottom-width: 1px;
}

/* Right side items  */
body.crosslinks-page-main .header-outer-container .header-right-edge-container {
  float: right;
}

body.crosslinks-page-main .header-outer-container .header-right-icons {
  float: right;
}

body.crosslinks-page-main .header-outer-container .header-logout-image {
  position: relative;
  top: 2px;
}

body.crosslinks-page-main .header-outer-container .header-user-name-container {
  float: right;
  padding-right: 7px;
  padding-top: 3px;
}

body.crosslinks-page-main .header-outer-container .header-user-name {
  font-size: 12px;
  opacity: 0.9;
  filter: alpha(opacity=90);
}

/* Left side items  */
body.crosslinks-page-main .header-outer-container .header-logo {
  float: left;
}

/* 'header-left-main-container' excludes the Logo in the top left corner */
body.crosslinks-page-main .header-outer-container .header-left-main-container {
  padding-top: 2px;
}

body.crosslinks-page-main .header-outer-container .header-pointer-right {
  float: left;
  padding-left: 5px;
  padding-right: 5px;
}

body.crosslinks-page-main .header-outer-container .header-projects-label-div {
  float: left;
  padding-left: 5px;
  padding-right: 5px;
}

body.crosslinks-page-main .header-outer-container .header-projects-pointer-right--right-of-projects {
  float: left;
  padding-left: 10px;
  padding-right: 10px;
}

body.crosslinks-page-main .header-outer-container .header-current-project-label-div {
  float: left;
  padding-top: 3px;
}

/*  opacity 0.9 per different request  */
body.crosslinks-page-main .header-outer-container .header-projects-label {
  color: #000000;
  font-size: 18px;
  font-weight: bold;
  opacity: 0.9;
  filter: alpha(opacity=90);
  text-decoration: none;
}

body.crosslinks-page-main .header-outer-container .header-project-title {
  color: #000000;
  font-size: 14px;
  font-weight: bold;
  opacity: 0.9;
  filter: alpha(opacity=90);
  text-decoration: none;
}

/* drop down project list */
/* outer container scrollable div */
body.crosslinks-page-main .header-outer-container .header-projects-list-container {
  /* offset-x | offset-y | blur-radius | spread-radius | color */
  box-shadow: 10px 10px 22px 15px rgba(0, 0, 0, 0.2);
  top: 24px;
  width: 330px;
  display: none;
  position: absolute;
  overflow-y: auto;
  background-color: white;
  padding: 15px;
  white-space: nowrap;
  padding: 15px;
  z-index: 2;
}

/* inner container div */
body.crosslinks-page-main .header-outer-container .header-icon-tool-tips {
  display: none;
  position: absolute;
  background-color: #FFF0F0;
  top: 24px;
  right: 0px;
  padding: 3px;
  white-space: nowrap;
  border-style: solid;
  border-width: 1px;
  border-color: #D3D3D3;
  z-index: 1;
} /*  display: none;  */
/*  End Header  */
/*  Footer  */
/* min-width set for this class above so that it is the same for the header and footer  */
.footer-outer-container {
  margin-top: 15px;
  background-color: #FFF0F0;
  font-size: 12px;
  color: black;
  opacity: 0.9;
  filter: alpha(opacity=90);
  border-top-style: solid;
  border-top-color: #D3D3D3;
  border-top-width: 1px;
  /*  lock the footer to the bottom of the page: */
  width: 100%;
  height: 30px;
  position: absolute;
  bottom: 0;
  left: 0;
  /* Update .overall-enclosing-block when changing the height of this  */
}

.footer-left-container {
  float: left;
  padding-left: 7px;
  margin-top: 8px;
}

.footer-right-container {
  float: right;
  padding-right: 7px;
  margin-top: 8px;
}

.footer-center-outer-container {
  text-align: center;
  margin-top: 8px;
}

/*  Overall Main page  class "crosslinks-page-main" is added in header_main.jsp  */
body.crosslinks-page-main .overall-enclosing-block {
  padding-left: 40px;
  padding-right: 40px;
  /*  lock the footer to the bottom of the page: */
  padding-bottom: 40px; /* Height of the footer element */
}

body.crosslinks-page-main .top-level-label {
  font-weight: bold;
  font-size: 24px;
}

body.crosslinks-page-main .top-level-label-bottom-border {
  clear: left;
  margin-top: 10px;
  margin-bottom: 10px;
  width: 100%;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  border-bottom-color: #A55353;
  opacity: 0.6;
  filter: alpha(opacity=60);
}

body.crosslinks-page-main .navigation-links-block {
  margin-bottom: 12px;
}

/* showing user the shortened URL modal dialog */
.shortened-url-display-overlay-containing-outermost-div {
  width: 100%;
  height: 0px;
}

.shortened-url-display-overlay-containing-outer-div {
  position: relative;
  display: inline-block;
}

/* These 2 divs MUST have the same width so set width for both together */
.shortened-url-display-overlay-containing-outer-div, body.project-page .shortened-url-display-overlay-container {
  width: 600px;
}

/* extends  body.crosslinks-page-main .modal-dialog-overlay-container, other values for this set just above ^^^  */
/*  Projects List Page  */
body.projects-list-page .your-projects-title {
  margin-top: 20px;
  margin-bottom: 10px;
  font-weight: bold;
}

body.projects-list-page .new-project-icon-container {
  float: left;
  padding-right: 10px;
  padding-top: 0px;
}

body.projects-list-page .new-project-text-link {
  font-size: 14px;
  text-decoration: none;
  color: black;
  font-weight: bold;
  opacity: 0.6;
  filter: alpha(opacity=60);
}

body.projects-list-page .project-container {
  clear: both;
}

body.projects-list-page .project-icon-container {
  float: left;
  padding-right: 10px;
  padding-top: 0px;
}

body.projects-list-page .project-icon-container-hidden {
  visibility: hidden;
}

body.projects-list-page .project-text-link {
  font-size: 12px;
  text-decoration: none;
  color: black;
  font-weight: bold;
  opacity: 0.7;
  filter: alpha(opacity=70);
}

body.projects-list-page .project-text-link-hidden {
  visibility: hidden;
}

body.projects-list-page .new-project-container-top-border {
  margin-bottom: 10px;
  width: 100%;
  border-top-style: solid;
  border-top-width: 1px;
  border-top-color: #A55353;
  opacity: 0.6;
  filter: alpha(opacity=60);
}

body.projects-list-page .new-project-container-bottom-border, body.projects-list-page .project-container-bottom-border {
  margin-top: 10px;
  margin-bottom: 10px;
  width: 100%;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  border-bottom-color: #A55353;
  opacity: 0.6;
  filter: alpha(opacity=60);
}

/* mark project for deletion modal dialog */
body.projects-list-page .mark-project-for-deletion-overlay-containing-outermost-div {
  position: relative;
  width: 100%;
  height: 0px;
  text-align: left;
}

/* For some reason "display: inline-block;" on the next class positions it over the delete icon for the first entry in the list.
		It is not needed since not horizontally centering this overlay  */
body.projects-list-page .mark-project-for-deletion-overlay-containing-outer-div {
  position: relative;
  height: 0px;
  text-align: left;
} /* display: inline-block; */
/* These 2 divs MUST have the same width so set width for both together */
body.projects-list-page .mark-project-for-deletion-overlay-containing-outer-div, body.projects-list-page .mark-project-for-deletion-overlay-container {
  width: 600px;
}

/* extends  body.crosslinks-page-main .modal-dialog-overlay-container, other values for this set just above ^^^  */
/*  View Project Page  */
body.project-page .collapsable-link-container {
  float: left;
}

body.project-page .top-level-container {
  margin-top: 20px;
  clear: left;
}

body.project-page .top-level-collapsable-link-container {
  padding-top: 5px;
}

body.project-page .top-level-label {
  margin-left: 30px;
}

body.project-page .second-level-label {
  font-weight: bold;
}

body.project-page .project-info-block {
  margin-left: 40px;
}

body.project-page .project-info-single-block {
  margin-bottom: 10px;
  clear: both;
}

body.project-page .project-info-label {
  float: left;
}

body.project-page .project-info-text {
  margin-left: 120px;
}

body.project-page .project-info-end-block-clear-float {
  clear: both;
}

body.project-page .note-display-div {
  margin-bottom: 10px;
}

/* Folder Data */
body.project-page .folder-container {
  padding-left: 8px;
  padding-top: 3px;
  padding-bottom: 3px;
  clear: left;
}

body.project-page .folder-collapsable-link-container {
  float: left;
  padding-top: 0px;
  padding-right: 3px;
}

body.project-page .folder-name-display {
  font-size: 18px;
  font-weight: bold;
}

body.project-page .searches-under-folder-block {
  margin-left: 20px;
  margin-top: 6px;
}

/* Search Data */
body.project-page tr.search_root_jq:hover {
  background-color: #fff0f0;
}

body.project-page td.search-checkbox-cell {
  background-color: #ffffff;
  padding-top: 0px;
}

body.project-page div.search-details-container-div {
  background-color: #ffffff;
}

/* delete note modal dialog */
body.project-page .delete-note-overlay-containing-outermost-div {
  width: 100%;
  height: 0px;
}

body.project-page .delete-note-overlay-containing-outer-div {
  position: relative;
  display: inline-block;
}

/* These 2 divs MUST have the same width so set width for both together */
body.project-page .delete-note-overlay-containing-outer-div, body.project-page .delete-note-overlay-container {
  width: 600px;
}

/* extends  body.crosslinks-page-main .modal-dialog-overlay-container, other values for this set just above ^^^  */
body.project-page .researchers-block {
  margin-left: 30px;
}

body.project-page .researchers-icon {
  float: left;
}

body.project-page .invite-user-block {
  margin-left: 20px;
}

body.project-page .invite-user-expand-icon-container {
  float: left;
  padding-right: 8px;
}

body.project-page .invite-user-expand-link {
  text-decoration: none;
}

/* user list, invited and current */
body.project-page .invited-person-invite-date-block {
  padding-left: 20px;
}

body.project-page .ui-menu-item-wrapper {
  padding: 5px;
}

body.project-page .upload-search-block {
  margin-left: 30px;
}

body.project-page .upload-search-block tr:hover {
  background-color: #FFF0F0;
}

body.project-page .upload-search-tooltip {
  text-align: left;
  width: 800px;
  max-width: 800px;
}

body.project-page .upload-search-tooltip-table td {
  vertical-align: top;
  padding-top: 2px;
  padding-bottom: 2px;
}

body.project-page .upload-search-tooltip-table .label-cell {
  white-space: nowrap;
  padding-right: 10px;
}

body.project-page .searches-block {
  margin-left: 10px;
}

body.project-page .search-entry-bottom-border {
  clear: left;
  margin-top: 5px;
  margin-bottom: 5px;
  width: 100%;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  border-bottom-color: #A55353;
  opacity: 0.6;
  filter: alpha(opacity=60);
}

/* -----------------------------  */
/*  Modal Dialogs  */
/* revoke invite to project modal dialog */
/* These 2 divs MUST have the same width so set width for both together */
body.project-page .revoke-invite-to-project-overlay-containing-outer-div, body.project-page .revoke-invite-to-project-overlay-container {
  width: 600px;
}

/* extends  body.crosslinks-page-main .modal-dialog-overlay-container, other values for this set just above ^^^  */
/* remove user from project modal dialog */
/* These 2 divs MUST have the same width so set width for both together */
body.project-page .remove-user-from-project-overlay-containing-outer-div, body.project-page .remove-user-from-project-overlay-container {
  width: 600px;
}

/* extends  body.crosslinks-page-main .modal-dialog-overlay-container, other values for this set just above ^^^  */
body.project-page .public-access-block {
  margin-left: 30px;
}

/* Modal dialog for confirming Generating new public access code */
body.project-page .generate-new-pub-access-code-overlay-containing-outermost-div {
  width: 100%;
  height: 0px;
}

body.project-page .generate-new-pub-access-code-overlay-containing-outer-div {
  position: relative;
  display: inline-block;
}

/* These 2 divs MUST have the same width so set width for both together */
body.project-page .generate-new-pub-access-code-overlay-containing-outer-div, body.project-page .generate-new-pub-access-code-overlay-container {
  width: 600px;
}

/* extends  body.crosslinks-page-main .modal-dialog-overlay-container, other values for this set just above ^^^  */
body.project-page .generate-new-pub-access-code-overlay-container {
  top: -50px;
}

body.project-page .no-searches-in-project-text {
  margin-left: 20px;
  margin-bottom: 20px;
}

/* move searches modal dialog */
body.project-page .copy-searches-overlay-containing-full-width-div {
  width: 100%;
  height: 0px;
  text-align: center;
}

body.project-page .copy-searches-overlay-containing-relative-div {
  position: relative;
  display: inline-block;
}

/* These 2 divs MUST have the same width so set width for both together */
body.project-page .copy-searches-overlay-containing-relative-div, body.project-page .copy-searches-overlay-container {
  width: 600px;
}

/* extends  body.crosslinks-page-main .modal-dialog-overlay-container, other values for this set just above ^^^  */
body.project-page .copy-searches-overlay-project-list-block {
  margin-left: 20px;
}

/* rename folder modal dialog */
body.project-page .rename-folder-overlay-containing-outermost-div {
  width: 100%;
  height: 0px;
  text-align: left;
}

body.project-page .rename-folder-overlay-containing-outer-div {
  position: relative;
  display: inline-block;
  padding-right: 50px;
}

/* These 2 divs MUST have the same width so set width for both together */
body.project-page .rename-folder-overlay-containing-outer-div, body.project-page .rename-folder-overlay-container {
  width: 600px;
}

/* extends  body.crosslinks-page-main .modal-dialog-overlay-container, other values for this set just above ^^^  */
body.project-page .rename-folder-overlay-folder-name-input-field {
  width: 90%;
}

/* delete folder modal dialog */
body.project-page .delete-folder-overlay-containing-outermost-div {
  width: 100%;
  height: 0px;
  text-align: left;
}

body.project-page .delete-folder-overlay-containing-outer-div {
  position: relative;
  display: inline-block;
  padding-right: 50px;
}

/* These 2 divs MUST have the same width so set width for both together */
body.project-page .delete-folder-overlay-containing-outer-div, body.project-page .delete-folder-overlay-container {
  width: 600px;
}

/* extends  body.crosslinks-page-main .modal-dialog-overlay-container, other values for this set just above ^^^  */
/* delete search modal dialog */
body.project-page .delete-search-overlay-containing-outermost-div {
  width: 100%;
  height: 0px;
  text-align: right;
}

body.project-page .delete-search-overlay-containing-outer-div {
  position: relative;
  display: inline-block;
  padding-right: 50px;
}

/* These 2 divs MUST have the same width so set width for both together */
body.project-page .delete-search-overlay-containing-outer-div, body.project-page .delete-search-overlay-container {
  width: 600px;
}

/* extends  body.crosslinks-page-main .modal-dialog-overlay-container, other values for this set just above ^^^  */
/* delete search comment modal dialog */
body.project-page .delete-search-comment-overlay-containing-outermost-div {
  width: 100%;
  height: 0px;
  text-align: left;
}

body.project-page .delete-search-comment-overlay-containing-outer-div {
  position: relative;
  display: inline-block;
  padding-left: 150px;
}

/* These 2 divs MUST have the same width so set width for both together */
body.project-page .delete-search-comment-overlay-containing-outer-div, body.project-page .delete-search-comment-overlay-container {
  width: 400px;
}

/* extends  body.crosslinks-page-main .modal-dialog-overlay-container, other values for this set just above ^^^  */
/* delete search web link modal dialog */
body.project-page .delete-search-web-link-overlay-containing-outermost-div {
  width: 100%;
  height: 0px;
  text-align: left;
}

body.project-page .delete-search-web-link-overlay-containing-outer-div {
  position: relative;
  display: inline-block;
  padding-left: 150px;
}

/* These 2 divs MUST have the same width so set width for both together */
body.project-page .delete-search-web-link-overlay-containing-outer-div, body.project-page .delete-search-web-link-overlay-container {
  width: 400px;
}

/* extends  body.crosslinks-page-main .modal-dialog-overlay-container, other values for this set just above ^^^  */
/* Organize Searches - Put Searches in Folders and Order Searches and Folders */
body.project-page #organize_searches_folder_searches_table {
  min-width: 1000px;
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}

body.project-page #organize_searches_folder_searches_table,
body.project-page #organize_searches_folder_searches_table tr,
body.project-page #organize_searches_folder_searches_table td {
  border: 1px solid #A55353;
}

body.project-page #organize_searches_folder_searches_table td {
  padding: 10px;
  width: 50%;
  max-width: 50%;
  min-width: 50%;
  vertical-align: top;
}

/* Folder cell */
/*
body.project-page  #organize_searches_folder_total_block_container { min-width: 400px; max-width: 400px; padding-right: 60px; vertical-align: top; }
*/
body.project-page #organize_searches_folder_total_block_container {
  vertical-align: top;
}

/* If change min-width, max-width, or padding: Update max-width on: body.project-page   #organize_searches_main_data_block .item-display-name */
/* Draggable item (folder or search) */
body.project-page #organize_searches_main_data_block .sort-handle-and-text {
  white-space: nowrap;
  cursor: move;
}

body.project-page #organize_searches_main_data_block .sort-handle-and-text:hover {
  color: #545454;
  background-color: #FFF0F0;
}

body.project-page #organize_searches_main_data_block .sort-handle-float {
  float: left;
  padding-left: 2px;
  padding-right: 2px;
  padding-top: 4px;
}

/* max-width: value 330px = <td> width 400 - padding-right 60 - 10 */
body.project-page #organize_searches_main_data_block .item-display-name {
  max-width: 90%;
  float: left;
  padding: 3px;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.project-page #organize_searches_main_data_block .edit-delete-icons {
  padding-top: 3px;
  padding-right: 3px;
}

body.project-page #organize_searches_main_data_block .outer-item-container {
  position: relative;
}

body.project-page #organize_searches_main_data_block .outer-item-container .selected-item {
  color: #FFFFFF;
  background-color: #A55353;
}

body.project-page #organize_searches_main_data_block .outer-item-container .selected-item:hover {
  color: #FFFFFF;
  background-color: #A55353;
}

body.project-page #organize_searches_main_data_block .outer-item-container .selected-item .folder-row-icon {
  background-color: #FFFFFF;
}

body.project-page #organize_searches_main_data_block .highlighted-item {
  color: #545454;
  background-color: #FFF0F0;
}

body.project-page #organize_searches_folder_searches_not_in_any_folder:hover {
  background-color: #FFF0F0;
}

/*  --------------------------------------------------  */
/* -----   Project Level Set Annotation Type Default Cutoffs  modal dialog background ----- */
/* Project Level Set Annotation Type Default Cutoffs modal dialog background */
.project-level-ann-cutoff-defaults-modal-dialog-overlay-background {
  z-index: 1001;
  background-color: black;
  opacity: 0.8;
  filter: Alpha(Opacity=80);
  /*  Moved to inline style in header so context is not hard coded
  background: #666 url(/???context???/css/jquery-ui-1.10.2-Themes/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat;
  */
  /*  
  opacity: .50;
  filter: Alpha(Opacity=50);
  */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*  Overlay for Project Level Set Annotation Type Default Cutoffs Div   */
div.project-level-ann-cutoff-defaults-modal-dialog-overlay-div {
  opacity: 1;
  filter: Alpha(Opacity=100);
  background-color: white;
  outline: 0px;
  position: absolute;
  left: 50px;
  /*
  height: 400px;
  */
  border: 1px;
  border-style: solid;
  border-color: #D3D3D3;
  display: block;
  z-index: 1002;
}
div.project-level-ann-cutoff-defaults-modal-dialog-overlay-div .project-level-ann-cutoff-defaults-modal-dialog-overlay-header {
  height: 35px;
  background-color: #FFF0F0;
  padding-bottom: 5px;
  border-width: 0px;
  border-bottom-width: 1px;
  border-style: solid;
  border-color: #D3D3D3;
}
div.project-level-ann-cutoff-defaults-modal-dialog-overlay-div .project-level-ann-cutoff-defaults-modal-dialog-overlay-X-for-exit-overlay {
  float: right;
  border-color: #000000;
  height: 33px;
  background-color: #A55353;
  color: white;
  padding: 3px;
  margin: 0px;
  cursor: pointer;
}
div.project-level-ann-cutoff-defaults-modal-dialog-overlay-div .project-level-ann-cutoff-defaults-modal-dialog-overlay-header-text {
  color: black;
  padding: 3px;
  margin: 0px;
  text-align: center;
}
div.project-level-ann-cutoff-defaults-modal-dialog-overlay-div .project-level-ann-cutoff-defaults-modal-dialog-overlay-body {
  padding: 20px;
}
div.project-level-ann-cutoff-defaults-modal-dialog-overlay-div .main-cutoffs-table td {
  vertical-align: top;
}

/*
body.view-merged-image-page   .selected-proteins-container .text-float {float: left; margin-right: 3px; max-width: 200px;overflow: hidden; text-overflow: ellipsis; }
*/
/* -----   upload Proxl XML file modal dialog background ----- */
/* upload Proxl XML file modal dialog background */
.proxl-xml-file-upload-modal-dialog-overlay-background {
  /* cursor: pointer; */ /* set mouse to pointer so user knows they can click on it */
  z-index: 1001;
  background-color: black;
  opacity: 0.8;
  filter: Alpha(Opacity=80);
  /*  Moved to inline style in header so context is not hard coded
  background: #666 url(/???context???/css/jquery-ui-1.10.2-Themes/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat;
  */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*  Proxl XML file upload Overlay    */
div.proxl-xml-file-upload-overlay-div {
  opacity: 1;
  filter: Alpha(Opacity=100);
  background-color: white;
  outline: 0px;
  position: absolute;
  /* 
  position: fixed;
  top: 30px;
  left: 30px;
   */
  /*
  height: 400px;

  border: 3px;
  border-style: solid;
  */
  display: block;
  z-index: 1002;
  width: 800px;
}

.proxl-xml-file-upload-overlay-header {
  background-color: #A55353;
  padding-bottom: 5px;
}

.proxl-xml-file-upload-overlay-X-for-exit-overlay {
  float: right;
  border-color: #000000;
  background-color: white;
  color: #A55353;
  padding: 3px;
  margin: 0px;
  cursor: pointer;
}

.proxl-xml-file-upload-overlay-header-text {
  color: white;
  padding: 3px;
  margin: 0px;
  text-align: center;
}

.proxl-xml-file-upload-overlay-body {
  padding: 20px;
}

.proxl-xml-file-upload-overlay-main-table {
  width: 100%;
  border-spacing: 0px;
  margin: 0px;
  padding: 0px;
}

/*  The columns must have "width" property.  Multiple tables must align */
.proxl-xml-file-upload-overlay-main-table td {
  padding: 0px;
  margin: 0px;
}

.proxl-xml-file-upload-overlay-main-table td.column-1 {
  width: 20px;
  padding-right: 3px;
} /* width of delete icon */
.proxl-xml-file-upload-overlay-main-table td.column-2 {
  padding-right: 10px;
  vertical-align: text-top;
}

/* no width: to get rest of table width */
.proxl-xml-file-upload-overlay-main-table td.column-2,
.proxl-xml-file-upload-filename-containing-div {
  width: 300px;
  max-width: 300px;
}

.proxl-xml-file-upload-filename-containing-div {
  overflow-x: auto;
  padding-top: 3px;
}

.proxl-xml-file-upload-overlay-main-table td.column-filename {
  vertical-align: text-top;
}

/*  upload progress bar  */
.import-proxl-xml-file-progress-bar-container {
  width: 180px;
}

.import-proxl-xml-file-progress-outer {
  border: 1px solid #000;
  text-align: center;
}

/*  JS code adjusts the width so the background color is shown */
.import-proxl-xml-file-progress {
  width: 0%;
  background-color: #FFF0F0;
  height: 17px;
}

.import-proxl-xml-file-upload-complete {
  font-style: italic;
}

/* display upload error dialog */
body.project-page .import-proxl-xml-file-upload-error-overlay-containing-outermost-div {
  width: 100%;
  height: 0px;
}

body.project-page .import-proxl-xml-file-upload-error-overlay-containing-outer-div {
  position: relative;
  display: inline-block;
}

/* These 2 divs MUST have the same width so set width for both together */
body.project-page .import-proxl-xml-file-upload-error-overlay-containing-outer-div, body.project-page .import-proxl-xml-file-upload-error-overlay-container {
  width: 600px;
}

/* extends  body.crosslinks-page-main .modal-dialog-overlay-container, other values for this set just above ^^^  */
body.project-page .import-proxl-xml-file-upload-error-overlay-container {
  position: fixed;
  top: 30px;
  left: 30px;
}

/* display file choose error dialog */
body.project-page .import-proxl-xml-choose-file-error-overlay-containing-outermost-div {
  width: 100%;
  height: 0px;
}

body.project-page .import-proxl-xml-choose-file-error-overlay-containing-outer-div {
  position: relative;
  display: inline-block;
}

/* These 2 divs MUST have the same width so set width for both together */
body.project-page .import-proxl-xml-choose-file-error-overlay-containing-outer-div, body.project-page .import-proxl-xml-choose-file-error-overlay-container {
  width: 600px;
}

/* extends  body.crosslinks-page-main .modal-dialog-overlay-container, other values for this set just above ^^^  */
body.project-page .import-proxl-xml-choose-file-error-overlay-container {
  position: fixed;
  top: 30px;
  left: 30px;
}

/* confirm abandon upload dialog */
body.project-page .import-proxl-xml-file-confirm-abandon-upload-overlay-containing-outermost-div {
  width: 100%;
  height: 0px;
}

body.project-page .import-proxl-xml-file-confirm-abandon-upload-overlay-containing-outer-div {
  position: relative;
  display: inline-block;
}

/* These 2 divs MUST have the same width so set width for both together */
body.project-page .import-proxl-xml-file-confirm-abandon-upload-overlay-containing-outer-div, body.project-page .import-proxl-xml-file-confirm-abandon-upload-overlay-container {
  width: 600px;
}

/* extends  body.crosslinks-page-main .modal-dialog-overlay-container, other values for this set just above ^^^  */
body.project-page .import-proxl-xml-file-confirm-abandon-upload-overlay-container {
  position: fixed;
  top: 30px;
  left: 30px;
}

/* confirm remove upload dialog */
body.project-page .import-proxl-xml-file-confirm-remove-upload-overlay-containing-outermost-div {
  width: 100%;
  height: 0px;
}

body.project-page .import-proxl-xml-file-confirm-remove-upload-overlay-containing-outer-div {
  position: relative;
  display: inline-block;
}

/* These 2 divs MUST have the same width so set width for both together */
body.project-page .import-proxl-xml-file-confirm-remove-upload-overlay-containing-outer-div, body.project-page .import-proxl-xml-file-confirm-remove-upload-overlay-container {
  width: 600px;
}

/* extends  body.crosslinks-page-main .modal-dialog-overlay-container, other values for this set just above ^^^  */
body.project-page .import-proxl-xml-file-confirm-remove-upload-overlay-container {
  position: fixed;
  top: 30px;
  left: 30px;
}

/* Modal dialog for notifying user that one the Proxl XML Import items imported successfully */
body.project-page .proxl-xml-file-upload-complete-successfully-overlay-containing-outer-div {
  position: relative;
}

body.project-page .proxl-xml-file-upload-complete-successfully-overlay-container {
  width: 450px;
  position: fixed;
  top: 100px;
  left: 100px;
}

/* -----------------------------  */
/*   Modal Dialogs with Title Bar and "X" for close at top right



	/* QC Plots modal dialog background */
body.view-qc-page .qc-plot-overlay-background {
  cursor: pointer; /* set mouse to pointer */
  z-index: 1001;
  background-color: black;
  opacity: 0.8;
  filter: Alpha(Opacity=80);
  /*  Moved to inline style in header so context is not hard coded
  background: #666 url(/???context???/css/jquery-ui-1.10.2-Themes/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat;
  */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*  QC Plots Overlay   */
body.view-qc-page div.qc-plot-overlay-div {
  opacity: 1;
  filter: Alpha(Opacity=100);
  background-color: white;
  outline: 0px;
  position: absolute;
  top: 50px;
  left: 50px;
  /*
  height: 400px;
  */
  border: 1px;
  border-style: solid;
  border-color: #D3D3D3;
  display: block;
  z-index: 1002;
  width: 1000px;
}

body.view-qc-page .qc-plot-overlay-header {
  height: 35px;
  background-color: #FFF0F0;
  padding-bottom: 5px;
  border-width: 0px;
  border-bottom-width: 1px;
  border-style: solid;
  border-color: #D3D3D3;
}

body.view-qc-page .qc-plot-overlay-X-for-exit-overlay {
  float: right;
  border-color: #000000;
  height: 33px;
  background-color: #A55353;
  color: white;
  padding: 3px;
  margin: 0px;
  cursor: pointer;
}

body.view-qc-page .qc-plot-overlay-header-text {
  color: black;
  padding: 3px;
  margin: 0px;
  text-align: center;
}

body.view-qc-page .qc-plot-overlay-body {
  padding: 20px;
}

body.view-qc-page .qc-plot-overlay-link {
  margin-right: 20px;
}

body.view-qc-page .qc-plot-filter-on-import-notice {
  color: #A55353;
  padding-bottom: 5px;
}

/* ----------------------  */
/*  All View Data pages */
/* General View Data pages */
body.crosslinks-page-main .psm-open-spectrum-link-clicked {
  color: #FF0000;
}

/*  Merged Search Data Pages  */
/* background colors for the searches.  

This number of colors must match the calculation in /WebRoot/WEB-INF/jsp-includes/mergedSearch_SearchIndexToSearchColorCSSClassName.jsp

There is a copy of these colors altered to compensate for fill-opacity: 0.3 in the venn diagram in js/mergedSearchesVennDiagramCreator.js

*/
body.crosslinks-page-main .merged-search-search-background-color-1 {
  background-color: #FFDFDF;
}

body.crosslinks-page-main .merged-search-search-background-color-2 {
  background-color: #DFFFDF;
}

body.crosslinks-page-main .merged-search-search-background-color-3 {
  background-color: #DFDFFF;
}

body.crosslinks-page-main .merged-search-search-background-color-4 {
  background-color: #FFDFFF;
}

body.crosslinks-page-main .merged-search-search-background-color-5 {
  background-color: #FFEBC1;
}

body.crosslinks-page-main .merged-search-search-background-color-6 {
  background-color: #DFFFFF;
}

body.crosslinks-page-main .merged-search-search-background-color-7 {
  background-color: #FFFDC1;
}

body.crosslinks-page-main .merged-search-search-background-color-8 {
  background-color: #EBF2FF;
}

body.crosslinks-page-main .merged-search-search-background-color-9 {
  background-color: #F5FFDE;
}

/*  Image Page  */
body.view-merged-image-page .selected-proteins-container {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

body.view-merged-image-page .selected-proteins-container .outer-float {
  background-color: #FFF0F0;
  border-style: solid;
  border-color: #D3D3D3;
  border-width: 1px;
  white-space: nowrap;
  padding-right: 15px;
  margin-left: 0px;
  margin-right: 5px;
  margin-top: 0px;
  margin-bottom: 4px;
  padding: 1px;
  float: left;
  text-align: center;
}

/* body.view-merged-image-page  .selected-proteins-container .outer-float:hover { } */
body.view-merged-image-page .selected-proteins-container .sort-handle-and-text {
  cursor: pointer;
}

body.view-merged-image-page .selected-proteins-container .sort-handle-float {
  float: left;
  padding-left: 2px;
  padding-right: 2px;
  padding-top: 1px;
}

body.view-merged-image-page .selected-proteins-container .text-float {
  float: left;
  margin-right: 3px;
  max-width: 200px;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.view-merged-image-page .selected-proteins-container .delete-icon-float {
  float: left;
  padding-top: 1px;
  padding-right: 3px;
}

body.view-merged-image-page .no-proteins-add-protein-block {
  font-size: 24px;
  color: #A55353;
  text-align: center;
  border-color: #A55353;
  border-style: dashed;
  border-width: 1px;
  margin-top: 20px;
  height: 100px;
  padding-top: 60px;
}

/*****   Proxl Management Pages  *****/
/*  Proxl Config Page */
body.manage-configuration-page .manage-config-title {
  margin-top: 20px;
  margin-bottom: 10px;
  font-weight: bold;
}

body.manage-configuration-page .terms-of-service-config-title {
  font-weight: bold;
  font-size: 18px;
}

/* "Advanced ..." */
body.manage-configuration-page .collapsable-link-container {
  float: left;
}

body.manage-configuration-page .top-level-container {
  margin-top: 20px;
  clear: left;
}

body.manage-configuration-page .top-level-collapsable-link-container {
  padding-top: 5px;
}

body.manage-configuration-page .top-level-label {
  margin-left: 30px;
}

body.manage-configuration-page .advanced-body {
  margin-left: 30px;
}

/* -----   Terms of Service  Overlay Div on Manage COnfiguration Page  modal dialog background ----- */
.terms-of-service-config-modal-dialog-overlay-background {
  z-index: 18;
  background-color: black;
  opacity: 0.8;
  filter: Alpha(Opacity=80);
  /*  Moved to inline style in header so context is not hard coded
  background: #666 url(/???context???/css/jquery-ui-1.10.2-Themes/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat;
  */
  /*  
  opacity: .50;
  filter: Alpha(Opacity=50);
  */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.manage-configuration-page div.terms-of-service-config-overlay-div {
  opacity: 1;
  filter: Alpha(Opacity=100);
  background-color: white;
  outline: 0px;
  position: absolute;
  top: 20px;
  left: 20px;
  /*
  height: 400px;
  */
  border: 1px;
  border-style: solid;
  border-color: #D3D3D3;
  display: block;
  z-index: 20;
  width: 800px;
}

.terms-of-service-config-overlay-header {
  height: 35px;
  background-color: #FFF0F0;
  padding-bottom: 5px;
  border-width: 0px;
  border-bottom-width: 1px;
  border-style: solid;
  border-color: #D3D3D3;
}

.terms-of-service-config-overlay-X-for-exit-overlay {
  float: right;
  border-color: #000000;
  height: 33px;
  background-color: #A55353;
  color: white;
  padding: 3px;
  margin: 0px;
  cursor: pointer;
}

.terms-of-service-config-overlay-header-text {
  color: black;
  padding: 3px;
  margin: 0px;
  text-align: center;
}

.terms-of-service-config-overlay-body {
  padding: 20px;
}

/*****  User Account Management Pages ****/
/*  User Account Page  */
body.manage-account-page .top-level-label {
  margin-top: 20px;
}

body.manage-account-page .account-info-block {
  margin-left: 40px;
}

body.manage-account-page .value-container {
  clear: both;
  margin-bottom: 20px;
}

body.manage-account-page .value-container-keep-with-next {
  clear: both;
  margin-bottom: 5px;
}

body.manage-account-page .value-label {
  float: left;
  font-weight: bold;
}

body.manage-account-page .current-value-container, body.manage-account-page .edit-value-container {
  margin-left: 120px;
}

body.manage-account-page .edit-value-container {
  display: none;
}

body.manage-account-page .edit-value-input-field {
  width: 275px;
}

body.manage-account-page div.error-message-container {
  display: none;
  width: 100%;
  text-align: center;
  position: absolute;
  z-index: 1;
}

body.manage-account-page .error-message-inner-container {
  font-size: 18px;
  padding: 10px;
  color: white;
  background-color: red;
}

body.manage-account-page .error-message-close-x {
  cursor: pointer;
  float: right;
  margin-left: 10px;
}

/* Manage Users Page  */
body.manage-users-page .top-level-label {
  margin-top: 20px;
}

/* user list, invited and current */
body.manage-users-page .invited-person-invite-date-block {
  padding-left: 20px;
}

body.manage-users-page .invite-user-text-link {
  font-size: 14px;
  text-decoration: none;
  color: black;
  font-weight: bold;
  opacity: 0.6;
  filter: alpha(opacity=60);
}

body.manage-users-page .create-user-text-link {
  font-size: 14px;
  text-decoration: none;
  color: black;
  font-weight: bold;
  opacity: 0.6;
  filter: alpha(opacity=60);
}

body.manage-users-page .account-info-block {
  margin-left: 40px;
}

body.manage-users-page .name-of-user-disabled-user {
  font-style: italic;
  opacity: 0.4;
  filter: alpha(opacity=40);
}

/*
body.manage-users-page .name-of-user, body.manage-users-page .role-of-user  { font-size: 12px;color: black; opacity:0.7;filter:alpha(opacity=70);  }

body.manage-users-page .name-of-user-disabled-user { font-size: 12px; font-style: italic; color: black; opacity:0.4;filter:alpha(opacity=40);  }
*/
/*
manage users:
	"Manage Users" text: black, 60% opacity, bold, 24px
	"Invite User" text: black, 60% opacity, bold, 14px
	Names and roles text: black, 70%, 12px
	Disabled user name text: black, 40%, italic, 12px
	red horizontal rules: width 1px, color: #A55353, 60% opacity, width: 80-90ish %

*/
/* ----------------------  OVERLAYS  ----------------------  */
/* -----   Merged Searches Chooser  Overlay Div on View Image Page  modal dialog background ----- */
.searches-for-page-chooser-modal-dialog-overlay-background {
  cursor: pointer; /* set mouse to pointer */
  z-index: 18;
  background-color: black;
  opacity: 0.8;
  filter: Alpha(Opacity=80);
  /*  Moved to inline style in header so context is not hard coded
  background: #666 url(/???context???/css/jquery-ui-1.10.2-Themes/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat;
  */
  /*  
  opacity: .50;
  filter: Alpha(Opacity=50);
  */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*  Merged Searches Chooser  Overlay     */
div.searches-for-page-chooser-overlay-div {
  opacity: 1;
  filter: Alpha(Opacity=100);
  background-color: white;
  outline: 0px;
  position: absolute;
  top: 20px;
  left: 20px;
  /*
  height: 400px;
  */
  border: 1px;
  border-style: solid;
  border-color: #D3D3D3;
  display: block;
  z-index: 20;
  width: 800px;
}

.searches-for-page-chooser-overlay-header {
  height: 35px;
  background-color: #FFF0F0;
  padding-bottom: 5px;
  border-width: 0px;
  border-bottom-width: 1px;
  border-style: solid;
  border-color: #D3D3D3;
}

.searches-for-page-chooser-overlay-X-for-exit-overlay {
  float: right;
  border-color: #000000;
  height: 33px;
  background-color: #A55353;
  color: white;
  padding: 3px;
  margin: 0px;
  cursor: pointer;
}

.searches-for-page-chooser-overlay-header-text {
  color: black;
  padding: 3px;
  margin: 0px;
  text-align: center;
}

.searches-for-page-chooser-overlay-body {
  padding: 20px;
}

.searches-for-page-chooser-overlay-div .searches-list-outer-container {
  position: relative;
  padding: 6px;
  border-width: 1px;
  border-style: solid;
  border-color: #D3D3D3;
  overflow-y: auto;
}

.searches-for-page-chooser-overlay-div .single-search-select-item {
  color: black;
  padding: 4px;
  cursor: pointer;
  overflow-x: hidden;
  text-overflow: ellipsis;
} /* max-width: 400px; */
div.single-search-select-item:hover {
  color: black;
  background-color: #FFF0F0;
  padding: 2px;
  border-style: solid;
  border-color: #A55353;
  border-width: 2px;
}

/* Used to show currently selected protein */
div.single-search-select-item-highlight {
  color: #FFFFFF;
  background-color: #A55353;
  padding: 4px;
}

/* Used to show clicked on, selected protein */
div.searches-for-page-chooser-overlay-user-selected-search {
  color: #FFFFFF;
  background-color: #A55353;
  padding: 4px;
}

div.searches-for-page-chooser-overlay-user-selected-search:hover {
  background-color: #FFF0F0;
}

/* -----   Searches Change Display Order  Overlay Div on View Image Page  modal dialog background ----- */
.searches-change-display-order-modal-dialog-overlay-background {
  cursor: pointer; /* set mouse to pointer */
  z-index: 18;
  background-color: black;
  opacity: 0.8;
  filter: Alpha(Opacity=80);
  /*  Moved to inline style in header so context is not hard coded
  background: #666 url(/???context???/css/jquery-ui-1.10.2-Themes/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat;
  */
  /*  
  opacity: .50;
  filter: Alpha(Opacity=50);
  */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*  Merged Searches Chooser  Overlay     */
div.searches-change-display-order-overlay-div {
  opacity: 1;
  filter: Alpha(Opacity=100);
  background-color: white;
  outline: 0px;
  position: absolute;
  top: 20px;
  left: 20px;
  /*
  height: 400px;
  */
  border: 1px;
  border-style: solid;
  border-color: #D3D3D3;
  display: block;
  z-index: 20;
  width: 900px;
}

.searches-change-display-order-overlay-header {
  height: 35px;
  background-color: #FFF0F0;
  padding-bottom: 5px;
  border-width: 0px;
  border-bottom-width: 1px;
  border-style: solid;
  border-color: #D3D3D3;
}

.searches-change-display-order-overlay-X-for-exit-overlay {
  float: right;
  border-color: #000000;
  height: 33px;
  background-color: #A55353;
  color: white;
  padding: 3px;
  margin: 0px;
  cursor: pointer;
}

.searches-change-display-order-overlay-header-text {
  color: black;
  padding: 3px;
  margin: 0px;
  text-align: center;
}

.searches-change-display-order-overlay-body {
  padding: 20px;
}

.searches-change-display-order-overlay-div .searches-list-outer-container {
  position: relative;
  padding: 6px;
  border-width: 1px;
  border-style: solid;
  border-color: #D3D3D3;
  overflow-y: auto;
}

.searches-change-display-order-overlay-div .single-search-select-item {
  color: black;
  padding: 4px;
  cursor: pointer;
  overflow-x: hidden;
  text-overflow: ellipsis;
} /* max-width: 400px; */
div.single-search-select-item:hover {
  color: black;
  background-color: #FFF0F0;
  padding: 2px;
  border-style: solid;
  border-color: #A55353;
  border-width: 2px;
}

/* Used to show currently selected protein */
div.single-search-select-item-highlight {
  color: #FFFFFF;
  background-color: #A55353;
  padding: 4px;
}

/* Used to show clicked on, selected protein */
div.searches-change-display-order-overlay-user-selected-search {
  color: #FFFFFF;
  background-color: #A55353;
  padding: 4px;
}

div.searches-change-display-order-overlay-user-selected-search:hover {
  background-color: #FFF0F0;
}

/* Draggable item (folder or search) */
#searches_change_display_order_overlay_div .sort-handle-and-text {
  white-space: nowrap;
  cursor: move;
}

#searches_change_display_order_overlay_div .sort-handle-and-text:hover {
  color: #545454;
  background-color: #FFF0F0;
}

#searches_change_display_order_overlay_div .sort-handle-float {
  float: left;
  padding-left: 2px;
  padding-right: 2px;
  padding-top: 4px;
}

/* max-width: value 330px = <td> width 400 - padding-right 60 - 10 */
#searches_change_display_order_overlay_div .item-display-name {
  max-width: 90%;
  float: left;
  padding: 3px;
  overflow: hidden;
  text-overflow: ellipsis;
}

#searches_change_display_order_overlay_div .edit-delete-icons {
  padding-top: 3px;
  padding-right: 3px;
}

#searches_change_display_order_overlay_div .outer-item-container {
  position: relative;
}

#searches_change_display_order_overlay_div .outer-item-container .selected-item {
  color: #FFFFFF;
  background-color: #A55353;
}

#searches_change_display_order_overlay_div .outer-item-container .selected-item:hover {
  color: #FFFFFF;
  background-color: #A55353;
}

#searches_change_display_order_overlay_div .outer-item-container .selected-item .folder-row-icon {
  background-color: #FFFFFF;
}

#searches_change_display_order_overlay_div .highlighted-item {
  color: #545454;
  background-color: #FFF0F0;
}

/* --------------------------------------- */
/* --- custom region annotation manager styles --- */
.custom_region_manager_modal_dialog_overlay_background {
  cursor: pointer; /* set mouse to pointer */
  z-index: 18;
  background-color: black;
  opacity: 0.8;
  filter: Alpha(Opacity=80);
  /*  Moved to inline style in header so context is not hard coded
  background: #666 url(/???context???/css/jquery-ui-1.10.2-Themes/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat;
  */
  /*  
  opacity: .50;
  filter: Alpha(Opacity=50);
  */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

div.custom-region-manager-overlay-container {
  opacity: 1;
  filter: Alpha(Opacity=100);
  background-color: white;
  outline: 0px;
  position: absolute;
  top: 20px;
  left: 20px;
  border: 1px;
  border-style: solid;
  border-color: #D3D3D3;
  display: block;
  z-index: 20;
  width: 600px;
  height: 400px;
}

.custom-region-manager-overlay-header {
  height: 35px;
  background-color: #FFF0F0;
  padding-bottom: 5px;
  border-width: 0px;
  border-bottom-width: 1px;
  border-style: solid;
  border-color: #D3D3D3;
}

.custom-region-manager-left-pane {
  position: absolute;
  top: 45px;
  left: 0px;
  height: 350px;
  width: 200px;
  background-color: white;
  padding-bottom: 5px;
  float: left;
  border-width: 0px;
  border-right-width: 1px;
  border-style: solid;
  border-color: #D3D3D3;
  margin: 0px;
}

.custom-region-manager-right-pane {
  position: absolute;
  top: 45px;
  left: 205px;
  height: 350px;
  width: 390px;
  background-color: white;
  padding-bottom: 5px;
  float: right;
  border-width: 0px;
  margin: 0px;
}

div.custom-region-manager-protein-list {
  width: 100%;
  height: 317px;
  max-height: 317px;
  margin: 0px;
  margin-top: 10px;
  padding: 0px;
  border-width: 0px;
  overflow: scroll;
}

div.custom-region-manager-protein-item {
  width: 100%;
  height: 30px;
  line-height: 30px;
  border-width: 0px;
  border-top-width: 1px;
  border-style: solid;
  border-color: #D3D3D3;
  font-size: 12pt;
  text-indent: 5px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

div.last-item {
  border-bottom-width: 1px;
  border-style: solid;
  border-color: #D3D3D3;
}

div.custom-region-manager-protein-item:hover {
  background-color: #A55353;
  color: white;
}

div.custom-region-manager-selected-item {
  background-color: #A55353;
  color: white;
}

div#custom_region_manager_right_pane_protein_selected {
  overflow: scroll;
}

.custom-region-manager-overlay-X-for-exit-overlay {
  float: right;
  border-color: #000000;
  height: 33px;
  background-color: #A55353;
  color: white;
  padding: 3px;
  margin: 0px;
  cursor: pointer;
}

.custom-region-manager-overlay-header-text {
  color: black;
  padding: 3px;
  margin: 0px;
  text-align: center;
}

.custom-region-manager-overlay-body {
  padding: 20px;
}

/* -----   Protein Selector  Overlay Div on View Image Page  modal dialog background ----- */
.select-protein-modal-dialog-overlay-background {
  cursor: pointer; /* set mouse to pointer */
  z-index: 18;
  background-color: black;
  opacity: 0.8;
  filter: Alpha(Opacity=80);
  /*  Moved to inline style in header so context is not hard coded
  background: #666 url(/???context???/css/jquery-ui-1.10.2-Themes/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat;
  */
  /*  
  opacity: .50;
  filter: Alpha(Opacity=50);
  */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*  Running Program to Create Annotation Data  Overlay     */
.view-merged-image-page div.select-protein-overlay-div {
  opacity: 1;
  filter: Alpha(Opacity=100);
  background-color: white;
  outline: 0px;
  position: absolute;
  top: 20px;
  left: 20px;
  /*
  height: 400px;
  */
  border: 1px;
  border-style: solid;
  border-color: #D3D3D3;
  display: block;
  z-index: 20;
  width: 400px;
}

.select-protein-overlay-header {
  height: 35px;
  background-color: #FFF0F0;
  padding-bottom: 5px;
  border-width: 0px;
  border-bottom-width: 1px;
  border-style: solid;
  border-color: #D3D3D3;
}

.select-protein-overlay-X-for-exit-overlay {
  float: right;
  border-color: #000000;
  height: 33px;
  background-color: #A55353;
  color: white;
  padding: 3px;
  margin: 0px;
  cursor: pointer;
}

.select-protein-overlay-header-text {
  color: black;
  padding: 3px;
  margin: 0px;
  text-align: center;
}

.select-protein-overlay-body {
  padding: 20px;
}

.select-protein-overlay-div .protein-list-outer-container {
  position: relative;
  padding: 6px;
  border-width: 1px;
  border-style: solid;
  border-color: #D3D3D3;
  overflow-y: auto;
}

.single-protein-select-item {
  color: black;
  padding: 4px;
  cursor: pointer;
  overflow-x: hidden;
  text-overflow: ellipsis;
} /* max-width: 400px; */
div.single-protein-select-item:hover {
  color: black;
  background-color: #FFF0F0;
  padding: 2px;
  border-style: solid;
  border-color: #A55353;
  border-width: 2px;
}

/* Used to show currently selected protein */
div.single-protein-select-item-highlight {
  color: #FFFFFF;
  background-color: #A55353;
  padding: 4px;
}

.select-protein-overlay-dimmed-protein-select-text {
  color: #969696;
}

div.select-protein-overlay-dimmed-protein-select-text:hover {
  color: #969696;
}

/* Used to show clicked on, selected protein */
div.select-protein-overlay-user-selected-protein {
  color: #FFFFFF;
  background-color: #A55353;
  padding: 4px;
}

div.select-protein-overlay-user-selected-protein:hover {
  background-color: #FFF0F0;
}

/* -----   Running Program to Create Annotation Data  Overlay Div on View Image Page  modal dialog background ----- */
.run-pgm-annotation-data-modal-dialog-overlay-background {
  cursor: pointer; /* set mouse to pointer */
  z-index: 18;
  background-color: black;
  opacity: 0.8;
  filter: Alpha(Opacity=80);
  /*  Moved to inline style in header so context is not hard coded
  background: #666 url(/???context???/css/jquery-ui-1.10.2-Themes/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat;
  */
  /*  
  opacity: .50;
  filter: Alpha(Opacity=50);
  */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*  Running Program to Create Annotation Data  Overlay     */
.view-merged-image-page div.run-pgm-annotation-data-overlay-div {
  opacity: 1;
  filter: Alpha(Opacity=100);
  background-color: white;
  outline: 0px;
  position: absolute;
  top: 20px;
  left: 20px;
  /*
  height: 400px;
  */
  border: 1px;
  border-style: solid;
  border-color: #D3D3D3;
  display: block;
  z-index: 20;
  width: 600px;
}

.run-pgm-annotation-data-overlay-header {
  height: 35px;
  background-color: #FFF0F0;
  padding-bottom: 5px;
  border-width: 0px;
  border-bottom-width: 1px;
  border-style: solid;
  border-color: #D3D3D3;
}

.run-pgm-annotation-data-overlay-X-for-exit-overlay {
  float: right;
  border-color: #000000;
  height: 33px;
  background-color: #A55353;
  color: white;
  padding: 3px;
  margin: 0px;
  cursor: pointer;
}

.run-pgm-annotation-data-overlay-header-text {
  color: black;
  padding: 3px;
  margin: 0px;
  text-align: center;
}

.run-pgm-annotation-data-overlay-body {
  padding: 20px;
}

.run-pgm-annotation-data-overlay-link {
  margin-right: 20px;
}

/* -----   Program to Create Annotation Data FAILED  Overlay Div on View Image Page  modal dialog background ----- */
.pgm-failed-annotation-data-modal-dialog-overlay-background {
  /*  cursor: pointer; */ /* set mouse to pointer */
  z-index: 18;
  background-color: black;
  opacity: 0.8;
  filter: Alpha(Opacity=80);
  /*  Moved to inline style in header so context is not hard coded
  background: #666 url(/???context???/css/jquery-ui-1.10.2-Themes/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat;
  */
  /*  
  opacity: .50;
  filter: Alpha(Opacity=50);
  */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*  Running Program to Create Annotation Data  Overlay     */
.view-merged-image-page div.pgm-failed-annotation-data-overlay-div {
  opacity: 1;
  filter: Alpha(Opacity=100);
  background-color: white;
  outline: 0px;
  position: absolute;
  top: 20px;
  left: 20px;
  /*
  height: 400px;
  */
  border: 1px;
  border-style: solid;
  border-color: #D3D3D3;
  display: block;
  z-index: 20;
  width: 600px;
  /* Special for ERROR overlay div */
  border: 3px;
  border-style: solid;
  border-color: red;
}

.pgm-failed-annotation-data-overlay-header {
  /*	height: 35px; */
  background-color: #FFF0F0;
  padding-bottom: 5px;
  border-width: 0px;
  border-bottom-width: 1px;
  border-style: solid;
  border-color: #D3D3D3;
}

.pgm-failed-annotation-data-overlay-X-for-exit-overlay {
  float: right;
  border-color: #000000;
  height: 33px;
  background-color: #A55353;
  color: white;
  padding: 3px;
  margin: 0px;
  cursor: pointer;
}

.pgm-failed-annotation-data-overlay-header-text {
  color: black;
  padding: 3px;
  margin: 0px;
  text-align: center;
}

.pgm-failed-annotation-data-overlay-body {
  padding: 20px;
}

.pgm-failed-annotation-data-overlay-link {
  margin-right: 20px;
}

/* -----   View Line Information on View Image Page  modal dialog background ----- */
.view-link-info-modal-dialog-overlay-background {
  cursor: pointer; /* set mouse to pointer */
  z-index: 18;
  background-color: black;
  opacity: 0.8;
  filter: Alpha(Opacity=80);
  /*  Moved to inline style in header so context is not hard coded
  background: #666 url(/???context???/css/jquery-ui-1.10.2-Themes/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat;
  */
  /*  
  opacity: .50;
  filter: Alpha(Opacity=50);
  */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*  View Line Info Overlay    */
.view-merged-image-page div.view-link-info-overlay-div, .view-merged-structure-page div.view-link-info-overlay-div {
  opacity: 1;
  filter: Alpha(Opacity=100);
  background-color: white;
  outline: 0px;
  position: absolute;
  top: 50px;
  left: 50px;
  /*
  height: 400px;
  */
  border: 1px;
  border-style: solid;
  border-color: #D3D3D3;
  display: block;
  z-index: 20;
  width: 1000px;
}

.link-info-table thead th, .link-info-table tbody td {
  padding: 4px;
}

/*
.view-link-info-overlay-header { background-color: black; padding-bottom: 5px; }
*/
.view-link-info-overlay-header {
  height: 35px;
  background-color: #FFF0F0;
  padding-bottom: 5px;
  border-width: 0px;
  border-bottom-width: 1px;
  border-style: solid;
  border-color: #D3D3D3;
}

.view-link-info-overlay-X-for-exit-overlay {
  float: right;
  border-color: #000000;
  height: 33px;
  background-color: #A55353;
  color: white;
  padding: 3px;
  margin: 0px;
  cursor: pointer;
}

.view-link-info-overlay-header-text {
  color: black;
  padding: 3px;
  margin: 0px;
  text-align: center;
}

.view-link-info-overlay-body {
  padding: 20px;
}

.view-link-info-overlay-link {
  margin-right: 20px;
}

.view-link-info-overlay-body table.link-info-table,
.view-link-info-overlay-body table.link-info-table table {
  background-color: #CDCDCD;
}

.view-link-info-overlay-body table.link-info-table tbody td,
.view-link-info-overlay-body table.link-info-table table tbody td {
  background-color: #FFFFFF;
}

/* -----   View Protein Bar Highlighting on View Image Page  modal dialog background ----- */
.view-protein-bar-highlighting-modal-dialog-overlay-background {
  /* cursor: pointer;*/ /* set mouse to pointer */
  z-index: 18;
  background-color: black;
  opacity: 0.8;
  filter: Alpha(Opacity=80);
  /*  Moved to inline style in header so context is not hard coded
  background: #666 url(/???context???/css/jquery-ui-1.10.2-Themes/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat;
  */
  /*  
  opacity: .50;
  filter: Alpha(Opacity=50);
  */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*  View Protein Bar Highlighting Overlay    */
.view-merged-image-page div.view-protein-bar-highlighting-overlay-div, .view-merged-structure-page div.view-protein-bar-highlighting-overlay-div {
  opacity: 1;
  filter: Alpha(Opacity=100);
  background-color: white;
  outline: 0px;
  position: absolute;
  top: 50px;
  left: 50px;
  /*
  height: 400px;
  */
  border: 1px;
  border-style: solid;
  border-color: #D3D3D3;
  display: block;
  z-index: 20;
  width: 600px;
}

.protein-bar-highlighting-table thead th, .protein-bar-highlighting-table tbody td {
  padding: 4px;
}

/*
.view-protein-bar-highlighting-overlay-header { background-color: black; padding-bottom: 5px; }
*/
.view-protein-bar-highlighting-overlay-header {
  height: 35px;
  background-color: #FFF0F0;
  padding-bottom: 5px;
  border-width: 0px;
  border-bottom-width: 1px;
  border-style: solid;
  border-color: #D3D3D3;
}

.view-protein-bar-highlighting-overlay-X-for-exit-overlay {
  float: right;
  border-color: #000000;
  height: 33px;
  background-color: #A55353;
  color: white;
  padding: 3px;
  margin: 0px;
  cursor: pointer;
}

.view-protein-bar-highlighting-overlay-header-text {
  color: black;
  padding: 3px;
  margin: 0px;
  text-align: center;
}

.view-protein-bar-highlighting-overlay-body {
  padding: 20px;
}

.view-protein-bar-highlighting-overlay-link {
  margin-right: 20px;
}

.view-protein-bar-highlighting-overlay-body table.protein-bar-highlighting-table,
.view-protein-bar-highlighting-overlay-body table.protein-bar-highlighting-table table {
  background-color: #CDCDCD;
}

.view-protein-bar-highlighting-overlay-body table.protein-bar-highlighting-table tbody td,
.view-protein-bar-highlighting-overlay-body table.protein-bar-highlighting-table table tbody td {
  background-color: #FFFFFF;
}

/* -----   View Protein Bar Highlighting on View Image Page  modal dialog background ----- */
.view-link-exclusions-modal-dialog-overlay-background {
  /* cursor: pointer;*/ /* set mouse to pointer */
  z-index: 18;
  background-color: black;
  opacity: 0.8;
  filter: Alpha(Opacity=80);
  /*  Moved to inline style in header so context is not hard coded
  background: #666 url(/???context???/css/jquery-ui-1.10.2-Themes/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat;
  */
  /*  
  opacity: .50;
  filter: Alpha(Opacity=50);
  */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*  View Protein Bar Highlighting Overlay    */
.view-merged-image-page div.view-link-exclusions-overlay-div, .view-merged-structure-page div.view-link-exclusions-overlay-div {
  opacity: 1;
  filter: Alpha(Opacity=100);
  background-color: white;
  outline: 0px;
  position: absolute;
  top: 50px;
  left: 50px;
  /*
  height: 400px;
  */
  border: 1px;
  border-style: solid;
  border-color: #D3D3D3;
  display: block;
  z-index: 20;
  width: 600px;
}

.link-exclusions-table thead th, .link-exclusions-table tbody td {
  padding: 4px;
}

/*
.view-link-exclusions-overlay-header { background-color: black; padding-bottom: 5px; }
*/
.view-link-exclusions-overlay-header {
  height: 35px;
  background-color: #FFF0F0;
  padding-bottom: 5px;
  border-width: 0px;
  border-bottom-width: 1px;
  border-style: solid;
  border-color: #D3D3D3;
}

.view-link-exclusions-overlay-X-for-exit-overlay {
  float: right;
  border-color: #000000;
  height: 33px;
  background-color: #A55353;
  color: white;
  padding: 3px;
  margin: 0px;
  cursor: pointer;
}

.view-link-exclusions-overlay-header-text {
  color: black;
  padding: 3px;
  margin: 0px;
  text-align: center;
}

.view-link-exclusions-overlay-body {
  padding: 20px;
}

.view-link-exclusions-overlay-div .excluded-list-outer-block {
  max-height: 200px;
  padding-left: 10px;
  padding-right: 10px;
  padding-top: 5px;
  padding-bottom: 5px;
  border-color: #A55353;
  border-style: solid;
  border-width: 1px;
  overflow-y: auto;
  position: relative;
}

.view-link-exclusions-overlay-div .exclude-choices-outer-block {
  width: 250px;
  max-height: 200px;
  padding-left: 10px;
  padding-right: 10px;
  padding-top: 5px;
  padding-bottom: 5px;
  border-color: #A55353;
  border-style: solid;
  border-width: 1px;
  overflow-y: auto;
  position: relative;
}

.view-link-exclusions-overlay-div .exclude-choices-outer-block-1 {
  margin-right: 5px;
}

.view-link-exclusions-overlay-div .exclude-choices-outer-block-2 {
  margin-left: 5px;
  float: right;
}

.view-link-exclusions-overlay-div .exclude-choices-block .exclusion-choice-option:hover {
  background-color: #FFF0F0;
}

.view-link-exclusions-overlay-div .exclude-choices-block .selected-choice {
  color: #FFFFFF;
  background-color: #A55353;
  padding: 4px;
}

.view-link-exclusions-overlay-div .exclude-choices-block .selected-choice:hover {
  color: #545454;
  background-color: #FFF0F0;
}

/* ########################################################## */
/*  ------    Overlays on various pages */
/* -----   View Data Related to PSM Data as Overlay over PSM data  modal dialog background ----- */
.view-data-related-to-psm-data-modal-dialog-overlay-background {
  cursor: pointer; /* set mouse to pointer */
  z-index: 38;
  background-color: black;
  opacity: 0.8;
  filter: Alpha(Opacity=80);
  /*  Moved to inline style in header so context is not hard coded
  background: #666 url(/???context???/css/jquery-ui-1.10.2-Themes/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat;
  */
  /*  
  opacity: .50;
  filter: Alpha(Opacity=50);
  */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*  View Data Related to PSM Data as Overlay over PSM data Overlay    */
div.view-data-related-to-psm-data-overlay-div {
  opacity: 1;
  filter: Alpha(Opacity=100);
  background-color: white;
  outline: 0px;
  position: absolute;
  top: 50px;
  left: 10px;
  /*
  height: 400px;
  */
  border: 1px;
  border-style: solid;
  border-color: #D3D3D3;
  display: block;
  z-index: 40;
  width: 1000px;
}

.view-data-related-to-psm-data-table thead th, .view-data-related-to-psm-data-table tbody td {
  padding: 4px;
}

/*
.view-data-related-to-psm-data-overlay-header { background-color: black; padding-bottom: 5px; }
*/
.view-data-related-to-psm-data-overlay-header {
  height: 35px;
  background-color: #FFF0F0;
  padding-bottom: 5px;
  border-width: 0px;
  border-bottom-width: 1px;
  border-style: solid;
  border-color: #D3D3D3;
}

.view-data-related-to-psm-data-overlay-X-for-exit-overlay {
  float: right;
  border-color: #000000;
  height: 33px;
  background-color: #A55353;
  color: white;
  padding: 3px;
  margin: 0px;
  cursor: pointer;
}

.view-data-related-to-psm-data-overlay-header-text {
  color: black;
  padding: 3px;
  margin: 0px;
  text-align: center;
}

.view-data-related-to-psm-data-overlay-body {
  padding: 20px;
}

.view-data-related-to-psm-data-overlay-link {
  margin-right: 20px;
}

.view-data-related-to-psm-data-overlay-body table.link-info-table,
.view-data-related-to-psm-data-overlay-body table.link-info-table table {
  background-color: #CDCDCD;
}

.view-data-related-to-psm-data-overlay-body table.link-info-table tbody td,
.view-data-related-to-psm-data-overlay-body table.link-info-table table tbody td {
  background-color: #FFFFFF;
}

/* ########################################################## */
/*  --------------------------------------------------  */
/* -----   Lorikeet  modal dialog background ----- */
/* Lorikeet modal dialog background */
.lorikeet-modal-dialog-overlay-background {
  cursor: pointer; /* set mouse to pointer */
  z-index: 1001;
  background-color: black;
  opacity: 0.8;
  filter: Alpha(Opacity=80);
  /*  Moved to inline style in header so context is not hard coded
  background: #666 url(/???context???/css/jquery-ui-1.10.2-Themes/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat;
  */
  /*  
  opacity: .50;
  filter: Alpha(Opacity=50);
  */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*  View Spectra Overlay for View Spectra Div   */
div.view-spectra-overlay-div {
  opacity: 1;
  filter: Alpha(Opacity=100);
  background-color: white;
  outline: 0px;
  position: absolute;
  top: 50px;
  left: 50px;
  /*
  height: 400px;
  */
  border: 1px;
  border-style: solid;
  border-color: #D3D3D3;
  display: block;
  z-index: 1002;
  width: 1000px;
}

.view-spectra-overlay-header {
  height: 35px;
  background-color: #FFF0F0;
  padding-bottom: 5px;
  border-width: 0px;
  border-bottom-width: 1px;
  border-style: solid;
  border-color: #D3D3D3;
}

.view-spectra-overlay-X-for-exit-overlay {
  float: right;
  border-color: #000000;
  height: 33px;
  background-color: #A55353;
  color: white;
  padding: 3px;
  margin: 0px;
  cursor: pointer;
}

.view-spectra-overlay-header-text {
  color: black;
  padding: 3px;
  margin: 0px;
  text-align: center;
}

.view-spectra-overlay-body {
  padding: 20px;
}

.view-spectra-overlay-link {
  margin-right: 20px;
}

/*  --------------------------------------------------  */
/* -----   Filter Cutoffs  modal dialog background ----- */
/* Filter Cutoffs modal dialog background */
.filter-cutoffs-modal-dialog-overlay-background {
  cursor: pointer; /* set mouse to pointer */
  z-index: 1001;
  background-color: black;
  opacity: 0.8;
  filter: Alpha(Opacity=80);
  /*  Moved to inline style in header so context is not hard coded
  background: #666 url(/???context???/css/jquery-ui-1.10.2-Themes/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat;
  */
  /*  
  opacity: .50;
  filter: Alpha(Opacity=50);
  */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*  Cutoff Overlay for Filter Cutoff Div   */
div.filter-cutoffs-modal-dialog-overlay-div {
  opacity: 1;
  filter: Alpha(Opacity=100);
  background-color: white;
  outline: 0px;
  position: absolute;
  /*
  top: 50px;
  left: 50px;
  */
  /*
  height: 400px;
  */
  border: 1px;
  border-style: solid;
  border-color: #D3D3D3;
  display: block;
  z-index: 1002;
  width: 650px;
}

.filter-cutoffs-modal-dialog-overlay-header {
  height: 35px;
  background-color: #FFF0F0;
  padding-bottom: 5px;
  border-width: 0px;
  border-bottom-width: 1px;
  border-style: solid;
  border-color: #D3D3D3;
}

.filter-cutoffs-modal-dialog-overlay-X-for-exit-overlay {
  float: right;
  border-color: #000000;
  height: 33px;
  background-color: #A55353;
  color: white;
  padding: 3px;
  margin: 0px;
  cursor: pointer;
}

.filter-cutoffs-modal-dialog-overlay-header-text {
  color: black;
  padding: 3px;
  margin: 0px;
  text-align: center;
}

.filter-cutoffs-modal-dialog-overlay-body {
  padding: 20px;
}

.filter-cutoffs-modal-dialog-overlay-link {
  margin-right: 20px;
}

.filter-single-value-display-block {
  padding-top: 1px;
  padding-bottom: 1px;
  padding-left: 3px;
  padding-right: 3px;
  margin-right: 3px;
  white-space: nowrap;
  background-color: #FFF0F0;
  border-style: solid;
  border-color: #D3D3D3;
  border-width: 1px;
}

/*  --------------------------------------------------  */
/* -----   Minimum PSM Count  modal dialog background ----- */
/* Minimum PSM Count modal dialog background */
.minimum-psm-count-modal-dialog-overlay-background {
  cursor: pointer; /* set mouse to pointer */
  z-index: 1001;
  background-color: black;
  opacity: 0.8;
  filter: Alpha(Opacity=80);
  /*  Moved to inline style in header so context is not hard coded
  background: #666 url(/???context???/css/jquery-ui-1.10.2-Themes/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat;
  */
  /*  
  opacity: .50;
  filter: Alpha(Opacity=50);
  */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*  Minimum PSMs Overlay for Filter Minimum PSMs Div   */
div.minimum-psm-count-modal-dialog-overlay-div {
  opacity: 1;
  filter: Alpha(Opacity=100);
  background-color: white;
  outline: 0px;
  position: absolute;
  top: -5px;
  /*
  top: 50px;
  left: 50px;
  */
  /*
  height: 400px;
  */
  border: 1px;
  border-style: solid;
  border-color: #D3D3D3;
  display: block;
  z-index: 1002;
  width: 350px;
}

.minimum-psm-count-modal-dialog-overlay-header {
  height: 35px;
  background-color: #FFF0F0;
  padding-bottom: 5px;
  border-width: 0px;
  border-bottom-width: 1px;
  border-style: solid;
  border-color: #D3D3D3;
}

.minimum-psm-count-modal-dialog-overlay-X-for-exit-overlay {
  float: right;
  border-color: #000000;
  height: 33px;
  background-color: #A55353;
  color: white;
  padding: 3px;
  margin: 0px;
  cursor: pointer;
}

.minimum-psm-count-modal-dialog-overlay-header-text {
  color: black;
  padding: 3px;
  margin: 0px;
  text-align: center;
}

.minimum-psm-count-modal-dialog-overlay-body {
  padding: 20px;
}

.minimum-psm-count-modal-dialog-overlay-link {
  margin-right: 20px;
}

/* -----   Protein Selector  Overlay Div on View Image Page  modal dialog background ----- */
.annotation-data-display-modal-dialog-overlay-background {
  cursor: pointer; /* set mouse to pointer */
  z-index: 18;
  background-color: black;
  opacity: 0.8;
  filter: Alpha(Opacity=80);
  /*  Moved to inline style in header so context is not hard coded
  background: #666 url(/???context???/css/jquery-ui-1.10.2-Themes/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat;
  */
  /*  
  opacity: .50;
  filter: Alpha(Opacity=50);
  */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

div.annotation-data-display-modal-dialog-overlay-div {
  opacity: 1;
  filter: Alpha(Opacity=100);
  background-color: white;
  outline: 0px;
  position: absolute;
  top: 20px;
  left: 20px;
  /*
  height: 400px;
  */
  border: 1px;
  border-style: solid;
  border-color: #D3D3D3;
  display: block;
  z-index: 20;
  width: 650px;
}

.annotation-data-display-modal-dialog-overlay-header {
  height: 35px;
  background-color: #FFF0F0;
  padding-bottom: 5px;
  border-width: 0px;
  border-bottom-width: 1px;
  border-style: solid;
  border-color: #D3D3D3;
}

.annotation-data-display-modal-dialog-overlay-X-for-exit-overlay {
  float: right;
  border-color: #000000;
  height: 33px;
  background-color: #A55353;
  color: white;
  padding: 3px;
  margin: 0px;
  cursor: pointer;
}

.annotation-data-display-modal-dialog-overlay-header-text {
  color: black;
  padding: 3px;
  margin: 0px;
  text-align: center;
}

.annotation-data-display-modal-dialog-overlay-body {
  padding: 20px;
}

.annotation-data-display-modal-dialog-overlay-div .data-list-container {
  position: relative;
  padding: 6px;
  border-width: 1px;
  border-style: solid;
  border-color: #D3D3D3;
  min-height: 50px;
  /*	
  	height: 300px;
  */
  overflow-y: auto;
}

.annotation-data-display-single-data-select-item {
  color: black;
  padding: 4px;
  cursor: pointer;
  overflow-x: hidden;
  text-overflow: ellipsis;
} /* max-width: 400px; */
div.annotation-data-display-single-data-select-item:hover {
  color: black;
  background-color: #FFF0F0;
  padding: 2px;
  border-style: solid;
  border-color: #A55353;
  border-width: 2px;
}

/* Used to show currently selected protein */
div.annotation-data-display-single-protein-select-item-highlight {
  color: #FFFFFF;
  background-color: #A55353;
  padding: 4px;
}

/* Used to show clicked on, selected data item - Used in JS */
/*
div.annotation-data-display-modal-dialog-overlay-user-data-item-selected  { color: #FFFFFF; background-color: #A55353; padding: 4px; }
div.annotation-data-display-modal-dialog-overlay-user-data-item-selected:hover { background-color: #FFF0F0;  }
*/
/* searchDetailsBlock.jsp main non-overlay display of annotation data choices */
.annotation-data-single-value-display-block {
  padding-top: 1px;
  padding-bottom: 1px;
  padding-left: 3px;
  padding-right: 3px;
  margin-right: 3px;
  white-space: nowrap;
  background-color: #FFF0F0;
  border-style: solid;
  border-color: #D3D3D3;
  border-width: 1px;
}

.annotation-data-display-modal-dialog-overlay-div .data-list-container .sort-handle-and-text {
  cursor: move;
}

.annotation-data-display-modal-dialog-overlay-div .data-list-container .sort-handle-float {
  float: left;
  padding-left: 2px;
  padding-right: 2px;
  padding-top: 1px;
}

.annotation-data-display-modal-dialog-overlay-div .data-list-container .delete-icon-float {
  float: right;
  cursor: pointer;
  padding-top: 1px;
  padding-right: 3px;
}

.annotation-data-display-modal-dialog-overlay-div .data-list-container .text-sortable {
  margin-right: 3px;
  max-width: 200px;
  overflow: hidden;
  text-overflow: ellipsis;
}

/*
.annotation-data-display-modal-dialog-overlay-div .data-list-container .text-float {float: left; margin-right: 3px; max-width: 200px;overflow: hidden; text-overflow: ellipsis; }
*/
/* -----   upload pdb modal dialog background ----- */
/* upload pdb modal dialog background */
.pdb-upload-modal-dialog-overlay-background {
  cursor: pointer; /* set mouse to pointer */
  z-index: 1001;
  background-color: black;
  opacity: 0.8;
  filter: Alpha(Opacity=80);
  /*  Moved to inline style in header so context is not hard coded
  background: #666 url(/???context???/css/jquery-ui-1.10.2-Themes/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat;
  */
  /*  
  opacity: .50;
  filter: Alpha(Opacity=50);
  */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*  pdb upload Overlay    */
div.pdb-upload-overlay-div {
  opacity: 1;
  filter: Alpha(Opacity=100);
  background-color: white;
  outline: 0px;
  position: absolute;
  top: 50px;
  left: 50px;
  /*
  height: 400px;

  border: 3px;
  border-style: solid;
  */
  display: block;
  z-index: 1002;
  width: 500px;
}

.pdb-upload-overlay-header {
  background-color: #A55353;
  padding-bottom: 5px;
}

.pdb-upload-overlay-X-for-exit-overlay {
  float: right;
  border-color: #000000;
  background-color: white;
  color: #A55353;
  padding: 3px;
  margin: 0px;
  cursor: pointer;
}

.pdb-upload-overlay-header-text {
  color: white;
  padding: 3px;
  margin: 0px;
  text-align: center;
}

.pdb-upload-overlay-body {
  padding: 20px;
}

.pdb-upload-overlay-link {
  margin-right: 20px;
}

.pdb-map-protein-modal-dialog-overlay-background {
  cursor: pointer; /* set mouse to pointer */
  z-index: 1001;
  background-color: black;
  opacity: 0.8;
  filter: Alpha(Opacity=80);
  /*  Moved to inline style in header so context is not hard coded
  background: #666 url(/???context???/css/jquery-ui-1.10.2-Themes/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat;
  */
  /*  
  opacity: .50;
  filter: Alpha(Opacity=50);
  */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

div.pdb-map-protein-overlay-div {
  opacity: 1;
  filter: Alpha(Opacity=100);
  background-color: white;
  outline: 0px;
  position: absolute;
  top: 50px;
  left: 50px;
  /*
  height: 400px;

  border: 3px;
  border-style: solid;
  */
  display: block;
  z-index: 1002;
  width: 1000px;
}

.pdb-map-protein-overlay-header {
  background-color: #A55353;
  padding-bottom: 5px;
}

.pdb-map-protein-overlay-X-for-exit-overlay {
  float: right;
  border-color: #000000;
  background-color: white;
  color: #A55353;
  padding: 3px;
  margin: 0px;
  cursor: pointer;
}

.pdb-map-protein-overlay-header-text {
  color: white;
  padding: 3px;
  margin: 0px;
  text-align: center;
}

.pdb-map-protein-overlay-body {
  padding: 20px;
}

.pdb-map-protein-overlay-link {
  margin-right: 20px;
}

.pdb-show-alignment-modal-dialog-overlay-background {
  cursor: pointer; /* set mouse to pointer */
  z-index: 1001;
  background-color: black;
  opacity: 0.8;
  filter: Alpha(Opacity=80);
  /*  Moved to inline style in header so context is not hard coded
  background: #666 url(/???context???/css/jquery-ui-1.10.2-Themes/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat;
  */
  /*  
  opacity: .50;
  filter: Alpha(Opacity=50);
  */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

div.pdb-show-alignment-overlay-div {
  opacity: 1;
  filter: Alpha(Opacity=100);
  background-color: white;
  outline: 0px;
  position: absolute;
  top: 50px;
  left: 50px;
  /*
  height: 400px;

  border: 3px;
  border-style: solid;
  */
  display: block;
  z-index: 1002;
  width: 1000px;
}

.pdb-show-alignment-overlay-header {
  background-color: #A55353;
  padding-bottom: 5px;
}

.pdb-show-alignment-overlay-X-for-exit-overlay {
  float: right;
  border-color: #000000;
  background-color: white;
  color: #A55353;
  padding: 3px;
  margin: 0px;
  cursor: pointer;
}

.pdb-show-alignment-overlay-header-text {
  color: white;
  padding: 3px;
  margin: 0px;
  text-align: center;
}

.pdb-show-alignment-overlay-body {
  padding: 20px;
}

.pdb-show-alignment-overlay-link {
  margin-right: 20px;
}

/* delete pdb-file modal dialog */
body.project-page .delete-pdb-file-overlay-containing-outermost-div {
  width: 100%;
  height: 0px;
}

body.project-page .delete-pdb-file-overlay-containing-outer-div {
  position: relative;
  display: inline-block;
}

/* These 2 divs MUST have the same width so set width for both together */
body.project-page .delete-pdb-file-overlay-containing-outer-div, body.project-page .delete-pdb-file-overlay-container {
  width: 500px;
}

/* extends  body.crosslinks-page-main .modal-dialog-overlay-container, other values for this set just above ^^^  */
body.project-page .delete-pdb-file-overlay-container {
  left: -200px;
}

/* delete alignment modal dialog */
body.project-page .delete-alignment-overlay-containing-outermost-div {
  width: 100%;
  height: 0px;
}

body.project-page .delete-alignment-overlay-containing-outer-div {
  position: relative;
  display: inline-block;
}

/* These 2 divs MUST have the same width so set width for both together */
body.project-page .delete-alignment-overlay-containing-outer-div, body.project-page .delete-alignment-overlay-container {
  width: 500px;
}

/* extends  body.crosslinks-page-main .modal-dialog-overlay-container, other values for this set just above ^^^  */
body.project-page .delete-alignment-overlay-container {
  left: -200px;
}

/* ************************************ */
/*    QC Page  */
/* charts and other data blocks */
body.view-qc-page .qc-data-block {
  width: 500px;
  height: 300px;
}

body.view-qc-page .help-image-for-qc-chart-block {
  position: relative;
  display: inline-block;
}

body.view-qc-page .help-image-for-qc-chart {
  max-height: 12px;
}

/* Class for tooltips on ? with circle on QC pages */
/* Class 'qtip' is also on element (from jquery.qtip.min.css) which contains font-size  */
body.view-qc-page .help-for-qc-chart-tooltip {
  min-width: 300px;
  font-size: 14px;
  line-height: 20px;
  background-color: white;
  border-style: solid;
  border-width: 4px;
  border-color: #A55353;
}

body.view-qc-page .help-for-qc-chart-tooltip-wide {
  min-width: 450px;
}

/* qtip2 has default max-width: 280px;  */
body.view-qc-page .qc-chart-boxplot-whole-chart-tooltip {
  min-width: 250px;
  max-width: 3000px;
  font-size: 14px;
  line-height: 20px;
  background-color: white;
  border-style: solid;
  border-width: 4px;
  border-color: #A55353;
}

/*
This would change qtip style for all tooltips on the qc page
body.view-qc-page .qtip-default { background-color: white; border-style: solid; border-color: #A55353 }

From above
.qtip-default{border-width:1px;border-style:solid;border-color:#AAAAAA;background-color:#FFF0F0;color:#000000;font-size:10pt;}
*/
/*  --------------------------------------------------  */
/* -----   Save View  modal dialog background ----- */
/* Save View modal dialog background */
.save-view-modal-dialog-overlay-background {
  cursor: pointer; /* set mouse to pointer */
  z-index: 1001;
  background-color: black;
  opacity: 0.8;
  filter: Alpha(Opacity=80);
  /*  Moved to inline style in header so context is not hard coded
  background: #666 url(/???context???/css/jquery-ui-1.10.2-Themes/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat;
  */
  /*  
  opacity: .50;
  filter: Alpha(Opacity=50);
  */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*  Overlay for Save View Div   */
div.save-view-modal-dialog-overlay-div {
  opacity: 1;
  filter: Alpha(Opacity=100);
  background-color: white;
  outline: 0px;
  position: fixed;
  /*
  */
  top: 50px;
  left: 50px;
  /*
  height: 400px;
  */
  border: 1px;
  border-style: solid;
  border-color: #D3D3D3;
  display: block;
  z-index: 1002;
  width: 450px;
}

.save-view-modal-dialog-overlay-header {
  height: 35px;
  background-color: #FFF0F0;
  padding-bottom: 5px;
  border-width: 0px;
  border-bottom-width: 1px;
  border-style: solid;
  border-color: #D3D3D3;
}

.save-view-modal-dialog-overlay-X-for-exit-overlay {
  float: right;
  border-color: #000000;
  height: 33px;
  background-color: #A55353;
  color: white;
  padding: 3px;
  margin: 0px;
  cursor: pointer;
}

.save-view-modal-dialog-overlay-header-text {
  color: black;
  padding: 3px;
  margin: 0px;
  text-align: center;
}

.save-view-modal-dialog-overlay-body {
  padding: 20px;
}

.save-view-modal-dialog-overlay-link {
  margin-right: 20px;
}

/*    */
.save-view-root-container, .share-page-root-container {
  display: inline-block;
  position: relative;
}

.merged-expanded-row-single-search-color-block {
  margin-right: 10px;
  padding-left: 8px;
  padding-right: 6px;
  padding-top: 1px;
  padding-bottom: 1px;
}
/*# sourceURL=webpack://./src/styles/global.scss */
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8uL3NyYy9zdHlsZXMvZ2xvYmFsLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0E7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUFnQkE7RUFDQyxTQUFBO0VBQ0EsVUFBQTtFQUNBLFlBQUE7QUFIRDs7QUFNQSw0SEFBQTtBQUVBO0VBQU8sY0FBQTtFQUFnQix5QkFBQTtFQUEyQixlQUFBO0VBQWdCLDhCQUFBO0VBQWdDLGtCQUFBO0VBQW1CLGdCQUFBO0FBRXJIOztBQUFBLDRKQUFBO0FBRUE7RUFBa0MsY0FBQTtBQUdsQzs7QUFGQTtFQUFrQyxjQUFBO0FBTWxDOztBQUxBO0VBQWtDLGNBQUE7QUFTbEM7O0FBUkE7RUFBcUMsY0FBQTtBQVlyQzs7QUFWQTtFQUFtRCxpQkFBQTtFQUFrQixZQUFBO0VBQWMsbUJBQUE7QUFnQm5GOztBQWRBOzs7Ozs7RUFLcUQsZ0JBQUE7RUFBa0IsbUJBQUE7RUFBcUIsbUJBQUE7QUFvQjVGOztBQWpCQTtFQUNDLGdCQUFBO0VBQWtCLG1CQUFBO0VBQ2xCLG1CQUFBO0FBcUJEOztBQWxCQTtFQUFnQyxpQkFBQTtFQUFtQixtQkFBQTtFQUFxQixxQkFBQTtFQUF1QixrQkFBQTtBQXlCL0Y7O0FBdkJBLGdDQUFBO0FBRUMsMEZBQUE7QUFDRDtFQUFnRSxtQkFBQTtFQUFxQix5QkFBQTtBQTJCckY7O0FBekJBO0VBQTZCLG1CQUFBO0FBNkI3Qjs7QUEzQkEscUNBQUE7QUFHQSxxQkFBQTtBQUVBO0VBQWlCLGlCQUFBO0FBNEJqQjs7QUExQkE7O0NBQUE7QUFJQTtFQUFvQix5QkFBQTtBQTZCcEI7O0FBM0JBO0VBQ0UsY0FBQTtBQThCRjs7QUE1QkE7RUFBYyxjQUFBO0FBZ0NkOztBQTdCQTtFQUFRLGVBQUE7QUFpQ1I7O0FBaENBO0VBQVMsZUFBQTtBQW9DVDs7QUFsQ0E7RUFBNkMsc0JBQUE7RUFBd0IsZUFBQTtFQUFpQixrQkFBQTtBQXdDdEY7O0FBdENBOztDQUFBO0FBSUE7RUFBa0cseUJBQUE7QUF5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QyxrQkFBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLG1CQUFBO0FBKzRCRCIsInNvdXJjZXNDb250ZW50IjpbIlxuLy8gIGdsb2JhbC5zY2NzXG5cbi8qXG5cbkdvb2dsZSBDaHJvbWUgZGVmYXVsdCB2YWx1ZXMgZm9yIHRoZSBib2R5IHRhZyBhcyByZXRyaWV2ZWQgZnJvbSBEZXZlbG9wZXIgdG9vbHMgXG5cbmJvZHkge2Rpc3BsYXk6IGJsb2NrO21hcmdpbjogOHB4O31cblxuXG5Cb2R5IHNldHRpbmdzIGZvciBmaXhpbmcgZm9vdGVyIGF0IGJvdHRvbSBvZiBwYWdlXG5ib2R5IHtcblx0bWFyZ2luOjA7XG5cdHBhZGRpbmc6MDtcblx0aGVpZ2h0OjEwMCU7XG59XG5cbiovXG5cbmh0bWwsIGJvZHkge1xuXHRtYXJnaW46MDtcblx0cGFkZGluZzowO1xuXHRoZWlnaHQ6MTAwJTtcbn1cblxuLyogIG92ZXJhbGwgZm9udCBjb2xvciBhbHNvIHBsYWNlZCBpbiBoZWFkX3NlY3Rpb25faW5jbHVkZV9ldmVyeV9wYWdlLmpzcCBhcyBKUyB2YXIgX1BST1hMX0RFRkFVTFRfRk9OVF9DT0xPUiA9IFwiIzU0NTQ1NFwiOyAqL1xuXG5CT0RZIHsgY29sb3I6ICM1NDU0NTQ7IGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7IGZvbnQtc2l6ZToxNHB4OyBmb250LWZhbWlseTogYXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc3R5bGU6bm9ybWFsOyBmb250LXdlaWdodDo1MDA7IH1cblxuLyogIENvbG9ycyBwZXIgbGluayB0eXBlLiAgVXNlZCBpbiBDaGFydHMgYW5kIG90aGVyIHBsYWNlcy4gIEFsc28gcGxhY2VkIGluIGhlYWRfc2VjdGlvbl9pbmNsdWRlX2V2ZXJ5X3BhZ2UuanNwIGFzIEpTIHZhcmlhYmxlcyBfUFJPWExfQ09MT1JfTElOS19UWVBFXy4uLiAqL1xuXG4uZm9udC1jb2xvci1saW5rLXR5cGUtY3Jvc3NsaW5rIHsgY29sb3I6ICNBNTUzNTMgfVxuLmZvbnQtY29sb3ItbGluay10eXBlLWxvb3BsaW5rICB7IGNvbG9yOiAjNTNBNTUzIH1cbi5mb250LWNvbG9yLWxpbmstdHlwZS11bmxpbmtlZCAgeyBjb2xvcjogIzUzNTNBNSB9XG4uZm9udC1jb2xvci1saW5rLXR5cGUtYWxsLWNvbWJpbmVkIHsgY29sb3I6ICNBNUE1QTUgfVxuXG4udGFibGUtbm8tYm9yZGVyLW5vLWNlbGwtc3BhY2luZy1uby1jZWxsLXBhZGRpbmcgeyBib3JkZXItd2lkdGg6MHB4OyBwYWRkaW5nOiAwcHg7IGJvcmRlci1zcGFjaW5nIDogMHB4OyB9XG5cbi50YWJsZS1uby1ib3JkZXItbm8tY2VsbC1zcGFjaW5nLW5vLWNlbGwtcGFkZGluZyB0Ym9keSwgXG4udGFibGUtbm8tYm9yZGVyLW5vLWNlbGwtc3BhY2luZy1uby1jZWxsLXBhZGRpbmcgdHIsIFxuLnRhYmxlLW5vLWJvcmRlci1uby1jZWxsLXNwYWNpbmctbm8tY2VsbC1wYWRkaW5nIHRoLCBcbi50YWJsZS1uby1ib3JkZXItbm8tY2VsbC1zcGFjaW5nLW5vLWNlbGwtcGFkZGluZyB0ZCxcbnRyLnRhYmxlLW5vLWJvcmRlci1uby1jZWxsLXNwYWNpbmctbm8tY2VsbC1wYWRkaW5nLCBcbnRkLnRhYmxlLW5vLWJvcmRlci1uby1jZWxsLXNwYWNpbmctbm8tY2VsbC1wYWRkaW5nIHsgcGFkZGluZy10b3A6IDBweDsgcGFkZGluZy1ib3R0b206IDBweDsgYm9yZGVyLXNwYWNpbmcgOiAwcHg7IH1cblxuXG50ci50YWJsZS1uby1ib3JkZXItbm8tY2VsbC1zcGFjaW5nLW5vLWNlbGwtcGFkZGluZywgLnRhYmxlLW5vLWJvcmRlci1uby1jZWxsLXNwYWNpbmctbm8tY2VsbC1wYWRkaW5nICwgLnRhYmxlLW5vLWJvcmRlci1uby1jZWxsLXNwYWNpbmctbm8tY2VsbC1wYWRkaW5nIHRkIHtcblx0cGFkZGluZy10b3A6IDBweDsgcGFkZGluZy1ib3R0b206IDBweDtcblx0Ym9yZGVyLXNwYWNpbmcgOiAwcHg7XG59XG5cbi5jaGFydC1zdGFuZGFyZC1jb250YWluZXItZGl2IHsgYm9yZGVyLXdpZHRoOiAxcHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogI0NEQ0RDRDsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi8qICBUQUJMRSBTT1JURVIgQ1NTIE92ZXJyaWRlICAqL1xuXG5cdC8qIEFkZCBwYWRkaW5nLXJpZ2h0IHNvIHRoZSBoZWFkZXIgdGV4dCBzdGF5cyB0byB0aGUgbGVmdCBvZiB0aGUgaWNvbnMgVGFibGVTb3J0ZXIgYWRkcyAgKi9cbnRhYmxlLnRhYmxlc29ydGVyIHRoZWFkIHRyIHRoLCB0YWJsZS50YWJsZXNvcnRlciB0Zm9vdCB0ciB0aCAge1x0cGFkZGluZy1yaWdodDogMTVweDsgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjBGMDsgfVxuXG50YWJsZS50YWJsZXNvcnRlciB0Ym9keSB0ZCB7XHRwYWRkaW5nLXJpZ2h0OiAxNXB4OyB9XG5cbi8qICBFTkQgIFRBQkxFIFNPUlRFUiBDU1MgT3ZlcnJpZGUgICovXG5cblxuLyogSGlnaGxpZ2h0IGEgcm93ICAqL1xuXG4uaGlnaGxpZ2h0LXJvdyB7IGZvbnQtd2VpZ2h0OiBib2xkIH1cblxuLyogVGhpcyBkb2Vzbid0IHdvcmsgc2luY2UgdGFibGVzb3J0ZXIgYmFja2dyb3VuZCBjb2xvciBoYXMgYSBoaWdoZXIgc3BlY2lmaWNpdHlcbi5oaWdobGlnaHQtcm93IHsgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjBGMCB9XG4qL1xuXG50ZC5oaWdobGlnaHQtY2VsbCB7IGJhY2tncm91bmQtY29sb3I6ICNGRkYwRjAgfVxuXG5BLm92ZXJpZGUtdGV4dC1jb2xvci10by1iYXNlLWNvbG9yOmxpbmssIEEub3ZlcmlkZS10ZXh0LWNvbG9yLXRvLWJhc2UtY29sb3I6dmlzaXRlZCAsIEEub3ZlcmlkZS10ZXh0LWNvbG9yLXRvLWJhc2UtY29sb3I6YWN0aXZlICwgQS5vdmVyaWRlLXRleHQtY29sb3ItdG8tYmFzZS1jb2xvcjpob3ZlciBcbnsgY29sb3I6ICM1NDU0NTQgfVxuXG4uZXJyb3ItdGV4dCB7IGNvbG9yOiAjQTU1MzUzIH1cblxuXG5pbnB1dCB7IGZvbnQtc2l6ZToxNHB4OyAgfVxuc2VsZWN0IHsgZm9udC1zaXplOjE0cHg7ICB9XG5cbmlucHV0W3R5cGU9XCJyYWRpb1wiXSwgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHt2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyBtYXJnaW4tdG9wOiAwcHg7IG1hcmdpbi1ib3R0b206IDBweDsgfVxuXG4vKiAgICAgICAgXG5pbnB1dCB7IGZvbnQtc2l6ZToyMHB4OyAgfVxuKi8gICAgICAgIFxuICAgICAgICBcbkJPRFkuaW5zZXQtcGFnZSwgQk9EWS5sb2dpbi1wYWdlLCBCT0RZLnJlc2V0LXBhc3N3b3JkLXBhZ2UsIEJPRFkucmVzZXQtcGFzc3dvcmQtY29kZS1mYWlsLXBhZ2UgIHsgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjhGOCB9ICAgICAgICBcbiAgICAgICAgXG5ib2R5LnZpZXctbWVyZ2VkLWltYWdlLXBhZ2UgLmNvbG9ycGlja2VyIHtcblx0ei1pbmRleDoyMTtcbn1cbiAgICAgICAgXG5cbi8qICovXG5BOmxpbmsgIHsgY29sb3I6ICNBNTUzNTM7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuQTp2aXNpdGVkICB7IGNvbG9yOiAjQTU1MzUzOyB9XG5BOmhvdmVyICB7IGNvbG9yOiBncmVlbjsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5BOmFjdGl2ZSAgeyBjb2xvcjogZ3JlZW47IH1cblxuXG5cbi8qIExpbmtzIHVzZWQgZm9yIEphdmFzY3JpcHQgdG8gc2hvdyB0aGUgY2hpbGQgZGF0YSBmb3IgdGhlIGdpdmVuIHJvdyAqL1xuLypcbkEuc2hvdy1jaGlsZC1kYXRhLWxpbmsgIHsgY29sb3I6IGJsYWNrOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbkEuc2hvdy1jaGlsZC1kYXRhLWxpbms6bGluayAgeyBjb2xvcjogYmx1ZTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5BOnNob3ctY2hpbGQtZGF0YS1saW5rOnZpc2l0ZWQgIHsgY29sb3I6IGJsYWNrOyB9XG5BOnNob3ctY2hpbGQtZGF0YS1saW5rOmhvdmVyICB7IGNvbG9yOiBncmVlbiAgIWltcG9ydGFudDsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgICFpbXBvcnRhbnQ7ICB9XG5BOnNob3ctY2hpbGQtZGF0YS1saW5rOmFjdGl2ZSAgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuKi9cblxuLyogTGlua3MgdXNlZCBmb3IgSmF2YXNjcmlwdCB0byBzaG93IHRoZSBzZWFyY2ggZGV0YWlscyBkYXRhICAqL1xuLy8gQS5zaG93LXNlYXJjaC1kZXRhaWxzLWRhdGEtbGluazpsaW5rICB7ICB9XG4vLyBBOnNob3ctc2VhcmNoLWRldGFpbHMtZGF0YS1saW5rOmhvdmVyICB7ICB9XG5cblxubGFiZWwgeyBwYWRkaW5nLXJpZ2h0OiAycHg7IH1cbmxhYmVsOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogI0VDRUNFQyAgLyogcGluayBiYWNrZ3JvdW5kIHVzZWQgZWxzZXdoZXJlICNGRkYwRjAgKi87IH1cblxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7ICBmb250LXNpemU6MTRweDsgY29sb3I6ICNGRkZGRkY7IGJhY2tncm91bmQtY29sb3I6ICNBNTUzNTM7ICB9XG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmRpc2FibGVkLCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmRpc2FibGVkLCAuZGlzYWJsZWQtY2hlY2tib3ggeyBvcGFjaXR5OjAuNjtmaWx0ZXI6YWxwaGEob3BhY2l0eT02MCk7IH1cbi8qIC5kaXNhYmxlZC1jaGVja2JveCAgaXMgcHV0IG9uIHRoZSBzcGFuIHN1cnJvdW5kaW5nIHRoZSBjaGVja2JveCB0byBhbHNvIGltcGFjdCB0aGUgbGFiZWwgKi9cblxuLnN1Ym1pdC1idXR0b24geyAgZm9udC1zaXplOjE0cHg7IGNvbG9yOiAjRkZGRkZGOyBiYWNrZ3JvdW5kLWNvbG9yOiAjQTU1MzUzOyAgfVxuXG4vKiBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdICovXG4uc3VibWl0LWJ1dHRvbjpkaXNhYmxlZCB7IG9wYWNpdHk6MC42O2ZpbHRlcjphbHBoYShvcGFjaXR5PTYwKTsgfVxuXG4ubm9uLWxpbmsgIHsgb3BhY2l0eTowLjY7ZmlsdGVyOmFscGhhKG9wYWNpdHk9NjApOyB9XG5cbi5kb3dubG9hZC1zdmctbGluay1ub24tbGluayAgeyBvcGFjaXR5OjAuNjtmaWx0ZXI6YWxwaGEob3BhY2l0eT02MCk7IH1cbi5zdHJ1Y3R1cmUtbGluay1ub24tbGluayAgeyBvcGFjaXR5OjAuNjtmaWx0ZXI6YWxwaGEob3BhY2l0eT02MCk7IH1cblxuLyogb3B0aW9ucyBmb3IgdGhlIFwiRG93bmxvYWQgQXNcIiBob3ZlciBkcm9wZG93biBtZW51ICovXG4jc3ZnLWRvd25sb2FkIHsgcG9zaXRpb246IHJlbGF0aXZlOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiNzdmctZG93bmxvYWQ6aG92ZXIgI3N2Zy1kb3dubG9hZC1vcHRpb25zIHsgZGlzcGxheTogYmxvY2s7IH1cbi8vICNkb3dubG9hZF9hc19saW5rIHsgfVxuI3N2Zy1kb3dubG9hZC1vcHRpb25zIHsgei1pbmRleDoxMDsgcGFkZGluZy10b3A6N3B4OyBkaXNwbGF5OiBub25lOyBwb3NpdGlvbjogYWJzb2x1dGU7IGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7IG1pbi13aWR0aDogMTYwcHg7IGJveC1zaGFkb3c6IDBweCA4cHggMTZweCAwcHggcmdiYSgwLDAsMCwwLjIpOyB9XG4uc3ZnLWRvd25sb2FkLW9wdGlvbiB7IGRpc3BsYXk6YmxvY2s7IG1hcmdpbi1sZWZ0OjVweDsgfVxuXG4vKiAgRHVwbGljYXRlIG9ubHkgdXNpbmcgY2xhc3MsIG5vdCAgaWQuICBDdXJyZW50bHkgdXNlZCBmb3IgZG93bmxvYWQgY2hhcnRzIGZvciBQU01zLiAgKi9cbi8qIG9wdGlvbnMgZm9yIHRoZSBcIkRvd25sb2FkIEFzXCIgaG92ZXIgZHJvcGRvd24gbWVudSAqL1xuLnN2Zy1kb3dubG9hZC1ibG9jayB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4uc3ZnLWRvd25sb2FkLWJsb2NrOmhvdmVyIC5zdmctZG93bmxvYWQtb3B0aW9ucy1iYWNraW5nLWJsb2NrIHsgZGlzcGxheTogYmxvY2s7IH1cbi5zdmctZG93bmxvYWQtb3B0aW9ucy1iYWNraW5nLWJsb2NrIHsgZm9udC1zaXplOiAxMnB4OyB6LWluZGV4Ojc7IHRvcDogLTFweDsgZGlzcGxheTogbm9uZTsgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogMTYwcHg7IGhlaWdodDogNDBweDsgfVxuLnN2Zy1kb3dubG9hZC1ibG9jazpob3ZlciAuc3ZnLWRvd25sb2FkLW9wdGlvbnMtYmxvY2sgeyBkaXNwbGF5OiBibG9jazsgfVxuLnN2Zy1kb3dubG9hZC1vcHRpb25zLWJsb2NrIHsgZm9udC1zaXplOiAxMnB4OyB6LWluZGV4OjEwOyBwYWRkaW5nLXRvcDo3cHg7IGRpc3BsYXk6IG5vbmU7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTsgbWluLXdpZHRoOiAxNjBweDsgYm94LXNoYWRvdzogMHB4IDhweCAxNnB4IDBweCByZ2JhKDAsMCwwLDAuMik7IH1cbi5zdmctZG93bmxvYWQtb3B0aW9uIHsgZGlzcGxheTpibG9jazsgbWFyZ2luLWxlZnQ6NXB4OyB9XG5cblxuXG5cbiNkYXRhLWRvd25sb2FkIHsgcG9zaXRpb246IHJlbGF0aXZlOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiNkYXRhLWRvd25sb2FkOmhvdmVyICNkYXRhLWRvd25sb2FkLW9wdGlvbnMgeyBkaXNwbGF5OiBibG9jazsgfVxuI2RhdGEtZG93bmxvYWQtb3B0aW9ucyB7IHotaW5kZXg6MTA7IHBhZGRpbmctdG9wOjdweDsgZGlzcGxheTogbm9uZTsgcG9zaXRpb246IGFic29sdXRlOyBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5OyBtaW4td2lkdGg6IDM1MHB4OyBib3gtc2hhZG93OiAwcHggOHB4IDE2cHggMHB4IHJnYmEoMCwwLDAsMC4yKTsgfVxuLmRvd25sb2FkLW9wdGlvbiB7IGRpc3BsYXk6YmxvY2s7IG1hcmdpbi1sZWZ0OjVweDsgfVxuXG5cblxuXG5cblxuLyogIENsYXNzIGZvciBhbGwgb2JqZWN0cyB0aGF0IGFyZSBjbGlja2FibGUuICBDaGFuZ2VzIG1vdXNlIHBvaW50ZXIgdG8gc2FtZSBhcyB3aGVuIGhvdmVyIG9uIGEgbGluayAqL1xuLmNsaWNrYWJsZSB7IGN1cnNvcjogcG9pbnRlcjsgICB9XG5cbi8qICBDU1Mgc3R5bGluZyBmb3IgcXRpcDIgdG9vbCB0aXBzICAqL1xuXG4vKiAgVmFsdWVzIGluIHRoZSBxdGlwMiBjc3MgZmlsZTpcbi5xdGlwLWRlZmF1bHR7Ym9yZGVyLXdpZHRoOjFweDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLWNvbG9yOiNGMUQwMzE7YmFja2dyb3VuZC1jb2xvcjojRkZGRkEzO2NvbG9yOiM1NTV9XG4qL1xuXG4ucXRpcC1kZWZhdWx0e2JvcmRlci13aWR0aDoxcHg7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci1jb2xvcjojQUFBQUFBO2JhY2tncm91bmQtY29sb3I6I0ZGRjBGMDtjb2xvcjojMDAwMDAwO2ZvbnQtc2l6ZToxMHB0O31cblxuXG4vKiBjc3MgZm9yIHN0eWxpbmcgdGhlIGF1dG9jb21wbGV0ZSAqL1xuXG4uYXV0b2NvbXBsZXRlIHsgYmFja2dyb3VuZC1jb2xvcjogI0U4RUFGRjsgYm9yZGVyLWNvbG9yOiMwMDAwMDA7IGJvcmRlci13aWR0aDoxOyBib3JkZXItc3R5bGU6c29saWQ7IHBhZGRpbmc6MTBweDsgb3ZlcmZsb3cteTogc2Nyb2xsOyBvdmVyZmxvdy14OiBoaWRkZW47IH1cblxuLmF1dG9jb21wbGV0ZSAuc2VsZWN0ZWQgeyBcdGNvbG9yOiB3aGl0ZTtcdGJhY2tncm91bmQtY29sb3I6IzAwMDAwMDsgfVxuXG4uYXV0b2NvbXBsZXRlIGRpdiB7IHBhZGRpbmc6MnB4IDVweDsgd2hpdGUtc3BhY2U6bm93cmFwOyBvdmVyZmxvdzpoaWRkZW47IH1cblx0XG5cbi5Qcm9YTC1EQi10ZXh0IHsgY29sb3I6ICNBNTUzNTM7IGZvbnQtd2VpZ2h0OiBib2xkIH1cblxuLyogc3R5bGluZyBvZiB0ZXh0IGluIHRvb2x0aXAgc3ZnIG9uIG1lcmdlZCBpbWFnZSBwYWdlLiAgXCJmaWxsXCIgc2V0cyB0aGUgdGV4dCBjb2xvciBvbiA8dGV4dD4gZWxlbWVudCAqL1xuLnByb3hsLXByaW1hcnktY29sb3ItYm9sZC1zdmctdGV4dCB7IGZpbGw6ICNBNTUzNTM7IGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cblxuLmhpZGRlbiB7IGRpc3BsYXk6bm9uZTsgfVxuLmlzVG9vbHRpcCB7IGZvbnQtc2l6ZToxMXB4O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7IH1cbi5pcy10b29sdGlwLWxhYmVsIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuaW1nLmVkaXQtaWNvbiB7IG1heC13aWR0aDoxMnB4O21hcmdpbi1sZWZ0OjJweDttYXJnaW4tcmlnaHQ6NXB4O29wYWNpdHk6MC44O2ZpbHRlcjphbHBoYShvcGFjaXR5PTgwKTtib3JkZXItd2lkdGg6MHB4OyB9XG5cbnNwYW4uc2VhcmNoLW5hbWUtZGlzcGxheSB7IGZvbnQtd2VpZ2h0OmJvbGQ7IH1cblxuXHQvKiAgV2hvbGUgUGFnZSBsZXZlbCAgKi9cblxuLyogJ2JvZHkuaW5zZXQtcGFnZScgIGlzIGZvciBwYWdlcyB3aXRoIGFuICdpbnNldCcgbG9vaywgbG9naW4uanNwLCBmb3Jnb3RQYXNzd29yZC5qc3AsIC4uLiAqL1xuXG5ib2R5Lmluc2V0LXBhZ2UgeyAgfVxuXG5ib2R5Lmluc2V0LXBhZ2UgLmluc2V0LXBhZ2UtbWFpbi1vdXRlcm1vc3QtZGl2IHsgLyogIGxvY2sgdGhlIGZvb3RlciB0byB0aGUgYm90dG9tIG9mIHRoZSBwYWdlICovXHRtaW4taGVpZ2h0OjEwMCU7IHBvc2l0aW9uOnJlbGF0aXZlOyB9XG5cbmJvZHkuaW5zZXQtcGFnZSBkaXYucGFnZS1jb250ZW50LW91dGVyLWNvbnRhaW5lciB7IHdpZHRoOiAxMDAlOyB0ZXh0LWFsaWduOiBjZW50ZXI7ICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDsgIH1cblxuYm9keS5pbnNldC1wYWdlIGRpdi5wYWdlLWNvbnRlbnQtY29udGFpbmVyIHsgd2lkdGg6IDQ2NnB4OyBtYXJnaW4tdG9wOiAxNDBweDsgZGlzcGxheTogaW5saW5lLWJsb2NrOyAgfVxuXG5ib2R5Lmluc2V0LXBhZ2UgZGl2LnBhZ2UtY29udGVudCB7IHRleHQtYWxpZ246IGNlbnRlcjsgLyogIHdpZHRoOiAxMDAlOyAgICovIGJvcmRlci13aWR0aDogMnB4OyBib3JkZXItY29sb3I6ICNEM0QzRDM7IGJvcmRlci1zdHlsZTogc29saWQ7IGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7IH1cblxuYm9keS5pbnNldC1wYWdlIGRpdi5sb2dvLWxhcmdlLWNvbnRhaW5lciB7IG1hcmdpbi10b3A6IDIwcHg7IH1cblxuYm9keS5pbnNldC1wYWdlIC5wYWdlLWxhYmVsIHsgZm9udC1zaXplOjIwcHg7IG1hcmdpbi10b3A6IDIwcHg7IG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuYm9keS5pbnNldC1wYWdlIC5wYWdlLXRleHQgeyBmb250LXNpemU6IDE0cHg7IHRleHQtYWxpZ246IGxlZnQ7IH1cblxuXG5ib2R5Lmluc2V0LXBhZ2UgLmlucHV0LWZpZWxkLGJvZHkuaW5zZXQtcGFnZSBkaXYucGFnZS10ZXh0LCBib2R5Lmluc2V0LXBhZ2UgLnN1Ym1pdC1idXR0b24geyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiAzMDJweDsgbWFyZ2luLWJvdHRvbTogNHB4OyB9XG5cbmJvZHkuaW5zZXQtcGFnZSAuaW5wdXQtZmllbGQgeyAgZm9udC1zaXplOjIxcHg7IGNvbG9yOiAjMDAwMDAwOyBvcGFjaXR5OjAuODtmaWx0ZXI6YWxwaGEob3BhY2l0eT04MCk7IH1cblxuYm9keS5pbnNldC1wYWdlIGlucHV0IHsgZm9udC1zaXplOjIxcHg7ICB9XG5ib2R5Lmluc2V0LXBhZ2Ugc2VsZWN0IHsgZm9udC1zaXplOjIxcHg7ICB9XG5ib2R5Lmluc2V0LXBhZ2UgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgYm9keS5pbnNldC1wYWdlIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0geyAgZm9udC1zaXplOjIxcHg7IH1cblxuXG5cbmJvZHkuaW5zZXQtcGFnZSAuYm90dG9tLXRhYiB7IGZsb2F0OiByaWdodDsgcGFkZGluZzogOHB4OyBib3JkZXItd2lkdGg6IDJweDsgYm9yZGVyLXRvcC13aWR0aDogMHB4OyBib3JkZXItY29sb3I6ICNEM0QzRDM7IGJvcmRlci1zdHlsZTogc29saWQ7IGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7ICB9XG5ib2R5Lmluc2V0LXBhZ2UgLmJvdHRvbS10YWIgYSB7IGNvbG9yOiMwMDAwMDA7IGJhY2tncm91bmQtY29sb3I6ICNGRkY4Rjg7IG9wYWNpdHk6MC41O2ZpbHRlcjphbHBoYShvcGFjaXR5PTUwKTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cblxuXG5ib2R5Lmluc2V0LXBhZ2UgZGl2LmVycm9yLW1lc3NhZ2UtY29udGFpbmVyLCBib2R5Lmluc2V0LXBhZ2UgZGl2LnN1Y2Nlc3MtbWVzc2FnZS1jb250YWluZXIgeyBkaXNwbGF5OiBub25lOyB3aWR0aDogMTAwJTsgdGV4dC1hbGlnbjogY2VudGVyOyBwb3NpdGlvbjogYWJzb2x1dGU7IHotaW5kZXg6IDE7IH1cblxuYm9keS5pbnNldC1wYWdlIC5lcnJvci1tZXNzYWdlLWlubmVyLWNvbnRhaW5lciwgYm9keS5pbnNldC1wYWdlIC5zdWNjZXNzLW1lc3NhZ2UtaW5uZXItY29udGFpbmVyIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogOTAlOyBmb250LXNpemU6IDE4cHg7IHBhZGRpbmc6IDEwcHg7IGJvcmRlci13aWR0aDogMnB4OyBib3JkZXItY29sb3I6ICNEM0QzRDM7IGJvcmRlci1zdHlsZTogc29saWQ7IGNvbG9yOiB3aGl0ZTsgIH1cblxuYm9keS5pbnNldC1wYWdlIC5lcnJvci1tZXNzYWdlLWlubmVyLWNvbnRhaW5lciB7IGJhY2tncm91bmQtY29sb3I6IHJlZDsgfVxuXG5ib2R5Lmluc2V0LXBhZ2UgLnN1Y2Nlc3MtbWVzc2FnZS1pbm5lci1jb250YWluZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgfVxuXG4vLyBib2R5Lmluc2V0LXBhZ2Ugc3Bhbi5lcnJvci1tZXNzYWdlLXRleHQsIGJvZHkuaW5zZXQtcGFnZSBzcGFuLnN1Y2Nlc3MtbWVzc2FnZS10ZXh0IHsgIH1cblx0XG5ib2R5Lmluc2V0LXBhZ2UgLmVycm9yLW1lc3NhZ2UtY2xvc2UteCwgYm9keS5pbnNldC1wYWdlIC5zdWNjZXNzLW1lc3NhZ2UtY2xvc2UteCB7IGN1cnNvcjogcG9pbnRlcjsgZmxvYXQ6IHJpZ2h0OyBtYXJnaW4tbGVmdDogMTBweDsgfVxuXG5cblx0LyogICBUZXJtcyBvZiBzZXJ2aWNlIFBhZ2UgICovXG5cdFxuYm9keS5pbnNldC1wYWdlIGRpdi5wYWdlLXRlcm1zLW9mLXNlcnZpY2UtY29udGFpbmVyIHsgd2lkdGg6IDgwJSB9XG5cblx0LyogICBMb2dpbiBQYWdlICAqL1xuXHRcblxuXG4vKiAtLS0tLSAgIFRlcm1zIG9mIFNlcnZpY2UgIE92ZXJsYXkgRGl2IG9uIE1hbmFnZSBDT25maWd1cmF0aW9uIFBhZ2UgIG1vZGFsIGRpYWxvZyBiYWNrZ3JvdW5kIC0tLS0tICovXG5cbi50ZXJtcy1vZi1zZXJ2aWNlLW1vZGFsLWRpYWxvZy1vdmVybGF5LWJhY2tncm91bmQge1xuXG5cdCAgei1pbmRleDogMTg7XG5cdCAgXG5cdCAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG5cdG9wYWNpdHk6IC44MDtcblx0ZmlsdGVyOiBBbHBoYShPcGFjaXR5PTgwKTtcblxuXHQgIC8qICBNb3ZlZCB0byBpbmxpbmUgc3R5bGUgaW4gaGVhZGVyIHNvIGNvbnRleHQgaXMgbm90IGhhcmQgY29kZWRcblx0YmFja2dyb3VuZDogIzY2NiB1cmwoLz8/P2NvbnRleHQ/Pz8vY3NzL2pxdWVyeS11aS0xLjEwLjItVGhlbWVzL3VpLWxpZ2h0bmVzcy9pbWFnZXMvdWktYmdfZGlhZ29uYWxzLXRoaWNrXzIwXzY2NjY2Nl80MHg0MC5wbmcpIDUwJSA1MCUgcmVwZWF0O1xuXHQqL1xuXHQvKiAgXG5cdG9wYWNpdHk6IC41MDtcblx0ZmlsdGVyOiBBbHBoYShPcGFjaXR5PTUwKTtcblx0Ki9cblx0cG9zaXRpb246IGZpeGVkO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cblxuIGRpdi50ZXJtcy1vZi1zZXJ2aWNlLW92ZXJsYXktZGl2IHtcblxuXHRvcGFjaXR5OiAxO1xuXHRmaWx0ZXI6IEFscGhhKE9wYWNpdHk9MTAwKTtcblxuXHRiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO1xuXHRvdXRsaW5lOiAwcHg7XG5cblx0LyogY2VudGVyIGhvcml6b250YWxseSAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgICBcbiAgICB0b3A6IDMwcHg7XG5cblx0Ym9yZGVyOiAxcHg7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGJvcmRlci1jb2xvcjogI0QzRDNEMyA7XG5cblx0ZGlzcGxheTogYmxvY2s7XG5cdHotaW5kZXg6IDIwO1xuXG5cdHdpZHRoOiA4MDBweDtcblxufVxuXG5cbi50ZXJtcy1vZi1zZXJ2aWNlLW92ZXJsYXktaGVhZGVyICB7IFxuXHRcblx0aGVpZ2h0OiAzNXB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGMEYwOyBwYWRkaW5nLWJvdHRvbTogNXB4O1xuXG5cdGJvcmRlci13aWR0aDogMHB4O1xuXHRib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGJvcmRlci1jb2xvcjogI0QzRDNEMyA7XG4gfVxuXG4udGVybXMtb2Ytc2VydmljZS1vdmVybGF5LWhlYWRlci10ZXh0IHsgY29sb3I6IGJsYWNrOyBwYWRkaW5nOiAzcHg7IG1hcmdpbjogMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7ICB9XG5cbi50ZXJtcy1vZi1zZXJ2aWNlLW92ZXJsYXktYm9keSB7ICBwYWRkaW5nOiAyMHB4OyB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbiAudGVybXMtb2Ytc2VydmljZS1vdmVybGF5LXRleHQgeyBtYXJnaW46IDVweDsgcGFkZGluZzogMjBweDsgYm9yZGVyLXdpZHRoOiAxcHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogI0E1NTM1MyB9XG5cbi50ZXJtcy1vZi1zZXJ2aWNlLW92ZXJsYXktZGl2IC50ZXJtcy1vZi1zZXJ2aWNlLW92ZXJsYXktYm9keSBpbnB1dC50ZXJtcy1vZi1zZXJ2aWNlLW92ZXJsYXktYnV0dG9uIHsgZm9udC1zaXplOiAxNHB4OyAgfVxuXG5cbi8qICBUZXJtcyBvZiBTZXJ2aWNlIHBhZ2UgICovXG5cbmJvZHkudGVybXMtb2Ytc2VydmljZS1wYWdlIC50ZXJtcy1vZi1zZXJ2aWNlLWhlYWRlciB7IHRleHQtYWxpZ246IGNlbnRlcjsgZm9udC1zaXplOiAyNHB4OyBmb250LXdlaWdodDogYm9sZDsgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG5ib2R5LnRlcm1zLW9mLXNlcnZpY2UtcGFnZSAudGVybXMtb2Ytc2VydmljZS10ZXh0IHsgdGV4dC1hbGlnbjogbGVmdDsgZm9udC1zaXplOiAxNHB4OyBwYWRkaW5nLWxlZnQ6IDI1cHg7IHBhZGRpbmctcmlnaHQ6IDI1cHg7IHBhZGRpbmctYm90dG9tOiAyNXB4OyBwYWRkaW5nLXRvcDogMjVweDsgfVxuXG5ib2R5LnRlcm1zLW9mLXNlcnZpY2UtcGFnZSAudGVybXMtb2Ytc2VydmljZS1jbG9zZS1idXR0b24geyB0ZXh0LWFsaWduOiBsZWZ0OyBwYWRkaW5nLWxlZnQ6IDI1cHg7IH1cblxuXG4vKiBJbnZpdGUgTGFuZGluZyBQYWdlICAqL1xuXG5cbmJvZHkudXNlci1pbnZpdGUtbGFuZGluZy1wYWdlIC5zaWduLWluLWFib3ZlLXRleHQgeyBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cblxuXG5cblxuXG5cblxuXG4vKiAgTWFpbiBwYWdlcyAobm9uLWluc2V0IHBhZ2VzKSAgKi9cblxuXG4vKiBJbiBTaG93aW5nIFByb3RlaW4gYW5kIFBlcHRpZGUgZGF0YSBwZXIgc2VhcmNoLCB0aGlzIHNwZWNpZmllcyB0aGUgdmVydGljYWwgc3BhY2UgYmV0d2VlbiB0aGUgdGFibGVzIGZvciBlYWNoIHNlYXJjaCAqL1xuXG4uZGF0YS1wZXItc2VhcmNoLWJldHdlZW4tc2VhcmNoZXN7IGhlaWdodDogMXB4OyB9XG5cblxuXG4vKlxuXHRcdFRoZXNlIHBhZ2VzIGhhdmUgc3BlY2lhbCBzZXR0aW5ncyBvbiB0aGUgKi1vdXRlci1jb250YWluZXIgdG8gbG9jayB0aGUgZm9vdGVyIHRvIHRoZSBib3R0b20gb2YgdGhlIHBhZ2VcbiovXG5cblx0LyogIFdob2xlIFBhZ2UgbGV2ZWwgICovXG5cbmJvZHkuY3Jvc3NsaW5rcy1wYWdlLW1haW4gLmNyb3NzbGlua3MtcGFnZS1tYWluLW91dGVybW9zdC1kaXYgeyAvKiAgbG9jayB0aGUgZm9vdGVyIHRvIHRoZSBib3R0b20gb2YgdGhlIHBhZ2UgKi9cdG1pbi1oZWlnaHQ6MTAwJTsgcG9zaXRpb246cmVsYXRpdmU7IH1cblxuYm9keS5jcm9zc2xpbmtzLXBhZ2UtbWFpbiAucHJvamVjdC10ZXh0LWxpbmsgeyBmb250LXNpemU6IDEycHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgY29sb3I6IGJsYWNrOyBmb250LXdlaWdodDogYm9sZDsgb3BhY2l0eTowLjc7ZmlsdGVyOmFscGhhKG9wYWNpdHk9NzApOyAgfVxuXG5cbmJvZHkuY3Jvc3NsaW5rcy1wYWdlLW1haW4gZGl2LmVycm9yLW1lc3NhZ2UtY29udGFpbmVyLCBib2R5LmNyb3NzbGlua3MtcGFnZS1tYWluIGRpdi5zdWNjZXNzLW1lc3NhZ2UtY29udGFpbmVyIHsgZGlzcGxheTogbm9uZTsgd2lkdGg6IDEwMCU7IHRleHQtYWxpZ246IGNlbnRlcjsgcG9zaXRpb246IGFic29sdXRlOyB6LWluZGV4OiAxOyB9XG5cbmJvZHkuY3Jvc3NsaW5rcy1wYWdlLW1haW4gLmVycm9yLW1lc3NhZ2UtaW5uZXItY29udGFpbmVyLCBib2R5LmNyb3NzbGlua3MtcGFnZS1tYWluIC5zdWNjZXNzLW1lc3NhZ2UtaW5uZXItY29udGFpbmVyIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogOTAlOyBmb250LXNpemU6IDE4cHg7IHBhZGRpbmc6IDEwcHg7IGJvcmRlci13aWR0aDogMnB4OyBib3JkZXItY29sb3I6ICNEM0QzRDM7IGJvcmRlci1zdHlsZTogc29saWQ7IGNvbG9yOiB3aGl0ZTsgIH1cblxuYm9keS5jcm9zc2xpbmtzLXBhZ2UtbWFpbiAuZXJyb3ItbWVzc2FnZS1pbm5lci1jb250YWluZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7IH1cblxuYm9keS5jcm9zc2xpbmtzLXBhZ2UtbWFpbiAuc3VjY2Vzcy1tZXNzYWdlLWlubmVyLWNvbnRhaW5lciB7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyB9XG5cbmJvZHkuY3Jvc3NsaW5rcy1wYWdlLW1haW4gc3Bhbi5lcnJvci1tZXNzYWdlLXRleHQsIGJvZHkuY3Jvc3NsaW5rcy1wYWdlLW1haW4gc3Bhbi5zdWNjZXNzLW1lc3NhZ2UtdGV4dCB7ICB9XG5cdFxuYm9keS5jcm9zc2xpbmtzLXBhZ2UtbWFpbiAuZXJyb3ItbWVzc2FnZS1jbG9zZS14LCBib2R5LmNyb3NzbGlua3MtcGFnZS1tYWluIC5zdWNjZXNzLW1lc3NhZ2UtY2xvc2UteCB7IGN1cnNvcjogcG9pbnRlcjsgZmxvYXQ6IHJpZ2h0OyBtYXJnaW4tbGVmdDogMTBweDsgfVxuXG4vKiAgb3ZlcnJpZGUgcm93IGhpZ2hsaWdodGluZyAqLyBcbnRhYmxlLnRhYmxlc29ydGVyICAucHNtLXFjLWNoYXJ0cy1jb250YWluZXIgdHIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG50YWJsZS50YWJsZXNvcnRlciAgLnBzbS1xYy1jaGFydHMtY29udGFpbmVyIHRyOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuXG5cdC8qIE1haW4gUGFnZXMsIGludGVnZXIgbnVtYmVyIGNvbHVtbnMgaW4gdGFibGVzLCB1c3VhbGx5IGNvbHVtbnMgc29ydGVkIGJ5IHRhYmxlc29ydGVyIGpRdWVyeSBwbHVnaW4gICovXG5cdFxuYm9keS5jcm9zc2xpbmtzLXBhZ2UtbWFpbiAuaW50ZWdlci1udW1iZXItY29sdW1uLWhlYWRlciwgXG5ib2R5LmNyb3NzbGlua3MtcGFnZS1tYWluIC5pbnRlZ2VyLW51bWJlci1jb2x1bW4geyB0ZXh0LWFsaWduOiByaWdodDsgcGFkZGluZy1yaWdodDogMTVweDt9XG5cdFx0LyogRm9yIFJpZ2h0bW9zdCBjb2x1bW4gaWYgbm8gdGFibGUgc29ydGVyICovXG5ib2R5LmNyb3NzbGlua3MtcGFnZS1tYWluIC5pbnRlZ2VyLW51bWJlci1jb2x1bW4tcmlnaHQtbW9zdC1jb2x1bW4tbm8tdHMtaGVhZGVyLCBcbmJvZHkuY3Jvc3NsaW5rcy1wYWdlLW1haW4gLmludGVnZXItbnVtYmVyLWNvbHVtbi1yaWdodC1tb3N0LWNvbHVtbi1uby10cyB7IHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cblx0XHQvKiAgU2hyaW5rIHRoZSBleHBhbmQgYW5kIGNvbnRyYWN0IGltYWdlcyB0byBmaXQgdGhlIDhwdCB0ZXh0IGluIHRoZSBkYXRhIHRhYmxlcyAqL1xuYm9keS5jcm9zc2xpbmtzLXBhZ2UtbWFpbiAuaWNvbi1leHBhbmQtY29udHJhY3QtaW4tZGF0YS10YWJsZSB7IG1heC13aWR0aDogMTBweDsgbWFyZ2luLWxlZnQ6IDNweDsgfVxuXG4vKiAgZnJvbSBnMnBcbm92ZXJsYXktYmFja2dyb3VuZCB7XG5cbmN1cnNvcjogcG9pbnRlcjtcblxuYmFja2dyb3VuZDogIzY2NiB1cmwoL2cycC9jc3MvdWktbGlnaHRuZXNzL2ltYWdlcy91aS1iZ19kaWFnb25hbHMtdGhpY2tfMjBfNjY2NjY2XzQweDQwLnBuZykgNTAlIDUwJSByZXBlYXQ7XG5vcGFjaXR5OiAuNTA7XG5maWx0ZXI6IEFscGhhKE9wYWNpdHk9NTApO1xuXG5cbiovXG5cblxuXHQvKiBtb2RhbCBkaWFsb2cgYmFja2dyb3VuZCAqL1xuYm9keS5jcm9zc2xpbmtzLXBhZ2UtbWFpbiAubW9kYWwtZGlhbG9nLW92ZXJsYXktYmFja2dyb3VuZCB7IGRpc3BsYXk6IG5vbmU7IHBvc2l0aW9uOiBmaXhlZDsgY3Vyc29yOiBwb2ludGVyO3RvcDogMDtsZWZ0OiAwO2hlaWdodDogMTAwJTt3aWR0aDogMTAwJTtiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwIC8qICNBNTUzNTMgKi87b3BhY2l0eTogMC44O2ZpbHRlcjphbHBoYShvcGFjaXR5PTgwKTt6LWluZGV4OiA5OTk5ODt9XG5cblx0LyogbW9kYWwgZGlhbG9nIG92ZXJsYXkgY29udGFpbmVyICovXG5ib2R5LmNyb3NzbGlua3MtcGFnZS1tYWluIC5tb2RhbC1kaWFsb2ctb3ZlcmxheS1jb250YWluZXIgeyBkaXNwbGF5OiBub25lOyB0ZXh0LWFsaWduOiBsZWZ0OyBwb3NpdGlvbjogYWJzb2x1dGU7IHotaW5kZXg6IDk5OTk5OTsgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IHBhZGRpbmc6IDIwcHg7IGJvcmRlci1jb2xvcjogI0EwQTBBMDsgYm9yZGVyLXdpZHRoOiAycHg7IGJvcmRlci1zdHlsZTogc29saWQ7ICAgfVxuXG5cblx0LyogIEhlYWRlciBhbmQgRm9vdGVyICAqL1xuXHRcblxuYm9keS5jcm9zc2xpbmtzLXBhZ2UtbWFpbiAuaGVhZGVyLW91dGVyLWNvbnRhaW5lciwgLmZvb3Rlci1vdXRlci1jb250YWluZXIgeyBtaW4td2lkdGg6IDEwMDBweDsgfVxuXHRcblxuXG5cdC8qICBIZWFkZXIgICovXG5cbi8qIG1pbi13aWR0aCBzZXQgZm9yIHRoaXMgY2xhc3MgYWJvdmUgc28gdGhhdCBpdCBpcyB0aGUgc2FtZSBmb3IgdGhlIGhlYWRlciBhbmQgZm9vdGVyICAqL1xuYm9keS5jcm9zc2xpbmtzLXBhZ2UtbWFpbiAuaGVhZGVyLW91dGVyLWNvbnRhaW5lciB7IGhlaWdodDogMjJweDsgcGFkZGluZzogNHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGMEYwOyBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWJvdHRvbS1jb2xvcjogICNEM0QzRDM7IGJvcmRlci1ib3R0b20td2lkdGg6IDFweDsgfVxuXG5cdC8qIFJpZ2h0IHNpZGUgaXRlbXMgICovIFxuIFxuYm9keS5jcm9zc2xpbmtzLXBhZ2UtbWFpbiAuaGVhZGVyLW91dGVyLWNvbnRhaW5lciAuaGVhZGVyLXJpZ2h0LWVkZ2UtY29udGFpbmVyIHsgZmxvYXQ6IHJpZ2h0OyB9XG5cbmJvZHkuY3Jvc3NsaW5rcy1wYWdlLW1haW4gLmhlYWRlci1vdXRlci1jb250YWluZXIgLmhlYWRlci1yaWdodC1pY29ucyB7IGZsb2F0OiByaWdodDsgfVxuXG5ib2R5LmNyb3NzbGlua3MtcGFnZS1tYWluIC5oZWFkZXItb3V0ZXItY29udGFpbmVyIC5oZWFkZXItbG9nb3V0LWltYWdlIHsgcG9zaXRpb246cmVsYXRpdmU7IHRvcDoycHg7IH1cblxuYm9keS5jcm9zc2xpbmtzLXBhZ2UtbWFpbiAuaGVhZGVyLW91dGVyLWNvbnRhaW5lciAuaGVhZGVyLXVzZXItbmFtZS1jb250YWluZXIgeyBmbG9hdDogcmlnaHQ7IHBhZGRpbmctcmlnaHQ6IDdweDsgcGFkZGluZy10b3A6IDNweDsgfVxuXG5ib2R5LmNyb3NzbGlua3MtcGFnZS1tYWluIC5oZWFkZXItb3V0ZXItY29udGFpbmVyIC5oZWFkZXItdXNlci1uYW1lIHsgZm9udC1zaXplOiAxMnB4OyBvcGFjaXR5OjAuOTtmaWx0ZXI6YWxwaGEob3BhY2l0eT05MCk7IH1cblxuXHQvKiBMZWZ0IHNpZGUgaXRlbXMgICovXG5cbmJvZHkuY3Jvc3NsaW5rcy1wYWdlLW1haW4gLmhlYWRlci1vdXRlci1jb250YWluZXIgLmhlYWRlci1sb2dvIHsgZmxvYXQ6IGxlZnQ7IH1cblxuXHQvKiAnaGVhZGVyLWxlZnQtbWFpbi1jb250YWluZXInIGV4Y2x1ZGVzIHRoZSBMb2dvIGluIHRoZSB0b3AgbGVmdCBjb3JuZXIgKi9cbmJvZHkuY3Jvc3NsaW5rcy1wYWdlLW1haW4gLmhlYWRlci1vdXRlci1jb250YWluZXIgLmhlYWRlci1sZWZ0LW1haW4tY29udGFpbmVyIHsgcGFkZGluZy10b3A6IDJweDsgfVxuXG5ib2R5LmNyb3NzbGlua3MtcGFnZS1tYWluIC5oZWFkZXItb3V0ZXItY29udGFpbmVyIC5oZWFkZXItcG9pbnRlci1yaWdodCB7IGZsb2F0OiBsZWZ0OyBwYWRkaW5nLWxlZnQ6IDVweDsgcGFkZGluZy1yaWdodDogNXB4OyB9XHRcblxuYm9keS5jcm9zc2xpbmtzLXBhZ2UtbWFpbiAuaGVhZGVyLW91dGVyLWNvbnRhaW5lciAuaGVhZGVyLXByb2plY3RzLWxhYmVsLWRpdiB7IGZsb2F0OiBsZWZ0OyBwYWRkaW5nLWxlZnQ6IDVweDsgcGFkZGluZy1yaWdodDogNXB4OyB9XHRcblxuYm9keS5jcm9zc2xpbmtzLXBhZ2UtbWFpbiAuaGVhZGVyLW91dGVyLWNvbnRhaW5lciAuaGVhZGVyLXByb2plY3RzLXBvaW50ZXItcmlnaHQtLXJpZ2h0LW9mLXByb2plY3RzIHsgZmxvYXQ6IGxlZnQ7IHBhZGRpbmctbGVmdDogMTBweDsgcGFkZGluZy1yaWdodDogMTBweDsgfVxuXG5ib2R5LmNyb3NzbGlua3MtcGFnZS1tYWluIC5oZWFkZXItb3V0ZXItY29udGFpbmVyIC5oZWFkZXItY3VycmVudC1wcm9qZWN0LWxhYmVsLWRpdiB7IGZsb2F0OiBsZWZ0OyBwYWRkaW5nLXRvcDogM3B4OyB9XHRcblxuXG4vKiAgb3BhY2l0eSAwLjkgcGVyIGRpZmZlcmVudCByZXF1ZXN0ICAqL1xuYm9keS5jcm9zc2xpbmtzLXBhZ2UtbWFpbiAuaGVhZGVyLW91dGVyLWNvbnRhaW5lciAuaGVhZGVyLXByb2plY3RzLWxhYmVsIHsgY29sb3I6ICMwMDAwMDA7IGZvbnQtc2l6ZTogMThweDsgZm9udC13ZWlnaHQ6IGJvbGQ7IG9wYWNpdHk6MC45O2ZpbHRlcjphbHBoYShvcGFjaXR5PTkwKTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmJvZHkuY3Jvc3NsaW5rcy1wYWdlLW1haW4gLmhlYWRlci1vdXRlci1jb250YWluZXIgLmhlYWRlci1wcm9qZWN0LXRpdGxlIHsgY29sb3I6ICMwMDAwMDA7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IGJvbGQ7IG9wYWNpdHk6MC45O2ZpbHRlcjphbHBoYShvcGFjaXR5PTkwKTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cblx0LyogZHJvcCBkb3duIHByb2plY3QgbGlzdCAqL1xuXHRcdC8qIG91dGVyIGNvbnRhaW5lciBzY3JvbGxhYmxlIGRpdiAqL1xuYm9keS5jcm9zc2xpbmtzLXBhZ2UtbWFpbiAuaGVhZGVyLW91dGVyLWNvbnRhaW5lciAuaGVhZGVyLXByb2plY3RzLWxpc3QtY29udGFpbmVyIHtcblx0Lyogb2Zmc2V0LXggfCBvZmZzZXQteSB8IGJsdXItcmFkaXVzIHwgc3ByZWFkLXJhZGl1cyB8IGNvbG9yICovXG5cdGJveC1zaGFkb3c6IDEwcHggMTBweCAyMnB4IDE1cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuXHR0b3A6IDI0cHg7IHdpZHRoOiAzMzBweDsgZGlzcGxheTogbm9uZTsgcG9zaXRpb246IGFic29sdXRlOyBvdmVyZmxvdy15OiBhdXRvOyBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgcGFkZGluZzogMTVweDsgd2hpdGUtc3BhY2U6bm93cmFwOyBwYWRkaW5nOiAxNXB4OyA7IHotaW5kZXg6IDJcbn1cblx0XHQvKiBpbm5lciBjb250YWluZXIgZGl2ICovXG5ib2R5LmNyb3NzbGlua3MtcGFnZS1tYWluIC5oZWFkZXItb3V0ZXItY29udGFpbmVyIC5oZWFkZXItcHJvamVjdHMtbGlzdCB7IFxuXG59XG5cbmJvZHkuY3Jvc3NsaW5rcy1wYWdlLW1haW4gLmhlYWRlci1vdXRlci1jb250YWluZXIgLmhlYWRlci1pY29uLXRvb2wtdGlwcyB7IFxuXHRkaXNwbGF5OiBub25lOyBwb3NpdGlvbjogYWJzb2x1dGU7IGJhY2tncm91bmQtY29sb3I6ICNGRkYwRjA7IHRvcDogMjRweDsgcmlnaHQ6IDBweDsgcGFkZGluZzogM3B4OyB3aGl0ZS1zcGFjZTpub3dyYXA7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci13aWR0aDogMXB4OyBib3JkZXItY29sb3I6ICNEM0QzRDM7IHotaW5kZXg6IDE7IFxufSAvKiAgZGlzcGxheTogbm9uZTsgICovXG5cblxuXHQvKiAgRW5kIEhlYWRlciAgKi9cblx0XG5cblx0LyogIEZvb3RlciAgKi9cblx0XG5cdFxuLyogbWluLXdpZHRoIHNldCBmb3IgdGhpcyBjbGFzcyBhYm92ZSBzbyB0aGF0IGl0IGlzIHRoZSBzYW1lIGZvciB0aGUgaGVhZGVyIGFuZCBmb290ZXIgICovXG4uZm9vdGVyLW91dGVyLWNvbnRhaW5lciB7IG1hcmdpbi10b3A6IDE1cHg7IGJhY2tncm91bmQtY29sb3I6ICNGRkYwRjA7IGZvbnQtc2l6ZTogMTJweDsgY29sb3I6IGJsYWNrOyBvcGFjaXR5OjAuOTtmaWx0ZXI6YWxwaGEob3BhY2l0eT05MCk7IFxuXHRcdFx0XHRcdFx0XHRib3JkZXItdG9wLXN0eWxlOiBzb2xpZDsgYm9yZGVyLXRvcC1jb2xvcjogICNEM0QzRDM7IGJvcmRlci10b3Atd2lkdGg6IDFweDtcblx0XHRcdFx0XHRcdFx0IFxuICAgLyogIGxvY2sgdGhlIGZvb3RlciB0byB0aGUgYm90dG9tIG9mIHRoZSBwYWdlOiAqLyAgXG4gICBcdHdpZHRoOjEwMCU7XG5cdGhlaWdodDozMHB4O1xuXHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0Ym90dG9tOjA7XG5cdGxlZnQ6MDtcblx0XG5cdC8qIFVwZGF0ZSAub3ZlcmFsbC1lbmNsb3NpbmctYmxvY2sgd2hlbiBjaGFuZ2luZyB0aGUgaGVpZ2h0IG9mIHRoaXMgICovXG59XG5cbi5mb290ZXItbGVmdC1jb250YWluZXIgeyBmbG9hdDpsZWZ0OyBwYWRkaW5nLWxlZnQ6IDdweDsgbWFyZ2luLXRvcDogOHB4OyAgfVxuXHRcbi5mb290ZXItcmlnaHQtY29udGFpbmVyIHsgZmxvYXQ6IHJpZ2h0OyBwYWRkaW5nLXJpZ2h0OiA3cHg7bWFyZ2luLXRvcDogOHB4OyAgfVxuXHRcbi5mb290ZXItY2VudGVyLW91dGVyLWNvbnRhaW5lciB7IHRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luLXRvcDogOHB4OyAgfVx0XG4uZm9vdGVyLWNlbnRlci1jb250YWluZXIgeyAgfVxuXG5cbi8qICBPdmVyYWxsIE1haW4gcGFnZSAgY2xhc3MgXCJjcm9zc2xpbmtzLXBhZ2UtbWFpblwiIGlzIGFkZGVkIGluIGhlYWRlcl9tYWluLmpzcCAgKi9cblxuYm9keS5jcm9zc2xpbmtzLXBhZ2UtbWFpbiAub3ZlcmFsbC1lbmNsb3NpbmctYmxvY2sgeyBwYWRkaW5nLWxlZnQ6IDQwcHg7IHBhZGRpbmctcmlnaHQ6IDQwcHg7XG5cblx0LyogIGxvY2sgdGhlIGZvb3RlciB0byB0aGUgYm90dG9tIG9mIHRoZSBwYWdlOiAqLyAgXG5cdHBhZGRpbmctYm90dG9tOjQwcHg7ICAgLyogSGVpZ2h0IG9mIHRoZSBmb290ZXIgZWxlbWVudCAqL1xufVxuXG5ib2R5LmNyb3NzbGlua3MtcGFnZS1tYWluIC50b3AtbGV2ZWwtbGFiZWwgeyBmb250LXdlaWdodDogYm9sZDsgZm9udC1zaXplOiAyNHB4OyB9XG5cbmJvZHkuY3Jvc3NsaW5rcy1wYWdlLW1haW4gLnRvcC1sZXZlbC1sYWJlbC1ib3R0b20tYm9yZGVyIHtcblx0Y2xlYXI6IGxlZnQ7XG5cdG1hcmdpbi10b3A6IDEwcHg7IG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdHdpZHRoOiAxMDAlOyBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4OyBib3JkZXItYm90dG9tLWNvbG9yOiAjQTU1MzUzOyBvcGFjaXR5OjAuNjtmaWx0ZXI6YWxwaGEob3BhY2l0eT02MCk7XG59XG5cbmJvZHkuY3Jvc3NsaW5rcy1wYWdlLW1haW4gLm5hdmlnYXRpb24tbGlua3MtYmxvY2sgeyBtYXJnaW4tYm90dG9tOiAxMnB4OyB9XG5cblx0Lyogc2hvd2luZyB1c2VyIHRoZSBzaG9ydGVuZWQgVVJMIG1vZGFsIGRpYWxvZyAqL1xuXG4uc2hvcnRlbmVkLXVybC1kaXNwbGF5LW92ZXJsYXktY29udGFpbmluZy1vdXRlcm1vc3QtZGl2IHsgd2lkdGg6IDEwMCU7IGhlaWdodDogMHB4OyAgIH1cbi5zaG9ydGVuZWQtdXJsLWRpc3BsYXktb3ZlcmxheS1jb250YWluaW5nLW91dGVyLWRpdiB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qIFRoZXNlIDIgZGl2cyBNVVNUIGhhdmUgdGhlIHNhbWUgd2lkdGggc28gc2V0IHdpZHRoIGZvciBib3RoIHRvZ2V0aGVyICovXG4uc2hvcnRlbmVkLXVybC1kaXNwbGF5LW92ZXJsYXktY29udGFpbmluZy1vdXRlci1kaXYsIGJvZHkucHJvamVjdC1wYWdlIC5zaG9ydGVuZWQtdXJsLWRpc3BsYXktb3ZlcmxheS1jb250YWluZXIgeyB3aWR0aDogNjAwcHg7ICB9XG5cbi8qIGV4dGVuZHMgIGJvZHkuY3Jvc3NsaW5rcy1wYWdlLW1haW4gLm1vZGFsLWRpYWxvZy1vdmVybGF5LWNvbnRhaW5lciwgb3RoZXIgdmFsdWVzIGZvciB0aGlzIHNldCBqdXN0IGFib3ZlIF5eXiAgKi9cbi8vIC5zaG9ydGVuZWQtdXJsLWRpc3BsYXktb3ZlcmxheS1jb250YWluZXIgeyAgIH1cblxuXG5cblxuLyogIFByb2plY3RzIExpc3QgUGFnZSAgKi9cblxuXG5ib2R5LnByb2plY3RzLWxpc3QtcGFnZSAueW91ci1wcm9qZWN0cy10aXRsZSB7IG1hcmdpbi10b3A6IDIwcHg7IG1hcmdpbi1ib3R0b206IDEwcHg7IGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cblxuLy8gYm9keS5wcm9qZWN0cy1saXN0LXBhZ2UgLm5ldy1wcm9qZWN0LWNvbnRhaW5lciB7ICB9XG5ib2R5LnByb2plY3RzLWxpc3QtcGFnZSAubmV3LXByb2plY3QtaWNvbi1jb250YWluZXIgeyBmbG9hdDogbGVmdDsgcGFkZGluZy1yaWdodDogMTBweDsgIHBhZGRpbmctdG9wOiAwcHg7IH1cbmJvZHkucHJvamVjdHMtbGlzdC1wYWdlIC5uZXctcHJvamVjdC10ZXh0LWxpbmsgeyBmb250LXNpemU6IDE0cHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgY29sb3I6IGJsYWNrOyBmb250LXdlaWdodDogYm9sZDsgb3BhY2l0eTowLjY7ZmlsdGVyOmFscGhhKG9wYWNpdHk9NjApOyAgfVxuXG5cblxuXG5ib2R5LnByb2plY3RzLWxpc3QtcGFnZSAucHJvamVjdC1jb250YWluZXIgeyBjbGVhcjogYm90aDsgfVxuYm9keS5wcm9qZWN0cy1saXN0LXBhZ2UgLnByb2plY3QtaWNvbi1jb250YWluZXIgeyBmbG9hdDogbGVmdDsgcGFkZGluZy1yaWdodDogMTBweDsgcGFkZGluZy10b3A6IDBweDsgfVxuYm9keS5wcm9qZWN0cy1saXN0LXBhZ2UgLnByb2plY3QtaWNvbi1jb250YWluZXItaGlkZGVuIHsgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5ib2R5LnByb2plY3RzLWxpc3QtcGFnZSAucHJvamVjdC10ZXh0LWxpbmsgeyBmb250LXNpemU6IDEycHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgY29sb3I6IGJsYWNrOyBmb250LXdlaWdodDogYm9sZDsgb3BhY2l0eTowLjc7ZmlsdGVyOmFscGhhKG9wYWNpdHk9NzApOyAgfVxuYm9keS5wcm9qZWN0cy1saXN0LXBhZ2UgLnByb2plY3QtdGV4dC1saW5rLWhpZGRlbiB7IHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG5ib2R5LnByb2plY3RzLWxpc3QtcGFnZSAubmV3LXByb2plY3QtY29udGFpbmVyLXRvcC1ib3JkZXIge1xuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHR3aWR0aDogMTAwJTsgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7IGJvcmRlci10b3Atd2lkdGg6IDFweDsgYm9yZGVyLXRvcC1jb2xvcjogI0E1NTM1Mzsgb3BhY2l0eTowLjY7ZmlsdGVyOmFscGhhKG9wYWNpdHk9NjApO1xufVxuXG5ib2R5LnByb2plY3RzLWxpc3QtcGFnZSAubmV3LXByb2plY3QtY29udGFpbmVyLWJvdHRvbS1ib3JkZXIsIGJvZHkucHJvamVjdHMtbGlzdC1wYWdlIC5wcm9qZWN0LWNvbnRhaW5lci1ib3R0b20tYm9yZGVyIHtcblx0bWFyZ2luLXRvcDogMTBweDsgbWFyZ2luLWJvdHRvbTogMTBweDtcblx0d2lkdGg6IDEwMCU7IGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkOyBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7IGJvcmRlci1ib3R0b20tY29sb3I6ICNBNTUzNTM7IG9wYWNpdHk6MC42O2ZpbHRlcjphbHBoYShvcGFjaXR5PTYwKTtcbn1cblxuXG5cblx0LyogbWFyayBwcm9qZWN0IGZvciBkZWxldGlvbiBtb2RhbCBkaWFsb2cgKi9cblxuYm9keS5wcm9qZWN0cy1saXN0LXBhZ2UgLm1hcmstcHJvamVjdC1mb3ItZGVsZXRpb24tb3ZlcmxheS1jb250YWluaW5nLW91dGVybW9zdC1kaXYgeyBwb3NpdGlvbjogcmVsYXRpdmU7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDBweDsgIHRleHQtYWxpZ246IGxlZnQ7ICB9XG5cbi8qIEZvciBzb21lIHJlYXNvbiBcImRpc3BsYXk6IGlubGluZS1ibG9jaztcIiBvbiB0aGUgbmV4dCBjbGFzcyBwb3NpdGlvbnMgaXQgb3ZlciB0aGUgZGVsZXRlIGljb24gZm9yIHRoZSBmaXJzdCBlbnRyeSBpbiB0aGUgbGlzdC5cblx0XHRJdCBpcyBub3QgbmVlZGVkIHNpbmNlIG5vdCBob3Jpem9udGFsbHkgY2VudGVyaW5nIHRoaXMgb3ZlcmxheSAgKi9cbmJvZHkucHJvamVjdHMtbGlzdC1wYWdlIC5tYXJrLXByb2plY3QtZm9yLWRlbGV0aW9uLW92ZXJsYXktY29udGFpbmluZy1vdXRlci1kaXYgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGhlaWdodDogMHB4OyAgdGV4dC1hbGlnbjogbGVmdDsgfS8qIGRpc3BsYXk6IGlubGluZS1ibG9jazsgKi8gXG5cbi8qIFRoZXNlIDIgZGl2cyBNVVNUIGhhdmUgdGhlIHNhbWUgd2lkdGggc28gc2V0IHdpZHRoIGZvciBib3RoIHRvZ2V0aGVyICovXG5ib2R5LnByb2plY3RzLWxpc3QtcGFnZSAubWFyay1wcm9qZWN0LWZvci1kZWxldGlvbi1vdmVybGF5LWNvbnRhaW5pbmctb3V0ZXItZGl2LCBib2R5LnByb2plY3RzLWxpc3QtcGFnZSAubWFyay1wcm9qZWN0LWZvci1kZWxldGlvbi1vdmVybGF5LWNvbnRhaW5lciB7IHdpZHRoOiA2MDBweDsgIH1cblxuLyogZXh0ZW5kcyAgYm9keS5jcm9zc2xpbmtzLXBhZ2UtbWFpbiAubW9kYWwtZGlhbG9nLW92ZXJsYXktY29udGFpbmVyLCBvdGhlciB2YWx1ZXMgZm9yIHRoaXMgc2V0IGp1c3QgYWJvdmUgXl5eICAqL1xuLy8gYm9keS5wcm9qZWN0cy1saXN0LXBhZ2UgLm1hcmstcHJvamVjdC1mb3ItZGVsZXRpb24tb3ZlcmxheS1jb250YWluZXIgeyAgIH1cblxuXG5cblxuLyogIFZpZXcgUHJvamVjdCBQYWdlICAqL1xuXG5ib2R5LnByb2plY3QtcGFnZSAuY29sbGFwc2FibGUtbGluay1jb250YWluZXIgeyBmbG9hdDpsZWZ0OyB9XG5cbmJvZHkucHJvamVjdC1wYWdlIC50b3AtbGV2ZWwtY29udGFpbmVyIHsgbWFyZ2luLXRvcDogMjBweDsgY2xlYXI6IGxlZnQ7IH0gXG5ib2R5LnByb2plY3QtcGFnZSAudG9wLWxldmVsLWNvbGxhcHNhYmxlLWxpbmstY29udGFpbmVyIHsgcGFkZGluZy10b3A6IDVweDsgfVxuYm9keS5wcm9qZWN0LXBhZ2UgLnRvcC1sZXZlbC1jb2xsYXBzYWJsZS1saW5rIHsgIH1cbmJvZHkucHJvamVjdC1wYWdlIC50b3AtbGV2ZWwtbGFiZWwgeyBtYXJnaW4tbGVmdDogMzBweDsgfVxuXG5ib2R5LnByb2plY3QtcGFnZSAuc2Vjb25kLWxldmVsLWxhYmVsIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuYm9keS5wcm9qZWN0LXBhZ2UgLnByb2plY3QtaW5mby1ibG9jayB7IG1hcmdpbi1sZWZ0OiA0MHB4OyB9XG5ib2R5LnByb2plY3QtcGFnZSAucHJvamVjdC1pbmZvLXNpbmdsZS1ibG9jayB7IG1hcmdpbi1ib3R0b206IDEwcHg7IGNsZWFyOiBib3RoOyB9XG5ib2R5LnByb2plY3QtcGFnZSAucHJvamVjdC1pbmZvLWxhYmVsIHsgZmxvYXQ6IGxlZnQ7ICB9XG5ib2R5LnByb2plY3QtcGFnZSAucHJvamVjdC1pbmZvLXRleHQgeyBtYXJnaW4tbGVmdDogMTIwcHg7IH1cbmJvZHkucHJvamVjdC1wYWdlIC5wcm9qZWN0LWluZm8tZW5kLWJsb2NrLWNsZWFyLWZsb2F0IHsgY2xlYXI6IGJvdGg7ICB9XG5cbmJvZHkucHJvamVjdC1wYWdlIC5ub3RlLWRpc3BsYXktZGl2IHsgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4vKiBGb2xkZXIgRGF0YSAqL1xuXG5ib2R5LnByb2plY3QtcGFnZSAuZm9sZGVyLWNvbnRhaW5lciB7IHBhZGRpbmctbGVmdDogOHB4OyBwYWRkaW5nLXRvcDogM3B4OyBwYWRkaW5nLWJvdHRvbTogM3B4OyBjbGVhcjogbGVmdDsgfSBcbmJvZHkucHJvamVjdC1wYWdlIC5mb2xkZXItY29sbGFwc2FibGUtbGluay1jb250YWluZXIgeyBmbG9hdDogbGVmdDsgcGFkZGluZy10b3A6IDBweDsgcGFkZGluZy1yaWdodDogM3B4OyB9XG5ib2R5LnByb2plY3QtcGFnZSAuZm9sZGVyLWNvbGxhcHNhYmxlLWxpbmsgeyAgfVxuXG5ib2R5LnByb2plY3QtcGFnZSAuZm9sZGVyLW5hbWUtZGlzcGxheSB7IGZvbnQtc2l6ZTogMThweDsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuYm9keS5wcm9qZWN0LXBhZ2UgLnNlYXJjaGVzLXVuZGVyLWZvbGRlci1ibG9jayB7IG1hcmdpbi1sZWZ0OiAyMHB4OyBtYXJnaW4tdG9wOiA2cHg7IH1cblxuXG4vKiBTZWFyY2ggRGF0YSAqL1xuYm9keS5wcm9qZWN0LXBhZ2UgdHIuc2VhcmNoX3Jvb3RfanE6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiNmZmYwZjA7IH1cbmJvZHkucHJvamVjdC1wYWdlIHRkLnNlYXJjaC1jaGVja2JveC1jZWxsIHsgYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmOyBwYWRkaW5nLXRvcDogMHB4OyB9XG5ib2R5LnByb2plY3QtcGFnZSBkaXYuc2VhcmNoLWRldGFpbHMtY29udGFpbmVyLWRpdiB7IGJhY2tncm91bmQtY29sb3I6I2ZmZmZmZjsgfVxuXG5cblx0LyogZGVsZXRlIG5vdGUgbW9kYWwgZGlhbG9nICovXG5cbmJvZHkucHJvamVjdC1wYWdlIC5kZWxldGUtbm90ZS1vdmVybGF5LWNvbnRhaW5pbmctb3V0ZXJtb3N0LWRpdiB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDBweDsgICB9XG5ib2R5LnByb2plY3QtcGFnZSAuZGVsZXRlLW5vdGUtb3ZlcmxheS1jb250YWluaW5nLW91dGVyLWRpdiB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qIFRoZXNlIDIgZGl2cyBNVVNUIGhhdmUgdGhlIHNhbWUgd2lkdGggc28gc2V0IHdpZHRoIGZvciBib3RoIHRvZ2V0aGVyICovXG5ib2R5LnByb2plY3QtcGFnZSAuZGVsZXRlLW5vdGUtb3ZlcmxheS1jb250YWluaW5nLW91dGVyLWRpdiwgYm9keS5wcm9qZWN0LXBhZ2UgLmRlbGV0ZS1ub3RlLW92ZXJsYXktY29udGFpbmVyIHsgd2lkdGg6IDYwMHB4OyAgfVxuXG4vKiBleHRlbmRzICBib2R5LmNyb3NzbGlua3MtcGFnZS1tYWluIC5tb2RhbC1kaWFsb2ctb3ZlcmxheS1jb250YWluZXIsIG90aGVyIHZhbHVlcyBmb3IgdGhpcyBzZXQganVzdCBhYm92ZSBeXl4gICovXG5ib2R5LnByb2plY3QtcGFnZSAuZGVsZXRlLW5vdGUtb3ZlcmxheS1jb250YWluZXIgeyAgIH1cblxuXG5cbmJvZHkucHJvamVjdC1wYWdlIC5yZXNlYXJjaGVycy1ibG9jayB7IG1hcmdpbi1sZWZ0OiAzMHB4OyB9XG5cbmJvZHkucHJvamVjdC1wYWdlIC5yZXNlYXJjaGVycy1pY29uIHsgZmxvYXQ6IGxlZnQ7ICB9XG5cbmJvZHkucHJvamVjdC1wYWdlIC5pbnZpdGUtdXNlci1ibG9jayB7IG1hcmdpbi1sZWZ0OiAyMHB4OyB9XG5cbmJvZHkucHJvamVjdC1wYWdlIC5pbnZpdGUtdXNlci1leHBhbmQtaWNvbi1jb250YWluZXIgeyBmbG9hdDogbGVmdDsgcGFkZGluZy1yaWdodDogOHB4OyB9XG5cbmJvZHkucHJvamVjdC1wYWdlIC5pbnZpdGUtdXNlci1leHBhbmQtbGluayB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5cblx0LyogdXNlciBsaXN0LCBpbnZpdGVkIGFuZCBjdXJyZW50ICovXG5cdFxuYm9keS5wcm9qZWN0LXBhZ2UgLmludml0ZWQtcGVyc29uLWludml0ZS1kYXRlLWJsb2NrIHsgcGFkZGluZy1sZWZ0OiAyMHB4OyB9XHRcblxuYm9keS5wcm9qZWN0LXBhZ2UgLnVpLW1lbnUtaXRlbS13cmFwcGVyIHsgcGFkZGluZzogNXB4OyB9XG5cblxuXG5ib2R5LnByb2plY3QtcGFnZSAudXBsb2FkLXNlYXJjaC1ibG9jayB7IG1hcmdpbi1sZWZ0OiAzMHB4OyB9XG5cblxuYm9keS5wcm9qZWN0LXBhZ2UgLnVwbG9hZC1zZWFyY2gtYmxvY2sgdHI6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGMEYwOyB9XG5cblxuYm9keS5wcm9qZWN0LXBhZ2UgLnVwbG9hZC1zZWFyY2gtdG9vbHRpcCB7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdHdpZHRoOiA4MDBweDtcblx0bWF4LXdpZHRoOiA4MDBweDtcbn1cdFxuXG5ib2R5LnByb2plY3QtcGFnZSAudXBsb2FkLXNlYXJjaC10b29sdGlwLXRhYmxlIHRkIHsgdmVydGljYWwtYWxpZ246IHRvcDsgcGFkZGluZy10b3A6IDJweDsgcGFkZGluZy1ib3R0b206IDJweDsgfVxuXG5ib2R5LnByb2plY3QtcGFnZSAudXBsb2FkLXNlYXJjaC10b29sdGlwLXRhYmxlIC5sYWJlbC1jZWxsIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgcGFkZGluZy1yaWdodDogMTBweDsgfVxuXG5ib2R5LnByb2plY3QtcGFnZSAuc2VhcmNoZXMtYmxvY2sgeyBtYXJnaW4tbGVmdDogMTBweDsgfVxuXG5ib2R5LnByb2plY3QtcGFnZSAuc2VhcmNoLWVudHJ5LWJvdHRvbS1ib3JkZXIge1xuXHRjbGVhcjogbGVmdDtcblx0bWFyZ2luLXRvcDogNXB4OyBtYXJnaW4tYm90dG9tOiA1cHg7XG5cdHdpZHRoOiAxMDAlOyBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4OyBib3JkZXItYm90dG9tLWNvbG9yOiAjQTU1MzUzOyBvcGFjaXR5OjAuNjtmaWx0ZXI6YWxwaGEob3BhY2l0eT02MCk7XG59XG5cblxuXG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gICovXG5cbi8qICBNb2RhbCBEaWFsb2dzICAqL1xuXG5cdC8qIHJldm9rZSBpbnZpdGUgdG8gcHJvamVjdCBtb2RhbCBkaWFsb2cgKi9cblxuYm9keS5wcm9qZWN0LXBhZ2UgLnJldm9rZS1pbnZpdGUtdG8tcHJvamVjdC1vdmVybGF5LWNvbnRhaW5pbmctb3V0ZXJtb3N0LWRpdiB7ICB9XG5ib2R5LnByb2plY3QtcGFnZSAucmV2b2tlLWludml0ZS10by1wcm9qZWN0LW92ZXJsYXktY29udGFpbmluZy1vdXRlci1kaXYgeyB9XG5cbi8qIFRoZXNlIDIgZGl2cyBNVVNUIGhhdmUgdGhlIHNhbWUgd2lkdGggc28gc2V0IHdpZHRoIGZvciBib3RoIHRvZ2V0aGVyICovXG5ib2R5LnByb2plY3QtcGFnZSAucmV2b2tlLWludml0ZS10by1wcm9qZWN0LW92ZXJsYXktY29udGFpbmluZy1vdXRlci1kaXYsIGJvZHkucHJvamVjdC1wYWdlIC5yZXZva2UtaW52aXRlLXRvLXByb2plY3Qtb3ZlcmxheS1jb250YWluZXIgeyB3aWR0aDogNjAwcHg7ICB9XG5cbi8qIGV4dGVuZHMgIGJvZHkuY3Jvc3NsaW5rcy1wYWdlLW1haW4gLm1vZGFsLWRpYWxvZy1vdmVybGF5LWNvbnRhaW5lciwgb3RoZXIgdmFsdWVzIGZvciB0aGlzIHNldCBqdXN0IGFib3ZlIF5eXiAgKi9cbmJvZHkucHJvamVjdC1wYWdlIC5yZXZva2UtaW52aXRlLXRvLXByb2plY3Qtb3ZlcmxheS1jb250YWluZXIgeyAgIH1cblxuXHQvKiByZW1vdmUgdXNlciBmcm9tIHByb2plY3QgbW9kYWwgZGlhbG9nICovXG5cbmJvZHkucHJvamVjdC1wYWdlIC5yZW1vdmUtdXNlci1mcm9tLXByb2plY3Qtb3ZlcmxheS1jb250YWluaW5nLW91dGVybW9zdC1kaXYgeyAgfVxuYm9keS5wcm9qZWN0LXBhZ2UgLnJlbW92ZS11c2VyLWZyb20tcHJvamVjdC1vdmVybGF5LWNvbnRhaW5pbmctb3V0ZXItZGl2IHsgfVxuXG4vKiBUaGVzZSAyIGRpdnMgTVVTVCBoYXZlIHRoZSBzYW1lIHdpZHRoIHNvIHNldCB3aWR0aCBmb3IgYm90aCB0b2dldGhlciAqL1xuYm9keS5wcm9qZWN0LXBhZ2UgLnJlbW92ZS11c2VyLWZyb20tcHJvamVjdC1vdmVybGF5LWNvbnRhaW5pbmctb3V0ZXItZGl2LCBib2R5LnByb2plY3QtcGFnZSAucmVtb3ZlLXVzZXItZnJvbS1wcm9qZWN0LW92ZXJsYXktY29udGFpbmVyIHsgd2lkdGg6IDYwMHB4OyAgfVxuXG4vKiBleHRlbmRzICBib2R5LmNyb3NzbGlua3MtcGFnZS1tYWluIC5tb2RhbC1kaWFsb2ctb3ZlcmxheS1jb250YWluZXIsIG90aGVyIHZhbHVlcyBmb3IgdGhpcyBzZXQganVzdCBhYm92ZSBeXl4gICovXG5ib2R5LnByb2plY3QtcGFnZSAucmVtb3ZlLXVzZXItZnJvbS1wcm9qZWN0LW92ZXJsYXktY29udGFpbmVyIHsgICB9XG5cblxuXG5cbmJvZHkucHJvamVjdC1wYWdlIC5wdWJsaWMtYWNjZXNzLWJsb2NrIHsgbWFyZ2luLWxlZnQ6IDMwcHg7IH1cblxuYm9keS5wcm9qZWN0LXBhZ2UgLnB1YmxpYy1hY2Nlc3MtYmxvY2sgLnB1YmxpYy1hY2Nlc3MtdXJsIHsgIH1cblxuXG5cblx0LyogTW9kYWwgZGlhbG9nIGZvciBjb25maXJtaW5nIEdlbmVyYXRpbmcgbmV3IHB1YmxpYyBhY2Nlc3MgY29kZSAqL1xuXG5ib2R5LnByb2plY3QtcGFnZSAuZ2VuZXJhdGUtbmV3LXB1Yi1hY2Nlc3MtY29kZS1vdmVybGF5LWNvbnRhaW5pbmctb3V0ZXJtb3N0LWRpdiB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDBweDsgICB9XG5ib2R5LnByb2plY3QtcGFnZSAuZ2VuZXJhdGUtbmV3LXB1Yi1hY2Nlc3MtY29kZS1vdmVybGF5LWNvbnRhaW5pbmctb3V0ZXItZGl2IHsgcG9zaXRpb246IHJlbGF0aXZlOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyogVGhlc2UgMiBkaXZzIE1VU1QgaGF2ZSB0aGUgc2FtZSB3aWR0aCBzbyBzZXQgd2lkdGggZm9yIGJvdGggdG9nZXRoZXIgKi9cbmJvZHkucHJvamVjdC1wYWdlIC5nZW5lcmF0ZS1uZXctcHViLWFjY2Vzcy1jb2RlLW92ZXJsYXktY29udGFpbmluZy1vdXRlci1kaXYsIGJvZHkucHJvamVjdC1wYWdlIC5nZW5lcmF0ZS1uZXctcHViLWFjY2Vzcy1jb2RlLW92ZXJsYXktY29udGFpbmVyIHsgd2lkdGg6IDYwMHB4OyAgfVxuXG4vKiBleHRlbmRzICBib2R5LmNyb3NzbGlua3MtcGFnZS1tYWluIC5tb2RhbC1kaWFsb2ctb3ZlcmxheS1jb250YWluZXIsIG90aGVyIHZhbHVlcyBmb3IgdGhpcyBzZXQganVzdCBhYm92ZSBeXl4gICovXG5ib2R5LnByb2plY3QtcGFnZSAuZ2VuZXJhdGUtbmV3LXB1Yi1hY2Nlc3MtY29kZS1vdmVybGF5LWNvbnRhaW5lciB7IHRvcDogLTUwcHg7ICB9XG5cblxuXG5cblxuYm9keS5wcm9qZWN0LXBhZ2UgLm5vLXNlYXJjaGVzLWluLXByb2plY3QtdGV4dCB7IG1hcmdpbi1sZWZ0OiAyMHB4OyBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cblxuXHQvKiBtb3ZlIHNlYXJjaGVzIG1vZGFsIGRpYWxvZyAqL1xuXG5ib2R5LnByb2plY3QtcGFnZSAuY29weS1zZWFyY2hlcy1vdmVybGF5LWNvbnRhaW5pbmctZnVsbC13aWR0aC1kaXYgeyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuYm9keS5wcm9qZWN0LXBhZ2UgLmNvcHktc2VhcmNoZXMtb3ZlcmxheS1jb250YWluaW5nLXJlbGF0aXZlLWRpdiB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qIFRoZXNlIDIgZGl2cyBNVVNUIGhhdmUgdGhlIHNhbWUgd2lkdGggc28gc2V0IHdpZHRoIGZvciBib3RoIHRvZ2V0aGVyICovXG5ib2R5LnByb2plY3QtcGFnZSAuY29weS1zZWFyY2hlcy1vdmVybGF5LWNvbnRhaW5pbmctcmVsYXRpdmUtZGl2LCBib2R5LnByb2plY3QtcGFnZSAuY29weS1zZWFyY2hlcy1vdmVybGF5LWNvbnRhaW5lciB7IHdpZHRoOiA2MDBweDsgIH1cblxuLyogZXh0ZW5kcyAgYm9keS5jcm9zc2xpbmtzLXBhZ2UtbWFpbiAubW9kYWwtZGlhbG9nLW92ZXJsYXktY29udGFpbmVyLCBvdGhlciB2YWx1ZXMgZm9yIHRoaXMgc2V0IGp1c3QgYWJvdmUgXl5eICAqL1xuYm9keS5wcm9qZWN0LXBhZ2UgLmNvcHktc2VhcmNoZXMtb3ZlcmxheS1jb250YWluZXIgeyAgIH1cblxuYm9keS5wcm9qZWN0LXBhZ2UgLmNvcHktc2VhcmNoZXMtb3ZlcmxheS1wcm9qZWN0LWxpc3QtYmxvY2sgeyBtYXJnaW4tbGVmdDogMjBweDsgIH1cblxuXHQvKiByZW5hbWUgZm9sZGVyIG1vZGFsIGRpYWxvZyAqL1xuYm9keS5wcm9qZWN0LXBhZ2UgLnJlbmFtZS1mb2xkZXItb3ZlcmxheS1jb250YWluaW5nLW91dGVybW9zdC1kaXYgeyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAwcHg7ICB0ZXh0LWFsaWduOiBsZWZ0OyAgfVxuYm9keS5wcm9qZWN0LXBhZ2UgLnJlbmFtZS1mb2xkZXItb3ZlcmxheS1jb250YWluaW5nLW91dGVyLWRpdiB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBwYWRkaW5nLXJpZ2h0OiA1MHB4OyB9XG4vKiBUaGVzZSAyIGRpdnMgTVVTVCBoYXZlIHRoZSBzYW1lIHdpZHRoIHNvIHNldCB3aWR0aCBmb3IgYm90aCB0b2dldGhlciAqL1xuYm9keS5wcm9qZWN0LXBhZ2UgLnJlbmFtZS1mb2xkZXItb3ZlcmxheS1jb250YWluaW5nLW91dGVyLWRpdiwgYm9keS5wcm9qZWN0LXBhZ2UgLnJlbmFtZS1mb2xkZXItb3ZlcmxheS1jb250YWluZXIgeyB3aWR0aDogNjAwcHg7ICB9XG4vKiBleHRlbmRzICBib2R5LmNyb3NzbGlua3MtcGFnZS1tYWluIC5tb2RhbC1kaWFsb2ctb3ZlcmxheS1jb250YWluZXIsIG90aGVyIHZhbHVlcyBmb3IgdGhpcyBzZXQganVzdCBhYm92ZSBeXl4gICovXG5ib2R5LnByb2plY3QtcGFnZSAucmVuYW1lLWZvbGRlci1vdmVybGF5LWNvbnRhaW5lciB7ICAgfVxuYm9keS5wcm9qZWN0LXBhZ2UgLnJlbmFtZS1mb2xkZXItb3ZlcmxheS1mb2xkZXItbmFtZS1pbnB1dC1maWVsZCB7IHdpZHRoOiA5MCU7IH1cblxuXHQvKiBkZWxldGUgZm9sZGVyIG1vZGFsIGRpYWxvZyAqL1xuYm9keS5wcm9qZWN0LXBhZ2UgLmRlbGV0ZS1mb2xkZXItb3ZlcmxheS1jb250YWluaW5nLW91dGVybW9zdC1kaXYgeyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAwcHg7ICB0ZXh0LWFsaWduOiBsZWZ0OyAgfVxuYm9keS5wcm9qZWN0LXBhZ2UgLmRlbGV0ZS1mb2xkZXItb3ZlcmxheS1jb250YWluaW5nLW91dGVyLWRpdiB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBwYWRkaW5nLXJpZ2h0OiA1MHB4OyB9XG4vKiBUaGVzZSAyIGRpdnMgTVVTVCBoYXZlIHRoZSBzYW1lIHdpZHRoIHNvIHNldCB3aWR0aCBmb3IgYm90aCB0b2dldGhlciAqL1xuYm9keS5wcm9qZWN0LXBhZ2UgLmRlbGV0ZS1mb2xkZXItb3ZlcmxheS1jb250YWluaW5nLW91dGVyLWRpdiwgYm9keS5wcm9qZWN0LXBhZ2UgLmRlbGV0ZS1mb2xkZXItb3ZlcmxheS1jb250YWluZXIgeyB3aWR0aDogNjAwcHg7ICB9XG4vKiBleHRlbmRzICBib2R5LmNyb3NzbGlua3MtcGFnZS1tYWluIC5tb2RhbC1kaWFsb2ctb3ZlcmxheS1jb250YWluZXIsIG90aGVyIHZhbHVlcyBmb3IgdGhpcyBzZXQganVzdCBhYm92ZSBeXl4gICovXG5ib2R5LnByb2plY3QtcGFnZSAuZGVsZXRlLWZvbGRlci1vdmVybGF5LWNvbnRhaW5lciB7ICAgfVxuXG5cblx0LyogZGVsZXRlIHNlYXJjaCBtb2RhbCBkaWFsb2cgKi9cblxuYm9keS5wcm9qZWN0LXBhZ2UgLmRlbGV0ZS1zZWFyY2gtb3ZlcmxheS1jb250YWluaW5nLW91dGVybW9zdC1kaXYgeyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAwcHg7ICB0ZXh0LWFsaWduOiByaWdodDsgIH1cbmJvZHkucHJvamVjdC1wYWdlIC5kZWxldGUtc2VhcmNoLW92ZXJsYXktY29udGFpbmluZy1vdXRlci1kaXYgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgcGFkZGluZy1yaWdodDogNTBweDsgfVxuXG4vKiBUaGVzZSAyIGRpdnMgTVVTVCBoYXZlIHRoZSBzYW1lIHdpZHRoIHNvIHNldCB3aWR0aCBmb3IgYm90aCB0b2dldGhlciAqL1xuYm9keS5wcm9qZWN0LXBhZ2UgLmRlbGV0ZS1zZWFyY2gtb3ZlcmxheS1jb250YWluaW5nLW91dGVyLWRpdiwgYm9keS5wcm9qZWN0LXBhZ2UgLmRlbGV0ZS1zZWFyY2gtb3ZlcmxheS1jb250YWluZXIgeyB3aWR0aDogNjAwcHg7ICB9XG5cbi8qIGV4dGVuZHMgIGJvZHkuY3Jvc3NsaW5rcy1wYWdlLW1haW4gLm1vZGFsLWRpYWxvZy1vdmVybGF5LWNvbnRhaW5lciwgb3RoZXIgdmFsdWVzIGZvciB0aGlzIHNldCBqdXN0IGFib3ZlIF5eXiAgKi9cbmJvZHkucHJvamVjdC1wYWdlIC5kZWxldGUtc2VhcmNoLW92ZXJsYXktY29udGFpbmVyIHsgICB9XG5cblxuXG5cdC8qIGRlbGV0ZSBzZWFyY2ggY29tbWVudCBtb2RhbCBkaWFsb2cgKi9cblxuYm9keS5wcm9qZWN0LXBhZ2UgLmRlbGV0ZS1zZWFyY2gtY29tbWVudC1vdmVybGF5LWNvbnRhaW5pbmctb3V0ZXJtb3N0LWRpdiB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDBweDsgIHRleHQtYWxpZ246IGxlZnQ7ICB9XG5ib2R5LnByb2plY3QtcGFnZSAuZGVsZXRlLXNlYXJjaC1jb21tZW50LW92ZXJsYXktY29udGFpbmluZy1vdXRlci1kaXYgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgcGFkZGluZy1sZWZ0OiAxNTBweDsgfVxuXG4vKiBUaGVzZSAyIGRpdnMgTVVTVCBoYXZlIHRoZSBzYW1lIHdpZHRoIHNvIHNldCB3aWR0aCBmb3IgYm90aCB0b2dldGhlciAqL1xuYm9keS5wcm9qZWN0LXBhZ2UgLmRlbGV0ZS1zZWFyY2gtY29tbWVudC1vdmVybGF5LWNvbnRhaW5pbmctb3V0ZXItZGl2LCBib2R5LnByb2plY3QtcGFnZSAuZGVsZXRlLXNlYXJjaC1jb21tZW50LW92ZXJsYXktY29udGFpbmVyIHsgd2lkdGg6IDQwMHB4OyAgfVxuXG4vKiBleHRlbmRzICBib2R5LmNyb3NzbGlua3MtcGFnZS1tYWluIC5tb2RhbC1kaWFsb2ctb3ZlcmxheS1jb250YWluZXIsIG90aGVyIHZhbHVlcyBmb3IgdGhpcyBzZXQganVzdCBhYm92ZSBeXl4gICovXG5ib2R5LnByb2plY3QtcGFnZSAuZGVsZXRlLXNlYXJjaC1jb21tZW50LW92ZXJsYXktY29udGFpbmVyIHsgICB9XG5cblxuXG5cdC8qIGRlbGV0ZSBzZWFyY2ggd2ViIGxpbmsgbW9kYWwgZGlhbG9nICovXG5cbmJvZHkucHJvamVjdC1wYWdlIC5kZWxldGUtc2VhcmNoLXdlYi1saW5rLW92ZXJsYXktY29udGFpbmluZy1vdXRlcm1vc3QtZGl2IHsgd2lkdGg6IDEwMCU7IGhlaWdodDogMHB4OyAgdGV4dC1hbGlnbjogbGVmdDsgIH1cbmJvZHkucHJvamVjdC1wYWdlIC5kZWxldGUtc2VhcmNoLXdlYi1saW5rLW92ZXJsYXktY29udGFpbmluZy1vdXRlci1kaXYgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgcGFkZGluZy1sZWZ0OiAxNTBweDsgfVxuXG4vKiBUaGVzZSAyIGRpdnMgTVVTVCBoYXZlIHRoZSBzYW1lIHdpZHRoIHNvIHNldCB3aWR0aCBmb3IgYm90aCB0b2dldGhlciAqL1xuYm9keS5wcm9qZWN0LXBhZ2UgLmRlbGV0ZS1zZWFyY2gtd2ViLWxpbmstb3ZlcmxheS1jb250YWluaW5nLW91dGVyLWRpdiwgYm9keS5wcm9qZWN0LXBhZ2UgLmRlbGV0ZS1zZWFyY2gtd2ViLWxpbmstb3ZlcmxheS1jb250YWluZXIgeyB3aWR0aDogNDAwcHg7ICB9XG5cbi8qIGV4dGVuZHMgIGJvZHkuY3Jvc3NsaW5rcy1wYWdlLW1haW4gLm1vZGFsLWRpYWxvZy1vdmVybGF5LWNvbnRhaW5lciwgb3RoZXIgdmFsdWVzIGZvciB0aGlzIHNldCBqdXN0IGFib3ZlIF5eXiAgKi9cbmJvZHkucHJvamVjdC1wYWdlIC5kZWxldGUtc2VhcmNoLXdlYi1saW5rLW92ZXJsYXktY29udGFpbmVyIHsgICB9XG5cblxuXG5cblx0LyogT3JnYW5pemUgU2VhcmNoZXMgLSBQdXQgU2VhcmNoZXMgaW4gRm9sZGVycyBhbmQgT3JkZXIgU2VhcmNoZXMgYW5kIEZvbGRlcnMgKi9cblx0XG5ib2R5LnByb2plY3QtcGFnZSAgI29yZ2FuaXplX3NlYXJjaGVzX2ZvbGRlcl9zZWFyY2hlc190YWJsZSB7IG1pbi13aWR0aDogMTAwMHB4OyB3aWR0aDogMTAwJTsgdGFibGUtbGF5b3V0OiBmaXhlZDsgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgfVxuYm9keS5wcm9qZWN0LXBhZ2UgICNvcmdhbml6ZV9zZWFyY2hlc19mb2xkZXJfc2VhcmNoZXNfdGFibGUsXG5ib2R5LnByb2plY3QtcGFnZSAgI29yZ2FuaXplX3NlYXJjaGVzX2ZvbGRlcl9zZWFyY2hlc190YWJsZSB0cixcbmJvZHkucHJvamVjdC1wYWdlICAjb3JnYW5pemVfc2VhcmNoZXNfZm9sZGVyX3NlYXJjaGVzX3RhYmxlIHRkIHsgYm9yZGVyOiAxcHggc29saWQgI0E1NTM1MzsgIH1cbmJvZHkucHJvamVjdC1wYWdlICAjb3JnYW5pemVfc2VhcmNoZXNfZm9sZGVyX3NlYXJjaGVzX3RhYmxlIHRkIHsgcGFkZGluZzogMTBweDsgd2lkdGg6IDUwJTsgbWF4LXdpZHRoOiA1MCU7IG1pbi13aWR0aDogNTAlOyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyAgfVxuXHRcblx0LyogRm9sZGVyIGNlbGwgKi9cbi8qXG5ib2R5LnByb2plY3QtcGFnZSAgI29yZ2FuaXplX3NlYXJjaGVzX2ZvbGRlcl90b3RhbF9ibG9ja19jb250YWluZXIgeyBtaW4td2lkdGg6IDQwMHB4OyBtYXgtd2lkdGg6IDQwMHB4OyBwYWRkaW5nLXJpZ2h0OiA2MHB4OyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4qL1xuYm9keS5wcm9qZWN0LXBhZ2UgICNvcmdhbml6ZV9zZWFyY2hlc19mb2xkZXJfdG90YWxfYmxvY2tfY29udGFpbmVyIHsgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuLyogSWYgY2hhbmdlIG1pbi13aWR0aCwgbWF4LXdpZHRoLCBvciBwYWRkaW5nOiBVcGRhdGUgbWF4LXdpZHRoIG9uOiBib2R5LnByb2plY3QtcGFnZSAgICNvcmdhbml6ZV9zZWFyY2hlc19tYWluX2RhdGFfYmxvY2sgLml0ZW0tZGlzcGxheS1uYW1lICovXG5cbi8qIERyYWdnYWJsZSBpdGVtIChmb2xkZXIgb3Igc2VhcmNoKSAqL1xuYm9keS5wcm9qZWN0LXBhZ2UgICAjb3JnYW5pemVfc2VhcmNoZXNfbWFpbl9kYXRhX2Jsb2NrIC5zb3J0LWhhbmRsZS1hbmQtdGV4dCB7ICB3aGl0ZS1zcGFjZTogbm93cmFwOyAgY3Vyc29yOiBtb3ZlOyB9XG5ib2R5LnByb2plY3QtcGFnZSAgICNvcmdhbml6ZV9zZWFyY2hlc19tYWluX2RhdGFfYmxvY2sgLnNvcnQtaGFuZGxlLWFuZC10ZXh0OmhvdmVyIHsgY29sb3I6ICM1NDU0NTQ7IGJhY2tncm91bmQtY29sb3I6ICAjRkZGMEYwIH1cbmJvZHkucHJvamVjdC1wYWdlICAgI29yZ2FuaXplX3NlYXJjaGVzX21haW5fZGF0YV9ibG9jayAuc29ydC1oYW5kbGUtZmxvYXQgeyBmbG9hdDogbGVmdDsgcGFkZGluZy1sZWZ0OiAycHg7IHBhZGRpbmctcmlnaHQ6IDJweDsgcGFkZGluZy10b3A6IDRweDsgfVxuLyogbWF4LXdpZHRoOiB2YWx1ZSAzMzBweCA9IDx0ZD4gd2lkdGggNDAwIC0gcGFkZGluZy1yaWdodCA2MCAtIDEwICovXG5ib2R5LnByb2plY3QtcGFnZSAgICNvcmdhbml6ZV9zZWFyY2hlc19tYWluX2RhdGFfYmxvY2sgLml0ZW0tZGlzcGxheS1uYW1lIHsgbWF4LXdpZHRoOiA5MCU7IGZsb2F0OiBsZWZ0OyBwYWRkaW5nOiAzcHg7IG92ZXJmbG93OiBoaWRkZW47IHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB9XG5ib2R5LnByb2plY3QtcGFnZSAgICNvcmdhbml6ZV9zZWFyY2hlc19tYWluX2RhdGFfYmxvY2sgLmVkaXQtZGVsZXRlLWljb25zIHtwYWRkaW5nLXRvcDogM3B4OyBwYWRkaW5nLXJpZ2h0OiAzcHg7IH0gXG5ib2R5LnByb2plY3QtcGFnZSAgICNvcmdhbml6ZV9zZWFyY2hlc19tYWluX2RhdGFfYmxvY2sgLm91dGVyLWl0ZW0tY29udGFpbmVyIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5ib2R5LnByb2plY3QtcGFnZSAgICNvcmdhbml6ZV9zZWFyY2hlc19tYWluX2RhdGFfYmxvY2sgLm91dGVyLWl0ZW0tY29udGFpbmVyIC5zZWxlY3RlZC1pdGVtIHsgY29sb3I6ICNGRkZGRkY7IGJhY2tncm91bmQtY29sb3I6ICNBNTUzNTM7IH0gXG5ib2R5LnByb2plY3QtcGFnZSAgICNvcmdhbml6ZV9zZWFyY2hlc19tYWluX2RhdGFfYmxvY2sgLm91dGVyLWl0ZW0tY29udGFpbmVyIC5zZWxlY3RlZC1pdGVtOmhvdmVyIHsgY29sb3I6ICNGRkZGRkY7IGJhY2tncm91bmQtY29sb3I6ICNBNTUzNTM7IH1cbmJvZHkucHJvamVjdC1wYWdlICAgI29yZ2FuaXplX3NlYXJjaGVzX21haW5fZGF0YV9ibG9jayAub3V0ZXItaXRlbS1jb250YWluZXIgLnNlbGVjdGVkLWl0ZW0gIC5mb2xkZXItcm93LWljb24geyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGOyB9XG5ib2R5LnByb2plY3QtcGFnZSAgICNvcmdhbml6ZV9zZWFyY2hlc19tYWluX2RhdGFfYmxvY2sgLmhpZ2hsaWdodGVkLWl0ZW0geyBjb2xvcjogIzU0NTQ1NDsgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjBGMDsgfSBcblxuYm9keS5wcm9qZWN0LXBhZ2UgI29yZ2FuaXplX3NlYXJjaGVzX2ZvbGRlcl9zZWFyY2hlc19ub3RfaW5fYW55X2ZvbGRlcjpob3ZlciB7ICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGMEYwOyB9XG5cblxuXG5cblxuXG5cblxuLyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAqL1xuXG5cbi8qIC0tLS0tICAgUHJvamVjdCBMZXZlbCBTZXQgQW5ub3RhdGlvbiBUeXBlIERlZmF1bHQgQ3V0b2ZmcyAgbW9kYWwgZGlhbG9nIGJhY2tncm91bmQgLS0tLS0gKi9cblxuXG5cdC8qIFByb2plY3QgTGV2ZWwgU2V0IEFubm90YXRpb24gVHlwZSBEZWZhdWx0IEN1dG9mZnMgbW9kYWwgZGlhbG9nIGJhY2tncm91bmQgKi9cblx0LnByb2plY3QtbGV2ZWwtYW5uLWN1dG9mZi1kZWZhdWx0cy1tb2RhbC1kaWFsb2ctb3ZlcmxheS1iYWNrZ3JvdW5kIHtcblxuXHRcdC8vIGN1cnNvcjogcG9pbnRlcjsgLyogc2V0IG1vdXNlIHRvIHBvaW50ZXIgKi9cblx0XG5cdFx0ICB6LWluZGV4OiAxMDAxO1xuXHRcdCAgXG5cdFx0ICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcblx0XHRvcGFjaXR5OiAuODA7XG5cdFx0ZmlsdGVyOiBBbHBoYShPcGFjaXR5PTgwKTtcblx0XG5cdFx0ICAvKiAgTW92ZWQgdG8gaW5saW5lIHN0eWxlIGluIGhlYWRlciBzbyBjb250ZXh0IGlzIG5vdCBoYXJkIGNvZGVkXG5cdFx0YmFja2dyb3VuZDogIzY2NiB1cmwoLz8/P2NvbnRleHQ/Pz8vY3NzL2pxdWVyeS11aS0xLjEwLjItVGhlbWVzL3VpLWxpZ2h0bmVzcy9pbWFnZXMvdWktYmdfZGlhZ29uYWxzLXRoaWNrXzIwXzY2NjY2Nl80MHg0MC5wbmcpIDUwJSA1MCUgcmVwZWF0O1xuXHRcdCovXG5cdFx0LyogIFxuXHRcdG9wYWNpdHk6IC41MDtcblx0XHRmaWx0ZXI6IEFscGhhKE9wYWNpdHk9NTApO1xuXHRcdCovXG5cdFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0fVxuXHRcblx0XG5cdC8qICBPdmVybGF5IGZvciBQcm9qZWN0IExldmVsIFNldCBBbm5vdGF0aW9uIFR5cGUgRGVmYXVsdCBDdXRvZmZzIERpdiAgICovXG5cdFxuXHRcblx0ZGl2LnByb2plY3QtbGV2ZWwtYW5uLWN1dG9mZi1kZWZhdWx0cy1tb2RhbC1kaWFsb2ctb3ZlcmxheS1kaXYge1xuXHRcblx0XHRvcGFjaXR5OiAxO1xuXHRcdGZpbHRlcjogQWxwaGEoT3BhY2l0eT0xMDApO1xuXHRcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO1xuXHRcdG91dGxpbmU6IDBweDtcblx0XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcblx0XHQvLyB0b3A6IDUwcHg7ICBzZXQgaW4gSlNcblx0XHRsZWZ0OiA1MHB4O1xuXHRcblx0XHQvKlxuXHRcdGhlaWdodDogNDAwcHg7XG5cdFx0Ki9cblx0XG5cdFx0Ym9yZGVyOiAxcHg7XG5cdFx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0XHRib3JkZXItY29sb3I6ICNEM0QzRDMgO1xuXHRcblx0XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0ei1pbmRleDogMTAwMjtcblx0XG5cdFx0LnByb2plY3QtbGV2ZWwtYW5uLWN1dG9mZi1kZWZhdWx0cy1tb2RhbC1kaWFsb2ctb3ZlcmxheS1oZWFkZXIgeyBcblx0XHRcblx0XHRcdGhlaWdodDogMzVweDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNGRkYwRjA7IHBhZGRpbmctYm90dG9tOiA1cHg7XG5cdFx0XG5cdFx0XHRib3JkZXItd2lkdGg6IDBweDtcblx0XHRcdGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcblx0XHRcdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdFx0XHRib3JkZXItY29sb3I6ICNEM0QzRDMgO1xuXHRcdCB9XG5cdFx0XG5cdFx0LnByb2plY3QtbGV2ZWwtYW5uLWN1dG9mZi1kZWZhdWx0cy1tb2RhbC1kaWFsb2ctb3ZlcmxheS1YLWZvci1leGl0LW92ZXJsYXkgeyBmbG9hdDogcmlnaHQ7IGJvcmRlci1jb2xvcjogIzAwMDAwMDsgaGVpZ2h0OjMzcHg7IGJhY2tncm91bmQtY29sb3I6ICNBNTUzNTM7IGNvbG9yOiB3aGl0ZTsgcGFkZGluZzogM3B4OyBtYXJnaW46IDBweDsgIGN1cnNvcjogcG9pbnRlcjsgIH1cblx0XHRcblx0XHQucHJvamVjdC1sZXZlbC1hbm4tY3V0b2ZmLWRlZmF1bHRzLW1vZGFsLWRpYWxvZy1vdmVybGF5LWhlYWRlci10ZXh0IHsgY29sb3I6IGJsYWNrOyBwYWRkaW5nOiAzcHg7IG1hcmdpbjogMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7ICB9XG5cdFx0XG5cdFx0LnByb2plY3QtbGV2ZWwtYW5uLWN1dG9mZi1kZWZhdWx0cy1tb2RhbC1kaWFsb2ctb3ZlcmxheS1ib2R5IHsgIHBhZGRpbmc6IDIwcHg7IH1cblx0XHRcblx0XHQubWFpbi1jdXRvZmZzLXRhYmxlIHRkIHsgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXHRcblx0fVxuXHRcblxuXG5cblxuXG5cblxuXG5cbi8qXG5ib2R5LnZpZXctbWVyZ2VkLWltYWdlLXBhZ2UgICAuc2VsZWN0ZWQtcHJvdGVpbnMtY29udGFpbmVyIC50ZXh0LWZsb2F0IHtmbG9hdDogbGVmdDsgbWFyZ2luLXJpZ2h0OiAzcHg7IG1heC13aWR0aDogMjAwcHg7b3ZlcmZsb3c6IGhpZGRlbjsgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IH1cbiovXG5cbi8qIC0tLS0tICAgdXBsb2FkIFByb3hsIFhNTCBmaWxlIG1vZGFsIGRpYWxvZyBiYWNrZ3JvdW5kIC0tLS0tICovXG5cblxuXHQvKiB1cGxvYWQgUHJveGwgWE1MIGZpbGUgbW9kYWwgZGlhbG9nIGJhY2tncm91bmQgKi9cbi5wcm94bC14bWwtZmlsZS11cGxvYWQtbW9kYWwtZGlhbG9nLW92ZXJsYXktYmFja2dyb3VuZCB7XG5cdFxuXG5cdC8qIGN1cnNvcjogcG9pbnRlcjsgKi8gLyogc2V0IG1vdXNlIHRvIHBvaW50ZXIgc28gdXNlciBrbm93cyB0aGV5IGNhbiBjbGljayBvbiBpdCAqL1xuXG5cdCAgei1pbmRleDogMTAwMTtcblx0ICBcblx0ICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcblx0b3BhY2l0eTogLjgwO1xuXHRmaWx0ZXI6IEFscGhhKE9wYWNpdHk9ODApO1xuXG5cdCAgLyogIE1vdmVkIHRvIGlubGluZSBzdHlsZSBpbiBoZWFkZXIgc28gY29udGV4dCBpcyBub3QgaGFyZCBjb2RlZFxuXHRiYWNrZ3JvdW5kOiAjNjY2IHVybCgvPz8/Y29udGV4dD8/Py9jc3MvanF1ZXJ5LXVpLTEuMTAuMi1UaGVtZXMvdWktbGlnaHRuZXNzL2ltYWdlcy91aS1iZ19kaWFnb25hbHMtdGhpY2tfMjBfNjY2NjY2XzQweDQwLnBuZykgNTAlIDUwJSByZXBlYXQ7XG5cdCovXG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG5cbi8qICBQcm94bCBYTUwgZmlsZSB1cGxvYWQgT3ZlcmxheSAgICAqL1xuXG5cbmRpdi5wcm94bC14bWwtZmlsZS11cGxvYWQtb3ZlcmxheS1kaXYge1xuXG5cdG9wYWNpdHk6IDE7XG5cdGZpbHRlcjogQWxwaGEoT3BhY2l0eT0xMDApO1xuXG5cdGJhY2tncm91bmQtY29sb3I6d2hpdGU7XG5cdG91dGxpbmU6IDBweDtcblxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFxuXHQvKiBcblx0cG9zaXRpb246IGZpeGVkO1xuXHR0b3A6IDMwcHg7XG5cdGxlZnQ6IDMwcHg7XG5cdCAqL1xuXG5cdC8qXG5cdGhlaWdodDogNDAwcHg7XG5cblx0Ym9yZGVyOiAzcHg7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdCovXG5cblxuXHRkaXNwbGF5OiBibG9jaztcblx0ei1pbmRleDogMTAwMjtcblxuXHR3aWR0aDogODAwcHg7XG5cblxufVxuXG4ucHJveGwteG1sLWZpbGUtdXBsb2FkLW92ZXJsYXktaGVhZGVyIHsgYmFja2dyb3VuZC1jb2xvcjogI0E1NTM1MzsgcGFkZGluZy1ib3R0b206IDVweDsgfVxuXG4ucHJveGwteG1sLWZpbGUtdXBsb2FkLW92ZXJsYXktWC1mb3ItZXhpdC1vdmVybGF5IHsgZmxvYXQ6IHJpZ2h0OyBib3JkZXItY29sb3I6ICMwMDAwMDA7IGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyBjb2xvcjogI0E1NTM1MzsgcGFkZGluZzogM3B4OyBtYXJnaW46IDBweDsgIGN1cnNvcjogcG9pbnRlcjsgIH1cblxuLnByb3hsLXhtbC1maWxlLXVwbG9hZC1vdmVybGF5LWhlYWRlci10ZXh0IHsgY29sb3I6IHdoaXRlOyBwYWRkaW5nOiAzcHg7IG1hcmdpbjogMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7ICB9XG5cbi5wcm94bC14bWwtZmlsZS11cGxvYWQtb3ZlcmxheS1ib2R5IHsgIHBhZGRpbmc6IDIwcHg7IH1cblxuXG4ucHJveGwteG1sLWZpbGUtdXBsb2FkLW92ZXJsYXktbWFpbi10YWJsZSB7IHdpZHRoOiAxMDAlOyBib3JkZXItc3BhY2luZzogMHB4OyBtYXJnaW46IDBweDsgcGFkZGluZzogMHB4OyB9XG5cblx0LyogIFRoZSBjb2x1bW5zIG11c3QgaGF2ZSBcIndpZHRoXCIgcHJvcGVydHkuICBNdWx0aXBsZSB0YWJsZXMgbXVzdCBhbGlnbiAqL1xuLnByb3hsLXhtbC1maWxlLXVwbG9hZC1vdmVybGF5LW1haW4tdGFibGUgdGQgeyBwYWRkaW5nOiAwcHg7IG1hcmdpbjogMHB4OyB9XG4ucHJveGwteG1sLWZpbGUtdXBsb2FkLW92ZXJsYXktbWFpbi10YWJsZSB0ZC5jb2x1bW4tMSB7IHdpZHRoOiAyMHB4OyBwYWRkaW5nLXJpZ2h0OiAzcHg7IH0gLyogd2lkdGggb2YgZGVsZXRlIGljb24gKi9cbi5wcm94bC14bWwtZmlsZS11cGxvYWQtb3ZlcmxheS1tYWluLXRhYmxlIHRkLmNvbHVtbi0yIHsgcGFkZGluZy1yaWdodDogMTBweDsgdmVydGljYWwtYWxpZ246IHRleHQtdG9wOyAgfVxuLnByb3hsLXhtbC1maWxlLXVwbG9hZC1vdmVybGF5LW1haW4tdGFibGUgdGQuY29sdW1uLTMgeyAgfSAvKiBubyB3aWR0aDogdG8gZ2V0IHJlc3Qgb2YgdGFibGUgd2lkdGggKi8gXG5cbi5wcm94bC14bWwtZmlsZS11cGxvYWQtb3ZlcmxheS1tYWluLXRhYmxlIHRkLmNvbHVtbi0yLCBcbi5wcm94bC14bWwtZmlsZS11cGxvYWQtZmlsZW5hbWUtY29udGFpbmluZy1kaXYgeyB3aWR0aDogMzAwcHg7IG1heC13aWR0aDogMzAwcHg7fVxuXG4ucHJveGwteG1sLWZpbGUtdXBsb2FkLWZpbGVuYW1lLWNvbnRhaW5pbmctZGl2IHsgb3ZlcmZsb3cteDogYXV0bzsgcGFkZGluZy10b3A6IDNweDsgIH1cblxuLnByb3hsLXhtbC1maWxlLXVwbG9hZC1vdmVybGF5LW1haW4tdGFibGUgdGQuY29sdW1uLWZpbGVuYW1lICB7IHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDsgfVxuXG5cbiAgICAvKiAgdXBsb2FkIHByb2dyZXNzIGJhciAgKi9cbi5pbXBvcnQtcHJveGwteG1sLWZpbGUtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciB7IHdpZHRoOiAxODBweDsgfVxuLmltcG9ydC1wcm94bC14bWwtZmlsZS1wcm9ncmVzcy1vdXRlciB7IGJvcmRlcjogMXB4IHNvbGlkICMwMDA7ICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblx0XHQvKiAgSlMgY29kZSBhZGp1c3RzIHRoZSB3aWR0aCBzbyB0aGUgYmFja2dyb3VuZCBjb2xvciBpcyBzaG93biAqL1xuLmltcG9ydC1wcm94bC14bWwtZmlsZS1wcm9ncmVzcyB7IHdpZHRoOiAwJTsgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjBGMDsgaGVpZ2h0OiAxN3B4OyB9XG5cbi5pbXBvcnQtcHJveGwteG1sLWZpbGUtdXBsb2FkLWNvbXBsZXRlIHsgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cblx0LyogZGlzcGxheSB1cGxvYWQgZXJyb3IgZGlhbG9nICovXG5cbmJvZHkucHJvamVjdC1wYWdlIC5pbXBvcnQtcHJveGwteG1sLWZpbGUtdXBsb2FkLWVycm9yLW92ZXJsYXktY29udGFpbmluZy1vdXRlcm1vc3QtZGl2IHsgd2lkdGg6IDEwMCU7IGhlaWdodDogMHB4OyAgIH1cbmJvZHkucHJvamVjdC1wYWdlIC5pbXBvcnQtcHJveGwteG1sLWZpbGUtdXBsb2FkLWVycm9yLW92ZXJsYXktY29udGFpbmluZy1vdXRlci1kaXYgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKiBUaGVzZSAyIGRpdnMgTVVTVCBoYXZlIHRoZSBzYW1lIHdpZHRoIHNvIHNldCB3aWR0aCBmb3IgYm90aCB0b2dldGhlciAqL1xuYm9keS5wcm9qZWN0LXBhZ2UgLmltcG9ydC1wcm94bC14bWwtZmlsZS11cGxvYWQtZXJyb3Itb3ZlcmxheS1jb250YWluaW5nLW91dGVyLWRpdiwgYm9keS5wcm9qZWN0LXBhZ2UgLmltcG9ydC1wcm94bC14bWwtZmlsZS11cGxvYWQtZXJyb3Itb3ZlcmxheS1jb250YWluZXIgeyB3aWR0aDogNjAwcHg7ICB9XG5cbi8qIGV4dGVuZHMgIGJvZHkuY3Jvc3NsaW5rcy1wYWdlLW1haW4gLm1vZGFsLWRpYWxvZy1vdmVybGF5LWNvbnRhaW5lciwgb3RoZXIgdmFsdWVzIGZvciB0aGlzIHNldCBqdXN0IGFib3ZlIF5eXiAgKi9cbmJvZHkucHJvamVjdC1wYWdlIC5pbXBvcnQtcHJveGwteG1sLWZpbGUtdXBsb2FkLWVycm9yLW92ZXJsYXktY29udGFpbmVyIHsgcG9zaXRpb246IGZpeGVkOyB0b3A6IDMwcHg7IGxlZnQ6IDMwcHg7ICB9XG5cblxuXHQvKiBkaXNwbGF5IGZpbGUgY2hvb3NlIGVycm9yIGRpYWxvZyAqL1xuXG5ib2R5LnByb2plY3QtcGFnZSAuaW1wb3J0LXByb3hsLXhtbC1jaG9vc2UtZmlsZS1lcnJvci1vdmVybGF5LWNvbnRhaW5pbmctb3V0ZXJtb3N0LWRpdiB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDBweDsgICB9XG5ib2R5LnByb2plY3QtcGFnZSAuaW1wb3J0LXByb3hsLXhtbC1jaG9vc2UtZmlsZS1lcnJvci1vdmVybGF5LWNvbnRhaW5pbmctb3V0ZXItZGl2IHsgcG9zaXRpb246IHJlbGF0aXZlOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyogVGhlc2UgMiBkaXZzIE1VU1QgaGF2ZSB0aGUgc2FtZSB3aWR0aCBzbyBzZXQgd2lkdGggZm9yIGJvdGggdG9nZXRoZXIgKi9cbmJvZHkucHJvamVjdC1wYWdlIC5pbXBvcnQtcHJveGwteG1sLWNob29zZS1maWxlLWVycm9yLW92ZXJsYXktY29udGFpbmluZy1vdXRlci1kaXYsIGJvZHkucHJvamVjdC1wYWdlIC5pbXBvcnQtcHJveGwteG1sLWNob29zZS1maWxlLWVycm9yLW92ZXJsYXktY29udGFpbmVyIHsgd2lkdGg6IDYwMHB4OyAgfVxuXG4vKiBleHRlbmRzICBib2R5LmNyb3NzbGlua3MtcGFnZS1tYWluIC5tb2RhbC1kaWFsb2ctb3ZlcmxheS1jb250YWluZXIsIG90aGVyIHZhbHVlcyBmb3IgdGhpcyBzZXQganVzdCBhYm92ZSBeXl4gICovXG5ib2R5LnByb2plY3QtcGFnZSAuaW1wb3J0LXByb3hsLXhtbC1jaG9vc2UtZmlsZS1lcnJvci1vdmVybGF5LWNvbnRhaW5lciB7IHBvc2l0aW9uOiBmaXhlZDsgdG9wOiAzMHB4OyBsZWZ0OiAzMHB4OyAgfVxuXG5cdC8qIGNvbmZpcm0gYWJhbmRvbiB1cGxvYWQgZGlhbG9nICovXG5cbmJvZHkucHJvamVjdC1wYWdlIC5pbXBvcnQtcHJveGwteG1sLWZpbGUtY29uZmlybS1hYmFuZG9uLXVwbG9hZC1vdmVybGF5LWNvbnRhaW5pbmctb3V0ZXJtb3N0LWRpdiB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDBweDsgICB9XG5ib2R5LnByb2plY3QtcGFnZSAuaW1wb3J0LXByb3hsLXhtbC1maWxlLWNvbmZpcm0tYWJhbmRvbi11cGxvYWQtb3ZlcmxheS1jb250YWluaW5nLW91dGVyLWRpdiB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qIFRoZXNlIDIgZGl2cyBNVVNUIGhhdmUgdGhlIHNhbWUgd2lkdGggc28gc2V0IHdpZHRoIGZvciBib3RoIHRvZ2V0aGVyICovXG5ib2R5LnByb2plY3QtcGFnZSAuaW1wb3J0LXByb3hsLXhtbC1maWxlLWNvbmZpcm0tYWJhbmRvbi11cGxvYWQtb3ZlcmxheS1jb250YWluaW5nLW91dGVyLWRpdiwgYm9keS5wcm9qZWN0LXBhZ2UgLmltcG9ydC1wcm94bC14bWwtZmlsZS1jb25maXJtLWFiYW5kb24tdXBsb2FkLW92ZXJsYXktY29udGFpbmVyIHsgd2lkdGg6IDYwMHB4OyAgfVxuXG4vKiBleHRlbmRzICBib2R5LmNyb3NzbGlua3MtcGFnZS1tYWluIC5tb2RhbC1kaWFsb2ctb3ZlcmxheS1jb250YWluZXIsIG90aGVyIHZhbHVlcyBmb3IgdGhpcyBzZXQganVzdCBhYm92ZSBeXl4gICovXG5ib2R5LnByb2plY3QtcGFnZSAuaW1wb3J0LXByb3hsLXhtbC1maWxlLWNvbmZpcm0tYWJhbmRvbi11cGxvYWQtb3ZlcmxheS1jb250YWluZXIgeyBwb3NpdGlvbjogZml4ZWQ7IHRvcDogMzBweDsgbGVmdDogMzBweDsgIH1cblxuXG5cdC8qIGNvbmZpcm0gcmVtb3ZlIHVwbG9hZCBkaWFsb2cgKi9cblxuYm9keS5wcm9qZWN0LXBhZ2UgLmltcG9ydC1wcm94bC14bWwtZmlsZS1jb25maXJtLXJlbW92ZS11cGxvYWQtb3ZlcmxheS1jb250YWluaW5nLW91dGVybW9zdC1kaXYgeyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAwcHg7ICAgfVxuYm9keS5wcm9qZWN0LXBhZ2UgLmltcG9ydC1wcm94bC14bWwtZmlsZS1jb25maXJtLXJlbW92ZS11cGxvYWQtb3ZlcmxheS1jb250YWluaW5nLW91dGVyLWRpdiB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qIFRoZXNlIDIgZGl2cyBNVVNUIGhhdmUgdGhlIHNhbWUgd2lkdGggc28gc2V0IHdpZHRoIGZvciBib3RoIHRvZ2V0aGVyICovXG5ib2R5LnByb2plY3QtcGFnZSAuaW1wb3J0LXByb3hsLXhtbC1maWxlLWNvbmZpcm0tcmVtb3ZlLXVwbG9hZC1vdmVybGF5LWNvbnRhaW5pbmctb3V0ZXItZGl2LCBib2R5LnByb2plY3QtcGFnZSAuaW1wb3J0LXByb3hsLXhtbC1maWxlLWNvbmZpcm0tcmVtb3ZlLXVwbG9hZC1vdmVybGF5LWNvbnRhaW5lciB7IHdpZHRoOiA2MDBweDsgIH1cblxuLyogZXh0ZW5kcyAgYm9keS5jcm9zc2xpbmtzLXBhZ2UtbWFpbiAubW9kYWwtZGlhbG9nLW92ZXJsYXktY29udGFpbmVyLCBvdGhlciB2YWx1ZXMgZm9yIHRoaXMgc2V0IGp1c3QgYWJvdmUgXl5eICAqL1xuYm9keS5wcm9qZWN0LXBhZ2UgLmltcG9ydC1wcm94bC14bWwtZmlsZS1jb25maXJtLXJlbW92ZS11cGxvYWQtb3ZlcmxheS1jb250YWluZXIgeyBwb3NpdGlvbjogZml4ZWQ7IHRvcDogMzBweDsgbGVmdDogMzBweDsgIH1cblxuXG5cblxuXG5cblxuXG5cdC8qIE1vZGFsIGRpYWxvZyBmb3Igbm90aWZ5aW5nIHVzZXIgdGhhdCBvbmUgdGhlIFByb3hsIFhNTCBJbXBvcnQgaXRlbXMgaW1wb3J0ZWQgc3VjY2Vzc2Z1bGx5ICovXG5cbmJvZHkucHJvamVjdC1wYWdlIC5wcm94bC14bWwtZmlsZS11cGxvYWQtY29tcGxldGUtc3VjY2Vzc2Z1bGx5LW92ZXJsYXktY29udGFpbmluZy1vdXRlci1kaXYgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuYm9keS5wcm9qZWN0LXBhZ2UgLnByb3hsLXhtbC1maWxlLXVwbG9hZC1jb21wbGV0ZS1zdWNjZXNzZnVsbHktb3ZlcmxheS1jb250YWluZXIgeyB3aWR0aDogNDUwcHg7IHBvc2l0aW9uOiBmaXhlZDsgdG9wOiAxMDBweDsgbGVmdDogMTAwcHg7IH1cblxuXG5cblxuXG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gICovXG5cbi8qICAgTW9kYWwgRGlhbG9ncyB3aXRoIFRpdGxlIEJhciBhbmQgXCJYXCIgZm9yIGNsb3NlIGF0IHRvcCByaWdodFxuXG5cblxuXHQvKiBRQyBQbG90cyBtb2RhbCBkaWFsb2cgYmFja2dyb3VuZCAqL1xuYm9keS52aWV3LXFjLXBhZ2UgLnFjLXBsb3Qtb3ZlcmxheS1iYWNrZ3JvdW5kIHtcblx0XG5cblx0Y3Vyc29yOiBwb2ludGVyOyAvKiBzZXQgbW91c2UgdG8gcG9pbnRlciAqL1xuXG5cdCAgei1pbmRleDogMTAwMTtcblx0ICBcblx0ICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcblx0b3BhY2l0eTogLjgwO1xuXHRmaWx0ZXI6IEFscGhhKE9wYWNpdHk9ODApO1xuXG5cdCAgLyogIE1vdmVkIHRvIGlubGluZSBzdHlsZSBpbiBoZWFkZXIgc28gY29udGV4dCBpcyBub3QgaGFyZCBjb2RlZFxuXHRiYWNrZ3JvdW5kOiAjNjY2IHVybCgvPz8/Y29udGV4dD8/Py9jc3MvanF1ZXJ5LXVpLTEuMTAuMi1UaGVtZXMvdWktbGlnaHRuZXNzL2ltYWdlcy91aS1iZ19kaWFnb25hbHMtdGhpY2tfMjBfNjY2NjY2XzQweDQwLnBuZykgNTAlIDUwJSByZXBlYXQ7XG5cdCovXG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG5cbi8qICBRQyBQbG90cyBPdmVybGF5ICAgKi9cblxuXG5ib2R5LnZpZXctcWMtcGFnZSBkaXYucWMtcGxvdC1vdmVybGF5LWRpdiB7XG5cblx0b3BhY2l0eTogMTtcblx0ZmlsdGVyOiBBbHBoYShPcGFjaXR5PTEwMCk7XG5cblx0YmFja2dyb3VuZC1jb2xvcjp3aGl0ZTtcblx0b3V0bGluZTogMHB4O1xuXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiA1MHB4O1xuXHRsZWZ0OiA1MHB4O1xuXG5cdC8qXG5cdGhlaWdodDogNDAwcHg7XG5cdCovXG5cblx0Ym9yZGVyOiAxcHg7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGJvcmRlci1jb2xvcjogI0QzRDNEMyA7XG5cblxuXHRkaXNwbGF5OiBibG9jaztcblx0ei1pbmRleDogMTAwMjtcblxuXHR3aWR0aDogMTAwMHB4O1xuXG5cbn1cblxuYm9keS52aWV3LXFjLXBhZ2UgLnFjLXBsb3Qtb3ZlcmxheS1oZWFkZXIgeyBcblx0XG5cdGhlaWdodDogMzVweDtcblx0YmFja2dyb3VuZC1jb2xvcjogI0ZGRjBGMDsgcGFkZGluZy1ib3R0b206IDVweDtcblxuXHRib3JkZXItd2lkdGg6IDBweDtcblx0Ym9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRib3JkZXItY29sb3I6ICNEM0QzRDMgO1xuIH1cblxuYm9keS52aWV3LXFjLXBhZ2UgLnFjLXBsb3Qtb3ZlcmxheS1YLWZvci1leGl0LW92ZXJsYXkgeyBmbG9hdDogcmlnaHQ7IGJvcmRlci1jb2xvcjogIzAwMDAwMDsgaGVpZ2h0OjMzcHg7IGJhY2tncm91bmQtY29sb3I6ICNBNTUzNTM7IGNvbG9yOiB3aGl0ZTsgcGFkZGluZzogM3B4OyBtYXJnaW46IDBweDsgIGN1cnNvcjogcG9pbnRlcjsgIH1cblxuYm9keS52aWV3LXFjLXBhZ2UgLnFjLXBsb3Qtb3ZlcmxheS1oZWFkZXItdGV4dCB7IGNvbG9yOiBibGFjazsgcGFkZGluZzogM3B4OyBtYXJnaW46IDBweDsgdGV4dC1hbGlnbjogY2VudGVyOyAgfVxuXG5ib2R5LnZpZXctcWMtcGFnZSAucWMtcGxvdC1vdmVybGF5LWJvZHkgeyAgcGFkZGluZzogMjBweDsgfVxuXG5ib2R5LnZpZXctcWMtcGFnZSAucWMtcGxvdC1vdmVybGF5LWxpbmsgeyBtYXJnaW4tcmlnaHQ6IDIwcHg7ICB9XG5cbmJvZHkudmlldy1xYy1wYWdlIC5xYy1wbG90LWZpbHRlci1vbi1pbXBvcnQtbm90aWNlIHsgY29sb3I6ICNBNTUzNTM7IHBhZGRpbmctYm90dG9tOiA1cHg7IH1cblxuXG5cdC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gICovXG5cdFxuXHQvKiAgQWxsIFZpZXcgRGF0YSBwYWdlcyAqL1xuXHRcblxuXHQvKiBHZW5lcmFsIFZpZXcgRGF0YSBwYWdlcyAqL1xuXG5ib2R5LmNyb3NzbGlua3MtcGFnZS1tYWluIC5wc20tb3Blbi1zcGVjdHJ1bS1saW5rLWNsaWNrZWQgeyBjb2xvcjogI0ZGMDAwMDsgfVxuXG5cblx0LyogIE1lcmdlZCBTZWFyY2ggRGF0YSBQYWdlcyAgKi9cblx0XG5cdFxuXHQvKiBiYWNrZ3JvdW5kIGNvbG9ycyBmb3IgdGhlIHNlYXJjaGVzLiAgXG5cdFxuXHRUaGlzIG51bWJlciBvZiBjb2xvcnMgbXVzdCBtYXRjaCB0aGUgY2FsY3VsYXRpb24gaW4gL1dlYlJvb3QvV0VCLUlORi9qc3AtaW5jbHVkZXMvbWVyZ2VkU2VhcmNoX1NlYXJjaEluZGV4VG9TZWFyY2hDb2xvckNTU0NsYXNzTmFtZS5qc3Bcblx0XG5cdFRoZXJlIGlzIGEgY29weSBvZiB0aGVzZSBjb2xvcnMgYWx0ZXJlZCB0byBjb21wZW5zYXRlIGZvciBmaWxsLW9wYWNpdHk6IDAuMyBpbiB0aGUgdmVubiBkaWFncmFtIGluIGpzL21lcmdlZFNlYXJjaGVzVmVubkRpYWdyYW1DcmVhdG9yLmpzXG5cdFxuXHQqL1xuYm9keS5jcm9zc2xpbmtzLXBhZ2UtbWFpbiAubWVyZ2VkLXNlYXJjaC1zZWFyY2gtYmFja2dyb3VuZC1jb2xvci0xIHsgYmFja2dyb3VuZC1jb2xvcjogI0ZGREZERiB9XG5ib2R5LmNyb3NzbGlua3MtcGFnZS1tYWluIC5tZXJnZWQtc2VhcmNoLXNlYXJjaC1iYWNrZ3JvdW5kLWNvbG9yLTIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjREZGRkRGIH1cbmJvZHkuY3Jvc3NsaW5rcy1wYWdlLW1haW4gLm1lcmdlZC1zZWFyY2gtc2VhcmNoLWJhY2tncm91bmQtY29sb3ItMyB7IGJhY2tncm91bmQtY29sb3I6ICNERkRGRkYgfVxuYm9keS5jcm9zc2xpbmtzLXBhZ2UtbWFpbiAubWVyZ2VkLXNlYXJjaC1zZWFyY2gtYmFja2dyb3VuZC1jb2xvci00IHsgYmFja2dyb3VuZC1jb2xvcjogI0ZGREZGRiB9XG5ib2R5LmNyb3NzbGlua3MtcGFnZS1tYWluIC5tZXJnZWQtc2VhcmNoLXNlYXJjaC1iYWNrZ3JvdW5kLWNvbG9yLTUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZFQkMxIH1cbmJvZHkuY3Jvc3NsaW5rcy1wYWdlLW1haW4gLm1lcmdlZC1zZWFyY2gtc2VhcmNoLWJhY2tncm91bmQtY29sb3ItNiB7IGJhY2tncm91bmQtY29sb3I6ICNERkZGRkYgfVxuYm9keS5jcm9zc2xpbmtzLXBhZ2UtbWFpbiAubWVyZ2VkLXNlYXJjaC1zZWFyY2gtYmFja2dyb3VuZC1jb2xvci03IHsgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkRDMSB9XG5ib2R5LmNyb3NzbGlua3MtcGFnZS1tYWluIC5tZXJnZWQtc2VhcmNoLXNlYXJjaC1iYWNrZ3JvdW5kLWNvbG9yLTggeyBiYWNrZ3JvdW5kLWNvbG9yOiAjRUJGMkZGIH1cbmJvZHkuY3Jvc3NsaW5rcy1wYWdlLW1haW4gLm1lcmdlZC1zZWFyY2gtc2VhcmNoLWJhY2tncm91bmQtY29sb3ItOSB7IGJhY2tncm91bmQtY29sb3I6ICNGNUZGREUgfVxuXG5cblxuXHQvKiAgSW1hZ2UgUGFnZSAgKi9cblx0XG5cbmJvZHkudmlldy1tZXJnZWQtaW1hZ2UtcGFnZSAgIC5zZWxlY3RlZC1wcm90ZWlucy1jb250YWluZXIgeyBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgfSBcbmJvZHkudmlldy1tZXJnZWQtaW1hZ2UtcGFnZSAgIC5zZWxlY3RlZC1wcm90ZWlucy1jb250YWluZXIgLm91dGVyLWZsb2F0IHsgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjBGMDsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWNvbG9yOiAjRDNEM0QzOyBib3JkZXItd2lkdGg6IDFweDsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgcGFkZGluZy1yaWdodDogMTVweDsgbWFyZ2luLWxlZnQ6IDBweDsgbWFyZ2luLXJpZ2h0OiA1cHg7IG1hcmdpbi10b3A6IDBweDsgbWFyZ2luLWJvdHRvbTogNHB4OyBwYWRkaW5nOiAxcHg7IGZsb2F0OiBsZWZ0OyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbi8qIGJvZHkudmlldy1tZXJnZWQtaW1hZ2UtcGFnZSAgLnNlbGVjdGVkLXByb3RlaW5zLWNvbnRhaW5lciAub3V0ZXItZmxvYXQ6aG92ZXIgeyB9ICovXG5ib2R5LnZpZXctbWVyZ2VkLWltYWdlLXBhZ2UgICAuc2VsZWN0ZWQtcHJvdGVpbnMtY29udGFpbmVyIC5zb3J0LWhhbmRsZS1hbmQtdGV4dCB7IGN1cnNvcjogcG9pbnRlcjsgIH1cbmJvZHkudmlldy1tZXJnZWQtaW1hZ2UtcGFnZSAgIC5zZWxlY3RlZC1wcm90ZWlucy1jb250YWluZXIgLnNvcnQtaGFuZGxlLWZsb2F0IHsgZmxvYXQ6IGxlZnQ7IHBhZGRpbmctbGVmdDogMnB4OyBwYWRkaW5nLXJpZ2h0OiAycHg7IHBhZGRpbmctdG9wOiAxcHg7IH1cbmJvZHkudmlldy1tZXJnZWQtaW1hZ2UtcGFnZSAgIC5zZWxlY3RlZC1wcm90ZWlucy1jb250YWluZXIgLnRleHQtZmxvYXQge2Zsb2F0OiBsZWZ0OyBtYXJnaW4tcmlnaHQ6IDNweDsgbWF4LXdpZHRoOiAyMDBweDtvdmVyZmxvdzogaGlkZGVuOyB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgfVxuYm9keS52aWV3LW1lcmdlZC1pbWFnZS1wYWdlICAgLnNlbGVjdGVkLXByb3RlaW5zLWNvbnRhaW5lciAuZGVsZXRlLWljb24tZmxvYXQge2Zsb2F0OiBsZWZ0OyBwYWRkaW5nLXRvcDogMXB4OyBwYWRkaW5nLXJpZ2h0OiAzcHg7IH0gXG5cbmJvZHkudmlldy1tZXJnZWQtaW1hZ2UtcGFnZSAgIC5uby1wcm90ZWlucy1hZGQtcHJvdGVpbi1ibG9jayB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGNvbG9yOiAjQTU1MzUzO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItY29sb3I6ICNBNTUzNTM7XG4gICAgYm9yZGVyLXN0eWxlOiBkYXNoZWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIHBhZGRpbmctdG9wOiA2MHB4O1xufVxuXG5cbi8qKioqKiAgIFByb3hsIE1hbmFnZW1lbnQgUGFnZXMgICoqKioqL1xuXHRcblx0XG4gIC8qICBQcm94bCBDb25maWcgUGFnZSAqL1xuXG5ib2R5Lm1hbmFnZS1jb25maWd1cmF0aW9uLXBhZ2UgLm1hbmFnZS1jb25maWctdGl0bGUgeyBtYXJnaW4tdG9wOiAyMHB4OyBtYXJnaW4tYm90dG9tOiAxMHB4OyBmb250LXdlaWdodDogYm9sZDsgfVxuXG5cbmJvZHkubWFuYWdlLWNvbmZpZ3VyYXRpb24tcGFnZSAudGVybXMtb2Ytc2VydmljZS1jb25maWctdGl0bGUgeyBmb250LXdlaWdodDogYm9sZDsgZm9udC1zaXplOiAxOHB4OyB9XG5cbi8qIFwiQWR2YW5jZWQgLi4uXCIgKi9cbmJvZHkubWFuYWdlLWNvbmZpZ3VyYXRpb24tcGFnZSAuY29sbGFwc2FibGUtbGluay1jb250YWluZXIgeyBmbG9hdDpsZWZ0OyB9XG5cbmJvZHkubWFuYWdlLWNvbmZpZ3VyYXRpb24tcGFnZSAudG9wLWxldmVsLWNvbnRhaW5lciB7IG1hcmdpbi10b3A6IDIwcHg7IGNsZWFyOiBsZWZ0OyB9IFxuYm9keS5tYW5hZ2UtY29uZmlndXJhdGlvbi1wYWdlIC50b3AtbGV2ZWwtY29sbGFwc2FibGUtbGluay1jb250YWluZXIgeyBwYWRkaW5nLXRvcDogNXB4OyB9XG5ib2R5Lm1hbmFnZS1jb25maWd1cmF0aW9uLXBhZ2UgLnRvcC1sZXZlbC1jb2xsYXBzYWJsZS1saW5rIHsgIH1cbmJvZHkubWFuYWdlLWNvbmZpZ3VyYXRpb24tcGFnZSAudG9wLWxldmVsLWxhYmVsIHsgbWFyZ2luLWxlZnQ6IDMwcHg7IH1cblxuYm9keS5tYW5hZ2UtY29uZmlndXJhdGlvbi1wYWdlIC5hZHZhbmNlZC1ib2R5IHsgbWFyZ2luLWxlZnQ6IDMwcHg7IH1cblxuLyogLS0tLS0gICBUZXJtcyBvZiBTZXJ2aWNlICBPdmVybGF5IERpdiBvbiBNYW5hZ2UgQ09uZmlndXJhdGlvbiBQYWdlICBtb2RhbCBkaWFsb2cgYmFja2dyb3VuZCAtLS0tLSAqL1xuXG4udGVybXMtb2Ytc2VydmljZS1jb25maWctbW9kYWwtZGlhbG9nLW92ZXJsYXktYmFja2dyb3VuZCB7XG5cblx0ICB6LWluZGV4OiAxODtcblx0ICBcblx0ICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcblx0b3BhY2l0eTogLjgwO1xuXHRmaWx0ZXI6IEFscGhhKE9wYWNpdHk9ODApO1xuXG5cdCAgLyogIE1vdmVkIHRvIGlubGluZSBzdHlsZSBpbiBoZWFkZXIgc28gY29udGV4dCBpcyBub3QgaGFyZCBjb2RlZFxuXHRiYWNrZ3JvdW5kOiAjNjY2IHVybCgvPz8/Y29udGV4dD8/Py9jc3MvanF1ZXJ5LXVpLTEuMTAuMi1UaGVtZXMvdWktbGlnaHRuZXNzL2ltYWdlcy91aS1iZ19kaWFnb25hbHMtdGhpY2tfMjBfNjY2NjY2XzQweDQwLnBuZykgNTAlIDUwJSByZXBlYXQ7XG5cdCovXG5cdC8qICBcblx0b3BhY2l0eTogLjUwO1xuXHRmaWx0ZXI6IEFscGhhKE9wYWNpdHk9NTApO1xuXHQqL1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuXG4ubWFuYWdlLWNvbmZpZ3VyYXRpb24tcGFnZSAgZGl2LnRlcm1zLW9mLXNlcnZpY2UtY29uZmlnLW92ZXJsYXktZGl2IHtcblxuXHRvcGFjaXR5OiAxO1xuXHRmaWx0ZXI6IEFscGhhKE9wYWNpdHk9MTAwKTtcblxuXHRiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO1xuXHRvdXRsaW5lOiAwcHg7XG5cblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDIwcHg7XG5cdGxlZnQ6IDIwcHg7XG5cblx0Lypcblx0aGVpZ2h0OiA0MDBweDtcblx0Ki9cblx0Ym9yZGVyOiAxcHg7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGJvcmRlci1jb2xvcjogI0QzRDNEMyA7XG5cblx0ZGlzcGxheTogYmxvY2s7XG5cdHotaW5kZXg6IDIwO1xuXG5cdHdpZHRoOiA4MDBweDtcblxufVxuXG5cblxuLnRlcm1zLW9mLXNlcnZpY2UtY29uZmlnLW92ZXJsYXktaGVhZGVyICB7IFxuXHRcblx0aGVpZ2h0OiAzNXB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGMEYwOyBwYWRkaW5nLWJvdHRvbTogNXB4O1xuXG5cdGJvcmRlci13aWR0aDogMHB4O1xuXHRib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGJvcmRlci1jb2xvcjogI0QzRDNEMyA7XG4gfVxuXG4udGVybXMtb2Ytc2VydmljZS1jb25maWctb3ZlcmxheS1YLWZvci1leGl0LW92ZXJsYXkgeyBmbG9hdDogcmlnaHQ7IGJvcmRlci1jb2xvcjogIzAwMDAwMDsgaGVpZ2h0OjMzcHg7IGJhY2tncm91bmQtY29sb3I6ICNBNTUzNTM7IGNvbG9yOiB3aGl0ZTsgIHBhZGRpbmc6IDNweDsgbWFyZ2luOiAwcHg7ICBjdXJzb3I6IHBvaW50ZXI7ICB9XG5cbi50ZXJtcy1vZi1zZXJ2aWNlLWNvbmZpZy1vdmVybGF5LWhlYWRlci10ZXh0IHsgY29sb3I6IGJsYWNrOyBwYWRkaW5nOiAzcHg7IG1hcmdpbjogMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7ICB9XG5cbi50ZXJtcy1vZi1zZXJ2aWNlLWNvbmZpZy1vdmVybGF5LWJvZHkgeyAgcGFkZGluZzogMjBweDsgfVxuXG5cblxuXG5cbi8qKioqKiAgVXNlciBBY2NvdW50IE1hbmFnZW1lbnQgUGFnZXMgKioqKi9cblxuLyogIFVzZXIgQWNjb3VudCBQYWdlICAqL1xuXG5ib2R5Lm1hbmFnZS1hY2NvdW50LXBhZ2UgeyAgfVxuXG5ib2R5Lm1hbmFnZS1hY2NvdW50LXBhZ2UgIC50b3AtbGV2ZWwtbGFiZWwgeyBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbmJvZHkubWFuYWdlLWFjY291bnQtcGFnZSAuYWNjb3VudC1pbmZvLWJsb2NrIHsgbWFyZ2luLWxlZnQ6IDQwcHg7IH1cblxuYm9keS5tYW5hZ2UtYWNjb3VudC1wYWdlIC52YWx1ZS1jb250YWluZXIgeyBjbGVhcjogYm90aDsgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuYm9keS5tYW5hZ2UtYWNjb3VudC1wYWdlIC52YWx1ZS1jb250YWluZXIta2VlcC13aXRoLW5leHQgeyBjbGVhcjogYm90aDsgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG5cbmJvZHkubWFuYWdlLWFjY291bnQtcGFnZSAudmFsdWUtbGFiZWwgeyAgZmxvYXQ6IGxlZnQ7IGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmJvZHkubWFuYWdlLWFjY291bnQtcGFnZSAuY3VycmVudC12YWx1ZS1jb250YWluZXIsIGJvZHkubWFuYWdlLWFjY291bnQtcGFnZSAuZWRpdC12YWx1ZS1jb250YWluZXIgeyAgbWFyZ2luLWxlZnQ6IDEyMHB4OyB9XG5cbmJvZHkubWFuYWdlLWFjY291bnQtcGFnZSAuZWRpdC12YWx1ZS1jb250YWluZXIgeyBkaXNwbGF5OiBub25lOyB9XG5cbmJvZHkubWFuYWdlLWFjY291bnQtcGFnZSAgLmVkaXQtdmFsdWUtaW5wdXQtZmllbGQgeyB3aWR0aDogMjc1cHg7ICB9XG5cblxuXG5ib2R5Lm1hbmFnZS1hY2NvdW50LXBhZ2UgZGl2LmVycm9yLW1lc3NhZ2UtY29udGFpbmVyIHsgZGlzcGxheTogbm9uZTsgd2lkdGg6IDEwMCU7IHRleHQtYWxpZ246IGNlbnRlcjsgcG9zaXRpb246IGFic29sdXRlOyB6LWluZGV4OiAxOyB9XG5cbmJvZHkubWFuYWdlLWFjY291bnQtcGFnZSAuZXJyb3ItbWVzc2FnZS1pbm5lci1jb250YWluZXIgeyBmb250LXNpemU6IDE4cHg7IHBhZGRpbmc6IDEwcHg7IGNvbG9yOiB3aGl0ZTsgYmFja2dyb3VuZC1jb2xvcjogcmVkOyB9XG5cbmJvZHkubWFuYWdlLWFjY291bnQtcGFnZSBzcGFuLmVycm9yLW1lc3NhZ2UtdGV4dCB7ICB9XG5cdFxuYm9keS5tYW5hZ2UtYWNjb3VudC1wYWdlIC5lcnJvci1tZXNzYWdlLWNsb3NlLXggeyBjdXJzb3I6IHBvaW50ZXI7IGZsb2F0OiByaWdodDsgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cblxuXG4vKiBNYW5hZ2UgVXNlcnMgUGFnZSAgKi9cblxuXG5ib2R5Lm1hbmFnZS11c2Vycy1wYWdlIHsgIH1cblxuYm9keS5tYW5hZ2UtdXNlcnMtcGFnZSAgLnRvcC1sZXZlbC1sYWJlbCB7IG1hcmdpbi10b3A6IDIwcHg7IH1cblxuXG5cdC8qIHVzZXIgbGlzdCwgaW52aXRlZCBhbmQgY3VycmVudCAqL1xuXHRcbmJvZHkubWFuYWdlLXVzZXJzLXBhZ2UgLmludml0ZWQtcGVyc29uLWludml0ZS1kYXRlLWJsb2NrIHsgcGFkZGluZy1sZWZ0OiAyMHB4OyB9XHRcblxuYm9keS5tYW5hZ2UtdXNlcnMtcGFnZSAuaW52aXRlLXVzZXItdGV4dC1saW5rIHsgZm9udC1zaXplOiAxNHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGNvbG9yOiBibGFjazsgZm9udC13ZWlnaHQ6IGJvbGQ7IG9wYWNpdHk6MC42O2ZpbHRlcjphbHBoYShvcGFjaXR5PTYwKTsgIH1cblxuYm9keS5tYW5hZ2UtdXNlcnMtcGFnZSAuY3JlYXRlLXVzZXItdGV4dC1saW5rIHsgZm9udC1zaXplOiAxNHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGNvbG9yOiBibGFjazsgZm9udC13ZWlnaHQ6IGJvbGQ7IG9wYWNpdHk6MC42O2ZpbHRlcjphbHBoYShvcGFjaXR5PTYwKTsgIH1cblxuYm9keS5tYW5hZ2UtdXNlcnMtcGFnZSAuYWNjb3VudC1pbmZvLWJsb2NrIHsgbWFyZ2luLWxlZnQ6IDQwcHg7IH1cblxuXG5ib2R5Lm1hbmFnZS11c2Vycy1wYWdlIC5uYW1lLW9mLXVzZXIsIGJvZHkubWFuYWdlLXVzZXJzLXBhZ2UgLnJvbGUtb2YtdXNlciAgeyAgfVxuXG5ib2R5Lm1hbmFnZS11c2Vycy1wYWdlIC5uYW1lLW9mLXVzZXItZGlzYWJsZWQtdXNlciB7IGZvbnQtc3R5bGU6IGl0YWxpYzsgb3BhY2l0eTowLjQ7ZmlsdGVyOmFscGhhKG9wYWNpdHk9NDApOyAgfVxuXG4vKlxuYm9keS5tYW5hZ2UtdXNlcnMtcGFnZSAubmFtZS1vZi11c2VyLCBib2R5Lm1hbmFnZS11c2Vycy1wYWdlIC5yb2xlLW9mLXVzZXIgIHsgZm9udC1zaXplOiAxMnB4O2NvbG9yOiBibGFjazsgb3BhY2l0eTowLjc7ZmlsdGVyOmFscGhhKG9wYWNpdHk9NzApOyAgfVxuXG5ib2R5Lm1hbmFnZS11c2Vycy1wYWdlIC5uYW1lLW9mLXVzZXItZGlzYWJsZWQtdXNlciB7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogaXRhbGljOyBjb2xvcjogYmxhY2s7IG9wYWNpdHk6MC40O2ZpbHRlcjphbHBoYShvcGFjaXR5PTQwKTsgIH1cbiovXG5cbi8qXG5tYW5hZ2UgdXNlcnM6XG5cdFwiTWFuYWdlIFVzZXJzXCIgdGV4dDogYmxhY2ssIDYwJSBvcGFjaXR5LCBib2xkLCAyNHB4XG5cdFwiSW52aXRlIFVzZXJcIiB0ZXh0OiBibGFjaywgNjAlIG9wYWNpdHksIGJvbGQsIDE0cHhcblx0TmFtZXMgYW5kIHJvbGVzIHRleHQ6IGJsYWNrLCA3MCUsIDEycHhcblx0RGlzYWJsZWQgdXNlciBuYW1lIHRleHQ6IGJsYWNrLCA0MCUsIGl0YWxpYywgMTJweFxuXHRyZWQgaG9yaXpvbnRhbCBydWxlczogd2lkdGggMXB4LCBjb2xvcjogI0E1NTM1MywgNjAlIG9wYWNpdHksIHdpZHRoOiA4MC05MGlzaCAlXG5cbiovXHRcblxuXG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgT1ZFUkxBWVMgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gICovXG5cblxuLyogLS0tLS0gICBNZXJnZWQgU2VhcmNoZXMgQ2hvb3NlciAgT3ZlcmxheSBEaXYgb24gVmlldyBJbWFnZSBQYWdlICBtb2RhbCBkaWFsb2cgYmFja2dyb3VuZCAtLS0tLSAqL1xuXG4uc2VhcmNoZXMtZm9yLXBhZ2UtY2hvb3Nlci1tb2RhbC1kaWFsb2ctb3ZlcmxheS1iYWNrZ3JvdW5kIHtcblx0XG5cblx0Y3Vyc29yOiBwb2ludGVyOyAvKiBzZXQgbW91c2UgdG8gcG9pbnRlciAqL1xuXG5cdCAgei1pbmRleDogMTg7XG5cdCAgXG5cdCAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG5cdG9wYWNpdHk6IC44MDtcblx0ZmlsdGVyOiBBbHBoYShPcGFjaXR5PTgwKTtcblxuXHQgIC8qICBNb3ZlZCB0byBpbmxpbmUgc3R5bGUgaW4gaGVhZGVyIHNvIGNvbnRleHQgaXMgbm90IGhhcmQgY29kZWRcblx0YmFja2dyb3VuZDogIzY2NiB1cmwoLz8/P2NvbnRleHQ/Pz8vY3NzL2pxdWVyeS11aS0xLjEwLjItVGhlbWVzL3VpLWxpZ2h0bmVzcy9pbWFnZXMvdWktYmdfZGlhZ29uYWxzLXRoaWNrXzIwXzY2NjY2Nl80MHg0MC5wbmcpIDUwJSA1MCUgcmVwZWF0O1xuXHQqL1xuXHQvKiAgXG5cdG9wYWNpdHk6IC41MDtcblx0ZmlsdGVyOiBBbHBoYShPcGFjaXR5PTUwKTtcblx0Ki9cblx0cG9zaXRpb246IGZpeGVkO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cblxuLyogIE1lcmdlZCBTZWFyY2hlcyBDaG9vc2VyICBPdmVybGF5ICAgICAqL1xuZGl2LnNlYXJjaGVzLWZvci1wYWdlLWNob29zZXItb3ZlcmxheS1kaXYge1xuXHRvcGFjaXR5OiAxO1xuXHRmaWx0ZXI6IEFscGhhKE9wYWNpdHk9MTAwKTtcblxuXHRiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO1xuXHRvdXRsaW5lOiAwcHg7XG5cblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDIwcHg7XG5cdGxlZnQ6IDIwcHg7XG5cblx0Lypcblx0aGVpZ2h0OiA0MDBweDtcblx0Ki9cblx0Ym9yZGVyOiAxcHg7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGJvcmRlci1jb2xvcjogI0QzRDNEMyA7XG5cblx0ZGlzcGxheTogYmxvY2s7XG5cdHotaW5kZXg6IDIwO1xuXG5cdHdpZHRoOiA4MDBweDtcblxufVxuXG5cblxuLnNlYXJjaGVzLWZvci1wYWdlLWNob29zZXItb3ZlcmxheS1oZWFkZXIgIHsgXG5cdFxuXHRoZWlnaHQ6IDM1cHg7XG5cdGJhY2tncm91bmQtY29sb3I6ICNGRkYwRjA7IHBhZGRpbmctYm90dG9tOiA1cHg7XG5cblx0Ym9yZGVyLXdpZHRoOiAwcHg7XG5cdGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcblx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0Ym9yZGVyLWNvbG9yOiAjRDNEM0QzIDtcbiB9XG5cbi5zZWFyY2hlcy1mb3ItcGFnZS1jaG9vc2VyLW92ZXJsYXktWC1mb3ItZXhpdC1vdmVybGF5IHsgZmxvYXQ6IHJpZ2h0OyBib3JkZXItY29sb3I6ICMwMDAwMDA7IGhlaWdodDozM3B4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjQTU1MzUzOyBjb2xvcjogd2hpdGU7ICBwYWRkaW5nOiAzcHg7IG1hcmdpbjogMHB4OyAgY3Vyc29yOiBwb2ludGVyOyAgfVxuXG4uc2VhcmNoZXMtZm9yLXBhZ2UtY2hvb3Nlci1vdmVybGF5LWhlYWRlci10ZXh0IHsgY29sb3I6IGJsYWNrOyBwYWRkaW5nOiAzcHg7IG1hcmdpbjogMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7ICB9XG5cbi5zZWFyY2hlcy1mb3ItcGFnZS1jaG9vc2VyLW92ZXJsYXktYm9keSB7ICBwYWRkaW5nOiAyMHB4OyB9XG5cblxuLnNlYXJjaGVzLWZvci1wYWdlLWNob29zZXItb3ZlcmxheS1kaXYgLnNlYXJjaGVzLWxpc3Qtb3V0ZXItY29udGFpbmVyIHtcblx0XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZzogNnB4O1xuXHRib3JkZXItd2lkdGg6IDFweDtcblx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0Ym9yZGVyLWNvbG9yOiAjRDNEM0QzIDtcblx0b3ZlcmZsb3cteTogYXV0bzsgXG59XG5cbi5zZWFyY2hlcy1mb3ItcGFnZS1jaG9vc2VyLW92ZXJsYXktZGl2IC5zaW5nbGUtc2VhcmNoLXNlbGVjdC1pdGVtIHsgY29sb3I6IGJsYWNrOyBwYWRkaW5nOiA0cHg7ICBjdXJzb3I6IHBvaW50ZXI7IG92ZXJmbG93LXg6IGhpZGRlbjsgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IH0gLyogbWF4LXdpZHRoOiA0MDBweDsgKi9cblxuZGl2LnNpbmdsZS1zZWFyY2gtc2VsZWN0LWl0ZW06aG92ZXIgeyBjb2xvcjogYmxhY2s7IGJhY2tncm91bmQtY29sb3I6ICNGRkYwRjA7IHBhZGRpbmc6IDJweDsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWNvbG9yOiAjQTU1MzUzOyBib3JkZXItd2lkdGg6IDJweDsgfVxuXG4vKiBVc2VkIHRvIHNob3cgY3VycmVudGx5IHNlbGVjdGVkIHByb3RlaW4gKi9cbmRpdi5zaW5nbGUtc2VhcmNoLXNlbGVjdC1pdGVtLWhpZ2hsaWdodCAgeyBjb2xvcjogI0ZGRkZGRjsgYmFja2dyb3VuZC1jb2xvcjogI0E1NTM1MzsgcGFkZGluZzogNHB4OyB9XG5cbi8qIFVzZWQgdG8gc2hvdyBjbGlja2VkIG9uLCBzZWxlY3RlZCBwcm90ZWluICovXG5kaXYuc2VhcmNoZXMtZm9yLXBhZ2UtY2hvb3Nlci1vdmVybGF5LXVzZXItc2VsZWN0ZWQtc2VhcmNoICB7IGNvbG9yOiAjRkZGRkZGOyBiYWNrZ3JvdW5kLWNvbG9yOiAjQTU1MzUzOyBwYWRkaW5nOiA0cHg7IH1cbmRpdi5zZWFyY2hlcy1mb3ItcGFnZS1jaG9vc2VyLW92ZXJsYXktdXNlci1zZWxlY3RlZC1zZWFyY2g6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGMEYwOyAgfVxuXG5cbi8qIC0tLS0tICAgU2VhcmNoZXMgQ2hhbmdlIERpc3BsYXkgT3JkZXIgIE92ZXJsYXkgRGl2IG9uIFZpZXcgSW1hZ2UgUGFnZSAgbW9kYWwgZGlhbG9nIGJhY2tncm91bmQgLS0tLS0gKi9cblxuLnNlYXJjaGVzLWNoYW5nZS1kaXNwbGF5LW9yZGVyLW1vZGFsLWRpYWxvZy1vdmVybGF5LWJhY2tncm91bmQge1xuXHRcblxuXHRjdXJzb3I6IHBvaW50ZXI7IC8qIHNldCBtb3VzZSB0byBwb2ludGVyICovXG5cblx0ICB6LWluZGV4OiAxODtcblx0ICBcblx0ICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcblx0b3BhY2l0eTogLjgwO1xuXHRmaWx0ZXI6IEFscGhhKE9wYWNpdHk9ODApO1xuXG5cdCAgLyogIE1vdmVkIHRvIGlubGluZSBzdHlsZSBpbiBoZWFkZXIgc28gY29udGV4dCBpcyBub3QgaGFyZCBjb2RlZFxuXHRiYWNrZ3JvdW5kOiAjNjY2IHVybCgvPz8/Y29udGV4dD8/Py9jc3MvanF1ZXJ5LXVpLTEuMTAuMi1UaGVtZXMvdWktbGlnaHRuZXNzL2ltYWdlcy91aS1iZ19kaWFnb25hbHMtdGhpY2tfMjBfNjY2NjY2XzQweDQwLnBuZykgNTAlIDUwJSByZXBlYXQ7XG5cdCovXG5cdC8qICBcblx0b3BhY2l0eTogLjUwO1xuXHRmaWx0ZXI6IEFscGhhKE9wYWNpdHk9NTApO1xuXHQqL1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuXG4vKiAgTWVyZ2VkIFNlYXJjaGVzIENob29zZXIgIE92ZXJsYXkgICAgICovXG5kaXYuc2VhcmNoZXMtY2hhbmdlLWRpc3BsYXktb3JkZXItb3ZlcmxheS1kaXYge1xuXHRvcGFjaXR5OiAxO1xuXHRmaWx0ZXI6IEFscGhhKE9wYWNpdHk9MTAwKTtcblxuXHRiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO1xuXHRvdXRsaW5lOiAwcHg7XG5cblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDIwcHg7XG5cdGxlZnQ6IDIwcHg7XG5cblx0Lypcblx0aGVpZ2h0OiA0MDBweDtcblx0Ki9cblx0Ym9yZGVyOiAxcHg7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGJvcmRlci1jb2xvcjogI0QzRDNEMyA7XG5cblx0ZGlzcGxheTogYmxvY2s7XG5cdHotaW5kZXg6IDIwO1xuXG5cdHdpZHRoOiA5MDBweDtcblxufVxuXG5cblxuLnNlYXJjaGVzLWNoYW5nZS1kaXNwbGF5LW9yZGVyLW92ZXJsYXktaGVhZGVyICB7IFxuXHRcblx0aGVpZ2h0OiAzNXB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGMEYwOyBwYWRkaW5nLWJvdHRvbTogNXB4O1xuXG5cdGJvcmRlci13aWR0aDogMHB4O1xuXHRib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGJvcmRlci1jb2xvcjogI0QzRDNEMyA7XG4gfVxuXG4uc2VhcmNoZXMtY2hhbmdlLWRpc3BsYXktb3JkZXItb3ZlcmxheS1YLWZvci1leGl0LW92ZXJsYXkgeyBmbG9hdDogcmlnaHQ7IGJvcmRlci1jb2xvcjogIzAwMDAwMDsgaGVpZ2h0OjMzcHg7IGJhY2tncm91bmQtY29sb3I6ICNBNTUzNTM7IGNvbG9yOiB3aGl0ZTsgIHBhZGRpbmc6IDNweDsgbWFyZ2luOiAwcHg7ICBjdXJzb3I6IHBvaW50ZXI7ICB9XG5cbi5zZWFyY2hlcy1jaGFuZ2UtZGlzcGxheS1vcmRlci1vdmVybGF5LWhlYWRlci10ZXh0IHsgY29sb3I6IGJsYWNrOyBwYWRkaW5nOiAzcHg7IG1hcmdpbjogMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7ICB9XG5cbi5zZWFyY2hlcy1jaGFuZ2UtZGlzcGxheS1vcmRlci1vdmVybGF5LWJvZHkgeyAgcGFkZGluZzogMjBweDsgfVxuXG5cbi5zZWFyY2hlcy1jaGFuZ2UtZGlzcGxheS1vcmRlci1vdmVybGF5LWRpdiAuc2VhcmNoZXMtbGlzdC1vdXRlci1jb250YWluZXIge1xuXHRcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nOiA2cHg7XG5cdGJvcmRlci13aWR0aDogMXB4O1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRib3JkZXItY29sb3I6ICNEM0QzRDMgO1xuXHRvdmVyZmxvdy15OiBhdXRvOyBcbn1cblxuLnNlYXJjaGVzLWNoYW5nZS1kaXNwbGF5LW9yZGVyLW92ZXJsYXktZGl2IC5zaW5nbGUtc2VhcmNoLXNlbGVjdC1pdGVtIHsgY29sb3I6IGJsYWNrOyBwYWRkaW5nOiA0cHg7ICBjdXJzb3I6IHBvaW50ZXI7IG92ZXJmbG93LXg6IGhpZGRlbjsgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IH0gLyogbWF4LXdpZHRoOiA0MDBweDsgKi9cblxuZGl2LnNpbmdsZS1zZWFyY2gtc2VsZWN0LWl0ZW06aG92ZXIgeyBjb2xvcjogYmxhY2s7IGJhY2tncm91bmQtY29sb3I6ICNGRkYwRjA7IHBhZGRpbmc6IDJweDsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWNvbG9yOiAjQTU1MzUzOyBib3JkZXItd2lkdGg6IDJweDsgfVxuXG4vKiBVc2VkIHRvIHNob3cgY3VycmVudGx5IHNlbGVjdGVkIHByb3RlaW4gKi9cbmRpdi5zaW5nbGUtc2VhcmNoLXNlbGVjdC1pdGVtLWhpZ2hsaWdodCAgeyBjb2xvcjogI0ZGRkZGRjsgYmFja2dyb3VuZC1jb2xvcjogI0E1NTM1MzsgcGFkZGluZzogNHB4OyB9XG5cbi8qIFVzZWQgdG8gc2hvdyBjbGlja2VkIG9uLCBzZWxlY3RlZCBwcm90ZWluICovXG5kaXYuc2VhcmNoZXMtY2hhbmdlLWRpc3BsYXktb3JkZXItb3ZlcmxheS11c2VyLXNlbGVjdGVkLXNlYXJjaCAgeyBjb2xvcjogI0ZGRkZGRjsgYmFja2dyb3VuZC1jb2xvcjogI0E1NTM1MzsgcGFkZGluZzogNHB4OyB9XG5kaXYuc2VhcmNoZXMtY2hhbmdlLWRpc3BsYXktb3JkZXItb3ZlcmxheS11c2VyLXNlbGVjdGVkLXNlYXJjaDpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6ICNGRkYwRjA7ICB9XG5cblxuLyogRHJhZ2dhYmxlIGl0ZW0gKGZvbGRlciBvciBzZWFyY2gpICovXG4jc2VhcmNoZXNfY2hhbmdlX2Rpc3BsYXlfb3JkZXJfb3ZlcmxheV9kaXYgLnNvcnQtaGFuZGxlLWFuZC10ZXh0IHsgIHdoaXRlLXNwYWNlOiBub3dyYXA7ICBjdXJzb3I6IG1vdmU7IH1cbiNzZWFyY2hlc19jaGFuZ2VfZGlzcGxheV9vcmRlcl9vdmVybGF5X2RpdiAuc29ydC1oYW5kbGUtYW5kLXRleHQ6aG92ZXIgeyBjb2xvcjogIzU0NTQ1NDsgYmFja2dyb3VuZC1jb2xvcjogICNGRkYwRjAgfVxuI3NlYXJjaGVzX2NoYW5nZV9kaXNwbGF5X29yZGVyX292ZXJsYXlfZGl2IC5zb3J0LWhhbmRsZS1mbG9hdCB7IGZsb2F0OiBsZWZ0OyBwYWRkaW5nLWxlZnQ6IDJweDsgcGFkZGluZy1yaWdodDogMnB4OyBwYWRkaW5nLXRvcDogNHB4OyB9XG4vKiBtYXgtd2lkdGg6IHZhbHVlIDMzMHB4ID0gPHRkPiB3aWR0aCA0MDAgLSBwYWRkaW5nLXJpZ2h0IDYwIC0gMTAgKi9cbiNzZWFyY2hlc19jaGFuZ2VfZGlzcGxheV9vcmRlcl9vdmVybGF5X2RpdiAuaXRlbS1kaXNwbGF5LW5hbWUgeyBtYXgtd2lkdGg6IDkwJTsgZmxvYXQ6IGxlZnQ7IHBhZGRpbmc6IDNweDsgb3ZlcmZsb3c6IGhpZGRlbjsgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IH1cbiNzZWFyY2hlc19jaGFuZ2VfZGlzcGxheV9vcmRlcl9vdmVybGF5X2RpdiAuZWRpdC1kZWxldGUtaWNvbnMge3BhZGRpbmctdG9wOiAzcHg7IHBhZGRpbmctcmlnaHQ6IDNweDsgfSBcbiNzZWFyY2hlc19jaGFuZ2VfZGlzcGxheV9vcmRlcl9vdmVybGF5X2RpdiAub3V0ZXItaXRlbS1jb250YWluZXIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiNzZWFyY2hlc19jaGFuZ2VfZGlzcGxheV9vcmRlcl9vdmVybGF5X2RpdiAub3V0ZXItaXRlbS1jb250YWluZXIgLnNlbGVjdGVkLWl0ZW0geyBjb2xvcjogI0ZGRkZGRjsgYmFja2dyb3VuZC1jb2xvcjogI0E1NTM1MzsgfSBcbiNzZWFyY2hlc19jaGFuZ2VfZGlzcGxheV9vcmRlcl9vdmVybGF5X2RpdiAub3V0ZXItaXRlbS1jb250YWluZXIgLnNlbGVjdGVkLWl0ZW06aG92ZXIgeyBjb2xvcjogI0ZGRkZGRjsgYmFja2dyb3VuZC1jb2xvcjogI0E1NTM1MzsgfVxuI3NlYXJjaGVzX2NoYW5nZV9kaXNwbGF5X29yZGVyX292ZXJsYXlfZGl2IC5vdXRlci1pdGVtLWNvbnRhaW5lciAuc2VsZWN0ZWQtaXRlbSAgLmZvbGRlci1yb3ctaWNvbiB7IGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7IH1cbiNzZWFyY2hlc19jaGFuZ2VfZGlzcGxheV9vcmRlcl9vdmVybGF5X2RpdiAuaGlnaGxpZ2h0ZWQtaXRlbSB7IGNvbG9yOiAjNTQ1NDU0OyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGMEYwOyB9IFxuXG5cblxuXG5cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXG4vKiAtLS0gY3VzdG9tIHJlZ2lvbiBhbm5vdGF0aW9uIG1hbmFnZXIgc3R5bGVzIC0tLSAqL1xuXG4uY3VzdG9tX3JlZ2lvbl9tYW5hZ2VyX21vZGFsX2RpYWxvZ19vdmVybGF5X2JhY2tncm91bmQge1xuXHRcblxuXHRjdXJzb3I6IHBvaW50ZXI7IC8qIHNldCBtb3VzZSB0byBwb2ludGVyICovXG5cblx0ei1pbmRleDogMTg7XG5cdCAgXG5cdGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuXHRvcGFjaXR5OiAuODA7XG5cdGZpbHRlcjogQWxwaGEoT3BhY2l0eT04MCk7XG5cblx0ICAvKiAgTW92ZWQgdG8gaW5saW5lIHN0eWxlIGluIGhlYWRlciBzbyBjb250ZXh0IGlzIG5vdCBoYXJkIGNvZGVkXG5cdGJhY2tncm91bmQ6ICM2NjYgdXJsKC8/Pz9jb250ZXh0Pz8/L2Nzcy9qcXVlcnktdWktMS4xMC4yLVRoZW1lcy91aS1saWdodG5lc3MvaW1hZ2VzL3VpLWJnX2RpYWdvbmFscy10aGlja18yMF82NjY2NjZfNDB4NDAucG5nKSA1MCUgNTAlIHJlcGVhdDtcblx0Ki9cblx0LyogIFxuXHRvcGFjaXR5OiAuNTA7XG5cdGZpbHRlcjogQWxwaGEoT3BhY2l0eT01MCk7XG5cdCovXG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG5cbmRpdi5jdXN0b20tcmVnaW9uLW1hbmFnZXItb3ZlcmxheS1jb250YWluZXIge1xuXG5cdG9wYWNpdHk6IDE7XG5cdGZpbHRlcjogQWxwaGEoT3BhY2l0eT0xMDApO1xuXG5cdGJhY2tncm91bmQtY29sb3I6d2hpdGU7XG5cdG91dGxpbmU6IDBweDtcblxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMjBweDtcblx0bGVmdDogMjBweDtcblxuXHRib3JkZXI6IDFweDtcblx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0Ym9yZGVyLWNvbG9yOiAjRDNEM0QzIDtcblxuXHRkaXNwbGF5OiBibG9jaztcblx0ei1pbmRleDogMjA7XG5cblx0d2lkdGg6IDYwMHB4O1xuXHRoZWlnaHQ6NDAwcHg7XG5cbn1cblxuLmN1c3RvbS1yZWdpb24tbWFuYWdlci1vdmVybGF5LWhlYWRlciAgeyBcblx0XG5cdGhlaWdodDogMzVweDtcblx0YmFja2dyb3VuZC1jb2xvcjogI0ZGRjBGMDsgcGFkZGluZy1ib3R0b206IDVweDtcblxuXHRib3JkZXItd2lkdGg6IDBweDtcblx0Ym9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRib3JkZXItY29sb3I6ICNEM0QzRDMgO1xuIH1cblxuXG4uY3VzdG9tLXJlZ2lvbi1tYW5hZ2VyLWxlZnQtcGFuZSB7XG5cblx0cG9zaXRpb246YWJzb2x1dGU7XG5cdHRvcDo0NXB4O1xuXHRsZWZ0OjBweDtcblx0aGVpZ2h0OiAzNTBweDtcblx0d2lkdGg6MjAwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6d2hpdGU7XG5cdHBhZGRpbmctYm90dG9tOiA1cHg7XG5cdGZsb2F0OmxlZnQ7XG5cdGJvcmRlci13aWR0aDogMHB4O1xuXHRib3JkZXItcmlnaHQtd2lkdGg6IDFweDtcblx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0Ym9yZGVyLWNvbG9yOiAjRDNEM0QzIDtcblx0XG5cdG1hcmdpbjowcHg7XG59XG5cbi5jdXN0b20tcmVnaW9uLW1hbmFnZXItcmlnaHQtcGFuZSB7XG5cdHBvc2l0aW9uOmFic29sdXRlO1xuXHR0b3A6NDVweDtcblx0bGVmdDoyMDVweDtcblx0aGVpZ2h0OiAzNTBweDtcblx0d2lkdGg6MzkwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6d2hpdGU7XG5cdHBhZGRpbmctYm90dG9tOiA1cHg7XG5cdGZsb2F0OnJpZ2h0O1xuXHRib3JkZXItd2lkdGg6IDBweDtcblx0bWFyZ2luOjBweDtcbn1cblxuZGl2LmN1c3RvbS1yZWdpb24tbWFuYWdlci1wcm90ZWluLWxpc3Qge1xuXHR3aWR0aDoxMDAlO1xuXHRoZWlnaHQ6MzE3cHg7XG5cdG1heC1oZWlnaHQ6MzE3cHg7XG5cdG1hcmdpbjowcHg7XG5cdG1hcmdpbi10b3A6MTBweDtcblx0cGFkZGluZzowcHg7XG5cdGJvcmRlci13aWR0aDowcHg7XG5cdG92ZXJmbG93OiBzY3JvbGw7XG59XG5cbmRpdi5jdXN0b20tcmVnaW9uLW1hbmFnZXItcHJvdGVpbi1pdGVtIHtcblxuXHR3aWR0aDoxMDAlO1xuXHRoZWlnaHQ6MzBweDtcblx0bGluZS1oZWlnaHQ6MzBweDtcblx0Ym9yZGVyLXdpZHRoOiAwcHg7XG5cdGJvcmRlci10b3Atd2lkdGg6MXB4O1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRib3JkZXItY29sb3I6ICNEM0QzRDM7XG5cdGZvbnQtc2l6ZToxMnB0O1xuXHR0ZXh0LWluZGVudDo1cHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG5kaXYubGFzdC1pdGVtIHtcblx0Ym9yZGVyLWJvdHRvbS13aWR0aDoxcHg7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGJvcmRlci1jb2xvcjogI0QzRDNEMztcbn1cblxuZGl2LmN1c3RvbS1yZWdpb24tbWFuYWdlci1wcm90ZWluLWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiNBNTUzNTM7XG5cdGNvbG9yOndoaXRlO1xufVxuXG5kaXYuY3VzdG9tLXJlZ2lvbi1tYW5hZ2VyLXNlbGVjdGVkLWl0ZW0ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiNBNTUzNTM7XG5cdGNvbG9yOndoaXRlO1xufVxuXG5kaXYjY3VzdG9tX3JlZ2lvbl9tYW5hZ2VyX3JpZ2h0X3BhbmVfcHJvdGVpbl9zZWxlY3RlZCB7XG5cdG92ZXJmbG93OnNjcm9sbDtcbn1cblxuXG4uY3VzdG9tLXJlZ2lvbi1tYW5hZ2VyLW92ZXJsYXktWC1mb3ItZXhpdC1vdmVybGF5IHsgZmxvYXQ6IHJpZ2h0OyBib3JkZXItY29sb3I6ICMwMDAwMDA7IGhlaWdodDozM3B4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjQTU1MzUzOyBjb2xvcjogd2hpdGU7ICBwYWRkaW5nOiAzcHg7IG1hcmdpbjogMHB4OyAgY3Vyc29yOiBwb2ludGVyOyAgfVxuXG4uY3VzdG9tLXJlZ2lvbi1tYW5hZ2VyLW92ZXJsYXktaGVhZGVyLXRleHQgeyBjb2xvcjogYmxhY2s7IHBhZGRpbmc6IDNweDsgbWFyZ2luOiAwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsgIH1cblxuLmN1c3RvbS1yZWdpb24tbWFuYWdlci1vdmVybGF5LWJvZHkgeyAgcGFkZGluZzogMjBweDsgfVxuXG5cblxuXG4vKiAtLS0tLSAgIFByb3RlaW4gU2VsZWN0b3IgIE92ZXJsYXkgRGl2IG9uIFZpZXcgSW1hZ2UgUGFnZSAgbW9kYWwgZGlhbG9nIGJhY2tncm91bmQgLS0tLS0gKi9cblxuLnNlbGVjdC1wcm90ZWluLW1vZGFsLWRpYWxvZy1vdmVybGF5LWJhY2tncm91bmQge1xuXHRcblxuXHRjdXJzb3I6IHBvaW50ZXI7IC8qIHNldCBtb3VzZSB0byBwb2ludGVyICovXG5cblx0ICB6LWluZGV4OiAxODtcblx0ICBcblx0ICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcblx0b3BhY2l0eTogLjgwO1xuXHRmaWx0ZXI6IEFscGhhKE9wYWNpdHk9ODApO1xuXG5cdCAgLyogIE1vdmVkIHRvIGlubGluZSBzdHlsZSBpbiBoZWFkZXIgc28gY29udGV4dCBpcyBub3QgaGFyZCBjb2RlZFxuXHRiYWNrZ3JvdW5kOiAjNjY2IHVybCgvPz8/Y29udGV4dD8/Py9jc3MvanF1ZXJ5LXVpLTEuMTAuMi1UaGVtZXMvdWktbGlnaHRuZXNzL2ltYWdlcy91aS1iZ19kaWFnb25hbHMtdGhpY2tfMjBfNjY2NjY2XzQweDQwLnBuZykgNTAlIDUwJSByZXBlYXQ7XG5cdCovXG5cdC8qICBcblx0b3BhY2l0eTogLjUwO1xuXHRmaWx0ZXI6IEFscGhhKE9wYWNpdHk9NTApO1xuXHQqL1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuXG4vKiAgUnVubmluZyBQcm9ncmFtIHRvIENyZWF0ZSBBbm5vdGF0aW9uIERhdGEgIE92ZXJsYXkgICAgICovXG5cblxuLnZpZXctbWVyZ2VkLWltYWdlLXBhZ2UgIGRpdi5zZWxlY3QtcHJvdGVpbi1vdmVybGF5LWRpdiB7XG5cblx0b3BhY2l0eTogMTtcblx0ZmlsdGVyOiBBbHBoYShPcGFjaXR5PTEwMCk7XG5cblx0YmFja2dyb3VuZC1jb2xvcjp3aGl0ZTtcblx0b3V0bGluZTogMHB4O1xuXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAyMHB4O1xuXHRsZWZ0OiAyMHB4O1xuXG5cdC8qXG5cdGhlaWdodDogNDAwcHg7XG5cdCovXG5cdGJvcmRlcjogMXB4O1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRib3JkZXItY29sb3I6ICNEM0QzRDMgO1xuXG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR6LWluZGV4OiAyMDtcblxuXHR3aWR0aDogNDAwcHg7XG5cbn1cblxuXG5cbi5zZWxlY3QtcHJvdGVpbi1vdmVybGF5LWhlYWRlciAgeyBcblx0XG5cdGhlaWdodDogMzVweDtcblx0YmFja2dyb3VuZC1jb2xvcjogI0ZGRjBGMDsgcGFkZGluZy1ib3R0b206IDVweDtcblxuXHRib3JkZXItd2lkdGg6IDBweDtcblx0Ym9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRib3JkZXItY29sb3I6ICNEM0QzRDMgO1xuIH1cblxuLnNlbGVjdC1wcm90ZWluLW92ZXJsYXktWC1mb3ItZXhpdC1vdmVybGF5IHsgZmxvYXQ6IHJpZ2h0OyBib3JkZXItY29sb3I6ICMwMDAwMDA7IGhlaWdodDozM3B4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjQTU1MzUzOyBjb2xvcjogd2hpdGU7ICBwYWRkaW5nOiAzcHg7IG1hcmdpbjogMHB4OyAgY3Vyc29yOiBwb2ludGVyOyAgfVxuXG4uc2VsZWN0LXByb3RlaW4tb3ZlcmxheS1oZWFkZXItdGV4dCB7IGNvbG9yOiBibGFjazsgcGFkZGluZzogM3B4OyBtYXJnaW46IDBweDsgdGV4dC1hbGlnbjogY2VudGVyOyAgfVxuXG4uc2VsZWN0LXByb3RlaW4tb3ZlcmxheS1ib2R5IHsgIHBhZGRpbmc6IDIwcHg7IH1cblxuXG4uc2VsZWN0LXByb3RlaW4tb3ZlcmxheS1kaXYgLnByb3RlaW4tbGlzdC1vdXRlci1jb250YWluZXIge1xuXHRcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nOiA2cHg7XG5cdGJvcmRlci13aWR0aDogMXB4O1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRib3JkZXItY29sb3I6ICNEM0QzRDMgO1xuXHRvdmVyZmxvdy15OiBhdXRvOyBcbn1cblxuLnNpbmdsZS1wcm90ZWluLXNlbGVjdC1pdGVtIHsgY29sb3I6IGJsYWNrOyBwYWRkaW5nOiA0cHg7ICBjdXJzb3I6IHBvaW50ZXI7IG92ZXJmbG93LXg6IGhpZGRlbjsgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IH0gLyogbWF4LXdpZHRoOiA0MDBweDsgKi9cblxuZGl2LnNpbmdsZS1wcm90ZWluLXNlbGVjdC1pdGVtOmhvdmVyIHsgY29sb3I6IGJsYWNrOyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGMEYwOyBwYWRkaW5nOiAycHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogI0E1NTM1MzsgYm9yZGVyLXdpZHRoOiAycHg7IH1cblxuLyogVXNlZCB0byBzaG93IGN1cnJlbnRseSBzZWxlY3RlZCBwcm90ZWluICovXG5kaXYuc2luZ2xlLXByb3RlaW4tc2VsZWN0LWl0ZW0taGlnaGxpZ2h0ICB7IGNvbG9yOiAjRkZGRkZGOyBiYWNrZ3JvdW5kLWNvbG9yOiAjQTU1MzUzOyBwYWRkaW5nOiA0cHg7IH1cblxuXG4uc2VsZWN0LXByb3RlaW4tb3ZlcmxheS1kaW1tZWQtcHJvdGVpbi1zZWxlY3QtdGV4dCB7IGNvbG9yOiAjOTY5Njk2OyB9XG5kaXYuc2VsZWN0LXByb3RlaW4tb3ZlcmxheS1kaW1tZWQtcHJvdGVpbi1zZWxlY3QtdGV4dDpob3ZlciB7IGNvbG9yOiAjOTY5Njk2OyB9XG5cbi8qIFVzZWQgdG8gc2hvdyBjbGlja2VkIG9uLCBzZWxlY3RlZCBwcm90ZWluICovXG5kaXYuc2VsZWN0LXByb3RlaW4tb3ZlcmxheS11c2VyLXNlbGVjdGVkLXByb3RlaW4gIHsgY29sb3I6ICNGRkZGRkY7IGJhY2tncm91bmQtY29sb3I6ICNBNTUzNTM7IHBhZGRpbmc6IDRweDsgfVxuZGl2LnNlbGVjdC1wcm90ZWluLW92ZXJsYXktdXNlci1zZWxlY3RlZC1wcm90ZWluOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjBGMDsgIH1cblxuXG5cblxuLyogLS0tLS0gICBSdW5uaW5nIFByb2dyYW0gdG8gQ3JlYXRlIEFubm90YXRpb24gRGF0YSAgT3ZlcmxheSBEaXYgb24gVmlldyBJbWFnZSBQYWdlICBtb2RhbCBkaWFsb2cgYmFja2dyb3VuZCAtLS0tLSAqL1xuXG4ucnVuLXBnbS1hbm5vdGF0aW9uLWRhdGEtbW9kYWwtZGlhbG9nLW92ZXJsYXktYmFja2dyb3VuZCB7XG5cdFxuXG5cdGN1cnNvcjogcG9pbnRlcjsgLyogc2V0IG1vdXNlIHRvIHBvaW50ZXIgKi9cblxuXHQgIHotaW5kZXg6IDE4O1xuXHQgIFxuXHQgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuXHRvcGFjaXR5OiAuODA7XG5cdGZpbHRlcjogQWxwaGEoT3BhY2l0eT04MCk7XG5cblx0ICAvKiAgTW92ZWQgdG8gaW5saW5lIHN0eWxlIGluIGhlYWRlciBzbyBjb250ZXh0IGlzIG5vdCBoYXJkIGNvZGVkXG5cdGJhY2tncm91bmQ6ICM2NjYgdXJsKC8/Pz9jb250ZXh0Pz8/L2Nzcy9qcXVlcnktdWktMS4xMC4yLVRoZW1lcy91aS1saWdodG5lc3MvaW1hZ2VzL3VpLWJnX2RpYWdvbmFscy10aGlja18yMF82NjY2NjZfNDB4NDAucG5nKSA1MCUgNTAlIHJlcGVhdDtcblx0Ki9cblx0LyogIFxuXHRvcGFjaXR5OiAuNTA7XG5cdGZpbHRlcjogQWxwaGEoT3BhY2l0eT01MCk7XG5cdCovXG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG5cbi8qICBSdW5uaW5nIFByb2dyYW0gdG8gQ3JlYXRlIEFubm90YXRpb24gRGF0YSAgT3ZlcmxheSAgICAgKi9cblxuXG4udmlldy1tZXJnZWQtaW1hZ2UtcGFnZSAgZGl2LnJ1bi1wZ20tYW5ub3RhdGlvbi1kYXRhLW92ZXJsYXktZGl2IHtcblxuXHRvcGFjaXR5OiAxO1xuXHRmaWx0ZXI6IEFscGhhKE9wYWNpdHk9MTAwKTtcblxuXHRiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO1xuXHRvdXRsaW5lOiAwcHg7XG5cblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDIwcHg7XG5cdGxlZnQ6IDIwcHg7XG5cblx0Lypcblx0aGVpZ2h0OiA0MDBweDtcblx0Ki9cblx0Ym9yZGVyOiAxcHg7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGJvcmRlci1jb2xvcjogI0QzRDNEMyA7XG5cblx0ZGlzcGxheTogYmxvY2s7XG5cdHotaW5kZXg6IDIwO1xuXG5cdHdpZHRoOiA2MDBweDtcblxuXG59XG5cblxuXG4ucnVuLXBnbS1hbm5vdGF0aW9uLWRhdGEtb3ZlcmxheS1oZWFkZXIgIHsgXG5cdFxuXHRoZWlnaHQ6IDM1cHg7XG5cdGJhY2tncm91bmQtY29sb3I6ICNGRkYwRjA7IHBhZGRpbmctYm90dG9tOiA1cHg7XG5cblx0Ym9yZGVyLXdpZHRoOiAwcHg7XG5cdGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcblx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0Ym9yZGVyLWNvbG9yOiAjRDNEM0QzIDtcbiB9XG5cbi5ydW4tcGdtLWFubm90YXRpb24tZGF0YS1vdmVybGF5LVgtZm9yLWV4aXQtb3ZlcmxheSB7IGZsb2F0OiByaWdodDsgYm9yZGVyLWNvbG9yOiAjMDAwMDAwOyBoZWlnaHQ6MzNweDsgYmFja2dyb3VuZC1jb2xvcjogI0E1NTM1MzsgY29sb3I6IHdoaXRlOyAgcGFkZGluZzogM3B4OyBtYXJnaW46IDBweDsgIGN1cnNvcjogcG9pbnRlcjsgIH1cblxuLnJ1bi1wZ20tYW5ub3RhdGlvbi1kYXRhLW92ZXJsYXktaGVhZGVyLXRleHQgeyBjb2xvcjogYmxhY2s7IHBhZGRpbmc6IDNweDsgbWFyZ2luOiAwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsgIH1cblxuLnJ1bi1wZ20tYW5ub3RhdGlvbi1kYXRhLW92ZXJsYXktYm9keSB7ICBwYWRkaW5nOiAyMHB4OyB9XG5cbi5ydW4tcGdtLWFubm90YXRpb24tZGF0YS1vdmVybGF5LWxpbmsgeyBtYXJnaW4tcmlnaHQ6IDIwcHg7ICB9XG5cblxuXG5cblxuLyogLS0tLS0gICBQcm9ncmFtIHRvIENyZWF0ZSBBbm5vdGF0aW9uIERhdGEgRkFJTEVEICBPdmVybGF5IERpdiBvbiBWaWV3IEltYWdlIFBhZ2UgIG1vZGFsIGRpYWxvZyBiYWNrZ3JvdW5kIC0tLS0tICovXG5cbi5wZ20tZmFpbGVkLWFubm90YXRpb24tZGF0YS1tb2RhbC1kaWFsb2ctb3ZlcmxheS1iYWNrZ3JvdW5kIHtcblx0XG5cblx0LyogIGN1cnNvcjogcG9pbnRlcjsgKi8gLyogc2V0IG1vdXNlIHRvIHBvaW50ZXIgKi9cblxuXHQgIHotaW5kZXg6IDE4O1xuXHQgIFxuXHQgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuXHRvcGFjaXR5OiAuODA7XG5cdGZpbHRlcjogQWxwaGEoT3BhY2l0eT04MCk7XG5cblx0ICAvKiAgTW92ZWQgdG8gaW5saW5lIHN0eWxlIGluIGhlYWRlciBzbyBjb250ZXh0IGlzIG5vdCBoYXJkIGNvZGVkXG5cdGJhY2tncm91bmQ6ICM2NjYgdXJsKC8/Pz9jb250ZXh0Pz8/L2Nzcy9qcXVlcnktdWktMS4xMC4yLVRoZW1lcy91aS1saWdodG5lc3MvaW1hZ2VzL3VpLWJnX2RpYWdvbmFscy10aGlja18yMF82NjY2NjZfNDB4NDAucG5nKSA1MCUgNTAlIHJlcGVhdDtcblx0Ki9cblx0LyogIFxuXHRvcGFjaXR5OiAuNTA7XG5cdGZpbHRlcjogQWxwaGEoT3BhY2l0eT01MCk7XG5cdCovXG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG5cbi8qICBSdW5uaW5nIFByb2dyYW0gdG8gQ3JlYXRlIEFubm90YXRpb24gRGF0YSAgT3ZlcmxheSAgICAgKi9cblxuXG4udmlldy1tZXJnZWQtaW1hZ2UtcGFnZSAgZGl2LnBnbS1mYWlsZWQtYW5ub3RhdGlvbi1kYXRhLW92ZXJsYXktZGl2IHtcblxuXHRvcGFjaXR5OiAxO1xuXHRmaWx0ZXI6IEFscGhhKE9wYWNpdHk9MTAwKTtcblxuXHRiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO1xuXHRvdXRsaW5lOiAwcHg7XG5cblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDIwcHg7XG5cdGxlZnQ6IDIwcHg7XG5cblx0Lypcblx0aGVpZ2h0OiA0MDBweDtcblx0Ki9cblx0Ym9yZGVyOiAxcHg7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGJvcmRlci1jb2xvcjogI0QzRDNEMyA7XG5cblx0ZGlzcGxheTogYmxvY2s7XG5cdHotaW5kZXg6IDIwO1xuXG5cdHdpZHRoOiA2MDBweDtcblxuXHQvKiBTcGVjaWFsIGZvciBFUlJPUiBvdmVybGF5IGRpdiAqL1xuXHRib3JkZXI6IDNweDtcblx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0Ym9yZGVyLWNvbG9yOiByZWQgO1xufVxuXG5cblxuLnBnbS1mYWlsZWQtYW5ub3RhdGlvbi1kYXRhLW92ZXJsYXktaGVhZGVyICB7IFxuXHRcbi8qXHRoZWlnaHQ6IDM1cHg7ICovXG5cblx0YmFja2dyb3VuZC1jb2xvcjogI0ZGRjBGMDsgcGFkZGluZy1ib3R0b206IDVweDtcblxuXHRib3JkZXItd2lkdGg6IDBweDtcblx0Ym9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRib3JkZXItY29sb3I6ICNEM0QzRDMgO1xuIH1cblxuLnBnbS1mYWlsZWQtYW5ub3RhdGlvbi1kYXRhLW92ZXJsYXktWC1mb3ItZXhpdC1vdmVybGF5IHsgZmxvYXQ6IHJpZ2h0OyBib3JkZXItY29sb3I6ICMwMDAwMDA7IGhlaWdodDozM3B4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjQTU1MzUzOyBjb2xvcjogd2hpdGU7ICBwYWRkaW5nOiAzcHg7IG1hcmdpbjogMHB4OyAgY3Vyc29yOiBwb2ludGVyOyAgfVxuXG4ucGdtLWZhaWxlZC1hbm5vdGF0aW9uLWRhdGEtb3ZlcmxheS1oZWFkZXItdGV4dCB7IGNvbG9yOiBibGFjazsgcGFkZGluZzogM3B4OyBtYXJnaW46IDBweDsgdGV4dC1hbGlnbjogY2VudGVyOyAgfVxuXG4ucGdtLWZhaWxlZC1hbm5vdGF0aW9uLWRhdGEtb3ZlcmxheS1ib2R5IHsgIHBhZGRpbmc6IDIwcHg7IH1cblxuLnBnbS1mYWlsZWQtYW5ub3RhdGlvbi1kYXRhLW92ZXJsYXktbGluayB7IG1hcmdpbi1yaWdodDogMjBweDsgIH1cblxuXG5cbi8qIC0tLS0tICAgVmlldyBMaW5lIEluZm9ybWF0aW9uIG9uIFZpZXcgSW1hZ2UgUGFnZSAgbW9kYWwgZGlhbG9nIGJhY2tncm91bmQgLS0tLS0gKi9cblxuLnZpZXctbGluay1pbmZvLW1vZGFsLWRpYWxvZy1vdmVybGF5LWJhY2tncm91bmQge1xuXHRcblxuXHRjdXJzb3I6IHBvaW50ZXI7IC8qIHNldCBtb3VzZSB0byBwb2ludGVyICovXG5cblx0ICB6LWluZGV4OiAxODtcblx0ICBcblx0ICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcblx0b3BhY2l0eTogLjgwO1xuXHRmaWx0ZXI6IEFscGhhKE9wYWNpdHk9ODApO1xuXG5cdCAgLyogIE1vdmVkIHRvIGlubGluZSBzdHlsZSBpbiBoZWFkZXIgc28gY29udGV4dCBpcyBub3QgaGFyZCBjb2RlZFxuXHRiYWNrZ3JvdW5kOiAjNjY2IHVybCgvPz8/Y29udGV4dD8/Py9jc3MvanF1ZXJ5LXVpLTEuMTAuMi1UaGVtZXMvdWktbGlnaHRuZXNzL2ltYWdlcy91aS1iZ19kaWFnb25hbHMtdGhpY2tfMjBfNjY2NjY2XzQweDQwLnBuZykgNTAlIDUwJSByZXBlYXQ7XG5cdCovXG5cdC8qICBcblx0b3BhY2l0eTogLjUwO1xuXHRmaWx0ZXI6IEFscGhhKE9wYWNpdHk9NTApO1xuXHQqL1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuXG4vKiAgVmlldyBMaW5lIEluZm8gT3ZlcmxheSAgICAqL1xuXG5cbi52aWV3LW1lcmdlZC1pbWFnZS1wYWdlICBkaXYudmlldy1saW5rLWluZm8tb3ZlcmxheS1kaXYsIC52aWV3LW1lcmdlZC1zdHJ1Y3R1cmUtcGFnZSAgZGl2LnZpZXctbGluay1pbmZvLW92ZXJsYXktZGl2IHtcblxuXHRvcGFjaXR5OiAxO1xuXHRmaWx0ZXI6IEFscGhhKE9wYWNpdHk9MTAwKTtcblxuXHRiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO1xuXHRvdXRsaW5lOiAwcHg7XG5cblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDUwcHg7XG5cdGxlZnQ6IDUwcHg7XG5cblx0Lypcblx0aGVpZ2h0OiA0MDBweDtcblx0Ki9cblx0Ym9yZGVyOiAxcHg7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGJvcmRlci1jb2xvcjogI0QzRDNEMyA7XG5cblx0ZGlzcGxheTogYmxvY2s7XG5cdHotaW5kZXg6IDIwO1xuXG5cdHdpZHRoOiAxMDAwcHg7XG5cblxufVxuXG4ubGluay1pbmZvLXRhYmxlIHRoZWFkIHRoLCAubGluay1pbmZvLXRhYmxlIHRib2R5IHRkIHsgcGFkZGluZzogNHB4OyB9XG5cblxuXG4vKlxuLnZpZXctbGluay1pbmZvLW92ZXJsYXktaGVhZGVyIHsgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IHBhZGRpbmctYm90dG9tOiA1cHg7IH1cbiovXG4udmlldy1saW5rLWluZm8tb3ZlcmxheS1oZWFkZXIgIHsgXG5cdFxuXHRoZWlnaHQ6IDM1cHg7XG5cdGJhY2tncm91bmQtY29sb3I6ICNGRkYwRjA7IHBhZGRpbmctYm90dG9tOiA1cHg7XG5cblx0Ym9yZGVyLXdpZHRoOiAwcHg7XG5cdGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcblx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0Ym9yZGVyLWNvbG9yOiAjRDNEM0QzIDtcbiB9XG5cbi52aWV3LWxpbmstaW5mby1vdmVybGF5LVgtZm9yLWV4aXQtb3ZlcmxheSB7IGZsb2F0OiByaWdodDsgYm9yZGVyLWNvbG9yOiAjMDAwMDAwOyBoZWlnaHQ6MzNweDsgYmFja2dyb3VuZC1jb2xvcjogI0E1NTM1MzsgY29sb3I6IHdoaXRlOyAgcGFkZGluZzogM3B4OyBtYXJnaW46IDBweDsgIGN1cnNvcjogcG9pbnRlcjsgIH1cblxuLnZpZXctbGluay1pbmZvLW92ZXJsYXktaGVhZGVyLXRleHQgeyBjb2xvcjogYmxhY2s7IHBhZGRpbmc6IDNweDsgbWFyZ2luOiAwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsgIH1cblxuLnZpZXctbGluay1pbmZvLW92ZXJsYXktYm9keSB7ICBwYWRkaW5nOiAyMHB4OyB9XG5cbi52aWV3LWxpbmstaW5mby1vdmVybGF5LWxpbmsgeyBtYXJnaW4tcmlnaHQ6IDIwcHg7ICB9XG5cblxuLnZpZXctbGluay1pbmZvLW92ZXJsYXktYm9keSB0YWJsZS5saW5rLWluZm8tdGFibGUsXG4udmlldy1saW5rLWluZm8tb3ZlcmxheS1ib2R5IHRhYmxlLmxpbmstaW5mby10YWJsZSB0YWJsZSB7IGJhY2tncm91bmQtY29sb3I6ICNDRENEQ0Q7IH1cblxuLnZpZXctbGluay1pbmZvLW92ZXJsYXktYm9keSB0YWJsZS5saW5rLWluZm8tdGFibGUgdGJvZHkgdGQsXG4udmlldy1saW5rLWluZm8tb3ZlcmxheS1ib2R5IHRhYmxlLmxpbmstaW5mby10YWJsZSB0YWJsZSB0Ym9keSB0ZCB7IGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7IH1cblxuXG5cblxuLyogLS0tLS0gICBWaWV3IFByb3RlaW4gQmFyIEhpZ2hsaWdodGluZyBvbiBWaWV3IEltYWdlIFBhZ2UgIG1vZGFsIGRpYWxvZyBiYWNrZ3JvdW5kIC0tLS0tICovXG5cbi52aWV3LXByb3RlaW4tYmFyLWhpZ2hsaWdodGluZy1tb2RhbC1kaWFsb2ctb3ZlcmxheS1iYWNrZ3JvdW5kIHtcblx0XG5cblx0LyogY3Vyc29yOiBwb2ludGVyOyovIC8qIHNldCBtb3VzZSB0byBwb2ludGVyICovXG5cblx0ICB6LWluZGV4OiAxODtcblx0ICBcblx0ICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcblx0b3BhY2l0eTogLjgwO1xuXHRmaWx0ZXI6IEFscGhhKE9wYWNpdHk9ODApO1xuXG5cdCAgLyogIE1vdmVkIHRvIGlubGluZSBzdHlsZSBpbiBoZWFkZXIgc28gY29udGV4dCBpcyBub3QgaGFyZCBjb2RlZFxuXHRiYWNrZ3JvdW5kOiAjNjY2IHVybCgvPz8/Y29udGV4dD8/Py9jc3MvanF1ZXJ5LXVpLTEuMTAuMi1UaGVtZXMvdWktbGlnaHRuZXNzL2ltYWdlcy91aS1iZ19kaWFnb25hbHMtdGhpY2tfMjBfNjY2NjY2XzQweDQwLnBuZykgNTAlIDUwJSByZXBlYXQ7XG5cdCovXG5cdC8qICBcblx0b3BhY2l0eTogLjUwO1xuXHRmaWx0ZXI6IEFscGhhKE9wYWNpdHk9NTApO1xuXHQqL1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuXG4vKiAgVmlldyBQcm90ZWluIEJhciBIaWdobGlnaHRpbmcgT3ZlcmxheSAgICAqL1xuXG5cbi52aWV3LW1lcmdlZC1pbWFnZS1wYWdlICBkaXYudmlldy1wcm90ZWluLWJhci1oaWdobGlnaHRpbmctb3ZlcmxheS1kaXYsIC52aWV3LW1lcmdlZC1zdHJ1Y3R1cmUtcGFnZSAgZGl2LnZpZXctcHJvdGVpbi1iYXItaGlnaGxpZ2h0aW5nLW92ZXJsYXktZGl2IHtcblxuXHRvcGFjaXR5OiAxO1xuXHRmaWx0ZXI6IEFscGhhKE9wYWNpdHk9MTAwKTtcblxuXHRiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO1xuXHRvdXRsaW5lOiAwcHg7XG5cblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDUwcHg7XG5cdGxlZnQ6IDUwcHg7XG5cblx0Lypcblx0aGVpZ2h0OiA0MDBweDtcblx0Ki9cblx0Ym9yZGVyOiAxcHg7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGJvcmRlci1jb2xvcjogI0QzRDNEMyA7XG5cblx0ZGlzcGxheTogYmxvY2s7XG5cdHotaW5kZXg6IDIwO1xuXG5cdHdpZHRoOiA2MDBweDtcblxufVxuXG4ucHJvdGVpbi1iYXItaGlnaGxpZ2h0aW5nLXRhYmxlIHRoZWFkIHRoLCAucHJvdGVpbi1iYXItaGlnaGxpZ2h0aW5nLXRhYmxlIHRib2R5IHRkIHsgcGFkZGluZzogNHB4OyB9XG5cblxuXG4vKlxuLnZpZXctcHJvdGVpbi1iYXItaGlnaGxpZ2h0aW5nLW92ZXJsYXktaGVhZGVyIHsgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IHBhZGRpbmctYm90dG9tOiA1cHg7IH1cbiovXG4udmlldy1wcm90ZWluLWJhci1oaWdobGlnaHRpbmctb3ZlcmxheS1oZWFkZXIgIHsgXG5cdFxuXHRoZWlnaHQ6IDM1cHg7XG5cdGJhY2tncm91bmQtY29sb3I6ICNGRkYwRjA7IHBhZGRpbmctYm90dG9tOiA1cHg7XG5cblx0Ym9yZGVyLXdpZHRoOiAwcHg7XG5cdGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcblx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0Ym9yZGVyLWNvbG9yOiAjRDNEM0QzIDtcbiB9XG5cbi52aWV3LXByb3RlaW4tYmFyLWhpZ2hsaWdodGluZy1vdmVybGF5LVgtZm9yLWV4aXQtb3ZlcmxheSB7IGZsb2F0OiByaWdodDsgYm9yZGVyLWNvbG9yOiAjMDAwMDAwOyBoZWlnaHQ6MzNweDsgYmFja2dyb3VuZC1jb2xvcjogI0E1NTM1MzsgY29sb3I6IHdoaXRlOyAgcGFkZGluZzogM3B4OyBtYXJnaW46IDBweDsgIGN1cnNvcjogcG9pbnRlcjsgIH1cblxuLnZpZXctcHJvdGVpbi1iYXItaGlnaGxpZ2h0aW5nLW92ZXJsYXktaGVhZGVyLXRleHQgeyBjb2xvcjogYmxhY2s7IHBhZGRpbmc6IDNweDsgbWFyZ2luOiAwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsgIH1cblxuLnZpZXctcHJvdGVpbi1iYXItaGlnaGxpZ2h0aW5nLW92ZXJsYXktYm9keSB7ICBwYWRkaW5nOiAyMHB4OyB9XG5cbi52aWV3LXByb3RlaW4tYmFyLWhpZ2hsaWdodGluZy1vdmVybGF5LWxpbmsgeyBtYXJnaW4tcmlnaHQ6IDIwcHg7ICB9XG5cblxuLnZpZXctcHJvdGVpbi1iYXItaGlnaGxpZ2h0aW5nLW92ZXJsYXktYm9keSB0YWJsZS5wcm90ZWluLWJhci1oaWdobGlnaHRpbmctdGFibGUsXG4udmlldy1wcm90ZWluLWJhci1oaWdobGlnaHRpbmctb3ZlcmxheS1ib2R5IHRhYmxlLnByb3RlaW4tYmFyLWhpZ2hsaWdodGluZy10YWJsZSB0YWJsZSB7IGJhY2tncm91bmQtY29sb3I6ICNDRENEQ0Q7IH1cblxuLnZpZXctcHJvdGVpbi1iYXItaGlnaGxpZ2h0aW5nLW92ZXJsYXktYm9keSB0YWJsZS5wcm90ZWluLWJhci1oaWdobGlnaHRpbmctdGFibGUgdGJvZHkgdGQsXG4udmlldy1wcm90ZWluLWJhci1oaWdobGlnaHRpbmctb3ZlcmxheS1ib2R5IHRhYmxlLnByb3RlaW4tYmFyLWhpZ2hsaWdodGluZy10YWJsZSB0YWJsZSB0Ym9keSB0ZCB7IGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7IH1cblxuXG4vKiAtLS0tLSAgIFZpZXcgUHJvdGVpbiBCYXIgSGlnaGxpZ2h0aW5nIG9uIFZpZXcgSW1hZ2UgUGFnZSAgbW9kYWwgZGlhbG9nIGJhY2tncm91bmQgLS0tLS0gKi9cblxuLnZpZXctbGluay1leGNsdXNpb25zLW1vZGFsLWRpYWxvZy1vdmVybGF5LWJhY2tncm91bmQge1xuXHRcblxuXHQvKiBjdXJzb3I6IHBvaW50ZXI7Ki8gLyogc2V0IG1vdXNlIHRvIHBvaW50ZXIgKi9cblxuXHQgIHotaW5kZXg6IDE4O1xuXHQgIFxuXHQgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuXHRvcGFjaXR5OiAuODA7XG5cdGZpbHRlcjogQWxwaGEoT3BhY2l0eT04MCk7XG5cblx0ICAvKiAgTW92ZWQgdG8gaW5saW5lIHN0eWxlIGluIGhlYWRlciBzbyBjb250ZXh0IGlzIG5vdCBoYXJkIGNvZGVkXG5cdGJhY2tncm91bmQ6ICM2NjYgdXJsKC8/Pz9jb250ZXh0Pz8/L2Nzcy9qcXVlcnktdWktMS4xMC4yLVRoZW1lcy91aS1saWdodG5lc3MvaW1hZ2VzL3VpLWJnX2RpYWdvbmFscy10aGlja18yMF82NjY2NjZfNDB4NDAucG5nKSA1MCUgNTAlIHJlcGVhdDtcblx0Ki9cblx0LyogIFxuXHRvcGFjaXR5OiAuNTA7XG5cdGZpbHRlcjogQWxwaGEoT3BhY2l0eT01MCk7XG5cdCovXG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG5cbi8qICBWaWV3IFByb3RlaW4gQmFyIEhpZ2hsaWdodGluZyBPdmVybGF5ICAgICovXG5cblxuLnZpZXctbWVyZ2VkLWltYWdlLXBhZ2UgIGRpdi52aWV3LWxpbmstZXhjbHVzaW9ucy1vdmVybGF5LWRpdiwgLnZpZXctbWVyZ2VkLXN0cnVjdHVyZS1wYWdlICBkaXYudmlldy1saW5rLWV4Y2x1c2lvbnMtb3ZlcmxheS1kaXYge1xuXG5cdG9wYWNpdHk6IDE7XG5cdGZpbHRlcjogQWxwaGEoT3BhY2l0eT0xMDApO1xuXG5cdGJhY2tncm91bmQtY29sb3I6d2hpdGU7XG5cdG91dGxpbmU6IDBweDtcblxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogNTBweDtcblx0bGVmdDogNTBweDtcblxuXHQvKlxuXHRoZWlnaHQ6IDQwMHB4O1xuXHQqL1xuXHRib3JkZXI6IDFweDtcblx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0Ym9yZGVyLWNvbG9yOiAjRDNEM0QzIDtcblxuXHRkaXNwbGF5OiBibG9jaztcblx0ei1pbmRleDogMjA7XG5cblx0d2lkdGg6IDYwMHB4O1xuXG59XG5cbi5saW5rLWV4Y2x1c2lvbnMtdGFibGUgdGhlYWQgdGgsIC5saW5rLWV4Y2x1c2lvbnMtdGFibGUgdGJvZHkgdGQgeyBwYWRkaW5nOiA0cHg7IH1cblxuXG5cbi8qXG4udmlldy1saW5rLWV4Y2x1c2lvbnMtb3ZlcmxheS1oZWFkZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjazsgcGFkZGluZy1ib3R0b206IDVweDsgfVxuKi9cbi52aWV3LWxpbmstZXhjbHVzaW9ucy1vdmVybGF5LWhlYWRlciAgeyBcblx0XG5cdGhlaWdodDogMzVweDtcblx0YmFja2dyb3VuZC1jb2xvcjogI0ZGRjBGMDsgcGFkZGluZy1ib3R0b206IDVweDtcblxuXHRib3JkZXItd2lkdGg6IDBweDtcblx0Ym9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRib3JkZXItY29sb3I6ICNEM0QzRDMgO1xuIH1cblxuLnZpZXctbGluay1leGNsdXNpb25zLW92ZXJsYXktWC1mb3ItZXhpdC1vdmVybGF5IHsgZmxvYXQ6IHJpZ2h0OyBib3JkZXItY29sb3I6ICMwMDAwMDA7IGhlaWdodDozM3B4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjQTU1MzUzOyBjb2xvcjogd2hpdGU7ICBwYWRkaW5nOiAzcHg7IG1hcmdpbjogMHB4OyAgY3Vyc29yOiBwb2ludGVyOyAgfVxuXG4udmlldy1saW5rLWV4Y2x1c2lvbnMtb3ZlcmxheS1oZWFkZXItdGV4dCB7IGNvbG9yOiBibGFjazsgcGFkZGluZzogM3B4OyBtYXJnaW46IDBweDsgdGV4dC1hbGlnbjogY2VudGVyOyAgfVxuXG4udmlldy1saW5rLWV4Y2x1c2lvbnMtb3ZlcmxheS1ib2R5IHsgIHBhZGRpbmc6IDIwcHg7IH1cblxuLnZpZXctbGluay1leGNsdXNpb25zLW92ZXJsYXktZGl2IC5leGNsdWRlZC1saXN0LW91dGVyLWJsb2NrIHsgbWF4LWhlaWdodDogMjAwcHg7IHBhZGRpbmctbGVmdDogMTBweDsgcGFkZGluZy1yaWdodDogMTBweDsgcGFkZGluZy10b3A6IDVweDsgcGFkZGluZy1ib3R0b206IDVweDsgYm9yZGVyLWNvbG9yOiAjQTU1MzUzOyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItd2lkdGg6IDFweDsgb3ZlcmZsb3cteTogYXV0bzsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4udmlldy1saW5rLWV4Y2x1c2lvbnMtb3ZlcmxheS1kaXYgLmV4Y2x1ZGVkLWxpc3QtYmxvY2sgeyB9XG5cbi52aWV3LWxpbmstZXhjbHVzaW9ucy1vdmVybGF5LWRpdiAuZXhjbHVkZS1jaG9pY2VzLW91dGVyLWJsb2NrIHsgd2lkdGg6IDI1MHB4OyBtYXgtaGVpZ2h0OiAyMDBweDsgcGFkZGluZy1sZWZ0OiAxMHB4OyBwYWRkaW5nLXJpZ2h0OiAxMHB4OyBwYWRkaW5nLXRvcDogNXB4OyBwYWRkaW5nLWJvdHRvbTogNXB4OyBib3JkZXItY29sb3I6ICNBNTUzNTM7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci13aWR0aDogMXB4OyBvdmVyZmxvdy15OiBhdXRvOyBwb3NpdGlvbjogcmVsYXRpdmU7ICAgfVxuLnZpZXctbGluay1leGNsdXNpb25zLW92ZXJsYXktZGl2IC5leGNsdWRlLWNob2ljZXMtb3V0ZXItYmxvY2stMSB7IG1hcmdpbi1yaWdodDogNXB4OyB9XG4udmlldy1saW5rLWV4Y2x1c2lvbnMtb3ZlcmxheS1kaXYgLmV4Y2x1ZGUtY2hvaWNlcy1vdXRlci1ibG9jay0yIHsgbWFyZ2luLWxlZnQ6IDVweDsgZmxvYXQ6IHJpZ2h0OyB9XG5cbi52aWV3LWxpbmstZXhjbHVzaW9ucy1vdmVybGF5LWRpdiAuZXhjbHVkZS1jaG9pY2VzLWJsb2NrIHsgfVxuXG4udmlldy1saW5rLWV4Y2x1c2lvbnMtb3ZlcmxheS1kaXYgLmV4Y2x1ZGUtY2hvaWNlcy1ibG9jayAuZXhjbHVzaW9uLWNob2ljZS1vcHRpb24geyAgfVxuLnZpZXctbGluay1leGNsdXNpb25zLW92ZXJsYXktZGl2IC5leGNsdWRlLWNob2ljZXMtYmxvY2sgLmV4Y2x1c2lvbi1jaG9pY2Utb3B0aW9uOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjBGMDsgfVxuLnZpZXctbGluay1leGNsdXNpb25zLW92ZXJsYXktZGl2IC5leGNsdWRlLWNob2ljZXMtYmxvY2sgLnNlbGVjdGVkLWNob2ljZSAgeyBjb2xvcjogI0ZGRkZGRjsgYmFja2dyb3VuZC1jb2xvcjogI0E1NTM1MzsgcGFkZGluZzogNHB4OyB9XG4udmlldy1saW5rLWV4Y2x1c2lvbnMtb3ZlcmxheS1kaXYgLmV4Y2x1ZGUtY2hvaWNlcy1ibG9jayAuc2VsZWN0ZWQtY2hvaWNlOmhvdmVyIHsgY29sb3I6ICM1NDU0NTQ7IGJhY2tncm91bmQtY29sb3I6ICNGRkYwRjA7ICB9XG5cblxuXG4vKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICovXG5cbi8qICAtLS0tLS0gICAgT3ZlcmxheXMgb24gdmFyaW91cyBwYWdlcyAqL1xuXG4vKiAtLS0tLSAgIFZpZXcgRGF0YSBSZWxhdGVkIHRvIFBTTSBEYXRhIGFzIE92ZXJsYXkgb3ZlciBQU00gZGF0YSAgbW9kYWwgZGlhbG9nIGJhY2tncm91bmQgLS0tLS0gKi9cblxuLnZpZXctZGF0YS1yZWxhdGVkLXRvLXBzbS1kYXRhLW1vZGFsLWRpYWxvZy1vdmVybGF5LWJhY2tncm91bmQge1xuXHRcblxuXHRjdXJzb3I6IHBvaW50ZXI7IC8qIHNldCBtb3VzZSB0byBwb2ludGVyICovXG5cblx0ICB6LWluZGV4OiAzODtcblx0ICBcblx0ICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcblx0b3BhY2l0eTogLjgwO1xuXHRmaWx0ZXI6IEFscGhhKE9wYWNpdHk9ODApO1xuXG5cdCAgLyogIE1vdmVkIHRvIGlubGluZSBzdHlsZSBpbiBoZWFkZXIgc28gY29udGV4dCBpcyBub3QgaGFyZCBjb2RlZFxuXHRiYWNrZ3JvdW5kOiAjNjY2IHVybCgvPz8/Y29udGV4dD8/Py9jc3MvanF1ZXJ5LXVpLTEuMTAuMi1UaGVtZXMvdWktbGlnaHRuZXNzL2ltYWdlcy91aS1iZ19kaWFnb25hbHMtdGhpY2tfMjBfNjY2NjY2XzQweDQwLnBuZykgNTAlIDUwJSByZXBlYXQ7XG5cdCovXG5cdC8qICBcblx0b3BhY2l0eTogLjUwO1xuXHRmaWx0ZXI6IEFscGhhKE9wYWNpdHk9NTApO1xuXHQqL1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuXG4vKiAgVmlldyBEYXRhIFJlbGF0ZWQgdG8gUFNNIERhdGEgYXMgT3ZlcmxheSBvdmVyIFBTTSBkYXRhIE92ZXJsYXkgICAgKi9cblxuXG5kaXYudmlldy1kYXRhLXJlbGF0ZWQtdG8tcHNtLWRhdGEtb3ZlcmxheS1kaXYge1xuXG5cdG9wYWNpdHk6IDE7XG5cdGZpbHRlcjogQWxwaGEoT3BhY2l0eT0xMDApO1xuXG5cdGJhY2tncm91bmQtY29sb3I6d2hpdGU7XG5cdG91dGxpbmU6IDBweDtcblxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogNTBweDtcblx0bGVmdDogMTBweDtcblxuXHQvKlxuXHRoZWlnaHQ6IDQwMHB4O1xuXHQqL1xuXHRib3JkZXI6IDFweDtcblx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0Ym9yZGVyLWNvbG9yOiAjRDNEM0QzIDtcblxuXHRkaXNwbGF5OiBibG9jaztcblx0ei1pbmRleDogNDA7XG5cblx0d2lkdGg6IDEwMDBweDtcblxuXG59XG5cbi52aWV3LWRhdGEtcmVsYXRlZC10by1wc20tZGF0YS10YWJsZSB0aGVhZCB0aCwgLnZpZXctZGF0YS1yZWxhdGVkLXRvLXBzbS1kYXRhLXRhYmxlIHRib2R5IHRkIHsgcGFkZGluZzogNHB4OyB9XG5cblxuXG4vKlxuLnZpZXctZGF0YS1yZWxhdGVkLXRvLXBzbS1kYXRhLW92ZXJsYXktaGVhZGVyIHsgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IHBhZGRpbmctYm90dG9tOiA1cHg7IH1cbiovXG4udmlldy1kYXRhLXJlbGF0ZWQtdG8tcHNtLWRhdGEtb3ZlcmxheS1oZWFkZXIgIHsgXG5cdFxuXHRoZWlnaHQ6IDM1cHg7XG5cdGJhY2tncm91bmQtY29sb3I6ICNGRkYwRjA7IHBhZGRpbmctYm90dG9tOiA1cHg7XG5cblx0Ym9yZGVyLXdpZHRoOiAwcHg7XG5cdGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcblx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0Ym9yZGVyLWNvbG9yOiAjRDNEM0QzIDtcbiB9XG5cbi52aWV3LWRhdGEtcmVsYXRlZC10by1wc20tZGF0YS1vdmVybGF5LVgtZm9yLWV4aXQtb3ZlcmxheSB7IGZsb2F0OiByaWdodDsgYm9yZGVyLWNvbG9yOiAjMDAwMDAwOyBoZWlnaHQ6MzNweDsgYmFja2dyb3VuZC1jb2xvcjogI0E1NTM1MzsgY29sb3I6IHdoaXRlOyAgcGFkZGluZzogM3B4OyBtYXJnaW46IDBweDsgIGN1cnNvcjogcG9pbnRlcjsgIH1cblxuLnZpZXctZGF0YS1yZWxhdGVkLXRvLXBzbS1kYXRhLW92ZXJsYXktaGVhZGVyLXRleHQgeyBjb2xvcjogYmxhY2s7IHBhZGRpbmc6IDNweDsgbWFyZ2luOiAwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsgIH1cblxuLnZpZXctZGF0YS1yZWxhdGVkLXRvLXBzbS1kYXRhLW92ZXJsYXktYm9keSB7ICBwYWRkaW5nOiAyMHB4OyB9XG5cbi52aWV3LWRhdGEtcmVsYXRlZC10by1wc20tZGF0YS1vdmVybGF5LWxpbmsgeyBtYXJnaW4tcmlnaHQ6IDIwcHg7ICB9XG5cblxuLnZpZXctZGF0YS1yZWxhdGVkLXRvLXBzbS1kYXRhLW92ZXJsYXktYm9keSB0YWJsZS5saW5rLWluZm8tdGFibGUsXG4udmlldy1kYXRhLXJlbGF0ZWQtdG8tcHNtLWRhdGEtb3ZlcmxheS1ib2R5IHRhYmxlLmxpbmstaW5mby10YWJsZSB0YWJsZSB7IGJhY2tncm91bmQtY29sb3I6ICNDRENEQ0Q7IH1cblxuLnZpZXctZGF0YS1yZWxhdGVkLXRvLXBzbS1kYXRhLW92ZXJsYXktYm9keSB0YWJsZS5saW5rLWluZm8tdGFibGUgdGJvZHkgdGQsXG4udmlldy1kYXRhLXJlbGF0ZWQtdG8tcHNtLWRhdGEtb3ZlcmxheS1ib2R5IHRhYmxlLmxpbmstaW5mby10YWJsZSB0YWJsZSB0Ym9keSB0ZCB7IGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7IH1cblxuXG4vKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICovXG5cblxuXG5cblxuXG4vKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gICovXG5cblxuLyogLS0tLS0gICBMb3Jpa2VldCAgbW9kYWwgZGlhbG9nIGJhY2tncm91bmQgLS0tLS0gKi9cblxuXG5cdC8qIExvcmlrZWV0IG1vZGFsIGRpYWxvZyBiYWNrZ3JvdW5kICovXG4ubG9yaWtlZXQtbW9kYWwtZGlhbG9nLW92ZXJsYXktYmFja2dyb3VuZCB7XG5cdFxuXG5cdGN1cnNvcjogcG9pbnRlcjsgLyogc2V0IG1vdXNlIHRvIHBvaW50ZXIgKi9cblxuXHQgIHotaW5kZXg6IDEwMDE7XG5cdCAgXG5cdCAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG5cdG9wYWNpdHk6IC44MDtcblx0ZmlsdGVyOiBBbHBoYShPcGFjaXR5PTgwKTtcblxuXHQgIC8qICBNb3ZlZCB0byBpbmxpbmUgc3R5bGUgaW4gaGVhZGVyIHNvIGNvbnRleHQgaXMgbm90IGhhcmQgY29kZWRcblx0YmFja2dyb3VuZDogIzY2NiB1cmwoLz8/P2NvbnRleHQ/Pz8vY3NzL2pxdWVyeS11aS0xLjEwLjItVGhlbWVzL3VpLWxpZ2h0bmVzcy9pbWFnZXMvdWktYmdfZGlhZ29uYWxzLXRoaWNrXzIwXzY2NjY2Nl80MHg0MC5wbmcpIDUwJSA1MCUgcmVwZWF0O1xuXHQqL1xuXHQvKiAgXG5cdG9wYWNpdHk6IC41MDtcblx0ZmlsdGVyOiBBbHBoYShPcGFjaXR5PTUwKTtcblx0Ki9cblx0cG9zaXRpb246IGZpeGVkO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cblxuLyogIFZpZXcgU3BlY3RyYSBPdmVybGF5IGZvciBWaWV3IFNwZWN0cmEgRGl2ICAgKi9cblxuXG5kaXYudmlldy1zcGVjdHJhLW92ZXJsYXktZGl2IHtcblxuXHRvcGFjaXR5OiAxO1xuXHRmaWx0ZXI6IEFscGhhKE9wYWNpdHk9MTAwKTtcblxuXHRiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO1xuXHRvdXRsaW5lOiAwcHg7XG5cblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDUwcHg7XG5cdGxlZnQ6IDUwcHg7XG5cblx0Lypcblx0aGVpZ2h0OiA0MDBweDtcblx0Ki9cblxuXHRib3JkZXI6IDFweDtcblx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0Ym9yZGVyLWNvbG9yOiAjRDNEM0QzIDtcblxuXG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR6LWluZGV4OiAxMDAyO1xuXG5cdHdpZHRoOiAxMDAwcHg7XG5cblxufVxuXG4udmlldy1zcGVjdHJhLW92ZXJsYXktaGVhZGVyIHsgXG5cdFxuXHRoZWlnaHQ6IDM1cHg7XG5cdGJhY2tncm91bmQtY29sb3I6ICNGRkYwRjA7IHBhZGRpbmctYm90dG9tOiA1cHg7XG5cblx0Ym9yZGVyLXdpZHRoOiAwcHg7XG5cdGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcblx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0Ym9yZGVyLWNvbG9yOiAjRDNEM0QzIDtcbiB9XG5cbi52aWV3LXNwZWN0cmEtb3ZlcmxheS1YLWZvci1leGl0LW92ZXJsYXkgeyBmbG9hdDogcmlnaHQ7IGJvcmRlci1jb2xvcjogIzAwMDAwMDsgaGVpZ2h0OjMzcHg7IGJhY2tncm91bmQtY29sb3I6ICNBNTUzNTM7IGNvbG9yOiB3aGl0ZTsgcGFkZGluZzogM3B4OyBtYXJnaW46IDBweDsgIGN1cnNvcjogcG9pbnRlcjsgIH1cblxuLnZpZXctc3BlY3RyYS1vdmVybGF5LWhlYWRlci10ZXh0IHsgY29sb3I6IGJsYWNrOyBwYWRkaW5nOiAzcHg7IG1hcmdpbjogMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7ICB9XG5cbi52aWV3LXNwZWN0cmEtb3ZlcmxheS1ib2R5IHsgIHBhZGRpbmc6IDIwcHg7IH1cblxuLnZpZXctc3BlY3RyYS1vdmVybGF5LWxpbmsgeyBtYXJnaW4tcmlnaHQ6IDIwcHg7ICB9XG5cblxuXG5cblxuLyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAqL1xuXG5cbi8qIC0tLS0tICAgRmlsdGVyIEN1dG9mZnMgIG1vZGFsIGRpYWxvZyBiYWNrZ3JvdW5kIC0tLS0tICovXG5cblxuXHQvKiBGaWx0ZXIgQ3V0b2ZmcyBtb2RhbCBkaWFsb2cgYmFja2dyb3VuZCAqL1xuLmZpbHRlci1jdXRvZmZzLW1vZGFsLWRpYWxvZy1vdmVybGF5LWJhY2tncm91bmQge1xuXHRcblxuXHRjdXJzb3I6IHBvaW50ZXI7IC8qIHNldCBtb3VzZSB0byBwb2ludGVyICovXG5cblx0ICB6LWluZGV4OiAxMDAxO1xuXHQgIFxuXHQgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuXHRvcGFjaXR5OiAuODA7XG5cdGZpbHRlcjogQWxwaGEoT3BhY2l0eT04MCk7XG5cblx0ICAvKiAgTW92ZWQgdG8gaW5saW5lIHN0eWxlIGluIGhlYWRlciBzbyBjb250ZXh0IGlzIG5vdCBoYXJkIGNvZGVkXG5cdGJhY2tncm91bmQ6ICM2NjYgdXJsKC8/Pz9jb250ZXh0Pz8/L2Nzcy9qcXVlcnktdWktMS4xMC4yLVRoZW1lcy91aS1saWdodG5lc3MvaW1hZ2VzL3VpLWJnX2RpYWdvbmFscy10aGlja18yMF82NjY2NjZfNDB4NDAucG5nKSA1MCUgNTAlIHJlcGVhdDtcblx0Ki9cblx0LyogIFxuXHRvcGFjaXR5OiAuNTA7XG5cdGZpbHRlcjogQWxwaGEoT3BhY2l0eT01MCk7XG5cdCovXG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG5cbi8qICBDdXRvZmYgT3ZlcmxheSBmb3IgRmlsdGVyIEN1dG9mZiBEaXYgICAqL1xuXG5cbmRpdi5maWx0ZXItY3V0b2Zmcy1tb2RhbC1kaWFsb2ctb3ZlcmxheS1kaXYge1xuXG5cdG9wYWNpdHk6IDE7XG5cdGZpbHRlcjogQWxwaGEoT3BhY2l0eT0xMDApO1xuXG5cdGJhY2tncm91bmQtY29sb3I6d2hpdGU7XG5cdG91dGxpbmU6IDBweDtcblxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cblx0XG5cdC8qXG5cdHRvcDogNTBweDtcblx0bGVmdDogNTBweDtcblx0Ki9cblxuXHQvKlxuXHRoZWlnaHQ6IDQwMHB4O1xuXHQqL1xuXG5cdGJvcmRlcjogMXB4O1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRib3JkZXItY29sb3I6ICNEM0QzRDMgO1xuXG5cblx0ZGlzcGxheTogYmxvY2s7XG5cdHotaW5kZXg6IDEwMDI7XG5cblx0d2lkdGg6IDY1MHB4O1xuXG5cbn1cblxuLmZpbHRlci1jdXRvZmZzLW1vZGFsLWRpYWxvZy1vdmVybGF5LWhlYWRlciB7IFxuXHRcblx0aGVpZ2h0OiAzNXB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGMEYwOyBwYWRkaW5nLWJvdHRvbTogNXB4O1xuXG5cdGJvcmRlci13aWR0aDogMHB4O1xuXHRib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGJvcmRlci1jb2xvcjogI0QzRDNEMyA7XG4gfVxuXG4uZmlsdGVyLWN1dG9mZnMtbW9kYWwtZGlhbG9nLW92ZXJsYXktWC1mb3ItZXhpdC1vdmVybGF5IHsgZmxvYXQ6IHJpZ2h0OyBib3JkZXItY29sb3I6ICMwMDAwMDA7IGhlaWdodDozM3B4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjQTU1MzUzOyBjb2xvcjogd2hpdGU7IHBhZGRpbmc6IDNweDsgbWFyZ2luOiAwcHg7ICBjdXJzb3I6IHBvaW50ZXI7ICB9XG5cbi5maWx0ZXItY3V0b2Zmcy1tb2RhbC1kaWFsb2ctb3ZlcmxheS1oZWFkZXItdGV4dCB7IGNvbG9yOiBibGFjazsgcGFkZGluZzogM3B4OyBtYXJnaW46IDBweDsgdGV4dC1hbGlnbjogY2VudGVyOyAgfVxuXG4uZmlsdGVyLWN1dG9mZnMtbW9kYWwtZGlhbG9nLW92ZXJsYXktYm9keSB7ICBwYWRkaW5nOiAyMHB4OyB9XG5cbi5maWx0ZXItY3V0b2Zmcy1tb2RhbC1kaWFsb2ctb3ZlcmxheS1saW5rIHsgbWFyZ2luLXJpZ2h0OiAyMHB4OyAgfVxuXG5cblxuXG4uZmlsdGVyLXNpbmdsZS12YWx1ZS1kaXNwbGF5LWJsb2NrIHsgcGFkZGluZy10b3A6IDFweDsgcGFkZGluZy1ib3R0b206IDFweDsgcGFkZGluZy1sZWZ0OiAzcHg7IHBhZGRpbmctcmlnaHQ6IDNweDsgbWFyZ2luLXJpZ2h0OiAzcHg7IHdoaXRlLXNwYWNlOm5vd3JhcDsgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjBGMDsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWNvbG9yOiAgI0QzRDNEMzsgYm9yZGVyLXdpZHRoOiAxcHg7IH1cblxuXG5cblxuLyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAqL1xuXG5cbi8qIC0tLS0tICAgTWluaW11bSBQU00gQ291bnQgIG1vZGFsIGRpYWxvZyBiYWNrZ3JvdW5kIC0tLS0tICovXG5cblxuXHQvKiBNaW5pbXVtIFBTTSBDb3VudCBtb2RhbCBkaWFsb2cgYmFja2dyb3VuZCAqL1xuLm1pbmltdW0tcHNtLWNvdW50LW1vZGFsLWRpYWxvZy1vdmVybGF5LWJhY2tncm91bmQge1xuXHRcblxuXHRjdXJzb3I6IHBvaW50ZXI7IC8qIHNldCBtb3VzZSB0byBwb2ludGVyICovXG5cblx0ICB6LWluZGV4OiAxMDAxO1xuXHQgIFxuXHQgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuXHRvcGFjaXR5OiAuODA7XG5cdGZpbHRlcjogQWxwaGEoT3BhY2l0eT04MCk7XG5cblx0ICAvKiAgTW92ZWQgdG8gaW5saW5lIHN0eWxlIGluIGhlYWRlciBzbyBjb250ZXh0IGlzIG5vdCBoYXJkIGNvZGVkXG5cdGJhY2tncm91bmQ6ICM2NjYgdXJsKC8/Pz9jb250ZXh0Pz8/L2Nzcy9qcXVlcnktdWktMS4xMC4yLVRoZW1lcy91aS1saWdodG5lc3MvaW1hZ2VzL3VpLWJnX2RpYWdvbmFscy10aGlja18yMF82NjY2NjZfNDB4NDAucG5nKSA1MCUgNTAlIHJlcGVhdDtcblx0Ki9cblx0LyogIFxuXHRvcGFjaXR5OiAuNTA7XG5cdGZpbHRlcjogQWxwaGEoT3BhY2l0eT01MCk7XG5cdCovXG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG5cbi8qICBNaW5pbXVtIFBTTXMgT3ZlcmxheSBmb3IgRmlsdGVyIE1pbmltdW0gUFNNcyBEaXYgICAqL1xuXG5cbmRpdi5taW5pbXVtLXBzbS1jb3VudC1tb2RhbC1kaWFsb2ctb3ZlcmxheS1kaXYge1xuXG5cdG9wYWNpdHk6IDE7XG5cdGZpbHRlcjogQWxwaGEoT3BhY2l0eT0xMDApO1xuXG5cdGJhY2tncm91bmQtY29sb3I6d2hpdGU7XG5cdG91dGxpbmU6IDBweDtcblxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cblx0dG9wOiAtNXB4O1xuXHQvKlxuXHR0b3A6IDUwcHg7XG5cdGxlZnQ6IDUwcHg7XG5cdCovXG5cblx0Lypcblx0aGVpZ2h0OiA0MDBweDtcblx0Ki9cblxuXHRib3JkZXI6IDFweDtcblx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0Ym9yZGVyLWNvbG9yOiAjRDNEM0QzIDtcblxuXG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR6LWluZGV4OiAxMDAyO1xuXG5cdHdpZHRoOiAzNTBweDtcblxuXG59XG5cbi5taW5pbXVtLXBzbS1jb3VudC1tb2RhbC1kaWFsb2ctb3ZlcmxheS1oZWFkZXIgeyBcblx0XG5cdGhlaWdodDogMzVweDtcblx0YmFja2dyb3VuZC1jb2xvcjogI0ZGRjBGMDsgcGFkZGluZy1ib3R0b206IDVweDtcblxuXHRib3JkZXItd2lkdGg6IDBweDtcblx0Ym9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRib3JkZXItY29sb3I6ICNEM0QzRDMgO1xuIH1cblxuLm1pbmltdW0tcHNtLWNvdW50LW1vZGFsLWRpYWxvZy1vdmVybGF5LVgtZm9yLWV4aXQtb3ZlcmxheSB7IGZsb2F0OiByaWdodDsgYm9yZGVyLWNvbG9yOiAjMDAwMDAwOyBoZWlnaHQ6MzNweDsgYmFja2dyb3VuZC1jb2xvcjogI0E1NTM1MzsgY29sb3I6IHdoaXRlOyBwYWRkaW5nOiAzcHg7IG1hcmdpbjogMHB4OyAgY3Vyc29yOiBwb2ludGVyOyAgfVxuXG4ubWluaW11bS1wc20tY291bnQtbW9kYWwtZGlhbG9nLW92ZXJsYXktaGVhZGVyLXRleHQgeyBjb2xvcjogYmxhY2s7IHBhZGRpbmc6IDNweDsgbWFyZ2luOiAwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsgIH1cblxuLm1pbmltdW0tcHNtLWNvdW50LW1vZGFsLWRpYWxvZy1vdmVybGF5LWJvZHkgeyAgcGFkZGluZzogMjBweDsgfVxuXG4ubWluaW11bS1wc20tY291bnQtbW9kYWwtZGlhbG9nLW92ZXJsYXktbGluayB7IG1hcmdpbi1yaWdodDogMjBweDsgIH1cblxuXG5cblxuXG5cbi8qIC0tLS0tICAgUHJvdGVpbiBTZWxlY3RvciAgT3ZlcmxheSBEaXYgb24gVmlldyBJbWFnZSBQYWdlICBtb2RhbCBkaWFsb2cgYmFja2dyb3VuZCAtLS0tLSAqL1xuXG4uYW5ub3RhdGlvbi1kYXRhLWRpc3BsYXktbW9kYWwtZGlhbG9nLW92ZXJsYXktYmFja2dyb3VuZCB7XG5cdFxuXG5cdGN1cnNvcjogcG9pbnRlcjsgLyogc2V0IG1vdXNlIHRvIHBvaW50ZXIgKi9cblxuXHQgIHotaW5kZXg6IDE4O1xuXHQgIFxuXHQgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuXHRvcGFjaXR5OiAuODA7XG5cdGZpbHRlcjogQWxwaGEoT3BhY2l0eT04MCk7XG5cblx0ICAvKiAgTW92ZWQgdG8gaW5saW5lIHN0eWxlIGluIGhlYWRlciBzbyBjb250ZXh0IGlzIG5vdCBoYXJkIGNvZGVkXG5cdGJhY2tncm91bmQ6ICM2NjYgdXJsKC8/Pz9jb250ZXh0Pz8/L2Nzcy9qcXVlcnktdWktMS4xMC4yLVRoZW1lcy91aS1saWdodG5lc3MvaW1hZ2VzL3VpLWJnX2RpYWdvbmFscy10aGlja18yMF82NjY2NjZfNDB4NDAucG5nKSA1MCUgNTAlIHJlcGVhdDtcblx0Ki9cblx0LyogIFxuXHRvcGFjaXR5OiAuNTA7XG5cdGZpbHRlcjogQWxwaGEoT3BhY2l0eT01MCk7XG5cdCovXG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG5cbmRpdi5hbm5vdGF0aW9uLWRhdGEtZGlzcGxheS1tb2RhbC1kaWFsb2ctb3ZlcmxheS1kaXYge1xuXG5cdG9wYWNpdHk6IDE7XG5cdGZpbHRlcjogQWxwaGEoT3BhY2l0eT0xMDApO1xuXG5cdGJhY2tncm91bmQtY29sb3I6d2hpdGU7XG5cdG91dGxpbmU6IDBweDtcblxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMjBweDtcblx0bGVmdDogMjBweDtcblxuXHQvKlxuXHRoZWlnaHQ6IDQwMHB4O1xuXHQqL1xuXHRib3JkZXI6IDFweDtcblx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0Ym9yZGVyLWNvbG9yOiAjRDNEM0QzIDtcblxuXHRkaXNwbGF5OiBibG9jaztcblx0ei1pbmRleDogMjA7XG5cblx0d2lkdGg6IDY1MHB4O1xuXG59XG5cblxuXG4uYW5ub3RhdGlvbi1kYXRhLWRpc3BsYXktbW9kYWwtZGlhbG9nLW92ZXJsYXktaGVhZGVyICB7IFxuXHRcblx0aGVpZ2h0OiAzNXB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGMEYwOyBwYWRkaW5nLWJvdHRvbTogNXB4O1xuXG5cdGJvcmRlci13aWR0aDogMHB4O1xuXHRib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGJvcmRlci1jb2xvcjogI0QzRDNEMyA7XG4gfVxuXG4uYW5ub3RhdGlvbi1kYXRhLWRpc3BsYXktbW9kYWwtZGlhbG9nLW92ZXJsYXktWC1mb3ItZXhpdC1vdmVybGF5IHsgZmxvYXQ6IHJpZ2h0OyBib3JkZXItY29sb3I6ICMwMDAwMDA7IGhlaWdodDozM3B4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjQTU1MzUzOyBjb2xvcjogd2hpdGU7ICBwYWRkaW5nOiAzcHg7IG1hcmdpbjogMHB4OyAgY3Vyc29yOiBwb2ludGVyOyAgfVxuXG4uYW5ub3RhdGlvbi1kYXRhLWRpc3BsYXktbW9kYWwtZGlhbG9nLW92ZXJsYXktaGVhZGVyLXRleHQgeyBjb2xvcjogYmxhY2s7IHBhZGRpbmc6IDNweDsgbWFyZ2luOiAwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsgIH1cblxuLmFubm90YXRpb24tZGF0YS1kaXNwbGF5LW1vZGFsLWRpYWxvZy1vdmVybGF5LWJvZHkgeyAgcGFkZGluZzogMjBweDsgfVxuXG5cbi5hbm5vdGF0aW9uLWRhdGEtZGlzcGxheS1tb2RhbC1kaWFsb2ctb3ZlcmxheS1kaXYgLmRhdGEtbGlzdC1jb250YWluZXIge1xuXHRcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nOiA2cHg7XG5cdGJvcmRlci13aWR0aDogMXB4O1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRib3JkZXItY29sb3I6ICNEM0QzRDMgO1xuXG5cdG1pbi1oZWlnaHQ6IDUwcHg7XG4vKlx0XG5cdGhlaWdodDogMzAwcHg7XG4qL1x0XG5cdG92ZXJmbG93LXk6IGF1dG87IFxufVxuXG4uYW5ub3RhdGlvbi1kYXRhLWRpc3BsYXktc2luZ2xlLWRhdGEtc2VsZWN0LWl0ZW0geyBjb2xvcjogYmxhY2s7IHBhZGRpbmc6IDRweDsgIGN1cnNvcjogcG9pbnRlcjsgb3ZlcmZsb3cteDogaGlkZGVuOyB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgfSAvKiBtYXgtd2lkdGg6IDQwMHB4OyAqL1xuXG5kaXYuYW5ub3RhdGlvbi1kYXRhLWRpc3BsYXktc2luZ2xlLWRhdGEtc2VsZWN0LWl0ZW06aG92ZXIgeyBjb2xvcjogYmxhY2s7IGJhY2tncm91bmQtY29sb3I6ICNGRkYwRjA7IHBhZGRpbmc6IDJweDsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWNvbG9yOiAjQTU1MzUzOyBib3JkZXItd2lkdGg6IDJweDsgfVxuXG4vKiBVc2VkIHRvIHNob3cgY3VycmVudGx5IHNlbGVjdGVkIHByb3RlaW4gKi9cbmRpdi5hbm5vdGF0aW9uLWRhdGEtZGlzcGxheS1zaW5nbGUtcHJvdGVpbi1zZWxlY3QtaXRlbS1oaWdobGlnaHQgIHsgY29sb3I6ICNGRkZGRkY7IGJhY2tncm91bmQtY29sb3I6ICNBNTUzNTM7IHBhZGRpbmc6IDRweDsgfVxuXG5cbi8qIFVzZWQgdG8gc2hvdyBjbGlja2VkIG9uLCBzZWxlY3RlZCBkYXRhIGl0ZW0gLSBVc2VkIGluIEpTICovXG4vKlxuZGl2LmFubm90YXRpb24tZGF0YS1kaXNwbGF5LW1vZGFsLWRpYWxvZy1vdmVybGF5LXVzZXItZGF0YS1pdGVtLXNlbGVjdGVkICB7IGNvbG9yOiAjRkZGRkZGOyBiYWNrZ3JvdW5kLWNvbG9yOiAjQTU1MzUzOyBwYWRkaW5nOiA0cHg7IH1cbmRpdi5hbm5vdGF0aW9uLWRhdGEtZGlzcGxheS1tb2RhbC1kaWFsb2ctb3ZlcmxheS11c2VyLWRhdGEtaXRlbS1zZWxlY3RlZDpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6ICNGRkYwRjA7ICB9XG4qL1xuXG5cbi8qIHNlYXJjaERldGFpbHNCbG9jay5qc3AgbWFpbiBub24tb3ZlcmxheSBkaXNwbGF5IG9mIGFubm90YXRpb24gZGF0YSBjaG9pY2VzICovXG4uYW5ub3RhdGlvbi1kYXRhLXNpbmdsZS12YWx1ZS1kaXNwbGF5LWJsb2NrIHsgcGFkZGluZy10b3A6IDFweDsgcGFkZGluZy1ib3R0b206IDFweDsgcGFkZGluZy1sZWZ0OiAzcHg7IHBhZGRpbmctcmlnaHQ6IDNweDsgbWFyZ2luLXJpZ2h0OiAzcHg7IHdoaXRlLXNwYWNlOm5vd3JhcDsgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjBGMDsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWNvbG9yOiAgI0QzRDNEMzsgYm9yZGVyLXdpZHRoOiAxcHg7IH1cblxuLmFubm90YXRpb24tZGF0YS1kaXNwbGF5LW1vZGFsLWRpYWxvZy1vdmVybGF5LWRpdiAuZGF0YS1saXN0LWNvbnRhaW5lciAuc29ydC1oYW5kbGUtYW5kLXRleHQgeyBjdXJzb3I6IG1vdmU7ICB9XG4uYW5ub3RhdGlvbi1kYXRhLWRpc3BsYXktbW9kYWwtZGlhbG9nLW92ZXJsYXktZGl2IC5kYXRhLWxpc3QtY29udGFpbmVyIC5zb3J0LWhhbmRsZS1mbG9hdCB7IGZsb2F0OiBsZWZ0OyBwYWRkaW5nLWxlZnQ6IDJweDsgcGFkZGluZy1yaWdodDogMnB4OyBwYWRkaW5nLXRvcDogMXB4OyB9XG4uYW5ub3RhdGlvbi1kYXRhLWRpc3BsYXktbW9kYWwtZGlhbG9nLW92ZXJsYXktZGl2IC5kYXRhLWxpc3QtY29udGFpbmVyIC5kZWxldGUtaWNvbi1mbG9hdCB7IGZsb2F0OiByaWdodDsgY3Vyc29yOiBwb2ludGVyOyBwYWRkaW5nLXRvcDogMXB4OyBwYWRkaW5nLXJpZ2h0OiAzcHg7IH0gXG4uYW5ub3RhdGlvbi1kYXRhLWRpc3BsYXktbW9kYWwtZGlhbG9nLW92ZXJsYXktZGl2IC5kYXRhLWxpc3QtY29udGFpbmVyIC50ZXh0LXNvcnRhYmxlIHttYXJnaW4tcmlnaHQ6IDNweDsgbWF4LXdpZHRoOiAyMDBweDtvdmVyZmxvdzogaGlkZGVuOyB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgfVxuLypcbi5hbm5vdGF0aW9uLWRhdGEtZGlzcGxheS1tb2RhbC1kaWFsb2ctb3ZlcmxheS1kaXYgLmRhdGEtbGlzdC1jb250YWluZXIgLnRleHQtZmxvYXQge2Zsb2F0OiBsZWZ0OyBtYXJnaW4tcmlnaHQ6IDNweDsgbWF4LXdpZHRoOiAyMDBweDtvdmVyZmxvdzogaGlkZGVuOyB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgfVxuKi9cblxuXG5cblxuLyogLS0tLS0gICB1cGxvYWQgcGRiIG1vZGFsIGRpYWxvZyBiYWNrZ3JvdW5kIC0tLS0tICovXG5cblxuXHQvKiB1cGxvYWQgcGRiIG1vZGFsIGRpYWxvZyBiYWNrZ3JvdW5kICovXG4ucGRiLXVwbG9hZC1tb2RhbC1kaWFsb2ctb3ZlcmxheS1iYWNrZ3JvdW5kIHtcblx0XG5cblx0Y3Vyc29yOiBwb2ludGVyOyAvKiBzZXQgbW91c2UgdG8gcG9pbnRlciAqL1xuXG5cdCAgei1pbmRleDogMTAwMTtcblx0ICBcblx0ICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcblx0b3BhY2l0eTogLjgwO1xuXHRmaWx0ZXI6IEFscGhhKE9wYWNpdHk9ODApO1xuXG5cdCAgLyogIE1vdmVkIHRvIGlubGluZSBzdHlsZSBpbiBoZWFkZXIgc28gY29udGV4dCBpcyBub3QgaGFyZCBjb2RlZFxuXHRiYWNrZ3JvdW5kOiAjNjY2IHVybCgvPz8/Y29udGV4dD8/Py9jc3MvanF1ZXJ5LXVpLTEuMTAuMi1UaGVtZXMvdWktbGlnaHRuZXNzL2ltYWdlcy91aS1iZ19kaWFnb25hbHMtdGhpY2tfMjBfNjY2NjY2XzQweDQwLnBuZykgNTAlIDUwJSByZXBlYXQ7XG5cdCovXG5cdC8qICBcblx0b3BhY2l0eTogLjUwO1xuXHRmaWx0ZXI6IEFscGhhKE9wYWNpdHk9NTApO1xuXHQqL1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuXG4vKiAgcGRiIHVwbG9hZCBPdmVybGF5ICAgICovXG5cblxuZGl2LnBkYi11cGxvYWQtb3ZlcmxheS1kaXYge1xuXG5cdG9wYWNpdHk6IDE7XG5cdGZpbHRlcjogQWxwaGEoT3BhY2l0eT0xMDApO1xuXG5cdGJhY2tncm91bmQtY29sb3I6d2hpdGU7XG5cdG91dGxpbmU6IDBweDtcblxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogNTBweDtcblx0bGVmdDogNTBweDtcblxuXHQvKlxuXHRoZWlnaHQ6IDQwMHB4O1xuXG5cdGJvcmRlcjogM3B4O1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHQqL1xuXG5cblx0ZGlzcGxheTogYmxvY2s7XG5cdHotaW5kZXg6IDEwMDI7XG5cblx0d2lkdGg6IDUwMHB4O1xuXG5cbn1cblxuLnBkYi11cGxvYWQtb3ZlcmxheS1oZWFkZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjQTU1MzUzOyBwYWRkaW5nLWJvdHRvbTogNXB4OyB9XG5cbi5wZGItdXBsb2FkLW92ZXJsYXktWC1mb3ItZXhpdC1vdmVybGF5IHsgZmxvYXQ6IHJpZ2h0OyBib3JkZXItY29sb3I6ICMwMDAwMDA7IGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyBjb2xvcjogI0E1NTM1MzsgcGFkZGluZzogM3B4OyBtYXJnaW46IDBweDsgIGN1cnNvcjogcG9pbnRlcjsgIH1cblxuLnBkYi11cGxvYWQtb3ZlcmxheS1oZWFkZXItdGV4dCB7IGNvbG9yOiB3aGl0ZTsgcGFkZGluZzogM3B4OyBtYXJnaW46IDBweDsgdGV4dC1hbGlnbjogY2VudGVyOyAgfVxuXG4ucGRiLXVwbG9hZC1vdmVybGF5LWJvZHkgeyAgcGFkZGluZzogMjBweDsgfVxuXG4ucGRiLXVwbG9hZC1vdmVybGF5LWxpbmsgeyBtYXJnaW4tcmlnaHQ6IDIwcHg7ICB9XG5cblxuXG5cblxuXG5cbi5wZGItbWFwLXByb3RlaW4tbW9kYWwtZGlhbG9nLW92ZXJsYXktYmFja2dyb3VuZCB7XG5cdFxuXG5cdGN1cnNvcjogcG9pbnRlcjsgLyogc2V0IG1vdXNlIHRvIHBvaW50ZXIgKi9cblxuXHQgIHotaW5kZXg6IDEwMDE7XG5cdCAgXG5cdCAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG5cdG9wYWNpdHk6IC44MDtcblx0ZmlsdGVyOiBBbHBoYShPcGFjaXR5PTgwKTtcblxuXHQgIC8qICBNb3ZlZCB0byBpbmxpbmUgc3R5bGUgaW4gaGVhZGVyIHNvIGNvbnRleHQgaXMgbm90IGhhcmQgY29kZWRcblx0YmFja2dyb3VuZDogIzY2NiB1cmwoLz8/P2NvbnRleHQ/Pz8vY3NzL2pxdWVyeS11aS0xLjEwLjItVGhlbWVzL3VpLWxpZ2h0bmVzcy9pbWFnZXMvdWktYmdfZGlhZ29uYWxzLXRoaWNrXzIwXzY2NjY2Nl80MHg0MC5wbmcpIDUwJSA1MCUgcmVwZWF0O1xuXHQqL1xuXHQvKiAgXG5cdG9wYWNpdHk6IC41MDtcblx0ZmlsdGVyOiBBbHBoYShPcGFjaXR5PTUwKTtcblx0Ki9cblx0cG9zaXRpb246IGZpeGVkO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbmRpdi5wZGItbWFwLXByb3RlaW4tb3ZlcmxheS1kaXYge1xuXG5cdG9wYWNpdHk6IDE7XG5cdGZpbHRlcjogQWxwaGEoT3BhY2l0eT0xMDApO1xuXG5cdGJhY2tncm91bmQtY29sb3I6d2hpdGU7XG5cdG91dGxpbmU6IDBweDtcblxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogNTBweDtcblx0bGVmdDogNTBweDtcblxuXHQvKlxuXHRoZWlnaHQ6IDQwMHB4O1xuXG5cdGJvcmRlcjogM3B4O1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHQqL1xuXG5cblx0ZGlzcGxheTogYmxvY2s7XG5cdHotaW5kZXg6IDEwMDI7XG5cblx0d2lkdGg6IDEwMDBweDtcblxuXG59XG5cbi5wZGItbWFwLXByb3RlaW4tb3ZlcmxheS1oZWFkZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjQTU1MzUzOyBwYWRkaW5nLWJvdHRvbTogNXB4OyB9XG5cbi5wZGItbWFwLXByb3RlaW4tb3ZlcmxheS1YLWZvci1leGl0LW92ZXJsYXkgeyBmbG9hdDogcmlnaHQ7IGJvcmRlci1jb2xvcjogIzAwMDAwMDsgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IGNvbG9yOiAjQTU1MzUzOyBwYWRkaW5nOiAzcHg7IG1hcmdpbjogMHB4OyAgY3Vyc29yOiBwb2ludGVyOyAgfVxuXG4ucGRiLW1hcC1wcm90ZWluLW92ZXJsYXktaGVhZGVyLXRleHQgeyBjb2xvcjogd2hpdGU7IHBhZGRpbmc6IDNweDsgbWFyZ2luOiAwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsgIH1cblxuLnBkYi1tYXAtcHJvdGVpbi1vdmVybGF5LWJvZHkgeyAgcGFkZGluZzogMjBweDsgfVxuXG4ucGRiLW1hcC1wcm90ZWluLW92ZXJsYXktbGluayB7IG1hcmdpbi1yaWdodDogMjBweDsgIH1cblxuXG5cblxuXG5cbi5wZGItc2hvdy1hbGlnbm1lbnQtbW9kYWwtZGlhbG9nLW92ZXJsYXktYmFja2dyb3VuZCB7XG5cdFxuXG5cdGN1cnNvcjogcG9pbnRlcjsgLyogc2V0IG1vdXNlIHRvIHBvaW50ZXIgKi9cblxuXHQgIHotaW5kZXg6IDEwMDE7XG5cdCAgXG5cdCAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG5cdG9wYWNpdHk6IC44MDtcblx0ZmlsdGVyOiBBbHBoYShPcGFjaXR5PTgwKTtcblxuXHQgIC8qICBNb3ZlZCB0byBpbmxpbmUgc3R5bGUgaW4gaGVhZGVyIHNvIGNvbnRleHQgaXMgbm90IGhhcmQgY29kZWRcblx0YmFja2dyb3VuZDogIzY2NiB1cmwoLz8/P2NvbnRleHQ/Pz8vY3NzL2pxdWVyeS11aS0xLjEwLjItVGhlbWVzL3VpLWxpZ2h0bmVzcy9pbWFnZXMvdWktYmdfZGlhZ29uYWxzLXRoaWNrXzIwXzY2NjY2Nl80MHg0MC5wbmcpIDUwJSA1MCUgcmVwZWF0O1xuXHQqL1xuXHQvKiAgXG5cdG9wYWNpdHk6IC41MDtcblx0ZmlsdGVyOiBBbHBoYShPcGFjaXR5PTUwKTtcblx0Ki9cblx0cG9zaXRpb246IGZpeGVkO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbmRpdi5wZGItc2hvdy1hbGlnbm1lbnQtb3ZlcmxheS1kaXYge1xuXG5cdG9wYWNpdHk6IDE7XG5cdGZpbHRlcjogQWxwaGEoT3BhY2l0eT0xMDApO1xuXG5cdGJhY2tncm91bmQtY29sb3I6d2hpdGU7XG5cdG91dGxpbmU6IDBweDtcblxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogNTBweDtcblx0bGVmdDogNTBweDtcblxuXHQvKlxuXHRoZWlnaHQ6IDQwMHB4O1xuXG5cdGJvcmRlcjogM3B4O1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHQqL1xuXG5cblx0ZGlzcGxheTogYmxvY2s7XG5cdHotaW5kZXg6IDEwMDI7XG5cblx0d2lkdGg6IDEwMDBweDtcblxuXG59XG5cbi5wZGItc2hvdy1hbGlnbm1lbnQtb3ZlcmxheS1oZWFkZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjQTU1MzUzOyBwYWRkaW5nLWJvdHRvbTogNXB4OyB9XG5cbi5wZGItc2hvdy1hbGlnbm1lbnQtb3ZlcmxheS1YLWZvci1leGl0LW92ZXJsYXkgeyBmbG9hdDogcmlnaHQ7IGJvcmRlci1jb2xvcjogIzAwMDAwMDsgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IGNvbG9yOiAjQTU1MzUzOyBwYWRkaW5nOiAzcHg7IG1hcmdpbjogMHB4OyAgY3Vyc29yOiBwb2ludGVyOyAgfVxuXG4ucGRiLXNob3ctYWxpZ25tZW50LW92ZXJsYXktaGVhZGVyLXRleHQgeyBjb2xvcjogd2hpdGU7IHBhZGRpbmc6IDNweDsgbWFyZ2luOiAwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsgIH1cblxuLnBkYi1zaG93LWFsaWdubWVudC1vdmVybGF5LWJvZHkgeyAgcGFkZGluZzogMjBweDsgfVxuXG4ucGRiLXNob3ctYWxpZ25tZW50LW92ZXJsYXktbGluayB7IG1hcmdpbi1yaWdodDogMjBweDsgIH1cblxuXG5cblxuXHQvKiBkZWxldGUgcGRiLWZpbGUgbW9kYWwgZGlhbG9nICovXG5cbmJvZHkucHJvamVjdC1wYWdlIC5kZWxldGUtcGRiLWZpbGUtb3ZlcmxheS1jb250YWluaW5nLW91dGVybW9zdC1kaXYgeyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAwcHg7ICAgfVxuYm9keS5wcm9qZWN0LXBhZ2UgLmRlbGV0ZS1wZGItZmlsZS1vdmVybGF5LWNvbnRhaW5pbmctb3V0ZXItZGl2IHsgcG9zaXRpb246IHJlbGF0aXZlOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyogVGhlc2UgMiBkaXZzIE1VU1QgaGF2ZSB0aGUgc2FtZSB3aWR0aCBzbyBzZXQgd2lkdGggZm9yIGJvdGggdG9nZXRoZXIgKi9cbmJvZHkucHJvamVjdC1wYWdlIC5kZWxldGUtcGRiLWZpbGUtb3ZlcmxheS1jb250YWluaW5nLW91dGVyLWRpdiwgYm9keS5wcm9qZWN0LXBhZ2UgLmRlbGV0ZS1wZGItZmlsZS1vdmVybGF5LWNvbnRhaW5lciB7IHdpZHRoOiA1MDBweDsgIH1cblxuLyogZXh0ZW5kcyAgYm9keS5jcm9zc2xpbmtzLXBhZ2UtbWFpbiAubW9kYWwtZGlhbG9nLW92ZXJsYXktY29udGFpbmVyLCBvdGhlciB2YWx1ZXMgZm9yIHRoaXMgc2V0IGp1c3QgYWJvdmUgXl5eICAqL1xuYm9keS5wcm9qZWN0LXBhZ2UgLmRlbGV0ZS1wZGItZmlsZS1vdmVybGF5LWNvbnRhaW5lciB7IGxlZnQ6IC0yMDBweDsgIH1cblxuXG5cdC8qIGRlbGV0ZSBhbGlnbm1lbnQgbW9kYWwgZGlhbG9nICovXG5cbmJvZHkucHJvamVjdC1wYWdlIC5kZWxldGUtYWxpZ25tZW50LW92ZXJsYXktY29udGFpbmluZy1vdXRlcm1vc3QtZGl2IHsgd2lkdGg6IDEwMCU7IGhlaWdodDogMHB4OyAgIH1cbmJvZHkucHJvamVjdC1wYWdlIC5kZWxldGUtYWxpZ25tZW50LW92ZXJsYXktY29udGFpbmluZy1vdXRlci1kaXYgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKiBUaGVzZSAyIGRpdnMgTVVTVCBoYXZlIHRoZSBzYW1lIHdpZHRoIHNvIHNldCB3aWR0aCBmb3IgYm90aCB0b2dldGhlciAqL1xuYm9keS5wcm9qZWN0LXBhZ2UgLmRlbGV0ZS1hbGlnbm1lbnQtb3ZlcmxheS1jb250YWluaW5nLW91dGVyLWRpdiwgYm9keS5wcm9qZWN0LXBhZ2UgLmRlbGV0ZS1hbGlnbm1lbnQtb3ZlcmxheS1jb250YWluZXIgeyB3aWR0aDogNTAwcHg7ICB9XG5cbi8qIGV4dGVuZHMgIGJvZHkuY3Jvc3NsaW5rcy1wYWdlLW1haW4gLm1vZGFsLWRpYWxvZy1vdmVybGF5LWNvbnRhaW5lciwgb3RoZXIgdmFsdWVzIGZvciB0aGlzIHNldCBqdXN0IGFib3ZlIF5eXiAgKi9cbmJvZHkucHJvamVjdC1wYWdlIC5kZWxldGUtYWxpZ25tZW50LW92ZXJsYXktY29udGFpbmVyIHsgbGVmdDogLTIwMHB4OyAgfVxuXG5cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG4vKiAgICBRQyBQYWdlICAqL1xuXG4gIC8qIGNoYXJ0cyBhbmQgb3RoZXIgZGF0YSBibG9ja3MgKi9cbmJvZHkudmlldy1xYy1wYWdlIC5xYy1kYXRhLWJsb2NrIHsgd2lkdGg6IDUwMHB4OyBoZWlnaHQ6IDMwMHB4OyB9XG5cbmJvZHkudmlldy1xYy1wYWdlIC5oZWxwLWltYWdlLWZvci1xYy1jaGFydC1ibG9jayB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5ib2R5LnZpZXctcWMtcGFnZSAuaGVscC1pbWFnZS1mb3ItcWMtY2hhcnQgeyBtYXgtaGVpZ2h0OiAxMnB4OyB9XG5cbi8qIENsYXNzIGZvciB0b29sdGlwcyBvbiA/IHdpdGggY2lyY2xlIG9uIFFDIHBhZ2VzICovXG4vKiBDbGFzcyAncXRpcCcgaXMgYWxzbyBvbiBlbGVtZW50IChmcm9tIGpxdWVyeS5xdGlwLm1pbi5jc3MpIHdoaWNoIGNvbnRhaW5zIGZvbnQtc2l6ZSAgKi9cbmJvZHkudmlldy1xYy1wYWdlIC5oZWxwLWZvci1xYy1jaGFydC10b29sdGlwIHsgbWluLXdpZHRoOiAzMDBweDsgZm9udC1zaXplOiAxNHB4OyBsaW5lLWhlaWdodDogMjBweDsgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci13aWR0aDogNHB4OyBib3JkZXItY29sb3I6ICNBNTUzNTMgfVxuXG5ib2R5LnZpZXctcWMtcGFnZSAuaGVscC1mb3ItcWMtY2hhcnQtdG9vbHRpcC13aWRlIHsgbWluLXdpZHRoOiA0NTBweDsgfVxuXG4vKiBxdGlwMiBoYXMgZGVmYXVsdCBtYXgtd2lkdGg6IDI4MHB4OyAgKi9cbmJvZHkudmlldy1xYy1wYWdlIC5xYy1jaGFydC1ib3hwbG90LXdob2xlLWNoYXJ0LXRvb2x0aXAgeyBtaW4td2lkdGg6IDI1MHB4OyBtYXgtd2lkdGg6IDMwMDBweDsgZm9udC1zaXplOiAxNHB4OyBsaW5lLWhlaWdodDogMjBweDsgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci13aWR0aDogNHB4OyBib3JkZXItY29sb3I6ICNBNTUzNTMgfSBcblxuLypcblRoaXMgd291bGQgY2hhbmdlIHF0aXAgc3R5bGUgZm9yIGFsbCB0b29sdGlwcyBvbiB0aGUgcWMgcGFnZVxuYm9keS52aWV3LXFjLXBhZ2UgLnF0aXAtZGVmYXVsdCB7IGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItY29sb3I6ICNBNTUzNTMgfVxuXG5Gcm9tIGFib3ZlXG4ucXRpcC1kZWZhdWx0e2JvcmRlci13aWR0aDoxcHg7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci1jb2xvcjojQUFBQUFBO2JhY2tncm91bmQtY29sb3I6I0ZGRjBGMDtjb2xvcjojMDAwMDAwO2ZvbnQtc2l6ZToxMHB0O31cbiovXG5cblxuXG5cbi8qICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgKi9cblxuXG4vKiAtLS0tLSAgIFNhdmUgVmlldyAgbW9kYWwgZGlhbG9nIGJhY2tncm91bmQgLS0tLS0gKi9cblxuXG5cdC8qIFNhdmUgVmlldyBtb2RhbCBkaWFsb2cgYmFja2dyb3VuZCAqL1xuLnNhdmUtdmlldy1tb2RhbC1kaWFsb2ctb3ZlcmxheS1iYWNrZ3JvdW5kIHtcblx0XG5cblx0Y3Vyc29yOiBwb2ludGVyOyAvKiBzZXQgbW91c2UgdG8gcG9pbnRlciAqL1xuXG5cdCAgei1pbmRleDogMTAwMTtcblx0ICBcblx0ICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcblx0b3BhY2l0eTogLjgwO1xuXHRmaWx0ZXI6IEFscGhhKE9wYWNpdHk9ODApO1xuXG5cdCAgLyogIE1vdmVkIHRvIGlubGluZSBzdHlsZSBpbiBoZWFkZXIgc28gY29udGV4dCBpcyBub3QgaGFyZCBjb2RlZFxuXHRiYWNrZ3JvdW5kOiAjNjY2IHVybCgvPz8/Y29udGV4dD8/Py9jc3MvanF1ZXJ5LXVpLTEuMTAuMi1UaGVtZXMvdWktbGlnaHRuZXNzL2ltYWdlcy91aS1iZ19kaWFnb25hbHMtdGhpY2tfMjBfNjY2NjY2XzQweDQwLnBuZykgNTAlIDUwJSByZXBlYXQ7XG5cdCovXG5cdC8qICBcblx0b3BhY2l0eTogLjUwO1xuXHRmaWx0ZXI6IEFscGhhKE9wYWNpdHk9NTApO1xuXHQqL1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuXG4vKiAgT3ZlcmxheSBmb3IgU2F2ZSBWaWV3IERpdiAgICovXG5cblxuZGl2LnNhdmUtdmlldy1tb2RhbC1kaWFsb2ctb3ZlcmxheS1kaXYge1xuXG5cdG9wYWNpdHk6IDE7XG5cdGZpbHRlcjogQWxwaGEoT3BhY2l0eT0xMDApO1xuXG5cdGJhY2tncm91bmQtY29sb3I6d2hpdGU7XG5cdG91dGxpbmU6IDBweDtcblxuXHRwb3NpdGlvbjogZml4ZWQ7XG5cblx0XG5cdC8qXG5cdCovXG5cdHRvcDogNTBweDtcblx0bGVmdDogNTBweDtcblxuXHQvKlxuXHRoZWlnaHQ6IDQwMHB4O1xuXHQqL1xuXG5cdGJvcmRlcjogMXB4O1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRib3JkZXItY29sb3I6ICNEM0QzRDMgO1xuXG5cblx0ZGlzcGxheTogYmxvY2s7XG5cdHotaW5kZXg6IDEwMDI7XG5cblx0d2lkdGg6IDQ1MHB4O1xuXG5cbn1cblxuLnNhdmUtdmlldy1tb2RhbC1kaWFsb2ctb3ZlcmxheS1oZWFkZXIgeyBcblx0XG5cdGhlaWdodDogMzVweDtcblx0YmFja2dyb3VuZC1jb2xvcjogI0ZGRjBGMDsgcGFkZGluZy1ib3R0b206IDVweDtcblxuXHRib3JkZXItd2lkdGg6IDBweDtcblx0Ym9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRib3JkZXItY29sb3I6ICNEM0QzRDMgO1xuIH1cblxuLnNhdmUtdmlldy1tb2RhbC1kaWFsb2ctb3ZlcmxheS1YLWZvci1leGl0LW92ZXJsYXkgeyBmbG9hdDogcmlnaHQ7IGJvcmRlci1jb2xvcjogIzAwMDAwMDsgaGVpZ2h0OjMzcHg7IGJhY2tncm91bmQtY29sb3I6ICNBNTUzNTM7IGNvbG9yOiB3aGl0ZTsgcGFkZGluZzogM3B4OyBtYXJnaW46IDBweDsgIGN1cnNvcjogcG9pbnRlcjsgIH1cblxuLnNhdmUtdmlldy1tb2RhbC1kaWFsb2ctb3ZlcmxheS1oZWFkZXItdGV4dCB7IGNvbG9yOiBibGFjazsgcGFkZGluZzogM3B4OyBtYXJnaW46IDBweDsgdGV4dC1hbGlnbjogY2VudGVyOyAgfVxuXG4uc2F2ZS12aWV3LW1vZGFsLWRpYWxvZy1vdmVybGF5LWJvZHkgeyAgcGFkZGluZzogMjBweDsgfVxuXG4uc2F2ZS12aWV3LW1vZGFsLWRpYWxvZy1vdmVybGF5LWxpbmsgeyBtYXJnaW4tcmlnaHQ6IDIwcHg7ICB9XG5cbi8qICAgICovXG5cbi5zYXZlLXZpZXctcm9vdC1jb250YWluZXIsIC5zaGFyZS1wYWdlLXJvb3QtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLyAgIE1lcmdlZCBQYWdlcyBDb21tb25cblxuLy8gIFRoZSBjb2xvciBibG9jayBiZWZvcmUgdGhlIHNlYXJjaCBuYW1lIGZvciBhIHNpbmdsZSBzZWFyY2ggd2hlbiBleHBhbmQgYSBtZXJnZWQgcm93XG5cbi8vXHRcdFx0VGhlIFBhZGRpbmcgbGVmdCBhbmQgcmlnaHQgY3JlYXRlIHRoZSB3aWR0aCBvZiB0aGUgYmxvY2suICBUaGUgYmFja2dyb3VuZCBjb2xvciBpcyBzZXQgZWxzZXdoZXJlXG4ubWVyZ2VkLWV4cGFuZGVkLXJvdy1zaW5nbGUtc2VhcmNoLWNvbG9yLWJsb2NrIHtcblx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xuXHRwYWRkaW5nLWxlZnQ6IDhweDtcblx0cGFkZGluZy1yaWdodDogNnB4O1xuXHRwYWRkaW5nLXRvcDogMXB4O1xuXHRwYWRkaW5nLWJvdHRvbTogMXB4O1xufVxuXG4iXSwic291cmNlUm9vdCI6IiJ9 */