/**
 * @package 	WordPress
 * @subpackage 	Bambini
 * @version 	1.0.0
 * 
 * Tribe Events CSS Rules
 * Created by CMSMasters
 * 
 */
.header_element_split {
  margin-left: 30px;
}
.header_element_split::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: -11px;
  width: 1px;
  height: 19px;
  opacity: 0.5;
  margin: auto;
  display: block;
  border-right-width: 1px;
  border-right-style: solid;
}
/*-------------------------------------------------------------------------*/
/* Skeleton Events Styles
/*-------------------------------------------------------------------------*/
/* = Global & Miscellaneous Styles
=============================================*/
.updated-info {
  text-indent: -9999px;
  height: 0;
}
/* Event Schedule Detail Styling */
.tribe-events-event-schedule-details {
  display: inline;
}
/* 2011 Theme Extra Calendar Room */
.events-archive .entry-content,
.events-archive .entry-header {
  width: 98%;
}
/* Remove "Edit" Link from unneeded templates */
.events-archive span.edit-link {
  display: none;
}
/* Miscellaneous Helper Classes */
.clearfix:before,
.tribe-clearfix:before,
.clearfix:after,
.tribe-clearfix:after {
  content: "";
  display: table;
}
.clearfix:after,
.tribe-clearfix:after {
  clear: both;
}
.clearfix,
.tribe-clearfix {
  zoom: 1;
}
.tribe-clear {
  clear: both;
}
.tribe-events-visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
.tribe-hide-text {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
.tribe-events-error {
  display: none;
}
.tribe-events-multi-event-day {
  color: #0f81bb;
}
#tribe-events-content .tribe-events-abbr {
  border-bottom: 0;
  cursor: default;
}
/* Tribe Spinner */
.tribe-events-spinner {
  width: 32px;
  height: 32px;
  margin-left: -16px;
  max-width: none;
}
.tribe-events-spinner-medium {
  width: 32px;
  height: 32px;
  margin-left: -12px;
  max-width: none;
}
.tribe-events-spinner-small {
  width: 16px;
  height: 16px;
  margin-left: -8px;
  max-width: none;
}
/* General Template Header/Footer Nav */
.tribe-events-ajax-loading {
  display: none;
  position: absolute;
  left: 50%;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.tribe-events-loading .tribe-events-ajax-loading {
  display: block;
}
/* General Template Header Nav */
#tribe-events-content li.tribe-events-nav-date {
  padding-top: 16px;
}
select.tribe-events-dropdown {
  width: auto;
  font-size: 11px;
  margin: 33px 9px 0 0;
}
#tribe-events-events-picker,
#tribe-events-picker {
  display: inline;
}
/* = Events List Widget Styles (Sidebar)
   @ Template:widgets/list-widget.php
=============================================*/
.tribe-events-list-widget ol,
.tribe-events-adv-list-widget ol {
  list-style-type: square;
  margin-left: 0;
  margin-bottom: 0;
}
.tribe-events-list-widget li,
.singular.page li.hentry,
.tribe-events-adv-list-widget li,
.singular.page li.hentry {
  margin: 6px 0;
  padding: 0 0 10px 0;
}
.tribe-events-list-widget li p.entry-title.summary,
.tribe-events-adv-list-widget li p.entry-title.summary {
  margin-bottom: 0;
  padding: 0;
  font-size: 100%;
}
/* = WooTickets
=============================================*/
table.tribe-events-tickets .tickets_price {
  font-style: italic;
  color: #000;
  font-weight: bold;
}
td.tickets_name {
  color: #777;
  font-size: 13px;
}
.single-tribe_events #tribe-events-content form.cart,
.single-tribe_events #tribe-events-content div.cart {
  margin: 30px 0;
}
table.tribe-events-tickets {
  margin: 0;
  width: 100%;
  border-bottom: 0;
}
table.tribe-events-tickets td {
  border-top: 1px solid #ddd;
  padding: 8px 10px 8px 0;
  vertical-align: middle;
}
table.tribe-events-tickets td.wpec {
  line-height: 0;
}
table.tribe-events-tickets td.woocommerce {
  border-bottom: 0;
}
table.tribe-events-tickets td.wpec img {
  display: none;
}
table.tribe-events-tickets .tickets_nostock {
  display: inline-block;
  text-align: center;
}
h2.tribe-events-tickets-title {
  margin: 20px 0 15px;
  font-size: 1.4em;
  font-weight: bold;
}
/* = Events Navigation Bar
   @ Template:modules/bar.php
=============================================*/
/* Views Select */
#tribe-bar-views .tribe-bar-view-select,
#tribe-bar-views .tribe-bar-view-select ~ .tribe-select2 {
  display: none;
}
#tribe-bar-views .tribe-select2 {
  width: 108px !important;
  float: left;
}
.tribe-select2-results .select2-results {
  margin: 4px 0;
  padding: 0;
}
.tribe-select2-results .select2-results .select2-result-label {
  padding: 6px 8px;
  color: #444;
  line-height: 14px;
}
.tribe-select2-results .select2-results .select2-highlighted {
  background: #ddd;
  color: #444;
}
#tribe-bar-views .select2-container .select2-choice div {
  width: 18px;
}
#tribe-bar-views .select2-container .select2-choice span {
  margin-right: 18px;
}
#tribe-bar-views .select2-container .select2-choice span span {
  margin-right: 0;
}
/* Views Select When Have Settings */
.tribe-has-settings #tribe-bar-dates {
  margin-left: -331px;
}
.tribe-has-settings #tribe-bar-views {
  width: 142px;
  margin-left: -142px;
}
.tribe-has-settings #tribe-bar-views .select2-container .select2-choice {
  -webkit-border-bottom-right-radius: 0;
  border-bottom-right-radius: 0;
  -webkit-border-top-right-radius: 0;
  border-top-right-radius: 0;
}
.tribe-has-settings #tribe-bar-views .select2-container .select2-choice div {
  -webkit-border-radius: 0;
  border-radius: 0;
  background: transparent;
  background-image: none;
  filter: none;
  border-left: 0;
}
/* Settings */
#tribe-events-bar .tribe-bar-settings {
  overflow: hidden;
}
#tribe-events-bar .tribe-bar-button-settings span {
  height: 100%;
  float: left;
  width: 14px;
  display: inline-block;
  position: relative;
}
#tribe-bar-views .tribe-bar-drop-content button {
  width: 100%;
}
/* Filters Button & Dropdown Content */
#tribe-events-bar .tribe-bar-button-settings {
  border-left-color: transparent;
  -webkit-border-radius: 0 4px 4px 0;
  border-radius: 0 4px 4px 0;
  float: left;
  margin-left: -1px;
}
.tribe-bar-settings .tribe-bar-drop-content {
  width: 285px;
  right: -5px;
  padding: 10px 12px 4px;
}
/* Bar Width Adjustments */
.tribe-bar-full #tribe-bar-views .tribe-bar-view-select,
.tribe-bar-full #tribe-bar-views .tribe-bar-view-select ~ .tribe-select2 {
  display: none;
}
.tribe-bar-mini #tribe-bar-views .tribe-bar-view-select,
.tribe-bar-mini #tribe-bar-views .tribe-bar-view-select ~ .tribe-select2 {
  display: block;
}
.tribe-bar-full #tribe-bar-views ul.tribe-bar-view-list {
  display: block;
}
.tribe-bar-mini #tribe-bar-views ul.tribe-bar-view-list {
  display: none;
}
/* Skeleton Events Pro Styles */
/* Events Loop */
.tribe-events-loop .tribe-events-loop .vevent {
  margin: 0;
}
.tribe-events-loop h2.tribe-events-page-title {
  padding-left: 0;
}
.tribe-events-loop .published {
  margin-top: 0;
}
/* = Map View Template Styles 
   @ Template:map.php
=============================================*/
/* tribe geo location option links (displayed when multiple locations found) */
#tribe-geo-results h2,
#tribe-geo-options h2 {
  color: #222;
  font-size: 18px;
  font-weight: bold;
  line-height: 1em;
  margin: 0 0 6px;
  padding: 0;
}
#tribe-geo-results h2 a,
#tribe-geo-options h2 a {
  color: #222;
}
#tribe-geo-links {
  margin-top: 20px;
  border-top: 1px solid #eee;
  border-right: 1px solid #eee;
  border-left: 1px solid #eee;
}
#tribe-geo-options {
  display: none;
  margin-bottom: 20px;
}
.tribe-geo-option-link {
  display: block;
  text-decoration: none;
  color: #444;
  border-bottom: 1px solid #eee;
  padding: 3px 6px;
  -webkit-transition: 0.1s ease-in-out;
  -moz-transition: 0.1s ease-in-out;
  -o-transition: 0.1s ease-in-out;
  transition: 0.1s ease-in-out;
}
.tribe-geo-option-link:hover {
  background: #f5f5f5;
}
.tribe-geo-option-link:hover,
.tribe-geo-option-link:focus {
  text-decoration: none;
}
.tribe-option-loaded,
.tribe-geo-option-link.tribe-option-loaded:hover {
  background: #666;
  color: #fff;
}
/* tribe geo location results list formatting */
#tribe-geo-results .tribe-events-notices {
  text-align: center;
  margin: 2.25em 0 0 0;
}
.tribe-geo-result-entry {
  position: relative;
  overflow: auto;
  border-bottom: 1px solid #ddd;
  padding: 2.25em 0;
}
.tribe-geo-result-last {
  border-bottom: none;
  padding-bottom: none;
}
.tribe-geo-result-thumb {
  float: left;
  width: 30%;
  margin-right: 2%;
}
.tribe-geo-result-thumb a {
  display: block;
  border: 1px solid #ddd;
  padding: 2px;
  -webkit-transition: 0.1s ease-in-out;
  -moz-transition: 0.1s ease-in-out;
  -o-transition: 0.1s ease-in-out;
  transition: 0.1s ease-in-out;
}
.tribe-geo-result-thumb a img {
  max-width: 100%;
  width: 100%;
  display: block;
}
.tribe-geo-result-data {
  float: right;
  width: 68%;
}
.tribe-geo-result-date {
  display: block;
  font-size: 16px;
  font-style: italic;
  margin: 10px 0 0 0;
  text-transform: none;
}
.tribe-geo-result-venue {
  display: block;
  margin: 10px 0 0 0;
  font-size: 16px;
}
.tribe-geo-result-excerpt {
  margin: 10px 0 0 0;
}
.tribe-geo-result-entry .tribe-geo-result-excerpt p {
  font-size: 14px;
}
.tribe-geo-result-entry h2 {
  float: left;
  width: 80%;
}
.tribe-geo-result-cost {
  width: 18%;
  float: right;
}
.tribe-geo-result-cost span {
  display: block;
  font-weight: bold;
  padding: 8px 10px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  text-align: center;
}
.timer {
  text-align: center;
  width: 100%;
  color: red;
  margin: 20px 0;
}
/* = View Loading / Pagination Styles 
   @ Template:map.php & photo.php
=============================================*/
#tribe-geo-loading {
  display: none;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: #fff;
  background: rgba(255, 255, 255, 0.2);
  z-index: 4;
  webkit-transition: all 1s linear;
  -moz-transition: all 1s linear;
  -o-transition: all 1s linear;
  -ms-transition: all 1s linear;
  transition: all 1s linear;
}
#tribe-geo-loading img {
  position: absolute;
  left: 50%;
  top: 50%;
  margin: -16px 0 0 -16px;
}
/* = Events Calendar Widget Styles (Sidebar)
   @ Template:widgets/calendar-widget.php
=============================================*/
.tribe-events-calendar-widget #tribe-events-calendar-wrap {
  width: 100%;
}
.tribe-events-calendar-widget table.tribe-events-calendar {
  width: 100%;
  table-layout: fixed;
  margin-top: 0;
  border-collapse: collapse;
}
.tribe-events-calendar-widget table.tribe-events-calendar,
.tribe-events-calendar-widget .tribe-events-calendar td {
  border: 1px solid #bbb;
}
.tribe-view-all-events {
  float: right;
}
.tribe-events-calendar-widget th {
  font-size: 10px;
  background-color: #e8e8e8;
  color: #555;
  width: 14.28%;
}
.tribe-events-calendar-widget td {
  height: auto;
  text-align: center;
}
.tribe-events-calendar-widget td div[id*="tribe-events-daynum-"] {
  padding: 6px 0;
  background-color: #f9f9f9;
}
.tribe-events-calendar-widget div[id*="tribe-events-daynum-"],
.tribe-events-calendar-widget td a {
  font-size: 10px;
}
.tribe-events-calendar-widget td a.tribe-events-day-has-event {
  color: #06c;
  cursor: default;
}
.tribe-events-calendar-widget .tribe-events-calendar .tribe-events-tooltip {
  width: 100px;
  left: 0;
  text-align: left;
  padding: 5px 10px;
  margin-bottom: 1.625em;
}
.tribe-events-calendar-widget .tribe-events-tooltip .tribe-events-arrow {
  left: 2px;
}
.tribe-events-calendar-widget .tribe-events-right .tribe-events-tooltip {
  right: 0;
  left: auto;
}
.tribe-events-calendar-widget .tribe-events-right .tribe-events-tooltip .tribe-events-arrow {
  left: auto;
  right: 2px;
}
.tribe-events-calendar-widget h5.entry-title {
  font-size: 11px;
  line-height: 1.5;
  padding: 0;
}
#ajax-loading-mini {
  display: none;
}
/*-------------------------------------------------------------------------*/
/* Global Events Styles
/*-------------------------------------------------------------------------*/
/* Icons */
.cmsmasters_theme_icon_date:before {
  content: '\e874';
}
.cmsmasters-icon-custom-clock:before {
  content: '\e849';
  font-family: "fontello-custom";
}
.cmsmasters_theme_icon_venue:before {
  content: '\e895';
}
.cmsmasters_theme_icon_money:before {
  content: '\e829';
}
.tribe-events-address {
  margin: 0;
}
.tribe-events-address .adr br {
  display: none;
}
/* Events Nav */
.tribe-events-sub-nav {
  list-style: none;
  margin: 0;
  padding: 15px 0;
  position: relative;
  overflow: hidden;
}
.tribe-events-sub-nav:empty {
  display: none;
}
.tribe-events-sub-nav li {
  display: block;
  margin: 0;
  padding: 0;
  position: relative;
}
.tribe-events-sub-nav li:before {
  content: none;
}
.tribe-events-sub-nav li a {
  display: inline-block;
  min-height: 26px;
  padding: 2px 0;
  position: relative;
}
.tribe-events-sub-nav li span:not([class]) {
  font-size: 15px;
  line-height: 46px;
  text-indent: -9999px;
  display: inline-block;
  vertical-align: middle;
  text-align: left;
}
.tribe-events-sub-nav li span:not([class]):before {
  position: absolute;
  top: 0;
  right: 0;
  font-family: 'fontello-custom';
  text-indent: 2px;
  line-height: 1em;
  width: 46px;
  line-height: 46px;
  text-align: center;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  overflow: hidden;
}
.tribe-events-sub-nav li.tribe-events-nav-left,
.tribe-events-sub-nav li.tribe-events-nav-left.tribe-events-nav-next,
.tribe-events-sub-nav li.tribe-events-nav-previous,
.tribe-events-sub-nav li.nav-previous {
  float: left;
}
.tribe-events-sub-nav li.tribe-events-nav-left a,
.tribe-events-sub-nav li.tribe-events-nav-left.tribe-events-nav-next a,
.tribe-events-sub-nav li.tribe-events-nav-previous a,
.tribe-events-sub-nav li.nav-previous a {
  padding-right: 0;
  padding-left: 60px;
}
.tribe-events-sub-nav li.tribe-events-nav-left span:not([class]),
.tribe-events-sub-nav li.tribe-events-nav-left.tribe-events-nav-next span:not([class]),
.tribe-events-sub-nav li.tribe-events-nav-previous span:not([class]),
.tribe-events-sub-nav li.nav-previous span:not([class]) {
  left: 0;
  right: auto;
}
.tribe-events-sub-nav li.tribe-events-nav-left span:not([class]):before,
.tribe-events-sub-nav li.tribe-events-nav-left.tribe-events-nav-next span:not([class]):before,
.tribe-events-sub-nav li.tribe-events-nav-previous span:not([class]):before,
.tribe-events-sub-nav li.nav-previous span:not([class]):before {
  content: '\e89d';
  left: 0;
}
.tribe-events-sub-nav li.tribe-events-nav-right,
.tribe-events-sub-nav li.tribe-events-nav-right.tribe-events-nav-previous,
.tribe-events-sub-nav li.tribe-events-nav-next,
.tribe-events-sub-nav li.nav-next {
  float: right;
  text-align: right;
}
.tribe-events-sub-nav li.tribe-events-nav-right a,
.tribe-events-sub-nav li.tribe-events-nav-right.tribe-events-nav-previous a,
.tribe-events-sub-nav li.tribe-events-nav-next a,
.tribe-events-sub-nav li.nav-next a {
  padding-right: 60px;
  padding-left: 0;
}
.tribe-events-sub-nav li.tribe-events-nav-right span:not([class]),
.tribe-events-sub-nav li.tribe-events-nav-right.tribe-events-nav-previous span:not([class]),
.tribe-events-sub-nav li.tribe-events-nav-next span:not([class]),
.tribe-events-sub-nav li.nav-next span:not([class]) {
  left: auto;
  right: 0;
}
.tribe-events-sub-nav li.tribe-events-nav-right span:not([class]):before,
.tribe-events-sub-nav li.tribe-events-nav-right.tribe-events-nav-previous span:not([class]):before,
.tribe-events-sub-nav li.tribe-events-nav-next span:not([class]):before,
.tribe-events-sub-nav li.nav-next span:not([class]):before {
  content: '\e89c';
}
/* Events Title */
.tribe-events-page-title {
  margin: 0;
  padding: 0 0 0px;
}
/* Events Header */
#tribe-events-header {
  visibility: hidden;
  display: none;
}
#tribe-events-header .screen-reader-text {
  display: none;
}
/* Events Footer */
#tribe-events-footer {
  position: relative;
  overflow: hidden;
}
#tribe-events-footer .screen-reader-text {
  display: none;
}
/* Events Tooltip */
.tribe-events-tooltip {
  display: none;
  margin: 0;
  padding: 0;
  width: 260px;
  min-width: 260px;
  position: absolute;
  z-index: 10000;
  -webkit-border-radius: 0 0 5px 5px;
  border-radius: 0 0 5px 5px;
}
.tribe-events-month .tribe-events-tooltip {
  bottom: 100% !important;
}
.tribe-events-right .tribe-events-tooltip {
  left: auto;
  right: 0;
}
.tribe-events-tooltip .preloader {
  padding-bottom: 65.5%;
}
.tribe-events-tooltip .preloader.highImg {
  height: auto;
  padding: 0;
}
.tribe-events-tooltip .tribe-events-event-body {
  padding: 30px 30px 15px;
  position: relative;
}
.tribe-events-tooltip .entry-title {
  margin: 0;
  position: relative;
}
.tribe-events-tooltip .duration {
  margin: 5px 0 15px;
  position: relative;
  overflow: hidden;
}
.tribe-events-tooltip .description {
  margin: 0;
  padding: 5px 0 0;
  position: relative;
  overflow: hidden;
}
.tribe-events-tooltip .tribe-events-arrow {
  display: none;
}
/* Event Notices */
.tribe-events-notices {
  padding: 20px 30px;
  margin: 30px 0;
}
.tribe-events-notices > ul,
.tribe-events-notices > ul > li {
  margin: 0;
  padding: 0;
  list-style: none;
}
.tribe-events-notices > ul:before,
.tribe-events-notices > ul > li:before {
  content: none;
}
.tribe-events-date {
  display: inline-block;
}
/* Recurring Info */
.recurringinfo {
  display: inline-block;
  position: relative;
}
.recurringinfo .tribe-events-divider {
  text-indent: -9999px;
  line-height: 1em;
  display: inline-block;
  width: 1em;
  margin: 0 1px;
  position: relative;
}
.recurringinfo .tribe-events-divider:before {
  content: '/';
  text-indent: 0;
  text-align: center;
  width: 1em;
  height: 1em;
  margin: auto !important;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}
.recurringinfo .recurring-info-tooltip {
  margin-top: 5px;
  padding: 0;
  overflow: visible;
  bottom: auto !important;
  top: 100%;
}
.recurringinfo .recurring-info-tooltip:before {
  content: '';
  display: block;
  width: 100%;
  height: 5px;
  position: absolute;
  left: 0;
  top: -5px;
}
.recurringinfo .recurring-info-tooltip .tribe-events-event-body {
  padding: 15px;
}
/* Events Map */
.gm-style img {
  max-width: none;
}
/*-------------------------------------------------------------------------*/
/* Events Bar
/*-------------------------------------------------------------------------*/
#tribe-events-bar {
  position: relative;
  overflow: hidden;
}
#tribe-bar-collapse-toggle {
  display: none;
}
/* Filters */
.tribe-bar-filters {
  padding: 0 0 10px;
  position: relative;
  overflow: hidden;
}
.tribe-bar-filters-inner {
  margin: 0 -1%;
  position: relative;
  overflow: hidden;
}
.tribe-bar-filters-inner > div {
  width: 31.33%;
  margin: 0 1% 20px;
  position: relative;
  float: left;
  overflow: hidden;
}
.tribe-events-uses-geolocation .tribe-bar-filters-inner > div {
  width: 23%;
}
.tribe-bar-filters-inner > div label {
  display: block;
  padding: 0 0 15px 22px;
}
.tribe-bar-filters-inner > div input {
  width: 100%;
  -webkit-border-radius: 35px;
  border-radius: 35px;
}
.tribe-bar-filters-inner > div.tribe-bar-submit input {
  width: 100%;
}
.datepicker.dropdown-menu {
  z-index: 999999999 !important;
}
.datepicker.dropdown-menu table tr th:first-child,
.datepicker.dropdown-menu table tr td:first-child {
  border-left-width: 0;
  border-left-style: solid;
}
.datepicker.dropdown-menu table tr th:last-child,
.datepicker.dropdown-menu table tr td:last-child {
  border-right-width: 0;
  border-right-style: solid;
}
/* Views */
#tribe-bar-views {
  display: inline-block;
  margin: 0;
  position: relative;
  overflow: hidden;
}
#tribe-bar-views .button {
  display: inline-block;
  vertical-align: middle;
  float: left;
}
#tribe-bar-views .tribe-bar-views-select {
  visibility: hidden;
  display: none;
}
#tribe-bar-views .tribe-bar-views-list {
  display: inline-block;
  vertical-align: middle;
  margin: 0;
  padding: 0 0 0 20px;
  position: relative;
  display: block !important;
  float: left;
  overflow: hidden !important;
  height: auto !important;
  padding-top: 0px !important;
  margin-top: 0px !important;
  padding-bottom: 0px !important;
  margin-bottom: 0px !important;
}
#tribe-bar-views .tribe-bar-views-list li {
  display: inline-block;
  vertical-align: middle;
  margin: 0 30px 0 0;
  padding: 0;
  overflow: hidden;
  cursor: pointer;
  text-align: right;
}
#tribe-bar-views .tribe-bar-views-list li:before {
  content: none;
}
#tribe-bar-views .tribe-bar-views-list li:last-child:after {
  content: none;
}
#tribe-bar-views .tribe-bar-views-list li a {
  padding: 0;
  cursor: pointer;
  outline: none;
  display: inline-block;
  letter-spacing: -0.15px;
  line-height: 1;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}
#tribe-bar-views .tribe-bar-views-list li.tribe-bar-active a {
  cursor: default;
}
#tribe-bar-views .tribe-bar-views-toggle {
  display: none !important;
}
#tribe-bar-views.tribe-bar-views-open .button {
  outline: none;
}
#tribe-bar-views.tribe-bar-views-open .tribe-bar-views-list {
  display: inline-block;
}
.datepicker.dropdown-menu {
  z-index: 9999 !important;
}
.tribe-events-read-more {
  outline: none;
  display: inline-block;
  letter-spacing: -0.15px;
  line-height: 1;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}
/*-------------------------------------------------------------------------*/
/* Events Pages
/*-------------------------------------------------------------------------*/
/* Map */
#tribe-geo-map-wrapper {
  padding: 0 0 120px;
  position: relative;
  z-index: 2;
  overflow: hidden;
}
#tribe-geo-map-wrapper #tribe-geo-map {
  width: 100%;
  height: 0;
  padding-bottom: 30%;
  position: relative;
  z-index: 3;
  overflow: hidden;
}
#tribe-geo-map-wrapper #tribe-geo-map label {
  width: auto;
  display: inline;
}
#tribe-geo-map-wrapper #tribe-geo-map img {
  max-width: none;
}
#tribe-geo-map-wrapper #tribe-geo-map > div {
  position: absolute;
}
.photo-loader {
  position: absolute;
  top: 200px;
  left: 50%;
}
#tribe-events-content {
  position: relative;
  padding: 75px 0 50px;
}
#tribe-events-content.tribe-events-single {
  padding: 0;
}
.middle_content #tribe-events-content.tribe-events-single {
  padding: 0 5% 60px;
}
#tribe-events-content > .tribe-events-button {
  display: inline-block;
  margin: 25px 0 0;
  position: relative;
}
#tribe-events-content .isotope,
#tribe-events-content .isotope .isotope-item {
  -webkit-transition-duration: 0.2s;
  -moz-transition-duration: 0.2s;
  -ms-transition-duration: 0.2s;
  -o-transition-duration: 0.2s;
  transition-duration: 0.2s;
}
/* Months */
.tribe-events-month {
  position: relative;
}
table.tribe-events-calendar {
  margin: 0 1px 2px;
  border-collapse: separate;
  border-spacing: 0;
  clear: both;
}
table.tribe-events-calendar thead th {
  width: 250px;
  padding: 13px 5px;
  letter-spacing: -0.45px;
  text-align: center;
}
table.tribe-events-calendar thead th:first-child {
  -webkit-border-radius: 10px 0 0 0;
  border-radius: 10px 0 0 0;
}
table.tribe-events-calendar thead th:last-child {
  -webkit-border-radius: 0 10px 0 0;
  border-radius: 0 10px 0 0;
}
table.tribe-events-calendar tbody td {
  width: 14.28%;
  height: 110px;
  vertical-align: top;
  position: relative;
  border-right-width: 2px;
  border-right-style: solid;
}
table.tribe-events-calendar tbody td:last-child {
  border-right-width: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
  border-right-width: 2px;
  border-right-style: solid;
}
table.tribe-events-calendar tbody td:first-child {
  border-left-width: 2px;
  border-left-style: solid;
}
table.tribe-events-calendar tbody td div[id*="tribe-events-daynum-"] {
  padding: 5px 15px;
  position: relative;
  overflow: hidden;
}
table.tribe-events-calendar tbody td div[id*="tribe-events-daynum-"] a {
  display: block;
  margin: -5px -15px;
  padding: 5px 15px;
  position: relative;
}
table.tribe-events-calendar tbody td.tribe-events-othermonth div[id*=tribe-events-daynum-] {
  color: transparent;
}
table.tribe-events-calendar tbody td.tribe-events-present {
  outline: none;
}
table.tribe-events-calendar tbody td.tribe-events-present div[id*="tribe-events-daynum-"] {
  outline: none;
  margin: 0 -2px;
}
table.tribe-events-calendar tbody td .tribe_events {
  margin: 0;
  position: relative;
  border-bottom-width: 2px;
  border-bottom-style: solid;
}
table.tribe-events-calendar tbody td .tribe_events:last-child {
  border-bottom-width: 0;
  border-bottom-style: solid;
}
table.tribe-events-calendar tbody td .tribe-events-month-event-title {
  margin: 0;
  padding: 0;
}
table.tribe-events-calendar tbody td .tribe-events-month-event-title a {
  display: block;
  padding: 10px 9%;
  letter-spacing: 0;
}
table.tribe-events-calendar tbody td .tribe-events-viewmore {
  padding: 5px 9%;
  position: relative;
  border-top-width: 0px;
  border-top-style: solid;
  overflow: hidden;
}
table.tribe-events-calendar tbody td .tribe-events-viewmore a {
  display: block;
  position: relative;
}
table.tribe-events-calendar tr:last-child td {
  border-bottom-width: 2px;
  border-bottom-style: solid;
}
table.tribe-events-calendar tr:last-child td:first-child {
  -webkit-border-radius: 0 0 0 10px;
  border-radius: 0 0 0 10px;
}
table.tribe-events-calendar tr:last-child td:last-child {
  -webkit-border-radius: 0 0 10px 0px;
  border-radius: 0 0 10px 0px;
}
/* List, Day, Map */
.tribe-events-list {
  position: relative;
}
.tribe-events-list .tribe-events-user-recurrence-toggle {
  visibility: hidden;
  display: none;
}
.tribe-events-list .tribe-events-list-separator-month,
.tribe-events-list .tribe-events-day-time-slot > h5 {
  display: block;
  margin: 0;
  padding: 10px 0 25px;
  position: relative;
  overflow: hidden;
}
.tribe-events-list .type-tribe_events {
  position: relative;
  padding: 40px 0;
  overflow: hidden;
}
.tribe-events-list .type-tribe_events:first-of-type {
  padding: 75px 0;
}
.tribe-events-list .type-tribe_events:last-of-type {
  padding-bottom: 20px;
}
.tribe-events-list .tribe-events-event-image {
  width: 33.6%;
  padding: 0 30px 0 0;
  text-align: center;
  float: left;
  overflow: hidden;
}
.tribe-events-list .tribe-events-event-image img {
  width: 100%;
  max-width: 100%;
  height: auto;
}
.tribe-events-list .cmsmasters_events_list_event_wrap {
  position: relative;
  overflow: hidden;
}
.tribe-events-list .cmsmasters_events_list_event_info {
  min-height: 65px;
  padding: 0 100px 0 0;
  position: relative;
  overflow: hidden;
}
.tribe-events-list .tribe-events-list-event-title {
  margin: 0;
  padding: 0;
}
.tribe-events-list .tribe-events-event-meta {
  margin: 0;
  padding: 7px 0 0;
  position: relative;
}
.tribe-events-list .tribe-events-event-meta .author > div {
  padding: 3px 0 0 33px;
  position: relative;
}
.tribe-events-list .tribe-events-event-meta .author > div:before {
  font-size: 16px;
  line-height: 1;
  width: 18px;
  height: 1em;
  margin: auto !important;
  position: absolute;
  left: 0;
  right: auto;
  top: 0.4em;
  bottom: auto;
}
.tribe-events-list .tribe-events-event-meta .tribe-address br {
  display: none;
}
.tribe-events-list .tribe-events-event-meta .tribe-events-gmap {
  margin: 0 0 0 5px;
}
.tribe-events-list .tribe-events-list-event-description {
  padding: 20px 0 0;
  position: relative;
  overflow: hidden;
  clear: both;
}
.tribe-events-list .tribe-events-read-more {
  outline: none;
  display: inline-block;
  letter-spacing: -0.15px;
  line-height: 1;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}
