/**********************************************************************
    *
	* Filename:       Admin.css
	* Project:        osborn-eng.com/Styles
	* Description:    Administrator website stylesheet
    * Theme Color:    #4d9e7e
    *
**********************************************************************/

html { height:100%; }
body { height:100%; padding:0px; margin:0px; background:url( ../admin/images/BG.png ) #202020; }

/* GENERAL SITE-WIDE FONT STYLES */
p, div, span, th, td, a, ul, li, input, select, textarea, font { font-family:Arial, Verdana, Sans-Serif; font-weight:normal; font-size:12px; color:#000000; }
a { color:#ff0000; text-decoration:none; font-weight:normal; }
a:hover { text-decoration:underline; }
a img { border:0px; }
hr { margin:10px 0px 10px 0px; padding:0px; border:none; border-top:1px solid #c0c0c0; }
hr.Dotted { border-top-style:dotted; }
p { margin:0px 0px 20px 0px; padding:0px; }

/* Headers */
h1, h2, h3, h4, h5 { font-family:Arial, Verdana, Sans-Serif; color:#00467f; }
h1 { font-size:22px; margin:0px 0px 10px 0px; }
h1 span { color:#898383; font-size:22px; font-weight:bold; }
h2 { font-size:18px; margin-bottom:7px; }
h3 { font-size:16px; margin-bottom:5px; }
h4 { font-size:14px; margin-bottom:3px; }
h5 { font-size:12px; margin-bottom:3px; }

.noteBold { font-size:11px; font-weight:bold; }
.note { font-size:11px; font-weight:normal; }
.editIcon { float:right; width:16px; margin:0px 0px 0px 10px; }

/* SITE LAYOUT */
#MainContainer { width:971px; min-height:100%; height:auto !important; height:100%; margin:0px auto -102px auto; text-align:left; background:url( ../admin/images/BGMain.png ) repeat-y right -1px #FFFFFF; }

/* ACCOUNT INFO */
#AccountInfoPanel { height:20px; padding:6px 20px 0px 10px; background:url( ../admin/images/BG.png ) #202020; font-size:14px; font-weight:bold; color:#F5F5F5; }
#AccountInfoPanel span { font-size:14px; color:#b0b1b6; font-weight:bold; }
#AccountTools { float:right; }
#AccountTools a { float:right; display:block; min-width:48px; margin:0px 0px 0px 6px; padding:2px 6px 2px 6px; font-size:12px; color:#FFFFFF; font-weight:bold; text-align:center; background-color:#00467f; border:1px solid #666666; border-bottom-width:0px; -moz-border-top-left-radius:5px; border-top-left-radius:5px; -moz-border-top-right-radius:5px; border-top-right-radius:5px; }
#AccountTools a:hover { color:#ffff00; text-decoration:none; }
#AccountTools br { clear:right; }

/* HEADER */
#Header { position:relative; background:url( ../admin/images/HeaderBG.gif ) bottom left no-repeat; text-align:left; }
#Header span { color:#4d9e7e; font-weight:bold; }
#HeaderLogo { padding:4px 0px 14px 20px; }
#HeaderLogo img { width:273px; height:83px; border-width:0px; }
#HeaderTitle { position:absolute; top:30px; right:30px; font-size:28px; color:#898383; font-weight:bold; text-align:right; cursor:default; }
#HeaderTitle span { color:#00467f; font-size:28px; font-weight:bold; }

/* SITE SEARCH */
#SiteSearch { display:none; position:absolute; top:7px; right:14px; }
#SiteSearch input { width:160px; height:17px; padding:5px 7px 2px 33px; color:#999999; background:url( ../admin/images/SearchIcon.gif ) no-repeat 11px center #f7f7f7; outline:none; border-width:0px; border-radius:10px; }

/* NAVIGATION */
#Navigation { position:relative; height:24px; padding:12px 0px 1px 10px; background:url( ../admin/images/BG.png ) #202020; }
#Navigation br { clear:both; }
#Navigation a { padding:4px 6px 4px 6px; font-size:14px; color:#FFFFFF; font-weight:bold; }
#Navigation a:hover { color:#ffff00; text-decoration:none; }

/* Main Links */
#MainNav { width:980px; margin:0px; padding:0px; list-style-type:none; }
#MainNav > li { position:relative; float:left; margin:0px 8px 0px 0px; }
#MainNav > li > a { display:block; min-width:46px; text-align:center; background-color:#00467f; border:1px solid #666666; border-bottom-width:0px; -moz-border-top-left-radius:5px; border-top-left-radius:5px; -moz-border-top-right-radius:5px; border-top-right-radius:5px; }

/* Dropdown Menu */
#MainNav > li > ul { display:none; position:absolute; top:25px; z-index:100; min-width:150px; margin:0px; padding:0px; list-style-type:none; background-color:#00467f; border:1px solid #898383; border-top-width:0px; -moz-border-bottom-left-radius:5px; border-bottom-left-radius:5px; -moz-border-bottom-right-radius:5px; border-bottom-right-radius:5px; }
#MainNav > li > ul > li { display:block; float:none; padding:0px; }
#MainNav > li > ul > li > a { display:block; font-size:12px; border-top:1px solid #898383; }
#MainNav > li > ul > li > ul  { list-style-type:disc; }
#MainNav > li > ul > li > ul > li { color:#fff; }
#MainNav > li > ul > li > ul > li > a { display:block; font-size:12px;list-style-type:none; }

/* Rollover Action */
#MainNav li:hover > ul.child { display:block; }
#MainNav li:hover > ul.grandchild  { display:block; }

/* MENU */
#CrudMenu { float:right; padding-top:4px; }
#CrudMenu a { display:block; float:right; min-width:60px; margin:0px 0px 0px 10px; padding:1px 6px 1px 6px; font-size:11px; font-weight:bold; color:#ffffff; text-align:center; background-color:#00467f; border:1px solid #898383; border-radius:5px; outline:none; }
#CrudMenu a:hover { color:#ffff00; text-decoration:none; }
#CrudMenu br { clear:right; }

/* CONTENT */
.ContentCapWhite { width:960px; height:21px; background:url( ../admin/images/ContentCapWhiteBG.png ) no-repeat top left #202020; border-bottom:0px solid #e0e5c1; }
.CCWTop { clear:right; height:10px; }
#Content { padding:10px 40px 40px 30px; }
#ContentSpacer { clear:left; height:65px; }
#ContentBottom { width:960px; height:21px; padding-bottom:14px; background:url( ../admin/images/BG.png ) left -3px #202020; }
#ContentBottom img { width:960px; height:21px; border-width:0px; }

/* FOOTER */
#FooterSpacer { clear:left; height:65px; }
#FooterContainer { width:971px; margin:0px auto; background:url( ../admin/images/BGMain.png ) repeat right 1px; }
#FooterCap { width:958px; height:21px; padding-top:10px; color:#FFFFFF; background-color:#00467f; text-align:center;  border:1px solid #666666; border-radius:15px 15px 0px 0px; }
#FooterCap span { padding:0px 10px 0px 10px; color:#FFFFFF; }
#FooterCap a { color:#FFFFFF; }
#FooterCap a:hover { color:#ffff00; text-decoration:none; }
#Footer { width:960px; height:23px; padding-top:10px; background-color:#FFFFFF; text-align:center; }

/* Reports */
#ReportCriteria { background-color:#d2d2d2; border:1px solid #666666; padding:8px; margin-bottom:15px; }
.ReportResults { padding:0px; margin:0px; }
.ReportResults tr td { margin:0px; padding:2px; }
.totalRow td { padding-top:4px; border-top:1px solid #000000; text-align:right; font-weight:bold; }
.totalRow { padding-top:4px; border-top:1px solid #000000; text-align:right; font-weight:bold; }

/* Home Page Slide Styles and Children Page Sequence */
.HomePageImage { width:831px; height:273px; }
.PageSequence { color:#000000; font-size:16px; font-weight:bold; }
.PageSequence a { color:#2299bb; font-weight:bold; font-size:16px; }
.PageSequence a:hover { color:#202020; text-decoration:none; font-size:16px; }

/* MAIN MENUS */
.contentSection { float:left; margin:10px 0px 10px 0px; }
.contentSection a { color:#000000; font-size:16px; }
.contentSection a:hover { color:#1f40cb; text-decoration:none; }
.contentSection img { width:48px; height:48px; border-width:0px; }
.contentSection div { float:left; min-width:48px; margin:10px 10px 0px 10px; text-align:center; font-size:10px; font-weight:bold; }
.contentSection div a { color:#000000; font-size:11px; font-weight:bold; }
.contentSection div a:hover { color:blue; text-decoration:none; }
.contentSeperator { float:left; width:1px; height:107px; margin-right:25px; background-color:#000000; }

/* Content Pages */
#contentHeaderIcon { float:left; width:72px; }
#contentHeaderNavigation { width:150px; margin-left:824px; vertical-align:bottom; }
#contentHeaderSpacer { width:150px; vertical-align:bottom; height:24px; }
#contentHeaderTitle { width:698px; margin-left:72px; color:#666666; line-height:20px; font-size:18px; text-transform:uppercase; font-weight:bold; }
#contentHeaderSubTitle { width:698px; margin-left:72px; color:#666666; font-size:14px; }
#contentHeaderSubTitle a { color:#666666; font-size:14px; text-transform:uppercase; }
#contentBody { clear:both; }
#menu { height:48px; margin-bottom:10px; }
#menuOperations { float:right; width:200px; text-align:right; }

/* LINK TABS */
.TableTabs{ text-align:left; }
.TableTabs h2 { margin:0px; }
.TableTabs a { float:right; display:block; min-width:60px; margin:0px 0px 0px 6px; padding:1px 5px 1px 5px; font-size:11px; color:#FFFFFF; font-weight:bold; text-align:center; background-color:#4d9e7e; border:1px solid #898383; border-bottom-color:#999999; -moz-border-top-left-radius:5px; border-top-left-radius:5px; -moz-border-top-right-radius:5px; border-top-right-radius:5px; }
.TableTabs a:hover { color:#ffff00; text-decoration:none; }
.TableTabs a.Here { color:#202020 !important; background-color:#ffff00 !important; border-bottom-color:#ffff00 !important; }
.TableTabs a.Here:hover { text-decoration:underline; }
.TableTabs span { float:right; display:block; min-width:60px; margin:0px 0px 0px 6px; padding:1px 5px 1px 5px; font-size:11px; color:#999999; font-weight:bold; text-align:center; cursor:default; outline:none; background-color:#F5F5F5; border-bottom-color:#999999; -moz-border-top-left-radius:5px; border-top-left-radius:5px; -moz-border-top-right-radius:5px; border-top-right-radius:5px; }
.TableTabs br { clear:both; }

/* FORMS */
form { height:100%; }

/* FORM BUTTONS */
.FormButtons { padding:10px 0px 10px 0px; text-align:right; }
.FormButtons input { min-width:60px; margin:0px 0px 0px 6px; padding:1px 6px 1px 6px; font-size:11px; font-weight:bold; color:#ffffff; background-color:#00467f; border:1px solid #898383; border-radius:5px; outline:none; }
.FormButtons input:hover { color:#ffff00; cursor:pointer; outline:none; }
.FormButtons input:focus { outline:none; padding:1px 6px 1px 6px; }
.FormButtons input:active { outline:none; padding:1px 6px 1px 6px; }
.FormButtons input:focus:active { outline:none; padding:1px 6px 1px 6px; }
.FormButtons input:disabled { color:#999999; cursor:default; outline:none; background-color:#F5F5F5; }
.FormButtons.Left { text-align:left; }
.FormButtons.Left .Button { margin-left:0px; }
.FormButtons input[type='submit'] { width:auto !important; min-width:60px !important; height:auto !important; margin:0px 0px 0px 6px !important; padding:1px 6px 1px 6px !important; font-size:11px !important; font-weight:bold !important; color:#ffffff; background-color:#00467f; border:1px solid #898383; border-radius:5px; outline:none; }
.FormButtons input[type='submit']:hover { color:#ffff00; cursor:pointer; outline:none; }

/* LOGIN PAGE FORM */
#LoginForm { width:400px; margin:70px auto 0px auto; text-align:left; }
#LoginForm h1 { margin: 0px; padding: 5px; color: #FFFFFF; font-size: 16px; font-weight: bold; border: 1px solid #999999; border-bottom-width: 0px; background-color: #00467f; }
#LoginForm .FormTable th { width:30% !important; }
#LoginForm .FormTable td { width:70% !important; }

/* WEB GRIDS */
.WebGridTable { width:100%; border-collapse:collapse; border-spacing:0px 0px; }
.WebGridTable th, .WebGridTable td { border:1px solid #C0C0C0; vertical-align:top; }
.WebGridTable th, .WebGridTable tbody a { padding:6px 6px 6px 6px; }
.WebGridTable a:hover { text-decoration:none; }
.WebGridHeader { background:url( /lib/images/WebGridHeaderBG.jpg ) repeat-x #dedee6; }
.WebGridHeader a { color:#202020; font-weight:bold;  }
.WebGridHeader a:hover { color:#4d9e7e; }
.WebGridTable tbody a { display:block; color:#000000; font-weight:normal !important; }
.WebGridTable tbody a:hover { color:blue; }
.WebGridTable tbody tr:hover { background-color:#F5F5F5; }
.WebGridTable tbody tr:hover a { color:blue; }
.WebGridRow { background-color:#ffffff; }
.WebGridRowAlt { background-color:#ffffff; }
.WebGridFooter { background:url( /lib/images/WebGridHeaderBG.jpg ) repeat-x #dedee6; }
.WebGridFooter td { padding:0px 5px 0px 5px; vertical-align:middle; }
.WebGridFooter td, .WebGridFooter a { font-size:14px; }
.WebGridFooter a { display:inline-block; padding:5px 5px 5px 5px; margin:0px 0px 0px 0px; }
.WebGridFooter a:hover { color:#FFFFFF; background-color:#4d9e7e; }

/* VIEWS */
.ViewBox { float:left; width:440px; overflow:auto; margin:0px 20px 20px 0px; }
.ViewBoxRight { margin-right:0px; }
.ViewBoxFull { float:none; width:auto; margin-right:0px; }
.ViewBox h2 { margin-bottom:0px; }
.ViewBox .FormValue select { max-width:320px; }

/* Tab Navigation Grids */
.GridNav { padding:5px 0px 5px 0px; margin:0px; list-style:none; }
.GridNav li { display:inline; margin:0px 0px 0px 0px; padding:0px; background-color:#ffffff; }
.GridNavLink { text-decoration:none; background-color:#bfbfbf; padding:5px; color:#000000; font-size:11px; border:1px solid #000; font-weight:bold; }
.GridNavLinkHere { text-decoration:none; background-color:#dedede; padding:5px; color:#000000; border:1px solid #000; font-weight:bold; }

/* MISC */
.ClipboardLink { width:95%; margin:0px; padding:0px; border:none; color:#b59d05; background-color:Transparent; }

/* TURN OFF */
#ContentHeader { display:none; }

/* Help Page Layout */
#HelpPage { width:670px; margin:0px auto; background-color:#ffffff; text-align:left; border:1px solid black; }
#HelpHeaderTitle { font-size:18px; font-weight:bold; color:White; text-align:right; padding:30px 10px 0px 0px; }
#HelpBody { padding:20px; border-top:1px solid #000; }

/* SITE DIRECTORY */
#SiteDirectory h2 { margin-bottom:10px; }
#SiteDirectory h5 { margin:5px 0px 0px 0px; }
#SiteDirectory li div { padding-left:10px; font-size:11px; font-style:italic; }
#SiteDirectory ul { padding:3px 0px 3px 20px; margin:0px; }
#SiteDirectory li { padding-bottom:3px; }

/* List Styles */
#SiteDirectory ul li ul { list-style-type:square; }
#SiteDirectory ul li ul li ul { list-style-type:circle; }
#SiteDirectory ul li ul li ul li ul { list-style-type:disc; }

/* List Font Sizes */
#SiteDirectory ul li a { font-size:14px; }
#SiteDirectory ul li ul li a { font-size:13px; }
#SiteDirectory ul li ul li ul li a { font-size:12px; }

.alert_message {position:fixed;top:0;left:0;width:100%;background:#bdffbd;padding:10px 0;font-size:12px;text-indent:10px;font-weight:bold;font-size:14px;display:none;}

.table {
  width: 100%;
  margin-bottom: 44px;
}
.table > thead > tr > th,
.table > tbody > tr > th,
.table > tfoot > tr > th,
.table > thead > tr > td,
.table > tbody > tr > td,
.table > tfoot > tr > td {
  padding: 8px;
  line-height: 2.8;
  vertical-align: top;
  border-top: 1px solid #dddddd;
}
.table > thead > tr > th {
  vertical-align: bottom;
  border-bottom: 2px solid #dddddd;
}
.table > caption + thead > tr:first-child > th,
.table > colgroup + thead > tr:first-child > th,
.table > thead:first-child > tr:first-child > th,
.table > caption + thead > tr:first-child > td,
.table > colgroup + thead > tr:first-child > td,
.table > thead:first-child > tr:first-child > td {
  border-top: 0;
}
.table > tbody + tbody {
  border-top: 2px solid #dddddd;
}
.table .table {
  background-color: #ffffff;
}
.table-condensed > thead > tr > th,
.table-condensed > tbody > tr > th,
.table-condensed > tfoot > tr > th,
.table-condensed > thead > tr > td,
.table-condensed > tbody > tr > td,
.table-condensed > tfoot > tr > td {
  padding: 5px;
}
.table-bordered {
  border: 1px solid #dddddd;
}
.table-bordered > thead > tr > th,
.table-bordered > tbody > tr > th,
.table-bordered > tfoot > tr > th,
.table-bordered > thead > tr > td,
.table-bordered > tbody > tr > td,
.table-bordered > tfoot > tr > td {
  border: 1px solid #dddddd;
}
.table-bordered > thead > tr > th,
.table-bordered > thead > tr > td {
  border-bottom-width: 2px;
}
.table-striped > tbody > tr:nth-child(odd) > td,
.table-striped > tbody > tr:nth-child(odd) > th {
  background-color: #f9f9f9;
}
.table-hover > tbody > tr:hover > td,
.table-hover > tbody > tr:hover > th {
  background-color: #f5f5f5;
}
.table col[class*="col-"] {
  position: static;
  float: none;
  display: table-column;
}
.table td[class*="col-"],
.table th[class*="col-"] {
  position: static;
  float: none;
  display: table-cell;
}
.table > thead > tr > td.active,
.table > tbody > tr > td.active,
.table > tfoot > tr > td.active,
.table > thead > tr > th.active,
.table > tbody > tr > th.active,
.table > tfoot > tr > th.active,
.table > thead > tr.active > td,
.table > tbody > tr.active > td,
.table > tfoot > tr.active > td,
.table > thead > tr.active > th,
.table > tbody > tr.active > th,
.table > tfoot > tr.active > th {
  background-color: #f5f5f5;
}
.table-hover > tbody > tr > td.active:hover,
.table-hover > tbody > tr > th.active:hover,
.table-hover > tbody > tr.active:hover > td,
.table-hover > tbody > tr.active:hover > th {
  background-color: #e8e8e8;
}
.table > thead > tr > td.success,
.table > tbody > tr > td.success,
.table > tfoot > tr > td.success,
.table > thead > tr > th.success,
.table > tbody > tr > th.success,
.table > tfoot > tr > th.success,
.table > thead > tr.success > td,
.table > tbody > tr.success > td,
.table > tfoot > tr.success > td,
.table > thead > tr.success > th,
.table > tbody > tr.success > th,
.table > tfoot > tr.success > th {
  background-color: #dff0d8;
}
.table-hover > tbody > tr > td.success:hover,
.table-hover > tbody > tr > th.success:hover,
.table-hover > tbody > tr.success:hover > td,
.table-hover > tbody > tr.success:hover > th {
  background-color: #d0e9c6;
}
.table > thead > tr > td.info,
.table > tbody > tr > td.info,
.table > tfoot > tr > td.info,
.table > thead > tr > th.info,
.table > tbody > tr > th.info,
.table > tfoot > tr > th.info,
.table > thead > tr.info > td,
.table > tbody > tr.info > td,
.table > tfoot > tr.info > td,
.table > thead > tr.info > th,
.table > tbody > tr.info > th,
.table > tfoot > tr.info > th {
  background-color: #d9edf7;
}
.table-hover > tbody > tr > td.info:hover,
.table-hover > tbody > tr > th.info:hover,
.table-hover > tbody > tr.info:hover > td,
.table-hover > tbody > tr.info:hover > th {
  background-color: #c4e3f3;
}
.table > thead > tr > td.warning,
.table > tbody > tr > td.warning,
.table > tfoot > tr > td.warning,
.table > thead > tr > th.warning,
.table > tbody > tr > th.warning,
.table > tfoot > tr > th.warning,
.table > thead > tr.warning > td,
.table > tbody > tr.warning > td,
.table > tfoot > tr.warning > td,
.table > thead > tr.warning > th,
.table > tbody > tr.warning > th,
.table > tfoot > tr.warning > th {
  background-color: #fcf8e3;
}
.table-hover > tbody > tr > td.warning:hover,
.table-hover > tbody > tr > th.warning:hover,
.table-hover > tbody > tr.warning:hover > td,
.table-hover > tbody > tr.warning:hover > th {
  background-color: #faf2cc;
}
.table > thead > tr > td.danger,
.table > tbody > tr > td.danger,
.table > tfoot > tr > td.danger,
.table > thead > tr > th.danger,
.table > tbody > tr > th.danger,
.table > tfoot > tr > th.danger,
.table > thead > tr.danger > td,
.table > tbody > tr.danger > td,
.table > tfoot > tr.danger > td,
.table > thead > tr.danger > th,
.table > tbody > tr.danger > th,
.table > tfoot > tr.danger > th {
  background-color: #f2dede;
}
.table-hover > tbody > tr > td.danger:hover,
.table-hover > tbody > tr > th.danger:hover,
.table-hover > tbody > tr.danger:hover > td,
.table-hover > tbody > tr.danger:hover > th {
  background-color: #ebcccc;
}

#PublicPreview font, #PublicPreview th, #PublicPreview td, #PublicPreview p, #PublicPreview span, #PublicPreview div, #PublicPreview textarea, #PublicPreview input, #PublicPreview select, #PublicPreview a, #PublicPreview li { font-family:Verdana, Arial, Helvetica, Sans-Serif; font-size:16px; color:#000; }
#PublicPreview a { color:#024456; }
#PublicPreview .otable { width:100%; border-spacing:0; border-collapse:collapse;  }
#PublicPreview .otable th { background-color:#024456; color:#fff; }
#PublicPreview .otable th, #PublicPreview .otable td { border:1px solid #000; padding:10px; }
#PublicPreview .otable th strong, #PublicPreview .otable td strong { font-weight:bold; }
#PublicPreview .otable th strong a, #PublicPreview .otable td strong a { font-weight:bold; }
#PublicPreview .otable th strong span, #PublicPreview .otable td strong span { font-weight:bold; }
#PublicPreview ol, #PublicPreview ul { margin-bottom:22px; }

#loading-div {
    position:absolute; top:0; left:0; width:100%; height:100%; background-color:rgba(0, 0, 0, 0.45); z-index:100; text-align: center; display:none;
}
.loader-icon {
  position: absolute;
  top: 45%;
  left: 45%;
  transform: translate(-45%, -45%);
  border: 10px solid #f3f3f3; /* Light grey */
  border-top: 10px solid #3498db; /* Blue */
  border-radius: 50%;
  width: 50px;
  height: 50px;
  animation: spin 2s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
/*# sourceMappingURL=data:application/json;base64,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QUFFOztBQUUzRDtJQUNJLGlCQUFpQixFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxvQ0FBb0MsRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsWUFBWTtBQUNsSjtBQUNBO0VBQ0Usa0JBQWtCO0VBQ2xCLFFBQVE7RUFDUixTQUFTO0VBRVQsZ0NBQWdDO0VBQ2hDLDBCQUEwQixFQUFFLGVBQWU7RUFDM0MsOEJBQThCLEVBQUUsU0FBUztFQUN6QyxrQkFBa0I7RUFDbEIsV0FBVztFQUNYLFlBQVk7RUFDWixrQ0FBa0M7QUFDcEM7O0FBRUE7RUFDRSxLQUFLLHVCQUF1QixFQUFFO0VBQzlCLE9BQU8seUJBQXlCLEVBQUU7QUFDcEMiLCJmaWxlIjoiQWRtaW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICAgICpcclxuXHQqIEZpbGVuYW1lOiAgICAgICBBZG1pbi5jc3NcclxuXHQqIFByb2plY3Q6ICAgICAgICBvc2Jvcm4tZW5nLmNvbS9TdHlsZXNcclxuXHQqIERlc2NyaXB0aW9uOiAgICBBZG1pbmlzdHJhdG9yIHdlYnNpdGUgc3R5bGVzaGVldFxyXG4gICAgKiBUaGVtZSBDb2xvcjogICAgIzRkOWU3ZVxyXG4gICAgKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuaHRtbCB7IGhlaWdodDoxMDAlOyB9XHJcbmJvZHkgeyBoZWlnaHQ6MTAwJTsgcGFkZGluZzowcHg7IG1hcmdpbjowcHg7IGJhY2tncm91bmQ6dXJsKCAuLi9hZG1pbi9pbWFnZXMvQkcucG5nICkgIzIwMjAyMDsgfVxyXG5cclxuLyogR0VORVJBTCBTSVRFLVdJREUgRk9OVCBTVFlMRVMgKi9cclxucCwgZGl2LCBzcGFuLCB0aCwgdGQsIGEsIHVsLCBsaSwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIGZvbnQgeyBmb250LWZhbWlseTpBcmlhbCwgVmVyZGFuYSwgU2Fucy1TZXJpZjsgZm9udC13ZWlnaHQ6bm9ybWFsOyBmb250LXNpemU6MTJweDsgY29sb3I6IzAwMDAwMDsgfVxyXG5hIHsgY29sb3I6I2ZmMDAwMDsgdGV4dC1kZWNvcmF0aW9uOm5vbmU7IGZvbnQtd2VpZ2h0Om5vcm1hbDsgfVxyXG5hOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTsgfVxyXG5hIGltZyB7IGJvcmRlcjowcHg7IH1cclxuaHIgeyBtYXJnaW46MTBweCAwcHggMTBweCAwcHg7IHBhZGRpbmc6MHB4OyBib3JkZXI6bm9uZTsgYm9yZGVyLXRvcDoxcHggc29saWQgI2MwYzBjMDsgfVxyXG5oci5Eb3R0ZWQgeyBib3JkZXItdG9wLXN0eWxlOmRvdHRlZDsgfVxyXG5wIHsgbWFyZ2luOjBweCAwcHggMjBweCAwcHg7IHBhZGRpbmc6MHB4OyB9XHJcblxyXG4vKiBIZWFkZXJzICovXHJcbmgxLCBoMiwgaDMsIGg0LCBoNSB7IGZvbnQtZmFtaWx5OkFyaWFsLCBWZXJkYW5hLCBTYW5zLVNlcmlmOyBjb2xvcjojMDA0NjdmOyB9XHJcbmgxIHsgZm9udC1zaXplOjIycHg7IG1hcmdpbjowcHggMHB4IDEwcHggMHB4OyB9XHJcbmgxIHNwYW4geyBjb2xvcjojODk4MzgzOyBmb250LXNpemU6MjJweDsgZm9udC13ZWlnaHQ6Ym9sZDsgfVxyXG5oMiB7IGZvbnQtc2l6ZToxOHB4OyBtYXJnaW4tYm90dG9tOjdweDsgfVxyXG5oMyB7IGZvbnQtc2l6ZToxNnB4OyBtYXJnaW4tYm90dG9tOjVweDsgfVxyXG5oNCB7IGZvbnQtc2l6ZToxNHB4OyBtYXJnaW4tYm90dG9tOjNweDsgfVxyXG5oNSB7IGZvbnQtc2l6ZToxMnB4OyBtYXJnaW4tYm90dG9tOjNweDsgfVxyXG5cclxuLm5vdGVCb2xkIHsgZm9udC1zaXplOjExcHg7IGZvbnQtd2VpZ2h0OmJvbGQ7IH1cclxuLm5vdGUgeyBmb250LXNpemU6MTFweDsgZm9udC13ZWlnaHQ6bm9ybWFsOyB9XHJcbi5lZGl0SWNvbiB7IGZsb2F0OnJpZ2h0OyB3aWR0aDoxNnB4OyBtYXJnaW46MHB4IDBweCAwcHggMTBweDsgfVxyXG5cclxuLyogU0lURSBMQVlPVVQgKi9cclxuI01haW5Db250YWluZXIgeyB3aWR0aDo5NzFweDsgbWluLWhlaWdodDoxMDAlOyBoZWlnaHQ6YXV0byAhaW1wb3J0YW50OyBoZWlnaHQ6MTAwJTsgbWFyZ2luOjBweCBhdXRvIC0xMDJweCBhdXRvOyB0ZXh0LWFsaWduOmxlZnQ7IGJhY2tncm91bmQ6dXJsKCAuLi9hZG1pbi9pbWFnZXMvQkdNYWluLnBuZyApIHJlcGVhdC15IHJpZ2h0IC0xcHggI0ZGRkZGRjsgfVxyXG5cclxuLyogQUNDT1VOVCBJTkZPICovXHJcbiNBY2NvdW50SW5mb1BhbmVsIHsgaGVpZ2h0OjIwcHg7IHBhZGRpbmc6NnB4IDIwcHggMHB4IDEwcHg7IGJhY2tncm91bmQ6dXJsKCAuLi9hZG1pbi9pbWFnZXMvQkcucG5nICkgIzIwMjAyMDsgZm9udC1zaXplOjE0cHg7IGZvbnQtd2VpZ2h0OmJvbGQ7IGNvbG9yOiNGNUY1RjU7IH1cclxuI0FjY291bnRJbmZvUGFuZWwgc3BhbiB7IGZvbnQtc2l6ZToxNHB4OyBjb2xvcjojYjBiMWI2OyBmb250LXdlaWdodDpib2xkOyB9XHJcbiNBY2NvdW50VG9vbHMgeyBmbG9hdDpyaWdodDsgfVxyXG4jQWNjb3VudFRvb2xzIGEgeyBmbG9hdDpyaWdodDsgZGlzcGxheTpibG9jazsgbWluLXdpZHRoOjQ4cHg7IG1hcmdpbjowcHggMHB4IDBweCA2cHg7IHBhZGRpbmc6MnB4IDZweCAycHggNnB4OyBmb250LXNpemU6MTJweDsgY29sb3I6I0ZGRkZGRjsgZm9udC13ZWlnaHQ6Ym9sZDsgdGV4dC1hbGlnbjpjZW50ZXI7IGJhY2tncm91bmQtY29sb3I6IzAwNDY3ZjsgYm9yZGVyOjFweCBzb2xpZCAjNjY2NjY2OyBib3JkZXItYm90dG9tLXdpZHRoOjBweDsgLW1vei1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOjVweDsgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czo1cHg7IC1tb3otYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6NXB4OyBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czo1cHg7IH1cclxuI0FjY291bnRUb29scyBhOmhvdmVyIHsgY29sb3I6I2ZmZmYwMDsgdGV4dC1kZWNvcmF0aW9uOm5vbmU7IH1cclxuI0FjY291bnRUb29scyBiciB7IGNsZWFyOnJpZ2h0OyB9XHJcblxyXG4vKiBIRUFERVIgKi9cclxuI0hlYWRlciB7IHBvc2l0aW9uOnJlbGF0aXZlOyBiYWNrZ3JvdW5kOnVybCggLi4vYWRtaW4vaW1hZ2VzL0hlYWRlckJHLmdpZiApIGJvdHRvbSBsZWZ0IG5vLXJlcGVhdDsgdGV4dC1hbGlnbjpsZWZ0OyB9XHJcbiNIZWFkZXIgc3BhbiB7IGNvbG9yOiM0ZDllN2U7IGZvbnQtd2VpZ2h0OmJvbGQ7IH1cclxuI0hlYWRlckxvZ28geyBwYWRkaW5nOjRweCAwcHggMTRweCAyMHB4OyB9XHJcbiNIZWFkZXJMb2dvIGltZyB7IHdpZHRoOjI3M3B4OyBoZWlnaHQ6ODNweDsgYm9yZGVyLXdpZHRoOjBweDsgfVxyXG4jSGVhZGVyVGl0bGUgeyBwb3NpdGlvbjphYnNvbHV0ZTsgdG9wOjMwcHg7IHJpZ2h0OjMwcHg7IGZvbnQtc2l6ZToyOHB4OyBjb2xvcjojODk4MzgzOyBmb250LXdlaWdodDpib2xkOyB0ZXh0LWFsaWduOnJpZ2h0OyBjdXJzb3I6ZGVmYXVsdDsgfVxyXG4jSGVhZGVyVGl0bGUgc3BhbiB7IGNvbG9yOiMwMDQ2N2Y7IGZvbnQtc2l6ZToyOHB4OyBmb250LXdlaWdodDpib2xkOyB9XHJcblxyXG4vKiBTSVRFIFNFQVJDSCAqL1xyXG4jU2l0ZVNlYXJjaCB7IGRpc3BsYXk6bm9uZTsgcG9zaXRpb246YWJzb2x1dGU7IHRvcDo3cHg7IHJpZ2h0OjE0cHg7IH1cclxuI1NpdGVTZWFyY2ggaW5wdXQgeyB3aWR0aDoxNjBweDsgaGVpZ2h0OjE3cHg7IHBhZGRpbmc6NXB4IDdweCAycHggMzNweDsgY29sb3I6Izk5OTk5OTsgYmFja2dyb3VuZDp1cmwoIC4uL2FkbWluL2ltYWdlcy9TZWFyY2hJY29uLmdpZiApIG5vLXJlcGVhdCAxMXB4IGNlbnRlciAjZjdmN2Y3OyBvdXRsaW5lOm5vbmU7IGJvcmRlci13aWR0aDowcHg7IGJvcmRlci1yYWRpdXM6MTBweDsgfVxyXG5cclxuLyogTkFWSUdBVElPTiAqL1xyXG4jTmF2aWdhdGlvbiB7IHBvc2l0aW9uOnJlbGF0aXZlOyBoZWlnaHQ6MjRweDsgcGFkZGluZzoxMnB4IDBweCAxcHggMTBweDsgYmFja2dyb3VuZDp1cmwoIC4uL2FkbWluL2ltYWdlcy9CRy5wbmcgKSAjMjAyMDIwOyB9XHJcbiNOYXZpZ2F0aW9uIGJyIHsgY2xlYXI6Ym90aDsgfVxyXG4jTmF2aWdhdGlvbiBhIHsgcGFkZGluZzo0cHggNnB4IDRweCA2cHg7IGZvbnQtc2l6ZToxNHB4OyBjb2xvcjojRkZGRkZGOyBmb250LXdlaWdodDpib2xkOyB9XHJcbiNOYXZpZ2F0aW9uIGE6aG92ZXIgeyBjb2xvcjojZmZmZjAwOyB0ZXh0LWRlY29yYXRpb246bm9uZTsgfVxyXG5cclxuLyogTWFpbiBMaW5rcyAqL1xyXG4jTWFpbk5hdiB7IHdpZHRoOjk4MHB4OyBtYXJnaW46MHB4OyBwYWRkaW5nOjBweDsgbGlzdC1zdHlsZS10eXBlOm5vbmU7IH1cclxuI01haW5OYXYgPiBsaSB7IHBvc2l0aW9uOnJlbGF0aXZlOyBmbG9hdDpsZWZ0OyBtYXJnaW46MHB4IDhweCAwcHggMHB4OyB9XHJcbiNNYWluTmF2ID4gbGkgPiBhIHsgZGlzcGxheTpibG9jazsgbWluLXdpZHRoOjQ2cHg7IHRleHQtYWxpZ246Y2VudGVyOyBiYWNrZ3JvdW5kLWNvbG9yOiMwMDQ2N2Y7IGJvcmRlcjoxcHggc29saWQgIzY2NjY2NjsgYm9yZGVyLWJvdHRvbS13aWR0aDowcHg7IC1tb3otYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czo1cHg7IGJvcmRlci10b3AtbGVmdC1yYWRpdXM6NXB4OyAtbW96LWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOjVweDsgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6NXB4OyB9XHJcblxyXG4vKiBEcm9wZG93biBNZW51ICovXHJcbiNNYWluTmF2ID4gbGkgPiB1bCB7IGRpc3BsYXk6bm9uZTsgcG9zaXRpb246YWJzb2x1dGU7IHRvcDoyNXB4OyB6LWluZGV4OjEwMDsgbWluLXdpZHRoOjE1MHB4OyBtYXJnaW46MHB4OyBwYWRkaW5nOjBweDsgbGlzdC1zdHlsZS10eXBlOm5vbmU7IGJhY2tncm91bmQtY29sb3I6IzAwNDY3ZjsgYm9yZGVyOjFweCBzb2xpZCAjODk4MzgzOyBib3JkZXItdG9wLXdpZHRoOjBweDsgLW1vei1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjVweDsgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czo1cHg7IC1tb3otYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6NXB4OyBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czo1cHg7IH1cclxuI01haW5OYXYgPiBsaSA+IHVsID4gbGkgeyBkaXNwbGF5OmJsb2NrOyBmbG9hdDpub25lOyBwYWRkaW5nOjBweDsgfVxyXG4jTWFpbk5hdiA+IGxpID4gdWwgPiBsaSA+IGEgeyBkaXNwbGF5OmJsb2NrOyBmb250LXNpemU6MTJweDsgYm9yZGVyLXRvcDoxcHggc29saWQgIzg5ODM4MzsgfVxyXG4jTWFpbk5hdiA+IGxpID4gdWwgPiBsaSA+IHVsICB7IGxpc3Qtc3R5bGUtdHlwZTpkaXNjOyB9XHJcbiNNYWluTmF2ID4gbGkgPiB1bCA+IGxpID4gdWwgPiBsaSB7IGNvbG9yOiNmZmY7IH1cclxuI01haW5OYXYgPiBsaSA+IHVsID4gbGkgPiB1bCA+IGxpID4gYSB7IGRpc3BsYXk6YmxvY2s7IGZvbnQtc2l6ZToxMnB4O2xpc3Qtc3R5bGUtdHlwZTpub25lOyB9XHJcblxyXG4vKiBSb2xsb3ZlciBBY3Rpb24gKi9cclxuI01haW5OYXYgbGk6aG92ZXIgPiB1bC5jaGlsZCB7IGRpc3BsYXk6YmxvY2s7IH1cclxuI01haW5OYXYgbGk6aG92ZXIgPiB1bC5ncmFuZGNoaWxkICB7IGRpc3BsYXk6YmxvY2s7IH1cclxuXHJcbi8qIE1FTlUgKi9cclxuI0NydWRNZW51IHsgZmxvYXQ6cmlnaHQ7IHBhZGRpbmctdG9wOjRweDsgfVxyXG4jQ3J1ZE1lbnUgYSB7IGRpc3BsYXk6YmxvY2s7IGZsb2F0OnJpZ2h0OyBtaW4td2lkdGg6NjBweDsgbWFyZ2luOjBweCAwcHggMHB4IDEwcHg7IHBhZGRpbmc6MXB4IDZweCAxcHggNnB4OyBmb250LXNpemU6MTFweDsgZm9udC13ZWlnaHQ6Ym9sZDsgY29sb3I6I2ZmZmZmZjsgdGV4dC1hbGlnbjpjZW50ZXI7IGJhY2tncm91bmQtY29sb3I6IzAwNDY3ZjsgYm9yZGVyOjFweCBzb2xpZCAjODk4MzgzOyBib3JkZXItcmFkaXVzOjVweDsgb3V0bGluZTpub25lOyB9XHJcbiNDcnVkTWVudSBhOmhvdmVyIHsgY29sb3I6I2ZmZmYwMDsgdGV4dC1kZWNvcmF0aW9uOm5vbmU7IH1cclxuI0NydWRNZW51IGJyIHsgY2xlYXI6cmlnaHQ7IH1cclxuXHJcbi8qIENPTlRFTlQgKi9cclxuLkNvbnRlbnRDYXBXaGl0ZSB7IHdpZHRoOjk2MHB4OyBoZWlnaHQ6MjFweDsgYmFja2dyb3VuZDp1cmwoIC4uL2FkbWluL2ltYWdlcy9Db250ZW50Q2FwV2hpdGVCRy5wbmcgKSBuby1yZXBlYXQgdG9wIGxlZnQgIzIwMjAyMDsgYm9yZGVyLWJvdHRvbTowcHggc29saWQgI2UwZTVjMTsgfVxyXG4uQ0NXVG9wIHsgY2xlYXI6cmlnaHQ7IGhlaWdodDoxMHB4OyB9XHJcbiNDb250ZW50IHsgcGFkZGluZzoxMHB4IDQwcHggNDBweCAzMHB4OyB9XHJcbiNDb250ZW50U3BhY2VyIHsgY2xlYXI6bGVmdDsgaGVpZ2h0OjY1cHg7IH1cclxuI0NvbnRlbnRCb3R0b20geyB3aWR0aDo5NjBweDsgaGVpZ2h0OjIxcHg7IHBhZGRpbmctYm90dG9tOjE0cHg7IGJhY2tncm91bmQ6dXJsKCAuLi9hZG1pbi9pbWFnZXMvQkcucG5nICkgbGVmdCAtM3B4ICMyMDIwMjA7IH1cclxuI0NvbnRlbnRCb3R0b20gaW1nIHsgd2lkdGg6OTYwcHg7IGhlaWdodDoyMXB4OyBib3JkZXItd2lkdGg6MHB4OyB9XHJcblxyXG4vKiBGT09URVIgKi9cclxuI0Zvb3RlclNwYWNlciB7IGNsZWFyOmxlZnQ7IGhlaWdodDo2NXB4OyB9XHJcbiNGb290ZXJDb250YWluZXIgeyB3aWR0aDo5NzFweDsgbWFyZ2luOjBweCBhdXRvOyBiYWNrZ3JvdW5kOnVybCggLi4vYWRtaW4vaW1hZ2VzL0JHTWFpbi5wbmcgKSByZXBlYXQgcmlnaHQgMXB4OyB9XHJcbiNGb290ZXJDYXAgeyB3aWR0aDo5NThweDsgaGVpZ2h0OjIxcHg7IHBhZGRpbmctdG9wOjEwcHg7IGNvbG9yOiNGRkZGRkY7IGJhY2tncm91bmQtY29sb3I6IzAwNDY3ZjsgdGV4dC1hbGlnbjpjZW50ZXI7ICBib3JkZXI6MXB4IHNvbGlkICM2NjY2NjY7IGJvcmRlci1yYWRpdXM6MTVweCAxNXB4IDBweCAwcHg7IH1cclxuI0Zvb3RlckNhcCBzcGFuIHsgcGFkZGluZzowcHggMTBweCAwcHggMTBweDsgY29sb3I6I0ZGRkZGRjsgfVxyXG4jRm9vdGVyQ2FwIGEgeyBjb2xvcjojRkZGRkZGOyB9XHJcbiNGb290ZXJDYXAgYTpob3ZlciB7IGNvbG9yOiNmZmZmMDA7IHRleHQtZGVjb3JhdGlvbjpub25lOyB9XHJcbiNGb290ZXIgeyB3aWR0aDo5NjBweDsgaGVpZ2h0OjIzcHg7IHBhZGRpbmctdG9wOjEwcHg7IGJhY2tncm91bmQtY29sb3I6I0ZGRkZGRjsgdGV4dC1hbGlnbjpjZW50ZXI7IH1cclxuXHJcbi8qIFJlcG9ydHMgKi9cclxuI1JlcG9ydENyaXRlcmlhIHsgYmFja2dyb3VuZC1jb2xvcjojZDJkMmQyOyBib3JkZXI6MXB4IHNvbGlkICM2NjY2NjY7IHBhZGRpbmc6OHB4OyBtYXJnaW4tYm90dG9tOjE1cHg7IH1cclxuLlJlcG9ydFJlc3VsdHMgeyBwYWRkaW5nOjBweDsgbWFyZ2luOjBweDsgfVxyXG4uUmVwb3J0UmVzdWx0cyB0ciB0ZCB7IG1hcmdpbjowcHg7IHBhZGRpbmc6MnB4OyB9XHJcbi50b3RhbFJvdyB0ZCB7IHBhZGRpbmctdG9wOjRweDsgYm9yZGVyLXRvcDoxcHggc29saWQgIzAwMDAwMDsgdGV4dC1hbGlnbjpyaWdodDsgZm9udC13ZWlnaHQ6Ym9sZDsgfVxyXG4udG90YWxSb3cgeyBwYWRkaW5nLXRvcDo0cHg7IGJvcmRlci10b3A6MXB4IHNvbGlkICMwMDAwMDA7IHRleHQtYWxpZ246cmlnaHQ7IGZvbnQtd2VpZ2h0OmJvbGQ7IH1cclxuXHJcbi8qIEhvbWUgUGFnZSBTbGlkZSBTdHlsZXMgYW5kIENoaWxkcmVuIFBhZ2UgU2VxdWVuY2UgKi9cclxuLkhvbWVQYWdlSW1hZ2UgeyB3aWR0aDo4MzFweDsgaGVpZ2h0OjI3M3B4OyB9XHJcbi5QYWdlU2VxdWVuY2UgeyBjb2xvcjojMDAwMDAwOyBmb250LXNpemU6MTZweDsgZm9udC13ZWlnaHQ6Ym9sZDsgfVxyXG4uUGFnZVNlcXVlbmNlIGEgeyBjb2xvcjojMjI5OWJiOyBmb250LXdlaWdodDpib2xkOyBmb250LXNpemU6MTZweDsgfVxyXG4uUGFnZVNlcXVlbmNlIGE6aG92ZXIgeyBjb2xvcjojMjAyMDIwOyB0ZXh0LWRlY29yYXRpb246bm9uZTsgZm9udC1zaXplOjE2cHg7IH1cclxuXHJcbi8qIE1BSU4gTUVOVVMgKi9cclxuLmNvbnRlbnRTZWN0aW9uIHsgZmxvYXQ6bGVmdDsgbWFyZ2luOjEwcHggMHB4IDEwcHggMHB4OyB9XHJcbi5jb250ZW50U2VjdGlvbiBhIHsgY29sb3I6IzAwMDAwMDsgZm9udC1zaXplOjE2cHg7IH1cclxuLmNvbnRlbnRTZWN0aW9uIGE6aG92ZXIgeyBjb2xvcjojMWY0MGNiOyB0ZXh0LWRlY29yYXRpb246bm9uZTsgfVxyXG4uY29udGVudFNlY3Rpb24gaW1nIHsgd2lkdGg6NDhweDsgaGVpZ2h0OjQ4cHg7IGJvcmRlci13aWR0aDowcHg7IH1cclxuLmNvbnRlbnRTZWN0aW9uIGRpdiB7IGZsb2F0OmxlZnQ7IG1pbi13aWR0aDo0OHB4OyBtYXJnaW46MTBweCAxMHB4IDBweCAxMHB4OyB0ZXh0LWFsaWduOmNlbnRlcjsgZm9udC1zaXplOjEwcHg7IGZvbnQtd2VpZ2h0OmJvbGQ7IH1cclxuLmNvbnRlbnRTZWN0aW9uIGRpdiBhIHsgY29sb3I6IzAwMDAwMDsgZm9udC1zaXplOjExcHg7IGZvbnQtd2VpZ2h0OmJvbGQ7IH1cclxuLmNvbnRlbnRTZWN0aW9uIGRpdiBhOmhvdmVyIHsgY29sb3I6Ymx1ZTsgdGV4dC1kZWNvcmF0aW9uOm5vbmU7IH1cclxuLmNvbnRlbnRTZXBlcmF0b3IgeyBmbG9hdDpsZWZ0OyB3aWR0aDoxcHg7IGhlaWdodDoxMDdweDsgbWFyZ2luLXJpZ2h0OjI1cHg7IGJhY2tncm91bmQtY29sb3I6IzAwMDAwMDsgfVxyXG5cclxuLyogQ29udGVudCBQYWdlcyAqL1xyXG4jY29udGVudEhlYWRlckljb24geyBmbG9hdDpsZWZ0OyB3aWR0aDo3MnB4OyB9XHJcbiNjb250ZW50SGVhZGVyTmF2aWdhdGlvbiB7IHdpZHRoOjE1MHB4OyBtYXJnaW4tbGVmdDo4MjRweDsgdmVydGljYWwtYWxpZ246Ym90dG9tOyB9XHJcbiNjb250ZW50SGVhZGVyU3BhY2VyIHsgd2lkdGg6MTUwcHg7IHZlcnRpY2FsLWFsaWduOmJvdHRvbTsgaGVpZ2h0OjI0cHg7IH1cclxuI2NvbnRlbnRIZWFkZXJUaXRsZSB7IHdpZHRoOjY5OHB4OyBtYXJnaW4tbGVmdDo3MnB4OyBjb2xvcjojNjY2NjY2OyBsaW5lLWhlaWdodDoyMHB4OyBmb250LXNpemU6MThweDsgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOyBmb250LXdlaWdodDpib2xkOyB9XHJcbiNjb250ZW50SGVhZGVyU3ViVGl0bGUgeyB3aWR0aDo2OThweDsgbWFyZ2luLWxlZnQ6NzJweDsgY29sb3I6IzY2NjY2NjsgZm9udC1zaXplOjE0cHg7IH1cclxuI2NvbnRlbnRIZWFkZXJTdWJUaXRsZSBhIHsgY29sb3I6IzY2NjY2NjsgZm9udC1zaXplOjE0cHg7IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsgfVxyXG4jY29udGVudEJvZHkgeyBjbGVhcjpib3RoOyB9XHJcbiNtZW51IHsgaGVpZ2h0OjQ4cHg7IG1hcmdpbi1ib3R0b206MTBweDsgfVxyXG4jbWVudU9wZXJhdGlvbnMgeyBmbG9hdDpyaWdodDsgd2lkdGg6MjAwcHg7IHRleHQtYWxpZ246cmlnaHQ7IH1cclxuXHJcbi8qIExJTksgVEFCUyAqL1xyXG4uVGFibGVUYWJzeyB0ZXh0LWFsaWduOmxlZnQ7IH1cclxuLlRhYmxlVGFicyBoMiB7IG1hcmdpbjowcHg7IH1cclxuLlRhYmxlVGFicyBhIHsgZmxvYXQ6cmlnaHQ7IGRpc3BsYXk6YmxvY2s7IG1pbi13aWR0aDo2MHB4OyBtYXJnaW46MHB4IDBweCAwcHggNnB4OyBwYWRkaW5nOjFweCA1cHggMXB4IDVweDsgZm9udC1zaXplOjExcHg7IGNvbG9yOiNGRkZGRkY7IGZvbnQtd2VpZ2h0OmJvbGQ7IHRleHQtYWxpZ246Y2VudGVyOyBiYWNrZ3JvdW5kLWNvbG9yOiM0ZDllN2U7IGJvcmRlcjoxcHggc29saWQgIzg5ODM4MzsgYm9yZGVyLWJvdHRvbS1jb2xvcjojOTk5OTk5OyAtbW96LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6NXB4OyBib3JkZXItdG9wLWxlZnQtcmFkaXVzOjVweDsgLW1vei1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czo1cHg7IGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOjVweDsgfVxyXG4uVGFibGVUYWJzIGE6aG92ZXIgeyBjb2xvcjojZmZmZjAwOyB0ZXh0LWRlY29yYXRpb246bm9uZTsgfVxyXG4uVGFibGVUYWJzIGEuSGVyZSB7IGNvbG9yOiMyMDIwMjAgIWltcG9ydGFudDsgYmFja2dyb3VuZC1jb2xvcjojZmZmZjAwICFpbXBvcnRhbnQ7IGJvcmRlci1ib3R0b20tY29sb3I6I2ZmZmYwMCAhaW1wb3J0YW50OyB9XHJcbi5UYWJsZVRhYnMgYS5IZXJlOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTsgfVxyXG4uVGFibGVUYWJzIHNwYW4geyBmbG9hdDpyaWdodDsgZGlzcGxheTpibG9jazsgbWluLXdpZHRoOjYwcHg7IG1hcmdpbjowcHggMHB4IDBweCA2cHg7IHBhZGRpbmc6MXB4IDVweCAxcHggNXB4OyBmb250LXNpemU6MTFweDsgY29sb3I6Izk5OTk5OTsgZm9udC13ZWlnaHQ6Ym9sZDsgdGV4dC1hbGlnbjpjZW50ZXI7IGN1cnNvcjpkZWZhdWx0OyBvdXRsaW5lOm5vbmU7IGJhY2tncm91bmQtY29sb3I6I0Y1RjVGNTsgYm9yZGVyLWJvdHRvbS1jb2xvcjojOTk5OTk5OyAtbW96LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6NXB4OyBib3JkZXItdG9wLWxlZnQtcmFkaXVzOjVweDsgLW1vei1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czo1cHg7IGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOjVweDsgfVxyXG4uVGFibGVUYWJzIGJyIHsgY2xlYXI6Ym90aDsgfVxyXG5cclxuLyogRk9STVMgKi9cclxuZm9ybSB7IGhlaWdodDoxMDAlOyB9XHJcblxyXG4vKiBGT1JNIEJVVFRPTlMgKi9cclxuLkZvcm1CdXR0b25zIHsgcGFkZGluZzoxMHB4IDBweCAxMHB4IDBweDsgdGV4dC1hbGlnbjpyaWdodDsgfVxyXG4uRm9ybUJ1dHRvbnMgaW5wdXQgeyBtaW4td2lkdGg6NjBweDsgbWFyZ2luOjBweCAwcHggMHB4IDZweDsgcGFkZGluZzoxcHggNnB4IDFweCA2cHg7IGZvbnQtc2l6ZToxMXB4OyBmb250LXdlaWdodDpib2xkOyBjb2xvcjojZmZmZmZmOyBiYWNrZ3JvdW5kLWNvbG9yOiMwMDQ2N2Y7IGJvcmRlcjoxcHggc29saWQgIzg5ODM4MzsgYm9yZGVyLXJhZGl1czo1cHg7IG91dGxpbmU6bm9uZTsgfVxyXG4uRm9ybUJ1dHRvbnMgaW5wdXQ6aG92ZXIgeyBjb2xvcjojZmZmZjAwOyBjdXJzb3I6cG9pbnRlcjsgb3V0bGluZTpub25lOyB9XHJcbi5Gb3JtQnV0dG9ucyBpbnB1dDpmb2N1cyB7IG91dGxpbmU6bm9uZTsgcGFkZGluZzoxcHggNnB4IDFweCA2cHg7IH1cclxuLkZvcm1CdXR0b25zIGlucHV0OmFjdGl2ZSB7IG91dGxpbmU6bm9uZTsgcGFkZGluZzoxcHggNnB4IDFweCA2cHg7IH1cclxuLkZvcm1CdXR0b25zIGlucHV0OmZvY3VzOmFjdGl2ZSB7IG91dGxpbmU6bm9uZTsgcGFkZGluZzoxcHggNnB4IDFweCA2cHg7IH1cclxuLkZvcm1CdXR0b25zIGlucHV0OmRpc2FibGVkIHsgY29sb3I6Izk5OTk5OTsgY3Vyc29yOmRlZmF1bHQ7IG91dGxpbmU6bm9uZTsgYmFja2dyb3VuZC1jb2xvcjojRjVGNUY1OyB9XHJcbi5Gb3JtQnV0dG9ucy5MZWZ0IHsgdGV4dC1hbGlnbjpsZWZ0OyB9XHJcbi5Gb3JtQnV0dG9ucy5MZWZ0IC5CdXR0b24geyBtYXJnaW4tbGVmdDowcHg7IH1cclxuLkZvcm1CdXR0b25zIGlucHV0W3R5cGU9J3N1Ym1pdCddIHsgd2lkdGg6YXV0byAhaW1wb3J0YW50OyBtaW4td2lkdGg6NjBweCAhaW1wb3J0YW50OyBoZWlnaHQ6YXV0byAhaW1wb3J0YW50OyBtYXJnaW46MHB4IDBweCAwcHggNnB4ICFpbXBvcnRhbnQ7IHBhZGRpbmc6MXB4IDZweCAxcHggNnB4ICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZToxMXB4ICFpbXBvcnRhbnQ7IGZvbnQtd2VpZ2h0OmJvbGQgIWltcG9ydGFudDsgY29sb3I6I2ZmZmZmZjsgYmFja2dyb3VuZC1jb2xvcjojMDA0NjdmOyBib3JkZXI6MXB4IHNvbGlkICM4OTgzODM7IGJvcmRlci1yYWRpdXM6NXB4OyBvdXRsaW5lOm5vbmU7IH1cclxuLkZvcm1CdXR0b25zIGlucHV0W3R5cGU9J3N1Ym1pdCddOmhvdmVyIHsgY29sb3I6I2ZmZmYwMDsgY3Vyc29yOnBvaW50ZXI7IG91dGxpbmU6bm9uZTsgfVxyXG5cclxuLyogTE9HSU4gUEFHRSBGT1JNICovXHJcbiNMb2dpbkZvcm0geyB3aWR0aDo0MDBweDsgbWFyZ2luOjcwcHggYXV0byAwcHggYXV0bzsgdGV4dC1hbGlnbjpsZWZ0OyB9XHJcbiNMb2dpbkZvcm0gaDEgeyBtYXJnaW46IDBweDsgcGFkZGluZzogNXB4OyBjb2xvcjogI0ZGRkZGRjsgZm9udC1zaXplOiAxNnB4OyBmb250LXdlaWdodDogYm9sZDsgYm9yZGVyOiAxcHggc29saWQgIzk5OTk5OTsgYm9yZGVyLWJvdHRvbS13aWR0aDogMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA0NjdmOyB9XHJcbiNMb2dpbkZvcm0gLkZvcm1UYWJsZSB0aCB7IHdpZHRoOjMwJSAhaW1wb3J0YW50OyB9XHJcbiNMb2dpbkZvcm0gLkZvcm1UYWJsZSB0ZCB7IHdpZHRoOjcwJSAhaW1wb3J0YW50OyB9XHJcblxyXG4vKiBXRUIgR1JJRFMgKi9cclxuLldlYkdyaWRUYWJsZSB7IHdpZHRoOjEwMCU7IGJvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTsgYm9yZGVyLXNwYWNpbmc6MHB4IDBweDsgfVxyXG4uV2ViR3JpZFRhYmxlIHRoLCAuV2ViR3JpZFRhYmxlIHRkIHsgYm9yZGVyOjFweCBzb2xpZCAjQzBDMEMwOyB2ZXJ0aWNhbC1hbGlnbjp0b3A7IH1cclxuLldlYkdyaWRUYWJsZSB0aCwgLldlYkdyaWRUYWJsZSB0Ym9keSBhIHsgcGFkZGluZzo2cHggNnB4IDZweCA2cHg7IH1cclxuLldlYkdyaWRUYWJsZSBhOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOm5vbmU7IH1cclxuLldlYkdyaWRIZWFkZXIgeyBiYWNrZ3JvdW5kOnVybCggL2xpYi9pbWFnZXMvV2ViR3JpZEhlYWRlckJHLmpwZyApIHJlcGVhdC14ICNkZWRlZTY7IH1cclxuLldlYkdyaWRIZWFkZXIgYSB7IGNvbG9yOiMyMDIwMjA7IGZvbnQtd2VpZ2h0OmJvbGQ7ICB9XHJcbi5XZWJHcmlkSGVhZGVyIGE6aG92ZXIgeyBjb2xvcjojNGQ5ZTdlOyB9XHJcbi5XZWJHcmlkVGFibGUgdGJvZHkgYSB7IGRpc3BsYXk6YmxvY2s7IGNvbG9yOiMwMDAwMDA7IGZvbnQtd2VpZ2h0Om5vcm1hbCAhaW1wb3J0YW50OyB9XHJcbi5XZWJHcmlkVGFibGUgdGJvZHkgYTpob3ZlciB7IGNvbG9yOmJsdWU7IH1cclxuLldlYkdyaWRUYWJsZSB0Ym9keSB0cjpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6I0Y1RjVGNTsgfVxyXG4uV2ViR3JpZFRhYmxlIHRib2R5IHRyOmhvdmVyIGEgeyBjb2xvcjpibHVlOyB9XHJcbi5XZWJHcmlkUm93IHsgYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmOyB9XHJcbi5XZWJHcmlkUm93QWx0IHsgYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmOyB9XHJcbi5XZWJHcmlkRm9vdGVyIHsgYmFja2dyb3VuZDp1cmwoIC9saWIvaW1hZ2VzL1dlYkdyaWRIZWFkZXJCRy5qcGcgKSByZXBlYXQteCAjZGVkZWU2OyB9XHJcbi5XZWJHcmlkRm9vdGVyIHRkIHsgcGFkZGluZzowcHggNXB4IDBweCA1cHg7IHZlcnRpY2FsLWFsaWduOm1pZGRsZTsgfVxyXG4uV2ViR3JpZEZvb3RlciB0ZCwgLldlYkdyaWRGb290ZXIgYSB7IGZvbnQtc2l6ZToxNHB4OyB9XHJcbi5XZWJHcmlkRm9vdGVyIGEgeyBkaXNwbGF5OmlubGluZS1ibG9jazsgcGFkZGluZzo1cHggNXB4IDVweCA1cHg7IG1hcmdpbjowcHggMHB4IDBweCAwcHg7IH1cclxuLldlYkdyaWRGb290ZXIgYTpob3ZlciB7IGNvbG9yOiNGRkZGRkY7IGJhY2tncm91bmQtY29sb3I6IzRkOWU3ZTsgfVxyXG5cclxuLyogVklFV1MgKi9cclxuLlZpZXdCb3ggeyBmbG9hdDpsZWZ0OyB3aWR0aDo0NDBweDsgb3ZlcmZsb3c6YXV0bzsgbWFyZ2luOjBweCAyMHB4IDIwcHggMHB4OyB9XHJcbi5WaWV3Qm94UmlnaHQgeyBtYXJnaW4tcmlnaHQ6MHB4OyB9XHJcbi5WaWV3Qm94RnVsbCB7IGZsb2F0Om5vbmU7IHdpZHRoOmF1dG87IG1hcmdpbi1yaWdodDowcHg7IH1cclxuLlZpZXdCb3ggaDIgeyBtYXJnaW4tYm90dG9tOjBweDsgfVxyXG4uVmlld0JveCAuRm9ybVZhbHVlIHNlbGVjdCB7IG1heC13aWR0aDozMjBweDsgfVxyXG5cclxuLyogVGFiIE5hdmlnYXRpb24gR3JpZHMgKi9cclxuLkdyaWROYXYgeyBwYWRkaW5nOjVweCAwcHggNXB4IDBweDsgbWFyZ2luOjBweDsgbGlzdC1zdHlsZTpub25lOyB9XHJcbi5HcmlkTmF2IGxpIHsgZGlzcGxheTppbmxpbmU7IG1hcmdpbjowcHggMHB4IDBweCAwcHg7IHBhZGRpbmc6MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7IH1cclxuLkdyaWROYXZMaW5rIHsgdGV4dC1kZWNvcmF0aW9uOm5vbmU7IGJhY2tncm91bmQtY29sb3I6I2JmYmZiZjsgcGFkZGluZzo1cHg7IGNvbG9yOiMwMDAwMDA7IGZvbnQtc2l6ZToxMXB4OyBib3JkZXI6MXB4IHNvbGlkICMwMDA7IGZvbnQtd2VpZ2h0OmJvbGQ7IH1cclxuLkdyaWROYXZMaW5rSGVyZSB7IHRleHQtZGVjb3JhdGlvbjpub25lOyBiYWNrZ3JvdW5kLWNvbG9yOiNkZWRlZGU7IHBhZGRpbmc6NXB4OyBjb2xvcjojMDAwMDAwOyBib3JkZXI6MXB4IHNvbGlkICMwMDA7IGZvbnQtd2VpZ2h0OmJvbGQ7IH1cclxuXHJcbi8qIE1JU0MgKi9cclxuLkNsaXBib2FyZExpbmsgeyB3aWR0aDo5NSU7IG1hcmdpbjowcHg7IHBhZGRpbmc6MHB4OyBib3JkZXI6bm9uZTsgY29sb3I6I2I1OWQwNTsgYmFja2dyb3VuZC1jb2xvcjpUcmFuc3BhcmVudDsgfVxyXG5cclxuLyogVFVSTiBPRkYgKi9cclxuI0NvbnRlbnRIZWFkZXIgeyBkaXNwbGF5Om5vbmU7IH1cclxuXHJcbi8qIEhlbHAgUGFnZSBMYXlvdXQgKi9cclxuI0hlbHBQYWdlIHsgd2lkdGg6NjcwcHg7IG1hcmdpbjowcHggYXV0bzsgYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmOyB0ZXh0LWFsaWduOmxlZnQ7IGJvcmRlcjoxcHggc29saWQgYmxhY2s7IH1cclxuI0hlbHBIZWFkZXJUaXRsZSB7IGZvbnQtc2l6ZToxOHB4OyBmb250LXdlaWdodDpib2xkOyBjb2xvcjpXaGl0ZTsgdGV4dC1hbGlnbjpyaWdodDsgcGFkZGluZzozMHB4IDEwcHggMHB4IDBweDsgfVxyXG4jSGVscEJvZHkgeyBwYWRkaW5nOjIwcHg7IGJvcmRlci10b3A6MXB4IHNvbGlkICMwMDA7IH1cclxuXHJcbi8qIFNJVEUgRElSRUNUT1JZICovXHJcbiNTaXRlRGlyZWN0b3J5IGgyIHsgbWFyZ2luLWJvdHRvbToxMHB4OyB9XHJcbiNTaXRlRGlyZWN0b3J5IGg1IHsgbWFyZ2luOjVweCAwcHggMHB4IDBweDsgfVxyXG4jU2l0ZURpcmVjdG9yeSBsaSBkaXYgeyBwYWRkaW5nLWxlZnQ6MTBweDsgZm9udC1zaXplOjExcHg7IGZvbnQtc3R5bGU6aXRhbGljOyB9XHJcbiNTaXRlRGlyZWN0b3J5IHVsIHsgcGFkZGluZzozcHggMHB4IDNweCAyMHB4OyBtYXJnaW46MHB4OyB9XHJcbiNTaXRlRGlyZWN0b3J5IGxpIHsgcGFkZGluZy1ib3R0b206M3B4OyB9XHJcblxyXG4vKiBMaXN0IFN0eWxlcyAqL1xyXG4jU2l0ZURpcmVjdG9yeSB1bCBsaSB1bCB7IGxpc3Qtc3R5bGUtdHlwZTpzcXVhcmU7IH1cclxuI1NpdGVEaXJlY3RvcnkgdWwgbGkgdWwgbGkgdWwgeyBsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlOyB9XHJcbiNTaXRlRGlyZWN0b3J5IHVsIGxpIHVsIGxpIHVsIGxpIHVsIHsgbGlzdC1zdHlsZS10eXBlOmRpc2M7IH1cclxuXHJcbi8qIExpc3QgRm9udCBTaXplcyAqL1xyXG4jU2l0ZURpcmVjdG9yeSB1bCBsaSBhIHsgZm9udC1zaXplOjE0cHg7IH1cclxuI1NpdGVEaXJlY3RvcnkgdWwgbGkgdWwgbGkgYSB7IGZvbnQtc2l6ZToxM3B4OyB9XHJcbiNTaXRlRGlyZWN0b3J5IHVsIGxpIHVsIGxpIHVsIGxpIGEgeyBmb250LXNpemU6MTJweDsgfVxyXG5cclxuLmFsZXJ0X21lc3NhZ2Uge3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2JhY2tncm91bmQ6I2JkZmZiZDtwYWRkaW5nOjEwcHggMDtmb250LXNpemU6MTJweDt0ZXh0LWluZGVudDoxMHB4O2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zaXplOjE0cHg7ZGlzcGxheTpub25lO31cclxuXHJcbi50YWJsZSB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWFyZ2luLWJvdHRvbTogNDRweDtcclxufVxyXG4udGFibGUgPiB0aGVhZCA+IHRyID4gdGgsXHJcbi50YWJsZSA+IHRib2R5ID4gdHIgPiB0aCxcclxuLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRoLFxyXG4udGFibGUgPiB0aGVhZCA+IHRyID4gdGQsXHJcbi50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZCxcclxuLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkIHtcclxuICBwYWRkaW5nOiA4cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDIuODtcclxuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkZGRkO1xyXG59XHJcbi50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCB7XHJcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcclxuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2RkZGRkZDtcclxufVxyXG4udGFibGUgPiBjYXB0aW9uICsgdGhlYWQgPiB0cjpmaXJzdC1jaGlsZCA+IHRoLFxyXG4udGFibGUgPiBjb2xncm91cCArIHRoZWFkID4gdHI6Zmlyc3QtY2hpbGQgPiB0aCxcclxuLnRhYmxlID4gdGhlYWQ6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCA+IHRoLFxyXG4udGFibGUgPiBjYXB0aW9uICsgdGhlYWQgPiB0cjpmaXJzdC1jaGlsZCA+IHRkLFxyXG4udGFibGUgPiBjb2xncm91cCArIHRoZWFkID4gdHI6Zmlyc3QtY2hpbGQgPiB0ZCxcclxuLnRhYmxlID4gdGhlYWQ6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCA+IHRkIHtcclxuICBib3JkZXItdG9wOiAwO1xyXG59XHJcbi50YWJsZSA+IHRib2R5ICsgdGJvZHkge1xyXG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZGRkZGRkO1xyXG59XHJcbi50YWJsZSAudGFibGUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XHJcbn1cclxuLnRhYmxlLWNvbmRlbnNlZCA+IHRoZWFkID4gdHIgPiB0aCxcclxuLnRhYmxlLWNvbmRlbnNlZCA+IHRib2R5ID4gdHIgPiB0aCxcclxuLnRhYmxlLWNvbmRlbnNlZCA+IHRmb290ID4gdHIgPiB0aCxcclxuLnRhYmxlLWNvbmRlbnNlZCA+IHRoZWFkID4gdHIgPiB0ZCxcclxuLnRhYmxlLWNvbmRlbnNlZCA+IHRib2R5ID4gdHIgPiB0ZCxcclxuLnRhYmxlLWNvbmRlbnNlZCA+IHRmb290ID4gdHIgPiB0ZCB7XHJcbiAgcGFkZGluZzogNXB4O1xyXG59XHJcbi50YWJsZS1ib3JkZXJlZCB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZGRkZDtcclxufVxyXG4udGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyID4gdGgsXHJcbi50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHIgPiB0aCxcclxuLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0ciA+IHRoLFxyXG4udGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyID4gdGQsXHJcbi50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHIgPiB0ZCxcclxuLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0ciA+IHRkIHtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkZGRkO1xyXG59XHJcbi50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0aCxcclxuLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRkIHtcclxuICBib3JkZXItYm90dG9tLXdpZHRoOiAycHg7XHJcbn1cclxuLnRhYmxlLXN0cmlwZWQgPiB0Ym9keSA+IHRyOm50aC1jaGlsZChvZGQpID4gdGQsXHJcbi50YWJsZS1zdHJpcGVkID4gdGJvZHkgPiB0cjpudGgtY2hpbGQob2RkKSA+IHRoIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xyXG59XHJcbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHI6aG92ZXIgPiB0ZCxcclxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0cjpob3ZlciA+IHRoIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xyXG59XHJcbi50YWJsZSBjb2xbY2xhc3MqPVwiY29sLVwiXSB7XHJcbiAgcG9zaXRpb246IHN0YXRpYztcclxuICBmbG9hdDogbm9uZTtcclxuICBkaXNwbGF5OiB0YWJsZS1jb2x1bW47XHJcbn1cclxuLnRhYmxlIHRkW2NsYXNzKj1cImNvbC1cIl0sXHJcbi50YWJsZSB0aFtjbGFzcyo9XCJjb2wtXCJdIHtcclxuICBwb3NpdGlvbjogc3RhdGljO1xyXG4gIGZsb2F0OiBub25lO1xyXG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbn1cclxuLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRkLmFjdGl2ZSxcclxuLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLmFjdGl2ZSxcclxuLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkLmFjdGl2ZSxcclxuLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLmFjdGl2ZSxcclxuLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLmFjdGl2ZSxcclxuLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRoLmFjdGl2ZSxcclxuLnRhYmxlID4gdGhlYWQgPiB0ci5hY3RpdmUgPiB0ZCxcclxuLnRhYmxlID4gdGJvZHkgPiB0ci5hY3RpdmUgPiB0ZCxcclxuLnRhYmxlID4gdGZvb3QgPiB0ci5hY3RpdmUgPiB0ZCxcclxuLnRhYmxlID4gdGhlYWQgPiB0ci5hY3RpdmUgPiB0aCxcclxuLnRhYmxlID4gdGJvZHkgPiB0ci5hY3RpdmUgPiB0aCxcclxuLnRhYmxlID4gdGZvb3QgPiB0ci5hY3RpdmUgPiB0aCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcclxufVxyXG4udGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyID4gdGQuYWN0aXZlOmhvdmVyLFxyXG4udGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyID4gdGguYWN0aXZlOmhvdmVyLFxyXG4udGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyLmFjdGl2ZTpob3ZlciA+IHRkLFxyXG4udGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyLmFjdGl2ZTpob3ZlciA+IHRoIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZThlOGU4O1xyXG59XHJcbi50YWJsZSA+IHRoZWFkID4gdHIgPiB0ZC5zdWNjZXNzLFxyXG4udGFibGUgPiB0Ym9keSA+IHRyID4gdGQuc3VjY2VzcyxcclxuLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkLnN1Y2Nlc3MsXHJcbi50YWJsZSA+IHRoZWFkID4gdHIgPiB0aC5zdWNjZXNzLFxyXG4udGFibGUgPiB0Ym9keSA+IHRyID4gdGguc3VjY2VzcyxcclxuLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRoLnN1Y2Nlc3MsXHJcbi50YWJsZSA+IHRoZWFkID4gdHIuc3VjY2VzcyA+IHRkLFxyXG4udGFibGUgPiB0Ym9keSA+IHRyLnN1Y2Nlc3MgPiB0ZCxcclxuLnRhYmxlID4gdGZvb3QgPiB0ci5zdWNjZXNzID4gdGQsXHJcbi50YWJsZSA+IHRoZWFkID4gdHIuc3VjY2VzcyA+IHRoLFxyXG4udGFibGUgPiB0Ym9keSA+IHRyLnN1Y2Nlc3MgPiB0aCxcclxuLnRhYmxlID4gdGZvb3QgPiB0ci5zdWNjZXNzID4gdGgge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNkZmYwZDg7XHJcbn1cclxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciA+IHRkLnN1Y2Nlc3M6aG92ZXIsXHJcbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIgPiB0aC5zdWNjZXNzOmhvdmVyLFxyXG4udGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyLnN1Y2Nlc3M6aG92ZXIgPiB0ZCxcclxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ci5zdWNjZXNzOmhvdmVyID4gdGgge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNkMGU5YzY7XHJcbn1cclxuLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRkLmluZm8sXHJcbi50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZC5pbmZvLFxyXG4udGFibGUgPiB0Zm9vdCA+IHRyID4gdGQuaW5mbyxcclxuLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLmluZm8sXHJcbi50YWJsZSA+IHRib2R5ID4gdHIgPiB0aC5pbmZvLFxyXG4udGFibGUgPiB0Zm9vdCA+IHRyID4gdGguaW5mbyxcclxuLnRhYmxlID4gdGhlYWQgPiB0ci5pbmZvID4gdGQsXHJcbi50YWJsZSA+IHRib2R5ID4gdHIuaW5mbyA+IHRkLFxyXG4udGFibGUgPiB0Zm9vdCA+IHRyLmluZm8gPiB0ZCxcclxuLnRhYmxlID4gdGhlYWQgPiB0ci5pbmZvID4gdGgsXHJcbi50YWJsZSA+IHRib2R5ID4gdHIuaW5mbyA+IHRoLFxyXG4udGFibGUgPiB0Zm9vdCA+IHRyLmluZm8gPiB0aCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q5ZWRmNztcclxufVxyXG4udGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyID4gdGQuaW5mbzpob3ZlcixcclxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciA+IHRoLmluZm86aG92ZXIsXHJcbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIuaW5mbzpob3ZlciA+IHRkLFxyXG4udGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyLmluZm86aG92ZXIgPiB0aCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M0ZTNmMztcclxufVxyXG4udGFibGUgPiB0aGVhZCA+IHRyID4gdGQud2FybmluZyxcclxuLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLndhcm5pbmcsXHJcbi50YWJsZSA+IHRmb290ID4gdHIgPiB0ZC53YXJuaW5nLFxyXG4udGFibGUgPiB0aGVhZCA+IHRyID4gdGgud2FybmluZyxcclxuLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLndhcm5pbmcsXHJcbi50YWJsZSA+IHRmb290ID4gdHIgPiB0aC53YXJuaW5nLFxyXG4udGFibGUgPiB0aGVhZCA+IHRyLndhcm5pbmcgPiB0ZCxcclxuLnRhYmxlID4gdGJvZHkgPiB0ci53YXJuaW5nID4gdGQsXHJcbi50YWJsZSA+IHRmb290ID4gdHIud2FybmluZyA+IHRkLFxyXG4udGFibGUgPiB0aGVhZCA+IHRyLndhcm5pbmcgPiB0aCxcclxuLnRhYmxlID4gdGJvZHkgPiB0ci53YXJuaW5nID4gdGgsXHJcbi50YWJsZSA+IHRmb290ID4gdHIud2FybmluZyA+IHRoIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmOGUzO1xyXG59XHJcbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIgPiB0ZC53YXJuaW5nOmhvdmVyLFxyXG4udGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyID4gdGgud2FybmluZzpob3ZlcixcclxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ci53YXJuaW5nOmhvdmVyID4gdGQsXHJcbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIud2FybmluZzpob3ZlciA+IHRoIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmMmNjO1xyXG59XHJcbi50YWJsZSA+IHRoZWFkID4gdHIgPiB0ZC5kYW5nZXIsXHJcbi50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZC5kYW5nZXIsXHJcbi50YWJsZSA+IHRmb290ID4gdHIgPiB0ZC5kYW5nZXIsXHJcbi50YWJsZSA+IHRoZWFkID4gdHIgPiB0aC5kYW5nZXIsXHJcbi50YWJsZSA+IHRib2R5ID4gdHIgPiB0aC5kYW5nZXIsXHJcbi50YWJsZSA+IHRmb290ID4gdHIgPiB0aC5kYW5nZXIsXHJcbi50YWJsZSA+IHRoZWFkID4gdHIuZGFuZ2VyID4gdGQsXHJcbi50YWJsZSA+IHRib2R5ID4gdHIuZGFuZ2VyID4gdGQsXHJcbi50YWJsZSA+IHRmb290ID4gdHIuZGFuZ2VyID4gdGQsXHJcbi50YWJsZSA+IHRoZWFkID4gdHIuZGFuZ2VyID4gdGgsXHJcbi50YWJsZSA+IHRib2R5ID4gdHIuZGFuZ2VyID4gdGgsXHJcbi50YWJsZSA+IHRmb290ID4gdHIuZGFuZ2VyID4gdGgge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmRlZGU7XHJcbn1cclxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciA+IHRkLmRhbmdlcjpob3ZlcixcclxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciA+IHRoLmRhbmdlcjpob3ZlcixcclxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ci5kYW5nZXI6aG92ZXIgPiB0ZCxcclxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ci5kYW5nZXI6aG92ZXIgPiB0aCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ViY2NjYztcclxufVxyXG5cclxuI1B1YmxpY1ByZXZpZXcgZm9udCwgI1B1YmxpY1ByZXZpZXcgdGgsICNQdWJsaWNQcmV2aWV3IHRkLCAjUHVibGljUHJldmlldyBwLCAjUHVibGljUHJldmlldyBzcGFuLCAjUHVibGljUHJldmlldyBkaXYsICNQdWJsaWNQcmV2aWV3IHRleHRhcmVhLCAjUHVibGljUHJldmlldyBpbnB1dCwgI1B1YmxpY1ByZXZpZXcgc2VsZWN0LCAjUHVibGljUHJldmlldyBhLCAjUHVibGljUHJldmlldyBsaSB7IGZvbnQtZmFtaWx5OlZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIFNhbnMtU2VyaWY7IGZvbnQtc2l6ZToxNnB4OyBjb2xvcjojMDAwOyB9XHJcbiNQdWJsaWNQcmV2aWV3IGEgeyBjb2xvcjojMDI0NDU2OyB9XHJcbiNQdWJsaWNQcmV2aWV3IC5vdGFibGUgeyB3aWR0aDoxMDAlOyBib3JkZXItc3BhY2luZzowOyBib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7ICB9XHJcbiNQdWJsaWNQcmV2aWV3IC5vdGFibGUgdGggeyBiYWNrZ3JvdW5kLWNvbG9yOiMwMjQ0NTY7IGNvbG9yOiNmZmY7IH1cclxuI1B1YmxpY1ByZXZpZXcgLm90YWJsZSB0aCwgI1B1YmxpY1ByZXZpZXcgLm90YWJsZSB0ZCB7IGJvcmRlcjoxcHggc29saWQgIzAwMDsgcGFkZGluZzoxMHB4OyB9XHJcbiNQdWJsaWNQcmV2aWV3IC5vdGFibGUgdGggc3Ryb25nLCAjUHVibGljUHJldmlldyAub3RhYmxlIHRkIHN0cm9uZyB7IGZvbnQtd2VpZ2h0OmJvbGQ7IH1cclxuI1B1YmxpY1ByZXZpZXcgLm90YWJsZSB0aCBzdHJvbmcgYSwgI1B1YmxpY1ByZXZpZXcgLm90YWJsZSB0ZCBzdHJvbmcgYSB7IGZvbnQtd2VpZ2h0OmJvbGQ7IH1cclxuI1B1YmxpY1ByZXZpZXcgLm90YWJsZSB0aCBzdHJvbmcgc3BhbiwgI1B1YmxpY1ByZXZpZXcgLm90YWJsZSB0ZCBzdHJvbmcgc3BhbiB7IGZvbnQtd2VpZ2h0OmJvbGQ7IH1cclxuI1B1YmxpY1ByZXZpZXcgb2wsICNQdWJsaWNQcmV2aWV3IHVsIHsgbWFyZ2luLWJvdHRvbToyMnB4OyB9XHJcblxyXG4jbG9hZGluZy1kaXYge1xyXG4gICAgcG9zaXRpb246YWJzb2x1dGU7IHRvcDowOyBsZWZ0OjA7IHdpZHRoOjEwMCU7IGhlaWdodDoxMDAlOyBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwgMCwgMCwgMC40NSk7IHotaW5kZXg6MTAwOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGRpc3BsYXk6bm9uZTtcclxufVxyXG4ubG9hZGVyLWljb24ge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDQ1JTtcclxuICBsZWZ0OiA0NSU7XHJcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC00NSUsIC00NSUpO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC00NSUsIC00NSUpO1xyXG4gIGJvcmRlcjogMTBweCBzb2xpZCAjZjNmM2YzOyAvKiBMaWdodCBncmV5ICovXHJcbiAgYm9yZGVyLXRvcDogMTBweCBzb2xpZCAjMzQ5OGRiOyAvKiBCbHVlICovXHJcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gIHdpZHRoOiA1MHB4O1xyXG4gIGhlaWdodDogNTBweDtcclxuICBhbmltYXRpb246IHNwaW4gMnMgbGluZWFyIGluZmluaXRlO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNwaW4ge1xyXG4gIDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cclxuICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxyXG59Il19 */