.tribe-events-map .tribe-events-page-title {
  display: block;
  margin: 0;
  padding: 0 0 25px;
  position: relative;
  overflow: hidden;
}
/* Photo */
.tribe-events-photo-grid-sizer {
  width: 33.33%;
}
.tribe-events-photo-gutter-sizer {
  width: 0;
}
.tribe-events-photo #tribe-events-photo-events {
  -webkit-transition-property: height;
  -moz-transition-property: height;
  -ms-transition-property: height;
  -o-transition-property: height;
  transition-property: height;
  margin: 0 -15px;
}
.tribe-events-photo #tribe-events-photo-events.isotope {
  opacity: 0;
}
.tribe-events-photo #tribe-events-photo-events.photo-hidden {
  opacity: 0;
}
.tribe-events-photo #tribe-events-photo-events.photo-two-col .tribe-events-photo-event {
  width: 50%;
}
.tribe-events-photo #tribe-events-photo-events .isotope-item {
  -webkit-transition-property: 0.2s ease-in;
  -moz-transition-property: 0.2s ease-in;
  -ms-transition-property: 0.2s ease-in;
  -o-transition-property: 0.2s ease-in;
  transition-property: 0.2s ease-in;
}
.tribe-events-photo .tribe-events-user-recurrence-toggle {
  visibility: hidden;
  display: none;
}
.tribe-events-photo .tribe-events-page-title {
  display: block;
  margin: 0;
  padding: 0 0 35px;
  position: relative;
  overflow: hidden;
}
.tribe-events-photo .tribe-events-photo-event {
  width: 33.33%;
  padding: 40px 20px 0;
  position: relative;
  float: left;
}
.tribe-events-photo .tribe-events-photo-event-wrap {
  position: relative;
  overflow: hidden;
}
.tribe-events-photo .tribe-events-event-image {
  width: 100%;
  height: 0;
  margin: 0;
  padding-bottom: 65.5%;
  position: relative;
}
.tribe-events-photo .tribe-events-event-image img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.tribe-events-photo .tribe-events-event-details {
  padding: 15px 0px 15px;
  position: relative;
}
.tribe-events-photo .tribe-events-list-event-title {
  margin: 0;
  padding: 0;
  position: relative;
}
.tribe-events-photo .tribe-events-event-meta {
  margin: 0;
  padding: 10px 0 0px;
  position: relative;
}
.tribe-events-photo .tribe-events-event-meta > div::before {
  font-size: 16px;
  margin: 0 10px 0 0;
}
.tribe-events-photo .time-details {
  position: relative;
}
.tribe-events-photo .tribe-events-list-photo-description {
  padding: 10px 0 20px;
  position: relative;
  overflow: hidden;
}
.tribe-events-photo .tribe-events-list-photo-description > *:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
}
/* Week */
.tribe-events-week-grid {
  z-index: 1000;
}
.tribe-events-grid {
  width: 100%;
  position: relative;
  padding: 80px 0 0;
}
.tribe-events-grid .tribe-scroller {
  position: relative;
  width: 100%;
  height: 500px;
  overflow: hidden;
  -webkit-border-radius: 0 0 10px 10px;
  border-radius: 0 0 10px 10px;
  border-left-width: 2px;
  border-left-style: solid;
  border-right-width: 2px;
  border-right-style: solid;
  border-bottom-width: 2px;
  border-bottom-style: solid;
}
.tribe-events-grid .tribe-scroller > .scroller-content {
  position: absolute;
  overflow: scroll;
  overflow-x: hidden;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.tribe-events-grid .tribe-scroller > .scroller-content:focus {
  outline: thin dotted;
}
.tribe-events-grid .tribe-scroller > .scroller-content::-webkit-scrollbar {
  display: none;
}
.tribe-events-grid .has-scrollbar > .scroller-content::-webkit-scrollbar {
  display: block;
}
.tribe-events-grid .tribe-scroller > .scroller-pane {
  background: rgba(0, 0, 0, 0.25);
  position: absolute;
  width: 10px;
  right: 0;
  top: 0;
  bottom: 0;
  visibility: hidden\9;
  /* Target only IE7 and IE8 with this hack */
  opacity: 0.01;
  -webkit-transition: 0.2s;
  -moz-transition: 0.2s;
  -o-transition: 0.2s;
  transition: 0.2s;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  z-index: 1000 !important;
}
.tribe-events-grid .tribe-scroller > .scroller-pane > .scroller-slider {
  background: #444;
  background: rgba(0, 0, 0, 0.5);
  position: relative;
  margin: 0 1px;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
}
.tribe-events-grid .tribe-scroller:hover > .scroller-pane,
.tribe-events-grid .scroller-pane.active,
.tribe-events-grid .scroller-pane.flashed {
  visibility: visible\9;
  /* Target only IE7 and IE8 with this hack */
  opacity: 0.99;
}
.tribe-events-grid .tribe-week-grid-outer-wrap {
  position: relative;
}
.tribe-events-grid .tribe-week-grid-inner-wrap {
  width: 100%;
  position: absolute;
}
.tribe-events-grid .tribe-week-grid-block {
  height: 90px;
  padding: 0;
  margin: 0;
  position: relative;
}
.tribe-events-grid .tribe-week-grid-block div {
  height: 45px;
  margin-bottom: 45px;
  border-top-width: 1px;
  border-top-style: solid;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}
.tribe-events-grid .tribe-grid-body {
  position: relative;
}
.tribe-events-grid .column {
  width: 14.2857%;
  min-height: 1px;
  vertical-align: top;
  position: relative;
  float: left;
}
.tribe-events-grid .column.first {
  width: 78px;
  text-align: center;
  float: left;
}
.tribe-events-grid .column.first > span {
  vertical-align: middle;
  padding: 20px 0;
  display: inline-block;
}
.tribe-events-grid .column.first:after {
  content: '';
  display: inline-block;
  vertical-align: middle;
  height: 100%;
}
.tribe-events-grid .tribe-week-grid-hours {
  width: 78px;
  float: left;
}
.tribe-events-grid .tribe-week-grid-hours div {
  height: 90px;
  padding: 35px 0 0;
  position: relative;
  text-align: center;
  border-top-width: 2px;
  border-top-style: solid;
}
.tribe-events-grid .tribe-week-grid-hours div:first-child {
  border-top-width: 0px;
  border-top-style: solid;
}
.tribe-events-grid .tribe-grid-content-wrap {
  padding: 0 0 0 78px;
  border-bottom-width: 2px;
  border-bottom-style: solid;
}
.tribe-events-grid .tribe-grid-content-wrap:after {
  content: '.';
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
  overflow: hidden;
}
.tribe-events-grid .tribe-grid-content-wrap .column {
  border-left-width: 2px;
  border-left-style: solid;
}
.tribe-events-grid .tribe-grid-header {
  position: relative;
  overflow: hidden;
  -webkit-border-radius: 10px 10px 0 0;
  border-radius: 10px 10px 0 0;
}
.tribe-events-grid .tribe-grid-header .column {
  border-left-width: 0;
  border-left-style: solid;
}
.tribe-events-grid .tribe-grid-header .tribe-week-today a {
  opacity: 0.65;
}
.tribe-events-grid .tribe-grid-header a {
  display: block;
}
.tribe-events-grid .tribe-grid-header a:hover {
  opacity: 0.65;
}
.tribe-events-grid .tribe-grid-header span {
  display: block;
  padding: 13px 5px;
  text-align: center;
}
.tribe-events-grid .tribe-grid-allday {
  margin-bottom: -1px;
  position: relative;
  z-index: 10;
  border-left-width: 2px;
  border-left-style: solid;
  border-right-width: 2px;
  border-right-style: solid;
  border-bottom-width: 0px;
  border-bottom-style: solid;
}
.tribe-events-grid .tribe-grid-allday .tribe-events-tooltip {
  top: 100% !important;
  bottom: auto !important;
}
.tribe-events-grid .tribe-grid-allday .tribe-week-event {
  position: relative;
}
.tribe-events-grid .tribe-grid-allday .tribe-week-event .vevent {
  width: 100%;
  min-width: 100%;
  max-width: 100%;
  cursor: pointer;
}
.tribe-events-grid .tribe-week-event {
  width: 100%;
  visibility: hidden;
  position: absolute;
}
.tribe-events-grid .tribe-week-event:hover {
  z-index: 800;
}
.tribe-events-grid .tribe-week-event .vevent {
  width: 100%;
  height: 100%;
  padding: 1px;
  position: relative;
  z-index: 1;
  cursor: pointer;
}
.tribe-events-grid .tribe-week-event .vevent .entry-title {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0px;
  border-width: 2px;
  border-style: solid;
  overflow: hidden;
}
.tribe-events-grid .tribe-week-event .vevent .entry-title a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 20px;
  text-overflow: ellipsis;
  overflow: hidden;
}
.tribe-events-grid .tribe-events-day-column-0 .tribe-events-tooltip,
.tribe-events-grid .tribe-events-day-column-6 .tribe-events-tooltip,
.tribe-events-grid .tribe-events-day-column-5 .tribe-events-tooltip {
  left: auto;
  right: 0;
}
.cmsmasters_event_start + .cmsmasters_event_end::before {
  content: " - ";
  display: inline;
}
#tribe-mobile-container {
  display: none;
  padding: 0;
  position: relative;
  overflow: hidden;
}
.tribe-mobile-day {
  position: relative;
  overflow: hidden;
}
.tribe-events-week-grid .tribe-mobile-day {
  padding-bottom: 30px;
}
.tribe-events-week-grid .tribe-mobile-day:last-child {
  padding-bottom: 0;
}
.tribe-mobile-day p:empty {
  display: none;
}
.tribe-mobile-day .tribe-mobile-day-heading {
  display: none;
}
.tribe-mobile-day .tribe-mobile-day-date {
  margin: 0;
  position: relative;
  clear: both;
  overflow: hidden;
}
.tribe-mobile-day .tribe-events-viewmore a {
  outline: none;
  display: inline-block;
  letter-spacing: -0.15px;
  line-height: 1;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}
.tribe-mobile-day .tribe-events-mobile {
  padding: 40px 0;
  position: relative;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  overflow: hidden;
  -webkit-box-shadow: 0 1px 0 0 rgba(255, 255, 255, 0.7);
  box-shadow: 0 1px 0 0 rgba(255, 255, 255, 0.7);
}
.tribe-mobile-day .tribe-events-mobile:last-child,
.tribe-mobile-day .tribe-events-mobile.tribe-events-last,
.tribe-mobile-day .tribe-events-mobile.tribe-event-end-month {
  padding-bottom: 0;
  border-bottom-width: 0;
  border-bottom-style: solid;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.tribe-events-week-grid .tribe-mobile-day .tribe-events-mobile {
  padding: 20px 0;
}
.tribe-mobile-day .summary {
  margin: 0;
}
.tribe-mobile-day .tribe-events-event-body {
  position: relative;
  margin-bottom: 20px;
  overflow: hidden;
}
.tribe-mobile-day .tribe-events-event-schedule-details,
.tribe-mobile-day .tribe-event-schedule-details {
  display: block;
  padding: 0 0 20px;
}
.tribe-events-week-grid .tribe-mobile-day .tribe-events-event-schedule-details,
.tribe-events-week-grid .tribe-mobile-day .tribe-event-schedule-details {
  padding-bottom: 10px;
}
.tribe-mobile-day .tribe-events-event-image {
  width: 100%;
  margin: 0 0 20px;
  position: relative;
  text-align: center;
  overflow: hidden;
}
.tribe-mobile-day .tribe-events-event-image img {
  width: 100%;
  max-width: 100%;
  height: auto;
}
.tribe-mobile-day .description {
  padding: 0 0 20px;
}
.tribe-mobile-day .tribe-events-read-more {
  outline: none;
  display: inline-block;
  letter-spacing: -0.15px;
  line-height: 1;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}
/*-------------------------------------------------------------------------*/
/* Single Event
/*-------------------------------------------------------------------------*/
.cmsmasters_single_event {
  margin: 0 0 40px;
  padding: 0 0 40px;
  position: relative;
}
.cmsmasters_single_event .cmsmasters_single_event_header {
  padding: 0 0 25px;
  position: relative;
}
.cmsmasters_single_event .cmsmasters_single_event_header:after {
  content: '.';
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
  overflow: hidden;
}
.cmsmasters_single_event .cmsmasters_single_event_header_left {
  float: left;
}
.cmsmasters_single_event .tribe-events-single-event-title {
  margin: 0;
  padding: 0 0 20px;
}
.cmsmasters_single_event .tribe-events-schedule {
  padding: 2px 0 0;
  position: relative;
}
.cmsmasters_single_event .tribe-events-schedule *[class*=icon] {
  position: relative;
  padding: 0 0 0 25px;
  overflow: hidden;
}
.cmsmasters_single_event .tribe-events-schedule *[class*=icon]::before {
  position: absolute;
  top: 0.2em;
  left: 0.05em;
  margin: 0 10px 0 0;
}
.cmsmasters_single_event .cmsmasters_event_address br {
  display: none;
}
.cmsmasters_single_event .tribe-events-cost {
  position: relative;
}
.cmsmasters_single_event .cmsmasters_single_event_header_right {
  padding: 10px 0 0;
  float: right;
  overflow: hidden;
}
.cmsmasters_single_event .cmsmasters_single_event_header_right div {
  overflow: hidden;
}
.cmsmasters_single_event .cmsmasters_single_event_header_right a {
  position: relative;
  display: block;
  clear: both;
  margin: 0 0 10px 0;
  outline: none;
  display: inline-block;
  letter-spacing: -0.15px;
  line-height: 1;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  float: right;
}
.cmsmasters_single_event .cmsmasters_single_event_header_right a[class*=icon] {
  margin-left: 1.5em;
}
.cmsmasters_single_event .cmsmasters_single_event_header_right a:before {
  position: absolute;
  width: 1em;
  height: 1em;
  top: 0;
  left: -1.5em;
  bottom: 1px;
  margin: auto;
}
.cmsmasters_single_event .cmsmasters_single_event_img {
  margin: 0 0 25px;
  position: relative;
  overflow: hidden;
}
.cmsmasters_single_event .cmsmasters_single_event_img .tribe-events-event-image {
  text-align: center;
}
.cmsmasters_single_event .cmsmasters_single_event_content {
  margin: 0;
  padding: 0;
  position: relative;
  overflow: hidden;
}
.cmsmasters_single_event .cmsmasters_single_event_content > *:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
}
.cmsmasters_single_event .cmsmasters_single_event_content + .tribe-events-cal-links {
  display: none;
}
.cmsmasters_single_event_meta {
  margin: 0 -1%;
  padding: 0 0 20px;
  position: relative;
  word-wrap: break-word;
  overflow: hidden;
}
.cmsmasters_single_event_meta.cmsmasters_event_meta_info_col_4 .tribe-events-meta-group {
  width: 23%;
}
.cmsmasters_single_event_meta.cmsmasters_event_meta_info_col_3 .tribe-events-meta-group {
  width: 31.33%;
}
.cmsmasters_single_event_meta.cmsmasters_event_meta_info_col_2 .tribe-events-meta-group {
  width: 48%;
}
.cmsmasters_single_event_meta .tribe-events-meta-group {
  width: 98%;
  margin: 0 1% 30px;
  position: relative;
  float: left;
  overflow: hidden;
}
.cmsmasters_single_event_meta .tribe-events-single-section-title {
  margin: 0;
  padding: 0 0 35px;
}
.cmsmasters_single_event_meta .cmsmasters_event_meta_info {
  overflow: hidden;
}
.cmsmasters_single_event_meta .cmsmasters_event_meta_info_item {
  padding: 0 0 10px;
  margin: 0 0 10px;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  overflow: hidden;
}
.cmsmasters_single_event_meta dl {
  padding: 0;
}
.cmsmasters_single_event_meta .cmsmasters_event_meta_info_item_title {
  letter-spacing: -0.37px;
}
.cmsmasters_single_event_meta .cmsmasters_event_meta_info_item_title,
.cmsmasters_single_event_meta .cmsmasters_event_meta_info_item_descr,
.cmsmasters_single_event_meta dt,
.cmsmasters_single_event_meta dd {
  display: inline-block;
  width: 35%;
  padding: 0 10px 0 0;
  position: relative;
  vertical-align: top;
  text-align: left;
  overflow: hidden;
}
.cmsmasters_single_event_meta .cmsmasters_event_meta_info_item_descr,
.cmsmasters_single_event_meta dd {
  width: 65%;
  padding: 0;
  margin: 0 0 0 -4px;
  text-align: right;
}
.tribe-events-single .post_nav {
  margin: 30px 0 50px;
  padding: 10px 0;
  border-bottom-width: 0;
  border-bottom-style: solid;
}
.tribe-events-single .post_nav:before {
  top: 0;
}
.tribe-events-single .post_nav:after {
  bottom: 1px;
}
.cmsmasters_single_event_map {
  position: relative;
  overflow: hidden;
  margin-bottom: 100px;
}
.cmsmasters_single_event_map [id*="tribe-events-gmap"] {
  width: 100% !important;
  padding-bottom: 40% !important;
  height: 0 !important;
  margin: 0 !important;
  position: relative !important;
}
.cmsmasters_single_event_map [id*="tribe-events-gmap"] > div {
  position: absolute;
}
/*-------------------------------------------------------------------------*/
/* Related Events
/*-------------------------------------------------------------------------*/
.tribe-events-related-events-title {
  margin: 0;
  padding: 0 0 25px;
}
ul.tribe-related-events {
  margin: 0 -1%;
  padding: 0;
  position: relative;
  overflow: visible !important;
}
ul.tribe-related-events li {
  width: 31.33%;
  margin: 0 1%;
  padding: 0;
  position: relative;
  float: left;
  overflow: hidden;
}
ul.tribe-related-events li:before {
  content: none;
}
ul.tribe-related-events .tribe-related-events-thumbnail a {
  display: block;
  height: 0;
  padding-bottom: 67.2%;
  position: relative;
  overflow: hidden;
}
ul.tribe-related-events .tribe-related-events-thumbnail a:empty {
  padding-bottom: 0;
}
ul.tribe-related-events .tribe-related-events-thumbnail img,
ul.tribe-related-events .tribe-related-events-thumbnail .cmsmasters_events_img_placeholder {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
ul.tribe-related-events .tribe-related-events-thumbnail .cmsmasters_events_img_placeholder:before {
  font-size: 40px;
  width: 1em;
  height: 1em;
  margin: auto !important;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}
ul.tribe-related-events .tribe-related-event-info {
  padding: 15px 0px 20px;
  position: relative;
  overflow: hidden;
}
ul.tribe-related-events .tribe-related-events-title {
  margin: 0;
  padding: 0;
}
/*-------------------------------------------------------------------------*/
/* Single Venue
/*-------------------------------------------------------------------------*/
div.tribe-events-venue {
  overflow: hidden;
}
.tribe-events-venue {
  position: relative;
}
.tribe-events-venue .cmsmasters_events_venue_header {
  padding: 0 0 25px;
  position: relative;
}
.tribe-events-venue .cmsmasters_events_venue_header:after {
  content: '.';
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
  overflow: hidden;
}
.tribe-events-venue .cmsmasters_events_venue_header_left {
  float: left;
}
.tribe-events-venue .cmsmasters_events_venue_header_left .entry-title {
  margin: 0;
  padding: 0;
}
.tribe-events-venue .tribe-events-event-meta {
  padding: 2px 0 0;
  position: relative;
}
.tribe-events-venue .tribe-events-event-meta .venue-address {
  margin: 0;
  position: relative;
  overflow: hidden;
}
.tribe-events-venue .tribe-events-event-meta .venue-address > span {
  display: block;
}
.tribe-events-venue .cmsmasters_events_venue_header_right {
  padding: 10px 0 0;
  float: right;
  overflow: hidden;
}
.tribe-events-venue .cmsmasters_events_venue_header_right a {
  display: block;
  clear: both;
  float: right;
}
.tribe-events-venue .cmsmasters_events_venue_header_right a:before {
  margin: 0 5px 0 0;
}
.tribe-events-venue .tribe-events-venue-meta {
  position: relative;
  overflow: hidden;
}
.tribe-events-venue .cmsmasters_events_venue_meta_img {
  margin: 0 0 25px;
  position: relative;
  overflow: hidden;
}
.tribe-events-venue .cmsmasters_events_venue_meta_img .tribe-events-event-image {
  text-align: center;
}
.tribe-events-venue .cmsmasters_events_venue_meta_img img {
  -webkit-border-radius: 4px;
  border-radius: 4px;
}
.tribe-events-venue .tribe-venue-description {
  margin: 0;
  padding: 0 0 35px;
  position: relative;
  overflow: hidden;
}
.tribe-events-venue .tribe-venue-description > *:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
}
.tribe-events-venue .cmsmasters_events_venue_meta_map {
  padding: 0 0 50px;
  position: relative;
  overflow: hidden;
}
.tribe-events-venue .cmsmasters_events_venue_meta_map [id*="tribe-events-gmap"] {
  width: 100% !important;
  padding-bottom: 40% !important;
  height: 0 !important;
  margin: 0 !important;
  position: relative !important;
}
.tribe-events-venue .cmsmasters_events_venue_meta_map [id*="tribe-events-gmap"] > div {
  position: absolute;
}
.tribe-events-venue #tribe-events-content {
  padding-top: 0;
}
/*-------------------------------------------------------------------------*/
/* Single Organizer
/*-------------------------------------------------------------------------*/
.tribe-events-organizer {
  position: relative;
}
.tribe-events-organizer .cmsmasters_events_organizer_header {
  padding: 0 0 25px;
  position: relative;
}
.tribe-events-organizer .cmsmasters_events_organizer_header:after {
  content: '.';
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
  overflow: hidden;
}
.tribe-events-organizer .cmsmasters_events_organizer_header_left {
  float: left;
}
.tribe-events-organizer .cmsmasters_events_organizer_header_left .entry-title {
  margin: 0;
  padding: 0;
}
.tribe-events-organizer .tribe-events-event-meta {
  padding: 2px 0 0;
  position: relative;
}
.tribe-events-organizer .tribe-events-event-meta .organizer-address {
  margin: 0;
  position: relative;
  overflow: hidden;
}
.tribe-events-organizer .tribe-events-event-meta .organizer-address > span {
  display: block;
}
.tribe-events-organizer .tribe-events-event-meta .organizer-address .tribe-events-divider {
  display: none;
}
.tribe-events-organizer .cmsmasters_events_organizer_header_right {
  padding: 10px 0 0;
  float: right;
  overflow: hidden;
}
.tribe-events-organizer .cmsmasters_events_organizer_header_right a {
  display: block;
  clear: both;
  float: right;
}
.tribe-events-organizer .cmsmasters_events_organizer_header_right a:before {
  margin: 0 5px 0 0;
}
.tribe-events-organizer .tribe-events-organizer-meta {
  position: relative;
  overflow: hidden;
}
.tribe-events-organizer .cmsmasters_events_organizer_meta_img {
  margin: 0 0 25px;
  position: relative;
  overflow: hidden;
}
.tribe-events-organizer .cmsmasters_events_organizer_meta_img .tribe-events-event-image {
  text-align: center;
}
.tribe-events-organizer .cmsmasters_events_organizer_meta_img img {
  -webkit-border-radius: 4px;
  border-radius: 4px;
}
.tribe-events-organizer .tribe-organizer-description {
  margin: 0;
  padding: 0 0 50px;
  position: relative;
  overflow: hidden;
}
.tribe-events-organizer .tribe-organizer-description > *:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
}
.tribe-events-organizer #tribe-events-content {
  padding-top: 0;
}
/*-------------------------------------------------------------------------*/
/* Widgets
/*-------------------------------------------------------------------------*/
/* Global Widgets Styles */
.widget .vcalendar,
.tribe-mini-calendar-list-wrapper {
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
  overflow: hidden;
}
.widget .vcalendar .type-tribe_events,
.tribe-mini-calendar-list-wrapper .type-tribe_events {
  margin: 0 0 30px;
  padding: 0 0 25px;
  position: relative;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  overflow: hidden;
  -webkit-box-shadow: 0 1px 0 0 rgba(255, 255, 255, 0.2);
  box-shadow: 0 1px 0 0 rgba(255, 255, 255, 0.2);
}
.widget .vcalendar .type-tribe_events:before,
.tribe-mini-calendar-list-wrapper .type-tribe_events:before {
  content: none;
}
.widget .vcalendar .tribe-events-list-widget-content-wrap,
.tribe-mini-calendar-list-wrapper .tribe-events-list-widget-content-wrap {
  padding: 0;
  position: relative;
  overflow: hidden;
}
.widget .vcalendar .entry-title,
.tribe-mini-calendar-list-wrapper .entry-title {
  margin: 0;
  padding: 0 0 7px;
  letter-spacing: -0.75px;
}
.widget .vcalendar .cmsmasters_widget_event_info,
.tribe-mini-calendar-list-wrapper .cmsmasters_widget_event_info {
  position: relative;
}
.widget .vcalendar [class*=cmsmasters_theme_icon],
.tribe-mini-calendar-list-wrapper [class*=cmsmasters_theme_icon],
.widget .vcalendar [class*=cmsmasters-icon-custom],
.tribe-mini-calendar-list-wrapper [class*=cmsmasters-icon-custom] {
  padding: 0px 0 0px 25px;
  margin-bottom: 6px;
  position: relative;
  overflow: hidden;
}
.widget .vcalendar [class*=cmsmasters_theme_icon]:before,
.tribe-mini-calendar-list-wrapper [class*=cmsmasters_theme_icon]:before,
.widget .vcalendar [class*=cmsmasters-icon-custom]:before,
.tribe-mini-calendar-list-wrapper [class*=cmsmasters-icon-custom]:before {
  font-size: 16px;
  line-height: 16px;
  width: 1em;
  height: 1em;
  margin: auto !important;
  position: absolute;
  left: 0;
  right: auto;
  top: 0.3em;
  bottom: auto;
}
.cmsmasters_event_date {
  display: block;
  margin: 0 18px 0 0;
  position: relative;
  text-align: center;
  float: left;
}
.cmsmasters_event_date:after {
  content: '';
  display: inline-block;
  vertical-align: middle;
  height: 100%;
}
.cmsmasters_event_date .cmsmasters_event_date_inner {
  display: inline-block;
  vertical-align: middle;
}
.cmsmasters_event_date .cmsmasters_event_day_mon {
  display: block;
}
.cmsmasters_event_date .cmsmasters_event_year {
  display: block;
}
.tribe-events-widget-link {
  margin: 15px 0 0;
  padding: 0;
  position: relative;
  text-align: right;
}
.tribe-events-widget-link a {
  outline: none;
  display: inline-block;
  letter-spacing: -0.15px;
  line-height: 1;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}
/* Widget Mini Calendar */
.tribe_mini_calendar_widget {
  position: relative;
  overflow: hidden;
}
.tribe_mini_calendar_widget .tribe-mini-calendar-wrapper {
  width: 100%;
}
.tribe_mini_calendar_widget .tribe-mini-calendar-grid-wrapper {
  padding: 0 1px;
  position: relative;
}
.tribe_mini_calendar_widget .tribe-mini-calendar-list-wrapper {
  padding: 25px 0 0;
  position: relative;
}
.tribe_mini_calendar_widget .tribe-mini-calendar-list-wrapper .type-tribe_events {
  margin-bottom: 15px;
  padding-bottom: 15px;
}
.tribe_mini_calendar_widget .tribe-mini-calendar-list-wrapper .type-tribe_events:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom-width: 0;
  border-bottom-style: solid;
}
.tribe_mini_calendar_widget .tribe-mini-calendar-list-wrapper .entry-title {
  padding: 0;
}
.tribe_mini_calendar_widget .tribe-mini-calendar-list-wrapper .cmsmasters_widget_event_info {
  margin: -4px 0 0;
  padding: 0;
}
.tribe_mini_calendar_widget .tribe-mini-calendar-list-wrapper [class*=cmsmasters_theme_icon] {
  padding: 0;
}
.tribe_mini_calendar_widget .tribe-mini-calendar-list-wrapper [class*=cmsmasters_theme_icon]:before {
  content: none;
  display: none;
}
.tribe_mini_calendar_widget .cmsmasters_event_date {
  display: none;
}
.tribe-mini-calendar {
  width: 100%;
  margin: 0 0 2px;
  border-collapse: separate;
  overflow: hidden;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.05);
  box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.05);
}
.tribe-mini-calendar th,
.tribe-mini-calendar td {
  width: 14.28571429%;
  vertical-align: top;
  text-align: center;
}
.tribe-mini-calendar div {
  position: relative;
  text-align: center;
}
.tribe-mini-calendar [id*=tribe-mini-calendar-month] {
  display: block;
  padding: 8px 40px;
  text-align: center;
}
.tribe-mini-calendar [id*=tribe-mini-calendar-month].active {
  visibility: hidden;
}
.tribe-mini-calendar #ajax-loading-mini {
  display: none;
  width: auto;
  height: 70%;
  margin: auto !important;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}
.tribe-mini-calendar .tribe-mini-calendar-nav-link {
  width: 34px;
  height: 100%;
  margin: auto !important;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}
.tribe-mini-calendar .tribe-mini-calendar-nav-link:before {
  font-family: "fontello";
  text-indent: 0;
  line-height: 1em;
  text-align: center;
  width: 1em;
  height: 1em;
  margin: auto !important;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}
.tribe-mini-calendar .tribe-mini-calendar-nav-link.prev-month {
  left: 0;
  right: auto;
}
.tribe-mini-calendar .tribe-mini-calendar-nav-link.prev-month:before {
  content: '\eb21';
}
.tribe-mini-calendar .tribe-mini-calendar-nav-link.next-month {
  left: auto;
  right: 0;
}
.tribe-mini-calendar .tribe-mini-calendar-nav-link.next-month:before {
  content: '\eb22';
}
.tribe-mini-calendar .tribe-mini-calendar-nav-link span {
  display: none;
}
.tribe-mini-calendar thead th {
  padding: 3px 0;
}
.tribe-mini-calendar tbody {
  outline: none;
}
.tribe-mini-calendar tbody a,
.tribe-mini-calendar tbody span {
  display: block;
  padding: 0 0 15px;
  position: relative;
}
.tribe-mini-calendar tbody tr:first-child a,
.tribe-mini-calendar tbody tr:first-child span {
  padding-top: 15px;
}
.tribe-mini-calendar tbody a:before {
  content: '';
  width: 5px;
  height: 5px;
  margin: auto !important;
  position: absolute;
  left: 0;
  right: 0;
  top: auto;
  bottom: 9px;
  -webkit-border-radius: 50%;
  border-radius: 50%;
}
/* Widget Events Venue */
.tribe-events-venue-widget {
  position: relative;
  overflow: hidden;
}
.tribe-events-venue-widget .tribe-venue-widget-wrapper {
  position: relative;
  overflow: hidden;
}
.tribe-events-venue-widget .tribe-venue-widget-venue {
  margin: 0 1px 25px;
  position: relative;
  overflow: hidden;
}
.tribe-events-venue-widget .tribe-venue-widget-thumbnail {
  width: 100%;
  height: 0;
  margin: 0;
  padding-bottom: 65.5%;
  position: relative;
}
.tribe-events-venue-widget .tribe-venue-widget-thumbnail img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.tribe-events-venue-widget .tribe-venue-widget-venue-name {
  padding: 10px 15px 10px 40px;
  position: relative;
}
.tribe-events-venue-widget .tribe-venue-widget-venue-name:before {
  font-size: 18px;
  line-height: 18px;
  width: 1em;
  height: 1em;
  margin: auto !important;
  position: absolute;
  left: 15px;
  right: auto;
  top: 0;
  bottom: 0;
}
.tribe-events-venue-widget .vcalendar .type-tribe_events {
  margin-bottom: 30px;
  padding-bottom: 30px;
}
.tribe-events-venue-widget .vcalendar .entry-title {
  padding: 0 0 15px;
}
.tribe-events-venue-widget .vcalendar .cmsmasters_widget_event_info {
  margin: -4px 0 0;
  padding: 0;
  overflow: hidden;
}
.tribe-events-venue-widget .tribe-events-widget-link {
  margin-top: -5px;
}
/* Widget CountDown */
.tribe-events-countdown-widget {
  position: relative;
  overflow: hidden;
}
.tribe-events-countdown-widget .tribe-countdown-text {
  padding: 0 0 5px;
  position: relative;
  overflow: hidden;
}
.tribe-events-countdown-widget .tribe-countdown-time {
  display: block;
  position: relative;
  overflow: hidden;
}
.tribe-events-countdown-widget .tribe-countdown-time div {
  text-align: center;
}
.tribe-events-countdown-widget .tribe-countdown-timer {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  overflow: hidden;
}
.tribe-events-countdown-widget .tribe-countdown-timer .tribe-countdown-number {
  width: 55px;
}
.tribe-events-countdown-widget .tribe-countdown-number {
  display: inline-block;
  vertical-align: top;
}
.tribe-events-countdown-widget .tribe-countdown-colon {
  display: inline-block;
  vertical-align: top;
}
.tribe-events-countdown-widget .tribe-countdown-under {
  display: block;
}
.tribe-events-countdown-widget .tribe-countdown-days span {
  text-transform: uppercase;
}
/* Widget This Week */
.tribe-this-week-events-widget {
  position: relative;
}
.tribe-this-week-events-widget .widgettitle {
  margin: 0 0 -25px;
  padding: 0 65px 0 0;
}
.tribe-this-week-events-widget .tribe-this-week-widget-wrapper {
  padding: 50px 0 0;
  position: relative;
  overflow: hidden;
}
.tribe-this-week-events-widget .tribe-events-page-title {
  margin: 0;
  padding: 0;
  text-align: left;
}
.tribe-this-week-events-widget .tribe-events-sub-nav {
  margin: 0;
  padding: 0;
  position: absolute;
  left: auto;
  right: 0;
  top: 0;
  bottom: auto;
}
.tribe-this-week-events-widget .tribe-events-sub-nav li a {
  padding: 0;
  display: block;
  width: 20px;
  height: 26px;
}
.tribe-this-week-events-widget .tribe-events-sub-nav li a span:not([class])::before {
  width: auto;
  line-height: 1;
  text-align: center;
}
.tribe-this-week-events-widget .tribe-events-sub-nav li .tribe-nav-label {
  display: none;
}
.tribe-this-week-events-widget .tribe-this-week-widget-weekday-wrapper {
  position: relative;
}
.tribe-this-week-events-widget .tribe-this-week-widget-day {
  padding: 10px 0 40px;
  margin: 0px 0 40px;
  position: relative;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}
.tribe-this-week-events-widget .tribe-this-week-widget-day:last-child {
  padding-bottom: 0;
  border-bottom-width: 0;
  border-bottom-style: solid;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.tribe-this-week-events-widget .tribe-this-week-widget-header-date {
  display: inline-block;
  margin: 0 0 3px;
}
.tribe-this-week-events-widget .this-week-today .tribe-this-week-widget-header-date {
  padding: 0 0px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
}
.tribe-this-week-events-widget .tribe-this-week-event {
  padding: 15px 0 0;
  position: relative;
}
.tribe-this-week-events-widget .tribe-this-week-event:first-child {
  padding: 0;
}
.tribe-this-week-events-widget .tribe-this-week-event .entry-title {
  margin: 0;
  padding: 0 0 5px;
}
.tribe-this-week-events-widget .tribe-this-week-event .duration,
.tribe-this-week-events-widget .tribe-this-week-event .tribe-venue {
  margin: 5px 0 0;
}
.tribe-this-week-events-widget .tribe-this-week-event .duration:before,
.tribe-this-week-events-widget .tribe-this-week-event .tribe-venue:before {
  font-size: 16px;
  margin: 0 7px 0 0;
}
.tribe-this-week-events-widget .tribe-events-viewmore {
  padding: 15px 0 0;
}
.tribe-this-week-events-widget .tribe-events-viewmore a {
  outline: none;
  display: inline-block;
  letter-spacing: -0.15px;
  line-height: 1;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}
/*-------------------------------------------------------------------------*/
/* Widgets
/*-------------------------------------------------------------------------*/
/* Events List */
#page .tribe-events-list-widget .widgettitle,
#page .tribe-events-adv-list-widget .widgettitle {
  display: none;
}
.tribe-events-list-widget .cmsmasters_feature_event,
.tribe-events-adv-list-widget .cmsmasters_feature_event {
  padding: 0px 0;
  display: none;
  text-align: center;
}
.tribe-events-list-widget .tribe-event-featured .cmsmasters_event_big_date .cmsmasters_event_big_day,
.tribe-events-adv-list-widget .tribe-event-featured .cmsmasters_event_big_date .cmsmasters_event_big_day {
  font-size: 55px;
}
.tribe-events-list-widget .cmsmasters_event_big_date,
.tribe-events-adv-list-widget .cmsmasters_event_big_date {
  margin-bottom: 15px;
  float: left;
  margin-bottom: 0;
  padding-right: 15px;
  width: 70px;
}
.tribe-events-list-widget .cmsmasters_event_big_date .cmsmasters_event_big_month,
.tribe-events-adv-list-widget .cmsmasters_event_big_date .cmsmasters_event_big_month {
  text-align: center;
}
.tribe-events-list-widget .cmsmasters_event_big_date .cmsmasters_event_big_day,
.tribe-events-adv-list-widget .cmsmasters_event_big_date .cmsmasters_event_big_day {
  font-size: 44px;
  letter-spacing: -2.2px;
  text-align: center;
}
#page .tribe-events-list-widget .cmsmasters_event_big_date .cmsmasters_event_big_day,
#page .tribe-events-adv-list-widget .cmsmasters_event_big_date .cmsmasters_event_big_day {
  line-height: 1;
}
.tribe-events-list-widget .cmsmasters_event_big_date .cmsmasters_event_big_week,
.tribe-events-adv-list-widget .cmsmasters_event_big_date .cmsmasters_event_big_week {
  display: none;
}
#page .tribe-events-list-widget .cmsmasters_event_big_date,
#page .tribe-events-adv-list-widget .cmsmasters_event_big_date {
  margin-bottom: 0;
}
.tribe-events-list-widget .tribe-events-list-event-description,
.tribe-events-adv-list-widget .tribe-events-list-event-description,
.tribe-events-list-widget .tribe-events-widget-link,
.tribe-events-adv-list-widget .tribe-events-widget-link,
.tribe-events-list-widget .tribe-events-event-cost,
.tribe-events-adv-list-widget .tribe-events-event-cost {
  display: none;
}
#page .cmsmasters_sidebar .tribe-events-list-widget .tribe-events-list-event-description,
#page .cmsmasters_sidebar .tribe-events-adv-list-widget .tribe-events-list-event-description {
  display: block;
}
#page .cmsmasters_sidebar .tribe-events-list-widget .tribe-events-list-event-description p:last-child,
#page .cmsmasters_sidebar .tribe-events-adv-list-widget .tribe-events-list-event-description p:last-child {
  padding-bottom: 0;
}
#page .cmsmasters_sidebar .tribe-events-list-widget .vcalendar .type-tribe_events,
#page .cmsmasters_sidebar .tribe-events-adv-list-widget .vcalendar .type-tribe_events {
  padding: 36px 0;
  margin: 0 0 6px;
  position: relative;
  overflow: hidden;
  border-bottom-width: 0;
  border-bottom-style: solid;
}
#page .cmsmasters_sidebar .tribe-events-list-widget .vcalendar .type-tribe_events:last-child,
#page .cmsmasters_sidebar .tribe-events-adv-list-widget .vcalendar .type-tribe_events:last-child {
  margin: 0;
}
#page .cmsmasters_sidebar .tribe-events-list-widget .vcalendar .type-tribe_events .tribe-events-event-image,
#page .cmsmasters_sidebar .tribe-events-adv-list-widget .vcalendar .type-tribe_events .tribe-events-event-image,
#page .cmsmasters_sidebar .tribe-events-list-widget .vcalendar .type-tribe_events .cmsmasters_events_list_event_info,
#page .cmsmasters_sidebar .tribe-events-adv-list-widget .vcalendar .type-tribe_events .cmsmasters_events_list_event_info,
#page .cmsmasters_sidebar .tribe-events-list-widget .vcalendar .type-tribe_events .cmsmasters_event_big_date,
#page .cmsmasters_sidebar .tribe-events-adv-list-widget .vcalendar .type-tribe_events .cmsmasters_event_big_date {
  display: table-cell;
  vertical-align: middle;
  float: none;
}
#page .cmsmasters_sidebar .tribe-events-list-widget .vcalendar .type-tribe_events .cmsmasters_event_big_date,
#page .cmsmasters_sidebar .tribe-events-adv-list-widget .vcalendar .type-tribe_events .cmsmasters_event_big_date {
  width: 13em;
  padding-right: 20px;
  text-align: left;
}
#page .cmsmasters_sidebar .tribe-events-list-widget .vcalendar .type-tribe_events .cmsmasters_event_big_day,
#page .cmsmasters_sidebar .tribe-events-adv-list-widget .vcalendar .type-tribe_events .cmsmasters_event_big_day {
  margin-top: -0.1em;
  line-height: 1;
  padding: 0 15px 0 0;
  letter-spacing: -3.9px;
  float: left;
  text-align: left;
}
#page .cmsmasters_sidebar .tribe-events-list-widget .vcalendar .type-tribe_events .cmsmasters_event_big_date_ovh,
#page .cmsmasters_sidebar .tribe-events-adv-list-widget .vcalendar .type-tribe_events .cmsmasters_event_big_date_ovh {
  float: left;
  text-align: left;
}
#page .cmsmasters_sidebar .tribe-events-list-widget .vcalendar .type-tribe_events .cmsmasters_event_big_month,
#page .cmsmasters_sidebar .tribe-events-adv-list-widget .vcalendar .type-tribe_events .cmsmasters_event_big_month {
  display: block;
  opacity: 0.8;
  text-align: left;
}
#page .cmsmasters_sidebar .tribe-events-list-widget .vcalendar .type-tribe_events .cmsmasters_event_big_week,
#page .cmsmasters_sidebar .tribe-events-adv-list-widget .vcalendar .type-tribe_events .cmsmasters_event_big_week {
  display: block;
  opacity: 0.5;
  text-align: left;
}
.tribe-events-list-widget .tribe-events-list-widget-events.tribe-event-featured .cmsmasters_feature_event,
.tribe-events-adv-list-widget .tribe-events-list-widget-events.tribe-event-featured .cmsmasters_feature_event,
.tribe-events-list-widget .tribe-mini-calendar-event.tribe-event-featured .cmsmasters_feature_event,
.tribe-events-adv-list-widget .tribe-mini-calendar-event.tribe-event-featured .cmsmasters_feature_event {
  display: block;
}
#page .cmsmasters_sidebar .tribe-events-list-widget .tribe-events-list-widget-events,
#page .cmsmasters_sidebar .tribe-events-adv-list-widget .tribe-events-list-widget-events,
#page .cmsmasters_sidebar .tribe-events-list-widget .tribe-mini-calendar-event,
#page .cmsmasters_sidebar .tribe-events-adv-list-widget .tribe-mini-calendar-event {
  position: relative;
  display: table;
  width: 100%;
  border-width: 0;
  border-style: solid;
}
#page .cmsmasters_sidebar .tribe-events-list-widget .tribe-events-list-widget-events .cmsmasters_feature_event,
#page .cmsmasters_sidebar .tribe-events-adv-list-widget .tribe-events-list-widget-events .cmsmasters_feature_event,
#page .cmsmasters_sidebar .tribe-events-list-widget .tribe-mini-calendar-event .cmsmasters_feature_event,
#page .cmsmasters_sidebar .tribe-events-adv-list-widget .tribe-mini-calendar-event .cmsmasters_feature_event {
  display: none;
}
#page .cmsmasters_sidebar .tribe-events-list-widget .tribe-events-list-widget-events > div:first-of-type,
#page .cmsmasters_sidebar .tribe-events-adv-list-widget .tribe-events-list-widget-events > div:first-of-type,
#page .cmsmasters_sidebar .tribe-events-list-widget .tribe-mini-calendar-event > div:first-of-type,
#page .cmsmasters_sidebar .tribe-events-adv-list-widget .tribe-mini-calendar-event > div:first-of-type {
  padding-left: 0;
  padding-right: 2%;
}
#page .cmsmasters_sidebar .tribe-events-list-widget .tribe-events-list-widget-events > div:last-of-type,
#page .cmsmasters_sidebar .tribe-events-adv-list-widget .tribe-events-list-widget-events > div:last-of-type,
#page .cmsmasters_sidebar .tribe-events-list-widget .tribe-mini-calendar-event > div:last-of-type,
#page .cmsmasters_sidebar .tribe-events-adv-list-widget .tribe-mini-calendar-event > div:last-of-type {
  padding-left: 2%;
  padding-right: 0;
}
.tribe-events-list-widget .tribe-events-event-image,
.tribe-events-adv-list-widget .tribe-events-event-image {
  display: none;
}
#page .cmsmasters_sidebar .tribe-events-list-widget .tribe-events-event-image,
#page .cmsmasters_sidebar .tribe-events-adv-list-widget .tribe-events-event-image {
  width: 238px;
  display: table-cell;
  vertical-align: middle;
}
#page .cmsmasters_sidebar .tribe-events-list-widget .tribe-events-event-image .cmsmasters_img_wrap,
#page .cmsmasters_sidebar .tribe-events-adv-list-widget .tribe-events-event-image .cmsmasters_img_wrap {
  max-width: 200px;
  width: 100%;
  max-height: 90px;
}
.tribe-events-list-widget .cmsmasters_events_more,
.tribe-events-adv-list-widget .cmsmasters_events_more {
  display: none;
}
#page .cmsmasters_column.one_first .cmsmasters_sidebar.sidebar_layout_11 .tribe-events-list-widget .cmsmasters_events_more,
#page .cmsmasters_column.one_first .cmsmasters_sidebar.sidebar_layout_11 .tribe-events-adv-list-widget .cmsmasters_events_more {
  display: table-cell;
  vertical-align: middle;
  min-width: 210px;
  text-align: right;
}
#page .cmsmasters_column.one_first .cmsmasters_sidebar.sidebar_layout_11 .tribe-events-list-widget .cmsmasters_events_more .button,
#page .cmsmasters_column.one_first .cmsmasters_sidebar.sidebar_layout_11 .tribe-events-adv-list-widget .cmsmasters_events_more .button {
  padding: 0 33px;
}
.tribe-events-list-widget .tribe-events-event-cost,
.tribe-events-adv-list-widget .tribe-events-event-cost {
  display: block;
}
#page .tribe-events-list-widget .tribe-events-event-cost,
#page .tribe-events-adv-list-widget .tribe-events-event-cost {
  display: none;
}
#page .cmsmasters_column .cmsmasters_sidebar:not(.sidebar_layout_11) .tribe-events-list-widget .cmsmasters_events_more,
#page .cmsmasters_column .cmsmasters_sidebar:not(.sidebar_layout_11) .tribe-events-adv-list-widget .cmsmasters_events_more,
#page .cmsmasters_column:not(.one_first) .cmsmasters_sidebar .tribe-events-list-widget .cmsmasters_events_more,
#page .cmsmasters_column:not(.one_first) .cmsmasters_sidebar .tribe-events-adv-list-widget .cmsmasters_events_more,
#page .cmsmasters_column .cmsmasters_sidebar:not(.sidebar_layout_11) .tribe-events-list-widget .tribe-events-event-image,
#page .cmsmasters_column .cmsmasters_sidebar:not(.sidebar_layout_11) .tribe-events-adv-list-widget .tribe-events-event-image,
#page .cmsmasters_column:not(.one_first) .cmsmasters_sidebar .tribe-events-list-widget .tribe-events-event-image,
#page .cmsmasters_column:not(.one_first) .cmsmasters_sidebar .tribe-events-adv-list-widget .tribe-events-event-image {
  display: none !important;
}
#page .cmsmasters_sidebar .tribe-events-list-widget .tribe-mini-calendar-event > div,
#page .cmsmasters_sidebar .tribe-events-adv-list-widget .tribe-mini-calendar-event > div {
  display: table-cell;
  vertical-align: middle;
}
#page .cmsmasters_sidebar .tribe-events-list-widget .tribe-mini-calendar-event > div:first-of-type,
#page .cmsmasters_sidebar .tribe-events-adv-list-widget .tribe-mini-calendar-event > div:first-of-type {
  padding-left: 2%;
  padding-right: 0;
}
#page .cmsmasters_sidebar .tribe-events-list-widget .tribe-mini-calendar-event > div:last-of-type,
#page .cmsmasters_sidebar .tribe-events-adv-list-widget .tribe-mini-calendar-event > div:last-of-type {
  padding-left: 0;
  padding-right: 2%;
}
#page .cmsmasters_sidebar .tribe-events-list-widget .tribe-events-list-widget-content-wrap,
#page .cmsmasters_sidebar .tribe-events-adv-list-widget .tribe-events-list-widget-content-wrap {
  position: relative;
  padding: 0 2% 0 0;
}
#page .cmsmasters_sidebar .tribe-events-list-widget .tribe-events-list-widget-content-wrap *[class*="icon"],
#page .cmsmasters_sidebar .tribe-events-adv-list-widget .tribe-events-list-widget-content-wrap *[class*="icon"] {
  padding-left: 0;
}
#page .cmsmasters_sidebar .tribe-events-list-widget .tribe-events-list-widget-content-wrap *[class*="icon"]::before,
#page .cmsmasters_sidebar .tribe-events-adv-list-widget .tribe-events-list-widget-content-wrap *[class*="icon"]::before {
  display: none;
}
#page .tribe-events-list-widget .tribe-events-widget-link,
#page .tribe-events-adv-list-widget .tribe-events-widget-link {
  display: none;
}
#page .cmsmasters_column.one_third .tribe-events-list-widget,
#page .cmsmasters_column.one_third .tribe-events-adv-list-widget,
#page .cmsmasters_sidebar:not(.sidebar_layout_11) .tribe-events-list-widget,
#page .cmsmasters_sidebar:not(.sidebar_layout_11) .tribe-events-adv-list-widget,
#page .cmsmasters_column.one_third .tribe-events-list-widget,
#page .cmsmasters_column.one_third .tribe-events-adv-list-widget,
#page .cmsmasters_column.one_fourth .tribe-events-list-widget,
#page .cmsmasters_column.one_fourth .tribe-events-adv-list-widget {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}
#page .cmsmasters_column.one_third .tribe-events-list-widget .cmsmasters_event_big_date,
#page .cmsmasters_column.one_third .tribe-events-adv-list-widget .cmsmasters_event_big_date,
#page .cmsmasters_sidebar:not(.sidebar_layout_11) .tribe-events-list-widget .cmsmasters_event_big_date,
#page .cmsmasters_sidebar:not(.sidebar_layout_11) .tribe-events-adv-list-widget .cmsmasters_event_big_date,
#page .cmsmasters_column.one_third .tribe-events-list-widget .cmsmasters_event_big_date,
#page .cmsmasters_column.one_third .tribe-events-adv-list-widget .cmsmasters_event_big_date,
#page .cmsmasters_column.one_fourth .tribe-events-list-widget .cmsmasters_event_big_date,
#page .cmsmasters_column.one_fourth .tribe-events-adv-list-widget .cmsmasters_event_big_date,
#page .cmsmasters_column.one_third .tribe-events-list-widget .tribe-events-list-widget-content-wrap,
#page .cmsmasters_column.one_third .tribe-events-adv-list-widget .tribe-events-list-widget-content-wrap,
#page .cmsmasters_sidebar:not(.sidebar_layout_11) .tribe-events-list-widget .tribe-events-list-widget-content-wrap,
#page .cmsmasters_sidebar:not(.sidebar_layout_11) .tribe-events-adv-list-widget .tribe-events-list-widget-content-wrap,
#page .cmsmasters_column.one_third .tribe-events-list-widget .tribe-events-list-widget-content-wrap,
#page .cmsmasters_column.one_third .tribe-events-adv-list-widget .tribe-events-list-widget-content-wrap,
#page .cmsmasters_column.one_fourth .tribe-events-list-widget .tribe-events-list-widget-content-wrap,
#page .cmsmasters_column.one_fourth .tribe-events-adv-list-widget .tribe-events-list-widget-content-wrap {
  display: block !important;
}
.tribe-mini-calendar {
  margin-bottom: 30px;
  -webkit-border-radius: 7px;
  border-radius: 7px;
  overflow: hidden;
}
.tribe-mini-calendar .tribe-mini-calendar-nav {
  border-width: 0;
  border-style: solid;
}
.tribe-mini-calendar .tribe-mini-calendar-nav td {
  border-width: 0;
  border-style: solid;
}
.tribe-mini-calendar .tribe-mini-calendar-nav div {
  text-align: center;
}
.tribe-mini-calendar .tribe-mini-calendar-nav div span {
  padding: 10px 0;
}
.tribe-mini-calendar .tribe-mini-calendar-nav a {
  margin: 0;
  padding: 10px;
}
.tribe-mini-calendar .tribe-mini-calendar-nav a::before {
  font-family: "fontello-custom";
  font-size: 9px;
}
.tribe-mini-calendar .tribe-mini-calendar-nav a.prev-month {
  float: left;
  padding-left: 20px;
}
.tribe-mini-calendar .tribe-mini-calendar-nav a.prev-month::before {
  content: '\e89d';
}
.tribe-mini-calendar .tribe-mini-calendar-nav a.next-month {
  float: right;
  padding-right: 20px;
}
.tribe-mini-calendar .tribe-mini-calendar-nav a.next-month::before {
  content: '\e89c';
}
.tribe-mini-calendar .tribe-mini-calendar-nav a span {
  display: none;
}
.tribe-mini-calendar thead {
  background-color: transparent;
}
.tribe-mini-calendar thead th {
  padding: 5px 5% 5px 0;
  text-align: right;
  border-width: 0;
  border-style: solid;
}
.tribe-mini-calendar tbody tr:first-child td {
  padding-top: 15px;
}
.tribe-mini-calendar tbody tr:last-child td {
  padding-bottom: 15px;
}
.tribe-mini-calendar tbody td {
  padding: 5px 5% 12px 0;
  border-width: 0;
  border-style: solid;
}
.tribe-mini-calendar tbody td div[id*='daynum-'] {
  text-align: right;
}
.tribe-mini-calendar tbody td div[id*='daynum-'] span {
  padding: 0;
}
.tribe-mini-calendar tbody td div[id*='daynum-'] a {
  padding: 0px 0;
}
.tribe-mini-calendar tbody td div[id*='daynum-'] a::before {
  content: none !important;
}
.tribe-mini-calendar tbody td.tribe-mini-calendar-no-event,
.tribe-mini-calendar tbody td.tribe-events-past {
  opacity: 0.5;
  vertical-align: middle;
}
.tribe-mini-calendar tbody td.tribe-mini-calendar-no-event *,
.tribe-mini-calendar tbody td.tribe-events-past * {
  font-weight: 700;
}
.tribe-mini-calendar tbody td.tribe-events-has-events {
  opacity: 1;
}
.tribe-mini-calendar-list-wrapper .entry-title {
  margin-bottom: 10px;
}
.tribe-mini-calendar-list-wrapper .cmsmasters_widget_event_venue_loc {
  display: none;
}
.tribe-events-list-widget-content-wrap {
  overflow: hidden;
}
.tribe-events-list-widget-content-wrap .cmsmasters_event_start + .cmsmasters_event_end::before {
  content: "- ";
  display: "inline-block";
}
.tribe-events-list-widget-content-wrap .cmsmasters_widget_event_info > div::before {
  margin: 0;
  margin-right: 7px;
}
.tribe-mini-calendar-event {
  border-bottom-width: 0;
  border-bottom-style: solid;
}
.tribe-events-adv-list-widget .type-tribe_events,
.type-tribe_events .type-tribe_events,
.tribe-mini-calendar-list-wrapper .type-tribe_events {
  padding-bottom: 30px;
  margin-bottom: 40px;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}
.tribe-events-adv-list-widget .type-tribe_events:last-child,
.type-tribe_events .type-tribe_events:last-child,
.tribe-mini-calendar-list-wrapper .type-tribe_events:last-child {
  margin-bottom: 0;
}
.cmsmasters_event_date {
  float: left;
  text-align: center;
}
.cmsmasters_event_date .cmsmasters_event_day_mon {
  display: block;
  margin-top: -0.05em;
  text-align: center;
}
.cmsmasters_event_date .cmsmasters_event_year {
  display: block;
  text-align: center;
}
/*-------------------------------------------------------------------------*/
/* CSS3 Animations
/*-------------------------------------------------------------------------*/
html.csstransitions .tribe_color,
html.csstransitions #tribe-bar-views .tribe-bar-views-list li,
html.csstransitions .tribe-events-viewmore,
html.csstransitions .tribe-events-adv-list-widget .cmsmasters_event_big_date,
html.csstransitions .tribe-events-list-widget .cmsmasters_event_big_date {
  -webkit-transition: color .3s ease-in-out;
  -moz-transition: color .3s ease-in-out;
  -ms-transition: color .3s ease-in-out;
  -o-transition: color .3s ease-in-out;
  transition: color .3s ease-in-out;
}
html.csstransitions .tribe-events-sub-nav li a span:not([class]):before {
  -webkit-transition: color .3s ease-in-out, background-color .3s ease-in-out, opacity .3s ease-in-out;
  -moz-transition: color .3s ease-in-out, background-color .3s ease-in-out, opacity .3s ease-in-out;
  -ms-transition: color .3s ease-in-out, background-color .3s ease-in-out, opacity .3s ease-in-out;
  -o-transition: color .3s ease-in-out, background-color .3s ease-in-out, opacity .3s ease-in-out;
  transition: color .3s ease-in-out, background-color .3s ease-in-out, opacity .3s ease-in-out;
}
html.csstransitions #tribe-bar-views .tribe-bar-views-list {
  -webkit-transition: opacity .25s ease-in-out;
  -moz-transition: opacity .25s ease-in-out;
  -ms-transition: opacity .25s ease-in-out;
  -o-transition: opacity .25s ease-in-out;
  transition: opacity .25s ease-in-out;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3RoZW1lLWZyYW1ld29yay90aGVtZS1zdHlsZS9jc3MvbGVzcy9nZW5lcmFsLmxlc3MiLCJwbHVnaW4tc3R5bGUubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFrV0E7RUFDQyxpQkFBQTs7QUFFQSxxQkFBQztFQUNBLFNBQVMsRUFBVDtFQUNBLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLFNBQUE7RUFDQSxZQUFBO0VBQ0EsVUFBQTtFQUNBLFlBQUE7RUFDQSxZQUFBO0VBQ0EsWUFBQTtFQUNBLGNBQUE7RUFoUEQsdUJBQUE7RUFDQSx5QkFBQTs7Ozs7OztBQ3pHRDtFQUNDLG9CQUFBO0VBQ0EsU0FBQTs7O0FBSUQ7RUFDQyxlQUFBOzs7QUFHRCxlQUFnQjtBQUNoQixlQUFnQjtFQUFnQixVQUFBOzs7QUFHaEMsZUFBZ0IsS0FBSTtFQUNuQixhQUFBOzs7QUFJRCxTQUFTO0FBQVMsZUFBZTtBQUFTLFNBQVM7QUFBUSxlQUFlO0VBQVEsU0FBUSxFQUFSO0VBQVksY0FBQTs7QUFDOUYsU0FBUztBQUFRLGVBQWU7RUFBUSxXQUFBOztBQUN4QztBQUFXO0VBQWlCLE9BQUE7O0FBQzVCO0VBQWMsV0FBQTs7QUFDZDtFQUNDLFNBQUE7RUFDRyxNQUFLLGFBQUw7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGdCQUFBO0VBQ0EsVUFBQTtFQUNBLGtCQUFBO0VBQ0EsVUFBQTs7QUFFSjtFQUNDLGlCQUFBO0VBQ0EsbUJBQUE7RUFDQSxnQkFBQTs7QUFFRDtFQUFxQixhQUFBOztBQUNyQjtFQUErQixjQUFBOztBQUMvQixxQkFBc0I7RUFBb0IsZ0JBQUE7RUFBaUIsZUFBQTs7O0FBRzNEO0VBQ0MsV0FBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQTtFQUNBLGVBQUE7O0FBRUQ7RUFDQyxXQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTs7QUFFRDtFQUNDLFdBQUE7RUFDQSxZQUFBO0VBQ0EsaUJBQUE7RUFDQSxl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QUNBLGlCQUFBOztBQU9KO0VEaGhHQyxzQkFBQTtFQUNBLDBCQUFBOztBQ21oR0QsNkJBSUM7QUFIRCxrQkFHQztBQUZELGlDQUVDO0VBQ0Msb0JBQUE7RUFDQSxtQkFBQTtFRDFoR0Qsd0JBQUE7RUFDQSwwQkFBQTs7QUM0aEdDLDZCQUxELG1CQUtFO0FBQUQsa0JBTEQsbUJBS0U7QUFBRCxpQ0FMRCxtQkFLRTtFQUNBLGdCQUFBOztBQUtIO0VBQ0MsV0FBQTtFRGxrR0Esa0JBQUE7O0FDaWtHRCxzQkFJQztFQUNDLGNBQUE7RUFDQSxtQkFBQTtFRHZrR0Qsa0JBQUE7O0FDaWtHRCxzQkFVQztFQUNDLGNBQUE7RUQ1a0dELGtCQUFBOzs7OztBQ3VsR0QsSUFBSSxlQUNIO0FBREQsSUFBSSxlQUVILGlCQUFpQixzQkFBc0I7QUFGeEMsSUFBSSxlQUdIO0FBSEQsSUFBSSxlQUlILDhCQUE4QjtBQUovQixJQUFJLGVBS0gsMEJBQTBCO0VEcjZGdkIseUNBQUE7RUFDQSxzQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esb0NBQUE7RUFDQSxpQ0FBQTs7QUM0NUZKLElBQUksZUFTSCxzQkFBc0IsR0FBRyxFQUFFLEtBQUksSUFBSSxTQUFTO0VEejZGekMsb0dBQUE7RUFDQSxpR0FBQTtFQUNBLGdHQUFBO0VBQ0EsK0ZBQUE7RUFDQSw0RkFBQTs7QUM0NUZKLElBQUksZUFhSCxpQkFBaUI7RUQ3NkZkLDRDQUFBO0VBQ0EseUNBQUE7RUFDQSx3Q0FBQTtFQUNBLHVDQUFBO0VBQ0Esb0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJAaW5wdXRfcGFkOiAyMnB4O1xyXG5AaW5wdXRfaGVpZ2h0OiA0NnB4O1xyXG5cclxuQGxpbmVfaGVpZ2h0X3BhZDogMjBweDtcclxuQGRlZmF1bHRfbGlzdF90b3BfcGFkOiAxMHB4O1xyXG5AZGVmYXVsdF9saXN0X2xlZnRfcGFkOiAyMHB4O1xyXG5AYmxvY2tzX2hvcl9wYWQ6IDE1cHg7XHJcbkBjb250X3NpZGViYXJfcGFkOiA0MHB4O1xyXG5AY29udF92ZXJ0X3BhZDogNSU7XHJcblxyXG5AYmRyc193aWR0aDogNHB4O1xyXG5cclxuQGJ1dF9iZHJzX3dpZHRoOiAyNXB4O1xyXG5AYnV0X2JkX3dpZHRoOiAwO1xyXG5cclxuQGNvbF9tYXI6IDElO1xyXG5AcmVzcF9ibG9ja3NfcGFkOiA1NS44JTtcclxuXHJcbkBwcmVsb2FkZXJfYmxvZ19kZWZhdWx0X3BhZDogNTUuOCU7XHJcbkBwcmVsb2FkZXJfYmxvZ19tYXNvbnJ5X3BhZDogNjQuNiU7XHJcbkBwcmVsb2FkZXJfYmxvZ190aW1lbGluZV9wYWQ6IDU1LjglO1xyXG5AcHJlbG9hZGVyX29wZW5fcG9zdF9wYWQ6IDU1LjglO1xyXG5AcHJlbG9hZGVyX3BvcnRmb2xpb19ncmlkX3BhZDogNjcuMiU7XHJcbkBwcmVsb2FkZXJfb3Blbl9wcm9qZWN0X3BhZDogNTUuOCU7XHJcbkBwcmVsb2FkZXJfcG9zdHNfc2xpZGVyX3BhZDogNjcuMiU7XHJcbkBwcmVsb2FkZXJfYXJjaGl2ZXNfcGFkOiAxMDAlO1xyXG5cclxuQHNpZGViYXJfd2lkdGg6IDI2JTtcclxuQGNvbnRlbnRfd2lkdGg6IDEwMCUgLSBAc2lkZWJhcl93aWR0aDtcclxuXHJcblxyXG5AbWlkX25hdl9kcm9wZG93bl93aWR0aDogMjA3cHg7XHJcbkBtaWRfbmF2X2Ryb3Bkb3duX3BhZF90b3A6IDEwcHg7XHJcbkBtaWRfbmF2X2Ryb3Bkb3duX3BhZF9ib3Q6IDE1cHg7XHJcbkBtaWRfbmF2X2Ryb3Bkb3duX3ZlcnRfbWFyX3N0YXJ0OiAyMHB4O1xyXG5AbWlkX25hdl9kcm9wZG93bl92ZXJ0X21hcl9lbmQ6IDEwcHg7XHJcbkBtaWRfbmF2X2Ryb3Bkb3duX2hvcl9tYXJfc3RhcnQ6IDIwcHg7XHJcbkBtaWRfbmF2X2Ryb3Bkb3duX2hvcl9tYXJfZW5kOiAycHg7XHJcblxyXG5AYm90X25hdl9kcm9wZG93bl93aWR0aDogMTg0cHg7XHJcbkBib3RfbmF2X2Ryb3Bkb3duX3BhZF90b3A6IDEwcHg7XHJcbkBib3RfbmF2X2Ryb3Bkb3duX3BhZF9ib3Q6IDIwcHg7XHJcbkBib3RfbmF2X2Ryb3Bkb3duX3ZlcnRfbWFyX3N0YXJ0OiAyMHB4O1xyXG5AYm90X25hdl9kcm9wZG93bl92ZXJ0X21hcl9lbmQ6IDBweDtcclxuQGJvdF9uYXZfZHJvcGRvd25faG9yX21hcl9zdGFydDogMjBweDtcclxuQGJvdF9uYXZfZHJvcGRvd25faG9yX21hcl9lbmQ6IDJweDtcclxuXHJcbkB0b3BfbmF2X2Ryb3Bkb3duX3dpZHRoOiAyMDBweDtcclxuQHRvcF9uYXZfZHJvcGRvd25fcGFkX3RvcDogMTBweDtcclxuQHRvcF9uYXZfZHJvcGRvd25fcGFkX2JvdDogMTBweDtcclxuQHRvcF9uYXZfZHJvcGRvd25fdmVydF9tYXJfc3RhcnQ6IDIwcHg7XHJcbkB0b3BfbmF2X2Ryb3Bkb3duX3ZlcnRfbWFyX2VuZDogMHB4O1xyXG5AdG9wX25hdl9kcm9wZG93bl9ob3JfbWFyX3N0YXJ0OiAyMHB4O1xyXG5AdG9wX25hdl9kcm9wZG93bl9ob3JfbWFyX2VuZDogMnB4O1xyXG5cclxuQGNvbnRfd2lkdGhfZGVmOiA5ODBweDtcclxuQGNvbnRfd2lkdGhfbGFyZ2U6IDEyMDBweDtcclxuQGNvbnRfd2lkdGhfZnVsbDogMTAwJTtcclxuQGNvbnRfd2lkdGhfbWluOiAzMjBweDtcclxuXHJcbkBpbnB1dF90ZXh0OiBlKCdpbnB1dDpub3QoW3R5cGU9YnV0dG9uXSk6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPWZpbGVdKTpub3QoW3R5cGU9aGlkZGVuXSk6bm90KFt0eXBlPWltYWdlXSk6bm90KFt0eXBlPXJhZGlvXSk6bm90KFt0eXBlPXJlc2V0XSk6bm90KFt0eXBlPXN1Ym1pdF0pOm5vdChbdHlwZT1jb2xvcl0pOm5vdChbdHlwZT1yYW5nZV0pJyk7XHJcblxyXG5AbW9uaXRvcl9sYXJnZTogficobWluLXdpZHRoOiAxNDQwcHgpJztcclxuQG1vbml0b3JfbWVkaXVtOiB+JyhtaW4td2lkdGg6IDEwMjVweCknO1xyXG5AbW9uaXRvcl90YWJsZXRfOTUwX21pbjogficobWluLXdpZHRoOiA5NTBweCknO1xyXG5AbW9uaXRvcl9sYXJnZV9tYXg6IH4nKG1heC13aWR0aDogMTQ0MHB4KSc7XHJcbkBtb25pdG9yX3RhYmxldDogficobWF4LXdpZHRoOiAxMDI0cHgpJztcclxuQG1vbml0b3JfdGFibGV0Xzk1MDogficobWF4LXdpZHRoOiA5NTBweCknO1xyXG5AbW9uaXRvcl90YWJsZXRfc21hbGw6IH4nKG1heC13aWR0aDogNzY4cHgpJztcclxuQG1vbml0b3JfdGFibGV0XzYwMDogficobWF4LXdpZHRoOiA2MDBweCknO1xyXG5AbW9uaXRvcl9waG9uZTogficobWF4LXdpZHRoOiA1NDBweCknO1xyXG5AbW9uaXRvcl9waG9uZV9zbWFsbDogficobWF4LXdpZHRoOiAzMjBweCknO1xyXG5cclxuXHJcblxyXG4uZmwgKCkge1xyXG5cdGZsb2F0OmxlZnQ7XHJcbn1cclxuXHJcbi5mciAoKSB7XHJcblx0ZmxvYXQ6cmlnaHQ7XHJcbn1cclxuXHJcbi5kbiAoKSB7XHJcblx0ZGlzcGxheTpub25lO1xyXG59XHJcblxyXG4udGFsICgpIHtcclxuXHR0ZXh0LWFsaWduOmxlZnQ7XHJcbn1cclxuXHJcbi50YWMgKCkge1xyXG5cdHRleHQtYWxpZ246Y2VudGVyO1xyXG59XHJcblxyXG4udGFyICgpIHtcclxuXHR0ZXh0LWFsaWduOnJpZ2h0O1xyXG59XHJcblxyXG4uY2wgKCkge1xyXG5cdGNsZWFyOmJvdGg7XHJcbn1cclxuXHJcbi5vdmggKCkge1xyXG5cdG92ZXJmbG93OmhpZGRlbjtcclxufVxyXG5cclxuLm0wYSAoKSB7XHJcblx0bWFyZ2luOjAgYXV0bztcclxufVxyXG5cclxuLmJkIChAdzoxcHg7IEB0OnNvbGlkKSB7XHJcblx0Ym9yZGVyLXdpZHRoOkB3O1xyXG5cdGJvcmRlci1zdHlsZTpAdDtcclxufVxyXG5cclxuLmJkdCAoQHc6MXB4OyBAdDpzb2xpZCkge1xyXG5cdGJvcmRlci10b3Atd2lkdGg6QHc7XHJcblx0Ym9yZGVyLXRvcC1zdHlsZTpAdDtcclxufVxyXG5cclxuLmJkYiAoQHc6MXB4OyBAdDpzb2xpZCkge1xyXG5cdGJvcmRlci1ib3R0b20td2lkdGg6QHc7XHJcblx0Ym9yZGVyLWJvdHRvbS1zdHlsZTpAdDtcclxufVxyXG5cclxuLmJkciAoQHc6MXB4OyBAdDpzb2xpZCkge1xyXG5cdGJvcmRlci1yaWdodC13aWR0aDpAdztcclxuXHRib3JkZXItcmlnaHQtc3R5bGU6QHQ7XHJcbn1cclxuXHJcbi5iZGwgKEB3OjFweDsgQHQ6c29saWQpIHtcclxuXHRib3JkZXItbGVmdC13aWR0aDpAdztcclxuXHRib3JkZXItbGVmdC1zdHlsZTpAdDtcclxufVxyXG5cclxuLmNvbG9yX3doaXRlX29wYWNpdHkgKEBvcDouNSkge1xyXG5cdGNvbG9yOnJnYmEoMjU1LCAyNTUsIDI1NSwgQG9wKTtcclxufVxyXG5cclxuLmJnX3doaXRlX29wYWNpdHkgKEBvcDouNSkge1xyXG5cdGJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsIDI1NSwgMjU1LCBAb3ApO1xyXG59XHJcblxyXG4uZnVsbHdpZHRoX2luX2Jsb2NrICgpIHtcclxuXHR3aWR0aDoxMDAlO1xyXG5cdGhlaWdodDoxMDAlO1xyXG5cdHBvc2l0aW9uOmFic29sdXRlO1xyXG5cdHRvcDowO1xyXG5cdGxlZnQ6MDtcclxufVxyXG5cclxuLm9wIChAb3A6LjUpIHtcclxuXHRvcGFjaXR5OkBvcDtcclxufVxyXG5cclxuLmRpc3BsYXlfZmxleCAoKSB7XHJcblx0ZGlzcGxheTotd2Via2l0LWZsZXg7XHJcblx0ZGlzcGxheTotbW96LWZsZXg7XHJcblx0ZGlzcGxheTotbXMtZmxleDtcclxuXHRkaXNwbGF5OmZsZXg7XHJcbn1cclxuXHJcbi5kaXNwbGF5X2lubGluZV9mbGV4ICgpIHtcclxuXHRkaXNwbGF5Oi13ZWJraXQtaW5saW5lLWZsZXg7XHJcblx0ZGlzcGxheTotbW96LWlubGluZS1mbGV4O1xyXG5cdGRpc3BsYXk6LW1zLWlubGluZS1mbGV4O1xyXG5cdGRpc3BsYXk6aW5saW5lLWZsZXg7XHJcbn1cclxuXHJcbi5mbGV4X2RpcmVjdGlvbiAoQGQ6cm93KSB7XHJcblx0LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpAZDtcclxuXHQtbW96LWZsZXgtZGlyZWN0aW9uOkBkO1xyXG5cdC1tcy1mbGV4LWRpcmVjdGlvbjpAZDtcclxuXHRmbGV4LWRpcmVjdGlvbjpAZDtcclxufVxyXG5cclxuLmZsZXhfd3JhcCAoQGQ6bm93cmFwKSB7XHJcblx0LXdlYmtpdC1mbGV4LXdyYXA6QGQ7XHJcblx0LW1vei1mbGV4LXdyYXA6QGQ7XHJcblx0LW1zLWZsZXgtd3JhcDpAZDtcclxuXHRmbGV4LXdyYXA6QGQ7XHJcbn1cclxuXHJcbi5qdXN0aWZ5X2NvbnRlbnQgKEBkOmZsZXgtc3RhcnQpIHtcclxuXHQtd2Via2l0LWp1c3RpZnktY29udGVudDpAZDtcclxuXHQtbW96LWp1c3RpZnktY29udGVudDpAZDtcclxuXHQtbXMtanVzdGlmeS1jb250ZW50OkBkO1xyXG5cdGp1c3RpZnktY29udGVudDpAZDtcclxufVxyXG5cclxuLmFsaWduX2l0ZW1zIChAZDpzdHJldGNoKSB7XHJcblx0LXdlYmtpdC1hbGlnbi1pdGVtczpAZDtcclxuXHQtbW96LWFsaWduLWl0ZW1zOkBkO1xyXG5cdC1tcy1hbGlnbi1pdGVtczpAZDtcclxuXHRhbGlnbi1pdGVtczpAZDtcclxufVxyXG5cclxuLmFsaWduX2NvbnRlbnQgKEBkOnN0cmV0Y2gpIHtcclxuXHQtd2Via2l0LWFsaWduLWNvbnRlbnQ6QGQ7XHJcblx0LW1vei1hbGlnbi1jb250ZW50OkBkO1xyXG5cdC1tcy1hbGlnbi1jb250ZW50OkBkO1xyXG5cdGFsaWduLWNvbnRlbnQ6QGQ7XHJcbn1cclxuXHJcbi5jbF9hZnRlciAoKSB7XHJcblx0Y29udGVudDonLic7XHJcblx0ZGlzcGxheTpibG9jaztcclxuXHRjbGVhcjpib3RoO1xyXG5cdGhlaWdodDowO1xyXG5cdHZpc2liaWxpdHk6aGlkZGVuO1xyXG5cdG92ZXJmbG93OmhpZGRlbjtcclxufVxyXG5cclxuLnZhbGlnbl9hZnRlciAoKSB7XHJcblx0Y29udGVudDonJztcclxuXHRkaXNwbGF5OmlubGluZS1ibG9jaztcclxuXHR2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XHJcblx0aGVpZ2h0OjEwMCU7XHJcbn1cclxuXHJcbi5wb3NfYWJzIChAdzoxZW07IEBoOjFlbTsgQGw6MDsgQHI6MDsgQHQ6MDsgQGI6MCkge1xyXG5cdHdpZHRoOkB3O1xyXG5cdGhlaWdodDpAaDtcclxuXHRtYXJnaW46YXV0byAhaW1wb3J0YW50O1xyXG5cdHBvc2l0aW9uOmFic29sdXRlO1xyXG5cdGxlZnQ6QGw7XHJcblx0cmlnaHQ6QHI7XHJcblx0dG9wOkB0O1xyXG5cdGJvdHRvbTpAYjtcclxufVxyXG5cclxuLmJkYnggKCkge1xyXG5cdC13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O1xyXG5cdC1tb3otYm94LXNpemluZzpib3JkZXItYm94O1xyXG5cdGJveC1zaXppbmc6Ym9yZGVyLWJveDtcclxufVxyXG5cclxuLmN0YnggKCkge1xyXG5cdC13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDtcclxuXHQtbW96LWJveC1zaXppbmc6Y29udGVudC1ib3g7XHJcblx0Ym94LXNpemluZzpjb250ZW50LWJveDtcclxufVxyXG5cclxuLmJkcnMgKEByYWRpdXM6QGJkcnNfd2lkdGgpIHtcclxuXHQtd2Via2l0LWJvcmRlci1yYWRpdXM6QHJhZGl1cztcclxuXHRib3JkZXItcmFkaXVzOkByYWRpdXM7XHJcbn1cclxuXHJcbi5ieHNoIChAeDowOyBAeTowOyBAYmx1cjo1cHg7IEBzcHJlZDowOyBAYWxwaGE6LjA1KSB7XHJcblx0LXdlYmtpdC1ib3gtc2hhZG93OkB4IEB5IEBibHVyIEBzcHJlZCByZ2JhKDAsIDAsIDAsIEBhbHBoYSk7XHJcblx0Ym94LXNoYWRvdzpAeCBAeSBAYmx1ciBAc3ByZWQgcmdiYSgwLCAwLCAwLCBAYWxwaGEpO1xyXG59XHJcblxyXG4uYnhzaF93aGl0ZSAoQHg6MDsgQHk6MDsgQGJsdXI6NXB4OyBAc3ByZWQ6MDsgQGFscGhhOi4wNSkge1xyXG5cdC13ZWJraXQtYm94LXNoYWRvdzpAeCBAeSBAYmx1ciBAc3ByZWQgcmdiYSgyNTUsIDI1NSwgMjU1LCBAYWxwaGEpO1xyXG5cdGJveC1zaGFkb3c6QHggQHkgQGJsdXIgQHNwcmVkIHJnYmEoMjU1LCAyNTUsIDI1NSwgQGFscGhhKTtcclxufVxyXG5cclxuLmJ4c2hpIChAeDowOyBAeTowOyBAYmx1cjo1cHg7IEBzcHJlZDowOyBAYWxwaGE6LjA1KSB7XHJcblx0LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IEB4IEB5IEBibHVyIEBzcHJlZCByZ2JhKDAsIDAsIDAsIEBhbHBoYSk7XHJcblx0Ym94LXNoYWRvdzppbnNldCBAeCBAeSBAYmx1ciBAc3ByZWQgcmdiYSgwLCAwLCAwLCBAYWxwaGEpO1xyXG59XHJcblxyXG4uYnhzaGlfd2hpdGUgKEB4OjA7IEB5OjA7IEBibHVyOjVweDsgQHNwcmVkOjA7IEBhbHBoYTouMDUpIHtcclxuXHQtd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgQHggQHkgQGJsdXIgQHNwcmVkIHJnYmEoMjU1LCAyNTUsIDI1NSwgQGFscGhhKTtcclxuXHRib3gtc2hhZG93Omluc2V0IEB4IEB5IEBibHVyIEBzcHJlZCByZ2JhKDI1NSwgMjU1LCAyNTUsIEBhbHBoYSk7XHJcbn1cclxuXHJcbi5ieHNoX25vbmUgKCkge1xyXG5cdC13ZWJraXQtYm94LXNoYWRvdzpub25lO1xyXG5cdGJveC1zaGFkb3c6bm9uZTtcclxufVxyXG5cclxuLnRyYW5zKEB0cmFuczowKSB3aGVuIG5vdCAoQHRyYW5zID0gMCkge1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOkB0cmFucztcclxuICAgIC1tb3otdHJhbnNpdGlvbjpAdHJhbnM7XHJcbiAgICAtbXMtdHJhbnNpdGlvbjpAdHJhbnM7XHJcbiAgICAtby10cmFuc2l0aW9uOkB0cmFucztcclxuICAgIHRyYW5zaXRpb246QHRyYW5zO1xyXG59XHJcblxyXG4uYXJyb3dfdG9wIChAaDo1cHg7IEB3OjVweCkge1xyXG5cdGJvcmRlci10b3A6MCBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci1sZWZ0OkB3IHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLXJpZ2h0OkB3IHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLWJvdHRvbS13aWR0aDpAaDtcclxuXHRib3JkZXItYm90dG9tLXN0eWxlOnNvbGlkO1xyXG59XHJcblxyXG4uYXJyb3dfYm90dG9tIChAaDo1cHg7IEB3OjVweCkge1xyXG5cdGJvcmRlci1ib3R0b206MCBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci1sZWZ0OkB3IHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLXJpZ2h0OkB3IHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLXRvcC13aWR0aDpAaDtcclxuXHRib3JkZXItdG9wLXN0eWxlOnNvbGlkO1xyXG59XHJcblxyXG4uYXJyb3dfbGVmdCAoQGg6NXB4OyBAdzo1cHgpIHtcclxuXHRib3JkZXItbGVmdDowIHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLXRvcDpAdyBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci1ib3R0b206QHcgc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHRib3JkZXItcmlnaHQtd2lkdGg6QGg7XHJcblx0Ym9yZGVyLXJpZ2h0LXN0eWxlOnNvbGlkO1xyXG59XHJcblxyXG4uYXJyb3dfcmlnaHQgKEBoOjVweDsgQHc6NXB4KSB7XHJcblx0Ym9yZGVyLXJpZ2h0OjAgc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHRib3JkZXItdG9wOkB3IHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLWJvdHRvbTpAdyBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci1sZWZ0LXdpZHRoOkBoO1xyXG5cdGJvcmRlci1sZWZ0LXN0eWxlOnNvbGlkO1xyXG59XHJcblxyXG4uYXJyb3dfdG9wX2xlZnQgKEBoOjVweDsgQHc6NXB4KSB7XHJcblx0Ym9yZGVyLXJpZ2h0OkB3IHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLWxlZnQ6MCBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci1ib3R0b206MCBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci10b3Atd2lkdGg6QGg7XHJcblx0Ym9yZGVyLXRvcC1zdHlsZTpzb2xpZDtcclxufVxyXG5cclxuLmFycm93X3RvcF9yaWdodCAoQGg6NXB4OyBAdzo1cHgpIHtcclxuXHRib3JkZXItYm90dG9tOkBoIHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLXRvcDowIHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLWxlZnQ6MCBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci1yaWdodC13aWR0aDpAdztcclxuXHRib3JkZXItcmlnaHQtc3R5bGU6c29saWQ7XHJcbn1cclxuXHJcbi5hcnJvd19ib3R0b21fbGVmdCAoQGg6NXB4OyBAdzo1cHgpIHtcclxuXHRib3JkZXItdG9wOkBoIHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLXJpZ2h0OjAgc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHRib3JkZXItYm90dG9tOjAgc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHRib3JkZXItbGVmdC13aWR0aDpAdztcclxuXHRib3JkZXItbGVmdC1zdHlsZTpzb2xpZDtcclxufVxyXG5cclxuLmFycm93X2JvdHRvbV9yaWdodCAoQGg6NXB4OyBAdzo1cHgpIHtcclxuXHRib3JkZXItbGVmdDpAdyBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci10b3A6MCBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci1yaWdodDowIHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLWJvdHRvbS13aWR0aDpAaDtcclxuXHRib3JkZXItYm90dG9tLXN0eWxlOnNvbGlkO1xyXG59XHJcblxyXG4ucmVhZG1vcmUoKXtcclxuXHRvdXRsaW5lOm5vbmU7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdGxldHRlci1zcGFjaW5nOiAtMC4xNXB4O1xyXG5cdGxpbmUtaGVpZ2h0OiAxO1xyXG5cdC5iZGIoMXB4KTtcclxufVxyXG5cclxuLmhlYWRlcl9lbGVtZW50X3NwbGl0e1xyXG5cdG1hcmdpbi1sZWZ0OiAzMHB4O1xyXG5cclxuXHQmOjpiZWZvcmV7XHJcblx0XHRjb250ZW50OiBcIlwiO1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0Ym90dG9tOiAwO1xyXG5cdFx0cmlnaHQ6IC0xMXB4O1xyXG5cdFx0d2lkdGg6IDFweDtcclxuXHRcdGhlaWdodDogMTlweDtcclxuXHRcdG9wYWNpdHk6IDAuNTtcclxuXHRcdG1hcmdpbjogYXV0bztcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0LmJkcjtcclxuXHR9XHJcbn1cclxuXHJcbi5kZWZhdWx0X2xpc3QgKEB3OjZweDsgQGg6NnB4OyBAbTowIDEwcHggMCAwOyBAYmRyczo1MCUpIHtcclxuXHRsaXN0LXN0eWxlLXR5cGU6bm9uZTtcclxuXHRcclxuXHQ+IGxpIHtcclxuXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblxyXG5cdFx0Jjo6YmVmb3JlIHtcclxuXHRcdFx0Y29udGVudDonJztcclxuXHRcdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcblx0XHRcdHdpZHRoOkB3O1xyXG5cdFx0XHRoZWlnaHQ6QGg7XHJcblx0XHRcdG1hcmdpbjpAbTtcclxuXHRcdFx0dmVydGljYWwtYWxpZ246bWlkZGxlO1xyXG5cdFx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcclxuXHRcdFx0LmJkcnMoQGJkcnMpO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmRlZmF1bHRfYmxvY2txdW90ZSAoKSB7XHJcblx0cGFkZGluZzowO1xyXG5cdG1hcmdpbjowIDAgQGxpbmVfaGVpZ2h0X3BhZDsgLyogZG9uJ3QgdG91Y2ggKi9cclxuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcclxuXHRxdW90ZXM6bm9uZTtcclxuXHQuYmQoMCk7XHJcblx0XHJcblx0cDpsYXN0LW9mLXR5cGUge1xyXG5cdFx0bWFyZ2luOjA7XHJcblx0XHRwYWRkaW5nOjA7XHJcblx0fVxyXG5cdFxyXG5cdGNpdGUge1xyXG5cdFx0ZGlzcGxheTpibG9jaztcclxuXHRcdG1hcmdpbi10b3A6MTBweDtcclxuXHR9XHJcblxyXG5cdCY6OmJlZm9yZXtcclxuXHRcdGNvbnRlbnQ6IFwi4oCcXCI7XHJcblx0XHRwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG5cdFx0Zm9udC1mYW1pbHk6IFwiUXVpY2tzYW5kXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIFwiTmltYnVzIFNhbnMgTFwiLCBzYW5zLXNlcmlmO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0XHRmb250LXNpemU6IDgzcHg7XHJcblx0XHRoZWlnaHQ6IDIycHg7XHJcblx0XHRsaW5lLWhlaWdodDogNTNweDtcclxuXHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdH1cclxufVxyXG5cclxuLmRlZmF1bHRfdGFibGUgKCkge1xyXG5cdGJvcmRlci1zcGFjaW5nOjA7XHJcblx0Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO1xyXG5cdHdpZHRoOjEwMCU7XHJcblx0bWFyZ2luLWJvdHRvbTpAbGluZV9oZWlnaHRfcGFkOyAvKiBkb24ndCB0b3VjaCAqL1xyXG5cdFxyXG5cdHRoLFxyXG5cdHRkIHtcclxuXHRcdC5iZCgwKTsgLyogZm9yIGd1dGVuYmVyZyAqL1xyXG5cdFx0cGFkZGluZzoxMHB4O1xyXG5cdFx0LmJkO1xyXG5cdH1cclxuXHRcclxuXHQvKiBmb3IgZ3V0ZW5iZXJnIHN0YXJ0ICovXHJcblx0Ji5pcy1zdHlsZS1zdHJpcGVzIHtcclxuXHRcdC5iZCgwKTtcclxuXHRcdGJvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtcclxuXHRcdFxyXG5cdFx0dHI6bnRoLWNoaWxkKG9kZCkge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0XHR9XHJcblx0fVxyXG5cdC8qIGZvciBndXRlbmJlcmcgZW5kICovXHJcblx0XHJcblx0Y2FwdGlvbiB7XHJcblx0XHR0ZXh0LWFsaWduOmNlbnRlcjtcclxuXHRcdHBhZGRpbmc6MjBweDtcclxuXHR9XHJcbn1cclxuXHJcbi5kZWZhdWx0X2J1dHRvbiAoKSB7XHJcblx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcblx0cGFkZGluZzowIDI3cHg7XHJcblx0bGV0dGVyLXNwYWNpbmc6IC0wLjE1cHg7XHJcblx0cG9zaXRpb246cmVsYXRpdmU7XHJcblx0d2hpdGUtc3BhY2U6bm93cmFwO1xyXG5cdC5iZHJzKDI1cHgpO1xyXG5cdC50YWM7XHJcblx0LmJkKDApO1xyXG5cdC50cmFucyh+J2NvbG9yIC40cyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIC40cyBlYXNlLCBvcGFjaXR5IC40cyBlYXNlJyk7XHJcblxyXG5cdCZbZGlzYWJsZWRde1xyXG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblx0XHRvcGFjaXR5OiAwLjM7XHJcblx0fVxyXG59XHJcblxyXG4uZGVmYXVsdF9zZWxlY3QgKEBwbHVnaW46MCkge1xyXG5cdGxpbmUtaGVpZ2h0OjFlbTtcclxuXHR0ZXh0LWluZGVudDowLjAxcHg7XHJcblx0dGV4dC1vdmVyZmxvdzonJztcclxuXHRwYWRkaW5nOiAzcHggNjBweCAwIDE4cHg7XHJcblx0LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7XHJcblx0LW1vei1hcHBlYXJhbmNlOm5vbmU7XHJcblx0LW1zLWFwcGVhcmFuY2U6bm9uZTtcclxuXHRhcHBlYXJhbmNlOm5vbmUgIWltcG9ydGFudDtcclxuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOjEwMCUgY2VudGVyO1xyXG5cdGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0LmJkcnMoMCk7XHJcblx0aGVpZ2h0OkBpbnB1dF9oZWlnaHQ7XHJcblxyXG5cdG9wdGlvbntcclxuXHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHR9XHJcblx0XHJcblx0JiB3aGVuIChAcGx1Z2luID4gMCkge1xyXG5cdFx0YmFja2dyb3VuZC1pbWFnZTp1cmwoJy4uLy4uLy4uLy4uL2ltZy9zZWxlY3QucG5nJyk7XHJcblx0fVxyXG5cdFxyXG5cdCYgd2hlbiAoQHBsdWdpbiA9IDApIHtcclxuXHRcdGJhY2tncm91bmQtaW1hZ2U6dXJsKCcuLi8uLi8uLi9pbWcvc2VsZWN0LnBuZycpO1xyXG5cdH1cclxuXHJcblxyXG59XHJcblxyXG5cclxuIiwiLyoqXG4gKiBAcGFja2FnZSBcdFdvcmRQcmVzc1xuICogQHN1YnBhY2thZ2UgXHRCYW1iaW5pXG4gKiBAdmVyc2lvbiBcdDEuMC4wXG4gKiBcbiAqIFRyaWJlIEV2ZW50cyBDU1MgUnVsZXNcbiAqIENyZWF0ZWQgYnkgQ01TTWFzdGVyc1xuICogXG4gKi9cbiBcbkBpbXBvcnQgXCIuLi8uLi8uLi8uLi8uLi90aGVtZS1mcmFtZXdvcmsvdGhlbWUtc3R5bGUvY3NzL2xlc3MvZ2VuZXJhbC5sZXNzXCI7XG5cblxuQHByZWxvYWRlcl9yZWxhdGVkX2V2ZW50X3BhZDogNjcuMiU7XG5AcHJlbG9hZGVyX2V2ZW50X3BhZDogNjUuNSU7XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTa2VsZXRvbiBFdmVudHMgU3R5bGVzXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiA9IEdsb2JhbCAmIE1pc2NlbGxhbmVvdXMgU3R5bGVzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXG4udXBkYXRlZC1pbmZvIHtcblx0dGV4dC1pbmRlbnQ6LTk5OTlweDtcblx0aGVpZ2h0OjA7XG59XG5cbi8qIEV2ZW50IFNjaGVkdWxlIERldGFpbCBTdHlsaW5nICovXG4udHJpYmUtZXZlbnRzLWV2ZW50LXNjaGVkdWxlLWRldGFpbHMge1xuXHRkaXNwbGF5OmlubGluZTtcbn1cbi8qIDIwMTEgVGhlbWUgRXh0cmEgQ2FsZW5kYXIgUm9vbSAqL1xuLmV2ZW50cy1hcmNoaXZlIC5lbnRyeS1jb250ZW50LCBcbi5ldmVudHMtYXJjaGl2ZSAuZW50cnktaGVhZGVyIHsgd2lkdGg6OTglOyB9XG5cbi8qIFJlbW92ZSBcIkVkaXRcIiBMaW5rIGZyb20gdW5uZWVkZWQgdGVtcGxhdGVzICovXG4uZXZlbnRzLWFyY2hpdmUgc3Bhbi5lZGl0LWxpbmsge1xuXHRkaXNwbGF5Om5vbmU7XG59XG5cbi8qIE1pc2NlbGxhbmVvdXMgSGVscGVyIENsYXNzZXMgKi9cbi5jbGVhcmZpeDpiZWZvcmUsIC50cmliZS1jbGVhcmZpeDpiZWZvcmUsIC5jbGVhcmZpeDphZnRlciwgLnRyaWJlLWNsZWFyZml4OmFmdGVyIHtjb250ZW50OlwiXCI7IGRpc3BsYXk6dGFibGU7fVxuLmNsZWFyZml4OmFmdGVyLCAudHJpYmUtY2xlYXJmaXg6YWZ0ZXIge2NsZWFyOmJvdGg7fVxuLmNsZWFyZml4LCAudHJpYmUtY2xlYXJmaXgge3pvb206MTt9XG4udHJpYmUtY2xlYXIge2NsZWFyOmJvdGg7fVxuLnRyaWJlLWV2ZW50cy12aXN1YWxseWhpZGRlbiB7XG5cdGJvcmRlcjowO1xuICAgIGNsaXA6cmVjdCgwIDAgMCAwKTtcbiAgICBoZWlnaHQ6MXB4O1xuICAgIG1hcmdpbjotMXB4O1xuICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICBwYWRkaW5nOjA7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgd2lkdGg6MXB4O1xufVxuLnRyaWJlLWhpZGUtdGV4dCB7XG5cdHRleHQtaW5kZW50OjEwMCU7XG5cdHdoaXRlLXNwYWNlOm5vd3JhcDtcblx0b3ZlcmZsb3c6aGlkZGVuO1xufVxuLnRyaWJlLWV2ZW50cy1lcnJvciB7ZGlzcGxheTpub25lO31cbi50cmliZS1ldmVudHMtbXVsdGktZXZlbnQtZGF5IHtjb2xvcjojMGY4MWJiO31cbiN0cmliZS1ldmVudHMtY29udGVudCAudHJpYmUtZXZlbnRzLWFiYnIge2JvcmRlci1ib3R0b206MDsgY3Vyc29yOmRlZmF1bHQ7fVxuXG4vKiBUcmliZSBTcGlubmVyICovXG4udHJpYmUtZXZlbnRzLXNwaW5uZXIge1xuXHR3aWR0aDozMnB4O1xuXHRoZWlnaHQ6MzJweDtcblx0bWFyZ2luLWxlZnQ6LTE2cHg7XG5cdG1heC13aWR0aDpub25lO1xufVxuLnRyaWJlLWV2ZW50cy1zcGlubmVyLW1lZGl1bSB7XG5cdHdpZHRoOjMycHg7XG5cdGhlaWdodDozMnB4O1xuXHRtYXJnaW4tbGVmdDotMTJweDtcblx0bWF4LXdpZHRoOm5vbmU7XG59XG4udHJpYmUtZXZlbnRzLXNwaW5uZXItc21hbGwge1xuXHR3aWR0aDoxNnB4O1xuXHRoZWlnaHQ6MTZweDtcblx0bWFyZ2luLWxlZnQ6LThweDtcblx0bWF4LXdpZHRoOm5vbmU7XG59XG5cbi8qIEdlbmVyYWwgVGVtcGxhdGUgSGVhZGVyL0Zvb3RlciBOYXYgKi9cbi50cmliZS1ldmVudHMtYWpheC1sb2FkaW5nIHtcblx0ZGlzcGxheTpub25lO1xuXHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0bGVmdDo1MCU7XG5cdC13ZWJraXQtYm94LXNoYWRvdzpub25lO1xuXHRcdFx0Ym94LXNoYWRvdzpub25lO1xufVxuXG4udHJpYmUtZXZlbnRzLWxvYWRpbmcgLnRyaWJlLWV2ZW50cy1hamF4LWxvYWRpbmcge1xuXHRkaXNwbGF5OmJsb2NrO1xufVxuXG4vKiBHZW5lcmFsIFRlbXBsYXRlIEhlYWRlciBOYXYgKi9cbiN0cmliZS1ldmVudHMtY29udGVudCBsaS50cmliZS1ldmVudHMtbmF2LWRhdGUge1xuXHRwYWRkaW5nLXRvcDoxNnB4O1xufVxuc2VsZWN0LnRyaWJlLWV2ZW50cy1kcm9wZG93biB7XG5cdHdpZHRoOmF1dG87XG5cdGZvbnQtc2l6ZToxMXB4O1xuXHRtYXJnaW46MzNweCA5cHggMCAwO1xufVxuI3RyaWJlLWV2ZW50cy1ldmVudHMtcGlja2VyLCBcbiN0cmliZS1ldmVudHMtcGlja2VyIHtcblx0ZGlzcGxheTppbmxpbmU7XG59XG5cblxuLyogPSBFdmVudHMgTGlzdCBXaWRnZXQgU3R5bGVzIChTaWRlYmFyKVxuICAgQCBUZW1wbGF0ZTp3aWRnZXRzL2xpc3Qtd2lkZ2V0LnBocFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi50cmliZS1ldmVudHMtbGlzdC13aWRnZXQgb2wsXG4udHJpYmUtZXZlbnRzLWFkdi1saXN0LXdpZGdldCBvbCB7XG5cdGxpc3Qtc3R5bGUtdHlwZTpzcXVhcmU7XG5cdG1hcmdpbi1sZWZ0OjA7XG5cdG1hcmdpbi1ib3R0b206MDtcbn1cbi50cmliZS1ldmVudHMtbGlzdC13aWRnZXQgbGksIFxuLnNpbmd1bGFyLnBhZ2UgbGkuaGVudHJ5LCBcbi50cmliZS1ldmVudHMtYWR2LWxpc3Qtd2lkZ2V0IGxpLCBcbi5zaW5ndWxhci5wYWdlIGxpLmhlbnRyeSB7XG5cdG1hcmdpbjo2cHggMDtcblx0cGFkZGluZzowIDAgMTBweCAwO1xufVxuLnRyaWJlLWV2ZW50cy1saXN0LXdpZGdldCBsaSBwLmVudHJ5LXRpdGxlLnN1bW1hcnksXG4udHJpYmUtZXZlbnRzLWFkdi1saXN0LXdpZGdldCBsaSBwLmVudHJ5LXRpdGxlLnN1bW1hcnkge1xuXHRtYXJnaW4tYm90dG9tOjA7XG5cdHBhZGRpbmc6MDtcblx0Zm9udC1zaXplOjEwMCU7XG59XG5cbi8qID0gV29vVGlja2V0c1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbnRhYmxlLnRyaWJlLWV2ZW50cy10aWNrZXRzIC50aWNrZXRzX3ByaWNlIHtcblx0Zm9udC1zdHlsZTppdGFsaWM7XG5cdGNvbG9yOiMwMDA7XG5cdGZvbnQtd2VpZ2h0OmJvbGQ7XG59XG5cbnRkLnRpY2tldHNfbmFtZSB7XG5cdGNvbG9yOiM3Nzc7XG5cdGZvbnQtc2l6ZToxM3B4O1xufVxuXG4uc2luZ2xlLXRyaWJlX2V2ZW50cyAjdHJpYmUtZXZlbnRzLWNvbnRlbnQgZm9ybS5jYXJ0LFxuLnNpbmdsZS10cmliZV9ldmVudHMgI3RyaWJlLWV2ZW50cy1jb250ZW50IGRpdi5jYXJ0IHtcblx0bWFyZ2luOjMwcHggMDtcbn1cblxudGFibGUudHJpYmUtZXZlbnRzLXRpY2tldHMge1xuXHRtYXJnaW46MDtcblx0d2lkdGg6MTAwJTtcblx0Ym9yZGVyLWJvdHRvbTowO1xufVxuXG50YWJsZS50cmliZS1ldmVudHMtdGlja2V0cyB0ZCB7XG5cdGJvcmRlci10b3A6MXB4IHNvbGlkICNkZGQ7XG5cdHBhZGRpbmc6OHB4IDEwcHggOHB4IDA7XG5cdHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcbn1cblxudGFibGUudHJpYmUtZXZlbnRzLXRpY2tldHMgdGQud3BlYyB7XG5cdGxpbmUtaGVpZ2h0OjA7XG59XG5cbnRhYmxlLnRyaWJlLWV2ZW50cy10aWNrZXRzIHRkLndvb2NvbW1lcmNlIHtcblx0Ym9yZGVyLWJvdHRvbTowO1xufVxuXG50YWJsZS50cmliZS1ldmVudHMtdGlja2V0cyB0ZC53cGVjIGltZyB7XG5cdGRpc3BsYXk6bm9uZTtcbn1cblxudGFibGUudHJpYmUtZXZlbnRzLXRpY2tldHMgLnRpY2tldHNfbm9zdG9jayB7XG5cdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuXHR0ZXh0LWFsaWduOmNlbnRlcjtcbn1cblxuaDIudHJpYmUtZXZlbnRzLXRpY2tldHMtdGl0bGUge1xuXHRtYXJnaW46MjBweCAwIDE1cHg7XG5cdGZvbnQtc2l6ZToxLjRlbTtcblx0Zm9udC13ZWlnaHQ6Ym9sZDtcbn1cblxuLyogPSBFdmVudHMgTmF2aWdhdGlvbiBCYXJcbiAgIEAgVGVtcGxhdGU6bW9kdWxlcy9iYXIucGhwXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXG4vKiBWaWV3cyBTZWxlY3QgKi9cbiN0cmliZS1iYXItdmlld3MgLnRyaWJlLWJhci12aWV3LXNlbGVjdCxcbiN0cmliZS1iYXItdmlld3MgLnRyaWJlLWJhci12aWV3LXNlbGVjdCB+IC50cmliZS1zZWxlY3QyIHtcblx0ZGlzcGxheTpub25lO1xufVxuI3RyaWJlLWJhci12aWV3cyAudHJpYmUtc2VsZWN0MiB7XG5cdHdpZHRoOjEwOHB4ICFpbXBvcnRhbnQ7XG5cdGZsb2F0OmxlZnQ7XG59XG4udHJpYmUtc2VsZWN0Mi1yZXN1bHRzIC5zZWxlY3QyLXJlc3VsdHMge1xuXHRtYXJnaW46NHB4IDA7XG5cdHBhZGRpbmc6MDtcbn1cbi50cmliZS1zZWxlY3QyLXJlc3VsdHMgLnNlbGVjdDItcmVzdWx0cyAuc2VsZWN0Mi1yZXN1bHQtbGFiZWwge1xuXHRwYWRkaW5nOjZweCA4cHg7XG5cdGNvbG9yOiM0NDQ7XG5cdGxpbmUtaGVpZ2h0OjE0cHg7XG59XG4udHJpYmUtc2VsZWN0Mi1yZXN1bHRzIC5zZWxlY3QyLXJlc3VsdHMgLnNlbGVjdDItaGlnaGxpZ2h0ZWQge1xuXHRiYWNrZ3JvdW5kOiNkZGQ7XG5cdGNvbG9yOiM0NDQ7XG59XG4jdHJpYmUtYmFyLXZpZXdzIC5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1jaG9pY2UgZGl2IHtcblx0d2lkdGg6MThweDtcbn1cbiN0cmliZS1iYXItdmlld3MgLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLWNob2ljZSBzcGFuIHtcblx0bWFyZ2luLXJpZ2h0OjE4cHg7XG59XG4jdHJpYmUtYmFyLXZpZXdzIC5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1jaG9pY2Ugc3BhbiBzcGFuIHtcblx0bWFyZ2luLXJpZ2h0OjA7XG59XG5cbi8qIFZpZXdzIFNlbGVjdCBXaGVuIEhhdmUgU2V0dGluZ3MgKi9cbi50cmliZS1oYXMtc2V0dGluZ3MgI3RyaWJlLWJhci1kYXRlcyB7XG5cdG1hcmdpbi1sZWZ0Oi0zMzFweDtcbn1cbi50cmliZS1oYXMtc2V0dGluZ3MgI3RyaWJlLWJhci12aWV3cyB7XG5cdHdpZHRoOjE0MnB4O1xuXHRtYXJnaW4tbGVmdDotMTQycHg7XG59XG4udHJpYmUtaGFzLXNldHRpbmdzICN0cmliZS1iYXItdmlld3MgLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLWNob2ljZSB7XG5cdC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6MDtcblx0XHRcdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjA7XG5cdC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MDtcblx0XHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOjA7XG59XG4udHJpYmUtaGFzLXNldHRpbmdzICN0cmliZS1iYXItdmlld3MgLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLWNob2ljZSBkaXYge1xuXHQtd2Via2l0LWJvcmRlci1yYWRpdXM6MDtcblx0XHRcdGJvcmRlci1yYWRpdXM6MDtcblx0YmFja2dyb3VuZDp0cmFuc3BhcmVudDtcblx0YmFja2dyb3VuZC1pbWFnZTpub25lO1xuXHRmaWx0ZXI6bm9uZTtcblx0Ym9yZGVyLWxlZnQ6MDtcbn1cblxuLyogU2V0dGluZ3MgKi9cbiN0cmliZS1ldmVudHMtYmFyIC50cmliZS1iYXItc2V0dGluZ3Mge1xuXHRvdmVyZmxvdzpoaWRkZW47XG59XG4jdHJpYmUtZXZlbnRzLWJhciAudHJpYmUtYmFyLWJ1dHRvbi1zZXR0aW5ncyBzcGFuIHtcblx0aGVpZ2h0OjEwMCU7XG5cdGZsb2F0OmxlZnQ7XG5cdHdpZHRoOjE0cHg7XG5cdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcbn1cbiN0cmliZS1iYXItdmlld3MgLnRyaWJlLWJhci1kcm9wLWNvbnRlbnQgYnV0dG9uIHtcblx0d2lkdGg6MTAwJTtcbn1cblxuLyogRmlsdGVycyBCdXR0b24gJiBEcm9wZG93biBDb250ZW50ICovXG4jdHJpYmUtZXZlbnRzLWJhciAudHJpYmUtYmFyLWJ1dHRvbi1zZXR0aW5ncyB7XG5cdGJvcmRlci1sZWZ0LWNvbG9yOnRyYW5zcGFyZW50O1xuXHQtd2Via2l0LWJvcmRlci1yYWRpdXM6MCA0cHggNHB4IDA7XG5cdFx0XHRib3JkZXItcmFkaXVzOjAgNHB4IDRweCAwO1xuXHRmbG9hdDpsZWZ0O1xuXHRtYXJnaW4tbGVmdDotMXB4O1xufVxuLnRyaWJlLWJhci1zZXR0aW5ncyAudHJpYmUtYmFyLWRyb3AtY29udGVudCB7XG5cdHdpZHRoOjI4NXB4O1xuXHRyaWdodDotNXB4O1xuXHRwYWRkaW5nOjEwcHggMTJweCA0cHg7XG59XG5cbi8qIEJhciBXaWR0aCBBZGp1c3RtZW50cyAqL1xuLnRyaWJlLWJhci1mdWxsICN0cmliZS1iYXItdmlld3MgLnRyaWJlLWJhci12aWV3LXNlbGVjdCxcbi50cmliZS1iYXItZnVsbCAjdHJpYmUtYmFyLXZpZXdzIC50cmliZS1iYXItdmlldy1zZWxlY3QgfiAudHJpYmUtc2VsZWN0MiB7XG5cdGRpc3BsYXk6bm9uZTtcbn1cbi50cmliZS1iYXItbWluaSAjdHJpYmUtYmFyLXZpZXdzIC50cmliZS1iYXItdmlldy1zZWxlY3QsXG4udHJpYmUtYmFyLW1pbmkgI3RyaWJlLWJhci12aWV3cyAudHJpYmUtYmFyLXZpZXctc2VsZWN0IH4gLnRyaWJlLXNlbGVjdDIge1xuXHRkaXNwbGF5OmJsb2NrO1xufVxuLnRyaWJlLWJhci1mdWxsICN0cmliZS1iYXItdmlld3MgdWwudHJpYmUtYmFyLXZpZXctbGlzdCB7XG5cdGRpc3BsYXk6YmxvY2s7XG59XG4udHJpYmUtYmFyLW1pbmkgI3RyaWJlLWJhci12aWV3cyB1bC50cmliZS1iYXItdmlldy1saXN0IHtcblx0ZGlzcGxheTpub25lO1xufVxuXG5cblxuLyogU2tlbGV0b24gRXZlbnRzIFBybyBTdHlsZXMgKi9cblxuLyogRXZlbnRzIExvb3AgKi9cbi50cmliZS1ldmVudHMtbG9vcCAudHJpYmUtZXZlbnRzLWxvb3AgLnZldmVudCB7XG5cdG1hcmdpbjowO1xufVxuLnRyaWJlLWV2ZW50cy1sb29wIGgyLnRyaWJlLWV2ZW50cy1wYWdlLXRpdGxlIHtcblx0cGFkZGluZy1sZWZ0OjA7XG59XG4udHJpYmUtZXZlbnRzLWxvb3AgLnB1Ymxpc2hlZCB7XG5cdG1hcmdpbi10b3A6MDtcbn1cblxuLyogPSBNYXAgVmlldyBUZW1wbGF0ZSBTdHlsZXMgXG4gICBAIFRlbXBsYXRlOm1hcC5waHBcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4vKiB0cmliZSBnZW8gbG9jYXRpb24gb3B0aW9uIGxpbmtzIChkaXNwbGF5ZWQgd2hlbiBtdWx0aXBsZSBsb2NhdGlvbnMgZm91bmQpICovXG4jdHJpYmUtZ2VvLXJlc3VsdHMgaDIsXG4jdHJpYmUtZ2VvLW9wdGlvbnMgaDIge1xuXHRjb2xvcjojMjIyO1xuXHRmb250LXNpemU6MThweDtcblx0Zm9udC13ZWlnaHQ6Ym9sZDtcblx0bGluZS1oZWlnaHQ6MWVtO1xuXHRtYXJnaW46MCAwIDZweDtcblx0cGFkZGluZzowO1xufVxuXG4jdHJpYmUtZ2VvLXJlc3VsdHMgaDIgYSxcbiN0cmliZS1nZW8tb3B0aW9ucyBoMiBhIHtcblx0Y29sb3I6IzIyMjtcbn1cblxuI3RyaWJlLWdlby1saW5rcyB7XG5cdG1hcmdpbi10b3A6MjBweDtcblx0Ym9yZGVyLXRvcDoxcHggc29saWQgI2VlZTtcblx0Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjZWVlO1xuXHRib3JkZXItbGVmdDoxcHggc29saWQgI2VlZTtcbn1cblxuI3RyaWJlLWdlby1vcHRpb25zIHtcblx0ZGlzcGxheTpub25lO1xuXHRtYXJnaW4tYm90dG9tOjIwcHg7XG59XG5cbi50cmliZS1nZW8tb3B0aW9uLWxpbmsge1xuXHRkaXNwbGF5OmJsb2NrO1xuXHR0ZXh0LWRlY29yYXRpb246bm9uZTtcblx0Y29sb3I6IzQ0NDtcblx0Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2VlZTtcblx0cGFkZGluZzozcHggNnB4O1xuXHQtd2Via2l0LXRyYW5zaXRpb246MC4xcyBlYXNlLWluLW91dDtcblx0ICAgLW1vei10cmFuc2l0aW9uOjAuMXMgZWFzZS1pbi1vdXQ7XG5cdCAgICAgLW8tdHJhbnNpdGlvbjowLjFzIGVhc2UtaW4tb3V0O1xuXHRcdFx0dHJhbnNpdGlvbjowLjFzIGVhc2UtaW4tb3V0XG59XG5cbi50cmliZS1nZW8tb3B0aW9uLWxpbms6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiNmNWY1ZjU7XG59XG5cbi50cmliZS1nZW8tb3B0aW9uLWxpbms6aG92ZXIsXG4udHJpYmUtZ2VvLW9wdGlvbi1saW5rOmZvY3VzIHtcblx0dGV4dC1kZWNvcmF0aW9uOm5vbmU7XG59XG5cbi50cmliZS1vcHRpb24tbG9hZGVkLFxuLnRyaWJlLWdlby1vcHRpb24tbGluay50cmliZS1vcHRpb24tbG9hZGVkOmhvdmVyIHtcblx0YmFja2dyb3VuZDojNjY2O1xuXHRjb2xvcjojZmZmO1xufVxuXG4vKiB0cmliZSBnZW8gbG9jYXRpb24gcmVzdWx0cyBsaXN0IGZvcm1hdHRpbmcgKi9cbiN0cmliZS1nZW8tcmVzdWx0cyAudHJpYmUtZXZlbnRzLW5vdGljZXMge1xuXHR0ZXh0LWFsaWduOmNlbnRlcjtcblx0bWFyZ2luOjIuMjVlbSAwIDAgMDtcbn1cblxuLnRyaWJlLWdlby1yZXN1bHQtZW50cnkge1xuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0b3ZlcmZsb3c6YXV0bztcblx0Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2RkZDtcblx0cGFkZGluZzoyLjI1ZW0gMDtcbn1cblxuLnRyaWJlLWdlby1yZXN1bHQtbGFzdCB7XG5cdGJvcmRlci1ib3R0b206bm9uZTtcblx0cGFkZGluZy1ib3R0b206bm9uZTtcbn1cblxuLnRyaWJlLWdlby1yZXN1bHQtdGh1bWIge1xuXHRmbG9hdDpsZWZ0O1xuXHR3aWR0aDozMCU7XG5cdG1hcmdpbi1yaWdodDoyJTtcbn1cblxuLnRyaWJlLWdlby1yZXN1bHQtdGh1bWIgYSB7XG5cdGRpc3BsYXk6YmxvY2s7XG5cdGJvcmRlcjoxcHggc29saWQgI2RkZDtcblx0cGFkZGluZzoycHg7XG5cdC13ZWJraXQtdHJhbnNpdGlvbjowLjFzIGVhc2UtaW4tb3V0O1xuXHQgICAtbW96LXRyYW5zaXRpb246MC4xcyBlYXNlLWluLW91dDtcblx0ICAgICAtby10cmFuc2l0aW9uOjAuMXMgZWFzZS1pbi1vdXQ7XG5cdFx0XHR0cmFuc2l0aW9uOjAuMXMgZWFzZS1pbi1vdXRcbn1cblxuLnRyaWJlLWdlby1yZXN1bHQtdGh1bWIgYSBpbWcge1xuXHRtYXgtd2lkdGg6MTAwJTtcblx0d2lkdGg6MTAwJTtcblx0ZGlzcGxheTpibG9jaztcbn1cblxuLnRyaWJlLWdlby1yZXN1bHQtZGF0YSB7XG5cdGZsb2F0OnJpZ2h0O1xuXHR3aWR0aDo2OCU7XG59XG5cbi50cmliZS1nZW8tcmVzdWx0LWRhdGUge1xuXHRkaXNwbGF5OmJsb2NrO1xuXHRmb250LXNpemU6MTZweDtcblx0Zm9udC1zdHlsZTppdGFsaWM7XG5cdG1hcmdpbjoxMHB4IDAgMCAwO1xuXHR0ZXh0LXRyYW5zZm9ybTpub25lO1xufVxuXG4udHJpYmUtZ2VvLXJlc3VsdC12ZW51ZSB7XG5cdGRpc3BsYXk6YmxvY2s7XG5cdG1hcmdpbjoxMHB4IDAgMCAwO1xuXHRmb250LXNpemU6MTZweDtcbn1cblxuLnRyaWJlLWdlby1yZXN1bHQtZXhjZXJwdCB7XG5cdG1hcmdpbjoxMHB4IDAgMCAwO1xufVxuXG4udHJpYmUtZ2VvLXJlc3VsdC1lbnRyeSAudHJpYmUtZ2VvLXJlc3VsdC1leGNlcnB0IHAge1xuXHRmb250LXNpemU6MTRweDtcbn1cblxuLnRyaWJlLWdlby1yZXN1bHQtZW50cnkgaDIge1xuXHRmbG9hdDpsZWZ0O1xuXHR3aWR0aDo4MCU7XG59XG5cbi50cmliZS1nZW8tcmVzdWx0LWNvc3Qge1xuXHR3aWR0aDoxOCU7XG5cdGZsb2F0OnJpZ2h0O1xufVxuXG4udHJpYmUtZ2VvLXJlc3VsdC1jb3N0IHNwYW4ge1xuXHRkaXNwbGF5OmJsb2NrO1xuXHRmb250LXdlaWdodDpib2xkO1xuXHRwYWRkaW5nOjhweCAxMHB4O1xuXHRvdmVyZmxvdzpoaWRkZW47XG5cdHdoaXRlLXNwYWNlOm5vd3JhcDtcblx0dGV4dC1vdmVyZmxvdzplbGxpcHNpcztcblx0dGV4dC1hbGlnbjpjZW50ZXI7XG59XG5cbi50aW1lciB7XG5cdHRleHQtYWxpZ246Y2VudGVyO1xuXHR3aWR0aDoxMDAlO1xuXHRjb2xvcjpyZWQ7XG5cdG1hcmdpbjoyMHB4IDA7XG59XG5cbi8qID0gVmlldyBMb2FkaW5nIC8gUGFnaW5hdGlvbiBTdHlsZXMgXG4gICBAIFRlbXBsYXRlOm1hcC5waHAgJiBwaG90by5waHBcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4jdHJpYmUtZ2VvLWxvYWRpbmcvKixcbiN0cmliZS1waG90by1sb2FkaW5nKi8ge1xuXHRkaXNwbGF5Om5vbmU7XG5cdHBvc2l0aW9uOmFic29sdXRlO1xuXHR3aWR0aDoxMDAlO1xuXHRoZWlnaHQ6MTAwJTtcblx0bGVmdDowO1xuXHR0b3A6MDtcblx0YmFja2dyb3VuZDojZmZmO1xuXHRiYWNrZ3JvdW5kOnJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcblx0ei1pbmRleDo0O1xuXHR3ZWJraXQtdHJhbnNpdGlvbjphbGwgMXMgbGluZWFyO1xuXHQtbW96LXRyYW5zaXRpb246YWxsIDFzIGxpbmVhcjtcblx0LW8tdHJhbnNpdGlvbjphbGwgMXMgbGluZWFyO1xuXHQtbXMtdHJhbnNpdGlvbjphbGwgMXMgbGluZWFyO1xuXHR0cmFuc2l0aW9uOmFsbCAxcyBsaW5lYXI7XG59XG4jdHJpYmUtZ2VvLWxvYWRpbmcgaW1nIHtcblx0cG9zaXRpb246YWJzb2x1dGU7XG5cdGxlZnQ6NTAlO1xuXHR0b3A6NTAlO1xuXHRtYXJnaW46LTE2cHggMCAwIC0xNnB4O1xufVxuXG4vKiA9IEV2ZW50cyBDYWxlbmRhciBXaWRnZXQgU3R5bGVzIChTaWRlYmFyKVxuICAgQCBUZW1wbGF0ZTp3aWRnZXRzL2NhbGVuZGFyLXdpZGdldC5waHBcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4udHJpYmUtZXZlbnRzLWNhbGVuZGFyLXdpZGdldCAjdHJpYmUtZXZlbnRzLWNhbGVuZGFyLXdyYXAge1xuXHR3aWR0aDoxMDAlO1xufVxuLnRyaWJlLWV2ZW50cy1jYWxlbmRhci13aWRnZXQgdGFibGUudHJpYmUtZXZlbnRzLWNhbGVuZGFyIHtcblx0d2lkdGg6MTAwJTtcblx0dGFibGUtbGF5b3V0OmZpeGVkO1xuXHRtYXJnaW4tdG9wOjA7XG5cdGJvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtcbn1cbi50cmliZS1ldmVudHMtY2FsZW5kYXItd2lkZ2V0IHRhYmxlLnRyaWJlLWV2ZW50cy1jYWxlbmRhciwgXG4udHJpYmUtZXZlbnRzLWNhbGVuZGFyLXdpZGdldCAudHJpYmUtZXZlbnRzLWNhbGVuZGFyIHRkIHtcblx0Ym9yZGVyOjFweCBzb2xpZCAjYmJiO1xufVxuLnRyaWJlLXZpZXctYWxsLWV2ZW50cyB7XG5cdGZsb2F0OnJpZ2h0O1xufVxuLnRyaWJlLWV2ZW50cy1jYWxlbmRhci13aWRnZXQgdGgge1xuXHRmb250LXNpemU6MTBweDtcblx0YmFja2dyb3VuZC1jb2xvcjojZThlOGU4O1xuXHRjb2xvcjojNTU1O1xuXHR3aWR0aDoxNC4yOCU7XG59XG4udHJpYmUtZXZlbnRzLWNhbGVuZGFyLXdpZGdldCB0ZCB7XG5cdGhlaWdodDphdXRvO1xuXHR0ZXh0LWFsaWduOmNlbnRlcjtcbn1cbi50cmliZS1ldmVudHMtY2FsZW5kYXItd2lkZ2V0IHRkIGRpdltpZCo9XCJ0cmliZS1ldmVudHMtZGF5bnVtLVwiXSB7XG5cdHBhZGRpbmc6NnB4IDA7XG5cdGJhY2tncm91bmQtY29sb3I6I2Y5ZjlmOTtcbn1cbi50cmliZS1ldmVudHMtY2FsZW5kYXItd2lkZ2V0IGRpdltpZCo9XCJ0cmliZS1ldmVudHMtZGF5bnVtLVwiXSwgXG4udHJpYmUtZXZlbnRzLWNhbGVuZGFyLXdpZGdldCB0ZCBhIHtcblx0Zm9udC1zaXplOjEwcHg7XG59XG4udHJpYmUtZXZlbnRzLWNhbGVuZGFyLXdpZGdldCB0ZCBhLnRyaWJlLWV2ZW50cy1kYXktaGFzLWV2ZW50IHtcblx0Y29sb3I6IzA2Yztcblx0Y3Vyc29yOmRlZmF1bHQ7XG59XG4udHJpYmUtZXZlbnRzLWNhbGVuZGFyLXdpZGdldCAudHJpYmUtZXZlbnRzLWNhbGVuZGFyIC50cmliZS1ldmVudHMtdG9vbHRpcCB7XG5cdHdpZHRoOjEwMHB4O1xuXHRsZWZ0OjA7XG5cdHRleHQtYWxpZ246bGVmdDtcblx0cGFkZGluZzo1cHggMTBweDtcblx0bWFyZ2luLWJvdHRvbToxLjYyNWVtO1xufVxuLnRyaWJlLWV2ZW50cy1jYWxlbmRhci13aWRnZXQgLnRyaWJlLWV2ZW50cy10b29sdGlwIC50cmliZS1ldmVudHMtYXJyb3cge1xuXHRsZWZ0OjJweDtcbn1cbi50cmliZS1ldmVudHMtY2FsZW5kYXItd2lkZ2V0IC50cmliZS1ldmVudHMtcmlnaHQgLnRyaWJlLWV2ZW50cy10b29sdGlwIHtcblx0cmlnaHQ6MDtcblx0bGVmdDphdXRvO1xufVxuLnRyaWJlLWV2ZW50cy1jYWxlbmRhci13aWRnZXQgLnRyaWJlLWV2ZW50cy1yaWdodCAudHJpYmUtZXZlbnRzLXRvb2x0aXAgLnRyaWJlLWV2ZW50cy1hcnJvdyB7XG5cdGxlZnQ6YXV0bztcblx0cmlnaHQ6MnB4O1xufVxuLnRyaWJlLWV2ZW50cy1jYWxlbmRhci13aWRnZXQgaDUuZW50cnktdGl0bGUge1xuXHRmb250LXNpemU6MTFweDtcblx0bGluZS1oZWlnaHQ6MS41O1xuXHRwYWRkaW5nOjA7XG59XG4jYWpheC1sb2FkaW5nLW1pbmkge1xuXHRkaXNwbGF5Om5vbmU7XG59XG5cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogR2xvYmFsIEV2ZW50cyBTdHlsZXNcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJY29ucyAqL1xuLmNtc21hc3RlcnNfdGhlbWVfaWNvbl9kYXRlOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4NzQnOyB9XG4uY21zbWFzdGVycy1pY29uLWN1c3RvbS1jbG9jazpiZWZvcmUgeyBcblx0Y29udGVudDogJ1xcZTg0OSc7IFxuXHRmb250LWZhbWlseTogXCJmb250ZWxsby1jdXN0b21cIjtcbn1cbi5jbXNtYXN0ZXJzX3RoZW1lX2ljb25fdmVudWU6YmVmb3JlIHsgY29udGVudDogJ1xcZTg5NSc7IH1cbi5jbXNtYXN0ZXJzX3RoZW1lX2ljb25fbW9uZXk6YmVmb3JlIHsgY29udGVudDogJ1xcZTgyOSc7IH1cblxuXG4udHJpYmUtZXZlbnRzLWFkZHJlc3Mge1xuICBtYXJnaW46MDtcbn1cbi50cmliZS1ldmVudHMtYWRkcmVzcyAuYWRyIGJyIHtcbiAgZGlzcGxheTpub25lO1xufVxuXG4vKiBFdmVudHMgTmF2ICovXG4udHJpYmUtZXZlbnRzLXN1Yi1uYXYge1xuXHRsaXN0LXN0eWxlOm5vbmU7XG5cdG1hcmdpbjowO1xuXHRwYWRkaW5nOjE1cHggMDtcblx0cG9zaXRpb246cmVsYXRpdmU7XG5cdC5vdmg7XG5cdFxuXHQmOmVtcHR5e1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblx0XG5cdGxpIHtcblx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdG1hcmdpbjowO1xuXHRcdHBhZGRpbmc6MDtcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHRcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50Om5vbmU7XG5cdFx0fVxuXHRcdFxuXHRcdGEge1xuXHRcdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XG5cdFx0XHRtaW4taGVpZ2h0OjI2cHg7XG5cdFx0XHRwYWRkaW5nOjJweCAwO1xuXHRcdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdFx0fVxuXHRcdFxuXHRcdHNwYW46bm90KFtjbGFzc10pIHtcblx0XHRcdGZvbnQtc2l6ZToxNXB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6NDZweDtcblx0XHRcdHRleHQtaW5kZW50Oi05OTk5cHg7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdFx0LnRhbDtcblx0XHRcdFxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDowO1xuXHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0Zm9udC1mYW1pbHk6J2ZvbnRlbGxvLWN1c3RvbSc7XG5cdFx0XHRcdHRleHQtaW5kZW50OjJweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6MWVtO1xuXHRcdFx0XHR3aWR0aDogNDZweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDQ2cHg7XG5cdFx0XHRcdC50YWM7XG5cdFx0XHRcdC5iZHJzKDUwJSk7XG5cdFx0XHRcdC5vdmg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdCYudHJpYmUtZXZlbnRzLW5hdi1sZWZ0LCBcblx0XHQmLnRyaWJlLWV2ZW50cy1uYXYtbGVmdC50cmliZS1ldmVudHMtbmF2LW5leHQsIFxuXHRcdCYudHJpYmUtZXZlbnRzLW5hdi1wcmV2aW91cywgXG5cdFx0Ji5uYXYtcHJldmlvdXMge1xuXHRcdFx0LmZsO1xuXHRcdFx0XG5cdFx0XHRhIHtcblx0XHRcdFx0cGFkZGluZy1yaWdodDowO1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6NjBweDtcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0c3Bhbjpub3QoW2NsYXNzXSkge1xuXHRcdFx0XHRsZWZ0OjA7XG5cdFx0XHRcdHJpZ2h0OmF1dG87XG5cblx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdGNvbnRlbnQ6J1xcZTg5ZCc7XG5cdFx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHQmLnRyaWJlLWV2ZW50cy1uYXYtcmlnaHQsIFxuXHRcdCYudHJpYmUtZXZlbnRzLW5hdi1yaWdodC50cmliZS1ldmVudHMtbmF2LXByZXZpb3VzLCBcblx0XHQmLnRyaWJlLWV2ZW50cy1uYXYtbmV4dCwgXG5cdFx0Ji5uYXYtbmV4dCB7XG5cdFx0XHQuZnI7XG5cdFx0XHQudGFyO1xuXG5cdFx0XHRhIHtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogNjBweDtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0fVxuXG5cdFx0XHRzcGFuOm5vdChbY2xhc3NdKSB7XG5cdFx0XHRcdGxlZnQ6YXV0bztcblx0XHRcdFx0cmlnaHQ6MDtcblx0XHRcdFx0XG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRjb250ZW50OidcXGU4OWMnO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cblxuLyogRXZlbnRzIFRpdGxlICovXG4udHJpYmUtZXZlbnRzLXBhZ2UtdGl0bGUge1xuXHRtYXJnaW46MDtcblx0cGFkZGluZzowIDAgMHB4O1xufVxuXG5cbi8qIEV2ZW50cyBIZWFkZXIgKi9cbiN0cmliZS1ldmVudHMtaGVhZGVyIHtcblx0dmlzaWJpbGl0eTpoaWRkZW47XG5cdC5kbjtcblx0XG5cdC5zY3JlZW4tcmVhZGVyLXRleHQge1xuXHRcdC5kbjtcblx0fVxufVxuXG5cbi8qIEV2ZW50cyBGb290ZXIgKi9cbiN0cmliZS1ldmVudHMtZm9vdGVyIHtcblx0cG9zaXRpb246cmVsYXRpdmU7XG5cdC5vdmg7XG5cdFxuXHQuc2NyZWVuLXJlYWRlci10ZXh0IHtcblx0XHQuZG47XG5cdH1cbn1cblxuXG4vKiBFdmVudHMgVG9vbHRpcCAqL1xuLnRyaWJlLWV2ZW50cy10b29sdGlwIHtcblx0ZGlzcGxheTpub25lO1xuXHRtYXJnaW46MDtcblx0cGFkZGluZzowO1xuXHR3aWR0aDoyNjBweDtcblx0bWluLXdpZHRoOjI2MHB4O1xuXHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0ei1pbmRleDoxMDAwMDtcblx0LmJkcnMoMCAwIDVweCA1cHgpO1xuXHRcblx0LnRyaWJlLWV2ZW50cy1tb250aCAmIHtcblx0XHRib3R0b206MTAwJSAhaW1wb3J0YW50O1xuXHR9XG5cdFxuXHQudHJpYmUtZXZlbnRzLXJpZ2h0ICYge1xuXHRcdGxlZnQ6YXV0bztcblx0XHRyaWdodDowO1xuXHR9XG5cdFxuXHQucHJlbG9hZGVyIHtcblx0XHRwYWRkaW5nLWJvdHRvbTpAcHJlbG9hZGVyX2V2ZW50X3BhZDtcblx0XHRcblx0XHQmLmhpZ2hJbWcge1xuXHRcdFx0aGVpZ2h0OmF1dG87XG5cdFx0XHRwYWRkaW5nOjA7XG5cdFx0fVxuXHR9XG5cdFxuXHQudHJpYmUtZXZlbnRzLWV2ZW50LWJvZHkge1xuXHRcdHBhZGRpbmc6MzBweCAzMHB4IDE1cHg7XG5cdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdH1cblx0XG5cdC5lbnRyeS10aXRsZSB7XG5cdFx0bWFyZ2luOjA7XG5cdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdH1cblx0XG5cdC5kdXJhdGlvbiB7XG5cdFx0bWFyZ2luOjVweCAwIDE1cHg7XG5cdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdFx0Lm92aDtcblx0fVxuXHRcblx0LmRlc2NyaXB0aW9uIHtcblx0XHRtYXJnaW46MDtcblx0XHRwYWRkaW5nOjVweCAwIDA7XG5cdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdFx0Lm92aDtcblx0fVxuXHRcblx0LnRyaWJlLWV2ZW50cy1hcnJvdyB7XG5cdFx0LmRuO1xuXHR9XG59XG5cblxuLyogRXZlbnQgTm90aWNlcyAqL1xuLnRyaWJlLWV2ZW50cy1ub3RpY2VzIHtcblx0cGFkZGluZzoyMHB4IDMwcHg7XG5cdG1hcmdpbjozMHB4IDA7XG59XG5cbi50cmliZS1ldmVudHMtbm90aWNlcyA+IHVsLCBcbi50cmliZS1ldmVudHMtbm90aWNlcyA+IHVsID4gbGkge1xuXHRtYXJnaW46MDtcblx0cGFkZGluZzowO1xuXHRsaXN0LXN0eWxlOm5vbmU7XG5cdFxuXHQmOmJlZm9yZSB7XG5cdFx0Y29udGVudDpub25lO1xuXHR9XG59XG5cbi50cmliZS1ldmVudHMtZGF0ZSB7XG5cdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xufVxuXG5cbi8qIFJlY3VycmluZyBJbmZvICovXG4ucmVjdXJyaW5naW5mbyB7XG5cdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XG5cdC50cmliZS1ldmVudHMtZGl2aWRlciB7XG5cdFx0dGV4dC1pbmRlbnQ6LTk5OTlweDtcblx0XHRsaW5lLWhlaWdodDoxZW07XG5cdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XG5cdFx0d2lkdGg6MWVtO1xuXHRcdG1hcmdpbjowIDFweDtcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHRcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OicvJztcblx0XHRcdHRleHQtaW5kZW50OjA7XG5cdFx0XHQudGFjO1xuXHRcdFx0LnBvc19hYnM7XG5cdFx0fVxuXHR9XG5cdFxuXHQucmVjdXJyaW5nLWluZm8tdG9vbHRpcCB7XG5cdFx0bWFyZ2luLXRvcDo1cHg7XG5cdFx0cGFkZGluZzowO1xuXHRcdG92ZXJmbG93OnZpc2libGU7XG5cdFx0Ym90dG9tOmF1dG8gIWltcG9ydGFudDtcblx0XHR0b3A6MTAwJTtcblx0XHRcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OicnO1xuXHRcdFx0ZGlzcGxheTpibG9jaztcblx0XHRcdHdpZHRoOjEwMCU7XG5cdFx0XHRoZWlnaHQ6NXB4O1xuXHRcdFx0cG9zaXRpb246YWJzb2x1dGU7XG5cdFx0XHRsZWZ0OjA7XG5cdFx0XHR0b3A6LTVweDtcblx0XHR9XG5cdFx0XG5cdFx0LnRyaWJlLWV2ZW50cy1ldmVudC1ib2R5IHtcblx0XHRcdHBhZGRpbmc6MTVweDtcblx0XHR9XG5cdH1cbn1cblxuXG4vKiBFdmVudHMgTWFwICovXG4uZ20tc3R5bGUgaW1nIHtcblx0bWF4LXdpZHRoOm5vbmU7XG59XG5cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRXZlbnRzIEJhclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuI3RyaWJlLWV2ZW50cy1iYXIge1xuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0Lm92aDtcbn1cblxuI3RyaWJlLWJhci1jb2xsYXBzZS10b2dnbGUge1xuXHRkaXNwbGF5Om5vbmU7XG59XG5cbi8qIEZpbHRlcnMgKi9cbi50cmliZS1iYXItZmlsdGVycyB7XG5cdHBhZGRpbmc6MCAwIDEwcHg7XG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHQub3ZoO1xufVxuXG4udHJpYmUtYmFyLWZpbHRlcnMtaW5uZXIge1xuXHRtYXJnaW46MCAtQGNvbF9tYXI7XG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHQub3ZoO1xuXHRcblx0PiBkaXYge1xuXHRcdHdpZHRoOnJvdW5kKCgxMDAlIC8gMykgLSAoQGNvbF9tYXIgKiAyKSwgMik7XG5cdFx0bWFyZ2luOjAgQGNvbF9tYXIgMjBweDtcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHQuZmw7XG5cdFx0Lm92aDtcblx0XHRcblx0XHQudHJpYmUtZXZlbnRzLXVzZXMtZ2VvbG9jYXRpb24gJiB7XG5cdFx0XHR3aWR0aDpyb3VuZCgoMTAwJSAvIDQpIC0gKEBjb2xfbWFyICogMiksIDIpO1xuXHRcdH1cblx0XHRcblx0XHRsYWJlbCB7XG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0cGFkZGluZzogMCAwIDE1cHggMjJweDtcblx0XHR9XG5cdFx0XG5cdFx0aW5wdXQge1xuXHRcdFx0d2lkdGg6MTAwJTtcblx0XHRcdC5iZHJzKDM1cHgpO1xuXHRcdH1cblx0XHRcblx0XHQmLnRyaWJlLWJhci1zdWJtaXQgaW5wdXQge1xuXHRcdFx0d2lkdGg6MTAwJTtcblx0XHR9XG5cdH1cbn1cblxuXG4uZGF0ZXBpY2tlci5kcm9wZG93bi1tZW51IHtcblx0ei1pbmRleDo5OTk5OTk5OTkgIWltcG9ydGFudDtcblx0XG5cdHRhYmxlIHtcblx0XHR0ciB7XG5cdFx0XHR0aCxcblx0XHRcdHRkIHtcblx0XHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdFx0LmJkbCgwKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRcblx0XHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0XHQuYmRyKDApO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8qIFZpZXdzICovXG4jdHJpYmUtYmFyLXZpZXdzIHtcblx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XG5cdG1hcmdpbjowO1xuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0Lm92aDtcblx0XG5cdC5idXR0b24ge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdC5mbDtcblx0fVxuXG5cdC50cmliZS1iYXItdmlld3Mtc2VsZWN0IHtcblx0XHR2aXNpYmlsaXR5OmhpZGRlbjtcblx0XHQuZG47XG5cdH1cblx0XG5cdC50cmliZS1iYXItdmlld3MtbGlzdCB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0bWFyZ2luOjA7XG5cdFx0cGFkZGluZzowIDAgMCAyMHB4O1xuXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcdGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cdFx0LmZsO1xuXHRcdG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcblx0XHRoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcblx0XHRwYWRkaW5nLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG5cdFx0bWFyZ2luLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG5cdFx0cGFkZGluZy1ib3R0b206IDBweCAhaW1wb3J0YW50O1xuXHRcdG1hcmdpbi1ib3R0b206IDBweCAhaW1wb3J0YW50O1xuXHRcdFxuXHRcdGxpIHtcblx0XHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuXHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdG1hcmdpbjowIDMwcHggMCAwO1xuXHRcdFx0cGFkZGluZzowO1xuXHRcdFx0Lm92aDtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRcdFx0XG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6bm9uZTtcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0JjpsYXN0LWNoaWxkOmFmdGVyIHtcblx0XHRcdFx0Y29udGVudDpub25lO1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHRhIHtcblx0XHRcdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XG5cdFx0XHRcdHBhZGRpbmc6MDtcblx0XHRcdFx0Y3Vyc29yOnBvaW50ZXI7XG5cdFx0XHRcdC5yZWFkbW9yZTtcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0Ji50cmliZS1iYXItYWN0aXZlIGEge1xuXHRcdFx0XHRjdXJzb3I6ZGVmYXVsdDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQudHJpYmUtYmFyLXZpZXdzLXRvZ2dsZSB7IFxuXHRcdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblx0fVxuXHRcblx0Ji50cmliZS1iYXItdmlld3Mtb3BlbiB7XG5cdFx0LmJ1dHRvbiB7XG5cdFx0XHRvdXRsaW5lOm5vbmU7XG5cdFx0fVxuXHRcdFxuXHRcdC50cmliZS1iYXItdmlld3MtbGlzdCB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0fVxuXHR9XG59XG5cbi5kYXRlcGlja2Vye1xuXHQmLmRyb3Bkb3duLW1lbnV7XG5cdFx0ei1pbmRleDogOTk5OSAhaW1wb3J0YW50O1xuXHR9XG59XG5cbi50cmliZS1ldmVudHMtcmVhZC1tb3Jle1xuXHQucmVhZG1vcmU7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBFdmVudHMgUGFnZXNcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIE1hcCAqL1xuI3RyaWJlLWdlby1tYXAtd3JhcHBlciB7XG5cdHBhZGRpbmc6MCAwIDEyMHB4O1xuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0ei1pbmRleDoyO1xuXHQub3ZoO1xuXHRcblx0I3RyaWJlLWdlby1tYXAge1xuXHRcdHdpZHRoOjEwMCU7XG5cdFx0aGVpZ2h0OjA7XG5cdFx0cGFkZGluZy1ib3R0b206MzAlO1xuXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcdHotaW5kZXg6Mztcblx0XHQub3ZoO1xuXHRcdFxuXHRcdGxhYmVsIHtcblx0XHRcdHdpZHRoOmF1dG87XG5cdFx0XHRkaXNwbGF5OmlubGluZTtcblx0XHR9XG5cdFx0XG5cdFx0aW1nIHtcblx0XHRcdG1heC13aWR0aDpub25lO1xuXHRcdH1cblx0XHRcblx0XHQ+IGRpdiB7XG5cdFx0XHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0XHR9XG5cdH1cbn1cblxuXG4ucGhvdG8tbG9hZGVyIHtcblx0cG9zaXRpb246YWJzb2x1dGU7XG5cdHRvcDoyMDBweDtcblx0bGVmdDo1MCU7XHRcbn1cblxuXG4jdHJpYmUtZXZlbnRzLWNvbnRlbnQge1xuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0cGFkZGluZzo3NXB4IDAgNTBweDtcblxuXHQmLnRyaWJlLWV2ZW50cy1zaW5nbGUge1xuXHRcdHBhZGRpbmc6MDtcblxuXHRcdC5taWRkbGVfY29udGVudCAmIHtcblx0XHRcdHBhZGRpbmc6MCA1JSA2MHB4O1xuXHRcdH1cblx0fVxuXHRcblx0PiAudHJpYmUtZXZlbnRzLWJ1dHRvbiB7XG5cdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XG5cdFx0bWFyZ2luOjI1cHggMCAwO1xuXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHR9XG5cdFxuXHQuaXNvdG9wZSxcblx0Lmlzb3RvcGUgLmlzb3RvcGUtaXRlbSB7XG5cdFx0LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOjAuMnM7XG5cdFx0LW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOjAuMnM7XG5cdFx0LW1zLXRyYW5zaXRpb24tZHVyYXRpb246MC4ycztcblx0XHQtby10cmFuc2l0aW9uLWR1cmF0aW9uOjAuMnM7XG5cdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjowLjJzO1xuXHR9XG59XG5cblxuLyogTW9udGhzICovXG4udHJpYmUtZXZlbnRzLW1vbnRoIHtcblx0cG9zaXRpb246cmVsYXRpdmU7XG59XG5cbnRhYmxlLnRyaWJlLWV2ZW50cy1jYWxlbmRhciB7XG5cdG1hcmdpbjowIDFweCAycHg7XG5cdGJvcmRlci1jb2xsYXBzZTpzZXBhcmF0ZTtcblx0Ym9yZGVyLXNwYWNpbmc6MDtcblx0LmNsO1xuXHRcblx0dGhlYWQge1xuXHRcdFxuXHRcdHRoIHtcblx0XHRcdHdpZHRoOjI1MHB4O1xuXHRcdFx0cGFkZGluZzoxM3B4IDVweDtcblx0XHRcdGxldHRlci1zcGFjaW5nOiAtMC40NXB4O1xuXHRcdFx0LnRhYztcblx0XHRcdFxuXHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdC5iZHJzKDEwcHggMCAwIDApO1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHQuYmRycygwIDEwcHggMCAwKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdHRib2R5IHtcblx0XHR0ZCB7XG5cdFx0XHR3aWR0aDoxNC4yOCU7XG5cdFx0XHRoZWlnaHQ6MTEwcHg7XG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjp0b3A7XG5cdFx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHRcdC5iZHIoMnB4KTtcblx0XHRcdFxuXHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0LmJkcigwKTtcblx0XHRcdFx0LmJ4c2hfbm9uZTtcblx0XHRcdFx0LmJkcigycHgpO1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHRcblx0XHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHQuYmRsKDJweCk7XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdGRpdltpZCo9XCJ0cmliZS1ldmVudHMtZGF5bnVtLVwiXSB7XG5cdFx0XHRcdHBhZGRpbmc6NXB4IDE1cHg7XG5cdFx0XHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcdFx0XHQub3ZoO1xuXHRcdFx0XHRcblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0ZGlzcGxheTpibG9jaztcblx0XHRcdFx0XHRtYXJnaW46LTVweCAtMTVweDtcblx0XHRcdFx0XHRwYWRkaW5nOjVweCAxNXB4O1xuXHRcdFx0XHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCYudHJpYmUtZXZlbnRzLW90aGVybW9udGh7XG5cdFx0XHRcdGRpdltpZCo9dHJpYmUtZXZlbnRzLWRheW51bS1de1xuXHRcdFx0XHRcdGNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdFx0fVxuXHRcdFx0fSBcblxuXHRcdFx0Ji50cmliZS1ldmVudHMtcHJlc2VudCB7XG5cdFx0XHRcdG91dGxpbmU6bm9uZTtcblx0XHRcdFx0XG5cdFx0XHRcdGRpdltpZCo9XCJ0cmliZS1ldmVudHMtZGF5bnVtLVwiXSB7XG5cdFx0XHRcdFx0b3V0bGluZTpub25lO1xuXHRcdFx0XHRcdG1hcmdpbjogMCAtMnB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdC50cmliZV9ldmVudHMge1xuXHRcdFx0XHRtYXJnaW46MDtcblx0XHRcdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdFx0XHRcdC5iZGIoMnB4KTtcblx0XHRcdFx0XG5cdFx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdFx0LmJkYigwKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQudHJpYmUtZXZlbnRzLW1vbnRoLWV2ZW50LXRpdGxlIHtcblx0XHRcdFx0bWFyZ2luOjA7XG5cdFx0XHRcdHBhZGRpbmc6MDtcblx0XHRcdFx0XG5cdFx0XHRcdGEge1xuXHRcdFx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHRcdFx0cGFkZGluZzoxMHB4IDklO1xuXHRcdFx0XHRcdGxldHRlci1zcGFjaW5nOiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdC50cmliZS1ldmVudHMtdmlld21vcmUge1xuXHRcdFx0XHRwYWRkaW5nOjVweCA5JTtcblx0XHRcdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdFx0XHRcdC5iZHQoMHB4KTtcblx0XHRcdFx0Lm92aDtcblx0XHRcdFx0XG5cdFx0XHRcdGEge1xuXHRcdFx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHRcdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHR0cntcblx0XHQmOmxhc3QtY2hpbGR7XG5cdFx0XHR0ZHtcblx0XHRcdFx0LmJkYigycHgpO1xuXG5cdFx0XHRcdCY6Zmlyc3QtY2hpbGR7XG5cdFx0XHRcdFx0LmJkcnMoMCAwIDAgMTBweCk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOmxhc3QtY2hpbGR7XG5cdFx0XHRcdFx0LmJkcnMoMCAwIDEwcHggMHB4KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5cbi8qIExpc3QsIERheSwgTWFwICovXG4udHJpYmUtZXZlbnRzLWxpc3Qge1xuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcblxuXG5cdC50cmliZS1ldmVudHMtdXNlci1yZWN1cnJlbmNlLXRvZ2dsZSB7XG5cdFx0dmlzaWJpbGl0eTpoaWRkZW47XG5cdFx0LmRuO1xuXHR9XG5cdFxuXHQudHJpYmUtZXZlbnRzLWxpc3Qtc2VwYXJhdG9yLW1vbnRoLCBcblx0LnRyaWJlLWV2ZW50cy1kYXktdGltZS1zbG90ID4gaDUge1xuXHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0bWFyZ2luOjA7XG5cdFx0cGFkZGluZzoxMHB4IDAgMjVweDtcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHQub3ZoO1xuXHR9XG5cdFxuXHQudHlwZS10cmliZV9ldmVudHMge1xuXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcdHBhZGRpbmc6NDBweCAwO1xuXHRcdC5vdmg7XG5cblx0XHQmOmZpcnN0LW9mLXR5cGV7XG5cdFx0XHRwYWRkaW5nOjc1cHggMDtcblx0XHR9XG5cblx0XHQmOmxhc3Qtb2YtdHlwZXtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAyMHB4O1xuXHRcdH1cblx0fVxuXG5cdC50cmliZS1ldmVudHMtZXZlbnQtaW1hZ2Uge1xuXHRcdHdpZHRoOjMzLjYlO1xuXHRcdHBhZGRpbmc6MCAzMHB4IDAgMDtcblx0XHQudGFjO1xuXHRcdC5mbDtcblx0XHQub3ZoO1xuXHRcdFxuXHRcdGltZyB7XG5cdFx0XHR3aWR0aDoxMDAlO1xuXHRcdFx0bWF4LXdpZHRoOjEwMCU7XG5cdFx0XHRoZWlnaHQ6YXV0bztcblx0XHR9XG5cdH1cblxuXHQuY21zbWFzdGVyc19ldmVudHNfbGlzdF9ldmVudF93cmFwIHtcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHQub3ZoO1xuXHR9XG5cblx0LmNtc21hc3RlcnNfZXZlbnRzX2xpc3RfZXZlbnRfaW5mbyB7XG5cdFx0bWluLWhlaWdodDo2NXB4O1xuXHRcdHBhZGRpbmc6MCAxMDBweCAwIDA7XG5cdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdFx0Lm92aDtcblx0fVxuXG5cdC50cmliZS1ldmVudHMtZXZlbnQtY29zdCB7XG5cdH1cblx0XG5cdC50cmliZS1ldmVudHMtbGlzdC1ldmVudC10aXRsZSB7XG5cdFx0bWFyZ2luOjA7XG5cdFx0cGFkZGluZzowO1xuXHR9XG5cblx0LnRyaWJlLWV2ZW50cy1ldmVudC1tZXRhIHtcblx0XHRtYXJnaW46MDtcblx0XHRwYWRkaW5nOjdweCAwIDA7XG5cdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdFx0XG5cdFx0LmF1dGhvciA+IGRpdiB7XG5cdFx0XHRwYWRkaW5nOjNweCAwIDAgMzNweDtcblx0XHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGZvbnQtc2l6ZToxNnB4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDoxO1xuXHRcdFx0XHQucG9zX2FicygxOHB4LCAxZW0sIDAsIGF1dG8sIDAuNGVtLCBhdXRvKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQudHJpYmUtYWRkcmVzcyB7XG5cdFx0XHRiciB7XG5cdFx0XHRcdC5kbjtcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0LnRyaWJlLWV2ZW50cy1nbWFwIHtcblx0XHRcdG1hcmdpbjowIDAgMCA1cHg7XG5cdFx0fVxuXHR9XG5cblx0LnRyaWJlLWV2ZW50cy1saXN0LWV2ZW50LWRlc2NyaXB0aW9uIHtcblx0XHRwYWRkaW5nOjIwcHggMCAwO1xuXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcdC5vdmg7XG5cdFx0LmNsO1xuXHR9XG5cdFxuXHQudHJpYmUtZXZlbnRzLXJlYWQtbW9yZSB7XG5cdFx0LnJlYWRtb3JlO1xuXHR9XG59XG5cbi50cmliZS1ldmVudHMtbWFwIC50cmliZS1ldmVudHMtcGFnZS10aXRsZSB7XG5cdGRpc3BsYXk6YmxvY2s7XG5cdG1hcmdpbjowO1xuXHRwYWRkaW5nOjAgMCAyNXB4O1xuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0Lm92aDtcbn1cblxuXG4vKiBQaG90byAqL1xuLnRyaWJlLWV2ZW50cy1waG90by1ncmlkLXNpemVyIHtcblx0d2lkdGg6MzMuMzMlO1xufVxuXG4udHJpYmUtZXZlbnRzLXBob3RvLWd1dHRlci1zaXplciB7XG5cdHdpZHRoOjA7XG59XG5cbi50cmliZS1ldmVudHMtcGhvdG8ge1xuXHQjdHJpYmUtZXZlbnRzLXBob3RvLWV2ZW50cyB7XG5cdFx0LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OmhlaWdodDtcblx0XHQtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6aGVpZ2h0O1xuXHRcdC1tcy10cmFuc2l0aW9uLXByb3BlcnR5OmhlaWdodDtcblx0XHQtby10cmFuc2l0aW9uLXByb3BlcnR5OmhlaWdodDtcblx0XHR0cmFuc2l0aW9uLXByb3BlcnR5OmhlaWdodDtcblx0XHRtYXJnaW46IDAgLTE1cHg7XG5cdFx0XG5cdFx0Ji5pc290b3BlIHtcblx0XHRcdC5vcCgwKTtcblx0XHR9XG5cdFx0XG5cdFx0Ji5waG90by1oaWRkZW4ge1xuXHRcdFx0b3BhY2l0eTowO1xuXHRcdH1cblx0XHRcblx0XHQmLnBob3RvLXR3by1jb2wgLnRyaWJlLWV2ZW50cy1waG90by1ldmVudCB7XG5cdFx0XHR3aWR0aDo1MCU7XG5cdFx0fVxuXHRcdFxuXHRcdC5pc290b3BlLWl0ZW0ge1xuXHRcdFx0LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5Oi4ycyBlYXNlLWluO1xuXHRcdFx0LW1vei10cmFuc2l0aW9uLXByb3BlcnR5Oi4ycyBlYXNlLWluO1xuXHRcdFx0LW1zLXRyYW5zaXRpb24tcHJvcGVydHk6LjJzIGVhc2UtaW47XG5cdFx0XHQtby10cmFuc2l0aW9uLXByb3BlcnR5Oi4ycyBlYXNlLWluO1xuXHRcdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTouMnMgZWFzZS1pbjtcblx0XHR9XG5cdH1cblx0XG5cdC50cmliZS1ldmVudHMtdXNlci1yZWN1cnJlbmNlLXRvZ2dsZSB7XG5cdFx0dmlzaWJpbGl0eTpoaWRkZW47XG5cdFx0LmRuO1xuXHR9XG5cdFxuXHQudHJpYmUtZXZlbnRzLXBhZ2UtdGl0bGUge1xuXHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0bWFyZ2luOjA7XG5cdFx0cGFkZGluZzowIDAgMzVweDtcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHQub3ZoO1xuXHR9XG5cdFxuXHQudHJpYmUtZXZlbnRzLXBob3RvLWV2ZW50IHtcblx0XHR3aWR0aDozMy4zMyU7XG5cdFx0cGFkZGluZzo0MHB4IDIwcHggMDtcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHQuZmw7XG5cdH1cblx0XG5cdC50cmliZS1ldmVudHMtcGhvdG8tZXZlbnQtd3JhcCB7XG5cdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdFx0Lm92aDtcblx0fVxuXHRcblx0LnRyaWJlLWV2ZW50cy1ldmVudC1pbWFnZSB7XG5cdFx0d2lkdGg6MTAwJTtcblx0XHRoZWlnaHQ6MDtcblx0XHRtYXJnaW46MDtcblx0XHRwYWRkaW5nLWJvdHRvbTpAcHJlbG9hZGVyX2V2ZW50X3BhZDtcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHRcblx0XHRpbWcge1xuXHRcdFx0LmZ1bGx3aWR0aF9pbl9ibG9jaztcblx0XHR9XG5cdH1cblx0XG5cdC50cmliZS1ldmVudHMtZXZlbnQtZGV0YWlscyB7XG5cdFx0cGFkZGluZzoxNXB4IDBweCAxNXB4O1xuXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHR9XG5cdFxuXHQudHJpYmUtZXZlbnRzLWxpc3QtZXZlbnQtdGl0bGUge1xuXHRcdG1hcmdpbjowO1xuXHRcdHBhZGRpbmc6MDtcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0fVxuXHRcblx0LnRyaWJlLWV2ZW50cy1ldmVudC1tZXRhIHtcblx0XHRtYXJnaW46MDtcblx0XHRwYWRkaW5nOiAxMHB4IDAgMHB4O1xuXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXG5cdFx0PiBkaXZ7XG5cdFx0XHQmOjpiZWZvcmV7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdFx0bWFyZ2luOiAwIDEwcHggMCAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0LnRpbWUtZGV0YWlscyB7XG5cdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdH1cblx0XG5cdC50cmliZS1ldmVudHMtbGlzdC1waG90by1kZXNjcmlwdGlvbiB7XG5cdFx0cGFkZGluZzoxMHB4IDAgMjBweDtcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHQub3ZoO1xuXHRcdFxuXHRcdD4gKjpsYXN0LWNoaWxkIHtcblx0XHRcdG1hcmdpbi1ib3R0b206MDtcblx0XHRcdHBhZGRpbmctYm90dG9tOjA7XG5cdFx0fVxuXHR9XG59XG5cblxuLyogV2VlayAqL1xuLnRyaWJlLWV2ZW50cy13ZWVrLWdyaWQge1xuXHR6LWluZGV4OjEwMDA7XG59XG5cdFxuLnRyaWJlLWV2ZW50cy1ncmlkIHtcblx0d2lkdGg6MTAwJTtcblx0cG9zaXRpb246cmVsYXRpdmU7XG5cdHBhZGRpbmc6IDgwcHggMCAwO1xuXHRcblx0LnRyaWJlLXNjcm9sbGVyIHtcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHR3aWR0aDoxMDAlO1xuXHRcdGhlaWdodDo1MDBweDtcblx0XHRvdmVyZmxvdzpoaWRkZW47XG5cdFx0LmJkcnMoMCAwIDEwcHggMTBweCk7XG5cdFx0LmJkbCgycHgpO1xuXHRcdC5iZHIoMnB4KTtcblx0XHQuYmRiKDJweCk7XG5cdH1cblx0XG5cdC50cmliZS1zY3JvbGxlciA+IC5zY3JvbGxlci1jb250ZW50IHtcblx0XHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0XHRvdmVyZmxvdzpzY3JvbGw7XG5cdFx0b3ZlcmZsb3cteDpoaWRkZW47XG5cdFx0dG9wOjA7XG5cdFx0cmlnaHQ6MDtcblx0XHRib3R0b206MDtcblx0XHRsZWZ0OjA7XG5cdH1cblx0XG5cdC50cmliZS1zY3JvbGxlciA+IC5zY3JvbGxlci1jb250ZW50OmZvY3VzIHtcblx0XHRvdXRsaW5lOnRoaW4gZG90dGVkO1xuXHR9XG5cdFxuXHQudHJpYmUtc2Nyb2xsZXIgPiAuc2Nyb2xsZXItY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuXHRcdGRpc3BsYXk6bm9uZTtcblx0fVxuXHRcblx0Lmhhcy1zY3JvbGxiYXIgPiAuc2Nyb2xsZXItY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuXHRcdGRpc3BsYXk6YmxvY2s7XG5cdH1cblx0XG5cdC50cmliZS1zY3JvbGxlciA+IC5zY3JvbGxlci1wYW5lIHtcblx0XHRiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjI1KTtcblx0XHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0XHR3aWR0aDoxMHB4O1xuXHRcdHJpZ2h0OjA7XG5cdFx0dG9wOjA7XG5cdFx0Ym90dG9tOjA7XG5cdFx0dmlzaWJpbGl0eTpoaWRkZW5cXDk7IC8qIFRhcmdldCBvbmx5IElFNyBhbmQgSUU4IHdpdGggdGhpcyBoYWNrICovXG5cdFx0b3BhY2l0eTouMDE7XG5cdFx0LXdlYmtpdC10cmFuc2l0aW9uOi4ycztcblx0XHQtbW96LXRyYW5zaXRpb246LjJzO1xuXHRcdC1vLXRyYW5zaXRpb246LjJzO1xuXHRcdHRyYW5zaXRpb246LjJzO1xuXHRcdC1tb3otYm9yZGVyLXJhZGl1czo1cHg7XG5cdFx0LXdlYmtpdC1ib3JkZXItcmFkaXVzOjVweDtcblx0XHRib3JkZXItcmFkaXVzOjVweDtcblx0XHR6LWluZGV4OjEwMDAgIWltcG9ydGFudFxuXHR9XG5cdFxuXHQudHJpYmUtc2Nyb2xsZXIgPiAuc2Nyb2xsZXItcGFuZSA+IC5zY3JvbGxlci1zbGlkZXIge1xuXHRcdGJhY2tncm91bmQ6IzQ0NDtcblx0XHRiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjUpO1xuXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcdG1hcmdpbjowIDFweDtcblx0XHQtbW96LWJvcmRlci1yYWRpdXM6M3B4O1xuXHRcdC13ZWJraXQtYm9yZGVyLXJhZGl1czozcHg7XG5cdFx0Ym9yZGVyLXJhZGl1czozcHg7XG5cdH1cblx0XG5cdC50cmliZS1zY3JvbGxlcjpob3ZlciA+IC5zY3JvbGxlci1wYW5lLCBcblx0LnNjcm9sbGVyLXBhbmUuYWN0aXZlLCBcblx0LnNjcm9sbGVyLXBhbmUuZmxhc2hlZCB7XG5cdFx0dmlzaWJpbGl0eTp2aXNpYmxlXFw5OyAvKiBUYXJnZXQgb25seSBJRTcgYW5kIElFOCB3aXRoIHRoaXMgaGFjayAqL1xuXHRcdG9wYWNpdHk6MC45OTtcblx0fVxuXHRcblx0LnRyaWJlLXdlZWstZ3JpZC1vdXRlci13cmFwIHtcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0fVxuXHRcblx0LnRyaWJlLXdlZWstZ3JpZC1pbm5lci13cmFwIHtcblx0XHR3aWR0aDoxMDAlO1xuXHRcdHBvc2l0aW9uOmFic29sdXRlO1xuXHR9XG5cdFxuXHQudHJpYmUtd2Vlay1ncmlkLWJsb2NrIHtcblx0XHRoZWlnaHQ6OTBweDtcblx0XHRwYWRkaW5nOjA7XG5cdFx0bWFyZ2luOjA7XG5cdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdFx0XG5cdFx0ZGl2IHtcblx0XHRcdGhlaWdodDo0NXB4O1xuXHRcdFx0bWFyZ2luLWJvdHRvbTo0NXB4O1xuXHRcdFx0LmJkdDtcblx0XHRcdC5iZGI7XG5cdFx0fVxuXHR9XG5cdFxuXHQudHJpYmUtZ3JpZC1ib2R5IHtcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0fVxuXHRcblx0LmNvbHVtbiB7XG5cdFx0d2lkdGg6MTQuMjg1NyU7XG5cdFx0bWluLWhlaWdodDoxcHg7XG5cdFx0dmVydGljYWwtYWxpZ246dG9wO1xuXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcdC5mbDtcblx0XHRcblx0XHQmLmZpcnN0IHtcblx0XHRcdHdpZHRoOjc4cHg7XG5cdFx0XHQudGFjO1xuXHRcdFx0LmZsO1xuXHRcdFx0XG5cdFx0XHQ+IHNwYW4ge1xuXHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XG5cdFx0XHRcdHBhZGRpbmc6IDIwcHggMDtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0LnZhbGlnbl9hZnRlcjtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQudHJpYmUtd2Vlay1ncmlkLWhvdXJzIHtcblx0XHR3aWR0aDo3OHB4O1xuXHRcdC5mbDtcblx0XHRcblx0XHRkaXYge1xuXHRcdFx0aGVpZ2h0OjkwcHg7XG5cdFx0XHRwYWRkaW5nOjM1cHggMCAwO1xuXHRcdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdFx0XHQudGFjO1xuXHRcdFx0LmJkdCgycHgpO1xuXG5cdFx0XHQmOmZpcnN0LWNoaWxke1xuXHRcdFx0XHQuYmR0KDBweCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHQudHJpYmUtZ3JpZC1jb250ZW50LXdyYXAge1xuXHRcdHBhZGRpbmc6MCAwIDAgNzhweDtcblx0XHQuYmRiKDJweCk7XG5cdFx0XG5cdFx0JjphZnRlciB7XG5cdFx0XHQuY2xfYWZ0ZXI7XG5cdFx0fVxuXHRcdFxuXHRcdC5jb2x1bW4ge1xuXHRcdFx0LmJkbCgycHgpO1xuXHRcdH1cblx0fVxuXHRcblx0LnRyaWJlLWdyaWQtaGVhZGVyIHtcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHQub3ZoO1xuXHRcdC5iZHJzKDEwcHggMTBweCAwIDApO1xuXHRcdFxuXHRcdC5jb2x1bW4ge1xuXHRcdFx0LmJkbCgwKTtcblx0XHR9XG5cblx0XHQudHJpYmUtd2Vlay10b2RheXtcblx0XHRcdGEge1xuXHRcdFx0XHRvcGFjaXR5OiAwLjY1O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGEge1xuXHRcdFx0ZGlzcGxheTpibG9jaztcblxuXHRcdFx0Jjpob3Zlcntcblx0XHRcdFx0b3BhY2l0eTogMC42NTtcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0c3BhbiB7XG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0cGFkZGluZzoxM3B4IDVweDtcblx0XHRcdC50YWM7XG5cdFx0fVxuXHR9XG5cdFxuXHQudHJpYmUtZ3JpZC1hbGxkYXkge1xuXHRcdG1hcmdpbi1ib3R0b206LTFweDtcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHR6LWluZGV4OjEwO1xuXHRcdC5iZGwoMnB4KTtcblx0XHQuYmRyKDJweCk7XG5cdFx0LmJkYigwcHgpO1xuXHRcdFxuXHRcdC50cmliZS1ldmVudHMtdG9vbHRpcCB7XG5cdFx0XHR0b3A6MTAwJSAhaW1wb3J0YW50O1xuXHRcdFx0Ym90dG9tOmF1dG8gIWltcG9ydGFudDtcblx0XHR9XG5cdFx0XG5cdFx0LnRyaWJlLXdlZWstZXZlbnQge1xuXHRcdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdFx0XHRcblx0XHRcdC52ZXZlbnQge1xuXHRcdFx0XHR3aWR0aDoxMDAlO1xuXHRcdFx0XHRtaW4td2lkdGg6MTAwJTtcblx0XHRcdFx0bWF4LXdpZHRoOjEwMCU7XG5cdFx0XHRcdGN1cnNvcjpwb2ludGVyO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0LnRyaWJlLXdlZWstZXZlbnQge1xuXHRcdHdpZHRoOjEwMCU7XG5cdFx0dmlzaWJpbGl0eTpoaWRkZW47XG5cdFx0cG9zaXRpb246YWJzb2x1dGU7XG5cdFx0XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHR6LWluZGV4OjgwMDtcblx0XHR9XG5cdFx0XG5cdFx0LnZldmVudCB7XG5cdFx0XHR3aWR0aDoxMDAlO1xuXHRcdFx0aGVpZ2h0OjEwMCU7XG5cdFx0XHRwYWRkaW5nOjFweDtcblx0XHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcdFx0ei1pbmRleDoxO1xuXHRcdFx0Y3Vyc29yOnBvaW50ZXI7XG5cblx0XHRcdC5lbnRyeS10aXRsZSB7XG5cdFx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHRcdHdpZHRoOjEwMCU7XG5cdFx0XHRcdGhlaWdodDoxMDAlO1xuXHRcdFx0XHRtYXJnaW46MDtcblx0XHRcdFx0cGFkZGluZzowcHg7XG5cdFx0XHRcdC5iZCgycHgpO1xuXHRcdFx0XHQub3ZoO1xuXG5cdFx0XHRcdGEge1xuXHRcdFx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHRcdFx0d2lkdGg6MTAwJTtcblx0XHRcdFx0XHRoZWlnaHQ6MTAwJTtcblx0XHRcdFx0XHRwYWRkaW5nOiAyMHB4O1xuXHRcdFx0XHRcdHRleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7XG5cdFx0XHRcdFx0Lm92aDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC50cmliZS1ldmVudHMtZGF5LWNvbHVtbi0wLCBcblx0LnRyaWJlLWV2ZW50cy1kYXktY29sdW1uLTYsIFxuXHQudHJpYmUtZXZlbnRzLWRheS1jb2x1bW4tNSB7XG5cdFx0LnRyaWJlLWV2ZW50cy10b29sdGlwIHtcblx0XHRcdGxlZnQ6YXV0bztcblx0XHRcdHJpZ2h0OjA7XG5cdFx0fVxuXHR9XG59XG5cbi5jbXNtYXN0ZXJzX2V2ZW50X3N0YXJ0e1xuXHQmICsgLmNtc21hc3RlcnNfZXZlbnRfZW5ke1xuXHRcdCY6OmJlZm9yZXtcblx0XHRcdGNvbnRlbnQ6IFwiIC0gXCI7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmU7XG5cdFx0fVxuXHR9XG59XG5cbiN0cmliZS1tb2JpbGUtY29udGFpbmVyIHtcblx0ZGlzcGxheTpub25lO1xuXHRwYWRkaW5nOjA7XG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHQub3ZoO1xufVxuXG4udHJpYmUtbW9iaWxlLWRheSB7XG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHQub3ZoO1xuXHRcblx0LnRyaWJlLWV2ZW50cy13ZWVrLWdyaWQgJiB7XG5cdFx0cGFkZGluZy1ib3R0b206MzBweDtcblx0XHRcblx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0cGFkZGluZy1ib3R0b206MDtcblx0XHR9XG5cdH1cblx0XG5cdHA6ZW1wdHkge1xuXHRcdC5kbjtcblx0fVxuXHRcblx0LnRyaWJlLW1vYmlsZS1kYXktaGVhZGluZyB7XG5cdFx0LmRuO1xuXHR9XG5cdFxuXHQudHJpYmUtbW9iaWxlLWRheS1kYXRlIHtcblx0XHRtYXJnaW46MDtcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHQuY2w7XG5cdFx0Lm92aDtcblx0fVxuXG5cdC50cmliZS1ldmVudHMtdmlld21vcmV7XG5cdFx0YXtcblx0XHRcdC5yZWFkbW9yZTtcblx0XHR9XG5cdH1cblx0XG5cdC50cmliZS1ldmVudHMtbW9iaWxlIHtcblx0XHRwYWRkaW5nOjQwcHggMDtcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHQuYmRiO1xuXHRcdC5vdmg7XG5cdFx0LmJ4c2hfd2hpdGUoMCwgMXB4LCAwLCAwLCAuNyk7XG5cdFx0XG5cdFx0JjpsYXN0LWNoaWxkLCBcblx0XHQmLnRyaWJlLWV2ZW50cy1sYXN0LCBcblx0XHQmLnRyaWJlLWV2ZW50LWVuZC1tb250aCB7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTowO1xuXHRcdFx0LmJkYigwKTtcblx0XHRcdC5ieHNoX25vbmU7XG5cdFx0fVxuXHRcdFxuXHRcdC50cmliZS1ldmVudHMtd2Vlay1ncmlkICYge1xuXHRcdFx0cGFkZGluZzoyMHB4IDA7XG5cdFx0fVxuXHR9XG5cdFxuXHQuc3VtbWFyeSB7XG5cdFx0bWFyZ2luOjA7XG5cdH1cblx0XG5cdC50cmliZS1ldmVudHMtZXZlbnQtYm9keSB7XG5cdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0XHQub3ZoO1xuXHR9XG5cdFxuXHQudHJpYmUtZXZlbnRzLWV2ZW50LXNjaGVkdWxlLWRldGFpbHMsIFxuXHQudHJpYmUtZXZlbnQtc2NoZWR1bGUtZGV0YWlscyB7XG5cdFx0ZGlzcGxheTpibG9jaztcblx0XHRwYWRkaW5nOjAgMCAyMHB4O1xuXHRcdFxuXHRcdC50cmliZS1ldmVudHMtd2Vlay1ncmlkICYge1xuXHRcdFx0cGFkZGluZy1ib3R0b206MTBweDtcblx0XHR9XG5cdH1cblx0XG5cdC50cmliZS1ldmVudHMtZXZlbnQtaW1hZ2Uge1xuXHRcdHdpZHRoOjEwMCU7XG5cdFx0bWFyZ2luOjAgMCAyMHB4O1xuXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcdC50YWM7XG5cdFx0Lm92aDtcblx0XHRcblx0XHRpbWcge1xuXHRcdFx0d2lkdGg6MTAwJTtcblx0XHRcdG1heC13aWR0aDoxMDAlO1xuXHRcdFx0aGVpZ2h0OmF1dG87XG5cdFx0fVxuXHR9XG5cdFxuXHQuZGVzY3JpcHRpb24ge1xuXHRcdHBhZGRpbmc6MCAwIDIwcHg7XG5cdH1cblx0XG5cdC50cmliZS1ldmVudHMtcmVhZC1tb3JlIHtcblx0XHRvdXRsaW5lOm5vbmU7XG5cdFx0LnJlYWRtb3JlO1xuXHR9XG59XG5cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2luZ2xlIEV2ZW50XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4uY21zbWFzdGVyc19zaW5nbGVfZXZlbnQge1xuXHRtYXJnaW46MCAwIDQwcHg7XG5cdHBhZGRpbmc6MCAwIDQwcHg7XG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXG5cdC5jbXNtYXN0ZXJzX3NpbmdsZV9ldmVudF9oZWFkZXIge1xuXHRcdHBhZGRpbmc6MCAwIDI1cHg7XG5cdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cblx0XHQmOmFmdGVyIHtcblx0XHRcdC5jbF9hZnRlcjtcblx0XHR9XG5cdH1cblxuXHQuY21zbWFzdGVyc19zaW5nbGVfZXZlbnRfaGVhZGVyX2xlZnQge1xuXHRcdC5mbDtcblx0fVxuXHRcblx0LnRyaWJlLWV2ZW50cy1zaW5nbGUtZXZlbnQtdGl0bGUge1xuXHRcdG1hcmdpbjowO1xuXHRcdHBhZGRpbmc6MCAwIDIwcHg7XG5cdH1cblx0XG5cdC50cmliZS1ldmVudHMtc2NoZWR1bGUge1xuXHRcdHBhZGRpbmc6MnB4IDAgMDtcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHRcblx0XHQqW2NsYXNzKj1pY29uXXtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHBhZGRpbmc6IDAgMCAwIDI1cHg7XG5cdFx0XHQub3ZoO1xuXG5cdFx0XHQmOjpiZWZvcmV7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAwLjJlbTtcblx0XHRcdFx0bGVmdDogMC4wNWVtO1xuXHRcdFx0XHRtYXJnaW46IDAgMTBweCAwIDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LmNtc21hc3RlcnNfZXZlbnRfYWRkcmVzc3tcblx0XHRicntcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHRcdFxuXHR9XG5cblx0LnRyaWJlLWV2ZW50cy1jb3N0IHtcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0fVxuXG5cdC5jbXNtYXN0ZXJzX3NpbmdsZV9ldmVudF9oZWFkZXJfcmlnaHQge1xuXHRcdHBhZGRpbmc6MTBweCAwIDA7XG5cdFx0LmZyO1xuXHRcdC5vdmg7XG5cdFx0XG5cdFx0ZGl2IHtcblx0XHRcdC5vdmg7XG5cdFx0fVxuXHRcdFxuXHRcdGEge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0ZGlzcGxheTpibG9jaztcblx0XHRcdGNsZWFyOmJvdGg7XG5cdFx0XHRtYXJnaW46IDAgMCAxMHB4IDA7XG5cdFx0XHQucmVhZG1vcmUoKTtcblx0XHRcdC5mcjtcblxuXHRcdFx0JltjbGFzcyo9aWNvbl17XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAxLjVlbTtcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHdpZHRoOiAxZW07XG5cdFx0XHRcdGhlaWdodDogMWVtO1xuXHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdGxlZnQ6IC0xLjVlbTtcblx0XHRcdFx0Ym90dG9tOiAxcHg7XG5cdFx0XHRcdG1hcmdpbjogYXV0bztcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX3NpbmdsZV9ldmVudF9pbWcge1xuXHRcdG1hcmdpbjowIDAgMjVweDtcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHQub3ZoO1xuXHRcdFxuXHRcdC50cmliZS1ldmVudHMtZXZlbnQtaW1hZ2Uge1xuXHRcdFx0LnRhYztcblx0XHR9XG5cdFx0XG5cdFx0aW1nIHtcblx0XHR9XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX3NpbmdsZV9ldmVudF9jb250ZW50IHtcblx0XHRtYXJnaW46MDtcblx0XHRwYWRkaW5nOjA7XG5cdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdFx0Lm92aDtcblx0XHRcblx0XHQ+ICo6bGFzdC1jaGlsZCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOjA7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTowO1xuXHRcdH1cblx0XHRcblx0XHQrIC50cmliZS1ldmVudHMtY2FsLWxpbmtzIHtcblx0XHRcdC5kbjtcblx0XHR9XG5cdH1cbn1cblxuLmNtc21hc3RlcnNfc2luZ2xlX2V2ZW50X21ldGEge1xuXHRtYXJnaW46MCAtQGNvbF9tYXI7XG5cdHBhZGRpbmc6MCAwIDIwcHg7XG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHR3b3JkLXdyYXA6YnJlYWstd29yZDtcblx0Lm92aDtcblx0XG5cdCYuY21zbWFzdGVyc19ldmVudF9tZXRhX2luZm9fY29sXzQge1xuXHRcdC50cmliZS1ldmVudHMtbWV0YS1ncm91cCB7XG5cdFx0XHR3aWR0aDpyb3VuZCgoMTAwJSAvIDQpIC0gKEBjb2xfbWFyICogMiksIDIpO1xuXHRcdH1cblx0fVxuXHRcblx0Ji5jbXNtYXN0ZXJzX2V2ZW50X21ldGFfaW5mb19jb2xfMyB7XG5cdFx0LnRyaWJlLWV2ZW50cy1tZXRhLWdyb3VwIHtcblx0XHRcdHdpZHRoOnJvdW5kKCgxMDAlIC8gMykgLSAoQGNvbF9tYXIgKiAyKSwgMik7XG5cdFx0fVxuXHR9XG5cdFxuXHQmLmNtc21hc3RlcnNfZXZlbnRfbWV0YV9pbmZvX2NvbF8yIHtcblx0XHQudHJpYmUtZXZlbnRzLW1ldGEtZ3JvdXAge1xuXHRcdFx0d2lkdGg6cm91bmQoKDEwMCUgLyAyKSAtIChAY29sX21hciAqIDIpLCAyKTtcblx0XHR9XG5cdH1cblx0XG5cdC50cmliZS1ldmVudHMtbWV0YS1ncm91cCB7XG5cdFx0d2lkdGg6cm91bmQoMTAwJSAtIChAY29sX21hciAqIDIpLCAyKTtcblx0XHRtYXJnaW46MCBAY29sX21hciAzMHB4O1xuXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcdC5mbDtcblx0XHQub3ZoO1xuXHR9XG5cdFxuXHQudHJpYmUtZXZlbnRzLXNpbmdsZS1zZWN0aW9uLXRpdGxlIHtcblx0XHRtYXJnaW46MDtcblx0XHRwYWRkaW5nOjAgMCAzNXB4O1xuXHR9XG5cdFxuXHQuY21zbWFzdGVyc19ldmVudF9tZXRhX2luZm8ge1xuXHRcdC5vdmg7XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX2V2ZW50X21ldGFfaW5mb19pdGVtIHtcblx0XHRwYWRkaW5nOjAgMCAxMHB4O1xuXHRcdG1hcmdpbjowIDAgMTBweDtcblx0XHQuYmRiO1xuXHRcdC5vdmg7XG5cdH1cblx0XG5cdGRsIHtcblx0XHRwYWRkaW5nOjA7XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX2V2ZW50X21ldGFfaW5mb19pdGVtX3RpdGxle1xuXHRcdGxldHRlci1zcGFjaW5nOiAtMC4zN3B4O1xuXHR9XG5cblx0LmNtc21hc3RlcnNfZXZlbnRfbWV0YV9pbmZvX2l0ZW1fdGl0bGUsIFxuXHQuY21zbWFzdGVyc19ldmVudF9tZXRhX2luZm9faXRlbV9kZXNjciwgXG5cdGR0LCBcblx0ZGQge1xuXHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuXHRcdHdpZHRoOjM1JTtcblx0XHRwYWRkaW5nOjAgMTBweCAwIDA7XG5cdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdFx0dmVydGljYWwtYWxpZ246dG9wO1xuXHRcdC50YWw7XG5cdFx0Lm92aDtcblx0fVxuXHRcblx0LmNtc21hc3RlcnNfZXZlbnRfbWV0YV9pbmZvX2l0ZW1fZGVzY3IsIFxuXHRkZCB7XG5cdFx0d2lkdGg6NjUlO1xuXHRcdHBhZGRpbmc6MDtcblx0XHRtYXJnaW46MCAwIDAgLTRweDtcblx0XHQudGFyO1xuXHR9XG59XG5cbi50cmliZS1ldmVudHMtc2luZ2xlIC5wb3N0X25hdiB7XG5cdG1hcmdpbjozMHB4IDAgNTBweDtcblx0cGFkZGluZzoxMHB4IDA7XG5cdC5iZGIoMCk7XG5cdFxuXHQmOmJlZm9yZSB7XG5cdFx0dG9wOjA7XG5cdH1cblx0XG5cdCY6YWZ0ZXIge1xuXHRcdGJvdHRvbToxcHg7XG5cdH1cbn1cblxuLmNtc21hc3RlcnNfc2luZ2xlX2V2ZW50X21hcCB7XG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHQub3ZoO1xuXHRtYXJnaW4tYm90dG9tOiAxMDBweDtcblx0XG5cdFtpZCo9XCJ0cmliZS1ldmVudHMtZ21hcFwiXSB7XG5cdFx0d2lkdGg6MTAwJSAhaW1wb3J0YW50O1xuXHRcdHBhZGRpbmctYm90dG9tOjQwJSAhaW1wb3J0YW50O1xuXHRcdGhlaWdodDowICFpbXBvcnRhbnQ7XG5cdFx0bWFyZ2luOjAgIWltcG9ydGFudDtcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZSAhaW1wb3J0YW50O1xuXHRcdFxuXHRcdD4gZGl2IHtcblx0XHRcdHBvc2l0aW9uOmFic29sdXRlO1xuXHRcdH1cblx0fVxufVxuXG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFJlbGF0ZWQgRXZlbnRzXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udHJpYmUtZXZlbnRzLXJlbGF0ZWQtZXZlbnRzLXRpdGxlIHtcblx0bWFyZ2luOjA7XG5cdHBhZGRpbmc6MCAwIDI1cHg7XG59XG5cbnVsLnRyaWJlLXJlbGF0ZWQtZXZlbnRzIHtcblx0bWFyZ2luOjAgLUBjb2xfbWFyO1xuXHRwYWRkaW5nOjA7XG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRvdmVyZmxvdzp2aXNpYmxlICFpbXBvcnRhbnQ7XG5cdFxuXHRsaSB7XG5cdFx0d2lkdGg6cm91bmQoKDEwMCUgLyAzKSAtIChAY29sX21hciAqIDIpLCAyKTtcblx0XHRtYXJnaW46MCBAY29sX21hcjtcblx0XHRwYWRkaW5nOjA7XG5cdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdFx0LmZsO1xuXHRcdC5vdmg7XG5cdFx0XG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDpub25lO1xuXHRcdH1cblx0fVxuXHRcblx0LnRyaWJlLXJlbGF0ZWQtZXZlbnRzLXRodW1ibmFpbCB7XG5cdFx0YSB7XG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0aGVpZ2h0OjA7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTpAcHJlbG9hZGVyX3JlbGF0ZWRfZXZlbnRfcGFkO1xuXHRcdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdFx0XHQub3ZoO1xuXHRcdFx0XG5cdFx0XHQmOmVtcHR5IHtcblx0XHRcdFx0cGFkZGluZy1ib3R0b206MDtcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0aW1nLCBcblx0XHQuY21zbWFzdGVyc19ldmVudHNfaW1nX3BsYWNlaG9sZGVyIHtcblx0XHRcdC5mdWxsd2lkdGhfaW5fYmxvY2s7XG5cdFx0fVxuXHRcdFxuXHRcdC5jbXNtYXN0ZXJzX2V2ZW50c19pbWdfcGxhY2Vob2xkZXI6YmVmb3JlIHtcblx0XHRcdGZvbnQtc2l6ZTo0MHB4O1xuXHRcdFx0LnBvc19hYnM7XG5cdFx0fVxuXHR9XG5cdFxuXHQudHJpYmUtcmVsYXRlZC1ldmVudC1pbmZvIHtcblx0XHRwYWRkaW5nOjE1cHggMHB4IDIwcHg7XG5cdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdFx0Lm92aDtcblx0fVxuXHRcblx0LnRyaWJlLXJlbGF0ZWQtZXZlbnRzLXRpdGxlIHtcblx0XHRtYXJnaW46MDtcblx0XHRwYWRkaW5nOjA7XG5cdH1cbn1cblxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTaW5nbGUgVmVudWVcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5kaXYudHJpYmUtZXZlbnRzLXZlbnVlIHtcblx0Lm92aDtcbn1cblxuLnRyaWJlLWV2ZW50cy12ZW51ZSB7XG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcblx0LmNtc21hc3RlcnNfZXZlbnRzX3ZlbnVlX2hlYWRlciB7XG5cdFx0cGFkZGluZzowIDAgMjVweDtcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHRcblx0XHQmOmFmdGVyIHtcblx0XHRcdC5jbF9hZnRlcjtcblx0XHR9XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX2V2ZW50c192ZW51ZV9oZWFkZXJfbGVmdCB7XG5cdFx0LmZsO1xuXHRcdFxuXHRcdC5lbnRyeS10aXRsZSB7XG5cdFx0XHRtYXJnaW46MDtcblx0XHRcdHBhZGRpbmc6MDtcblx0XHR9XG5cdH1cblx0XG5cdC50cmliZS1ldmVudHMtZXZlbnQtbWV0YSB7XG5cdFx0cGFkZGluZzoycHggMCAwO1xuXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcdFxuXHRcdC52ZW51ZS1hZGRyZXNzIHtcblx0XHRcdG1hcmdpbjowO1xuXHRcdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdFx0XHQub3ZoO1xuXHRcdFx0XG5cdFx0XHQ+IHNwYW4ge1xuXHRcdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0LmNtc21hc3RlcnNfZXZlbnRzX3ZlbnVlX2hlYWRlcl9yaWdodCB7XG5cdFx0cGFkZGluZzoxMHB4IDAgMDtcblx0XHQuZnI7XG5cdFx0Lm92aDtcblx0XHRcblx0XHRhIHtcblx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHRjbGVhcjpib3RoO1xuXHRcdFx0LmZyO1xuXHRcdFx0XG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdG1hcmdpbjowIDVweCAwIDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHQudHJpYmUtZXZlbnRzLXZlbnVlLW1ldGEge1xuXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcdC5vdmg7XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX2V2ZW50c192ZW51ZV9tZXRhX2ltZyB7XG5cdFx0bWFyZ2luOjAgMCAyNXB4O1xuXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcdC5vdmg7XG5cdFx0XG5cdFx0LnRyaWJlLWV2ZW50cy1ldmVudC1pbWFnZSB7XG5cdFx0XHQudGFjO1xuXHRcdH1cblx0XHRcblx0XHRpbWcge1xuXHRcdFx0LmJkcnM7XG5cdFx0fVxuXHR9XG5cdFxuXHQudHJpYmUtdmVudWUtZGVzY3JpcHRpb24ge1xuXHRcdG1hcmdpbjowO1xuXHRcdHBhZGRpbmc6MCAwIDM1cHg7XG5cdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdFx0Lm92aDtcblx0XHRcblx0XHQ+ICo6bGFzdC1jaGlsZCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOjA7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTowO1xuXHRcdH1cblx0fVxuXHRcblx0LmNtc21hc3RlcnNfZXZlbnRzX3ZlbnVlX21ldGFfbWFwIHtcblx0XHRwYWRkaW5nOjAgMCA1MHB4O1xuXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcdC5vdmg7XG5cdFx0XG5cdFx0W2lkKj1cInRyaWJlLWV2ZW50cy1nbWFwXCJdIHtcblx0XHRcdHdpZHRoOjEwMCUgIWltcG9ydGFudDtcblx0XHRcdHBhZGRpbmctYm90dG9tOjQwJSAhaW1wb3J0YW50O1xuXHRcdFx0aGVpZ2h0OjAgIWltcG9ydGFudDtcblx0XHRcdG1hcmdpbjowICFpbXBvcnRhbnQ7XG5cdFx0XHRwb3NpdGlvbjpyZWxhdGl2ZSAhaW1wb3J0YW50O1xuXHRcdFx0XG5cdFx0XHQ+IGRpdiB7XG5cdFx0XHRcdHBvc2l0aW9uOmFic29sdXRlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0I3RyaWJlLWV2ZW50cy1jb250ZW50IHtcblx0XHRwYWRkaW5nLXRvcDowO1xuXHR9XG59XG5cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2luZ2xlIE9yZ2FuaXplclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi50cmliZS1ldmVudHMtb3JnYW5pemVyIHtcblx0cG9zaXRpb246cmVsYXRpdmU7XG5cdFxuXHQuY21zbWFzdGVyc19ldmVudHNfb3JnYW5pemVyX2hlYWRlciB7XG5cdFx0cGFkZGluZzowIDAgMjVweDtcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHRcblx0XHQmOmFmdGVyIHtcblx0XHRcdC5jbF9hZnRlcjtcblx0XHR9XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX2V2ZW50c19vcmdhbml6ZXJfaGVhZGVyX2xlZnQge1xuXHRcdC5mbDtcblx0XHRcblx0XHQuZW50cnktdGl0bGUge1xuXHRcdFx0bWFyZ2luOjA7XG5cdFx0XHRwYWRkaW5nOjA7XG5cdFx0fVxuXHR9XG5cdFxuXHQudHJpYmUtZXZlbnRzLWV2ZW50LW1ldGEge1xuXHRcdHBhZGRpbmc6MnB4IDAgMDtcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHRcblx0XHQub3JnYW5pemVyLWFkZHJlc3Mge1xuXHRcdFx0bWFyZ2luOjA7XG5cdFx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHRcdC5vdmg7XG5cdFx0XHRcblx0XHRcdD4gc3BhbiB7XG5cdFx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdC50cmliZS1ldmVudHMtZGl2aWRlciB7XG5cdFx0XHRcdC5kbjtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX2V2ZW50c19vcmdhbml6ZXJfaGVhZGVyX3JpZ2h0IHtcblx0XHRwYWRkaW5nOjEwcHggMCAwO1xuXHRcdC5mcjtcblx0XHQub3ZoO1xuXHRcdFxuXHRcdGEge1xuXHRcdFx0ZGlzcGxheTpibG9jaztcblx0XHRcdGNsZWFyOmJvdGg7XG5cdFx0XHQuZnI7XG5cdFx0XHRcblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0bWFyZ2luOjAgNXB4IDAgMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdC50cmliZS1ldmVudHMtb3JnYW5pemVyLW1ldGEge1xuXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcdC5vdmg7XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX2V2ZW50c19vcmdhbml6ZXJfbWV0YV9pbWcge1xuXHRcdG1hcmdpbjowIDAgMjVweDtcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHQub3ZoO1xuXHRcdFxuXHRcdC50cmliZS1ldmVudHMtZXZlbnQtaW1hZ2Uge1xuXHRcdFx0LnRhYztcblx0XHR9XG5cdFx0XG5cdFx0aW1nIHtcblx0XHRcdC5iZHJzO1xuXHRcdH1cblx0fVxuXHRcblx0LnRyaWJlLW9yZ2FuaXplci1kZXNjcmlwdGlvbiB7XG5cdFx0bWFyZ2luOjA7XG5cdFx0cGFkZGluZzowIDAgNTBweDtcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHQub3ZoO1xuXHRcdFxuXHRcdD4gKjpsYXN0LWNoaWxkIHtcblx0XHRcdG1hcmdpbi1ib3R0b206MDtcblx0XHRcdHBhZGRpbmctYm90dG9tOjA7XG5cdFx0fVxuXHR9XG5cdFxuXHQjdHJpYmUtZXZlbnRzLWNvbnRlbnQge1xuXHRcdHBhZGRpbmctdG9wOjA7XG5cdH1cbn1cblxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBXaWRnZXRzXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBHbG9iYWwgV2lkZ2V0cyBTdHlsZXMgKi9cbi53aWRnZXQgLnZjYWxlbmRhciwgXG4udHJpYmUtbWluaS1jYWxlbmRhci1saXN0LXdyYXBwZXIge1xuXHRsaXN0LXN0eWxlOm5vbmU7XG5cdG1hcmdpbjowO1xuXHRwYWRkaW5nOjA7XG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHQub3ZoO1xuXHRcblx0LnR5cGUtdHJpYmVfZXZlbnRzIHtcblx0XHRtYXJnaW46MCAwIDMwcHg7XG5cdFx0cGFkZGluZzowIDAgMjVweDtcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHQuYmRiO1xuXHRcdC5vdmg7XG5cdFx0LmJ4c2hfd2hpdGUoMCwgMXB4LCAwLCAwLCAuMik7XG5cdFx0XG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDpub25lO1xuXHRcdH1cblx0fVxuXHRcblx0LnRyaWJlLWV2ZW50cy1saXN0LXdpZGdldC1jb250ZW50LXdyYXAge1xuXHRcdHBhZGRpbmc6MDtcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHQub3ZoO1xuXHR9XG5cdFxuXHQuZW50cnktdGl0bGUge1xuXHRcdG1hcmdpbjowO1xuXHRcdHBhZGRpbmc6MCAwIDdweDtcblx0XHRsZXR0ZXItc3BhY2luZzogLTAuNzVweDtcblx0fVxuXHRcblx0LmNtc21hc3RlcnNfd2lkZ2V0X2V2ZW50X2luZm8ge1xuXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHR9XG5cdFxuXHRbY2xhc3MqPWNtc21hc3RlcnNfdGhlbWVfaWNvbl0sXG5cdFtjbGFzcyo9Y21zbWFzdGVycy1pY29uLWN1c3RvbV0ge1xuXHRcdHBhZGRpbmc6MHB4IDAgMHB4IDI1cHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogNnB4O1xuXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcdC5vdmg7XG5cdFx0XG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Zm9udC1zaXplOjE2cHg7XG5cdFx0XHRsaW5lLWhlaWdodDoxNnB4O1xuXHRcdFx0LnBvc19hYnMoMWVtLCAxZW0sIDAsIGF1dG8sIDAuM2VtLCBhdXRvKTtcblx0XHR9XG5cdH1cbn1cblxuLmNtc21hc3RlcnNfZXZlbnRfZGF0ZSB7XG5cdGRpc3BsYXk6YmxvY2s7XG5cdG1hcmdpbjowIDE4cHggMCAwO1xuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0LnRhYztcblx0LmZsO1xuXHRcblx0JjphZnRlciB7XG5cdFx0LnZhbGlnbl9hZnRlcjtcblx0fVxuXHRcblx0LmNtc21hc3RlcnNfZXZlbnRfZGF0ZV9pbm5lciB7XG5cdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XG5cdFx0dmVydGljYWwtYWxpZ246bWlkZGxlO1xuXHR9XG5cdFxuXHQuY21zbWFzdGVyc19ldmVudF9kYXlfbW9uIHtcblx0XHRkaXNwbGF5OmJsb2NrO1xuXHR9XG5cdFxuXHQuY21zbWFzdGVyc19ldmVudF95ZWFyIHtcblx0XHRkaXNwbGF5OmJsb2NrO1xuXHR9XG59XG5cbi50cmliZS1ldmVudHMtd2lkZ2V0LWxpbmsge1xuXHRtYXJnaW46MTVweCAwIDA7XG5cdHBhZGRpbmc6MDtcblx0cG9zaXRpb246cmVsYXRpdmU7XG5cdC50YXI7XG5cblx0YXtcblx0XHQucmVhZG1vcmUoKTtcblx0fVxufVxuXG5cbi8qIFdpZGdldCBNaW5pIENhbGVuZGFyICovXG4udHJpYmVfbWluaV9jYWxlbmRhcl93aWRnZXQge1xuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0Lm92aDtcblx0XG5cdC50cmliZS1taW5pLWNhbGVuZGFyLXdyYXBwZXIge1xuXHRcdHdpZHRoOjEwMCU7XG5cdH1cblx0XG5cdC50cmliZS1taW5pLWNhbGVuZGFyLWdyaWQtd3JhcHBlciB7XG5cdFx0cGFkZGluZzowIDFweDtcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0fVxuXHRcblx0LnRyaWJlLW1pbmktY2FsZW5kYXItbGlzdC13cmFwcGVyIHtcblx0XHRwYWRkaW5nOjI1cHggMCAwO1xuXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHR9XG5cdFxuXHQudHJpYmUtbWluaS1jYWxlbmRhci1saXN0LXdyYXBwZXIge1xuXHRcdC50eXBlLXRyaWJlX2V2ZW50cyB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOjE1cHg7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbToxNXB4O1xuXHRcdFx0XG5cdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOjA7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOjA7XG5cdFx0XHRcdC5iZGIoMCk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdC5lbnRyeS10aXRsZSB7XG5cdFx0XHRwYWRkaW5nOjA7XG5cdFx0fVxuXHRcdFxuXHRcdC5jbXNtYXN0ZXJzX3dpZGdldF9ldmVudF9pbmZvIHtcblx0XHRcdG1hcmdpbjotNHB4IDAgMDtcblx0XHRcdHBhZGRpbmc6MDtcblx0XHR9XG5cdFx0XG5cdFx0W2NsYXNzKj1jbXNtYXN0ZXJzX3RoZW1lX2ljb25dIHtcblx0XHRcdHBhZGRpbmc6MDtcblx0XHRcdFxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50Om5vbmU7XG5cdFx0XHRcdC5kbjtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX2V2ZW50X2RhdGUge1xuXHRcdC5kbjtcblx0fVxufVxuXG4udHJpYmUtbWluaS1jYWxlbmRhciB7XG5cdHdpZHRoOjEwMCU7XG5cdG1hcmdpbjowIDAgMnB4O1xuXHRib3JkZXItY29sbGFwc2U6c2VwYXJhdGU7XG5cdC5vdmg7XG5cdC5iZHJzO1xuXHQuYnhzaCgwLCAxcHgsIDFweCwgMCwgLjA1KTtcblx0XG5cdHRoLCBcblx0dGQge1xuXHRcdHdpZHRoOjE0LjI4NTcxNDI4NTclO1xuXHRcdHZlcnRpY2FsLWFsaWduOnRvcDtcblx0XHQudGFjO1xuXHR9XG5cdFxuXHRkaXYge1xuXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcdC50YWM7XG5cdH1cblx0XG5cdFtpZCo9dHJpYmUtbWluaS1jYWxlbmRhci1tb250aF0ge1xuXHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0cGFkZGluZzo4cHggNDBweDtcblx0XHQudGFjO1xuXHRcdFxuXHRcdCYuYWN0aXZlIHtcblx0XHRcdHZpc2liaWxpdHk6aGlkZGVuO1xuXHRcdH1cblx0fVxuXHRcblx0I2FqYXgtbG9hZGluZy1taW5pIHtcblx0XHQuZG47XG5cdFx0LnBvc19hYnMoYXV0bywgNzAlKTtcblx0fVxuXHRcblx0LnRyaWJlLW1pbmktY2FsZW5kYXItbmF2LWxpbmsge1xuXHRcdC5wb3NfYWJzKDM0cHgsIDEwMCUpO1xuXHRcdFxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGZvbnQtZmFtaWx5OlwiZm9udGVsbG9cIjtcblx0XHRcdHRleHQtaW5kZW50OjA7XG5cdFx0XHRsaW5lLWhlaWdodDoxZW07XG5cdFx0XHQudGFjO1xuXHRcdFx0LnBvc19hYnM7XG5cdFx0fVxuXHRcdFxuXHRcdCYucHJldi1tb250aCB7XG5cdFx0XHRsZWZ0OjA7XG5cdFx0XHRyaWdodDphdXRvO1xuXHRcdFx0XG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6J1xcZWIyMSc7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdCYubmV4dC1tb250aCB7XG5cdFx0XHRsZWZ0OmF1dG87XG5cdFx0XHRyaWdodDowO1xuXHRcdFx0XG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6J1xcZWIyMic7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdHNwYW4ge1xuXHRcdFx0LmRuO1xuXHRcdH1cblx0fVxuXHRcblx0dGhlYWQgdGgge1xuXHRcdHBhZGRpbmc6M3B4IDA7XG5cdH1cblx0XG5cdHRib2R5IHtcblx0XHRvdXRsaW5lOm5vbmU7XG5cdFx0XG5cdFx0YSwgXG5cdFx0c3BhbiB7XG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0cGFkZGluZzowIDAgMTVweDtcblx0XHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcdH1cblx0XHRcblx0XHR0cjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRhLCBcblx0XHRcdHNwYW4ge1xuXHRcdFx0XHRwYWRkaW5nLXRvcDoxNXB4O1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHRhOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OicnO1xuXHRcdFx0LnBvc19hYnMoNXB4LCA1cHgsIDAsIDAsIGF1dG8sIDlweCk7XG5cdFx0XHQuYmRycyg1MCUpO1xuXHRcdH1cblx0fVxufVxuXG5cbi8qIFdpZGdldCBFdmVudHMgVmVudWUgKi9cbi50cmliZS1ldmVudHMtdmVudWUtd2lkZ2V0IHtcblx0cG9zaXRpb246cmVsYXRpdmU7XG5cdC5vdmg7XG5cdFxuXHQudHJpYmUtdmVudWUtd2lkZ2V0LXdyYXBwZXIge1xuXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcdC5vdmg7XG5cdH1cblx0XG5cdC50cmliZS12ZW51ZS13aWRnZXQtdmVudWUge1xuXHRcdG1hcmdpbjowIDFweCAyNXB4O1xuXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcdC5vdmg7XG5cdH1cblx0XG5cdC50cmliZS12ZW51ZS13aWRnZXQtdGh1bWJuYWlsIHtcblx0XHR3aWR0aDoxMDAlO1xuXHRcdGhlaWdodDowO1xuXHRcdG1hcmdpbjowO1xuXHRcdHBhZGRpbmctYm90dG9tOkBwcmVsb2FkZXJfZXZlbnRfcGFkO1xuXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcdFxuXHRcdGltZyB7XG5cdFx0XHQuZnVsbHdpZHRoX2luX2Jsb2NrO1xuXHRcdH1cblx0fVxuXG5cdC50cmliZS12ZW51ZS13aWRnZXQtdmVudWUtbmFtZSB7XG5cdFx0cGFkZGluZzoxMHB4IDE1cHggMTBweCA0MHB4O1xuXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcdFxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGZvbnQtc2l6ZToxOHB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6MThweDtcblx0XHRcdC5wb3NfYWJzKDFlbSwgMWVtLCAxNXB4LCBhdXRvLCAwLCAwKTtcblx0XHR9XG5cdH1cblx0XG5cdC52Y2FsZW5kYXIge1xuXHRcdC50eXBlLXRyaWJlX2V2ZW50cyB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOjMwcHg7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTozMHB4O1xuXHRcdH1cblx0XHRcblx0XHQuZW50cnktdGl0bGUge1xuXHRcdFx0cGFkZGluZzowIDAgMTVweDtcblx0XHR9XG5cdFx0XG5cdFx0LmNtc21hc3RlcnNfd2lkZ2V0X2V2ZW50X2luZm8ge1xuXHRcdFx0bWFyZ2luOi00cHggMCAwO1xuXHRcdFx0cGFkZGluZzowO1xuXHRcdFx0Lm92aDtcblx0XHR9XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX2V2ZW50X2RhdGUge1xuXHRcdFxuXHR9XG5cdFxuXHQudHJpYmUtZXZlbnRzLXdpZGdldC1saW5rIHtcblx0XHRtYXJnaW4tdG9wOi01cHg7XG5cdH1cbn1cblxuXG4vKiBXaWRnZXQgQ291bnREb3duICovXG4udHJpYmUtZXZlbnRzLWNvdW50ZG93bi13aWRnZXQge1xuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0Lm92aDtcblx0XG5cdC50cmliZS1jb3VudGRvd24tdGV4dCB7XG5cdFx0cGFkZGluZzowIDAgNXB4O1xuXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcdC5vdmg7XG5cdH1cblx0XG5cdC50cmliZS1jb3VudGRvd24tdGltZSB7XG5cdFx0ZGlzcGxheTpibG9jaztcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHQub3ZoO1xuXHRcdFxuXHRcdGRpdiB7XG5cdFx0XHQudGFjO1xuXHRcdH1cblx0fVxuXHRcblx0LnRyaWJlLWNvdW50ZG93bi10aW1lciB7XG5cdFx0LmRpc3BsYXlfZmxleDtcblx0XHQub3ZoO1xuXG5cdFx0LnRyaWJlLWNvdW50ZG93bi1udW1iZXJ7XG5cdFx0XHR3aWR0aDogNTVweDtcblx0XHR9XG5cdH1cblx0XG5cdC50cmliZS1jb3VudGRvd24tbnVtYmVyIHtcblx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcblx0XHR2ZXJ0aWNhbC1hbGlnbjp0b3A7XG5cdH1cblx0XG5cdC50cmliZS1jb3VudGRvd24tY29sb24ge1xuXHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuXHRcdHZlcnRpY2FsLWFsaWduOnRvcDtcblx0fVxuXHRcblx0LnRyaWJlLWNvdW50ZG93bi11bmRlciB7XG5cdFx0ZGlzcGxheTpibG9jaztcblx0fVxuXHRcblx0LnRyaWJlLWNvdW50ZG93bi1kYXlzIHNwYW4ge1xuXHRcdHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcblx0fVxufVxuXG5cbi8qIFdpZGdldCBUaGlzIFdlZWsgKi9cbi50cmliZS10aGlzLXdlZWstZXZlbnRzLXdpZGdldCB7XG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcblx0LndpZGdldHRpdGxlIHtcblx0XHRtYXJnaW46MCAwIC0yNXB4O1xuXHRcdHBhZGRpbmc6MCA2NXB4IDAgMDtcblx0fVxuXHRcblx0LnRyaWJlLXRoaXMtd2Vlay13aWRnZXQtd3JhcHBlciB7XG5cdFx0cGFkZGluZzo1MHB4IDAgMDtcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHQub3ZoO1xuXHR9XG5cdFxuXHQudHJpYmUtZXZlbnRzLXBhZ2UtdGl0bGUge1xuXHRcdG1hcmdpbjowO1xuXHRcdHBhZGRpbmc6MDtcblx0XHQudGFsO1xuXHR9XG5cblx0LnRyaWJlLWV2ZW50cy1zdWItbmF2IHtcblx0XHRtYXJnaW46MDtcblx0XHRwYWRkaW5nOjA7XG5cdFx0cG9zaXRpb246YWJzb2x1dGU7XG5cdFx0bGVmdDphdXRvO1xuXHRcdHJpZ2h0OjA7XG5cdFx0dG9wOjA7XG5cdFx0Ym90dG9tOmF1dG87XG5cdFx0XG5cdFx0bGkge1xuXHRcdFx0YSB7XG5cdFx0XHRcdHBhZGRpbmc6MDtcblx0XHRcdFx0ZGlzcGxheTpibG9jaztcblx0XHRcdFx0d2lkdGg6MjBweDtcblx0XHRcdFx0aGVpZ2h0OjI2cHg7XG5cblx0XHRcdFx0c3Bhbjpub3QoW2NsYXNzXSl7XG5cdFx0XHRcdFx0Jjo6YmVmb3Jle1xuXHRcdFx0XHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0LnRyaWJlLW5hdi1sYWJlbCB7XG5cdFx0XHRcdC5kbjtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdC50cmliZS10aGlzLXdlZWstd2lkZ2V0LXdlZWtkYXktd3JhcHBlciAge1xuXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHR9XG5cdFxuXHQudHJpYmUtdGhpcy13ZWVrLXdpZGdldC1kYXkge1xuXHRcdHBhZGRpbmc6MTBweCAwIDQwcHg7XG5cdFx0bWFyZ2luOjBweCAwIDQwcHg7XG5cdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdFx0LmJkYjtcblxuXHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTowO1xuXHRcdFx0LmJkYigwKTtcblx0XHRcdC5ieHNoX25vbmU7XG5cdFx0fVxuXHR9XG5cdFxuXHQudHJpYmUtdGhpcy13ZWVrLXdpZGdldC1oZWFkZXItZGF0ZSB7XG5cdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XG5cdFx0bWFyZ2luOjAgMCAzcHg7XG5cdH1cblx0XG5cdC50aGlzLXdlZWstdG9kYXkgLnRyaWJlLXRoaXMtd2Vlay13aWRnZXQtaGVhZGVyLWRhdGUge1xuXHRcdHBhZGRpbmc6MCAwcHg7XG5cdFx0LmJkcnM7XG5cdH1cblx0XG5cdC50cmliZS10aGlzLXdlZWstZXZlbnQge1xuXHRcdHBhZGRpbmc6MTVweCAwIDA7XG5cdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdFx0XG5cdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRwYWRkaW5nOjA7XG5cdFx0fVxuXHRcdFxuXHRcdC5lbnRyeS10aXRsZSB7XG5cdFx0XHRtYXJnaW46MDtcblx0XHRcdHBhZGRpbmc6MCAwIDVweDtcblx0XHR9XG5cdFx0XG5cdFx0LmR1cmF0aW9uLCBcblx0XHQudHJpYmUtdmVudWUge1xuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRmb250LXNpemU6MTZweDtcblx0XHRcdFx0bWFyZ2luOjAgN3B4IDAgMDtcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0bWFyZ2luOjVweCAwIDA7XG5cdFx0fVxuXHR9XG5cdFxuXHQudHJpYmUtZXZlbnRzLXZpZXdtb3JlIHtcblx0XHRwYWRkaW5nOjE1cHggMCAwO1xuXG5cdFx0YXtcblx0XHRcdC5yZWFkbW9yZSgpO1xuXHRcdH1cblx0fVxufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogV2lkZ2V0c1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogRXZlbnRzIExpc3QgKi9cbi50cmliZS1ldmVudHMtbGlzdC13aWRnZXQsXG4udHJpYmUtZXZlbnRzLWFkdi1saXN0LXdpZGdldCB7XG5cdCNwYWdlICYge1xuXHRcdC53aWRnZXR0aXRsZXtcblx0XHRcdC5kbjtcblx0XHR9XG5cdH1cblxuXHQuY21zbWFzdGVyc19mZWF0dXJlX2V2ZW50e1xuXHRcdHBhZGRpbmc6IDBweCAwO1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0LnRhYztcblx0fVxuXG5cdC50cmliZS1ldmVudC1mZWF0dXJlZHtcblx0XHQuY21zbWFzdGVyc19ldmVudF9iaWdfZGF0ZSAuY21zbWFzdGVyc19ldmVudF9iaWdfZGF5e1xuXHRcdFx0Zm9udC1zaXplOiA1NXB4O1xuXHRcdH1cblx0fVxuXG5cdC5jbXNtYXN0ZXJzX2V2ZW50X2JpZ19kYXRlIHtcblx0XHRtYXJnaW4tYm90dG9tOjE1cHg7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuXHRcdHdpZHRoOiA3MHB4O1xuXHRcdFxuXHRcdFxuXHRcdC5jbXNtYXN0ZXJzX2V2ZW50X2JpZ19tb250aHtcblx0XHRcdC50YWM7XG5cdFx0fVxuXG5cdFx0LmNtc21hc3RlcnNfZXZlbnRfYmlnX2RheXtcblx0XHRcdFxuXHRcdFx0Zm9udC1zaXplOiA0NHB4O1xuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IC0yLjJweDtcblx0XHRcdC50YWM7XG5cblx0XHRcdCNwYWdlICZ7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5jbXNtYXN0ZXJzX2V2ZW50X2JpZ193ZWVre1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdFx0XG5cblx0XHQjcGFnZSAmIHtcblx0XHRcdG1hcmdpbi1ib3R0b206MDtcblx0XHR9XG5cdH1cblx0XG5cdC50cmliZS1ldmVudHMtbGlzdC1ldmVudC1kZXNjcmlwdGlvbiwgXG5cdC50cmliZS1ldmVudHMtd2lkZ2V0LWxpbmssIFxuXHQudHJpYmUtZXZlbnRzLWV2ZW50LWNvc3Qge1xuXHRcdC5kbjtcblx0fVxuXHRcblx0LnRyaWJlLWV2ZW50cy1saXN0LWV2ZW50LWRlc2NyaXB0aW9uIHtcblx0XHQjcGFnZSAuY21zbWFzdGVyc19zaWRlYmFyICYge1xuXHRcdFx0ZGlzcGxheTpibG9jaztcblxuXHRcdFx0cHtcblx0XHRcdFx0JjpsYXN0LWNoaWxke1xuXHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHQudmNhbGVuZGFyIHtcblx0XHQjcGFnZSAuY21zbWFzdGVyc19zaWRlYmFyICYge1xuXHRcblx0XHRcdC50eXBlLXRyaWJlX2V2ZW50cyB7XG5cdFx0XHRcdHBhZGRpbmc6MzZweCAwO1xuXHRcdFx0XHRtYXJnaW46MCAwIDZweDtcblx0XHRcdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdFx0XHRcdC5vdmg7XG5cdFx0XHRcdC5iZGIoMCk7XG5cdFx0XHRcdFxuXHRcdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRcdG1hcmdpbjowO1xuXHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0XHQudHJpYmUtZXZlbnRzLWV2ZW50LWltYWdlLFxuXHRcdFx0XHQuY21zbWFzdGVyc19ldmVudHNfbGlzdF9ldmVudF9pbmZvLFxuXHRcdFx0XHQuY21zbWFzdGVyc19ldmVudF9iaWdfZGF0ZSB7XG5cdFx0XHRcdFx0ZGlzcGxheTp0YWJsZS1jZWxsO1xuXHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcblx0XHRcdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5jbXNtYXN0ZXJzX2V2ZW50X2JpZ19kYXRle1xuXHRcdFx0XHRcdHdpZHRoOiAxM2VtO1xuXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDIwcHg7XG5cdFx0XHRcdFx0LnRhbDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5jbXNtYXN0ZXJzX2V2ZW50X2JpZ19kYXl7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogLTAuMWVtO1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0XHRcdHBhZGRpbmc6IDAgMTVweCAwIDA7XG5cdFx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IC0zLjlweDtcblx0XHRcdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdFx0XHQudGFsO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0LmNtc21hc3RlcnNfZXZlbnRfYmlnX2RhdGVfb3Zoe1xuXHRcdFx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0XHRcdC50YWw7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuY21zbWFzdGVyc19ldmVudF9iaWdfbW9udGh7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0b3BhY2l0eTogMC44O1xuXHRcdFx0XHRcdC50YWw7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuY21zbWFzdGVyc19ldmVudF9iaWdfd2Vla3tcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRvcGFjaXR5OiAwLjU7XG5cdFx0XHRcdFx0LnRhbDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0LnRyaWJlLWV2ZW50cy1saXN0LXdpZGdldC1ldmVudHMsXG5cdC50cmliZS1taW5pLWNhbGVuZGFyLWV2ZW50IHtcblx0XHQmLnRyaWJlLWV2ZW50LWZlYXR1cmVke1xuXHRcdFx0LmNtc21hc3RlcnNfZmVhdHVyZV9ldmVudHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0I3BhZ2UgLmNtc21hc3RlcnNfc2lkZWJhciAmIHtcblx0XHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcdFx0ZGlzcGxheTp0YWJsZTtcblx0XHRcdHdpZHRoOjEwMCU7XG5cdFx0XHQuYmQoMCk7XG5cblx0XHRcdC5jbXNtYXN0ZXJzX2ZlYXR1cmVfZXZlbnR7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdD4gZGl2IHtcblx0XHRcdFx0JjpmaXJzdC1vZi10eXBlIHtcblx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6MDtcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiBAY29sX21hcioyO1xuXHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0XHQmOmxhc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OkBjb2xfbWFyKjI7XG5cdFx0XHRcdFx0cGFkZGluZy1yaWdodDowO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHQudHJpYmUtZXZlbnRzLWV2ZW50LWltYWdlIHtcblx0XHQuZG47XG5cblx0XHQjcGFnZSAuY21zbWFzdGVyc19zaWRlYmFyICYge1xuXHRcdFx0d2lkdGg6MjM4cHg7XG5cdFx0XHRkaXNwbGF5OnRhYmxlLWNlbGw7XG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XG5cdFx0XHRcblx0XHRcdC5jbXNtYXN0ZXJzX2ltZ193cmFwIHtcblx0XHRcdFx0bWF4LXdpZHRoOjIwMHB4O1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0bWF4LWhlaWdodDo5MHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0LmNtc21hc3RlcnNfZXZlbnRzX21vcmUge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cblx0XHQjcGFnZSAuY21zbWFzdGVyc19jb2x1bW4ub25lX2ZpcnN0IC5jbXNtYXN0ZXJzX3NpZGViYXIuc2lkZWJhcl9sYXlvdXRfMTEgJiB7XG5cdFx0XHRkaXNwbGF5OnRhYmxlLWNlbGw7XG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XG5cdFx0XHRtaW4td2lkdGg6MjEwcHg7XG5cdFx0XHQudGFyO1xuXG5cdFx0XHQuYnV0dG9uIHtcblx0XHRcdFx0cGFkZGluZzowIDMzcHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHQudHJpYmUtZXZlbnRzLWV2ZW50LWNvc3Qge1xuXHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XG5cdFx0I3BhZ2UgJiB7XG5cdFx0XHQuZG47XG5cdFx0fVxuXHR9XG5cblx0I3BhZ2UgLmNtc21hc3RlcnNfY29sdW1uIC5jbXNtYXN0ZXJzX3NpZGViYXI6bm90KC5zaWRlYmFyX2xheW91dF8xMSkgJixcblx0I3BhZ2UgLmNtc21hc3RlcnNfY29sdW1uOm5vdCgub25lX2ZpcnN0KSAuY21zbWFzdGVyc19zaWRlYmFyICZ7XG5cdFx0LmNtc21hc3RlcnNfZXZlbnRzX21vcmUsXG5cdFx0LnRyaWJlLWV2ZW50cy1ldmVudC1pbWFnZXtcblx0XHRcdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblx0XHR9XG5cdH1cblx0XG5cdC50cmliZS1taW5pLWNhbGVuZGFyLWV2ZW50IHtcblx0XHQjcGFnZSAuY21zbWFzdGVyc19zaWRlYmFyICYge1xuXG5cdFx0XHQ+IGRpdiB7XG5cdFx0XHRcdGRpc3BsYXk6dGFibGUtY2VsbDtcblx0XHRcdFx0dmVydGljYWwtYWxpZ246bWlkZGxlO1xuXHRcdFx0XHRcblx0XHRcdFx0JjpmaXJzdC1vZi10eXBlIHtcblx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6QGNvbF9tYXIqMjtcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OjA7XG5cdFx0XHRcdH1cblx0XHRcdFx0XG5cdFx0XHRcdCY6bGFzdC1vZi10eXBlIHtcblx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6MDtcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OkBjb2xfbWFyKjI7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdC50cmliZS1ldmVudHMtbGlzdC13aWRnZXQtY29udGVudC13cmFwIHtcblx0XHQjcGFnZSAuY21zbWFzdGVyc19zaWRlYmFyICYge1xuXHRcdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdFx0XHRwYWRkaW5nOjAgKEBjb2xfbWFyKjIpIDAgMDtcblxuXHRcdFx0KltjbGFzcyo9XCJpY29uXCJde1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0XHRcdFxuXHRcdFx0XHQmOjpiZWZvcmV7XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0LnRyaWJlLWV2ZW50cy13aWRnZXQtbGluayB7XG5cdFx0I3BhZ2UgJiB7XG5cdFx0XHQuZG47XG5cdFx0fVxuXHR9XG5cblxuXHQjcGFnZSAuY21zbWFzdGVyc19jb2x1bW4ub25lX3RoaXJkICYsXG5cdCNwYWdlIC5jbXNtYXN0ZXJzX3NpZGViYXI6bm90KC5zaWRlYmFyX2xheW91dF8xMSkgJixcblx0I3BhZ2UgLmNtc21hc3RlcnNfY29sdW1uLm9uZV90aGlyZCAmLFxuXHQjcGFnZSAuY21zbWFzdGVyc19jb2x1bW4ub25lX2ZvdXJ0aCAme1xuXHRcdC5kaXNwbGF5X2ZsZXg7XG5cdFx0LmZsZXhfZGlyZWN0aW9uKGNvbHVtbik7XG5cblx0XHQuY21zbWFzdGVyc19ldmVudF9iaWdfZGF0ZSxcblx0XHQudHJpYmUtZXZlbnRzLWxpc3Qtd2lkZ2V0LWNvbnRlbnQtd3JhcCB7XG5cdFx0XHRkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxufVxuXG4udHJpYmUtbWluaS1jYWxlbmRhcntcblx0bWFyZ2luLWJvdHRvbTogMzBweDtcblx0LmJkcnMoN3B4KTtcblx0Lm92aDtcblxuXHQudHJpYmUtbWluaS1jYWxlbmRhci1uYXZ7XG5cdFx0LmJkKDApO1xuXG5cdFx0dGR7XG5cdFx0XHQuYmQoMCk7XG5cdFx0fVxuXG5cdFx0ZGl2e1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdFx0XHRzcGFue1xuXHRcdFx0XHRwYWRkaW5nOiAxMHB4IDA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0YXtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdHBhZGRpbmc6IDEwcHg7XG5cblx0XHRcdCY6OmJlZm9yZXtcblx0XHRcdFx0Zm9udC1mYW1pbHk6IFwiZm9udGVsbG8tY3VzdG9tXCI7XG5cdFx0XHRcdGZvbnQtc2l6ZTogOXB4O1xuXHRcdFx0fVxuXG5cdFx0XHQmLnByZXYtbW9udGh7XG5cdFx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDIwcHg7XG5cblx0XHRcdFx0Jjo6YmVmb3Jle1xuXHRcdFx0XHRcdGNvbnRlbnQ6ICdcXGU4OWQnO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCYubmV4dC1tb250aHtcblx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuXG5cdFx0XHRcdCY6OmJlZm9yZXtcblx0XHRcdFx0XHRjb250ZW50OiAnXFxlODljJztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRzcGFue1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdHRoZWFke1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdHRoe1xuXHRcdFx0cGFkZGluZzogNXB4IDUlIDVweCAwO1xuXHRcdFx0LnRhcjtcblx0XHRcdC5iZCgwKTtcblx0XHR9XG5cdH1cblxuXHR0Ym9keXtcblxuXHRcdHRye1xuXG5cdFx0XHQmOmZpcnN0LWNoaWxke1xuXHRcdFx0XHR0ZHtcblx0XHRcdFx0XHRwYWRkaW5nLXRvcDogMTVweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmOmxhc3QtY2hpbGR7XG5cdFx0XHRcdHRke1xuXHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAxNXB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0dGR7XG5cdFx0XHRwYWRkaW5nOiA1cHggNSUgMTJweCAwO1xuXHRcdFx0LmJkKDApO1xuXG5cdFx0XHRkaXZbaWQqPSdkYXludW0tJ117XG5cdFx0XHRcdC50YXI7XG5cblx0XHRcdFx0c3Bhbntcblx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHR9XG5cdFxuXHRcdFx0XHRhe1xuXHRcdFx0XHRcdHBhZGRpbmc6IDBweCAwO1xuXG5cdFx0XHRcdFx0Jjo6YmVmb3Jle1xuXHRcdFx0XHRcdFx0Y29udGVudDogbm9uZSAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQmLnRyaWJlLW1pbmktY2FsZW5kYXItbm8tZXZlbnQsXG5cdFx0XHQmLnRyaWJlLWV2ZW50cy1wYXN0e1xuXHRcdFx0XHRvcGFjaXR5OiAwLjU7XG5cdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cblx0XHRcdFx0Kntcblx0XHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCYudHJpYmUtZXZlbnRzLWhhcy1ldmVudHN7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi50cmliZS1taW5pLWNhbGVuZGFyLWxpc3Qtd3JhcHBlcntcblx0LmVudHJ5LXRpdGxle1xuXHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdH1cblxuXHQuY21zbWFzdGVyc193aWRnZXRfZXZlbnRfdmVudWVfbG9jIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbi50cmliZS1ldmVudHMtbGlzdC13aWRnZXQtY29udGVudC13cmFwe1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdC5jbXNtYXN0ZXJzX2V2ZW50X3N0YXJ0e1xuXHRcdCYgKy5jbXNtYXN0ZXJzX2V2ZW50X2VuZHtcblx0XHRcdCY6OmJlZm9yZXtcblx0XHRcdFx0Y29udGVudDogXCItIFwiO1xuXHRcdFx0XHRkaXNwbGF5OiBcImlubGluZS1ibG9ja1wiO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5jbXNtYXN0ZXJzX3dpZGdldF9ldmVudF9pbmZve1xuXHRcdD4gZGl2e1xuXHRcdFx0Jjo6YmVmb3Jle1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogN3B4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5cbi50cmliZS1taW5pLWNhbGVuZGFyLWV2ZW50e1xuXHQuYmRiKDApO1xufVxuXG4udHJpYmUtZXZlbnRzLWFkdi1saXN0LXdpZGdldCxcbi50eXBlLXRyaWJlX2V2ZW50cyxcbi50cmliZS1taW5pLWNhbGVuZGFyLWxpc3Qtd3JhcHBlcntcblx0XG5cdC50eXBlLXRyaWJlX2V2ZW50c3tcblx0XHRwYWRkaW5nLWJvdHRvbTogMzBweDtcblx0XHRtYXJnaW4tYm90dG9tOiA0MHB4O1xuXHRcdC5iZGI7XG5cblx0XHQmOmxhc3QtY2hpbGR7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdH1cblx0fVxufVxuXG4uY21zbWFzdGVyc19ldmVudF9kYXRle1xuXHRmbG9hdDogbGVmdDtcblx0LnRhYztcblxuXHQuY21zbWFzdGVyc19ldmVudF9kYXlfbW9ue1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1hcmdpbi10b3A6IC0wLjA1ZW07XG5cdFx0LnRhYztcblx0fVxuXG5cdC5jbXNtYXN0ZXJzX2V2ZW50X3llYXJ7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0LnRhYztcblx0fVxufVxuXG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIENTUzMgQW5pbWF0aW9uc1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuaHRtbC5jc3N0cmFuc2l0aW9ucyB7XG5cdC50cmliZV9jb2xvcixcblx0I3RyaWJlLWJhci12aWV3cyAudHJpYmUtYmFyLXZpZXdzLWxpc3QgbGksXG5cdC50cmliZS1ldmVudHMtdmlld21vcmUsXG5cdC50cmliZS1ldmVudHMtYWR2LWxpc3Qtd2lkZ2V0IC5jbXNtYXN0ZXJzX2V2ZW50X2JpZ19kYXRlLCBcblx0LnRyaWJlLWV2ZW50cy1saXN0LXdpZGdldCAuY21zbWFzdGVyc19ldmVudF9iaWdfZGF0ZSB7XG5cdFx0LnRyYW5zKH4nY29sb3IgLjNzIGVhc2UtaW4tb3V0Jyk7XG5cdH1cblxuXHQudHJpYmUtZXZlbnRzLXN1Yi1uYXYgbGkgYSBzcGFuOm5vdChbY2xhc3NdKTpiZWZvcmV7XG5cdFx0LnRyYW5zKH4nY29sb3IgLjNzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4zcyBlYXNlLWluLW91dCwgb3BhY2l0eSAuM3MgZWFzZS1pbi1vdXQnKTtcblx0fVxuXG5cdCN0cmliZS1iYXItdmlld3MgLnRyaWJlLWJhci12aWV3cy1saXN0IHtcblx0XHQudHJhbnMofidvcGFjaXR5IC4yNXMgZWFzZS1pbi1vdXQnKTtcblx0fVxufVxuXG4iXSwiZmlsZSI6InBsdWdpbi1zdHlsZS5jc3MifQ== */
