@import url("https://fonts.googleapis.com/css?family=Fira+Mono:400,700|Lato:300,400,700,900&display=swap");
#wpadminbar {
  display: none; }

html[lang="it-IT"],
html[lang="en-US"] {
  margin-top: 0 !important; }

picture {
  max-height: 100%; }

/* CAROUSEL IMAGES RESPONSIVE */
.carousel {
  overflow: hidden; }

.carousel-inner,
.carousel-item {
  height: 100%;
  z-index: 10; 
}

.carousel-caption {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 100; 
}

.carousel-indicators,
.carousel-control-next,
.carousel-control-prev {
  z-index: 1000; }

.carousel-link {
  z-index: 10000; }

.carousel-item-next,
.carousel-item-prev,
.carousel-item.active {
  display: block; }

/* IMAGES COVERING CAROUSEL */
.min-w-100 {
  min-width: 100%; }

.min-h-100 {
  min-height: 100%; }

.max-w-100 {
  max-width: 100%; }

.max-h-100 {
  max-height: 100%; }

/* NO DEFAULT LINKS */
a {
  text-decoration: none !important; }

/* NO DEFAULT BUTTONS */
button:focus {
  outline: none !important; }

/* NO CONTENT */
#no-content {
  height: 100vh;
  width: 100%;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  /*
  align-content: flex-end;
  -webkit-align-content: flex-end;
  align-items: center;
  -webkit-align-items: center;
  */ }

#no-content p {
  margin: auto auto; }

/* COOKIE INFO BAR */
html #moove_gdpr_cookie_info_bar.moove-gdpr-light-scheme {
  background-color: #efefef;
  border-top: none; }

html #moove_gdpr_cookie_info_bar.moove-gdpr-light-scheme .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content h1,
html #moove_gdpr_cookie_info_bar.moove-gdpr-light-scheme .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content h2,
html #moove_gdpr_cookie_info_bar.moove-gdpr-light-scheme .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content h3,
html #moove_gdpr_cookie_info_bar.moove-gdpr-light-scheme .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content h4,
html #moove_gdpr_cookie_info_bar.moove-gdpr-light-scheme .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content h5,
html #moove_gdpr_cookie_info_bar.moove-gdpr-light-scheme .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content h6,
html #moove_gdpr_cookie_info_bar.moove-gdpr-light-scheme .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content p,
html #moove_gdpr_cookie_info_bar.moove-gdpr-light-scheme .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content p a,
html #moove_gdpr_cookie_info_bar.moove-gdpr-light-scheme p {
  color: #787878;
  font-family: 'Lato', sans-serif;
  font-weight: 400; }

html #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content a.mgbutton,
html #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton {
  color: #ff0000;
  font-family: 'Fira Mono', sans-serif;
  font-weight: 400;
  font-size: 18px;
  background-color: transparent;
  margin-left: 15px;
  border-bottom: 2px solid #f00;
  border-radius: 0;
  padding: 4px 0; }

html #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content a.mgbutton:hover,
html #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton:hover {
  color: #ff0000;
  background-color: transparent;
  padding: 4px 15px 4px 15px; }

/* COOKIE TABBED MODAL */
html #moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-footer-content {
  background-color: transparent; }

html #moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-footer-content::before {
  display: none; }

html #moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-footer-content .moove-gdpr-button-holder a.mgbutton:hover,
html #moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-footer-content .moove-gdpr-button-holder button.mgbutton:hover,
html .gdpr_cookie_settings_shortcode_content .gdpr-shr-button.button-green:hover {
  background-color: transparent; }

html #moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-left-content #moove-gdpr-menu li a span.gdpr-icon,
html #moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-left-content #moove-gdpr-menu li button span.gdpr-icon,
html #moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-left-content #moove-gdpr-menu li.menu-item-selected a span.gdpr-icon,
html #moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-left-content #moove-gdpr-menu li.menu-item-selected button span.gdpr-icon,
html #moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-left-content #moove-gdpr-menu li a span.gdpr-nav-tab-title,
html #moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-left-content #moove-gdpr-menu li button span.gdpr-nav-tab-title {
  color: #ff0000 !important; }

/* COOKIE MODAL CLOSE BUTTON */
html #moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-close i,
html #moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-close span.gdpr-icon {
  color: #ffffff;
  background-color: #ff0000;
  border: 1px solid #ff0000; }

html #moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-close i:hover,
html #moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-close span.gdpr-icon:hover,
html #moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-close:hover i,
html #moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-close:hover span.gdpr-icon {
  color: #ffffff;
  background-color: #dd0000;
  border: 1px solid #dd0000; }

header.website-header {
  /*background: #f8f9fa;*/ }

header.website-header .navbar-brand {
  width: 200px;
  opacity: 1; }

/* HEADER VISIBILITY */
header.website-header,
header.website-header nav.navbar,
header.website-header .navbar-nav,
header.website-header .navbar-nav .dropdown-menu {
  z-index: 100000; }

/* HEADER DEFAULT */
header.website-header nav.navbar {
  padding: 1.5rem 1rem;
  background-color: #ffffff;
  /*background-color: #f8f9fa;*/
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.04), 0 6px 12px rgba(0, 0, 0, 0.06); }

/* HEADER FILL & DROPDOWN WAYPOINT */
.fill-waypoint-trigger {
  height: 1px; }

header.website-header nav.navbar.fill-waypoint {
  padding: .5rem 1rem; }

header.website-header .fill-waypoint .navbar-brand {
  width: 140px; }

header.website-header .fill-waypoint .navbar-brand #logo {
  opacity: 1; }

header.website-header .fill-waypoint .navbar-brand #type {
  opacity: 0; }

header.website-header .dropdown-menu {
  box-shadow: 0 1px 0px rgba(0, 0, 0, 0), 0 6px 0px rgba(0, 0, 0, 0); }

header.website-header .fill-waypoint .dropdown-menu,
header.website-header .dropdown-waypoint .dropdown-menu {
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.04), 0 6px 12px rgba(0, 0, 0, 0.06); }

/* HEADER HIDE WAYPOINT */
header.website-header nav.navbar.hide-waypoint {
  transform: translateY(-100%); }

/* HEADER PRIMARY NAV-ITEM VERTICAL SPACE */
header.website-header .navbar-nav > .nav-item:not(:last-child) {
  padding-right: 60px; }

/* HEADER DROPDOWN NAV-ITEM ICON */
header.website-header .dropdown-toggle .caret {
  display: inline-block;
  margin-left: 6px;
  width: 12px;
  height: 9px;
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2060%2036%22%3E%0D%0A%20%20%20%20%3Cpath%20shape-rendering%3D%22geometricPrecision%22%20fill%3D%22%23989898%22%20d%3D%22M31.48%2C35.38%2C59.39%2C7.06a2.14%2C2.14%2C0%2C0%2C0%2C0-3L56%2C.63A2.1%2C2.1%2C0%2C0%2C0%2C54.52%2C0%2C2.07%2C2.07%2C0%2C0%2C0%2C53%2C.63L30%2C24%2C7%2C.62a2.08%2C2.08%2C0%2C0%2C0-3%2C0L.61%2C4.06a2.15%2C2.15%2C0%2C0%2C0%2C0%2C3L24.92%2C31.72l.1.11%2C3.5%2C3.55A2.06%2C2.06%2C0%2C0%2C0%2C30%2C36%2C2.09%2C2.09%2C0%2C0%2C0%2C31.48%2C35.38Z%22/%3E%0D%0A%3C/svg%3E");
  background-repeat: no-repeat; }

header.website-header .dropdown-toggle::after {
  display: none; }

/* HEADER DROPDOWN PANEL SIZE */
header.website-header .navbar-nav .dropdown-menu {
  border: none;
  border-radius: 0;
  margin: 0;
  padding: 30px 0;
  display: block;
  visibility: hidden;
  opacity: 0; }

header.website-header .navbar-nav .dropdown-menu.show {
  display: block;
  visibility: visible;
  opacity: 1; }

/* HEADER DROPDOWN PANEL SPACE */
header.website-header .dropdown-menu .--nav-item-primary {
  margin-bottom: 30px; }

header.website-header .dropdown-menu .--nav-item-secondary a {
  padding: 5px 0; }

/* HEADER DROPDOWN PRIMARY LINK */
header.website-header .dropdown-menu .--nav-item-primary .nav-link {
  display: inline-block;
  margin: 0 auto;
  padding: .5rem 2.5rem;
  border-bottom: 2px solid #eeeeee; }

header.website-header .dropdown-menu .--nav-item-primary .nav-link:hover {
  /*
  margin: 0 auto .5rem;
  */
  padding: .5rem 0 0;
  border-bottom: 2px solid #989898; }

/* HEADER DROPDOWN COLUMN DIVIDERS */
header.website-header .dropdown-menu .col-12:not(:last-child) {
  border-right: 2px solid #F3F4F5; }

/* HEADER DROPDOWN CONTACT LINK */
header.website-header .dropdown-menu .megamenu-link {
  margin: 45px auto 0;
  padding: 4px 25px; }

header.website-header .dropdown-menu .megamenu-link:hover {
  padding: 4px 0px; }

header.website-header .--megamenu-link-underline {
  border-bottom: 2px solid #ff0000; }

/* HEADER DROPDOWN MEGAMENU STYLES */
header.website-header .megamenu .nav,
header.website-header .megamenu .collapse,
header.website-header .megamenu .dropup,
header.website-header .megamenu .dropdown {
  position: static; }

header.website-header .megamenu .container {
  position: relative; }

header.website-header .megamenu .dropdown-menu {
  left: auto; }

header.website-header .megamenu .nav.navbar-right .dropdown-menu {
  left: auto;
  right: 0; }

header.website-header .megamenu .megamenu-content {
  padding: 20px 30px; }

header.website-header .megamenu .dropdown.megamenu-fw .dropdown-menu {
  left: 0;
  right: 0; }

/* HEADER NAVBAR CUSTOM TOGGLER */
header.website-header .icon-bar {
  width: 22px;
  height: 2px;
  background-color: #B6B6B6;
  display: block;
  transition: all 0.2s;
  margin-top: 4px; }

header.website-header .navbar-toggler {
  padding: .25rem 0 .25rem .75rem;
  border: none;
  background: transparent !important;
  z-index: 10000000; }

header.website-header .navbar-toggler .top-bar {
  transform: rotate(45deg);
  transform-origin: 10% 10%; }

header.website-header .navbar-toggler .middle-bar {
  opacity: 0; }

header.website-header .navbar-toggler .bottom-bar {
  transform: rotate(-45deg);
  transform-origin: 10% 90%; }

header.website-header .navbar-toggler.collapsed .top-bar {
  transform: rotate(0); }

header.website-header .navbar-toggler.collapsed .middle-bar {
  opacity: 1; }

header.website-header .navbar-toggler.collapsed .bottom-bar {
  transform: rotate(0); }

/*  Device = Large Desktops
    Screen = 1200px and up desktops  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1200px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1200px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1200px), only screen and (min-device-pixel-ratio: 2) and (min-width: 1200px), only screen and (min-resolution: 192dpi) and (min-width: 1200px), only screen and (min-resolution: 2dppx) and (min-width: 1200px) {
  /* Retina-specific */ }

/*  Device = Laptops, Desktops
    Screen = B/w 992px to 1199px  */
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  header.website-header .navbar-nav > .nav-item:not(:last-child) {
    padding-right: 30px; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1199px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1199px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 992px) and (max-width: 1199px), only screen and (min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1199px), only screen and (min-resolution: 192dpi) and (min-width: 992px) and (max-width: 1199px), only screen and (min-resolution: 2dppx) and (min-width: 992px) and (max-width: 1199px) {
  /* Retina-specific */ }

/*  Device = Tablets, Ipads (portrait)
    Screen = B/w 768px to 991px  */
@media only screen and (min-width: 768px) and (max-width: 991px) {
  header .navbar-nav .dropdown-menu {
    z-index: 1000000; }
  header.website-header .fill-waypoint .navbar-brand #logo,
  header.website-header .fill-waypoint .navbar-brand #type {
    opacity: 1; }
  header.website-header .navbar-nav .dropdown-menu {
    height: 100vh;
    position: fixed;
    top: 0;
    /*padding: 0;*/
    padding: 0 15vw;
    background: rgba(255, 255, 255, 0.98); }
  header.website-header .dropdown-menu,
  header.website-header .fill-waypoint .dropdown-menu,
  header.website-header .dropdown-waypoint .dropdown-menu {
    box-shadow: none; }
  header.website-header .dropdown-menu .col-12:not(:last-child) {
    border-right: none; }
  header.website-header .dropdown-menu .col-12:not(:first-child) .--nav-item-primary {
    margin-top: 1vh; }
  header.website-header .dropdown-menu .--nav-item-primary {
    margin-bottom: 1vh; }
  header.website-header .dropdown-menu .--nav-item-secondary a {
    padding: 2px 0; }
  header.website-header .dropdown-menu .--nav-item-primary .nav-link,
  header.website-header .dropdown-menu .--nav-item-primary .nav-link:hover {
    /*padding: .25rem 0;*/
    padding: 1vh 0 .5vh;
    font-size: 3vh; }
  header.website-header .dropdown-menu .megamenu-link {
    /*margin: .5rem auto 0;*/
    margin: 2vh auto 1vh;
    padding: 4px 25px; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) {
  /* Retina-specific */ }

/*  Device = Tablets, Ipads (landscape)
    Screen = B/w 768px to 991px  */
@media only screen and (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
  header .navbar-nav .dropdown-menu {
    z-index: 1000000; }
  header.website-header .fill-waypoint .navbar-brand #logo,
  header.website-header .fill-waypoint .navbar-brand #type {
    opacity: 1; }
  header.website-header .navbar-nav .dropdown-menu {
    height: 100vh;
    position: fixed;
    top: 0;
    /*padding: 0;*/
    padding: 0 15vw;
    background: rgba(255, 255, 255, 0.98); }
  header.website-header .dropdown-menu,
  header.website-header .fill-waypoint .dropdown-menu,
  header.website-header .dropdown-waypoint .dropdown-menu {
    box-shadow: none; }
  header.website-header .dropdown-menu .col-12:not(:last-child) {
    border-right: none; }
  header.website-header .dropdown-menu .col-12:not(:first-child) .--nav-item-primary {
    margin-top: 1vh; }
  header.website-header .dropdown-menu .--nav-item-primary {
    margin-bottom: 1vh; }
  header.website-header .dropdown-menu .--nav-item-secondary a {
    padding: 2px 0; }
  header.website-header .dropdown-menu .--nav-item-primary .nav-link,
  header.website-header .dropdown-menu .--nav-item-primary .nav-link:hover {
    /*padding: .25rem 0;*/
    padding: 1vh 0 .5vh;
    font-size: 3vh; }
  header.website-header .dropdown-menu .megamenu-link {
    /*margin: .5rem auto 0;*/
    margin: 2vh auto 1vh;
    padding: 4px 25px; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Low Resolution Tablets, Mobiles (Landscape)
    Screen = B/w 576px to 767px  */
@media only screen and (min-width: 576px) and (max-width: 767px) {
  header .navbar-nav .dropdown-menu {
    z-index: 1000000; }
  header.website-header .navbar-brand,
  header.website-header .fill-waypoint .navbar-brand {
    width: 125px; }
  header.website-header nav.navbar,
  header.website-header nav.navbar.fill-waypoint {
    padding: .5rem 1rem; }
  header.website-header .fill-waypoint .navbar-brand #logo,
  header.website-header .fill-waypoint .navbar-brand #type {
    opacity: 1; }
  header.website-header .navbar-nav .dropdown-menu {
    height: 100vh;
    position: fixed;
    top: 0;
    /*padding: 0;*/
    padding: 0 15vw;
    background: rgba(255, 255, 255, 0.98); }
  header.website-header .dropdown-menu,
  header.website-header .fill-waypoint .dropdown-menu,
  header.website-header .dropdown-waypoint .dropdown-menu {
    box-shadow: none; }
  header.website-header .dropdown-menu .col-12:not(:last-child) {
    border-right: none; }
  header.website-header .dropdown-menu .col-12:not(:first-child) .--nav-item-primary {
    margin-top: 1vh; }
  header.website-header .dropdown-menu .--nav-item-primary {
    margin-bottom: 1vh; }
  header.website-header .dropdown-menu .--nav-item-secondary a {
    padding: 2px 0; }
  header.website-header .dropdown-menu .--nav-item-primary .nav-link,
  header.website-header .dropdown-menu .--nav-item-primary .nav-link:hover {
    /*padding: .25rem 0;*/
    padding: 1vh 0 .5vh;
    font-size: 3vh; }
  header.website-header .dropdown-menu .megamenu-link {
    /*margin: .5rem auto 0;*/
    margin: 2vh auto 1vh;
    padding: 4px 25px; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 576px) and (max-width: 767px), only screen and (min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 192dpi) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 2dppx) and (min-width: 576px) and (max-width: 767px) {
  /* Retina-specific */ }

/*  Device = Most of the Smartphones Mobiles (Portrait)
    Screen = B/w 320px to 575px  */
@media only screen and (min-width: 320px) and (max-width: 575px) {
  header .navbar-nav .dropdown-menu {
    z-index: 1000000; }
  header.website-header .navbar-brand,
  header.website-header .fill-waypoint .navbar-brand {
    width: 125px; }
  header.website-header nav.navbar,
  header.website-header nav.navbar.fill-waypoint {
    padding: .5rem 1rem; }
  header.website-header .fill-waypoint .navbar-brand #logo,
  header.website-header .fill-waypoint .navbar-brand #type {
    opacity: 1; }
  header.website-header .navbar-nav .dropdown-menu {
    height: 100vh;
    position: fixed;
    top: 0;
    /*padding: 0;*/
    padding: 0 15vw;
    background: rgba(255, 255, 255, 0.98); }
  header.website-header .dropdown-menu,
  header.website-header .fill-waypoint .dropdown-menu,
  header.website-header .dropdown-waypoint .dropdown-menu {
    box-shadow: none; }
  header.website-header .dropdown-menu .col-12:not(:last-child) {
    border-right: none; }
  header.website-header .dropdown-menu .col-12:not(:first-child) .--nav-item-primary {
    margin-top: 1vh; }
  header.website-header .dropdown-menu .--nav-item-primary {
    margin-bottom: 1vh; }
  header.website-header .dropdown-menu .--nav-item-secondary a {
    padding: 2px 0; }
  header.website-header .dropdown-menu .--nav-item-primary .nav-link,
  header.website-header .dropdown-menu .--nav-item-primary .nav-link:hover {
    /*padding: .25rem 0;*/
    padding: 1vh 0 .5vh;
    font-size: 3vh; }
  header.website-header .dropdown-menu .megamenu-link {
    /*margin: .5rem auto 0;*/
    margin: 2vh auto 1vh;
    padding: 4px 25px; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 320px) and (max-width: 575px), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 192dpi) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 2dppx) and (min-width: 320px) and (max-width: 575px) {
  /* Retina-specific */ }

/* SCROLLSPY */
#scrollspy {
  width: 100%;
  padding-top: 0;
  padding-bottom: 0;
  background: #ff0000; }

#scrollspy .navbar-brand,
#scrollspy .navbar-brand:hover,
#scrollspy .navbar-brand:focus,
#scrollspy .navbar-brand:active {
  color: #ffffff; }

#scrollspy .nav-link,
#scrollspy .nav-link:focus {
  position: relative;
  color: rgba(255, 255, 255, 0.6);
  font-size: 1em; }

#scrollspy .nav-link:hover,
#scrollspy .nav-link:active,
#scrollspy .nav-link.active {
  color: #ffffff;
  font-size: 1em; }

#scrollspy .nav-link:before {
  content: '';
  width: 0px;
  height: 0px;
  position: absolute;
  top: -1px;
  left: 50%;
  margin-left: -6px;
  border-color: transparent transparent transparent transparent;
  border-style: solid;
  border-width: 6px 6px 0px 6px;
  -webkit-transition: all 333ms ease;
  -moz-transition: all 333ms ease;
  -o-transition: all 333ms ease;
  transition: all 333ms ease; }

#scrollspy .nav-link:hover:before,
#scrollspy .nav-link:focus:before,
#scrollspy .nav-link:active:before {
  border-color: transparent transparent transparent transparent; }

#scrollspy .nav-link.active:before {
  border-color: white transparent transparent transparent; }

/*  Device = Large Desktops
    Screen = 1200px and up desktops  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1200px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1200px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1200px), only screen and (min-device-pixel-ratio: 2) and (min-width: 1200px), only screen and (min-resolution: 192dpi) and (min-width: 1200px), only screen and (min-resolution: 2dppx) and (min-width: 1200px) {
  /* Retina-specific */ }

/*  Device = Laptops, Desktops
    Screen = B/w 992px to 1199px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1199px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1199px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 992px) and (max-width: 1199px), only screen and (min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1199px), only screen and (min-resolution: 192dpi) and (min-width: 992px) and (max-width: 1199px), only screen and (min-resolution: 2dppx) and (min-width: 992px) and (max-width: 1199px) {
  /* Retina-specific */ }

/*  Device = Tablets, Ipads (portrait)
    Screen = B/w 768px to 991px  */
@media only screen and (min-width: 768px) and (max-width: 991px) {
  #scrollspy .nav-link {
    margin-top: -50vh;
    opacity: 0; }
  #scrollspy .nav-link.active {
    margin-top: 0;
    opacity: 1; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) {
  /* Retina-specific */ }

/*  Device = Tablets, Ipads (landscape)
    Screen = B/w 768px to 991px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Low Resolution Tablets, Mobiles (Landscape)
    Screen = B/w 576px to 767px  */
@media only screen and (min-width: 576px) and (max-width: 767px) {
  #scrollspy .nav-link {
    margin-top: -50vh;
    opacity: 0; }
  #scrollspy .nav-link.active {
    margin-top: 0;
    opacity: 1; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 576px) and (max-width: 767px), only screen and (min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 192dpi) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 2dppx) and (min-width: 576px) and (max-width: 767px) {
  /* Retina-specific */ }

/*  Device = Most of the Smartphones Mobiles (Portrait)
    Screen = B/w 320px to 575px  */
@media only screen and (min-width: 320px) and (max-width: 575px) {
  #scrollspy .nav-link {
    margin-top: -50vh;
    opacity: 0; }
  #scrollspy .nav-link.active {
    margin-top: 0;
    opacity: 1; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 320px) and (max-width: 575px), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 192dpi) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 2dppx) and (min-width: 320px) and (max-width: 575px) {
  /* Retina-specific */ }

/* WPML SELECT */
.menu-ep-header-menu-container {
  min-height: 100%;
  width: 60px; }

#menu-ep-header-menu {
  list-style-type: none !important;
  height: 100%;
  width: 100%;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  align-content: center; }

#menu-ep-header-menu li {
  display: block;
  padding: 0 6px;
  float: left; }

footer.website-footer {
  padding: 20px 0 25px;
  background: #f8f9fa; }

footer.website-footer .navbar-brand {
  width: 240px;
  padding-left: .5rem; }

/* FOOTER ADDRESS AND CREDITS SPACE */
footer.website-footer .address,
footer.website-footer .credits {
  margin-top: 5px; }

footer.website-footer .credits {
  margin-bottom: 60px; }

footer.website-footer .address p,
footer.website-footer .credits p {
  padding: 0 .5rem;
  margin: 0; }

/* FOOTER NAVBAR SPACE */
footer.website-footer .legal .navbar {
  padding: 0;
  margin: 0; }

/* FOOTER PRIMARY NAV-ITEM HORIZONTAL SPACE */
footer.website-footer .legal .navbar-nav > .nav-item:not(:last-child) {
  padding-right: 10px; }

/* FOOTER PRIMARY NAV-ITEM VERTICAL SPACE */
footer.website-footer .credits .navbar .nav-link {
  padding: 0 .5rem; }

/* FOOTER PRIMARY NAV-ITEM ICONS */
footer.website-footer .nav-link .phone-icon-grey,
footer.website-footer .nav-link .email-icon-grey {
  display: inline-block;
  width: 18px;
  height: 18px;
  background: no-repeat 50%/100% 100%;
  background-image: none;
  opacity: .8; }

footer.website-footer .nav-link:hover .phone-icon-grey,
footer.website-footer .nav-link:focus .phone-icon-grey,
footer.website-footer .nav-link:hover .email-icon-grey,
footer.website-footer .nav-link:focus .email-icon-grey {
  opacity: 1; }

footer.website-footer .nav-link .phone-icon-grey {
  background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 24 24' enable-background='new 0 0 24 24' xml:space='preserve'%3E%3Cpath shape-rendering='geometricPrecision' fill='%23989898' d='M4.8,10.4c1.9,3.8,5,6.9,8.8,8.8l2.9-2.9c0.4-0.4,0.9-0.5,1.4-0.3c1.5,0.5,3.1,0.8,4.8,0.8%0Ac0.7,0,1.3,0.6,1.3,1.3v4.7c0,0.7-0.6,1.3-1.3,1.3C10.1,23.9,0,13.8,0,1.3C0,0.6,0.6,0,1.3,0H6c0.7,0,1.3,0.6,1.3,1.3%0Ac0,1.7,0.3,3.3,0.8,4.8c0.1,0.5,0,1-0.3,1.4L4.8,10.4z'/%3E%3C/svg%3E%0A"); }

footer.website-footer .nav-link .email-icon-grey {
  background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 24 24' enable-background='new 0 0 24 24' xml:space='preserve'%3E%3Cpath shape-rendering='geometricPrecision' fill='%23989898' d='M21.6,2.4H2.4C1.1,2.4,0,3.5,0,4.8l0,14.4c0,1.3,1.1,2.4,2.4,2.4h19.2c1.3,0,2.4-1.1,2.4-2.4V4.8%0AC24,3.5,22.9,2.4,21.6,2.4z M21.6,7.2l-9.6,6l-9.6-6V4.8l9.6,6l9.6-6V7.2z'/%3E%3C/svg%3E"); }

/* FOOTER LANGUAGE NAV */
.wpml-ls-legacy-list-horizontal {
  background: #efefef;
  padding: 9px 20px 12px;
  margin: 0 !important;
  border: none; }

.wpml-ls-legacy-list-horizontal > ul {
  text-align: left; }

.wpml-ls-legacy-list-horizontal a {
  padding: 0 6px; }

/*  Device = Large Desktops
    Screen = 1200px and up desktops  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1200px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1200px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1200px), only screen and (min-device-pixel-ratio: 2) and (min-width: 1200px), only screen and (min-resolution: 192dpi) and (min-width: 1200px), only screen and (min-resolution: 2dppx) and (min-width: 1200px) {
  /* Retina-specific */ }

/*  Device = Laptops, Desktops
    Screen = B/w 992px to 1199px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1199px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1199px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 992px) and (max-width: 1199px), only screen and (min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1199px), only screen and (min-resolution: 192dpi) and (min-width: 992px) and (max-width: 1199px), only screen and (min-resolution: 2dppx) and (min-width: 992px) and (max-width: 1199px) {
  /* Retina-specific */ }

/*  Device = Tablets, Ipads (portrait)
    Screen = B/w 768px to 991px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) {
  /* Retina-specific */ }

/*  Device = Tablets, Ipads (landscape)
    Screen = B/w 768px to 991px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Low Resolution Tablets, Mobiles (Landscape)
    Screen = B/w 576px to 767px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 576px) and (max-width: 767px), only screen and (min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 192dpi) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 2dppx) and (min-width: 576px) and (max-width: 767px) {
  /* Retina-specific */ }

/*  Device = Most of the Smartphones Mobiles (Portrait)
    Screen = B/w 320px to 575px  */
@media only screen and (min-width: 320px) and (max-width: 575px) {
  footer.website-footer .navbar-brand {
    width: 200px;
    margin-right: 0px;
    margin-bottom: 30px;
    padding: .5rem .5rem 0; }
  footer.website-footer .navbar-nav .nav-link {
    padding: 0 .5rem; }
  footer.website-footer .address {
    /*
    margin-top: 20px;
    margin-bottom: 0;
    */
    margin-top: 20px;
    margin-bottom: 20px; }
  footer.website-footer .credits {
    display: none;
    margin: 0;
    /*
    margin-top: 0;
    margin-bottom: 20px;
    */ } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 320px) and (max-width: 575px), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 192dpi) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 2dppx) and (min-width: 320px) and (max-width: 575px) {
  /* Retina-specific */ }

/* TEXT FONTS */
.--t-fira {
  font-family: 'Fira Mono', sans-serif; }

.--t-lato {
  font-family: 'Lato', sans-serif; }

/* SIZES */
.--t-menu-size1 {
  font-size: 42px; }

.--t-menu-size2 {
  font-size: 24px; }

.--t-size1 {
  font-size: 63px; }

.--t-size2 {
  font-size: 31.5px; }

.--t-size3 {
  font-size: 21px; }

.--t-menu-size3,
.--t-size4 {
  font-size: 18px; }

/*  Device = Desktops
    Screen = 1281px to higher resolution desktops  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1281px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1281px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1281px), only screen and (min-device-pixel-ratio: 2) and (min-width: 1281px), only screen and (min-resolution: 192dpi) and (min-width: 1281px), only screen and (min-resolution: 2dppx) and (min-width: 1281px) {
  /* Retina-specific */ }

/*  Device = Laptops, Desktops
    Screen = B/w 1025px to 1280px  */
@media only screen and (min-width: 1025px) and (max-width: 1280px) {
  .--t-menu-size1 {
    font-size: 30px; }
  .--t-menu-size2 {
    font-size: 20px; }
  .--t-size1 {
    font-size: 36px; }
  .--t-size2 {
    font-size: 24px; }
  .--t-size3 {
    font-size: 18px; }
  .--t-menu-size3,
  .--t-size4 {
    font-size: 16px; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1025px) and (max-width: 1280px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1025px) and (max-width: 1280px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1025px) and (max-width: 1280px), only screen and (min-device-pixel-ratio: 2) and (min-width: 1025px) and (max-width: 1280px), only screen and (min-resolution: 192dpi) and (min-width: 1025px) and (max-width: 1280px), only screen and (min-resolution: 2dppx) and (min-width: 1025px) and (max-width: 1280px) {
  /* Retina-specific */ }

/*  Device = Tablets, Ipads (portrait)
    Screen = B/w 768px to 1024px  */
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .--t-menu-size1 {
    font-size: 24px; }
  .--t-menu-size2 {
    font-size: 18px; }
  .--t-size1 {
    font-size: 36px; }
  .--t-size2 {
    font-size: 22px; }
  .--t-size3 {
    font-size: 18px; }
  .--t-menu-size3,
  .--t-size4 {
    font-size: 16px; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 1024px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 1024px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 1024px), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 1024px), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 1024px), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 1024px) {
  /* Retina-specific */ }

/*  Device = Tablets, Ipads (landscape)
    Screen = B/w 768px to 1024px  */
@media only screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .--t-menu-size1 {
    font-size: 24px; }
  .--t-menu-size2 {
    font-size: 18px; }
  .--t-size1 {
    font-size: 30px; }
  .--t-size2 {
    font-size: 18px; }
  .--t-size3 {
    font-size: 18px; }
  .--t-menu-size3,
  .--t-size4 {
    font-size: 16px; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Low Resolution Tablets, Mobiles (Landscape)
    Screen = B/w 481px to 767px  */
@media only screen and (min-width: 481px) and (max-width: 767px) {
  .--t-menu-size1 {
    font-size: 24px; }
  .--t-menu-size2 {
    font-size: 18px; }
  .--t-size1 {
    font-size: 30px; }
  .--t-size2 {
    font-size: 18px; }
  .--t-size3 {
    font-size: 18px; }
  .--t-menu-size3,
  .--t-size4 {
    font-size: 16px; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 481px) and (max-width: 767px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 481px) and (max-width: 767px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 481px) and (max-width: 767px), only screen and (min-device-pixel-ratio: 2) and (min-width: 481px) and (max-width: 767px), only screen and (min-resolution: 192dpi) and (min-width: 481px) and (max-width: 767px), only screen and (min-resolution: 2dppx) and (min-width: 481px) and (max-width: 767px) {
  /* Retina-specific */ }

/*  Device = Most of the Smartphones Mobiles (Portrait)
    Screen = B/w 320px to 479px  */
@media only screen and (min-width: 320px) and (max-width: 480px) {
  .--t-menu-size1 {
    font-size: 18px; }
  .--t-menu-size2 {
    font-size: 18px; }
  .--t-size1 {
    font-size: 30px; }
  .--t-size2 {
    font-size: 18px; }
  .--t-size3 {
    font-size: 18px; }
  .--t-menu-size3,
  .--t-size4 {
    font-size: 16px; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 480px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 480px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 320px) and (max-width: 480px), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 480px), only screen and (min-resolution: 192dpi) and (min-width: 320px) and (max-width: 480px), only screen and (min-resolution: 2dppx) and (min-width: 320px) and (max-width: 480px) {
  /* Retina-specific */ }

/* LINE-HEIGHTS */
[class^='heading-'] {
  line-height: 1em; }

.--subheading,
[class^='paragraph-'] {
  line-height: 1.4em; }

/* WEIGHTS */
.--t-weight100 {
  font-weight: 100; }

.--t-weight200 {
  font-weight: 200; }

.--t-weight300 {
  font-weight: 300; }

.--t-weight400 {
  font-weight: 400; }

.--t-weight500 {
  font-weight: 500; }

.--t-weight600 {
  font-weight: 600; }

.--t-weight700 {
  font-weight: 700; }

.--t-weight800 {
  font-weight: 800; }

.--t-weight900 {
  font-weight: 900; }

/*  Device = Large Desktops
    Screen = 1200px and up desktops  */
@media only screen and (min-width: 1200px) {
  .--t-weight100-xl {
    font-weight: 100; }
  .--t-weight200-xl {
    font-weight: 200; }
  .--t-weight300-xl {
    font-weight: 300; }
  .--t-weight400-xl {
    font-weight: 400; }
  .--t-weight500-xl {
    font-weight: 500; }
  .--t-weight600-xl {
    font-weight: 600; }
  .--t-weight700-xl {
    font-weight: 700; }
  .--t-weight800-xl {
    font-weight: 800; }
  .--t-weight900-xl {
    font-weight: 900; } }

/*  Device = Laptops, Desktops
    Screen = B/w 992px to 1199px  */
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .--t-weight100-lg {
    font-weight: 100; }
  .--t-weight200-lg {
    font-weight: 200; }
  .--t-weight300-lg {
    font-weight: 300; }
  .--t-weight400-lg {
    font-weight: 400; }
  .--t-weight500-lg {
    font-weight: 500; }
  .--t-weight600-lg {
    font-weight: 600; }
  .--t-weight700-lg {
    font-weight: 700; }
  .--t-weight800-lg {
    font-weight: 800; }
  .--t-weight900-lg {
    font-weight: 900; } }

/*  Device = Tablets, Ipads (portrait)
    Screen = B/w 768px to 991px  */
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .--t-weight100-md {
    font-weight: 100; }
  .--t-weight200-md {
    font-weight: 200; }
  .--t-weight300-md {
    font-weight: 300; }
  .--t-weight400-md {
    font-weight: 400; }
  .--t-weight500-md {
    font-weight: 500; }
  .--t-weight600-md {
    font-weight: 600; }
  .--t-weight700-md {
    font-weight: 700; }
  .--t-weight800-md {
    font-weight: 800; }
  .--t-weight900-md {
    font-weight: 900; } }

/*  Device = Tablets, Ipads (landscape)
    Screen = B/w 768px to 991px  */
@media only screen and (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
  .--t-weight100-md {
    font-weight: 100; }
  .--t-weight200-md {
    font-weight: 200; }
  .--t-weight300-md {
    font-weight: 300; }
  .--t-weight400-md {
    font-weight: 400; }
  .--t-weight500-md {
    font-weight: 500; }
  .--t-weight600-md {
    font-weight: 600; }
  .--t-weight700-md {
    font-weight: 700; }
  .--t-weight800-md {
    font-weight: 800; }
  .--t-weight900-md {
    font-weight: 900; } }

/*  Device = Low Resolution Tablets, Mobiles (Landscape)
    Screen = B/w 576px to 767px  */
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .--t-weight100-sm {
    font-weight: 100; }
  .--t-weight200-sm {
    font-weight: 200; }
  .--t-weight300-sm {
    font-weight: 300; }
  .--t-weight400-sm {
    font-weight: 400; }
  .--t-weight500-sm {
    font-weight: 500; }
  .--t-weight600-sm {
    font-weight: 600; }
  .--t-weight700-sm {
    font-weight: 700; }
  .--t-weight800-sm {
    font-weight: 800; }
  .--t-weight900-sm {
    font-weight: 900; } }

/*  Device = Most of the Smartphones Mobiles (Portrait)
    Screen = B/w 320px to 575px  */
@media only screen and (min-width: 320px) and (max-width: 575px) {
  .--t-weight100-xs {
    font-weight: 100; }
  .--t-weight200-xs {
    font-weight: 200; }
  .--t-weight300-xs {
    font-weight: 300; }
  .--t-weight400-xs {
    font-weight: 400; }
  .--t-weight500-xs {
    font-weight: 500; }
  .--t-weight600-xs {
    font-weight: 600; }
  .--t-weight700-xs {
    font-weight: 700; }
  .--t-weight800-xs {
    font-weight: 800; }
  .--t-weight900-xs {
    font-weight: 900; } }

/* COLORS */
.--t-black,
.--t-hover-black:hover {
  color: #000000; }

.--t-white,
.--t-hover-white:hover {
  color: #ffffff; }

.--t-red,
.--t-hover-red:hover {
  color: #ff0000; }

.--t-dblue,
.--t-hover-dblue:hover {
  color: #16212f; }

.--t-dgrey-1,
.--t-hover-dgrey-1:hover {
  color: #121212; }

.--t-dgrey-2,
.--t-hover-dgrey-2:hover {
  color: #232323; }

.--t-dgrey-3,
.--t-hover-dgrey-3:hover {
  color: #343434; }

.--t-grey-1,
.--t-hover-grey-1:hover {
  color: #666666; }

.--t-grey-2,
.--t-hover-grey-2:hover {
  color: #787878; }

.--t-grey-3,
.--t-hover-grey-3:hover {
  color: #989898; }

/*  Device = Large Desktops
    Screen = 1200px and up desktops  */
@media only screen and (min-width: 1200px) {
  .--t-black-xl,
  .--t-hover-black-xl:hover {
    color: #000000; }
  .--t-white-xl,
  .--t-hover-white-xl:hover {
    color: #ffffff; }
  .--t-red-xl,
  .--t-hover-red-xl:hover {
    color: #ff0000; }
  .--t-dblue-xl,
  .--t-hover-dblue-xl:hover {
    color: #16212f; }
  .--t-dgrey-1-xl,
  .--t-hover-dgrey-1-xl:hover {
    color: #121212; }
  .--t-dgrey-2-xl,
  .--t-hover-dgrey-2-xl:hover {
    color: #232323; }
  .--t-dgrey-3-xl,
  .--t-hover-dgrey-3-xl:hover {
    color: #343434; }
  .--t-grey-1-xl,
  .--t-hover-grey-1-xl:hover {
    color: #666666; }
  .--t-grey-2-xl,
  .--t-hover-grey-2-xl:hover {
    color: #787878; }
  .--t-grey-3-xl,
  .--t-hover-grey-3-xl:hover {
    color: #989898; } }

/*  Device = Laptops, Desktops
    Screen = B/w 992px to 1199px  */
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .--t-black-lg,
  .--t-hover-black-lg:hover {
    color: #000000; }
  .--t-white-lg,
  .--t-hover-white-lg:hover {
    color: #ffffff; }
  .--t-red-lg,
  .--t-hover-red-lg:hover {
    color: #ff0000; }
  .--t-dblue-lg,
  .--t-hover-dblue-lg:hover {
    color: #16212f; }
  .--t-dgrey-1-lg,
  .--t-hover-dgrey-1-lg:hover {
    color: #121212; }
  .--t-dgrey-2-lg,
  .--t-hover-dgrey-2-lg:hover {
    color: #232323; }
  .--t-dgrey-3-lg,
  .--t-hover-dgrey-3-lg:hover {
    color: #343434; }
  .--t-grey-1-lg,
  .--t-hover-grey-1-lg:hover {
    color: #666666; }
  .--t-grey-2-lg,
  .--t-hover-grey-2-lg:hover {
    color: #787878; }
  .--t-grey-3-lg,
  .--t-hover-grey-3-lg:hover {
    color: #989898; } }

/*  Device = Tablets, Ipads (portrait)
    Screen = B/w 768px to 991px  */
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .--t-black-md,
  .--t-hover-black-md:hover {
    color: #000000; }
  .--t-white-md,
  .--t-hover-white-md:hover {
    color: #ffffff; }
  .--t-red-md,
  .--t-hover-red-md:hover {
    color: #ff0000; }
  .--t-dblue-md,
  .--t-hover-dblue-md:hover {
    color: #16212f; }
  .--t-dgrey-1-md,
  .--t-hover-dgrey-1-md:hover {
    color: #121212; }
  .--t-dgrey-2-md,
  .--t-hover-dgrey-2-md:hover {
    color: #232323; }
  .--t-dgrey-3-md,
  .--t-hover-dgrey-3-md:hover {
    color: #343434; }
  .--t-grey-1-md,
  .--t-hover-grey-1-md:hover {
    color: #666666; }
  .--t-grey-2-md,
  .--t-hover-grey-2-md:hover {
    color: #787878; }
  .--t-grey-3-md,
  .--t-hover-grey-3-md:hover {
    color: #989898; } }

/*  Device = Tablets, Ipads (landscape)
    Screen = B/w 768px to 991px  */
@media only screen and (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
  .--t-black-md,
  .--t-hover-black-md:hover {
    color: #000000; }
  .--t-white-md,
  .--t-hover-white-md:hover {
    color: #ffffff; }
  .--t-red-md,
  .--t-hover-red-md:hover {
    color: #ff0000; }
  .--t-dblue-md,
  .--t-hover-dblue-md:hover {
    color: #16212f; }
  .--t-dgrey-1-md,
  .--t-hover-dgrey-1-md:hover {
    color: #121212; }
  .--t-dgrey-2-md,
  .--t-hover-dgrey-2-md:hover {
    color: #232323; }
  .--t-dgrey-3-md,
  .--t-hover-dgrey-3-md:hover {
    color: #343434; }
  .--t-grey-1-md,
  .--t-hover-grey-1-md:hover {
    color: #666666; }
  .--t-grey-2-md,
  .--t-hover-grey-2-md:hover {
    color: #787878; }
  .--t-grey-3-md,
  .--t-hover-grey-3-md:hover {
    color: #989898; } }

/*  Device = Low Resolution Tablets, Mobiles (Landscape)
    Screen = B/w 576px to 767px  */
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .--t-black-sm,
  .--t-hover-black-sm:hover {
    color: #000000; }
  .--t-white-sm,
  .--t-hover-white-sm:hover {
    color: #ffffff; }
  .--t-red-sm,
  .--t-hover-red-sm:hover {
    color: #ff0000; }
  .--t-dblue-sm,
  .--t-hover-dblue-sm:hover {
    color: #16212f; }
  .--t-dgrey-1-sm,
  .--t-hover-dgrey-1-sm:hover {
    color: #121212; }
  .--t-dgrey-2-sm,
  .--t-hover-dgrey-2-sm:hover {
    color: #232323; }
  .--t-dgrey-3-sm,
  .--t-hover-dgrey-3-sm:hover {
    color: #343434; }
  .--t-grey-1-sm,
  .--t-hover-grey-1-sm:hover {
    color: #666666; }
  .--t-grey-2-sm,
  .--t-hover-grey-2-sm:hover {
    color: #787878; }
  .--t-grey-3-sm,
  .--t-hover-grey-3-sm:hover {
    color: #989898; } }

/*  Device = Most of the Smartphones Mobiles (Portrait)
    Screen = B/w 320px to 575px  */
@media only screen and (min-width: 320px) and (max-width: 575px) {
  .--t-black-xs,
  .--t-hover-black-xs:hover {
    color: #000000; }
  .--t-white-xs,
  .--t-hover-white-xs:hover {
    color: #ffffff; }
  .--t-red-xs,
  .--t-hover-red-xs:hover {
    color: #ff0000; }
  .--t-dblue-xs,
  .--t-hover-dblue-xs:hover {
    color: #16212f; }
  .--t-dgrey-1-xs,
  .--t-hover-dgrey-1-xs:hover {
    color: #121212; }
  .--t-dgrey-2-xs,
  .--t-hover-dgrey-2-xs:hover {
    color: #232323; }
  .--t-dgrey-3-xs,
  .--t-hover-dgrey-3-xs:hover {
    color: #343434; }
  .--t-grey-1-xs,
  .--t-hover-grey-1-xs:hover {
    color: #666666; }
  .--t-grey-2-xs,
  .--t-hover-grey-2-xs:hover {
    color: #787878; }
  .--t-grey-3-xs,
  .--t-hover-grey-3-xs:hover {
    color: #989898; } }

/* TRANSFORMS */
.--t-upper {
  text-transform: uppercase; }

.--t-capital {
  text-transform: capitalize; }

.--t-lower {
  text-transform: lowercase; }

/* ALIGNS */
.--t-align-center {
  text-align: center; }

.--t-align-left {
  text-align: left; }

.--t-align-right {
  text-align: right; }

/* SQUOT */
.--heading-squot {
  position: relative;
  margin-top: 35px; }

.--heading-squot::before {
  content: '';
  position: absolute;
  width: 22px;
  height: 20px;
  border-radius: 4px;
  background: #ff0000;
  margin-top: -30px;
  left: 50%;
  transform: translateX(-50%); }

.--heading-squot.--squot-left::before {
  left: 0;
  transform: none; }

.--heading-squot.--squot-right::before {
  left: unset;
  right: 0;
  transform: none; }

/*  Device = Large Desktops
    Screen = 1200px and up desktops  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1200px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1200px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1200px), only screen and (min-device-pixel-ratio: 2) and (min-width: 1200px), only screen and (min-resolution: 192dpi) and (min-width: 1200px), only screen and (min-resolution: 2dppx) and (min-width: 1200px) {
  /* Retina-specific */ }

/*  Device = Laptops, Desktops
    Screen = B/w 992px to 1199px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1199px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1199px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 992px) and (max-width: 1199px), only screen and (min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1199px), only screen and (min-resolution: 192dpi) and (min-width: 992px) and (max-width: 1199px), only screen and (min-resolution: 2dppx) and (min-width: 992px) and (max-width: 1199px) {
  /* Retina-specific */ }

/*  Device = Tablets, Ipads (portrait)
    Screen = B/w 768px to 991px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) {
  /* Retina-specific */ }

/*  Device = Tablets, Ipads (landscape)
    Screen = B/w 768px to 991px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Low Resolution Tablets, Mobiles (Landscape)
    Screen = B/w 576px to 767px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 576px) and (max-width: 767px), only screen and (min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 192dpi) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 2dppx) and (min-width: 576px) and (max-width: 767px) {
  /* Retina-specific */ }

/*  Device = Most of the Smartphones Mobiles (Portrait)
    Screen = B/w 320px to 575px  */
@media only screen and (min-width: 320px) and (max-width: 575px) {
  .--heading-squot::before {
    width: 16px;
    height: 16px;
    margin-top: -22px; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 320px) and (max-width: 575px), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 192dpi) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 2dppx) and (min-width: 320px) and (max-width: 575px) {
  /* Retina-specific */ }

/* CAROUSEL MATERIAL ALPHA-TOP */
.carousel-item .carousel-caption .--trans-alpha-top {
  position: relative;
  opacity: 0;
  top: 30px;
  transform: rotateZ(-0.1deg);
  -webkit-transition: opacity 333ms cubic-bezier(0.4, 0, 0.2, 1), top 666ms cubic-bezier(0.4, 0, 0.2, 1), transform 333ms linear;
  -moz-transition: opacity 333ms cubic-bezier(0.4, 0, 0.2, 1), top 666ms cubic-bezier(0.4, 0, 0.2, 1), transform 333ms linear;
  -o-transition: opacity 333ms cubic-bezier(0.4, 0, 0.2, 1), top 666ms cubic-bezier(0.4, 0, 0.2, 1), transform 333ms linear;
  transition: opacity 333ms cubic-bezier(0.4, 0, 0.2, 1), top 666ms cubic-bezier(0.4, 0, 0.2, 1), transform 333ms linear; }

.carousel-item.active .carousel-caption .--trans-alpha-top-active {
  opacity: 1;
  top: 0;
  transform: rotateZ(0deg); }

/* GENERIC + DURATIONS + EASE */
.--trans-insta-ease {
  -webkit-transition: all 166ms ease;
  -moz-transition: all 166ms ease;
  -o-transition: all 166ms ease;
  transition: all 166ms ease; }

.--trans-short-ease {
  -webkit-transition: all 333ms ease;
  -moz-transition: all 333ms ease;
  -o-transition: all 333ms ease;
  transition: all 333ms ease; }

.--trans-mid-ease {
  -webkit-transition: all 666ms ease;
  -moz-transition: all 666ms ease;
  -o-transition: all 666ms ease;
  transition: all 666ms ease; }

.--trans-long-ease {
  -webkit-transition: all 999ms ease;
  -moz-transition: all 999ms ease;
  -o-transition: all 999ms ease;
  transition: all 999ms ease; }

/* GENERIC + DURATIONS + BEZIER cubic-bezier(0.785, 0.135, 0.15, 0.86) */
.--trans-insta-bezier {
  -webkit-transition: all 333ms cubic-bezier(0.4, 0, 0.2, 1);
  -moz-transition: all 333ms cubic-bezier(0.4, 0, 0.2, 1);
  -o-transition: all 333ms cubic-bezier(0.4, 0, 0.2, 1);
  transition: all 333ms cubic-bezier(0.4, 0, 0.2, 1); }

.--trans-short-bezier {
  -webkit-transition: all 333ms cubic-bezier(0.4, 0, 0.2, 1);
  -moz-transition: all 333ms cubic-bezier(0.4, 0, 0.2, 1);
  -o-transition: all 333ms cubic-bezier(0.4, 0, 0.2, 1);
  transition: all 333ms cubic-bezier(0.4, 0, 0.2, 1); }

.--trans-mid-bezier {
  -webkit-transition: all 666ms cubic-bezier(0.4, 0, 0.2, 1);
  -moz-transition: all 666ms cubic-bezier(0.4, 0, 0.2, 1);
  -o-transition: all 666ms cubic-bezier(0.4, 0, 0.2, 1);
  transition: all 666ms cubic-bezier(0.4, 0, 0.2, 1); }

.--trans-long-bezier {
  -webkit-transition: all 999ms cubic-bezier(0.4, 0, 0.2, 1);
  -moz-transition: all 999ms cubic-bezier(0.4, 0, 0.2, 1);
  -o-transition: all 999ms cubic-bezier(0.4, 0, 0.2, 1);
  transition: all 999ms cubic-bezier(0.4, 0, 0.2, 1); }

/* DELAYS */
.--trans-insta-delay {
  -webkit-transition-delay: 166ms;
  -moz-transition-delay: 166ms;
  -o-transition-delay: 166ms;
  transition-delay: 166ms; }

.--trans-short-delay {
  -webkit-transition-delay: 333ms;
  -moz-transition-delay: 333ms;
  -o-transition-delay: 333ms;
  transition-delay: 333ms; }

.--trans-mid-delay {
  -webkit-transition-delay: 666ms;
  -moz-transition-delay: 666ms;
  -o-transition-delay: 666ms;
  transition-delay: 666ms; }

.--trans-long-delay {
  -webkit-transition-delay: 999ms;
  -moz-transition-delay: 999ms;
  -o-transition-delay: 999ms;
  transition-delay: 999ms; }

/* FORM JUMBOTRON */
#form-jumbotron {
  /*
  padding: 120px 0;
  */
  padding: 240px 0;
  margin-top: 0;
  margin-bottom: 0;
  background-image: url("../../../../src/assets/images/form-jumbotron-bg.jpg");
  background-size: cover;
  background-position: top left;
  border-radius: 0; }

#form-jumbotron.map {
  background-image: url("../../../../src/assets/images/form-jumbotron-map-bg.jpg"); }

#form-jumbotron .heading-block {
  padding: 30px 30px 15px;
  margin: 0; }

#form-jumbotron .--heading-block-white {
  background-color: rgba(255, 255, 255, 0.85); }

#form-jumbotron .wpcf7 {
  padding: 60px 30px 30px;
  background: rgba(255, 0, 0, 0.8); }

#form-jumbotron .wpcf7 a,
#form-jumbotron .wpcf7 a:hover
#form-jumbotron .wpcf7 a:focus,
#form-jumbotron .wpcf7 a:visited,
#form-jumbotron .wpcf7 a:active {
  text-decoration: underline; }

.wpcf7-form > :nth-child(2),
.wpcf7-form > :nth-child(3),
.wpcf7-form > :nth-child(4),
.wpcf7-form > :nth-child(5) {
  width: 50%;
  float: left; }

.wpcf7-form > :nth-child(6),
.wpcf7-form label,
.wpcf7-form .wpcf7-form-control-wrap,
.wpcf7-form .wpcf7-form-control:not(.wpcf7-submit) {
  width: 100%; }

.wpcf7-form > :nth-child(n+2):nth-child(even):nth-child(-n+5) {
  padding-right: 10px; }

.wpcf7-form > :nth-child(n+2):nth-child(odd):nth-child(-n+5) {
  padding-left: 10px; }

.wpcf7-form label {
  font-family: 'Fira Mono', sans-serif;
  line-height: 1.2;
  font-size: 16px;
  font-weight: 400;
  color: #ffffff;
  text-transform: uppercase; }

.wpcf7-form .wpcf7-form-control,
.wpcf7-form .wpcf7-form-control:hover,
.wpcf7-form .wpcf7-form-control:focus {
  font-family: 'Lato', sans-serif;
  line-height: 1.2;
  font-size: 18px;
  color: #ffffff;
  border: none;
  outline: none !important;
  box-shadow: none !important;
  background: transparent;
  padding: 8px 0;
  margin-top: 8px; }

.wpcf7-form .wpcf7-form-control.wpcf7-text,
.wpcf7-form .wpcf7-form-control.wpcf7-textarea {
  border-bottom: 2px solid rgba(255, 255, 255, 0.5);
  -webkit-transition: all 333ms ease;
  -moz-transition: all 333ms ease;
  -ms-transition: all 333ms ease;
  -o-transition: all 333ms ease;
  transition: all 333ms ease; }

.wpcf7-form .wpcf7-form-control.wpcf7-text:hover,
.wpcf7-form .wpcf7-form-control.wpcf7-text:focus,
.wpcf7-form .wpcf7-form-control.wpcf7-text:active,
.wpcf7-form .wpcf7-form-control.wpcf7-textarea:hover,
.wpcf7-form .wpcf7-form-control.wpcf7-textarea:focus,
.wpcf7-form .wpcf7-form-control.wpcf7-textarea:active {
  border-bottom: 2px solid white; }

.wpcf7-form > :nth-child(7) {
  font-family: 'Fira Mono', sans-serif;
  line-height: 1.2;
  font-size: 11px;
  color: #ffffff;
  margin-top: 15px;
  margin-bottom: 0; }

.wpcf7-form > :nth-child(7) > label {
  display: none; }

.wpcf7-form > :nth-child(7) > a,
.wpcf7-form > :nth-child(7) > a:hover,
.wpcf7-form > :nth-child(7) > a:focus,
.wpcf7-form > :nth-child(7) > a:active {
  color: #ffffff;
  font-weight: 600;
  padding-bottom: 2px;
  border-bottom: 1px solid #ffffff; }

.wpcf7-form .wpcf7-form-control.wpcf7-acceptance .wpcf7-list-item {
  margin: .25rem 0; }

/* Base for label styling */
.wpcf7-form .wpcf7-form-control.wpcf7-acceptance input[type="checkbox"]:not(:checked),
.wpcf7-form .wpcf7-form-control.wpcf7-acceptance input[type="checkbox"]:checked {
  position: absolute;
  left: -9999px; }

.wpcf7-form .wpcf7-form-control.wpcf7-acceptance span.wpcf7-list-item-label {
  display: block;
  padding-left: 36px;
  text-transform: none; }

.wpcf7-form .wpcf7-form-control.wpcf7-acceptance input[type="checkbox"]:not(:checked) + span.wpcf7-list-item-label,
.wpcf7-form .wpcf7-form-control.wpcf7-acceptance input[type="checkbox"]:checked + span.wpcf7-list-item-label {
  position: relative;
  cursor: pointer; }

.wpcf7-form .wpcf7-form-control.wpcf7-acceptance input[type="checkbox"]:not(:checked) + span.wpcf7-list-item-label:before,
.wpcf7-form .wpcf7-form-control.wpcf7-acceptance input[type="checkbox"]:checked + span.wpcf7-list-item-label:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 24px;
  height: 24px;
  background: #ffffff;
  border: none;
  border-radius: 0;
  box-shadow: none; }

.wpcf7-form .wpcf7-form-control.wpcf7-acceptance input[type="checkbox"]:not(:checked) + span.wpcf7-list-item-label:after,
.wpcf7-form .wpcf7-form-control.wpcf7-acceptance input[type="checkbox"]:checked + span.wpcf7-list-item-label:after {
  font-family: 'Lucida Sans Unicode', 'Arial Unicode MS', Arial;
  content: '\2713\0020';
  position: absolute;
  top: 3px;
  left: 5px;
  font-size: 20px;
  line-height: 1;
  color: #ff0000;
  transition: all .2s; }

.wpcf7-form .wpcf7-form-control.wpcf7-acceptance input[type="checkbox"]:not(:checked) + span.wpcf7-list-item-label:after {
  opacity: 0;
  transform: scale(0); }

.wpcf7-form .wpcf7-form-control.wpcf7-acceptance input[type="checkbox"]:checked + span.wpcf7-list-item-label:after {
  opacity: 1;
  transform: scale(1); }

.wpcf7-form .wpcf7-form-control.wpcf7-acceptance input[type="checkbox"]:checked:focus + span.wpcf7-list-item-label:before,
.wpcf7-form .wpcf7-form-control.wpcf7-acceptance input[type="checkbox"]:not(:checked):focus + span.wpcf7-list-item-label:before {
  border: none; }

.wpcf7-form > :nth-child(8) {
  margin-top: 30px;
  margin-bottom: 0; }

.wpcf7-form .wpcf7-form-control.wpcf7-submit {
  font-size: 31.5px;
  color: #ff0000;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  background: #ffffff;
  padding: 8px 50px 12px;
  text-transform: uppercase;
  -webkit-transition: all 166ms ease;
  -moz-transition: all 166ms ease;
  -ms-transition: all 166ms ease;
  -o-transition: all 166ms ease;
  transition: all 166ms ease; }

.wpcf7-form .wpcf7-form-control.wpcf7-submit:hover {
  /*
  padding: 8px 50px 12px 75px;
  */
  color: #ffffff;
  background: #aa0000;
  transform: scale(0.9); }

/*  Device = 4K and 5K Desktops
    Screen = 3840px and up  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 3840px), only screen and (min-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (min-resolution: 192dpi) and (min-width: 3840px), only screen and (min-resolution: 2dppx) and (min-width: 3840px) {
  /* Retina-specific */ }

/*  Device = Huge Desktops
    Screen = B/w 2560px to 3839px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-resolution: 192dpi) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-resolution: 2dppx) and (min-width: 2560px) and (max-width: 3839px) {
  /* Retina-specific */ }

/*  Device = Very Large Laptops, Very Large Desktops
    Screen = B/w 1920px to 2559px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-resolution: 192dpi) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-resolution: 2dppx) and (min-width: 1920px) and (max-width: 2559px) {
  /* Retina-specific */ }

/*  Device = Large Laptops, Large Desktops
    Screen = B/w 1280px to 1919px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-resolution: 192dpi) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-resolution: 2dppx) and (min-width: 1280px) and (max-width: 1919px) {
  /* Retina-specific */ }

/*  Device = Very Large Tablets (landscape)
    Screen = B/w 1280px to 1919px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small-to-medium Laptops, Small-to-medium Desktops, Very Large Tablets (portrait)
    Screen = B/w 992px to 1279px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 992px) and (max-width: 1279px), only screen and (min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (min-resolution: 192dpi) and (min-width: 992px) and (max-width: 1279px), only screen and (min-resolution: 2dppx) and (min-width: 992px) and (max-width: 1279px) {
  /* Retina-specific */ }

/*  Device = Large Tablets (landscape)
    Screen = B/w 992px to 1279px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small-to-large Tablets (portrait)
    Screen = B/w 768px to 991px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) {
  /* Retina-specific */ }

/*  Device = Small-to-medium Tablets (landscape), Very Large Mobiles (landscape)
    Screen = B/w 768px to 991px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small Tablets (portrait)
    Screen = B/w 576px to 767px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 576px) and (max-width: 767px), only screen and (min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 192dpi) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 2dppx) and (min-width: 576px) and (max-width: 767px) {
  /* Retina-specific */ }

/*  Device = Small-to-large Mobiles (landscape)
    Screen = B/w 576px to 767px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Mobiles (Portrait)
    Screen = B/w 320px to 575px  */
@media only screen and (min-width: 320px) and (max-width: 575px) {
  #form-jumbotron {
    padding: 0;
    background-size: cover;
    background-position: top right; }
  #form-jumbotron .form {
    padding: 0; }
  .wpcf7-form > :nth-child(2),
  .wpcf7-form > :nth-child(3),
  .wpcf7-form > :nth-child(4),
  .wpcf7-form > :nth-child(5) {
    width: 100%;
    float: left; }
  .wpcf7-form > :nth-child(n+2):nth-child(even):nth-child(-n+5) {
    padding-right: 0px; }
  .wpcf7-form > :nth-child(n+2):nth-child(odd):nth-child(-n+5) {
    padding-left: 0px; }
  .wpcf7-form .wpcf7-form-control.wpcf7-submit {
    font-size: 24px;
    width: 100%; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 320px) and (max-width: 575px), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 192dpi) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 2dppx) and (min-width: 320px) and (max-width: 575px) {
  /* Retina-specific */ }

/*  Device = Very Small Mobiles (Landscape)
    Screen = B/w 320px to 575px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape) {
  /* Retina-specific */ }

/* HEADER CAROUSEL */
#extend-carousel,
#extend-carousel .carousel-inner {
  width: 100%;
  height: 100vh; }

#extend-carousel .carousel-caption-panel {
  position: absolute;
  top: 0;
  right: 0;
  pointer-events: none;
  background: rgba(255, 255, 255, 0.75);
  background: -moz-linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.9) 50%, white 75%, white 100%);
  background: -webkit-linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.9) 50%, white 75%, white 100%);
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.9) 50%, white 75%, white 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff",endColorstr="#ffffff",GradientType=1); }

#extend-carousel .slide {
  min-width: 75%;
  position: absolute;
  bottom: 0;
  /*
  left: 0;
  */
  right: 25%; }

/*
#extend-carousel .carousel-caption-panel img {
  opacity: .85;
  pointer-events: none;
}
*/
#extend-carousel .carousel-control-next-icon,
#extend-carousel .carousel-control-prev-icon {
  display: inline-block;
  width: 60px;
  height: 60px;
  background: no-repeat 50%/100% 100%;
  background-image: none; }

#extend-carousel .carousel-control-next-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 60'%3E%3Cpath shape-rendering='geometricPrecision' fill='%23989898' d='M35.38,28.52,7.06.61a2.14,2.14,0,0,0-3,0L.63,4A2.1,2.1,0,0,0,0,5.48,2.07,2.07,0,0,0,.63,7L24,30,.62,53a2.08,2.08,0,0,0,0,3l3.44,3.39a2.15,2.15,0,0,0,3,0L31.72,35.08l.11-.1,3.55-3.5A2.06,2.06,0,0,0,36,30,2.09,2.09,0,0,0,35.38,28.52Z'/%3E%3C/svg%3E"); }

#extend-carousel .carousel-control-prev-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 35.74 60.43'%3E%3Cpath shape-rendering='geometricPrecision' fill='%23989898' d='M.62,31.7,28.73,59.81a2.1,2.1,0,0,0,3,0l3.42-3.42a2.11,2.11,0,0,0,0-3L11.91,30.21,35.12,7a2.1,2.1,0,0,0,0-3L31.71.62a2.1,2.1,0,0,0-3,0L4.25,25.1l-.11.1L.62,28.72a2.1,2.1,0,0,0,0,3Z'/%3E%3C/svg%3E"); }

#extend-carousel .carousel-control-next,
#extend-carousel .carousel-control-prev {
  width: 10%;
  opacity: .8; }

#extend-carousel .carousel-control-next:focus,
#extend-carousel .carousel-control-next:hover,
#extend-carousel .carousel-control-prev:focus,
#extend-carousel .carousel-control-prev:hover {
  opacity: 1; }

.extend-brand {
  width: 180px;
  float: right;
  margin-top: 30px; }

.extend-divider img {
  position: absolute;
  left: 0;
  z-index: 1000;
  width: 100.5%;
  transform: translateX(-0.5%) translateY(-98%);
  pointer-events: none; }

/*  Device = 4K and 5K Desktops
    Screen = 3840px and up  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 3840px), only screen and (min-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (min-resolution: 192dpi) and (min-width: 3840px), only screen and (min-resolution: 2dppx) and (min-width: 3840px) {
  /* Retina-specific */ }

/*  Device = Huge Desktops
    Screen = B/w 2560px to 3839px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-resolution: 192dpi) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-resolution: 2dppx) and (min-width: 2560px) and (max-width: 3839px) {
  /* Retina-specific */ }

/*  Device = Very Large Laptops, Very Large Desktops
    Screen = B/w 1920px to 2559px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-resolution: 192dpi) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-resolution: 2dppx) and (min-width: 1920px) and (max-width: 2559px) {
  /* Retina-specific */ }

/*  Device = Large Laptops, Large Desktops
    Screen = B/w 1280px to 1919px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-resolution: 192dpi) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-resolution: 2dppx) and (min-width: 1280px) and (max-width: 1919px) {
  /* Retina-specific */ }

/*  Device = Very Large Tablets (landscape)
    Screen = B/w 1280px to 1919px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small-to-medium Laptops, Small-to-medium Desktops, Very Large Tablets (portrait)
    Screen = B/w 992px to 1279px  */
@media only screen and (min-width: 992px) and (max-width: 1279px) {
  #extend-carousel {
    margin-top: 107px; }
  #extend-carousel,
  #extend-carousel .carousel-inner {
    height: 80vh; }
  #extend-carousel .slide {
    right: 0; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 992px) and (max-width: 1279px), only screen and (min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (min-resolution: 192dpi) and (min-width: 992px) and (max-width: 1279px), only screen and (min-resolution: 2dppx) and (min-width: 992px) and (max-width: 1279px) {
  /* Retina-specific */ }

/*  Device = Large Tablets (landscape)
    Screen = B/w 992px to 1279px  */
@media only screen and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape) {
  #extend-carousel {
    margin-top: 107px; }
  #extend-carousel,
  #extend-carousel .carousel-inner {
    height: 80vh; }
  #extend-carousel .slide {
    right: 25%; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Medium-to-large Tablets (portrait)
    Screen = B/w 768px to 991px  */
@media only screen and (min-width: 768px) and (max-width: 991px) {
  #extend-carousel {
    margin-top: 107px; }
  #extend-carousel,
  #extend-carousel .carousel-inner {
    height: 80vh; }
  #extend-carousel .slide {
    right: 0; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) {
  /* Retina-specific */ }

/*  Device = Small-to-medium Tablets (landscape), Very Large Mobiles (landscape)
    Screen = B/w 768px to 991px  */
@media only screen and (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
  #extend-carousel,
  #extend-carousel .carousel-inner {
    height: 120vh; }
  #extend-carousel .slide {
    right: 25%; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small Tablets (portrait)
    Screen = B/w 576px to 767px  */
@media only screen and (min-width: 576px) and (max-width: 767px) {
  #extend-carousel {
    margin-top: 60px; }
  #extend-carousel,
  #extend-carousel .carousel-inner {
    height: 80vh; }
  #extend-carousel .carousel-caption-panel {
    background: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.48) 25%, rgba(255, 255, 255, 0.96) 75%);
    background: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.48) 25%, rgba(255, 255, 255, 0.96) 75%);
    background: linear-gradient(45deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.48) 25%, rgba(255, 255, 255, 0.96) 75%); }
  #extend-carousel .slide {
    min-width: 100%;
    margin-left: -50%;
    right: unset; }
  #extend-carousel .carousel-caption {
    padding: 1rem 1rem; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 576px) and (max-width: 767px), only screen and (min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 192dpi) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 2dppx) and (min-width: 576px) and (max-width: 767px) {
  /* Retina-specific */ }

/*  Device = Small-to-large Mobiles (landscape)
    Screen = B/w 576px to 767px  */
@media only screen and (min-width: 576px) and (max-width: 767px) and (orientation: landscape) {
  #extend-carousel,
  #extend-carousel .carousel-inner {
    height: 120vh; }
  #extend-carousel .slide {
    min-width: 100%;
    margin-left: 0;
    right: 0; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Mobiles (Portrait)
    Screen = B/w 320px to 575px  */
@media only screen and (min-width: 320px) and (max-width: 575px) {
  #extend-carousel {
    margin-top: 60px; }
  #extend-carousel,
  #extend-carousel .carousel-inner {
    height: 80vh; }
  #extend-carousel .carousel-caption-panel {
    background: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.48) 25%, rgba(255, 255, 255, 0.96) 75%);
    background: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.48) 25%, rgba(255, 255, 255, 0.96) 75%);
    background: linear-gradient(45deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.48) 25%, rgba(255, 255, 255, 0.96) 75%); }
  #extend-carousel .slide {
    min-width: 100%;
    margin-left: -75%;
    right: unset; }
  #extend-carousel .carousel-caption {
    padding: 1rem 1rem; }
  #extend-carousel .carousel-control-next-icon,
  #extend-carousel .carousel-control-prev-icon,
  #extend-carousel .extend-brand {
    display: none; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 320px) and (max-width: 575px), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 192dpi) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 2dppx) and (min-width: 320px) and (max-width: 575px) {
  /* Retina-specific */ }

/*  Device = Very Small Mobiles (Landscape)
    Screen = B/w 320px to 575px  */
@media only screen and (min-width: 320px) and (max-width: 575px) and (orientation: landscape) {
  #extend-carousel,
  #extend-carousel .carousel-inner {
    height: 120vh; }
  #extend-carousel .slide {
    min-width: 100%;
    margin-left: 0;
    right: 0; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape) {
  /* Retina-specific */ }

/* SOTTOSERVIZI */
.sottoservizi-list {
  list-style-type: none;
  padding-left: 0; }
.sottoservizio-thumb {
  max-height: 70vh;
  overflow: hidden; }
.sottoservizio-thumb img {
  transform: scale3d(1.0, 1.0, 1.0) rotateZ(0.01deg); }

/* SERVICES CARDS */
.services-cards {
  margin-top: 60px;
  margin-left: -15px;
  margin-right: -15px; }

.services-cards a {
  overflow: hidden;
  opacity: 1; }

.services-cards > a > img {
  transform: scale3d(1.05, 1.05, 1.05) rotateZ(0.01deg); }

.services-cards > a:hover > img {
  transform: scale3d(1.25, 1.25, 1.25) rotateZ(0.01deg); }

.services-cards > a:hover {
  opacity: .75; }

.services-cards h3 {
  transform: translateY(-100%);
  position: absolute;
  width: 100%;
  font-size: 3.3vw;
  margin-top: -10px;
  z-index: 1000; }

.services-cards-bg > img {
  transform: translateX(-2%) translateY(-98%);
  position: absolute;
  left: 0;
  width: 104%;
  z-index: 100; }

/*  Device = 4K and 5K Desktops
    Screen = 3840px and up  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 3840px), only screen and (min-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (min-resolution: 192dpi) and (min-width: 3840px), only screen and (min-resolution: 2dppx) and (min-width: 3840px) {
  /* Retina-specific */ }

/*  Device = Huge Desktops
    Screen = B/w 2560px to 3839px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-resolution: 192dpi) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-resolution: 2dppx) and (min-width: 2560px) and (max-width: 3839px) {
  /* Retina-specific */ }

/*  Device = Very Large Laptops, Very Large Desktops
    Screen = B/w 1920px to 2559px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-resolution: 192dpi) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-resolution: 2dppx) and (min-width: 1920px) and (max-width: 2559px) {
  /* Retina-specific */ }

/*  Device = Large Laptops, Large Desktops
    Screen = B/w 1280px to 1919px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-resolution: 192dpi) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-resolution: 2dppx) and (min-width: 1280px) and (max-width: 1919px) {
  /* Retina-specific */ }

/*  Device = Very Large Tablets (landscape)
    Screen = B/w 1280px to 1919px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small-to-medium Laptops, Small-to-medium Desktops, Very Large Tablets (portrait)
    Screen = B/w 992px to 1279px  */
@media only screen and (min-width: 992px) and (max-width: 1279px) {
  .services-heading {
    margin-top: 12vh; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 992px) and (max-width: 1279px), only screen and (min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (min-resolution: 192dpi) and (min-width: 992px) and (max-width: 1279px), only screen and (min-resolution: 2dppx) and (min-width: 992px) and (max-width: 1279px) {
  /* Retina-specific */ }

/*  Device = Large Tablets (landscape)
    Screen = B/w 992px to 1279px  */
@media only screen and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape) {
  .services-heading {
    margin-top: 8vh; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small-to-large Tablets (portrait)
    Screen = B/w 768px to 991px  */
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .services-heading {
    margin-top: 12vh; }
  .services-cards {
    margin-top: 15px; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) {
  /* Retina-specific */ }

/*  Device = Small-to-medium Tablets (landscape), Very Large Mobiles (landscape)
    Screen = B/w 768px to 991px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small Tablets (portrait)
    Screen = B/w 576px to 767px  */
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .services-heading {
    margin-top: 12vh; }
  .services-cards {
    margin-top: 15px; }
  .services-cards h3 {
    font-size: 6vw;
    margin-top: -12px; }
  .services-cards > a > img {
    margin-top: -22.5vw; }
  .services-cards-bg > img {
    transform: translateX(-2%) translateY(-73%); } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 576px) and (max-width: 767px), only screen and (min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 192dpi) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 2dppx) and (min-width: 576px) and (max-width: 767px) {
  /* Retina-specific */ }

/*  Device = Small-to-large Mobiles (landscape)
    Screen = B/w 576px to 767px  */
@media only screen and (min-width: 576px) and (max-width: 767px) and (orientation: landscape) {
  .services-heading {
    margin-top: 12vh; }
  .services-cards {
    margin-top: 15px; }
  .services-cards h3 {
    font-size: 6vw;
    margin-top: -12px; }
  .services-cards > a > img {
    margin-top: -32.5vw; }
  .services-cards-bg > img {
    transform: translateX(-2%) translateY(-73%); } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Mobiles (Portrait)
    Screen = B/w 320px to 575px */
@media only screen and (min-width: 320px) and (max-width: 575px) {
  .services-heading {
    margin-top: 12vh; }
  .services-cards {
    margin-top: 15px; }
  .services-cards h3 {
    font-size: 9vw;
    margin-top: -8px; }
  .services-cards > a > img {
    margin-top: -22.5vw; }
  .services-cards-bg > img {
    transform: translateX(-2%) translateY(-88%); } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 320px) and (max-width: 575px), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 192dpi) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 2dppx) and (min-width: 320px) and (max-width: 575px) {
  /* Retina-specific */ }

/*  Device = Very Small Mobiles (Landscape)
    Screen = B/w 320px to 575px  */
@media only screen and (min-width: 320px) and (max-width: 575px) and (orientation: landscape) {
  .services-cards > a > img {
    margin-top: -30vw; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape) {
  /* Retina-specific */ }

/* TEAM CAROUSEL */
.team-section-heading {
  margin-top: 60px;
  margin-bottom: 30px; }

#team-carousel,
#team-carousel .carousel-inner {
  width: 100%;
  height: 80vh; }

#team-carousel {
  background: #e5e5e5;
  background: -moz-linear-gradient(-120deg, #e5e5e5 0%, #f6f6f6 35%, #e5e5e5 100%);
  background: -webkit-linear-gradient(-120deg, #e5e5e5 0%, #f6f6f6 35%, #e5e5e5 100%);
  background: linear-gradient(-120deg, #e5e5e5 0%, #f6f6f6 35%, #e5e5e5 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#e5e5e5",endColorstr="#e5e5e5",GradientType=1);
  /*overflow: visible;*/ }

#team-carousel .carousel-caption {
  padding: 0 15px; }

#team-carousel .carousel-item {
  overflow: hidden; }

#team-carousel .carousel-item picture {
  max-height: 100%; }

#team-carousel .carousel-item img {
  max-height: 100%; }

#team-carousel .slide {
  max-height: 80vh;
  max-width: unset;
  position: absolute;
  bottom: 0;
  /*
  right: 0vw;
  */
  right: 10vw;
  z-index: 1000; }

#team-carousel .carousel-control-next-icon,
#team-carousel .carousel-control-prev-icon {
  display: inline-block;
  width: 60px;
  height: 60px;
  background: no-repeat 50%/100% 100%;
  background-image: none; }

#team-carousel .carousel-control-next-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 60'%3E%3Cpath shape-rendering='geometricPrecision' fill='%23989898' d='M35.38,28.52,7.06.61a2.14,2.14,0,0,0-3,0L.63,4A2.1,2.1,0,0,0,0,5.48,2.07,2.07,0,0,0,.63,7L24,30,.62,53a2.08,2.08,0,0,0,0,3l3.44,3.39a2.15,2.15,0,0,0,3,0L31.72,35.08l.11-.1,3.55-3.5A2.06,2.06,0,0,0,36,30,2.09,2.09,0,0,0,35.38,28.52Z'/%3E%3C/svg%3E"); }

#team-carousel .carousel-control-prev-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 35.74 60.43'%3E%3Cpath shape-rendering='geometricPrecision' fill='%23989898' d='M.62,31.7,28.73,59.81a2.1,2.1,0,0,0,3,0l3.42-3.42a2.11,2.11,0,0,0,0-3L11.91,30.21,35.12,7a2.1,2.1,0,0,0,0-3L31.71.62a2.1,2.1,0,0,0-3,0L4.25,25.1l-.11.1L.62,28.72a2.1,2.1,0,0,0,0,3Z'/%3E%3C/svg%3E"); }

#team-carousel .carousel-control-next,
#team-carousel .carousel-control-prev {
  width: 10%;
  opacity: .8; }

#team-carousel .carousel-control-next:focus,
#team-carousel .carousel-control-next:hover,
#team-carousel .carousel-control-prev:focus,
#team-carousel .carousel-control-prev:hover {
  opacity: 1; }

.team-divider {
  margin-top: -1px; }

.team-divider img {
  position: absolute;
  left: 0;
  z-index: 10;
  width: 100.5%;
  transform: translateX(-0.5%) translateY(-2%);
  pointer-events: none; }

#team-carousel .carousel-link {
  position: absolute;
  bottom: 60px;
  left: 16.67%;
  padding: 4px 0;
  margin-left: 15px; }

#team-carousel .carousel-link:hover {
  padding: 4px 0 4px 25px; }

#team-carousel .--carousel-link-underline {
  border-bottom: 2px solid #ff0000; }

/*  Device = 4K and 5K Desktops
    Screen = 3840px and up  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 3840px), only screen and (min-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (min-resolution: 192dpi) and (min-width: 3840px), only screen and (min-resolution: 2dppx) and (min-width: 3840px) {
  /* Retina-specific */ }

/*  Device = Huge Desktops
    Screen = B/w 2560px to 3839px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-resolution: 192dpi) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-resolution: 2dppx) and (min-width: 2560px) and (max-width: 3839px) {
  /* Retina-specific */ }

/*  Device = Very Large Laptops, Very Large Desktops
    Screen = B/w 1920px to 2559px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-resolution: 192dpi) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-resolution: 2dppx) and (min-width: 1920px) and (max-width: 2559px) {
  /* Retina-specific */ }

/*  Device = Large Laptops, Large Desktops
    Screen = B/w 1280px to 1919px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-resolution: 192dpi) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-resolution: 2dppx) and (min-width: 1280px) and (max-width: 1919px) {
  /* Retina-specific */ }

/*  Device = Very Large Tablets (landscape)
    Screen = B/w 1280px to 1919px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small-to-medium Laptops, Small-to-medium Desktops, Very Large Tablets (portrait)
    Screen = B/w 992px to 1279px  */
@media only screen and (min-width: 992px) and (max-width: 1279px) {
  #team-carousel,
  #team-carousel .carousel-inner {
    height: 40vh; }
  #team-carousel .slide {
    max-height: 40vh;
    max-width: unset;
    right: 0; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 992px) and (max-width: 1279px), only screen and (min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (min-resolution: 192dpi) and (min-width: 992px) and (max-width: 1279px), only screen and (min-resolution: 2dppx) and (min-width: 992px) and (max-width: 1279px) {
  /* Retina-specific */ }

/*  Device = Large Tablets (landscape)
    Screen = B/w 992px to 1279px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small-to-large Tablets (portrait)
    Screen = B/w 768px to 991px  */
@media only screen and (min-width: 768px) and (max-width: 991px) {
  #team-carousel,
  #team-carousel .carousel-inner {
    height: 45vh; }
  #team-carousel .carousel-link {
    left: 8.33%; }
  #team-carousel .slide {
    max-height: 45vh;
    max-width: unset;
    right: 0; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) {
  /* Retina-specific */ }

/*  Device = Small-to-medium Tablets (landscape), Very Large Mobiles (landscape)
    Screen = B/w 768px to 991px  */
@media only screen and (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
  #team-carousel,
  #team-carousel .carousel-inner {
    height: 90vh; }
  #team-carousel .slide {
    max-height: 90vh;
    max-width: unset;
    right: 8.33%; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small Tablets (portrait)
    Screen = B/w 576px to 767px  */
@media only screen and (min-width: 576px) and (max-width: 767px) {
  #team-carousel {
    overflow: visible; }
  #team-carousel,
  #team-carousel .carousel-inner {
    height: 75vh; }
  #team-carousel .carousel-caption {
    margin-top: 10vh; }
  #team-carousel .slide {
    max-height: 55vh;
    max-width: 100vw;
    right: 8.33%; }
  /*
  #team-carousel .carousel-control-next-icon,
  #team-carousel .carousel-control-prev-icon {
    display: none;
  }
  */
  #team-carousel .carousel-link {
    width: auto;
    bottom: -45px;
    text-align: center;
    margin-left: 0;
    left: 50%;
    transform: translateX(-50%);
    padding: 4px 0;
    opacity: 1; }
  #team-carousel .carousel-link:hover {
    padding: 4px 0;
    opacity: .5; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 576px) and (max-width: 767px), only screen and (min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 192dpi) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 2dppx) and (min-width: 576px) and (max-width: 767px) {
  /* Retina-specific */ }

/*  Device = Small-to-large Mobiles (landscape)
    Screen = B/w 576px to 767px  */
@media only screen and (min-width: 576px) and (max-width: 767px) and (orientation: landscape) {
  #team-carousel,
  #team-carousel .carousel-inner {
    height: 80vh; }
  #team-carousel .carousel-caption {
    margin-top: 30vh; }
  #team-carousel .slide {
    max-height: 80vh;
    max-width: unset;
    right: 0;
    /*
    max-height: 70vh;
    max-width: unset;
    right: 8.33%;
    */ } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Mobiles (Portrait)
    Screen = B/w 320px to 575px  */
@media only screen and (min-width: 320px) and (max-width: 575px) {
  #team-carousel {
    overflow: visible; }
  #team-carousel,
  #team-carousel .carousel-inner {
    height: 70vh; }
  #team-carousel .carousel-caption {
    margin-top: 10vh; }
  #team-carousel .slide {
    max-width: 100vw;
    max-height: 47.5vh;
    right: 0; }
  #team-carousel .carousel-control-next-icon,
  #team-carousel .carousel-control-prev-icon {
    display: none; }
  #team-carousel .carousel-link {
    width: 66%;
    bottom: -45px;
    text-align: center;
    margin-left: 0;
    left: 50%;
    transform: translateX(-50%);
    padding: 4px 0;
    opacity: 1; }
  #team-carousel .carousel-link:hover {
    padding: 4px 0;
    opacity: .5; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 320px) and (max-width: 575px), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 192dpi) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 2dppx) and (min-width: 320px) and (max-width: 575px) {
  /* Retina-specific */ }

/*  Device = Very Small Mobiles (Landscape)
    Screen = B/w 320px to 575px  */
@media only screen and (min-width: 320px) and (max-width: 575px) and (orientation: landscape) {
  #team-carousel,
  #team-carousel .carousel-inner {
    height: 90vh; }
  #team-carousel .carousel-caption {
    margin-top: 30vh; }
  #team-carousel .carousel-link {
    width: auto; }
  #team-carousel .slide {
    /*
    max-height: 90vh;
    */
    max-height: 75vh;
    max-width: unset;
    right: 3.33%; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape) {
  /* Retina-specific */ }

/* FOCUS ICONS */
.focus-heading {
  margin-top: 60px; }

.focus-icons {
  margin-top: 30px;
  margin-bottom: 60px; }

.focus-icons img {
  max-width: 200px;
  /*
  padding: 20%;
  */
  /*
  padding: 10% 15%;
  */
  padding: 2rem; }

/*  Device = 4K and 5K Desktops
    Screen = 3840px and up  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 3840px), only screen and (min-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (min-resolution: 192dpi) and (min-width: 3840px), only screen and (min-resolution: 2dppx) and (min-width: 3840px) {
  /* Retina-specific */ }

/*  Device = Huge Desktops
    Screen = B/w 2560px to 3839px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-resolution: 192dpi) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-resolution: 2dppx) and (min-width: 2560px) and (max-width: 3839px) {
  /* Retina-specific */ }

/*  Device = Very Large Laptops, Very Large Desktops
    Screen = B/w 1920px to 2559px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-resolution: 192dpi) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-resolution: 2dppx) and (min-width: 1920px) and (max-width: 2559px) {
  /* Retina-specific */ }

/*  Device = Large Laptops, Large Desktops
    Screen = B/w 1280px to 1919px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-resolution: 192dpi) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-resolution: 2dppx) and (min-width: 1280px) and (max-width: 1919px) {
  /* Retina-specific */ }

/*  Device = Very Large Tablets (landscape)
    Screen = B/w 1280px to 1919px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small-to-medium Laptops, Small-to-medium Desktops, Very Large Tablets (portrait)
    Screen = B/w 992px to 1279px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 992px) and (max-width: 1279px), only screen and (min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (min-resolution: 192dpi) and (min-width: 992px) and (max-width: 1279px), only screen and (min-resolution: 2dppx) and (min-width: 992px) and (max-width: 1279px) {
  /* Retina-specific */ }

/*  Device = Large Tablets (landscape)
    Screen = B/w 992px to 1279px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small-to-large Tablets (portrait)
    Screen = B/w 768px to 991px  */
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .focus-icons {
    margin-top: 0px; }
  .focus-icons [class^="col-"] {
    padding-right: 0px;
    padding-left: 0px; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) {
  /* Retina-specific */ }

/*  Device = Small-to-medium Tablets (landscape), Very Large Mobiles (landscape)
    Screen = B/w 768px to 991px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small Tablets (portrait)
    Screen = B/w 576px to 767px  */
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .focus-heading {
    margin-top: 120px; }
  .focus-icons {
    margin-top: 0px; }
  .focus-icons img {
    max-width: 175px;
    margin-top: 2vw; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 576px) and (max-width: 767px), only screen and (min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 192dpi) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 2dppx) and (min-width: 576px) and (max-width: 767px) {
  /* Retina-specific */ }

/*  Device = Small-to-large Mobiles (landscape)
    Screen = B/w 576px to 767px  */
@media only screen and (min-width: 576px) and (max-width: 767px) and (orientation: landscape) {
  .focus-heading {
    margin-top: 120px; }
  .focus-icons {
    margin-top: 15px; }
  .focus-icons img {
    max-width: 150px;
    margin-top: 2vw; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Mobiles (Portrait)
    Screen = B/w 320px to 575px  */
@media only screen and (min-width: 320px) and (max-width: 575px) {
  .focus-heading {
    margin-top: 120px; }
  .focus-icons {
    margin-top: 15px; }
  .focus-icons img {
    max-width: 150px;
    margin-top: 2vw; }
  .focus-icons h4 {
    color: #ff0000;
    font-weight: 600;
    padding: 0 10%; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 320px) and (max-width: 575px), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 192dpi) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 2dppx) and (min-width: 320px) and (max-width: 575px) {
  /* Retina-specific */ }

/*  Device = Very Small Mobiles (Landscape)
    Screen = B/w 320px to 575px  */
@media only screen and (min-width: 320px) and (max-width: 575px) and (orientation: landscape) {
  .focus-icons img {
    max-width: 125px;
    margin-top: 4vw;
    padding: 1rem; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape) {
  /* Retina-specific */ }

/* SERVICES CAROUSEL */
#services-carousel,
#services-carousel .carousel-inner {
  width: 100%;
  height: 80vh; }

#services-carousel .carousel-caption-panel {
  /*
  width: 70%;
  */
  position: absolute;
  top: 0;
  right: 0;
  pointer-events: none;
  background: rgba(255, 255, 255, 0.75);
  background: -moz-linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.9) 50%, white 75%, white 100%);
  background: -webkit-linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.9) 50%, white 75%, white 100%);
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.9) 50%, white 75%, white 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff",endColorstr="#ffffff",GradientType=1); }

#services-carousel .slide {
  min-width: 75%;
  position: absolute;
  bottom: 0;
  right: 25%; }

/*
#services-carousel .carousel-caption-panel img {
  opacity: .85;
  pointer-events: none;
}
*/
#services-carousel,
#services-carousel .carousel-item {
  background: #e5e5e5;
  background: -moz-linear-gradient(-120deg, #e5e5e5 0%, rgba(246, 246, 246, 0.85) 50%, rgba(229, 229, 229, 0) 100%);
  background: -webkit-linear-gradient(-120deg, #e5e5e5 0%, rgba(246, 246, 246, 0.85) 50%, rgba(229, 229, 229, 0) 100%);
  background: linear-gradient(-120deg, #e5e5e5 0%, rgba(246, 246, 246, 0.85) 50%, rgba(229, 229, 229, 0) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#e5e5e5",endColorstr="#e5e5e5",GradientType=1); }

#services-carousel .carousel-control-next-icon,
#services-carousel .carousel-control-prev-icon {
  display: inline-block;
  width: 60px;
  height: 60px;
  background: no-repeat 50%/100% 100%;
  background-image: none; }

#services-carousel .carousel-control-next-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 60'%3E%3Cpath shape-rendering='geometricPrecision' fill='%23989898' d='M35.38,28.52,7.06.61a2.14,2.14,0,0,0-3,0L.63,4A2.1,2.1,0,0,0,0,5.48,2.07,2.07,0,0,0,.63,7L24,30,.62,53a2.08,2.08,0,0,0,0,3l3.44,3.39a2.15,2.15,0,0,0,3,0L31.72,35.08l.11-.1,3.55-3.5A2.06,2.06,0,0,0,36,30,2.09,2.09,0,0,0,35.38,28.52Z'/%3E%3C/svg%3E"); }

#services-carousel .carousel-control-prev-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 35.74 60.43'%3E%3Cpath shape-rendering='geometricPrecision' fill='%23989898' d='M.62,31.7,28.73,59.81a2.1,2.1,0,0,0,3,0l3.42-3.42a2.11,2.11,0,0,0,0-3L11.91,30.21,35.12,7a2.1,2.1,0,0,0,0-3L31.71.62a2.1,2.1,0,0,0-3,0L4.25,25.1l-.11.1L.62,28.72a2.1,2.1,0,0,0,0,3Z'/%3E%3C/svg%3E"); }

#services-carousel .carousel-control-next,
#services-carousel .carousel-control-prev {
  width: 10%;
  opacity: .8; }

#services-carousel .carousel-control-next:focus,
#services-carousel .carousel-control-next:hover,
#services-carousel .carousel-control-prev:focus,
#services-carousel .carousel-control-prev:hover {
  opacity: 1; }

.services-divider img {
  position: absolute;
  left: 0;
  z-index: 1000;
  width: 100.5%;
  transform: translateX(-0.5%) translateY(-98%);
  pointer-events: none; }

#services-carousel .carousel-link {
  margin-top: 30px;
  padding: 4px 0; }

#services-carousel .carousel-link:hover {
  padding: 4px 25px 4px 0; }

#services-carousel .--carousel-link-underline {
  border-bottom: 2px solid #ff0000; }

/*  Device = 4K and 5K Desktops
    Screen = 3840px and up  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 3840px), only screen and (min-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (min-resolution: 192dpi) and (min-width: 3840px), only screen and (min-resolution: 2dppx) and (min-width: 3840px) {
  /* Retina-specific */ }

/*  Device = Huge Desktops
    Screen = B/w 2560px to 3839px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-resolution: 192dpi) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-resolution: 2dppx) and (min-width: 2560px) and (max-width: 3839px) {
  /* Retina-specific */ }

/*  Device = Very Large Laptops, Very Large Desktops
    Screen = B/w 1920px to 2559px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-resolution: 192dpi) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-resolution: 2dppx) and (min-width: 1920px) and (max-width: 2559px) {
  /* Retina-specific */ }

/*  Device = Large Laptops, Large Desktops
    Screen = B/w 1280px to 1919px  */
@media only screen and (min-width: 1280px) and (max-width: 1919px) {
  #services-carousel .slide {
    right: 25%; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-resolution: 192dpi) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-resolution: 2dppx) and (min-width: 1280px) and (max-width: 1919px) {
  /* Retina-specific */ }

/*  Device = Very Large Tablets (landscape)
    Screen = B/w 1280px to 1919px  */
@media only screen and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape) {
  #services-carousel .slide {
    right: 25%; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small-to-medium Laptops, Small-to-medium Desktops, Very Large Tablets (portrait)
    Screen = B/w 992px to 1279px  */
@media only screen and (min-width: 992px) and (max-width: 1279px) {
  #services-carousel .slide {
    right: 0; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 992px) and (max-width: 1279px), only screen and (min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (min-resolution: 192dpi) and (min-width: 992px) and (max-width: 1279px), only screen and (min-resolution: 2dppx) and (min-width: 992px) and (max-width: 1279px) {
  /* Retina-specific */ }

/*  Device = Large Tablets (landscape)
    Screen = B/w 992px to 1279px  */
@media only screen and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape) {
  #extend-carousel .slide {
    right: 25%; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small-to-large Tablets (portrait)
    Screen = B/w 768px to 991px  */
@media only screen and (min-width: 768px) and (max-width: 991px) {
  #services-carousel .slide {
    right: 0; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) {
  /* Retina-specific */ }

/*  Device = Small-to-medium Tablets (landscape), Very Large Mobiles (landscape)
    Screen = B/w 768px to 991px  */
@media only screen and (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
  #services-carousel,
  #services-carousel .carousel-inner {
    height: 120vh; }
  #services-carousel .slide {
    right: 25%; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small Tablets (portrait)
    Screen = B/w 576px to 767px  */
@media only screen and (min-width: 576px) and (max-width: 767px) {
  #services-carousel,
  #services-carousel .carousel-inner {
    height: 80vh; }
  #services-carousel .carousel-caption-panel {
    background: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.48) 25%, rgba(255, 255, 255, 0.96) 75%);
    background: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.48) 25%, rgba(255, 255, 255, 0.96) 75%);
    background: linear-gradient(45deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.48) 25%, rgba(255, 255, 255, 0.96) 75%); }
  #services-carousel .slide {
    min-width: 100%;
    margin-left: -50%;
    right: unset; }
  #services-carousel .carousel-caption {
    padding: 1rem 1rem; }
  #services-carousel .carousel-link {
    margin-top: 0px; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 576px) and (max-width: 767px), only screen and (min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 192dpi) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 2dppx) and (min-width: 576px) and (max-width: 767px) {
  /* Retina-specific */ }

/*  Device = Small-to-large Mobiles (landscape)
    Screen = B/w 576px to 767px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Mobiles (Portrait)
    Screen = B/w 320px to 575px  */
@media only screen and (min-width: 320px) and (max-width: 575px) {
  #services-carousel,
  #services-carousel .carousel-inner {
    height: 80vh; }
  #services-carousel .carousel-caption-panel {
    background: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.48) 25%, rgba(255, 255, 255, 0.96) 75%);
    background: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.48) 25%, rgba(255, 255, 255, 0.96) 75%);
    background: linear-gradient(45deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.48) 25%, rgba(255, 255, 255, 0.96) 75%); }
  #services-carousel .slide {
    min-width: 100%;
    margin-left: -75%;
    right: unset; }
  #services-carousel .carousel-caption {
    padding: 1rem 1rem; }
  #services-carousel .carousel-link {
    margin-top: 0px; }
  #services-carousel .carousel-control-next-icon,
  #services-carousel .carousel-control-prev-icon {
    display: none; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 320px) and (max-width: 575px), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 192dpi) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 2dppx) and (min-width: 320px) and (max-width: 575px) {
  /* Retina-specific */ }

/*  Device = Very Small Mobiles (Landscape)
    Screen = B/w 320px to 575px  */
@media only screen and (min-width: 320px) and (max-width: 575px) and (orientation: landscape) {
  #services-carousel, #services-carousel .carousel-inner {
    height: 90vh; }
  #services-carousel .slide {
    min-width: 100%;
    margin-left: 0;
    right: 0; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape) {
  /* Retina-specific */ }

/* TESTIMONIAL CAROUSEL */
.testimonial-heading {
  margin-top: 60px;
  margin-bottom: 30px; }

/*
#testimonial-carousel,
#testimonial-carousel .carousel-inner {
  width: 100%;
  height: 70vh;
}
*/
#testimonial-carousel,
#testimonial-carousel .carousel-inner {
  width: 100%;
  height: auto !important; }

#testimonial-carousel,
#testimonial-carousel .carousel-item {
  background: #e5e5e5; }

#testimonial-carousel .slide {
  min-width: 47.5%;
  position: absolute;
  top: 0;
  right: 52.5%;
  bottom: 0;
  z-index: 10; }

#testimonial-carousel .carousel-inner,
#testimonial-carousel .carousel-caption {
  z-index: 10; }

#testimonial-carousel .carousel-caption {
  position: relative;
  /*
  padding-top: 12.5vh;
  padding-bottom: 5vh;
  */
  padding-top: 20vh;
  padding-bottom: 12.5vh; }

#testimonial-carousel .carousel-control-next-icon,
#testimonial-carousel .carousel-control-prev-icon {
  display: inline-block;
  width: 60px;
  height: 60px;
  background: no-repeat 50%/100% 100%;
  background-image: none; }

#testimonial-carousel .carousel-control-next-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 60'%3E%3Cpath shape-rendering='geometricPrecision' fill='%23FF0000' d='M35.38,28.52,7.06.61a2.14,2.14,0,0,0-3,0L.63,4A2.1,2.1,0,0,0,0,5.48,2.07,2.07,0,0,0,.63,7L24,30,.62,53a2.08,2.08,0,0,0,0,3l3.44,3.39a2.15,2.15,0,0,0,3,0L31.72,35.08l.11-.1,3.55-3.5A2.06,2.06,0,0,0,36,30,2.09,2.09,0,0,0,35.38,28.52Z'/%3E%3C/svg%3E"); }

#testimonial-carousel .carousel-control-prev-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 35.74 60.43'%3E%3Cpath shape-rendering='geometricPrecision' fill='%23FF0000' d='M.62,31.7,28.73,59.81a2.1,2.1,0,0,0,3,0l3.42-3.42a2.11,2.11,0,0,0,0-3L11.91,30.21,35.12,7a2.1,2.1,0,0,0,0-3L31.71.62a2.1,2.1,0,0,0-3,0L4.25,25.1l-.11.1L.62,28.72a2.1,2.1,0,0,0,0,3Z'/%3E%3C/svg%3E"); }

#testimonial-carousel .carousel-control-next,
#testimonial-carousel .carousel-control-prev {
  width: 10%;
  opacity: .8; }

#testimonial-carousel .carousel-control-next:focus,
#testimonial-carousel .carousel-control-next:hover,
#testimonial-carousel .carousel-control-prev:focus,
#testimonial-carousel .carousel-control-prev:hover {
  opacity: 1; }

.testimonial-divider {
  margin-top: -1px; }

.testimonial-divider img {
  position: absolute;
  left: 0;
  z-index: 1000;
  width: 100.5%;
  transform: translateX(-0.5%) translateY(-2%);
  pointer-events: none; }

#testimonial-carousel .heading-block-wrapper {
  display: inline-block;
  margin-bottom: 20px; }

#testimonial-carousel .--heading-block-red .heading-block {
  background-color: #ff0000;
}

#testimonial-carousel .--heading-block-gray .heading-block {
  background-color: #363640;
}

#testimonial-carousel .heading-block {
  padding: 8px;
  margin-bottom: 0;
  position: relative;
  z-index: 100; }

#testimonial-carousel .heading-block-skew {
  width: 99.7%;
  padding: 5.2% 0 0 0;
  background-color: #ff0000;
  transform-origin: top left;
  transform: skewY(-3deg);
  position: relative;
  z-index: 10; }

#testimonial-carousel .carousel-link::after {
  content: '';
  display: block;
  width: 100%;
  height: 30px;
  background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 138.7 18' enable-background='new 0 0 138.7 18' xml:space='preserve'%3E%3Cpolygon shape-rendering='geometricPrecision' fill='%23E52620' points='70.4,18 0.3,2 0.8,0 70.4,15.9 137.9,0 138.3,2 '/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  margin-top: 6px;
  -webkit-transition: all 166ms ease;
  -moz-transition: all 166ms ease;
  -ms-transition: all 166ms ease;
  -o-transition: all 166ms ease;
  transition: all 166ms ease; }

#testimonial-carousel .carousel-link:hover::after {
  margin-top: 16px; }

/*  Device = 4K and 5K Desktops
    Screen = 3840px and up  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 3840px), only screen and (min-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (min-resolution: 192dpi) and (min-width: 3840px), only screen and (min-resolution: 2dppx) and (min-width: 3840px) {
  /* Retina-specific */ }

/*  Device = Huge Desktops
    Screen = B/w 2560px to 3839px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-resolution: 192dpi) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-resolution: 2dppx) and (min-width: 2560px) and (max-width: 3839px) {
  /* Retina-specific */ }

/*  Device = Very Large Laptops, Very Large Desktops
    Screen = B/w 1920px to 2559px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-resolution: 192dpi) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-resolution: 2dppx) and (min-width: 1920px) and (max-width: 2559px) {
  /* Retina-specific */ }

/*  Device = Large Laptops, Large Desktops
    Screen = B/w 1280px to 1919px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-resolution: 192dpi) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-resolution: 2dppx) and (min-width: 1280px) and (max-width: 1919px) {
  /* Retina-specific */ }

/*  Device = Very Large Tablets (landscape)
    Screen = B/w 1280px to 1919px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small-to-medium Laptops, Small-to-medium Desktops, Very Large Tablets (portrait)
    Screen = B/w 992px to 1279px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 992px) and (max-width: 1279px), only screen and (min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (min-resolution: 192dpi) and (min-width: 992px) and (max-width: 1279px), only screen and (min-resolution: 2dppx) and (min-width: 992px) and (max-width: 1279px) {
  /* Retina-specific */ }

/*  Device = Large Tablets (landscape)
    Screen = B/w 992px to 1279px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small-to-large Tablets (portrait)
    Screen = B/w 768px to 991px  */
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .testimonial-heading {
    margin-top: 30px;
    margin-bottom: 15px; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) {
  /* Retina-specific */ }

/*  Device = Small-to-medium Tablets (landscape), Very Large Mobiles (landscape)
    Screen = B/w 768px to 991px  */
@media only screen and (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
  .testimonial-heading {
    margin-top: 30px;
    margin-bottom: 15px; }
  #testimonial-carousel .carousel-caption {
    padding-top: 25vh;
    padding-bottom: 10vh; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small Tablets (portrait)
    Screen = B/w 576px to 767px  */
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .testimonial-heading {
    margin-top: 30px;
    margin-bottom: 15px; }
  #testimonial-carousel,
  #testimonial-carousel .carousel-item {
    /* BUG: OVERLAPPING TEXT WHILE TRANSITIONING
    background: transparent;
    */
    background: #ffffff; }
  #testimonial-carousel .slide {
    position: relative;
    max-height: 40vh;
    min-width: 100%;
    right: 0; }
  #testimonial-carousel .carousel-caption {
    position: relative;
    max-height: 55vh;
    top: 0;
    left: 0;
    right: 0;
    padding: 2rem 2rem 3rem; }
  #testimonial-carousel .carousel-caption .row {
    margin-left: -16px;
    margin-right: -16px; }
  #testimonial-carousel .heading-block {
    font-size: 6vw;
    padding: 8px 15px; }
  #testimonial-carousel .heading-block-wrapper {
    /*
    width: 100%;
    margin-top: -1rem;
    margin-top: -1.5rem;
    */
    margin-top: -2rem;
    margin-bottom: 0;
    position: absolute;
    transform: translateY(-100%);
    top: 0;
    left: 0; }
  #testimonial-carousel .heading-block-skew {
    display: none; }
  #testimonial-carousel .heading-block-skew-mobile {
    /* BUG: ANTIALIASED SHAPE BOX OVERFLOW
    width: 100%;
    */
    width: 99.9%;
    margin-bottom: -1px;
    padding: 5.5% 0 0 0;
    background-color: #ff0000;
    transform-origin: bottom left;
    transform: skewY(3deg);
    position: relative;
    z-index: 10; }
  #testimonial-carousel .carousel-control-next-icon,
  #testimonial-carousel .carousel-control-prev-icon {
    width: 40px;
    height: 40px;
    position: relative;
    top: 20%; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 576px) and (max-width: 767px), only screen and (min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 192dpi) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 2dppx) and (min-width: 576px) and (max-width: 767px) {
  /* Retina-specific */ }

/*  Device = Small-to-large Mobiles (landscape)
    Screen = B/w 576px to 767px  */
@media only screen and (min-width: 576px) and (max-width: 767px) and (orientation: landscape) {
  .testimonial-heading {
    margin-top: 30px;
    margin-bottom: 30px; }
  #testimonial-carousel .slide {
    max-height: 170vh;
    margin-top: -50vh;
    margin-bottom: -50vh; }
  #testimonial-carousel .carousel-caption {
    max-height: 80vh;
    background: #ffffff; }
  #testimonial-carousel .heading-block-skew-mobile {
    width: 100%; }
  #testimonial-carousel .carousel-control-next-icon,
  #testimonial-carousel .carousel-control-prev-icon {
    top: 10%; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Mobiles (Portrait)
    Screen = B/w 320px to 575px  */
@media only screen and (min-width: 320px) and (max-width: 575px) {
  .testimonial-heading {
    margin-top: 15px;
    margin-bottom: 30px; }
  #testimonial-carousel,
  #testimonial-carousel .carousel-inner {
    width: 100%;
    height: auto; }
  #testimonial-carousel,
  #testimonial-carousel .carousel-item {
    /* BUG: OVERLAPPING TEXT WHILE TRANSITIONING
    background: transparent;
    */
    background: #ffffff; }
  #testimonial-carousel .slide {
    position: relative;
    max-height: 40vh;
    min-width: 100%;
    right: 0; }
  #testimonial-carousel .carousel-caption {
    position: relative;
    max-height: 55vh;
    top: 0;
    left: 0;
    right: 0;
    padding: 1rem 1rem 2rem; }
  #testimonial-carousel .carousel-caption .row {
    margin-left: -16px;
    margin-right: -16px; }
  #testimonial-carousel .carousel-control-next-icon,
  #testimonial-carousel .carousel-control-prev-icon {
    display: none; }
  #testimonial-carousel .heading-block {
    font-size: 8vw;
    padding: 8px 15px; }
  #testimonial-carousel .heading-block-wrapper {
    width: 100%;
    margin-top: -1rem;
    margin-bottom: 0;
    position: absolute;
    transform: translateY(-100%);
    top: 0;
    left: 0; }
  #testimonial-carousel .heading-block-skew {
    display: none; }
  #testimonial-carousel .heading-block-skew-mobile {
    width: 100%;
    padding: 5.5% 0 0 0;
    background-color: #ff0000;
    transform-origin: bottom left;
    transform: skewY(3deg);
    position: relative;
    z-index: 10; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 320px) and (max-width: 575px), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 192dpi) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 2dppx) and (min-width: 320px) and (max-width: 575px) {
  /* Retina-specific */ }

/*  Device = Very Small Mobiles (Landscape)
    Screen = B/w 320px to 575px  */
@media only screen and (min-width: 320px) and (max-width: 575px) and (orientation: landscape) {
  .testimonial-heading {
    margin-top: 15px;
    margin-bottom: 0; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape) {
  /* Retina-specific */ }

/* HEADER SLIDE */
#extend-team,
#extend-team .carousel-inner {
  width: 100%;
  height: 100vh; }

#extend-team .carousel-caption-panel {
  /*
  width: 70%;
  */
  position: absolute;
  top: 0;
  right: 0;
  pointer-events: none;
  background: rgba(255, 255, 255, 0.75);
  background: -moz-linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.9) 50%, white 75%, white 100%);
  background: -webkit-linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.9) 50%, white 75%, white 100%);
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.9) 50%, white 75%, white 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff",endColorstr="#ffffff",GradientType=1); }

#extend-team .slide {
  min-width: 75%;
  position: absolute;
  top: 0;
  /*
  left: 0;
  */
  right: 25%; }

/*
#extend-team .carousel-caption-panel img {
  opacity: .85;
  pointer-events: none;
}
*/
/*
.extend-brand {
  width: 180px;
  float: right;
  margin-top: 30px;
}
*/
.extend-team-divider img {
  position: absolute;
  left: 0;
  z-index: 1000;
  width: 100.5%;
  transform: translateX(-0.5%) translateY(-98%);
  pointer-events: none; }

/*  Device = 4K and 5K Desktops
    Screen = 3840px and up  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 3840px), only screen and (min-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (min-resolution: 192dpi) and (min-width: 3840px), only screen and (min-resolution: 2dppx) and (min-width: 3840px) {
  /* Retina-specific */ }

/*  Device = Huge Desktops
    Screen = B/w 2560px to 3839px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-resolution: 192dpi) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-resolution: 2dppx) and (min-width: 2560px) and (max-width: 3839px) {
  /* Retina-specific */ }

/*  Device = Very Large Laptops, Very Large Desktops
    Screen = B/w 1920px to 2559px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-resolution: 192dpi) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-resolution: 2dppx) and (min-width: 1920px) and (max-width: 2559px) {
  /* Retina-specific */ }

/*  Device = Large Laptops, Large Desktops
    Screen = B/w 1280px to 1919px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-resolution: 192dpi) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-resolution: 2dppx) and (min-width: 1280px) and (max-width: 1919px) {
  /* Retina-specific */ }

/*  Device = Very Large Tablets (landscape)
    Screen = B/w 1280px to 1919px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small-to-medium Laptops, Small-to-medium Desktops, Very Large Tablets (portrait)
    Screen = B/w 992px to 1279px  */
@media only screen and (min-width: 992px) and (max-width: 1279px) {
  #extend-team {
    margin-top: 107px; }
  #extend-team,
  #extend-team .carousel-inner {
    height: 80vh; }
  #extend-team .slide {
    right: 0; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 992px) and (max-width: 1279px), only screen and (min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (min-resolution: 192dpi) and (min-width: 992px) and (max-width: 1279px), only screen and (min-resolution: 2dppx) and (min-width: 992px) and (max-width: 1279px) {
  /* Retina-specific */ }

/*  Device = Large Tablets (landscape)
    Screen = B/w 992px to 1279px  */
@media only screen and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape) {
  #extend-team {
    margin-top: 107px; }
  #extend-team,
  #extend-team .carousel-inner {
    height: 80vh; }
  #extend-team .slide {
    right: 25%; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Medium-to-large Tablets (portrait)
    Screen = B/w 768px to 991px  */
@media only screen and (min-width: 768px) and (max-width: 991px) {
  #extend-team {
    margin-top: 107px; }
  #extend-team,
  #extend-team .carousel-inner {
    height: 80vh; }
  #extend-team .slide {
    right: 0; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) {
  /* Retina-specific */ }

/*  Device = Small-to-medium Tablets (landscape), Very Large Mobiles (landscape)
    Screen = B/w 768px to 991px  */
@media only screen and (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
  #extend-team,
  #extend-team .carousel-inner {
    height: 120vh; }
  #extend-team .slide {
    right: 25%; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small Tablets (portrait)
    Screen = B/w 576px to 767px  */
@media only screen and (min-width: 576px) and (max-width: 767px) {
  #extend-team {
    margin-top: 60px; }
  #extend-team,
  #extend-team .carousel-inner {
    height: 80vh; }
  #extend-team .carousel-caption-panel {
    background: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.48) 25%, rgba(255, 255, 255, 0.96) 75%);
    background: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.48) 25%, rgba(255, 255, 255, 0.96) 75%);
    background: linear-gradient(45deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.48) 25%, rgba(255, 255, 255, 0.96) 75%); }
  #extend-team .slide {
    min-width: 100%;
    margin-left: -50%;
    right: unset; }
  #extend-team .carousel-caption {
    padding: 1rem 1rem; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 576px) and (max-width: 767px), only screen and (min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 192dpi) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 2dppx) and (min-width: 576px) and (max-width: 767px) {
  /* Retina-specific */ }

/*  Device = Small-to-large Mobiles (landscape)
    Screen = B/w 576px to 767px  */
@media only screen and (min-width: 576px) and (max-width: 767px) and (orientation: landscape) {
  #extend-team,
  #extend-team .carousel-inner {
    height: 120vh; }
  #extend-team .slide {
    min-width: 100%;
    margin-left: 0;
    right: 0; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Mobiles (Portrait)
    Screen = B/w 320px to 575px  */
@media only screen and (min-width: 320px) and (max-width: 575px) {
  #extend-team {
    margin-top: 60px; }
  #extend-team,
  #extend-team .carousel-inner {
    height: 80vh; }
  #extend-team .carousel-caption-panel {
    background: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.48) 25%, rgba(255, 255, 255, 0.96) 75%);
    background: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.48) 25%, rgba(255, 255, 255, 0.96) 75%);
    background: linear-gradient(45deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.48) 25%, rgba(255, 255, 255, 0.96) 75%); }
  #extend-team .slide {
    min-width: 100%;
    margin-left: -75%;
    right: unset; }
  #extend-team .carousel-caption {
    padding: 1rem 1rem; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 320px) and (max-width: 575px), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 192dpi) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 2dppx) and (min-width: 320px) and (max-width: 575px) {
  /* Retina-specific */ }

/*  Device = Very Small Mobiles (Landscape)
    Screen = B/w 320px to 575px  */
@media only screen and (min-width: 320px) and (max-width: 575px) and (orientation: landscape) {
  #extend-team,
  #extend-team .carousel-inner {
    height: 120vh; }
  #extend-team .slide {
    min-width: 100%;
    margin-left: 0;
    right: 0; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape) {
  /* Retina-specific */ }

/* TEAM CARDS */
.card-team {
  position: relative;
  padding: 80px 0; }

.card-team:last-child {
  margin-bottom: 60px; }

.card-team ~ .card-team::before {
  content: '';
  width: 22px;
  height: 20px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  border-radius: 4px;
  background: #ff0000;
  margin-top: -80px; }

.card-team-profile {
  width: 90%;
  height: 20vw;
  margin: 0 auto 30px;
  background-image: url("data:image/svg+xml,%3Csvg version='1.1' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 436 320' enable-background='new 0 0 436 320' xml:space='preserve'%3E%3ClinearGradient id='SVGID_1_' gradientUnits='userSpaceOnUse' x1='218' y1='-716.8474' x2='218' y2='-1036.8474' gradientTransform='matrix(1 0 0 -1 0 -716.8474)'%3E%3Cstop offset='0' style='stop-color:%23E5E5E5'/%3E%3Cstop offset='0.3469' style='stop-color:%23F6F6F6'/%3E%3Cstop offset='1' style='stop-color:%23E5E5E5'/%3E%3C/linearGradient%3E%3Cpolygon shape-rendering='geometricPrecision' fill='url(%23SVGID_1_)' points='0,320 0,44.4 436,0 436,320 '/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-size: 100% 80%;
  background-position-x: center;
  background-position-y: bottom;
  /*
  background: rgb(229,229,229);
  background: -moz-linear-gradient(-90deg, rgba(229,229,229,1) 0%, rgba(255,255,255,1) 35%, rgba(229,229,229,1) 100%);
  background: -webkit-linear-gradient(-90deg, rgba(229,229,229,1) 0%, rgba(255,255,255,1) 35%, rgba(229,229,229,1) 100%);
  background: linear-gradient(-90deg, rgba(229,229,229,1) 0%, rgba(255,255,255,1) 35%, rgba(229,229,229,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#e5e5e5",endColorstr="#e5e5e5",GradientType=1);
  */ }

.card-team-profile img {
  max-width: 90%;
  max-height: 100%;
  margin: 0 auto; }

/*  Device = 4K and 5K Desktops
    Screen = 3840px and up  */
@media only screen and (min-width: 3840px) {
  .card-team {
    max-width: 50vw;
    margin: 0 auto; }
  .card-team-profile {
    max-height: 25vh; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 3840px), only screen and (min-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (min-resolution: 192dpi) and (min-width: 3840px), only screen and (min-resolution: 2dppx) and (min-width: 3840px) {
  /* Retina-specific */ }

/*  Device = Huge Desktops
    Screen = B/w 2560px to 3839px  */
@media only screen and (min-width: 2560px) and (max-width: 3839px) {
  .card-team {
    max-width: 50vw;
    margin: 0 auto; }
  .card-team-profile {
    max-height: 25vh; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-resolution: 192dpi) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-resolution: 2dppx) and (min-width: 2560px) and (max-width: 3839px) {
  /* Retina-specific */ }

/*  Device = Very Large Laptops, Very Large Desktops
    Screen = B/w 1920px to 2559px  */
@media only screen and (min-width: 1920px) and (max-width: 2559px) {
  .card-team {
    max-width: 75vw;
    margin: 0 auto; }
  .card-team-profile {
    max-height: 37.5vh; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-resolution: 192dpi) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-resolution: 2dppx) and (min-width: 1920px) and (max-width: 2559px) {
  /* Retina-specific */ }

/*  Device = Large Laptops, Large Desktops
    Screen = B/w 1280px to 1919px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-resolution: 192dpi) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-resolution: 2dppx) and (min-width: 1280px) and (max-width: 1919px) {
  /* Retina-specific */ }

/*  Device = Very Large Tablets (landscape)
    Screen = B/w 1280px to 1919px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small-to-medium Laptops, Small-to-medium Desktops, Very Large Tablets (portrait)
    Screen = B/w 992px to 1279px  */
@media only screen and (min-width: 992px) and (max-width: 1279px) {
  .team-heading {
    margin-top: 12vh; }
  .card-team-profile {
    width: 100%;
    height: 25vw; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 992px) and (max-width: 1279px), only screen and (min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (min-resolution: 192dpi) and (min-width: 992px) and (max-width: 1279px), only screen and (min-resolution: 2dppx) and (min-width: 992px) and (max-width: 1279px) {
  /* Retina-specific */ }

/*  Device = Large Tablets (landscape)
    Screen = B/w 992px to 1279px  */
@media only screen and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape) {
  .team-heading {
    margin-top: 8vh; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Medium-to-large Tablets (portrait)
    Screen = B/w 768px to 991px  */
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .team-heading {
    margin-top: 12vh; }
  .card-team-profile {
    width: 100%;
    height: 25vw; }
  .card-team {
    padding: 60px 0; }
  .card-team ~ .card-team::before {
    margin-top: -65px; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) {
  /* Retina-specific */ }

/*  Device = Small-to-medium Tablets (landscape), Very Large Mobiles (landscape)
    Screen = B/w 768px to 991px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small Tablets (portrait)
    Screen = B/w 576px to 767px  */
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .team-heading {
    margin-top: 12vh; }
  .card-team-profile {
    width: 100%;
    height: 40vw; }
  .card-team {
    padding: 60px 0; }
  .card-team ~ .card-team::before {
    margin-top: -65px; }
  .card-team-profile img {
    max-width: 100%; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 576px) and (max-width: 767px), only screen and (min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 192dpi) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 2dppx) and (min-width: 576px) and (max-width: 767px) {
  /* Retina-specific */ }

/*  Device = Small-to-large Mobiles (landscape)
    Screen = B/w 576px to 767px  */
@media only screen and (min-width: 576px) and (max-width: 767px) and (orientation: landscape) {
  .team-heading {
    margin-top: 12vh; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Mobiles (Portrait)
    Screen = B/w 320px to 575px  */
@media only screen and (min-width: 320px) and (max-width: 575px) {
  .team-heading {
    margin-top: 12vh; }
  .card-team {
    padding: 0; }
  .card-team ~ .card-team::before {
    display: none; }
  .card-team-profile {
    width: 100%;
    height: unset; }
  .card-team-profile img {
    max-width: 60%;
    margin: 60px auto 0; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 320px) and (max-width: 575px), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 192dpi) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 2dppx) and (min-width: 320px) and (max-width: 575px) {
  /* Retina-specific */ }

/*  Device = Very Small Mobiles (Landscape)
    Screen = B/w 320px to 575px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape) {
  /* Retina-specific */ }

/* HEADER CAROUSEL */
#extend-azienda,
#extend-azienda .carousel-inner {
  width: 100%;
  height: 100vh; }

#extend-azienda .carousel-caption-panel {
  position: absolute;
  top: 0;
  right: 0;
  pointer-events: none;
  background: rgba(255, 255, 255, 0.75);
  background: -moz-linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.9) 50%, white 75%, white 100%);
  background: -webkit-linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.9) 50%, white 75%, white 100%);
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.9) 50%, white 75%, white 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff",endColorstr="#ffffff",GradientType=1); }

#extend-azienda .slide {
  min-width: 75%;
  position: absolute;
  top: 0;
  bottom: 0;
  /*
  left: 0;
  */
  right: 25%; }

/*
#extend-carousel .carousel-caption-panel img {
  opacity: .85;
  pointer-events: none;
}
*/
.extend-azienda-divider img {
  position: absolute;
  left: 0;
  z-index: 1000;
  width: 100.5%;
  transform: translateX(-0.5%) translateY(-98%);
  pointer-events: none; }

/*  Device = 4K and 5K Desktops
    Screen = 3840px and up  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 3840px), only screen and (min-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (min-resolution: 192dpi) and (min-width: 3840px), only screen and (min-resolution: 2dppx) and (min-width: 3840px) {
  /* Retina-specific */ }

/*  Device = Huge Desktops
    Screen = B/w 2560px to 3839px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-resolution: 192dpi) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-resolution: 2dppx) and (min-width: 2560px) and (max-width: 3839px) {
  /* Retina-specific */ }

/*  Device = Very Large Laptops, Very Large Desktops
    Screen = B/w 1920px to 2559px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-resolution: 192dpi) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-resolution: 2dppx) and (min-width: 1920px) and (max-width: 2559px) {
  /* Retina-specific */ }

/*  Device = Large Laptops, Large Desktops
    Screen = B/w 1280px to 1919px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-resolution: 192dpi) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-resolution: 2dppx) and (min-width: 1280px) and (max-width: 1919px) {
  /* Retina-specific */ }

/*  Device = Very Large Tablets (landscape)
    Screen = B/w 1280px to 1919px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small-to-medium Laptops, Small-to-medium Desktops, Very Large Tablets (portrait)
    Screen = B/w 992px to 1279px  */
@media only screen and (min-width: 992px) and (max-width: 1279px) {
  #extend-azienda {
    margin-top: 107px; }
  #extend-azienda,
  #extend-azienda .carousel-inner {
    height: 80vh; }
  #extend-azienda .slide {
    right: 0; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 992px) and (max-width: 1279px), only screen and (min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (min-resolution: 192dpi) and (min-width: 992px) and (max-width: 1279px), only screen and (min-resolution: 2dppx) and (min-width: 992px) and (max-width: 1279px) {
  /* Retina-specific */ }

/*  Device = Large Tablets (landscape)
    Screen = B/w 992px to 1279px  */
@media only screen and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape) {
  #extend-azienda {
    margin-top: 107px; }
  #extend-azienda,
  #extend-azienda .carousel-inner {
    height: 80vh; }
  #extend-azienda .slide {
    right: 25%; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Medium-to-large Tablets (portrait)
    Screen = B/w 768px to 991px  */
@media only screen and (min-width: 768px) and (max-width: 991px) {
  #extend-azienda {
    margin-top: 107px; }
  #extend-azienda,
  #extend-azienda .carousel-inner {
    height: 80vh; }
  #extend-azienda .slide {
    right: 0; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) {
  /* Retina-specific */ }

/*  Device = Small-to-medium Tablets (landscape), Very Large Mobiles (landscape)
    Screen = B/w 768px to 991px  */
@media only screen and (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
  #extend-azienda,
  #extend-azienda .carousel-inner {
    height: 120vh; }
  #extend-azienda .slide {
    right: 25%; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small Tablets (portrait)
    Screen = B/w 576px to 767px  */
@media only screen and (min-width: 576px) and (max-width: 767px) {
  #extend-azienda {
    margin-top: 60px; }
  #extend-azienda,
  #extend-azienda .carousel-inner {
    height: 80vh; }
  #extend-azienda .carousel-caption-panel {
    background: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.48) 25%, rgba(255, 255, 255, 0.96) 75%);
    background: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.48) 25%, rgba(255, 255, 255, 0.96) 75%);
    background: linear-gradient(45deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.48) 25%, rgba(255, 255, 255, 0.96) 75%); }
  #extend-azienda .slide {
    min-width: 100%;
    margin-left: -50%;
    right: unset; }
  #extend-azienda .carousel-caption {
    padding: 1rem 1rem; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 576px) and (max-width: 767px), only screen and (min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 192dpi) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 2dppx) and (min-width: 576px) and (max-width: 767px) {
  /* Retina-specific */ }

/*  Device = Small-to-large Mobiles (landscape)
    Screen = B/w 576px to 767px  */
@media only screen and (min-width: 576px) and (max-width: 767px) and (orientation: landscape) {
  #extend-azienda,
  #extend-azienda .carousel-inner {
    height: 120vh; }
  #extend-azienda .slide {
    min-width: 100%;
    margin-left: 0;
    right: 0; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Mobiles (Portrait)
    Screen = B/w 320px to 575px  */
@media only screen and (min-width: 320px) and (max-width: 575px) {
  #extend-azienda {
    margin-top: 60px; }
  #extend-azienda,
  #extend-azienda .carousel-inner {
    height: 80vh; }
  #extend-azienda .carousel-caption-panel {
    background: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.48) 25%, rgba(255, 255, 255, 0.96) 75%);
    background: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.48) 25%, rgba(255, 255, 255, 0.96) 75%);
    background: linear-gradient(45deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.48) 25%, rgba(255, 255, 255, 0.96) 75%); }
  #extend-azienda .slide {
    min-width: 100%;
    margin-left: -75%;
    right: unset; }
  #extend-azienda .carousel-caption {
    padding: 1rem 1rem; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 320px) and (max-width: 575px), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 192dpi) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 2dppx) and (min-width: 320px) and (max-width: 575px) {
  /* Retina-specific */ }

/*  Device = Very Small Mobiles (Landscape)
    Screen = B/w 320px to 575px  */
@media only screen and (min-width: 320px) and (max-width: 575px) and (orientation: landscape) {
  #extend-azienda,
  #extend-azienda .carousel-inner {
    height: 120vh; }
  #extend-azienda .slide {
    min-width: 100%;
    margin-left: 0;
    right: 0; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape) {
  /* Retina-specific */ }

/* CARD */
.company-heading .company-brand {
  width: 40%;
  margin: 15px auto; }

.company-cards {
  margin-top: 60px;
  margin-left: -15px;
  margin-right: -15px; }

.company-cards a {
  overflow: hidden;
  opacity: 1; }

.company-cards a:hover {
  opacity: .75; }

.company-cards h3 {
  transform: translateY(100%);
  position: absolute;
  width: 100%;
  font-size: 3.3vw;
  margin-top: -10px;
  z-index: 1000; }

.company-cards-bg > img {
  transform: translateX(-2%) translateY(2%);
  left: 0;
  width: 104%;
  z-index: 100; }

/*  Device = 4K and 5K Desktops
    Screen = 3840px and up  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 3840px), only screen and (min-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (min-resolution: 192dpi) and (min-width: 3840px), only screen and (min-resolution: 2dppx) and (min-width: 3840px) {
  /* Retina-specific */ }

/*  Device = Huge Desktops
    Screen = B/w 2560px to 3839px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-resolution: 192dpi) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-resolution: 2dppx) and (min-width: 2560px) and (max-width: 3839px) {
  /* Retina-specific */ }

/*  Device = Very Large Laptops, Very Large Desktops
    Screen = B/w 1920px to 2559px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-resolution: 192dpi) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-resolution: 2dppx) and (min-width: 1920px) and (max-width: 2559px) {
  /* Retina-specific */ }

/*  Device = Large Laptops, Large Desktops
    Screen = B/w 1280px to 1919px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-resolution: 192dpi) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-resolution: 2dppx) and (min-width: 1280px) and (max-width: 1919px) {
  /* Retina-specific */ }

/*  Device = Very Large Tablets (landscape)
    Screen = B/w 1280px to 1919px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small-to-medium Laptops, Small-to-medium Desktops, Very Large Tablets (portrait)
    Screen = B/w 992px to 1279px  */
@media only screen and (min-width: 992px) and (max-width: 1279px) {
  .company-heading {
    margin-top: 12vh; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 992px) and (max-width: 1279px), only screen and (min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (min-resolution: 192dpi) and (min-width: 992px) and (max-width: 1279px), only screen and (min-resolution: 2dppx) and (min-width: 992px) and (max-width: 1279px) {
  /* Retina-specific */ }

/*  Device = Large Tablets (landscape)
    Screen = B/w 992px to 1279px  */
@media only screen and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape) {
  .company-heading {
    margin-top: 8vh; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small-to-large Tablets (portrait)
    Screen = B/w 768px to 991px  */
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .company-heading {
    margin-top: 12vh; }
  .company-cards {
    margin-top: 15px; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) {
  /* Retina-specific */ }

/*  Device = Small-to-medium Tablets (landscape), Very Large Mobiles (landscape)
    Screen = B/w 768px to 991px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small Tablets (portrait)
    Screen = B/w 576px to 767px  */
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .company-heading {
    margin-top: 12vh; }
  .company-cards {
    margin-top: 15px; }
  .company-cards h3 {
    font-size: 3.75vw;
    margin-top: -8px; }
  .company-cards-bg > img {
    transform: translateX(-2%) translateY(2%); } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 576px) and (max-width: 767px), only screen and (min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 192dpi) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 2dppx) and (min-width: 576px) and (max-width: 767px) {
  /* Retina-specific */ }

/*  Device = Small-to-large Mobiles (landscape)
    Screen = B/w 576px to 767px  */
@media only screen and (min-width: 576px) and (max-width: 767px) and (orientation: landscape) {
  .company-heading {
    margin-top: 12vh; }
  .company-cards {
    margin-top: 15px; }
  .company-cards h3 {
    font-size: 6vw;
    margin-top: -12px; }
  .company-cards-bg > img {
    transform: translateX(-2%) translateY(2%); } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Mobiles (Portrait)
    Screen = B/w 320px to 575px */
@media only screen and (min-width: 320px) and (max-width: 575px) {
  .company-heading {
    margin-top: 12vh; }
  .company-cards {
    margin-top: 15px; }
  .company-cards a ~ a {
    margin-top: 30px; }
  .company-cards h3 {
    font-size: 9vw;
    margin-top: 0; }
  .company-cards-bg > img {
    transform: translateX(-2%) translateY(2%); } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 320px) and (max-width: 575px), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 192dpi) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 2dppx) and (min-width: 320px) and (max-width: 575px) {
  /* Retina-specific */ }

/*  Device = Very Small Mobiles (Landscape)
    Screen = B/w 320px to 575px  */
@media only screen and (min-width: 320px) and (max-width: 575px) and (orientation: landscape) {
  .company-cards > a > img {
    margin-top: -30vw; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape) {
  /* Retina-specific */ }

/* INTRO */
.intro-company-heading {
  margin-top: 120px; }

.intro-company {
  margin-top: 90px;
  margin-bottom: 90px; }

.intro-company h1 {
  padding-right: 30px; }

.intro-company .heading-divider {
  margin: 40px auto 40px 0;
  width: 66%; }

.intro-company .--heading-divider-red {
  border: 1px solid #f00; }

.intro-company .company-brand {
  width: 200px; }

.intro-company p strong {
  display: inline-block;
  padding: 30px 0;
  font-size: 24px;
  line-height: 1.2;
  font-weight: 400; }

/*  Device = 4K and 5K Desktops
    Screen = 3840px and up  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 3840px), only screen and (min-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (min-resolution: 192dpi) and (min-width: 3840px), only screen and (min-resolution: 2dppx) and (min-width: 3840px) {
  /* Retina-specific */ }

/*  Device = Huge Desktops
    Screen = B/w 2560px to 3839px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-resolution: 192dpi) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-resolution: 2dppx) and (min-width: 2560px) and (max-width: 3839px) {
  /* Retina-specific */ }

/*  Device = Very Large Laptops, Very Large Desktops
    Screen = B/w 1920px to 2559px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-resolution: 192dpi) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-resolution: 2dppx) and (min-width: 1920px) and (max-width: 2559px) {
  /* Retina-specific */ }

/*  Device = Large Laptops, Large Desktops
    Screen = B/w 1280px to 1919px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-resolution: 192dpi) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-resolution: 2dppx) and (min-width: 1280px) and (max-width: 1919px) {
  /* Retina-specific */ }

/*  Device = Very Large Tablets (landscape)
    Screen = B/w 1280px to 1919px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small-to-medium Laptops, Small-to-medium Desktops, Very Large Tablets (portrait)
    Screen = B/w 992px to 1279px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 992px) and (max-width: 1279px), only screen and (min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (min-resolution: 192dpi) and (min-width: 992px) and (max-width: 1279px), only screen and (min-resolution: 2dppx) and (min-width: 992px) and (max-width: 1279px) {
  /* Retina-specific */ }

/*  Device = Large Tablets (landscape)
    Screen = B/w 992px to 1279px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small-to-large Tablets (portrait)
    Screen = B/w 768px to 991px  */
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .intro-company {
    margin-top: 60px;
    margin-bottom: 60px; }
  .intro-company .heading-divider {
    margin: 30px auto 30px 0;
    width: 100%; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) {
  /* Retina-specific */ }

/*  Device = Small-to-medium Tablets (landscape), Very Large Mobiles (landscape)
    Screen = B/w 768px to 991px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small Tablets (portrait)
    Screen = B/w 576px to 767px  */
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .intro-company {
    margin-top: 60px;
    margin-bottom: 60px; }
  .intro-company .company-brand {
    width: 175px;
    margin-bottom: 60px; }
  .intro-company .heading-divider {
    margin: 20px auto 20px 0;
    width: 100%; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 576px) and (max-width: 767px), only screen and (min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 192dpi) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 2dppx) and (min-width: 576px) and (max-width: 767px) {
  /* Retina-specific */ }

/*  Device = Small-to-large Mobiles (landscape)
    Screen = B/w 576px to 767px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Mobiles (Portrait)
    Screen = B/w 320px to 575px */
@media only screen and (min-width: 320px) and (max-width: 575px) {
  .intro-company {
    margin-top: 30px;
    margin-bottom: 30px; }
  .intro-company .company-brand {
    width: 120px;
    margin-bottom: 30px; }
  .intro-company .heading-divider {
    margin: 15px auto 15px 0;
    width: 66%; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 320px) and (max-width: 575px), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 192dpi) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 2dppx) and (min-width: 320px) and (max-width: 575px) {
  /* Retina-specific */ }

/*  Device = Very Small Mobiles (Landscape)
    Screen = B/w 320px to 575px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape) {
  /* Retina-specific */ }

/* FOUNDER */
#founder-carousel,
#founder-carousel .carousel-inner {
  width: 100%;
  height: 80vh; }

#founder-carousel {
  background: #e5e5e5;
  background: -moz-linear-gradient(-120deg, #e5e5e5 0%, #f6f6f6 35%, #e5e5e5 100%);
  background: -webkit-linear-gradient(-120deg, #e5e5e5 0%, #f6f6f6 35%, #e5e5e5 100%);
  background: linear-gradient(-120deg, #e5e5e5 0%, #f6f6f6 35%, #e5e5e5 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#e5e5e5",endColorstr="#e5e5e5",GradientType=1);
  overflow: visible; }

#founder-carousel .carousel-inner {
  overflow: visible; }

#founder-carousel .founder-left {
  width: 35vw;
  position: absolute;
  bottom: 0;
  left: 5vw;
  z-index: 1000; }

#founder-carousel .founder-right {
  width: 35vw;
  position: absolute;
  bottom: 0;
  right: 5vw;
  z-index: 1000; }

.founder-heading {
  position: relative;
  margin-top: 30px;
  margin-bottom: 240px; }

.founder-heading .founder-heading-left {
  position: relative;
  left: 22.5vw;
  transform: translateX(-50%); }

.founder-heading .founder-heading-right {
  position: absolute;
  right: 22.5vw;
  transform: translateX(50%); }

.founder-divider {
  margin-top: 60px; }

.founder-divider img {
  position: absolute;
  left: 0;
  z-index: 10;
  width: 100.5%;
  transform: translateX(-0.5%) translateY(-2%);
  pointer-events: none; }

#founder-carousel .carousel-link {
  position: absolute;
  bottom: 60px;
  left: 50%;
  transform: translateX(-50%);
  padding: 4px 0; }

#founder-carousel .carousel-link:hover {
  padding: 4px 25px; }

#founder-carousel .--carousel-link-underline {
  border-bottom: 2px solid #ff0000; }

/*  Device = 4K and 5K Desktops
    Screen = 3840px and up  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 3840px), only screen and (min-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (min-resolution: 192dpi) and (min-width: 3840px), only screen and (min-resolution: 2dppx) and (min-width: 3840px) {
  /* Retina-specific */ }

/*  Device = Huge Desktops
    Screen = B/w 2560px to 3839px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-resolution: 192dpi) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-resolution: 2dppx) and (min-width: 2560px) and (max-width: 3839px) {
  /* Retina-specific */ }

/*  Device = Very Large Laptops, Very Large Desktops
    Screen = B/w 1920px to 2559px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-resolution: 192dpi) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-resolution: 2dppx) and (min-width: 1920px) and (max-width: 2559px) {
  /* Retina-specific */ }

/*  Device = Large Laptops, Large Desktops
    Screen = B/w 1280px to 1919px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-resolution: 192dpi) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-resolution: 2dppx) and (min-width: 1280px) and (max-width: 1919px) {
  /* Retina-specific */ }

/*  Device = Very Large Tablets (landscape)
    Screen = B/w 1280px to 1919px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small-to-medium Laptops, Small-to-medium Desktops, Very Large Tablets (portrait)
    Screen = B/w 992px to 1279px  */
@media only screen and (min-width: 992px) and (max-width: 1279px) {
  #founder-carousel,
  #founder-carousel .carousel-inner {
    width: 100%;
    height: 45vh; }
  #founder-carousel .founder-left {
    width: 43vw; }
  #founder-carousel .founder-right {
    width: 40vw; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 992px) and (max-width: 1279px), only screen and (min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (min-resolution: 192dpi) and (min-width: 992px) and (max-width: 1279px), only screen and (min-resolution: 2dppx) and (min-width: 992px) and (max-width: 1279px) {
  /* Retina-specific */ }

/*  Device = Large Tablets (landscape)
    Screen = B/w 992px to 1279px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small-to-large Tablets (portrait)
    Screen = B/w 768px to 991px  */
@media only screen and (min-width: 768px) and (max-width: 991px) {
  #founder-carousel,
  #founder-carousel .carousel-inner {
    width: 100%;
    height: 40vh; }
  #founder-carousel .founder-left {
    width: auto;
    max-width: 45vw;
    max-height: 50vh; }
  #founder-carousel .founder-right {
    width: auto;
    max-width: 42vw;
    max-height: 45vh;
    z-index: 999; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) {
  /* Retina-specific */ }

/*  Device = Small-to-medium Tablets (landscape), Very Large Mobiles (landscape)
    Screen = B/w 768px to 991px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small Tablets (portrait)
    Screen = B/w 576px to 767px  */
@media only screen and (min-width: 576px) and (max-width: 767px) {
  #founder-carousel,
  #founder-carousel .carousel-inner {
    height: 50vh; }
  #founder-carousel .founder-left {
    width: auto;
    max-width: 60vw;
    max-height: 55vh; }
  #founder-carousel .founder-right {
    width: auto;
    max-width: 55vw;
    max-height: 50vh;
    z-index: 999; }
  .founder-heading {
    margin-bottom: 90px; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 576px) and (max-width: 767px), only screen and (min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 192dpi) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 2dppx) and (min-width: 576px) and (max-width: 767px) {
  /* Retina-specific */ }

/*  Device = Small-to-large Mobiles (landscape)
    Screen = B/w 576px to 767px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Mobiles (Portrait)
    Screen = B/w 320px to 575px */
@media only screen and (min-width: 320px) and (max-width: 575px) {
  #founder-carousel,
  #founder-carousel .carousel-inner {
    height: 40vh; }
  #founder-carousel .founder-left {
    width: auto;
    max-width: 70vw;
    max-height: 55vh;
    left: 0; }
  #founder-carousel .founder-right {
    width: auto;
    max-width: 63vw;
    max-height: 50vh;
    right: 0;
    z-index: 999; }
  .founder-heading {
    margin-top: 15px;
    margin-bottom: 90px;
    position: unset;
    width: unset; }
  .founder-heading .founder-heading-left {
    left: 0;
    transform: translateX(0);
    width: 50%; }
  .founder-heading .founder-heading-right {
    position: relative;
    right: 0;
    transform: translateX(0);
    width: 50%; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 320px) and (max-width: 575px), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 192dpi) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 2dppx) and (min-width: 320px) and (max-width: 575px) {
  /* Retina-specific */ }

/*  Device = Very Small Mobiles (Landscape)
    Screen = B/w 320px to 575px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape) {
  /* Retina-specific */ }

/* HEADER */
#extend-analisi,
#extend-analisi .carousel-inner,
#extend-progettazione,
#extend-progettazione .carousel-inner,
#extend-certificazione,
#extend-certificazione .carousel-inner {
  width: 100%;
  height: 70vh; }

.extend-services-bg img {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 10;
  width: 100.5%;
  transform: translateX(-0.5%) translateY(2%);
  opacity: .85;
  mix-blend-mode: multiply; }

#extend-analisi .carousel-caption,
#extend-progettazione .carousel-caption,
#extend-certificazione .carousel-caption {
  padding-top: 0;
  padding-bottom: 0; }

#extend-analisi .carousel-caption h3,
#extend-progettazione .carousel-caption h3,
#extend-certificazione .carousel-caption h3 {
  position: absolute;
  font-size: 10vw;
  z-index: 100;
  transform: translateY(-25%); }

#extend-analisi .carousel-caption img,
#extend-progettazione .carousel-caption img,
#extend-certificazione .carousel-caption img {
  opacity: 0; }

/*  Device = 4K and 5K Desktops
    Screen = 3840px and up  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 3840px), only screen and (min-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (min-resolution: 192dpi) and (min-width: 3840px), only screen and (min-resolution: 2dppx) and (min-width: 3840px) {
  /* Retina-specific */ }

/*  Device = Huge Desktops
    Screen = B/w 2560px to 3839px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-resolution: 192dpi) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-resolution: 2dppx) and (min-width: 2560px) and (max-width: 3839px) {
  /* Retina-specific */ }

/*  Device = Very Large Laptops, Very Large Desktops
    Screen = B/w 1920px to 2559px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-resolution: 192dpi) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-resolution: 2dppx) and (min-width: 1920px) and (max-width: 2559px) {
  /* Retina-specific */ }

/*  Device = Large Laptops, Large Desktops
    Screen = B/w 1280px to 1919px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-resolution: 192dpi) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-resolution: 2dppx) and (min-width: 1280px) and (max-width: 1919px) {
  /* Retina-specific */ }

/*  Device = Very Large Tablets (landscape)
    Screen = B/w 1280px to 1919px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small-to-medium Laptops, Small-to-medium Desktops, Very Large Tablets (portrait)
    Screen = B/w 992px to 1279px  */
@media only screen and (min-width: 992px) and (max-width: 1279px) {
  #extend-analisi,
  #extend-analisi .carousel-inner,
  #extend-progettazione,
  #extend-progettazione .carousel-inner,
  #extend-certificazione,
  #extend-certificazione .carousel-inner {
    height: 50vh; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 992px) and (max-width: 1279px), only screen and (min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (min-resolution: 192dpi) and (min-width: 992px) and (max-width: 1279px), only screen and (min-resolution: 2dppx) and (min-width: 992px) and (max-width: 1279px) {
  /* Retina-specific */ }

/*  Device = Large Tablets (landscape)
    Screen = B/w 992px to 1279px  */
@media only screen and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape) {
  #extend-analisi,
  #extend-analisi .carousel-inner,
  #extend-progettazione,
  #extend-progettazione .carousel-inner,
  #extend-certificazione,
  #extend-certificazione .carousel-inner {
    height: 70vh; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small-to-large Tablets (portrait)
    Screen = B/w 768px to 991px  */
@media only screen and (min-width: 768px) and (max-width: 991px) {
  #extend-analisi,
  #extend-analisi .carousel-inner,
  #extend-progettazione,
  #extend-progettazione .carousel-inner,
  #extend-certificazione,
  #extend-certificazione .carousel-inner {
    height: 50vh; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) {
  /* Retina-specific */ }

/*  Device = Small-to-medium Tablets (landscape), Very Large Mobiles (landscape)
    Screen = B/w 768px to 991px  */
@media only screen and (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
  #extend-analisi,
  #extend-analisi .carousel-inner,
  #extend-progettazione,
  #extend-progettazione .carousel-inner,
  #extend-certificazione,
  #extend-certificazione .carousel-inner {
    height: 70vh; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small Tablets (portrait)
    Screen = B/w 576px to 767px  */
@media only screen and (min-width: 576px) and (max-width: 767px) {
  #extend-analisi,
  #extend-analisi .carousel-inner,
  #extend-progettazione,
  #extend-progettazione .carousel-inner,
  #extend-certificazione,
  #extend-certificazione .carousel-inner {
    height: 40vh; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 576px) and (max-width: 767px), only screen and (min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 192dpi) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 2dppx) and (min-width: 576px) and (max-width: 767px) {
  /* Retina-specific */ }

/*  Device = Small-to-large Mobiles (landscape)
    Screen = B/w 576px to 767px  */
@media only screen and (min-width: 576px) and (max-width: 767px) and (orientation: landscape) {
  #extend-analisi,
  #extend-analisi .carousel-inner,
  #extend-progettazione,
  #extend-progettazione .carousel-inner,
  #extend-certificazione,
  #extend-certificazione .carousel-inner {
    width: 100%;
    height: 90vh; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Mobiles (Portrait)
    Screen = B/w 320px to 575px */
@media only screen and (min-width: 320px) and (max-width: 575px) {
  #extend-analisi,
  #extend-analisi .carousel-inner,
  #extend-progettazione,
  #extend-progettazione .carousel-inner,
  #extend-certificazione,
  #extend-certificazione .carousel-inner {
    width: 100%;
    height: 50vh; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 320px) and (max-width: 575px), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 192dpi) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 2dppx) and (min-width: 320px) and (max-width: 575px) {
  /* Retina-specific */ }

/*  Device = Very Small Mobiles (Landscape)
    Screen = B/w 320px to 575px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape) {
  /* Retina-specific */ }

/* INTRO */
.intro-services {
  margin-top: 90px;
  margin-bottom: 90px; }

.intro-services h1 {
  padding-right: 30px; }

.intro-services .heading-divider {
  margin: 40px auto 40px 0;
  width: 66%; }

.intro-services .--heading-divider-red {
  border: 1px solid #f00; }

.intro-services .services-brand {
  width: 200px; }

.intro-services p strong {
  display: inline-block;
  padding: 30px 0;
  font-size: 24px;
  line-height: 1.2;
  font-weight: 400; }

/*  Device = 4K and 5K Desktops
    Screen = 3840px and up  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 3840px), only screen and (min-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (min-resolution: 192dpi) and (min-width: 3840px), only screen and (min-resolution: 2dppx) and (min-width: 3840px) {
  /* Retina-specific */ }

/*  Device = Huge Desktops
    Screen = B/w 2560px to 3839px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-resolution: 192dpi) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-resolution: 2dppx) and (min-width: 2560px) and (max-width: 3839px) {
  /* Retina-specific */ }

/*  Device = Very Large Laptops, Very Large Desktops
    Screen = B/w 1920px to 2559px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-resolution: 192dpi) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-resolution: 2dppx) and (min-width: 1920px) and (max-width: 2559px) {
  /* Retina-specific */ }

/*  Device = Large Laptops, Large Desktops
    Screen = B/w 1280px to 1919px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-resolution: 192dpi) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-resolution: 2dppx) and (min-width: 1280px) and (max-width: 1919px) {
  /* Retina-specific */ }

/*  Device = Very Large Tablets (landscape)
    Screen = B/w 1280px to 1919px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small-to-medium Laptops, Small-to-medium Desktops, Very Large Tablets (portrait)
    Screen = B/w 992px to 1279px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 992px) and (max-width: 1279px), only screen and (min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (min-resolution: 192dpi) and (min-width: 992px) and (max-width: 1279px), only screen and (min-resolution: 2dppx) and (min-width: 992px) and (max-width: 1279px) {
  /* Retina-specific */ }

/*  Device = Large Tablets (landscape)
    Screen = B/w 992px to 1279px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small-to-large Tablets (portrait)
    Screen = B/w 768px to 991px  */
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .intro-services {
    margin-bottom: 60px; }
  .intro-services .heading-divider {
    margin: 30px auto 30px 0;
    width: 100%; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) {
  /* Retina-specific */ }

/*  Device = Small-to-medium Tablets (landscape), Very Large Mobiles (landscape)
    Screen = B/w 768px to 991px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small Tablets (portrait)
    Screen = B/w 576px to 767px  */
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .intro-services {
    margin-bottom: 60px; }
  .intro-services .services-brand {
    width: 175px;
    margin-bottom: 60px; }
  .intro-services .heading-divider {
    margin: 20px auto 20px 0;
    width: 100%; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 576px) and (max-width: 767px), only screen and (min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 192dpi) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 2dppx) and (min-width: 576px) and (max-width: 767px) {
  /* Retina-specific */ }

/*  Device = Small-to-large Mobiles (landscape)
    Screen = B/w 576px to 767px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Mobiles (Portrait)
    Screen = B/w 320px to 575px */
@media only screen and (min-width: 320px) and (max-width: 575px) {
  .intro-services {
    margin-top: 60px;
    margin-bottom: 30px; }
  .intro-services .company-brand {
    width: 120px;
    margin-bottom: 30px; }
  .intro-services .heading-divider {
    margin: 15px auto 15px 0;
    width: 66%; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 320px) and (max-width: 575px), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 192dpi) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 2dppx) and (min-width: 320px) and (max-width: 575px) {
  /* Retina-specific */ }

/*  Device = Very Small Mobiles (Landscape)
    Screen = B/w 320px to 575px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape) {
  /* Retina-specific */ }

/* SINGLES */
.padding-services {
  margin-bottom: 240px; }

.single-services,
.single-services .carousel-inner {
  width: 100%;
  /*height: 70vh;*/
  height: auto; }

.single-services,
.single-services .carousel-item {
  background: #e5e5e5; }

.single-services .slide {
  min-width: 47.5%;
  position: absolute;
  bottom: 0;
  right: 52.5%;
  bottom: 0;
  z-index: 10; }

.single-services .carousel-inner,
.single-services .carousel-caption {
  z-index: 10; }

.single-services .carousel-caption {
  padding-top: 17.5vh;
  padding-bottom: 10vh;
  position: relative;
  /* min-height: 70vh; */
  min-height: 44vw;
}

.divider-services {
  margin-top: -1px; }

.divider-services img {
  position: absolute;
  left: 0;
  z-index: 1000;
  width: 100.5%;
  transform: translateX(-0.5%) translateY(-2%);
  pointer-events: none; }

.single-services .heading-block-wrapper,
.single-services--sub .heading-block-wrapper {
  display: inline-block;
  margin-bottom: 20px; }

.single-services .--heading-block-red .heading-block {
  background-color: #ff0000; }

.single-services--sub .--heading-block-red .heading-block {
  background-color: #ff0000;
}
.single-services--sub .--heading-block-gray .heading-block {
  background-color: #363640;
}

.single-services .heading-block,
.single-services--sub .heading-block {
  padding: 8px;
  margin-bottom: 0;
  position: relative;
  z-index: 100; }

.single-services .heading-block-skew,
.single-services--sub .heading-block-skew {
  width: 99.7%;
  padding: 5.2% 0 0 0;
  background-color: #ff0000;
  transform-origin: top left;
  transform: skewY(-3deg);
  position: relative;
  z-index: 10; }

.single-services--sub .--heading-block-gray .heading-block-skew {
  background-color: #363640; }

/*  Device = 4K and 5K Desktops
    Screen = 3840px and up  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 3840px), only screen and (min-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (min-resolution: 192dpi) and (min-width: 3840px), only screen and (min-resolution: 2dppx) and (min-width: 3840px) {
  /* Retina-specific */ }

/*  Device = Huge Desktops
    Screen = B/w 2560px to 3839px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-resolution: 192dpi) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-resolution: 2dppx) and (min-width: 2560px) and (max-width: 3839px) {
  /* Retina-specific */ }

/*  Device = Very Large Laptops, Very Large Desktops
    Screen = B/w 1920px to 2559px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-resolution: 192dpi) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-resolution: 2dppx) and (min-width: 1920px) and (max-width: 2559px) {
  /* Retina-specific */ }

/*  Device = Large Laptops, Large Desktops
    Screen = B/w 1280px to 1919px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-resolution: 192dpi) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-resolution: 2dppx) and (min-width: 1280px) and (max-width: 1919px) {
  /* Retina-specific */ }

/*  Device = Very Large Tablets (landscape)
    Screen = B/w 1280px to 1919px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small-to-medium Laptops, Small-to-medium Desktops, Very Large Tablets (portrait)
    Screen = B/w 992px to 1279px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 992px) and (max-width: 1279px), only screen and (min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (min-resolution: 192dpi) and (min-width: 992px) and (max-width: 1279px), only screen and (min-resolution: 2dppx) and (min-width: 992px) and (max-width: 1279px) {
  /* Retina-specific */ }

/*  Device = Large Tablets (landscape)
    Screen = B/w 992px to 1279px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small-to-large Tablets (portrait)
    Screen = B/w 768px to 991px  */
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .padding-services {
    margin-bottom: 120px; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) {
  /* Retina-specific */ }

/*  Device = Small-to-medium Tablets (landscape), Very Large Mobiles (landscape)
    Screen = B/w 768px to 991px  */
@media only screen and (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
  .single-services .carousel-caption {
    padding-top: 25vh;
    padding-bottom: 10vh; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small Tablets (portrait)
    Screen = B/w 576px to 767px  */
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .padding-services {
    margin-bottom: 80px; }
  .single-services,
  .single-services .carousel-item {
    /* BUG: OVERLAPPING TEXT WHILE TRANSITIONING
    background: transparent;
    */
    background: #ffffff; }
  .single-services .slide {
    position: relative;
    max-height: 40vh;
    max-heigth: 60vw;
    min-width: 100%;
    right: 0; }
  .single-services .carousel-caption {
    position: relative;
    max-height: 55vh;
    top: 0;
    left: 0;
    right: 0;
    padding: 2rem 2rem 3rem; }
  .single-services .carousel-caption .row {
    margin-left: -16px;
    margin-right: -16px; }
  .single-services .heading-block {
    font-size: 6vw;
    padding: 8px 15px; }
  .single-services--sub .heading-block {
    font-size: 4vw;
    padding: 8px 15px; }
  .single-services .heading-block-wrapper,
  .single-services--sub .heading-block-wrapper {
    /*
    width: 100%;
    margin-top: -1rem;
    margin-top: -1.5rem;
    */
    margin-top: -2rem;
    margin-bottom: 0;
    position: absolute;
    transform: translateY(-100%);
    top: 0;
    left: 0; }
  .single-services--sub.single-services--sub-text .heading-block-wrapper {
    position: relative;
    transform: translateY(0);
    margin-left: -1rem;
    margin-right: -1rem;
  }
  .single-services .heading-block-skew,
  .single-services--sub .heading-block-skew {
    display: none; }
  .single-services .heading-block-skew-mobile,
  .single-services--sub .heading-block-skew-mobile {
    /* BUG: ANTIALIASED SHAPE BOX OVERFLOW
    width: 100%;
    */
    width: 99.9%;
    margin-bottom: -1px;
    padding: 5.5% 0 0 0;
    background-color: #ff0000;
    transform-origin: bottom left;
    transform: skewY(3deg);
    position: relative;
    z-index: 10; } 
  
    .single-services--sub .--heading-block-gray .heading-block-skew-mobile {
      background-color: #363640; } 
  }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 576px) and (max-width: 767px), only screen and (min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 192dpi) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 2dppx) and (min-width: 576px) and (max-width: 767px) {
  /* Retina-specific */ }

/*  Device = Small-to-large Mobiles (landscape)
    Screen = B/w 576px to 767px  */
@media only screen and (min-width: 576px) and (max-width: 767px) and (orientation: landscape) {
  .single-services .slide {
    /* max-height: 170vh; */
    /* margin-top: -50vh; */
    /* margin-bottom: -50vh;  */
  }
  .single-services .carousel-caption {
    max-height: 80vh;
    background: #ffffff; }
  .single-services .heading-block-skew-mobile,
  .single-services--sub .heading-block-skew-mobile {
    width: 100%; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Mobiles (Portrait)
    Screen = B/w 320px to 575px  */
@media only screen and (min-width: 320px) and (max-width: 575px) {
  .padding-services {
    margin-bottom: 40px; }
  .single-services,
  .single-services .carousel-inner {
    width: 100%;
    height: auto; }
  .single-services,
  .single-services .carousel-item {
    /* BUG: OVERLAPPING TEXT WHILE TRANSITIONING
    background: transparent;
    */
    background: #ffffff; }
  .single-services .slide {
    position: relative;
    /* max-height: 40vh; */
    max-height: 80vw;
    min-width: 100%;
    right: 0; }
  .single-services .carousel-caption {
    position: relative;
    max-height: 55vh;
    top: 0;
    left: 0;
    right: 0;
    padding: 1rem 1rem 2rem; }
  .single-services .carousel-caption .row {
    margin-left: -16px;
    margin-right: -16px; }
  .single-services .heading-block {
    font-size: 8vw;
    padding: 8px 15px; }
  .single-services--sub .heading-block {
    font-size: 5vw;
    padding: 8px 15px; }
  .single-services .heading-block-wrapper,
  .single-services--sub .heading-block-wrapper {
    width: 100%;
    margin-top: -1rem;
    margin-bottom: 0;
    position: absolute;
    transform: translateY(-100%);
    top: 0;
    left: 0; }
  .single-services--sub.single-services--sub-text .heading-block-wrapper {
    position: relative;
    transform: translateY(0);
    margin-left: -1rem;
    margin-right: -1rem;
  }
  .single-services .heading-block-skew,
  .single-services--sub .heading-block-skew {
    display: none; }
  .single-services .heading-block-skew-mobile,
  .single-services--sub .heading-block-skew-mobile {
    width: 100%;
    padding: 5.5% 0 0 0;
    background-color: #ff0000;
    transform-origin: bottom left;
    transform: skewY(3deg);
    position: relative;
    z-index: 10; } 
  .single-services--sub .--heading-block-gray .heading-block-skew-mobile {
    background-color: #363640; }
  }

    

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 320px) and (max-width: 575px), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 192dpi) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 2dppx) and (min-width: 320px) and (max-width: 575px) {
  /* Retina-specific */ }

/*  Device = Very Small Mobiles (Landscape)
    Screen = B/w 320px to 575px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape) {
  /* Retina-specific */ }

/* HEADER */
#extend-referenze,
#extend-referenze .carousel-inner {
  width: 100%;
  height: 100vh; }

#extend-referenze .carousel-caption-panel {
  /*
  width: 70%;
  */
  position: absolute;
  top: 0;
  right: 0;
  pointer-events: none;
  background: rgba(255, 255, 255, 0.75);
  background: -moz-linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.9) 50%, white 75%, white 100%);
  background: -webkit-linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.9) 50%, white 75%, white 100%);
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.9) 50%, white 75%, white 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff",endColorstr="#ffffff",GradientType=1); }

#extend-referenze .slide {
  min-width: 75%;
  position: absolute;
  top: 0;
  left: 0; }

#extend-referenze .carousel-caption-panel img {
  opacity: .85;
  pointer-events: none; }

.extend-referenze-divider img {
  position: absolute;
  left: 0;
  z-index: 1000;
  width: 100.5%;
  transform: translateX(-0.5%) translateY(-98%);
  pointer-events: none; }

/*  Device = 4K and 5K Desktops
    Screen = 3840px and up  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 3840px), only screen and (min-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (min-resolution: 192dpi) and (min-width: 3840px), only screen and (min-resolution: 2dppx) and (min-width: 3840px) {
  /* Retina-specific */ }

/*  Device = Huge Desktops
    Screen = B/w 2560px to 3839px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-resolution: 192dpi) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-resolution: 2dppx) and (min-width: 2560px) and (max-width: 3839px) {
  /* Retina-specific */ }

/*  Device = Very Large Laptops, Very Large Desktops
    Screen = B/w 1920px to 2559px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-resolution: 192dpi) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-resolution: 2dppx) and (min-width: 1920px) and (max-width: 2559px) {
  /* Retina-specific */ }

/*  Device = Large Laptops, Large Desktops
    Screen = B/w 1280px to 1919px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-resolution: 192dpi) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-resolution: 2dppx) and (min-width: 1280px) and (max-width: 1919px) {
  /* Retina-specific */ }

/*  Device = Very Large Tablets (landscape)
    Screen = B/w 1280px to 1919px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small-to-medium Laptops, Small-to-medium Desktops, Very Large Tablets (portrait)
    Screen = B/w 992px to 1279px  */
@media only screen and (min-width: 992px) and (max-width: 1279px) {
  #extend-referenze {
    margin-top: 107px; }
  #extend-referenze,
  #extend-referenze .carousel-inner {
    height: 80vh; }
  #extend-referenze .slide {
    right: 0; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 992px) and (max-width: 1279px), only screen and (min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (min-resolution: 192dpi) and (min-width: 992px) and (max-width: 1279px), only screen and (min-resolution: 2dppx) and (min-width: 992px) and (max-width: 1279px) {
  /* Retina-specific */ }

/*  Device = Large Tablets (landscape)
    Screen = B/w 992px to 1279px  */
@media only screen and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape) {
  #extend-referenze {
    margin-top: 107px; }
  #extend-referenze,
  #extend-referenze .carousel-inner {
    height: 80vh; }
  #extend-referenze .slide {
    right: 25%; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Medium-to-large Tablets (portrait)
    Screen = B/w 768px to 991px  */
@media only screen and (min-width: 768px) and (max-width: 991px) {
  #extend-referenze {
    margin-top: 107px; }
  #extend-referenze,
  #extend-referenze .carousel-inner {
    height: 80vh; }
  #extend-referenze .slide {
    right: 0; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) {
  /* Retina-specific */ }

/*  Device = Small-to-medium Tablets (landscape), Very Large Mobiles (landscape)
    Screen = B/w 768px to 991px  */
@media only screen and (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
  #extend-referenze,
  #extend-referenze .carousel-inner {
    height: 120vh; }
  #extend-referenze .slide {
    right: 25%; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small Tablets (portrait)
    Screen = B/w 576px to 767px  */
@media only screen and (min-width: 576px) and (max-width: 767px) {
  #extend-referenze {
    margin-top: 60px; }
  #extend-referenze,
  #extend-referenze .carousel-inner {
    height: 80vh; }
  #extend-referenze .carousel-caption-panel {
    background: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.48) 25%, rgba(255, 255, 255, 0.96) 75%);
    background: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.48) 25%, rgba(255, 255, 255, 0.96) 75%);
    background: linear-gradient(45deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.48) 25%, rgba(255, 255, 255, 0.96) 75%); }
  #extend-referenze .slide {
    min-width: 100%;
    margin-left: -50%;
    right: unset; }
  #extend-referenze .carousel-caption {
    padding: 1rem 1rem; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 576px) and (max-width: 767px), only screen and (min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 192dpi) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 2dppx) and (min-width: 576px) and (max-width: 767px) {
  /* Retina-specific */ }

/*  Device = Small-to-large Mobiles (landscape)
    Screen = B/w 576px to 767px  */
@media only screen and (min-width: 576px) and (max-width: 767px) and (orientation: landscape) {
  #extend-referenze,
  #extend-referenze .carousel-inner {
    height: 120vh; }
  #extend-referenze .slide {
    min-width: 100%;
    margin-left: 0;
    right: 0; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Mobiles (Portrait)
    Screen = B/w 320px to 575px  */
@media only screen and (min-width: 320px) and (max-width: 575px) {
  #extend-referenze {
    margin-top: 60px; }
  #extend-referenze,
  #extend-referenze .carousel-inner {
    height: 80vh; }
  #extend-referenze .carousel-caption-panel {
    background: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.48) 25%, rgba(255, 255, 255, 0.96) 75%);
    background: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.48) 25%, rgba(255, 255, 255, 0.96) 75%);
    background: linear-gradient(45deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.48) 25%, rgba(255, 255, 255, 0.96) 75%); }
  #extend-referenze .slide {
    min-width: 100%;
    margin-left: -75%;
    right: unset; }
  #extend-referenze .carousel-caption {
    padding: 1rem 1rem; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 320px) and (max-width: 575px), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 192dpi) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 2dppx) and (min-width: 320px) and (max-width: 575px) {
  /* Retina-specific */ }

/*  Device = Very Small Mobiles (Landscape)
    Screen = B/w 320px to 575px  */
@media only screen and (min-width: 320px) and (max-width: 575px) and (orientation: landscape) {
  #extend-referenze,
  #extend-referenze .carousel-inner {
    height: 120vh; }
  #extend-referenze .slide {
    min-width: 100%;
    margin-left: 0;
    right: 0; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape) {
  /* Retina-specific */ }

/* INTRO */
.intro-testimonials {
  margin-top: 120px;
  margin-bottom: 60px; }

.intro-testimonials h1 {
  padding-right: 30px; }

.intro-testimonials .heading-divider {
  margin: 40px auto 40px 0;
  width: 66%; }

.intro-testimonials .--heading-divider-red {
  border: 1px solid #f00; }

.intro-testimonials .testimonials-brand {
  width: 200px; }

.intro-testimonials p strong {
  display: inline-block;
  padding: 30px 0;
  font-size: 24px;
  line-height: 1.2;
  font-weight: 400; }

/*  Device = 4K and 5K Desktops
    Screen = 3840px and up  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 3840px), only screen and (min-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (min-resolution: 192dpi) and (min-width: 3840px), only screen and (min-resolution: 2dppx) and (min-width: 3840px) {
  /* Retina-specific */ }

/*  Device = Huge Desktops
    Screen = B/w 2560px to 3839px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-resolution: 192dpi) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-resolution: 2dppx) and (min-width: 2560px) and (max-width: 3839px) {
  /* Retina-specific */ }

/*  Device = Very Large Laptops, Very Large Desktops
    Screen = B/w 1920px to 2559px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-resolution: 192dpi) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-resolution: 2dppx) and (min-width: 1920px) and (max-width: 2559px) {
  /* Retina-specific */ }

/*  Device = Large Laptops, Large Desktops
    Screen = B/w 1280px to 1919px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-resolution: 192dpi) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-resolution: 2dppx) and (min-width: 1280px) and (max-width: 1919px) {
  /* Retina-specific */ }

/*  Device = Very Large Tablets (landscape)
    Screen = B/w 1280px to 1919px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small-to-medium Laptops, Small-to-medium Desktops, Very Large Tablets (portrait)
    Screen = B/w 992px to 1279px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 992px) and (max-width: 1279px), only screen and (min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (min-resolution: 192dpi) and (min-width: 992px) and (max-width: 1279px), only screen and (min-resolution: 2dppx) and (min-width: 992px) and (max-width: 1279px) {
  /* Retina-specific */ }

/*  Device = Large Tablets (landscape)
    Screen = B/w 992px to 1279px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small-to-large Tablets (portrait)
    Screen = B/w 768px to 991px  */
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .intro-testimonials {
    margin-bottom: 60px; }
  .intro-testimonials .heading-divider {
    margin: 30px auto 30px 0;
    width: 100%; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) {
  /* Retina-specific */ }

/*  Device = Small-to-medium Tablets (landscape), Very Large Mobiles (landscape)
    Screen = B/w 768px to 991px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small Tablets (portrait)
    Screen = B/w 576px to 767px  */
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .intro-testimonials {
    margin-bottom: 60px; }
  .intro-testimonials .testimonials-brand {
    width: 175px;
    margin-bottom: 60px; }
  .intro-testimonials .heading-divider {
    margin: 20px auto 20px 0;
    width: 100%; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 576px) and (max-width: 767px), only screen and (min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 192dpi) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 2dppx) and (min-width: 576px) and (max-width: 767px) {
  /* Retina-specific */ }

/*  Device = Small-to-large Mobiles (landscape)
    Screen = B/w 576px to 767px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Mobiles (Portrait)
    Screen = B/w 320px to 575px */
@media only screen and (min-width: 320px) and (max-width: 575px) {
  .intro-testimonials {
    margin-top: 60px;
    margin-bottom: 30px; }
  .intro-testimonials .company-brand {
    width: 120px;
    margin-bottom: 30px; }
  .intro-testimonials .heading-divider {
    margin: 15px auto 15px 0;
    width: 66%; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 320px) and (max-width: 575px), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 192dpi) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 2dppx) and (min-width: 320px) and (max-width: 575px) {
  /* Retina-specific */ }

/*  Device = Very Small Mobiles (Landscape)
    Screen = B/w 320px to 575px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape) {
  /* Retina-specific */ }

/* SINGLES */
.padding-testimonials {
  margin-bottom: 240px; }

.single-testimonials,
.single-testimonials .carousel-inner {
  width: 100%;
  /*
  height: 70vh;
  */
  height: auto; }

.single-testimonials,
.single-testimonials .carousel-item {
  background: #e5e5e5; }

.single-testimonials .slide {
  min-width: 47.5%;
  position: absolute;
  bottom: 0;
  right: 52.5%;
  bottom: 0;
  z-index: 10; }

.single-testimonials .carousel-inner,
.single-testimonials .carousel-caption {
  z-index: 10; }

.single-testimonials .carousel-caption {
  padding-top: 17.5vh;
  padding-bottom: 10vh;
  position: relative; }

.divider-testimonials {
  margin-top: -1px; }

.divider-testimonials img {
  position: absolute;
  left: 0;
  z-index: 1000;
  width: 100.5%;
  transform: translateX(-0.5%) translateY(-2%);
  pointer-events: none; }

.single-testimonials .heading-block-wrapper {
  display: inline-block;
  margin-bottom: 20px; }

.single-testimonials .--heading-block-red .heading-block {
  background-color: #ff0000; }

.single-testimonials .--heading-block-gray .heading-block {
  background-color: #363640; }

.single-testimonials .heading-block {
  padding: 8px;
  margin-bottom: 0;
  position: relative;
  z-index: 100; }

.single-testimonials .heading-block-skew {
  width: 99.7%;
  padding: 5.2% 0 0 0;
  background-color: #ff0000;
  transform-origin: top left;
  transform: skewY(-3deg);
  position: relative;
  z-index: 10; }

/*  Device = 4K and 5K Desktops
    Screen = 3840px and up  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 3840px), only screen and (min-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (min-resolution: 192dpi) and (min-width: 3840px), only screen and (min-resolution: 2dppx) and (min-width: 3840px) {
  /* Retina-specific */ }

/*  Device = Huge Desktops
    Screen = B/w 2560px to 3839px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-resolution: 192dpi) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-resolution: 2dppx) and (min-width: 2560px) and (max-width: 3839px) {
  /* Retina-specific */ }

/*  Device = Very Large Laptops, Very Large Desktops
    Screen = B/w 1920px to 2559px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-resolution: 192dpi) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-resolution: 2dppx) and (min-width: 1920px) and (max-width: 2559px) {
  /* Retina-specific */ }

/*  Device = Large Laptops, Large Desktops
    Screen = B/w 1280px to 1919px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-resolution: 192dpi) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-resolution: 2dppx) and (min-width: 1280px) and (max-width: 1919px) {
  /* Retina-specific */ }

/*  Device = Very Large Tablets (landscape)
    Screen = B/w 1280px to 1919px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small-to-medium Laptops, Small-to-medium Desktops, Very Large Tablets (portrait)
    Screen = B/w 992px to 1279px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 992px) and (max-width: 1279px), only screen and (min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (min-resolution: 192dpi) and (min-width: 992px) and (max-width: 1279px), only screen and (min-resolution: 2dppx) and (min-width: 992px) and (max-width: 1279px) {
  /* Retina-specific */ }

/*  Device = Large Tablets (landscape)
    Screen = B/w 992px to 1279px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small-to-large Tablets (portrait)
    Screen = B/w 768px to 991px  */
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .padding-testimonials {
    margin-bottom: 120px; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) {
  /* Retina-specific */ }

/*  Device = Small-to-medium Tablets (landscape), Very Large Mobiles (landscape)
    Screen = B/w 768px to 991px  */
@media only screen and (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
  .single-testimonials .carousel-caption {
    padding-top: 25vh;
    padding-bottom: 10vh; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small Tablets (portrait)
    Screen = B/w 576px to 767px  */
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .padding-testimonials {
    margin-bottom: 80px; }
  .single-testimonials,
  .single-testimonials .carousel-item {
    /* BUG: OVERLAPPING TEXT WHILE TRANSITIONING
    background: transparent;
    */
    background: #ffffff; }
  .single-testimonials .slide {
    position: relative;
    max-height: 40vh;
    min-width: 100%;
    right: 0; }
  .single-testimonials .carousel-caption {
    position: relative;
    max-height: 55vh;
    top: 0;
    left: 0;
    right: 0;
    padding: 2rem 2rem 3rem; }
  .single-testimonials .carousel-caption .row {
    margin-left: -16px;
    margin-right: -16px; }
  .single-testimonials .heading-block {
    font-size: 6vw;
    padding: 8px 15px; }
  .single-testimonials .heading-block-wrapper {
    /*
    width: 100%;
    margin-top: -1rem;
    margin-top: -1.5rem;
    */
    margin-top: -2rem;
    margin-bottom: 0;
    position: absolute;
    transform: translateY(-100%);
    top: 0;
    left: 0; }
  .single-testimonials .heading-block-skew {
    display: none; }
  .single-testimonials .heading-block-skew-mobile {
    /* BUG: ANTIALIASED SHAPE BOX OVERFLOW
    width: 100%;
    */
    width: 99.9%;
    margin-bottom: -1px;
    padding: 5.5% 0 0 0;
    background-color: #ff0000;
    transform-origin: bottom left;
    transform: skewY(3deg);
    position: relative;
    z-index: 10; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 576px) and (max-width: 767px), only screen and (min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 192dpi) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 2dppx) and (min-width: 576px) and (max-width: 767px) {
  /* Retina-specific */ }

/*  Device = Small-to-large Mobiles (landscape)
    Screen = B/w 576px to 767px  */
@media only screen and (min-width: 576px) and (max-width: 767px) and (orientation: landscape) {
  .single-testimonials .slide {
    max-height: 170vh;
    margin-top: -50vh;
    margin-bottom: -50vh; }
  .single-testimonials .carousel-caption {
    max-height: 80vh;
    background: #ffffff; }
  .single-testimonials .heading-block-skew-mobile {
    width: 100%; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Mobiles (Portrait)
    Screen = B/w 320px to 575px  */
@media only screen and (min-width: 320px) and (max-width: 575px) {
  .padding-testimonials {
    margin-bottom: 40px; }
  .single-testimonials,
  .single-testimonials .carousel-inner {
    width: 100%;
    height: auto; }
  .single-testimonials,
  .single-testimonials .carousel-item {
    /* BUG: OVERLAPPING TEXT WHILE TRANSITIONING
    background: transparent;
    */
    background: #ffffff; }
  .single-testimonials .slide {
    position: relative;
    max-height: 40vh;
    min-width: 100%;
    right: 0; }
  .single-testimonials .carousel-caption {
    position: relative;
    max-height: 55vh;
    top: 0;
    left: 0;
    right: 0;
    padding: 1rem 1rem 2rem; }
  .single-testimonials .carousel-caption .row {
    margin-left: -16px;
    margin-right: -16px; }
  .single-testimonials .heading-block {
    font-size: 8vw;
    padding: 8px 15px; }
  .single-testimonials .heading-block-wrapper {
    width: 100%;
    margin-top: -1rem;
    margin-bottom: 0;
    position: absolute;
    transform: translateY(-100%);
    top: 0;
    left: 0; }
  .single-testimonials .heading-block-skew {
    display: none; }
  .single-testimonials .heading-block-skew-mobile {
    width: 100%;
    padding: 5.5% 0 0 0;
    background-color: #ff0000;
    transform-origin: bottom left;
    transform: skewY(3deg);
    position: relative;
    z-index: 10; } }

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 320px) and (max-width: 575px), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 192dpi) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 2dppx) and (min-width: 320px) and (max-width: 575px) {
  /* Retina-specific */ }

/*  Device = Very Small Mobiles (Landscape)
    Screen = B/w 320px to 575px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape) {
  /* Retina-specific */ }

/* DOWNLOAD */
#download-referenze.carousel-link::after {
  content: '';
  display: block;
  width: 100%;
  height: 30px;
  background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 138.7 18' enable-background='new 0 0 138.7 18' xml:space='preserve'%3E%3Cpolygon shape-rendering='geometricPrecision' fill='%23E52620' points='70.4,18 0.3,2 0.8,0 70.4,15.9 137.9,0 138.3,2 '/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  margin-top: 6px;
  -webkit-transition: all 166ms ease;
  -moz-transition: all 166ms ease;
  -ms-transition: all 166ms ease;
  -o-transition: all 166ms ease;
  transition: all 166ms ease; }

#download-referenze.carousel-link:hover::after {
  transform: translateY(10px); }

/*  Device = 4K and 5K Desktops
    Screen = 3840px and up  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 3840px), only screen and (min-device-pixel-ratio: 2) and (min-width: 3840px), only screen and (min-resolution: 192dpi) and (min-width: 3840px), only screen and (min-resolution: 2dppx) and (min-width: 3840px) {
  /* Retina-specific */ }

/*  Device = Huge Desktops
    Screen = B/w 2560px to 3839px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-device-pixel-ratio: 2) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-resolution: 192dpi) and (min-width: 2560px) and (max-width: 3839px), only screen and (min-resolution: 2dppx) and (min-width: 2560px) and (max-width: 3839px) {
  /* Retina-specific */ }

/*  Device = Very Large Laptops, Very Large Desktops
    Screen = B/w 1920px to 2559px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-device-pixel-ratio: 2) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-resolution: 192dpi) and (min-width: 1920px) and (max-width: 2559px), only screen and (min-resolution: 2dppx) and (min-width: 1920px) and (max-width: 2559px) {
  /* Retina-specific */ }

/*  Device = Large Laptops, Large Desktops
    Screen = B/w 1280px to 1919px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-resolution: 192dpi) and (min-width: 1280px) and (max-width: 1919px), only screen and (min-resolution: 2dppx) and (min-width: 1280px) and (max-width: 1919px) {
  /* Retina-specific */ }

/*  Device = Very Large Tablets (landscape)
    Screen = B/w 1280px to 1919px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small-to-medium Laptops, Small-to-medium Desktops, Very Large Tablets (portrait)
    Screen = B/w 992px to 1279px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 992px) and (max-width: 1279px), only screen and (min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px), only screen and (min-resolution: 192dpi) and (min-width: 992px) and (max-width: 1279px), only screen and (min-resolution: 2dppx) and (min-width: 992px) and (max-width: 1279px) {
  /* Retina-specific */ }

/*  Device = Large Tablets (landscape)
    Screen = B/w 992px to 1279px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 992px) and (max-width: 1279px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small-to-large Tablets (portrait)
    Screen = B/w 768px to 991px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) {
  /* Retina-specific */ }

/*  Device = Small-to-medium Tablets (landscape), Very Large Mobiles (landscape)
    Screen = B/w 768px to 991px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Small Tablets (portrait)
    Screen = B/w 576px to 767px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 576px) and (max-width: 767px), only screen and (min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 192dpi) and (min-width: 576px) and (max-width: 767px), only screen and (min-resolution: 2dppx) and (min-width: 576px) and (max-width: 767px) {
  /* Retina-specific */ }

/*  Device = Small-to-large Mobiles (landscape)
    Screen = B/w 576px to 767px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 576px) and (max-width: 767px) and (orientation: landscape) {
  /* Retina-specific */ }

/*  Device = Mobiles (Portrait)
    Screen = B/w 320px to 575px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 320px) and (max-width: 575px), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 192dpi) and (min-width: 320px) and (max-width: 575px), only screen and (min-resolution: 2dppx) and (min-width: 320px) and (max-width: 575px) {
  /* Retina-specific */ }

/*  Device = Very Small Mobiles (Landscape)
    Screen = B/w 320px to 575px  */
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min--moz-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (-o-min-device-pixel-ratio: 2 / 1) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-device-pixel-ratio: 2) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-resolution: 192dpi) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape), only screen and (min-resolution: 2dppx) and (min-width: 320px) and (max-width: 575px) and (orientation: landscape) {
  /* Retina-specific */ }

/* MAP JUMBOTRON
#map-jumbotron {
  position: relative;
  padding: 120px 0;
  margin-top: 0;
  margin-bottom: 0;
  border-radius: 0;
  background: transparent;
}
#map-jumbotron #map {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
#map-jumbotron .heading-block {
  padding: 30px 30px 15px;
  margin: 0;
}
#map-jumbotron .--heading-block-white {
  background-color: rgba(255,255,255,1);
}
#map-jumbotron .heading-block.--sub-heading {
  padding: 30px 30px 30px;
  margin: 0;
}
#map-jumbotron .heading-block.--heading-block-white.--sub-heading {
  padding: 0px 30px 15px;
  margin: 0;
}
#map-jumbotron .address-icon-grey,
#map-jumbotron .email-icon-grey,
#map-jumbotron .phone-icon-grey {
  display: inline-block;
  width: 15px;
  height: 15px;
  margin-right: 10px;
  background: no-repeat 50%/100% 100%;
  background-image: none;
}
#map-jumbotron .heading-block.--sub-heading .address-icon-grey {
  background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 24 24' enable-background='new 0 0 24 24' xml:space='preserve'%3E%3Cpath shape-rendering='geometricPrecision' fill='%23FF0000' d='M12,0C7.4,0,3.6,3.8,3.6,8.4C3.6,14.7,12,24,12,24s8.4-9.3,8.4-15.6C20.4,3.8,16.6,0,12,0z M12,11.4%0Ac-1.7,0-3-1.3-3-3s1.3-3,3-3s3,1.3,3,3S13.7,11.4,12,11.4z'/%3E%3C/svg%3E%0A");
}
#map-jumbotron .heading-block.--sub-heading .email-icon-grey {
  background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 24 24' enable-background='new 0 0 24 24' xml:space='preserve'%3E%3Cpath shape-rendering='geometricPrecision' fill='%23FF0000' d='M21.6,2.4H2.4C1.1,2.4,0,3.5,0,4.8l0,14.4c0,1.3,1.1,2.4,2.4,2.4h19.2c1.3,0,2.4-1.1,2.4-2.4V4.8%0AC24,3.5,22.9,2.4,21.6,2.4z M21.6,7.2l-9.6,6l-9.6-6V4.8l9.6,6l9.6-6V7.2z'/%3E%3C/svg%3E");
}
#map-jumbotron .heading-block.--sub-heading .phone-icon-grey {
  background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 24 24' enable-background='new 0 0 24 24' xml:space='preserve'%3E%3Cpath shape-rendering='geometricPrecision' fill='%23FF0000' d='M4.8,10.4c1.9,3.8,5,6.9,8.8,8.8l2.9-2.9c0.4-0.4,0.9-0.5,1.4-0.3c1.5,0.5,3.1,0.8,4.8,0.8%0Ac0.7,0,1.3,0.6,1.3,1.3v4.7c0,0.7-0.6,1.3-1.3,1.3C10.1,23.9,0,13.8,0,1.3C0,0.6,0.6,0,1.3,0H6c0.7,0,1.3,0.6,1.3,1.3%0Ac0,1.7,0.3,3.3,0.8,4.8c0.1,0.5,0,1-0.3,1.4L4.8,10.4z'/%3E%3C/svg%3E%0A");
}
#map-jumbotron .heading-block.--sub-heading.--heading-block-white .address-icon-grey {
  background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 24 24' enable-background='new 0 0 24 24' xml:space='preserve'%3E%3Cpath shape-rendering='geometricPrecision' fill='%23989898' d='M12,0C7.4,0,3.6,3.8,3.6,8.4C3.6,14.7,12,24,12,24s8.4-9.3,8.4-15.6C20.4,3.8,16.6,0,12,0z M12,11.4%0Ac-1.7,0-3-1.3-3-3s1.3-3,3-3s3,1.3,3,3S13.7,11.4,12,11.4z'/%3E%3C/svg%3E%0A");
}
#map-jumbotron .heading-block.--sub-heading.--heading-block-white .email-icon-grey {
  background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 24 24' enable-background='new 0 0 24 24' xml:space='preserve'%3E%3Cpath shape-rendering='geometricPrecision' fill='%23989898' d='M21.6,2.4H2.4C1.1,2.4,0,3.5,0,4.8l0,14.4c0,1.3,1.1,2.4,2.4,2.4h19.2c1.3,0,2.4-1.1,2.4-2.4V4.8%0AC24,3.5,22.9,2.4,21.6,2.4z M21.6,7.2l-9.6,6l-9.6-6V4.8l9.6,6l9.6-6V7.2z'/%3E%3C/svg%3E");
}
#map-jumbotron .heading-block.--sub-heading.--heading-block-white .phone-icon-grey {
  background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 24 24' enable-background='new 0 0 24 24' xml:space='preserve'%3E%3Cpath shape-rendering='geometricPrecision' fill='%23989898' d='M4.8,10.4c1.9,3.8,5,6.9,8.8,8.8l2.9-2.9c0.4-0.4,0.9-0.5,1.4-0.3c1.5,0.5,3.1,0.8,4.8,0.8%0Ac0.7,0,1.3,0.6,1.3,1.3v4.7c0,0.7-0.6,1.3-1.3,1.3C10.1,23.9,0,13.8,0,1.3C0,0.6,0.6,0,1.3,0H6c0.7,0,1.3,0.6,1.3,1.3%0Ac0,1.7,0.3,3.3,0.8,4.8c0.1,0.5,0,1-0.3,1.4L4.8,10.4z'/%3E%3C/svg%3E%0A");
}
#map-jumbotron .wpcf7 {
  padding: 60px 30px 30px;
  background: rgba(255,0,0,1);
}
*/
/* PRIVACY */
.privacy-heading {
  height: 100vh; }

.privacy-heading .col-12 {
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column; }

.privacy-heading h1 {
  margin: auto auto 0; }

.privacy-heading h2 {
  margin: 30px auto auto; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbnQtYnVuZGxlLmNzcyIsInNvdXJjZXMiOlsiZnJvbnQtYnVuZGxlLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvbm9ybWFsaXplLXNjc3Mvc2Fzcy9fbm9ybWFsaXplLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192ZXJ0aWNhbC1yaHl0aG0uc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fbm9ybWFsaXplLW1peGluLnNjc3MiLCIuLi9jb21wb25lbnRzL3dwZml4ZXMuc2NzcyIsIi4uL2NvbXBvbmVudHMvYm9vdGZpeGVzLnNjc3MiLCIuLi9jb21wb25lbnRzL25vLWNvbnRlbnQuc2NzcyIsIi4uL2NvbXBvbmVudHMvY29va2llLWNvbnNlbnQuc2NzcyIsIi4uL2NvbXBvbmVudHMvaGVhZGVyLnNjc3MiLCIuLi9jb21wb25lbnRzL2Zvb3Rlci5zY3NzIiwiLi4vY29tcG9uZW50cy9mb250cy5zY3NzIiwiLi4vY29tcG9uZW50cy90cmFuc2l0aW9ucy5zY3NzIiwiLi4vY29tcG9uZW50cy9mb3JtLnNjc3MiLCIuLi9wYWdlcy9ob21lcGFnZS1jcml0aWNhbC5zY3NzIiwiLi4vcGFnZXMvaG9tZXBhZ2Uuc2NzcyIsIi4uL3BhZ2VzL3RlYW0tY3JpdGljYWwuc2NzcyIsIi4uL3BhZ2VzL3RlYW0uc2NzcyIsIi4uL3BhZ2VzL2F6aWVuZGEtY3JpdGljYWwuc2NzcyIsIi4uL3BhZ2VzL2F6aWVuZGEuc2NzcyIsIi4uL3BhZ2VzL3NlcnZpemktY3JpdGljYWwuc2NzcyIsIi4uL3BhZ2VzL3NlcnZpemkuc2NzcyIsIi4uL3BhZ2VzL3JlZmVyZW56ZS1jcml0aWNhbC5zY3NzIiwiLi4vcGFnZXMvcmVmZXJlbnplLnNjc3MiLCIuLi9wYWdlcy9jb250YXR0aS1jcml0aWNhbC5zY3NzIiwiLi4vcGFnZXMvY29udGF0dGkuc2NzcyIsIi4uL3BhZ2VzL3ByaXZhY3kuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvL0BpbXBvcnQgJy4vY29tcG9uZW50cy9leGFtcGxlJztcblxuLy8gRlJPTlQgQlVORExFIFFVRVVFXG4vLyBVSVxuQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1GaXJhK01vbm86NDAwLDcwMHxMYXRvOjMwMCw0MDAsNzAwLDkwMCZkaXNwbGF5PXN3YXAnKTtcbkBpbXBvcnQgJy4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ub3JtYWxpemUtc2Nzcy9zYXNzL19ub3JtYWxpemUuc2Nzcyc7XG5AaW1wb3J0ICcuLi9jb21wb25lbnRzL3dwZml4ZXMnO1xuQGltcG9ydCAnLi4vY29tcG9uZW50cy9ib290Zml4ZXMnO1xuQGltcG9ydCAnLi4vY29tcG9uZW50cy9uby1jb250ZW50JztcbkBpbXBvcnQgJy4uL2NvbXBvbmVudHMvY29va2llLWNvbnNlbnQnO1xuQGltcG9ydCAnLi4vY29tcG9uZW50cy9oZWFkZXInO1xuQGltcG9ydCAnLi4vY29tcG9uZW50cy9mb290ZXInO1xuQGltcG9ydCAnLi4vY29tcG9uZW50cy9mb250cyc7XG5AaW1wb3J0ICcuLi9jb21wb25lbnRzL3RyYW5zaXRpb25zJztcbkBpbXBvcnQgJy4uL2NvbXBvbmVudHMvZm9ybSc7XG4vLyBIT01FXG5AaW1wb3J0ICcuLi9wYWdlcy9ob21lcGFnZS1jcml0aWNhbCc7XG5AaW1wb3J0ICcuLi9wYWdlcy9ob21lcGFnZSc7XG4vLyBURUFNXG5AaW1wb3J0ICcuLi9wYWdlcy90ZWFtLWNyaXRpY2FsJztcbkBpbXBvcnQgJy4uL3BhZ2VzL3RlYW0nO1xuLy8gQVpJRU5EQVxuQGltcG9ydCAnLi4vcGFnZXMvYXppZW5kYS1jcml0aWNhbCc7XG5AaW1wb3J0ICcuLi9wYWdlcy9hemllbmRhJztcbi8vIFNFUlZJWklcbkBpbXBvcnQgJy4uL3BhZ2VzL3NlcnZpemktY3JpdGljYWwnO1xuQGltcG9ydCAnLi4vcGFnZXMvc2Vydml6aSc7XG4vLyBSRUZFUkVOWkVcbkBpbXBvcnQgJy4uL3BhZ2VzL3JlZmVyZW56ZS1jcml0aWNhbCc7XG5AaW1wb3J0ICcuLi9wYWdlcy9yZWZlcmVuemUnO1xuLy8gQ09OVEFUVElcbkBpbXBvcnQgJy4uL3BhZ2VzL2NvbnRhdHRpLWNyaXRpY2FsJztcbkBpbXBvcnQgJy4uL3BhZ2VzL2NvbnRhdHRpJztcbi8vIFBSSVZBQ1lcbkBpbXBvcnQgJy4uL3BhZ2VzL3ByaXZhY3knOyIsIkBpbXBvcnQgJ25vcm1hbGl6ZS92YXJpYWJsZXMnO1xuQGltcG9ydCAnbm9ybWFsaXplL3ZlcnRpY2FsLXJoeXRobSc7XG5AaW1wb3J0ICdub3JtYWxpemUvbm9ybWFsaXplLW1peGluJztcbiIsIi8vXG4vLyBWYXJpYWJsZXNcbi8vXG4vLyBZb3UgY2FuIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHZhbHVlcyBieSBzZXR0aW5nIHRoZSB2YXJpYWJsZXMgaW4geW91ciBTYXNzXG4vLyBiZWZvcmUgaW1wb3J0aW5nIHRoZSBub3JtYWxpemUtc2NzcyBsaWJyYXJ5LlxuXG4vLyBUaGUgZm9udCBzaXplIHNldCBvbiB0aGUgcm9vdCBodG1sIGVsZW1lbnQuXG4kYmFzZS1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBiYXNlIGxpbmUgaGVpZ2h0IGRldGVybWluZXMgdGhlIGJhc2ljIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtLlxuJGJhc2UtbGluZS1oZWlnaHQ6IDI0cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBsZW5ndGggdW5pdCBpbiB3aGljaCB0byBvdXRwdXQgdmVydGljYWwgcmh5dGhtIHZhbHVlcy5cbi8vIFN1cHBvcnRlZCB2YWx1ZXM6IHB4LCBlbSwgcmVtLlxuJGJhc2UtdW5pdDogJ2VtJyAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgZm9udCBmYW1pbHkuXG4kYmFzZS1mb250LWZhbWlseTogbnVsbCAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbnQgc2l6ZXMgZm9yIGgxLWg2LlxuJGgxLWZvbnQtc2l6ZTogMiAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6IDEuNSAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAxLjE3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogMSAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6IDAuODMgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAwLjY3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLyBUaGUgYW1vdW50IGxpc3RzIGFuZCBibG9ja3F1b3RlcyBhcmUgaW5kZW50ZWQuXG4kaW5kZW50LWFtb3VudDogNDBweCAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbGxvd2luZyB2YXJpYWJsZSBjb250cm9scyB3aGV0aGVyIG5vcm1hbGl6ZS1zY3NzIHdpbGwgb3V0cHV0XG4vLyBmb250LXNpemVzLCBsaW5lLWhlaWdodHMgYW5kIGJsb2NrLWxldmVsIHRvcC9ib3R0b20gbWFyZ2lucyB0aGF0IGZvcm0gYSBiYXNpY1xuLy8gdmVydGljYWwgcmh5dGhtIG9uIHRoZSBwYWdlLCB3aGljaCBkaWZmZXJzIGZyb20gdGhlIG9yaWdpbmFsIE5vcm1hbGl6ZS5jc3MuXG4vLyBIb3dldmVyLCBjaGFuZ2luZyBhbnkgb2YgdGhlIHZhcmlhYmxlcyBhYm92ZSB3aWxsIGNhdXNlXG4vLyAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB0byBiZSBhdXRvbWF0aWNhbGx5IHNldCB0byB0cnVlLlxuJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IGZhbHNlICFkZWZhdWx0O1xuIiwiLy9cbi8vIFZlcnRpY2FsIFJoeXRobVxuLy9cbi8vIFRoaXMgaXMgdGhlIG1pbmltYWwgYW1vdW50IG9mIGNvZGUgbmVlZGVkIHRvIGNyZWF0ZSB2ZXJ0aWNhbCByaHl0aG0gaW4gb3VyXG4vLyBDU1MuIElmIHlvdSBhcmUgbG9va2luZyBmb3IgYSByb2J1c3Qgc29sdXRpb24sIGxvb2sgYXQgdGhlIGV4Y2VsbGVudCBUeXBleVxuLy8gbGlicmFyeS4gQHNlZSBodHRwczovL2dpdGh1Yi5jb20vanB0YXJhbnRvL3R5cGV5XG5cbkBmdW5jdGlvbiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUsICR1bml0OiAkYmFzZS11bml0KSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gcHgge1xuICAgIEBlcnJvciBcIlRoZSBub3JtYWxpemUgdmVydGljYWwtcmh5dGhtIG1vZHVsZSBvbmx5IHN1cHBvcnRzIHB4IGlucHV0cy4gVGhlIHR5cGV5IGxpYnJhcnkgaXMgYmV0dGVyLlwiO1xuICB9XG4gIEBpZiAkdW5pdCA9PSByZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxcmVtO1xuICB9XG4gIEBlbHNlIGlmICR1bml0ID09IGVtIHtcbiAgICBAcmV0dXJuICgkdmFsdWUgLyAkcmVsYXRpdmUtdG8pICogMWVtO1xuICB9XG4gIEBlbHNlIHsgLy8gJHVuaXQgPT0gcHhcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxufVxuXG5AbWl4aW4gbm9ybWFsaXplLWZvbnQtc2l6ZSgkdmFsdWUsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3B4JyB7XG4gICAgQGVycm9yIFwibm9ybWFsaXplLWZvbnQtc2l6ZSgpIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgZm9udC1zaXplOiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvKTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1yaHl0aG0oJHByb3BlcnR5LCAkdmFsdWVzLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICAkdmFsdWUtbGlzdDogJHZhbHVlcztcbiAgJHNlcDogc3BhY2U7XG4gIEBpZiB0eXBlLW9mKCR2YWx1ZXMpID09ICdsaXN0JyB7XG4gICAgJHNlcDogbGlzdC1zZXBhcmF0b3IoJHZhbHVlcyk7XG4gIH1cbiAgQGVsc2Uge1xuICAgICR2YWx1ZS1saXN0OiBhcHBlbmQoKCksICR2YWx1ZXMpO1xuICB9XG5cbiAgJG5vcm1hbGl6ZWQtdmFsdWVzOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZS1saXN0IHtcbiAgICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgJHZhbHVlICE9IDAge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiBub3JtYWxpemUtcmh5dGhtKCRiYXNlLWxpbmUtaGVpZ2h0LCAkcmVsYXRpdmUtdG8pO1xuICAgIH1cbiAgICAkbm9ybWFsaXplZC12YWx1ZXM6IGFwcGVuZCgkbm9ybWFsaXplZC12YWx1ZXMsICR2YWx1ZSwgJHNlcCk7XG4gIH1cbiAgI3skcHJvcGVydHl9OiAkbm9ybWFsaXplZC12YWx1ZXM7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbWFyZ2luKCR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obWFyZ2luLCAkdmFsdWVzLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRmb250LXNpemUsICRtaW4tbGluZS1wYWRkaW5nOiAycHgpIHtcbiAgJGxpbmVzOiBjZWlsKCRmb250LXNpemUgLyAkYmFzZS1saW5lLWhlaWdodCk7XG4gIC8vIElmIGxpbmVzIGFyZSBjcmFtcGVkIGluY2x1ZGUgc29tZSBleHRyYSBsZWFkaW5nLlxuICBAaWYgKCRsaW5lcyAqICRiYXNlLWxpbmUtaGVpZ2h0IC0gJGZvbnQtc2l6ZSkgPCAoJG1pbi1saW5lLXBhZGRpbmcgKiAyKSB7XG4gICAgJGxpbmVzOiAkbGluZXMgKyAxO1xuICB9XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obGluZS1oZWlnaHQsICRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG4iLCIvLyBIZWxwZXIgZnVuY3Rpb24gZm9yIHRoZSBub3JtYWxpemUoKSBtaXhpbi5cbkBmdW5jdGlvbiBfbm9ybWFsaXplLWluY2x1ZGUoJHNlY3Rpb24sICRleGNsdWRlOiBudWxsKSB7XG4gIC8vIEluaXRpYWxpemUgdGhlIGdsb2JhbCB2YXJpYWJsZXMgbmVlZGVkIGJ5IHRoaXMgZnVuY3Rpb24uXG4gIEBpZiBub3QgZ2xvYmFsX3ZhcmlhYmxlX2V4aXN0cyhfbm9ybWFsaXplLWluY2x1ZGUpIHtcbiAgICAkX25vcm1hbGl6ZS1pbmNsdWRlOiAoKSAhZ2xvYmFsO1xuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6ICgpICFnbG9iYWw7XG4gIH1cbiAgLy8gU2luY2Ugd2UgYXJlIGdpdmVuIDIgcGFyYW1ldGVycywgc2V0IHRoZSBnbG9iYWwgdmFyaWFibGVzLlxuICBAaWYgJGV4Y2x1ZGUgIT0gbnVsbCB7XG4gICAgJGluY2x1ZGU6ICRzZWN0aW9uO1xuICAgIC8vIFNhc3MgZG9lc24ndCBoYXZlIHN0YXRpYyB2YXJpYWJsZXMsIHNvIHRoZSB3b3JrLWFyb3VuZCBpcyB0byBzdHVmZiB0aGVzZVxuICAgIC8vIHZhbHVlcyBpbnRvIGdsb2JhbCB2YXJpYWJsZXMgc28gd2UgY2FuIGFjY2VzcyB0aGVtIGluIGZ1dHVyZSBjYWxscy5cbiAgICAkX25vcm1hbGl6ZS1pbmNsdWRlOiBpZih0eXBlLW9mKCRpbmNsdWRlKSA9PSAnbGlzdCcsICRpbmNsdWRlLCAoJGluY2x1ZGUpKSAhZ2xvYmFsO1xuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6IGlmKHR5cGUtb2YoJGV4Y2x1ZGUpID09ICdsaXN0JywgJGV4Y2x1ZGUsICgkZXhjbHVkZSkpICFnbG9iYWw7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHNlY3Rpb24gaXMgaW4gdGhlICRpbmNsdWRlIGxpc3QuXG4gIEBpZiBpbmRleCgkX25vcm1hbGl6ZS1pbmNsdWRlLCAkc2VjdGlvbikge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICAvLyBJZiAkaW5jbHVkZSBpcyBzZXQgdG8gKGFsbCksIG1ha2Ugc3VyZSAkc2VjdGlvbiBpcyBub3QgaW4gJGV4Y2x1ZGUuXG4gIEBlbHNlIGlmIG5vdCBpbmRleCgkX25vcm1hbGl6ZS1leGNsdWRlLCAkc2VjdGlvbikgYW5kIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsIGFsbCkge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICBAcmV0dXJuIGZhbHNlO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplKCRpbmNsdWRlOiAoYWxsKSwgJGV4Y2x1ZGU6ICgpKSB7XG4gIC8vIEluaXRpYWxpemUgdGhlIGhlbHBlciBmdW5jdGlvbiBieSBwYXNzaW5nIGl0IHRoaXMgbWl4aW4ncyBwYXJhbWV0ZXJzLlxuICAkaW5pdDogX25vcm1hbGl6ZS1pbmNsdWRlKCRpbmNsdWRlLCAkZXhjbHVkZSk7XG5cbiAgLy8gSWYgd2UndmUgY3VzdG9taXplZCBhbnkgZm9udCB2YXJpYWJsZXMsIHdlJ2xsIG5lZWQgZXh0cmEgcHJvcGVydGllcy5cbiAgQGlmICRiYXNlLWxpbmUtaGVpZ2h0ICE9IDI0cHhcbiAgICBvciAkYmFzZS11bml0ICE9ICdlbSdcbiAgICBvciAkaDItZm9udC1zaXplICE9IDEuNSAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDMtZm9udC1zaXplICE9IDEuMTcgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDQtZm9udC1zaXplICE9IDEgICAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDUtZm9udC1zaXplICE9IDAuODMgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDYtZm9udC1zaXplICE9IDAuNjcgKiAkYmFzZS1mb250LXNpemUge1xuICAgICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtOiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICAvKiEgbm9ybWFsaXplLXNjc3MgfCBNSVQvR1BMdjIgTGljZW5zZSB8IGJpdC5seS9ub3JtYWxpemUtc2NzcyAqL1xuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZG9jdW1lbnQpIHtcbiAgICAvKiBEb2N1bWVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICAgICAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAgICAgKi9cblxuICAgIGh0bWwge1xuICAgICAgQGlmICRiYXNlLWZvbnQtZmFtaWx5IHtcbiAgICAgICAgLyogQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLiAqL1xuICAgICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7XG4gICAgICB9XG4gICAgICBAaWYgJGJhc2UtZm9udC1zaXplICE9IDE2cHggb3IgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvLyBDb3JyZWN0IG9sZCBicm93c2VyIGJ1ZyB0aGF0IHByZXZlbnRlZCBhY2Nlc3NpYmxlIHJlc2l6aW5nIG9mIHRleHRcbiAgICAgICAgLy8gd2hlbiByb290IGZvbnQtc2l6ZSBpcyBzZXQgd2l0aCBweCBvciBlbS5cbiAgICAgICAgZm9udC1zaXplOiAoJGJhc2UtZm9udC1zaXplIC8gMTZweCkgKiAxMDAlO1xuICAgICAgfVxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICgkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gICAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHNlY3Rpb25zKSB7XG4gICAgLyogU2VjdGlvbnNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBib2R5IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGFydGljbGUsXG4gICAgYXNpZGUsXG4gICAgZm9vdGVyLFxuICAgIGhlYWRlcixcbiAgICBuYXYsXG4gICAgc2VjdGlvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gICAgICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGgxIHtcbiAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgxLWZvbnQtc2l6ZSk7XG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgxLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8qIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiAqL1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgxLWZvbnQtc2l6ZSk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIG1hcmdpbjogMC42N2VtIDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDItZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgyLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGgzIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDMtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMy1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgzLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg0IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDQtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNC1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg0LWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg1IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDUtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNS1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg1LWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg2IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDYtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg2LWZvbnQtc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShncm91cGluZykge1xuICAgIC8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgIC8qKlxuICAgICAgICogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAqL1xuXG4gICAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxICRpbmRlbnQtYW1vdW50KTtcbiAgICAgIH1cblxuICAgICAgZGwsXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIFR1cm4gb2ZmIG1hcmdpbnMgb24gbmVzdGVkIGxpc3RzLlxuICAgICAgICovXG5cbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBvbCxcbiAgICAgICAgdWwge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBkZCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG5cbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGZpZ2NhcHRpb24sXG4gICAgZmlndXJlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAgICAgKi9cblxuICAgIGZpZ3VyZSB7XG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgJGluZGVudC1hbW91bnQpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBtYXJnaW46IDFlbSAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAgICAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICAgICAqL1xuXG4gICAgaHIge1xuICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgICAgIGhlaWdodDogMDsgLyogMSAqL1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cblxuICAgIG1haW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgIC8qKlxuICAgICAgICogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAqL1xuXG4gICAgICBwLFxuICAgICAgcHJlIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgcHJlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGxpbmtzKSB7XG4gICAgLyogTGlua3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgICAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAgICAgKi9cblxuICAgIGEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDEgKi9cbiAgICAgIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8qIDIgKi9cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHRleHQpIHtcbiAgICAvKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LSBhbmQgRmlyZWZveCAzOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGFiYnJbdGl0bGVdIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAgICAgKi9cblxuICAgIGIsXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBiLFxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgY29kZSxcbiAgICBrYmQsXG4gICAgc2FtcCB7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICAgICAqL1xuXG4gICAgZGZuIHtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBtYXJrIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHNtYWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogODAlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAgICAqIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHN1YixcbiAgICBzdXAge1xuICAgICAgZm9udC1zaXplOiA3NSU7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICB9XG5cbiAgICBzdWIge1xuICAgICAgYm90dG9tOiAtMC4yNWVtO1xuICAgIH1cblxuICAgIHN1cCB7XG4gICAgICB0b3A6IC0wLjVlbTtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGVtYmVkZGVkKSB7XG4gICAgLyogRW1iZWRkZWQgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGF1ZGlvLFxuICAgIHZpZGVvIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICAgICAqL1xuXG4gICAgYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuXG4gICAgc3ZnOm5vdCg6cm9vdCkge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGZvcm1zKSB7XG4gICAgLyogRm9ybXNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgaW5wdXQsXG4gICAgb3B0Z3JvdXAsXG4gICAgc2VsZWN0LFxuICAgIHRleHRhcmVhIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBpZigkYmFzZS1mb250LWZhbWlseSwgJGJhc2UtZm9udC1mYW1pbHksIHNhbnMtc2VyaWYpOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAxICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gICAgICB9XG4gICAgICBtYXJnaW46IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbiB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgICAgKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgc2VsZWN0IHsgLyogMSAqL1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gICAgICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgICB9XG5cbiAgICBidXR0b24sXG4gICAgW3R5cGU9XCJidXR0b25cIl0sXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgICAqL1xuXG4gICAgICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICAgICAqL1xuXG4gICAgICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICAgICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gICAgICovXG5cbiAgICBpbnB1dCB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gICAgICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAgICAgICAqL1xuXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgICAgIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBmaWVsZHNldCB7XG4gICAgICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gICAgICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAgICAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgbGVnZW5kIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgICAgIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICAgKi9cblxuICAgIHByb2dyZXNzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRleHRhcmVhIHtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoaW50ZXJhY3RpdmUpIHtcbiAgICAvKiBJbnRlcmFjdGl2ZVxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGRldGFpbHMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdW1tYXJ5IHtcbiAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWVudSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLypcbiAgICAgICAgICogMS4gU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAgICogMi4gU2V0IGNvbnNpc3RlbnQgc3BhY2UgZm9yIHRoZSBsaXN0IHN0eWxlIGltYWdlLlxuICAgICAgICAgKi9cblxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7IC8qIDEgKi9cbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7IC8qIDIgKi9cblxuICAgICAgICAvKipcbiAgICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgICAqL1xuXG4gICAgICAgIG1lbnUgJixcbiAgICAgICAgb2wgJixcbiAgICAgICAgdWwgJiB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzY3JpcHRpbmcpIHtcbiAgICAvKiBTY3JpcHRpbmdcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBjYW52YXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgdGVtcGxhdGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGhpZGRlbikge1xuICAgIC8qIEhpZGRlblxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBbaGlkZGVuXSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiI3dwYWRtaW5iYXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuaHRtbFtsYW5nPVwiaXQtSVRcIl0sXG5odG1sW2xhbmc9XCJlbi1VU1wiXSB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbn1cbnBpY3R1cmUge1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xufSIsIi8qIENBUk9VU0VMIElNQUdFUyBSRVNQT05TSVZFICovXG4uY2Fyb3VzZWwge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmNhcm91c2VsLWlubmVyLFxuLmNhcm91c2VsLWl0ZW0ge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDEwO1xufVxuLmNhcm91c2VsLWNhcHRpb24ge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwMDtcbn1cbi5jYXJvdXNlbC1pbmRpY2F0b3JzLFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dCxcbi5jYXJvdXNlbC1jb250cm9sLXByZXYge1xuICB6LWluZGV4OiAxMDAwO1xufVxuLmNhcm91c2VsLWxpbmsge1xuICB6LWluZGV4OiAxMDAwMDtcbn1cbi5jYXJvdXNlbC1pdGVtLW5leHQsXG4uY2Fyb3VzZWwtaXRlbS1wcmV2LFxuLmNhcm91c2VsLWl0ZW0uYWN0aXZlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIElNQUdFUyBDT1ZFUklORyBDQVJPVVNFTCAqL1xuLm1pbi13LTEwMCB7XG4gIG1pbi13aWR0aDogMTAwJTtcbn1cbi5taW4taC0xMDAge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xufVxuLm1heC13LTEwMCB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbi5tYXgtaC0xMDAge1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xufVxuXG4vKiBOTyBERUZBVUxUIExJTktTICovXG5hIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qIE5PIERFRkFVTFQgQlVUVE9OUyAqL1xuYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xufSIsIi8qIE5PIENPTlRFTlQgKi9cbiNuby1jb250ZW50IHtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLypcbiAgYWxpZ24tY29udGVudDogZmxleC1lbmQ7XG4gIC13ZWJraXQtYWxpZ24tY29udGVudDogZmxleC1lbmQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgKi9cbn1cbiNuby1jb250ZW50IHAge1xuICBtYXJnaW46IGF1dG8gYXV0bztcbn0iLCIvKiBDT09LSUUgSU5GTyBCQVIgKi9cbmh0bWwgI21vb3ZlX2dkcHJfY29va2llX2luZm9fYmFyLm1vb3ZlLWdkcHItbGlnaHQtc2NoZW1lIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbn1cbmh0bWwgI21vb3ZlX2dkcHJfY29va2llX2luZm9fYmFyLm1vb3ZlLWdkcHItbGlnaHQtc2NoZW1lIC5tb292ZS1nZHByLWluZm8tYmFyLWNvbnRhaW5lciAubW9vdmUtZ2Rwci1pbmZvLWJhci1jb250ZW50IGgxLFxuaHRtbCAjbW9vdmVfZ2Rwcl9jb29raWVfaW5mb19iYXIubW9vdmUtZ2Rwci1saWdodC1zY2hlbWUgLm1vb3ZlLWdkcHItaW5mby1iYXItY29udGFpbmVyIC5tb292ZS1nZHByLWluZm8tYmFyLWNvbnRlbnQgaDIsXG5odG1sICNtb292ZV9nZHByX2Nvb2tpZV9pbmZvX2Jhci5tb292ZS1nZHByLWxpZ2h0LXNjaGVtZSAubW9vdmUtZ2Rwci1pbmZvLWJhci1jb250YWluZXIgLm1vb3ZlLWdkcHItaW5mby1iYXItY29udGVudCBoMyxcbmh0bWwgI21vb3ZlX2dkcHJfY29va2llX2luZm9fYmFyLm1vb3ZlLWdkcHItbGlnaHQtc2NoZW1lIC5tb292ZS1nZHByLWluZm8tYmFyLWNvbnRhaW5lciAubW9vdmUtZ2Rwci1pbmZvLWJhci1jb250ZW50IGg0LFxuaHRtbCAjbW9vdmVfZ2Rwcl9jb29raWVfaW5mb19iYXIubW9vdmUtZ2Rwci1saWdodC1zY2hlbWUgLm1vb3ZlLWdkcHItaW5mby1iYXItY29udGFpbmVyIC5tb292ZS1nZHByLWluZm8tYmFyLWNvbnRlbnQgaDUsXG5odG1sICNtb292ZV9nZHByX2Nvb2tpZV9pbmZvX2Jhci5tb292ZS1nZHByLWxpZ2h0LXNjaGVtZSAubW9vdmUtZ2Rwci1pbmZvLWJhci1jb250YWluZXIgLm1vb3ZlLWdkcHItaW5mby1iYXItY29udGVudCBoNixcbmh0bWwgI21vb3ZlX2dkcHJfY29va2llX2luZm9fYmFyLm1vb3ZlLWdkcHItbGlnaHQtc2NoZW1lIC5tb292ZS1nZHByLWluZm8tYmFyLWNvbnRhaW5lciAubW9vdmUtZ2Rwci1pbmZvLWJhci1jb250ZW50IHAsXG5odG1sICNtb292ZV9nZHByX2Nvb2tpZV9pbmZvX2Jhci5tb292ZS1nZHByLWxpZ2h0LXNjaGVtZSAubW9vdmUtZ2Rwci1pbmZvLWJhci1jb250YWluZXIgLm1vb3ZlLWdkcHItaW5mby1iYXItY29udGVudCBwIGEsXG5odG1sICNtb292ZV9nZHByX2Nvb2tpZV9pbmZvX2Jhci5tb292ZS1nZHByLWxpZ2h0LXNjaGVtZSBwIHtcbiAgY29sb3I6ICM3ODc4Nzg7XG4gIGZvbnQtZmFtaWx5OiAnTGF0bycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5odG1sICNtb292ZV9nZHByX2Nvb2tpZV9pbmZvX2JhciAubW9vdmUtZ2Rwci1pbmZvLWJhci1jb250YWluZXIgLm1vb3ZlLWdkcHItaW5mby1iYXItY29udGVudCBhLm1nYnV0dG9uLFxuaHRtbCAjbW9vdmVfZ2Rwcl9jb29raWVfaW5mb19iYXIgLm1vb3ZlLWdkcHItaW5mby1iYXItY29udGFpbmVyIC5tb292ZS1nZHByLWluZm8tYmFyLWNvbnRlbnQgYnV0dG9uLm1nYnV0dG9uIHtcbiAgY29sb3I6ICNmZjAwMDA7XG4gIGZvbnQtZmFtaWx5OiAnRmlyYSBNb25vJywgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZjAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBwYWRkaW5nOiA0cHggMDtcbn1cbmh0bWwgI21vb3ZlX2dkcHJfY29va2llX2luZm9fYmFyIC5tb292ZS1nZHByLWluZm8tYmFyLWNvbnRhaW5lciAubW9vdmUtZ2Rwci1pbmZvLWJhci1jb250ZW50IGEubWdidXR0b246aG92ZXIsXG5odG1sICNtb292ZV9nZHByX2Nvb2tpZV9pbmZvX2JhciAubW9vdmUtZ2Rwci1pbmZvLWJhci1jb250YWluZXIgLm1vb3ZlLWdkcHItaW5mby1iYXItY29udGVudCBidXR0b24ubWdidXR0b246aG92ZXIge1xuICBjb2xvcjogI2ZmMDAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDRweCAxNXB4IDRweCAxNXB4O1xufVxuLyogQ09PS0lFIFRBQkJFRCBNT0RBTCAqL1xuaHRtbCAjbW9vdmVfZ2Rwcl9jb29raWVfbW9kYWwgLm1vb3ZlLWdkcHItbW9kYWwtY29udGVudCAubW9vdmUtZ2Rwci1tb2RhbC1mb290ZXItY29udGVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuaHRtbCAjbW9vdmVfZ2Rwcl9jb29raWVfbW9kYWwgLm1vb3ZlLWdkcHItbW9kYWwtY29udGVudCAubW9vdmUtZ2Rwci1tb2RhbC1mb290ZXItY29udGVudDo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbmh0bWwgI21vb3ZlX2dkcHJfY29va2llX21vZGFsIC5tb292ZS1nZHByLW1vZGFsLWNvbnRlbnQgLm1vb3ZlLWdkcHItbW9kYWwtZm9vdGVyLWNvbnRlbnQgLm1vb3ZlLWdkcHItYnV0dG9uLWhvbGRlciBhLm1nYnV0dG9uOmhvdmVyLFxuaHRtbCAjbW9vdmVfZ2Rwcl9jb29raWVfbW9kYWwgLm1vb3ZlLWdkcHItbW9kYWwtY29udGVudCAubW9vdmUtZ2Rwci1tb2RhbC1mb290ZXItY29udGVudCAubW9vdmUtZ2Rwci1idXR0b24taG9sZGVyIGJ1dHRvbi5tZ2J1dHRvbjpob3Zlcixcbmh0bWwgLmdkcHJfY29va2llX3NldHRpbmdzX3Nob3J0Y29kZV9jb250ZW50IC5nZHByLXNoci1idXR0b24uYnV0dG9uLWdyZWVuOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5odG1sICNtb292ZV9nZHByX2Nvb2tpZV9tb2RhbCAubW9vdmUtZ2Rwci1tb2RhbC1jb250ZW50IC5tb292ZS1nZHByLW1vZGFsLWxlZnQtY29udGVudCAjbW9vdmUtZ2Rwci1tZW51IGxpIGEgc3Bhbi5nZHByLWljb24sXG5odG1sICNtb292ZV9nZHByX2Nvb2tpZV9tb2RhbCAubW9vdmUtZ2Rwci1tb2RhbC1jb250ZW50IC5tb292ZS1nZHByLW1vZGFsLWxlZnQtY29udGVudCAjbW9vdmUtZ2Rwci1tZW51IGxpIGJ1dHRvbiBzcGFuLmdkcHItaWNvbixcbmh0bWwgI21vb3ZlX2dkcHJfY29va2llX21vZGFsIC5tb292ZS1nZHByLW1vZGFsLWNvbnRlbnQgLm1vb3ZlLWdkcHItbW9kYWwtbGVmdC1jb250ZW50ICNtb292ZS1nZHByLW1lbnUgbGkubWVudS1pdGVtLXNlbGVjdGVkIGEgc3Bhbi5nZHByLWljb24sXG5odG1sICNtb292ZV9nZHByX2Nvb2tpZV9tb2RhbCAubW9vdmUtZ2Rwci1tb2RhbC1jb250ZW50IC5tb292ZS1nZHByLW1vZGFsLWxlZnQtY29udGVudCAjbW9vdmUtZ2Rwci1tZW51IGxpLm1lbnUtaXRlbS1zZWxlY3RlZCBidXR0b24gc3Bhbi5nZHByLWljb24sXG5odG1sICNtb292ZV9nZHByX2Nvb2tpZV9tb2RhbCAubW9vdmUtZ2Rwci1tb2RhbC1jb250ZW50IC5tb292ZS1nZHByLW1vZGFsLWxlZnQtY29udGVudCAjbW9vdmUtZ2Rwci1tZW51IGxpIGEgc3Bhbi5nZHByLW5hdi10YWItdGl0bGUsXG5odG1sICNtb292ZV9nZHByX2Nvb2tpZV9tb2RhbCAubW9vdmUtZ2Rwci1tb2RhbC1jb250ZW50IC5tb292ZS1nZHByLW1vZGFsLWxlZnQtY29udGVudCAjbW9vdmUtZ2Rwci1tZW51IGxpIGJ1dHRvbiBzcGFuLmdkcHItbmF2LXRhYi10aXRsZXtcbiAgY29sb3I6ICNmZjAwMDAgIWltcG9ydGFudDtcbn1cbi8qIENPT0tJRSBNT0RBTCBDTE9TRSBCVVRUT04gKi9cbmh0bWwgI21vb3ZlX2dkcHJfY29va2llX21vZGFsIC5tb292ZS1nZHByLW1vZGFsLWNvbnRlbnQgLm1vb3ZlLWdkcHItbW9kYWwtY2xvc2UgaSxcbmh0bWwgI21vb3ZlX2dkcHJfY29va2llX21vZGFsIC5tb292ZS1nZHByLW1vZGFsLWNvbnRlbnQgLm1vb3ZlLWdkcHItbW9kYWwtY2xvc2Ugc3Bhbi5nZHByLWljb24ge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDAwMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmMDAwMDtcbn1cbmh0bWwgI21vb3ZlX2dkcHJfY29va2llX21vZGFsIC5tb292ZS1nZHByLW1vZGFsLWNvbnRlbnQgLm1vb3ZlLWdkcHItbW9kYWwtY2xvc2UgaTpob3Zlcixcbmh0bWwgI21vb3ZlX2dkcHJfY29va2llX21vZGFsIC5tb292ZS1nZHByLW1vZGFsLWNvbnRlbnQgLm1vb3ZlLWdkcHItbW9kYWwtY2xvc2Ugc3Bhbi5nZHByLWljb246aG92ZXIsXG5odG1sICNtb292ZV9nZHByX2Nvb2tpZV9tb2RhbCAubW9vdmUtZ2Rwci1tb2RhbC1jb250ZW50IC5tb292ZS1nZHByLW1vZGFsLWNsb3NlOmhvdmVyIGksXG5odG1sICNtb292ZV9nZHByX2Nvb2tpZV9tb2RhbCAubW9vdmUtZ2Rwci1tb2RhbC1jb250ZW50IC5tb292ZS1nZHByLW1vZGFsLWNsb3NlOmhvdmVyIHNwYW4uZ2Rwci1pY29uIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZDAwMDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZDAwMDA7XG59IiwiaGVhZGVyLndlYnNpdGUtaGVhZGVyIHtcbiAgLypiYWNrZ3JvdW5kOiAjZjhmOWZhOyovXG59XG5oZWFkZXIud2Vic2l0ZS1oZWFkZXIgLm5hdmJhci1icmFuZCB7XG4gIHdpZHRoOiAyMDBweDtcbiAgb3BhY2l0eTogMTtcbn1cbi8qIEhFQURFUiBWSVNJQklMSVRZICovXG5oZWFkZXIud2Vic2l0ZS1oZWFkZXIsXG5oZWFkZXIud2Vic2l0ZS1oZWFkZXIgbmF2Lm5hdmJhcixcbmhlYWRlci53ZWJzaXRlLWhlYWRlciAubmF2YmFyLW5hdixcbmhlYWRlci53ZWJzaXRlLWhlYWRlciAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudSB7XG4gIHotaW5kZXg6IDEwMDAwMDtcbn1cbi8qIEhFQURFUiBERUZBVUxUICovXG5oZWFkZXIud2Vic2l0ZS1oZWFkZXIgbmF2Lm5hdmJhciB7XG4gIHBhZGRpbmc6IDEuNXJlbSAxcmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAvKmJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmE7Ki9cbiAgYm94LXNoYWRvdzogMCAxcHggNnB4IHJnYmEoMCwgMCwgMCwgMC4wNCksXG4gICAgICAgICAgICAgIDAgNnB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjA2KTtcbn1cbi8qIEhFQURFUiBGSUxMICYgRFJPUERPV04gV0FZUE9JTlQgKi9cbi5maWxsLXdheXBvaW50LXRyaWdnZXIge1xuICBoZWlnaHQ6IDFweDtcbn1cbmhlYWRlci53ZWJzaXRlLWhlYWRlciBuYXYubmF2YmFyLmZpbGwtd2F5cG9pbnQge1xuICBwYWRkaW5nOiAuNXJlbSAxcmVtO1xufVxuaGVhZGVyLndlYnNpdGUtaGVhZGVyIC5maWxsLXdheXBvaW50IC5uYXZiYXItYnJhbmQge1xuICB3aWR0aDogMTQwcHg7XG59XG5oZWFkZXIud2Vic2l0ZS1oZWFkZXIgLmZpbGwtd2F5cG9pbnQgLm5hdmJhci1icmFuZCAjbG9nbyB7XG4gIG9wYWNpdHk6IDE7XG59XG5oZWFkZXIud2Vic2l0ZS1oZWFkZXIgLmZpbGwtd2F5cG9pbnQgLm5hdmJhci1icmFuZCAjdHlwZSB7XG4gIG9wYWNpdHk6IDA7XG59XG5oZWFkZXIud2Vic2l0ZS1oZWFkZXIgLmRyb3Bkb3duLW1lbnUge1xuICBib3gtc2hhZG93OiAwIDFweCAwcHggcmdiYSgwLCAwLCAwLCAwKSxcbiAgICAgICAgICAgICAgMCA2cHggMHB4IHJnYmEoMCwgMCwgMCwgMCk7XG59XG5oZWFkZXIud2Vic2l0ZS1oZWFkZXIgLmZpbGwtd2F5cG9pbnQgLmRyb3Bkb3duLW1lbnUsXG5oZWFkZXIud2Vic2l0ZS1oZWFkZXIgLmRyb3Bkb3duLXdheXBvaW50IC5kcm9wZG93bi1tZW51IHtcbiAgYm94LXNoYWRvdzogMCAxcHggNnB4IHJnYmEoMCwgMCwgMCwgMC4wNCksXG4gICAgICAgICAgICAgIDAgNnB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjA2KTtcbn1cbi8qIEhFQURFUiBISURFIFdBWVBPSU5UICovXG5oZWFkZXIud2Vic2l0ZS1oZWFkZXIgbmF2Lm5hdmJhci5oaWRlLXdheXBvaW50IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbn1cbi8qIEhFQURFUiBQUklNQVJZIE5BVi1JVEVNIFZFUlRJQ0FMIFNQQUNFICovXG5oZWFkZXIud2Vic2l0ZS1oZWFkZXIgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG59XG4vKiBIRUFERVIgRFJPUERPV04gTkFWLUlURU0gSUNPTiAqL1xuaGVhZGVyLndlYnNpdGUtaGVhZGVyIC5kcm9wZG93bi10b2dnbGUgLmNhcmV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogNnB4O1xuICB3aWR0aDogMTJweDtcbiAgaGVpZ2h0OiA5cHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVMtQVNDSUksJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBLy93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwNjAlMjAzNiUyMiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUzQ3BhdGglMjBzaGFwZS1yZW5kZXJpbmclM0QlMjJnZW9tZXRyaWNQcmVjaXNpb24lMjIlMjBmaWxsJTNEJTIyJTIzOTg5ODk4JTIyJTIwZCUzRCUyMk0zMS40OCUyQzM1LjM4JTJDNTkuMzklMkM3LjA2YTIuMTQlMkMyLjE0JTJDMCUyQzAlMkMwJTJDMC0zTDU2JTJDLjYzQTIuMSUyQzIuMSUyQzAlMkMwJTJDMCUyQzU0LjUyJTJDMCUyQzIuMDclMkMyLjA3JTJDMCUyQzAlMkMwJTJDNTMlMkMuNjNMMzAlMkMyNCUyQzclMkMuNjJhMi4wOCUyQzIuMDglMkMwJTJDMCUyQzAtMyUyQzBMLjYxJTJDNC4wNmEyLjE1JTJDMi4xNSUyQzAlMkMwJTJDMCUyQzAlMkMzTDI0LjkyJTJDMzEuNzJsLjEuMTElMkMzLjUlMkMzLjU1QTIuMDYlMkMyLjA2JTJDMCUyQzAlMkMwJTJDMzAlMkMzNiUyQzIuMDklMkMyLjA5JTJDMCUyQzAlMkMwJTJDMzEuNDglMkMzNS4zOFolMjIvJTNFJTBEJTBBJTNDL3N2ZyUzRScpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuaGVhZGVyLndlYnNpdGUtaGVhZGVyIC5kcm9wZG93bi10b2dnbGU6OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qIEhFQURFUiBEUk9QRE9XTiBQQU5FTCBTSVpFICovXG5oZWFkZXIud2Vic2l0ZS1oZWFkZXIgLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUge1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMzBweCAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xufVxuaGVhZGVyLndlYnNpdGUtaGVhZGVyIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51LnNob3cge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgb3BhY2l0eTogMTtcbn1cbi8qIEhFQURFUiBEUk9QRE9XTiBQQU5FTCBTUEFDRSAqL1xuaGVhZGVyLndlYnNpdGUtaGVhZGVyIC5kcm9wZG93bi1tZW51IC4tLW5hdi1pdGVtLXByaW1hcnkge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuaGVhZGVyLndlYnNpdGUtaGVhZGVyIC5kcm9wZG93bi1tZW51IC4tLW5hdi1pdGVtLXNlY29uZGFyeSBhIHtcbiAgcGFkZGluZzogNXB4IDA7XG59XG4vKiBIRUFERVIgRFJPUERPV04gUFJJTUFSWSBMSU5LICovXG5oZWFkZXIud2Vic2l0ZS1oZWFkZXIgLmRyb3Bkb3duLW1lbnUgLi0tbmF2LWl0ZW0tcHJpbWFyeSAubmF2LWxpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAuNXJlbSAyLjVyZW07XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZWVlZWVlO1xufVxuaGVhZGVyLndlYnNpdGUtaGVhZGVyIC5kcm9wZG93bi1tZW51IC4tLW5hdi1pdGVtLXByaW1hcnkgLm5hdi1saW5rOmhvdmVyIHtcbiAgLypcbiAgbWFyZ2luOiAwIGF1dG8gLjVyZW07XG4gICovXG4gIHBhZGRpbmc6IC41cmVtIDAgMDtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICM5ODk4OTg7XG59XG4vKiBIRUFERVIgRFJPUERPV04gQ09MVU1OIERJVklERVJTICovXG5oZWFkZXIud2Vic2l0ZS1oZWFkZXIgLmRyb3Bkb3duLW1lbnUgLmNvbC0xMjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgI0YzRjRGNTtcbn1cbi8qIEhFQURFUiBEUk9QRE9XTiBDT05UQUNUIExJTksgKi9cbmhlYWRlci53ZWJzaXRlLWhlYWRlciAuZHJvcGRvd24tbWVudSAubWVnYW1lbnUtbGluayB7XG4gIG1hcmdpbjogNDVweCBhdXRvIDA7XG4gIHBhZGRpbmc6IDRweCAyNXB4O1xufVxuaGVhZGVyLndlYnNpdGUtaGVhZGVyIC5kcm9wZG93bi1tZW51IC5tZWdhbWVudS1saW5rOmhvdmVyIHtcbiAgcGFkZGluZzogNHB4IDBweDtcbn1cbmhlYWRlci53ZWJzaXRlLWhlYWRlciAuLS1tZWdhbWVudS1saW5rLXVuZGVybGluZSB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZmYwMDAwO1xufVxuLyogSEVBREVSIERST1BET1dOIE1FR0FNRU5VIFNUWUxFUyAqL1xuaGVhZGVyLndlYnNpdGUtaGVhZGVyIC5tZWdhbWVudSAubmF2LFxuaGVhZGVyLndlYnNpdGUtaGVhZGVyIC5tZWdhbWVudSAuY29sbGFwc2UsXG5oZWFkZXIud2Vic2l0ZS1oZWFkZXIgLm1lZ2FtZW51IC5kcm9wdXAsXG5oZWFkZXIud2Vic2l0ZS1oZWFkZXIgLm1lZ2FtZW51IC5kcm9wZG93biB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG59XG5oZWFkZXIud2Vic2l0ZS1oZWFkZXIgLm1lZ2FtZW51IC5jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5oZWFkZXIud2Vic2l0ZS1oZWFkZXIgLm1lZ2FtZW51IC5kcm9wZG93bi1tZW51IHtcbiAgbGVmdDogYXV0bztcbn1cbmhlYWRlci53ZWJzaXRlLWhlYWRlciAubWVnYW1lbnUgLm5hdi5uYXZiYXItcmlnaHQgLmRyb3Bkb3duLW1lbnUge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDtcbn1cbmhlYWRlci53ZWJzaXRlLWhlYWRlciAubWVnYW1lbnUgLm1lZ2FtZW51LWNvbnRlbnQge1xuICBwYWRkaW5nOiAyMHB4IDMwcHg7XG59XG5oZWFkZXIud2Vic2l0ZS1oZWFkZXIgLm1lZ2FtZW51IC5kcm9wZG93bi5tZWdhbWVudS1mdyAuZHJvcGRvd24tbWVudSB7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xufVxuLyogSEVBREVSIE5BVkJBUiBDVVNUT00gVE9HR0xFUiAqL1xuaGVhZGVyLndlYnNpdGUtaGVhZGVyIC5pY29uLWJhciB7XG4gIHdpZHRoOiAyMnB4O1xuICBoZWlnaHQ6IDJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0I2QjZCNjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuICBtYXJnaW4tdG9wOiA0cHhcbn1cbmhlYWRlci53ZWJzaXRlLWhlYWRlciAubmF2YmFyLXRvZ2dsZXIge1xuICBwYWRkaW5nOiAuMjVyZW0gMCAuMjVyZW0gLjc1cmVtO1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIHotaW5kZXg6IDEwMDAwMDAwO1xufVxuaGVhZGVyLndlYnNpdGUtaGVhZGVyIC5uYXZiYXItdG9nZ2xlciAudG9wLWJhciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMTAlIDEwJTtcbn1cbmhlYWRlci53ZWJzaXRlLWhlYWRlciAubmF2YmFyLXRvZ2dsZXIgLm1pZGRsZS1iYXIge1xuICBvcGFjaXR5OiAwO1xufVxuaGVhZGVyLndlYnNpdGUtaGVhZGVyIC5uYXZiYXItdG9nZ2xlciAuYm90dG9tLWJhciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDEwJSA5MCU7XG59XG5oZWFkZXIud2Vic2l0ZS1oZWFkZXIgLm5hdmJhci10b2dnbGVyLmNvbGxhcHNlZCAudG9wLWJhciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xufVxuaGVhZGVyLndlYnNpdGUtaGVhZGVyIC5uYXZiYXItdG9nZ2xlci5jb2xsYXBzZWQgLm1pZGRsZS1iYXIge1xuICBvcGFjaXR5OiAxO1xufVxuaGVhZGVyLndlYnNpdGUtaGVhZGVyIC5uYXZiYXItdG9nZ2xlci5jb2xsYXBzZWQgLmJvdHRvbS1iYXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbn1cblxuLyogIERldmljZSA9IExhcmdlIERlc2t0b3BzXG4gICAgU2NyZWVuID0gMTIwMHB4IGFuZCB1cCBkZXNrdG9wcyAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyMDBweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyMDBweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDEyMDBweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyMDBweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDEyMDBweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IExhcHRvcHMsIERlc2t0b3BzXG4gICAgU2NyZWVuID0gQi93IDk5MnB4IHRvIDExOTlweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIGhlYWRlci53ZWJzaXRlLWhlYWRlciAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gVGFibGV0cywgSXBhZHMgKHBvcnRyYWl0KVxuICAgIFNjcmVlbiA9IEIvdyA3NjhweCB0byA5OTFweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgaGVhZGVyIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHtcbiAgICB6LWluZGV4OiAxMDAwMDAwO1xuICB9XG4gIGhlYWRlci53ZWJzaXRlLWhlYWRlciAuZmlsbC13YXlwb2ludCAubmF2YmFyLWJyYW5kICNsb2dvLFxuICBoZWFkZXIud2Vic2l0ZS1oZWFkZXIgLmZpbGwtd2F5cG9pbnQgLm5hdmJhci1icmFuZCAjdHlwZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICBoZWFkZXIud2Vic2l0ZS1oZWFkZXIgLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUge1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICAvKnBhZGRpbmc6IDA7Ki9cbiAgICBwYWRkaW5nOiAwIDE1dnc7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuOTgpO1xuICB9XG4gIGhlYWRlci53ZWJzaXRlLWhlYWRlciAuZHJvcGRvd24tbWVudSxcbiAgaGVhZGVyLndlYnNpdGUtaGVhZGVyIC5maWxsLXdheXBvaW50IC5kcm9wZG93bi1tZW51LFxuICBoZWFkZXIud2Vic2l0ZS1oZWFkZXIgLmRyb3Bkb3duLXdheXBvaW50IC5kcm9wZG93bi1tZW51IHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG4gIGhlYWRlci53ZWJzaXRlLWhlYWRlciAuZHJvcGRvd24tbWVudSAuY29sLTEyOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgfVxuICBoZWFkZXIud2Vic2l0ZS1oZWFkZXIgLmRyb3Bkb3duLW1lbnUgLmNvbC0xMjpub3QoOmZpcnN0LWNoaWxkKSAuLS1uYXYtaXRlbS1wcmltYXJ5IHtcbiAgICBtYXJnaW4tdG9wOiAxdmg7XG4gIH1cbiAgaGVhZGVyLndlYnNpdGUtaGVhZGVyIC5kcm9wZG93bi1tZW51IC4tLW5hdi1pdGVtLXByaW1hcnkge1xuICAgIG1hcmdpbi1ib3R0b206IDF2aDtcbiAgfVxuICBoZWFkZXIud2Vic2l0ZS1oZWFkZXIgLmRyb3Bkb3duLW1lbnUgLi0tbmF2LWl0ZW0tc2Vjb25kYXJ5IGEge1xuICAgIHBhZGRpbmc6IDJweCAwO1xuICB9XG4gIGhlYWRlci53ZWJzaXRlLWhlYWRlciAuZHJvcGRvd24tbWVudSAuLS1uYXYtaXRlbS1wcmltYXJ5IC5uYXYtbGluayxcbiAgaGVhZGVyLndlYnNpdGUtaGVhZGVyIC5kcm9wZG93bi1tZW51IC4tLW5hdi1pdGVtLXByaW1hcnkgLm5hdi1saW5rOmhvdmVyIHtcbiAgICAvKnBhZGRpbmc6IC4yNXJlbSAwOyovXG4gICAgcGFkZGluZzogMXZoIDAgLjV2aDtcbiAgICBmb250LXNpemU6IDN2aDtcbiAgfVxuICBoZWFkZXIud2Vic2l0ZS1oZWFkZXIgLmRyb3Bkb3duLW1lbnUgLm1lZ2FtZW51LWxpbmsge1xuICAgIC8qbWFyZ2luOiAuNXJlbSBhdXRvIDA7Ki9cbiAgICBtYXJnaW46IDJ2aCBhdXRvIDF2aDtcbiAgICBwYWRkaW5nOiA0cHggMjVweDtcbiAgfVxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cblxufVxuXG4vKiAgRGV2aWNlID0gVGFibGV0cywgSXBhZHMgKGxhbmRzY2FwZSlcbiAgICBTY3JlZW4gPSBCL3cgNzY4cHggdG8gOTkxcHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgaGVhZGVyIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHtcbiAgICB6LWluZGV4OiAxMDAwMDAwO1xuICB9XG4gIGhlYWRlci53ZWJzaXRlLWhlYWRlciAuZmlsbC13YXlwb2ludCAubmF2YmFyLWJyYW5kICNsb2dvLFxuICBoZWFkZXIud2Vic2l0ZS1oZWFkZXIgLmZpbGwtd2F5cG9pbnQgLm5hdmJhci1icmFuZCAjdHlwZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICBoZWFkZXIud2Vic2l0ZS1oZWFkZXIgLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUge1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICAvKnBhZGRpbmc6IDA7Ki9cbiAgICBwYWRkaW5nOiAwIDE1dnc7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuOTgpO1xuICB9XG4gIGhlYWRlci53ZWJzaXRlLWhlYWRlciAuZHJvcGRvd24tbWVudSxcbiAgaGVhZGVyLndlYnNpdGUtaGVhZGVyIC5maWxsLXdheXBvaW50IC5kcm9wZG93bi1tZW51LFxuICBoZWFkZXIud2Vic2l0ZS1oZWFkZXIgLmRyb3Bkb3duLXdheXBvaW50IC5kcm9wZG93bi1tZW51IHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG4gIGhlYWRlci53ZWJzaXRlLWhlYWRlciAuZHJvcGRvd24tbWVudSAuY29sLTEyOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgfVxuICBoZWFkZXIud2Vic2l0ZS1oZWFkZXIgLmRyb3Bkb3duLW1lbnUgLmNvbC0xMjpub3QoOmZpcnN0LWNoaWxkKSAuLS1uYXYtaXRlbS1wcmltYXJ5IHtcbiAgICBtYXJnaW4tdG9wOiAxdmg7XG4gIH1cbiAgaGVhZGVyLndlYnNpdGUtaGVhZGVyIC5kcm9wZG93bi1tZW51IC4tLW5hdi1pdGVtLXByaW1hcnkge1xuICAgIG1hcmdpbi1ib3R0b206IDF2aDtcbiAgfVxuICBoZWFkZXIud2Vic2l0ZS1oZWFkZXIgLmRyb3Bkb3duLW1lbnUgLi0tbmF2LWl0ZW0tc2Vjb25kYXJ5IGEge1xuICAgIHBhZGRpbmc6IDJweCAwO1xuICB9XG4gIGhlYWRlci53ZWJzaXRlLWhlYWRlciAuZHJvcGRvd24tbWVudSAuLS1uYXYtaXRlbS1wcmltYXJ5IC5uYXYtbGluayxcbiAgaGVhZGVyLndlYnNpdGUtaGVhZGVyIC5kcm9wZG93bi1tZW51IC4tLW5hdi1pdGVtLXByaW1hcnkgLm5hdi1saW5rOmhvdmVyIHtcbiAgICAvKnBhZGRpbmc6IC4yNXJlbSAwOyovXG4gICAgcGFkZGluZzogMXZoIDAgLjV2aDtcbiAgICBmb250LXNpemU6IDN2aDtcbiAgfVxuICBoZWFkZXIud2Vic2l0ZS1oZWFkZXIgLmRyb3Bkb3duLW1lbnUgLm1lZ2FtZW51LWxpbmsge1xuICAgIC8qbWFyZ2luOiAuNXJlbSBhdXRvIDA7Ki9cbiAgICBtYXJnaW46IDJ2aCBhdXRvIDF2aDtcbiAgICBwYWRkaW5nOiA0cHggMjVweDtcbiAgfVxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cblxufVxuXG4vKiAgRGV2aWNlID0gTG93IFJlc29sdXRpb24gVGFibGV0cywgTW9iaWxlcyAoTGFuZHNjYXBlKVxuICAgIFNjcmVlbiA9IEIvdyA1NzZweCB0byA3NjdweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgaGVhZGVyIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHtcbiAgICB6LWluZGV4OiAxMDAwMDAwO1xuICB9XG4gIGhlYWRlci53ZWJzaXRlLWhlYWRlciAubmF2YmFyLWJyYW5kLFxuICBoZWFkZXIud2Vic2l0ZS1oZWFkZXIgLmZpbGwtd2F5cG9pbnQgLm5hdmJhci1icmFuZCB7XG4gICAgd2lkdGg6IDEyNXB4O1xuICB9XG4gIGhlYWRlci53ZWJzaXRlLWhlYWRlciBuYXYubmF2YmFyLFxuICBoZWFkZXIud2Vic2l0ZS1oZWFkZXIgbmF2Lm5hdmJhci5maWxsLXdheXBvaW50IHtcbiAgICBwYWRkaW5nOiAuNXJlbSAxcmVtO1xuICB9XG4gIGhlYWRlci53ZWJzaXRlLWhlYWRlciAuZmlsbC13YXlwb2ludCAubmF2YmFyLWJyYW5kICNsb2dvLFxuICBoZWFkZXIud2Vic2l0ZS1oZWFkZXIgLmZpbGwtd2F5cG9pbnQgLm5hdmJhci1icmFuZCAjdHlwZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICBoZWFkZXIud2Vic2l0ZS1oZWFkZXIgLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUge1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICAvKnBhZGRpbmc6IDA7Ki9cbiAgICBwYWRkaW5nOiAwIDE1dnc7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuOTgpO1xuICB9XG4gIGhlYWRlci53ZWJzaXRlLWhlYWRlciAuZHJvcGRvd24tbWVudSxcbiAgaGVhZGVyLndlYnNpdGUtaGVhZGVyIC5maWxsLXdheXBvaW50IC5kcm9wZG93bi1tZW51LFxuICBoZWFkZXIud2Vic2l0ZS1oZWFkZXIgLmRyb3Bkb3duLXdheXBvaW50IC5kcm9wZG93bi1tZW51IHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG4gIGhlYWRlci53ZWJzaXRlLWhlYWRlciAuZHJvcGRvd24tbWVudSAuY29sLTEyOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgfVxuICBoZWFkZXIud2Vic2l0ZS1oZWFkZXIgLmRyb3Bkb3duLW1lbnUgLmNvbC0xMjpub3QoOmZpcnN0LWNoaWxkKSAuLS1uYXYtaXRlbS1wcmltYXJ5IHtcbiAgICBtYXJnaW4tdG9wOiAxdmg7XG4gIH1cbiAgaGVhZGVyLndlYnNpdGUtaGVhZGVyIC5kcm9wZG93bi1tZW51IC4tLW5hdi1pdGVtLXByaW1hcnkge1xuICAgIG1hcmdpbi1ib3R0b206IDF2aDtcbiAgfVxuICBoZWFkZXIud2Vic2l0ZS1oZWFkZXIgLmRyb3Bkb3duLW1lbnUgLi0tbmF2LWl0ZW0tc2Vjb25kYXJ5IGEge1xuICAgIHBhZGRpbmc6IDJweCAwO1xuICB9XG4gIGhlYWRlci53ZWJzaXRlLWhlYWRlciAuZHJvcGRvd24tbWVudSAuLS1uYXYtaXRlbS1wcmltYXJ5IC5uYXYtbGluayxcbiAgaGVhZGVyLndlYnNpdGUtaGVhZGVyIC5kcm9wZG93bi1tZW51IC4tLW5hdi1pdGVtLXByaW1hcnkgLm5hdi1saW5rOmhvdmVyIHtcbiAgICAvKnBhZGRpbmc6IC4yNXJlbSAwOyovXG4gICAgcGFkZGluZzogMXZoIDAgLjV2aDtcbiAgICBmb250LXNpemU6IDN2aDtcbiAgfVxuICBoZWFkZXIud2Vic2l0ZS1oZWFkZXIgLmRyb3Bkb3duLW1lbnUgLm1lZ2FtZW51LWxpbmsge1xuICAgIC8qbWFyZ2luOiAuNXJlbSBhdXRvIDA7Ki9cbiAgICBtYXJnaW46IDJ2aCBhdXRvIDF2aDtcbiAgICBwYWRkaW5nOiA0cHggMjVweDtcbiAgfVxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cblxufVxuXG4vKiAgRGV2aWNlID0gTW9zdCBvZiB0aGUgU21hcnRwaG9uZXMgTW9iaWxlcyAoUG9ydHJhaXQpXG4gICAgU2NyZWVuID0gQi93IDMyMHB4IHRvIDU3NXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkge1xuICBoZWFkZXIgLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUge1xuICAgIHotaW5kZXg6IDEwMDAwMDA7XG4gIH1cbiAgaGVhZGVyLndlYnNpdGUtaGVhZGVyIC5uYXZiYXItYnJhbmQsXG4gIGhlYWRlci53ZWJzaXRlLWhlYWRlciAuZmlsbC13YXlwb2ludCAubmF2YmFyLWJyYW5kIHtcbiAgICB3aWR0aDogMTI1cHg7XG4gIH1cbiAgaGVhZGVyLndlYnNpdGUtaGVhZGVyIG5hdi5uYXZiYXIsXG4gIGhlYWRlci53ZWJzaXRlLWhlYWRlciBuYXYubmF2YmFyLmZpbGwtd2F5cG9pbnQge1xuICAgIHBhZGRpbmc6IC41cmVtIDFyZW07XG4gIH1cbiAgaGVhZGVyLndlYnNpdGUtaGVhZGVyIC5maWxsLXdheXBvaW50IC5uYXZiYXItYnJhbmQgI2xvZ28sXG4gIGhlYWRlci53ZWJzaXRlLWhlYWRlciAuZmlsbC13YXlwb2ludCAubmF2YmFyLWJyYW5kICN0eXBlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIGhlYWRlci53ZWJzaXRlLWhlYWRlciAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudSB7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIC8qcGFkZGluZzogMDsqL1xuICAgIHBhZGRpbmc6IDAgMTV2dztcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC45OCk7XG4gIH1cbiAgaGVhZGVyLndlYnNpdGUtaGVhZGVyIC5kcm9wZG93bi1tZW51LFxuICBoZWFkZXIud2Vic2l0ZS1oZWFkZXIgLmZpbGwtd2F5cG9pbnQgLmRyb3Bkb3duLW1lbnUsXG4gIGhlYWRlci53ZWJzaXRlLWhlYWRlciAuZHJvcGRvd24td2F5cG9pbnQgLmRyb3Bkb3duLW1lbnUge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbiAgaGVhZGVyLndlYnNpdGUtaGVhZGVyIC5kcm9wZG93bi1tZW51IC5jb2wtMTI6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICB9XG4gIGhlYWRlci53ZWJzaXRlLWhlYWRlciAuZHJvcGRvd24tbWVudSAuY29sLTEyOm5vdCg6Zmlyc3QtY2hpbGQpIC4tLW5hdi1pdGVtLXByaW1hcnkge1xuICAgIG1hcmdpbi10b3A6IDF2aDtcbiAgfVxuICBoZWFkZXIud2Vic2l0ZS1oZWFkZXIgLmRyb3Bkb3duLW1lbnUgLi0tbmF2LWl0ZW0tcHJpbWFyeSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXZoO1xuICB9XG4gIGhlYWRlci53ZWJzaXRlLWhlYWRlciAuZHJvcGRvd24tbWVudSAuLS1uYXYtaXRlbS1zZWNvbmRhcnkgYSB7XG4gICAgIHBhZGRpbmc6IDJweCAwO1xuIH1cbiAgaGVhZGVyLndlYnNpdGUtaGVhZGVyIC5kcm9wZG93bi1tZW51IC4tLW5hdi1pdGVtLXByaW1hcnkgLm5hdi1saW5rLFxuICBoZWFkZXIud2Vic2l0ZS1oZWFkZXIgLmRyb3Bkb3duLW1lbnUgLi0tbmF2LWl0ZW0tcHJpbWFyeSAubmF2LWxpbms6aG92ZXIge1xuICAgIC8qcGFkZGluZzogLjI1cmVtIDA7Ki9cbiAgICBwYWRkaW5nOiAxdmggMCAuNXZoO1xuICAgIGZvbnQtc2l6ZTogM3ZoO1xuICB9XG4gIGhlYWRlci53ZWJzaXRlLWhlYWRlciAuZHJvcGRvd24tbWVudSAubWVnYW1lbnUtbGluayB7XG4gICAgLyptYXJnaW46IC41cmVtIGF1dG8gMDsqL1xuICAgIG1hcmdpbjogMnZoIGF1dG8gMXZoO1xuICAgIHBhZGRpbmc6IDRweCAyNXB4O1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xuXG59XG5cbi8qIFNDUk9MTFNQWSAqL1xuI3Njcm9sbHNweSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIGJhY2tncm91bmQ6ICNmZjAwMDA7XG59XG4jc2Nyb2xsc3B5IC5uYXZiYXItYnJhbmQsXG4jc2Nyb2xsc3B5IC5uYXZiYXItYnJhbmQ6aG92ZXIsXG4jc2Nyb2xsc3B5IC5uYXZiYXItYnJhbmQ6Zm9jdXMsXG4jc2Nyb2xsc3B5IC5uYXZiYXItYnJhbmQ6YWN0aXZlIHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4jc2Nyb2xsc3B5IC5uYXYtbGluayxcbiNzY3JvbGxzcHkgLm5hdi1saW5rOmZvY3VzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNik7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuI3Njcm9sbHNweSAubmF2LWxpbms6aG92ZXIsXG4jc2Nyb2xsc3B5IC5uYXYtbGluazphY3RpdmUsXG4jc2Nyb2xsc3B5IC5uYXYtbGluay5hY3RpdmUge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZm9udC1zaXplOiAxZW07XG59XG4jc2Nyb2xsc3B5IC5uYXYtbGluazpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgd2lkdGg6IDBweDtcbiAgaGVpZ2h0OiAwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMXB4O1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtNnB4O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDZweCA2cHggMHB4IDZweDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMzMzbXMgZWFzZTtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMzMzbXMgZWFzZTtcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDMzM21zIGVhc2U7XG4gIHRyYW5zaXRpb246IGFsbCAzMzNtcyBlYXNlO1xufVxuI3Njcm9sbHNweSAubmF2LWxpbms6aG92ZXI6YmVmb3JlLFxuI3Njcm9sbHNweSAubmF2LWxpbms6Zm9jdXM6YmVmb3JlLFxuI3Njcm9sbHNweSAubmF2LWxpbms6YWN0aXZlOmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG59XG4jc2Nyb2xsc3B5IC5uYXYtbGluay5hY3RpdmU6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiB3aGl0ZSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbn1cblxuLyogIERldmljZSA9IExhcmdlIERlc2t0b3BzXG4gICAgU2NyZWVuID0gMTIwMHB4IGFuZCB1cCBkZXNrdG9wcyAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuXG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gTGFwdG9wcywgRGVza3RvcHNcbiAgICBTY3JlZW4gPSBCL3cgOTkycHggdG8gMTE5OXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcblxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFRhYmxldHMsIElwYWRzIChwb3J0cmFpdClcbiAgICBTY3JlZW4gPSBCL3cgNzY4cHggdG8gOTkxcHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICNzY3JvbGxzcHkgLm5hdi1saW5rIHtcbiAgICBtYXJnaW4tdG9wOiAtNTB2aDtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gICNzY3JvbGxzcHkgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xuXG59XG5cbi8qICBEZXZpY2UgPSBUYWJsZXRzLCBJcGFkcyAobGFuZHNjYXBlKVxuICAgIFNjcmVlbiA9IEIvdyA3NjhweCB0byA5OTFweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuXG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xuXG59XG5cbi8qICBEZXZpY2UgPSBMb3cgUmVzb2x1dGlvbiBUYWJsZXRzLCBNb2JpbGVzIChMYW5kc2NhcGUpXG4gICAgU2NyZWVuID0gQi93IDU3NnB4IHRvIDc2N3B4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAjc2Nyb2xsc3B5IC5uYXYtbGluayB7XG4gICAgbWFyZ2luLXRvcDogLTUwdmg7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAjc2Nyb2xsc3B5IC5uYXYtbGluay5hY3RpdmUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cblxufVxuXG4vKiAgRGV2aWNlID0gTW9zdCBvZiB0aGUgU21hcnRwaG9uZXMgTW9iaWxlcyAoUG9ydHJhaXQpXG4gICAgU2NyZWVuID0gQi93IDMyMHB4IHRvIDU3NXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkge1xuICAjc2Nyb2xsc3B5IC5uYXYtbGluayB7XG4gICAgbWFyZ2luLXRvcDogLTUwdmg7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAjc2Nyb2xsc3B5IC5uYXYtbGluay5hY3RpdmUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cblxufVxuXG5cbi8qIFdQTUwgU0VMRUNUICovXG4ubWVudS1lcC1oZWFkZXItbWVudS1jb250YWluZXIge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogNjBweDtcbn1cbiNtZW51LWVwLWhlYWRlci1tZW51IHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xufVxuI21lbnUtZXAtaGVhZGVyLW1lbnUgbGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMCA2cHg7XG4gIGZsb2F0OiBsZWZ0O1xufSIsImZvb3Rlci53ZWJzaXRlLWZvb3RlciB7XG4gIHBhZGRpbmc6IDIwcHggMCAyNXB4O1xuICBiYWNrZ3JvdW5kOiAjZjhmOWZhO1xufVxuZm9vdGVyLndlYnNpdGUtZm9vdGVyIC5uYXZiYXItYnJhbmQge1xuICB3aWR0aDogMjQwcHg7XG4gIHBhZGRpbmctbGVmdDogLjVyZW07XG59XG4vKiBGT09URVIgQUREUkVTUyBBTkQgQ1JFRElUUyBTUEFDRSAqL1xuZm9vdGVyLndlYnNpdGUtZm9vdGVyIC5hZGRyZXNzLFxuZm9vdGVyLndlYnNpdGUtZm9vdGVyIC5jcmVkaXRzIHtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuZm9vdGVyLndlYnNpdGUtZm9vdGVyIC5jcmVkaXRzIHtcbiAgbWFyZ2luLWJvdHRvbTogNjBweDtcbn1cbmZvb3Rlci53ZWJzaXRlLWZvb3RlciAuYWRkcmVzcyBwLFxuZm9vdGVyLndlYnNpdGUtZm9vdGVyIC5jcmVkaXRzIHAge1xuICBwYWRkaW5nOiAwIC41cmVtO1xuICBtYXJnaW46IDA7XG59XG4vKiBGT09URVIgTkFWQkFSIFNQQUNFICovXG5mb290ZXIud2Vic2l0ZS1mb290ZXIgLmxlZ2FsIC5uYXZiYXIge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG4vKiBGT09URVIgUFJJTUFSWSBOQVYtSVRFTSBIT1JJWk9OVEFMIFNQQUNFICovXG5mb290ZXIud2Vic2l0ZS1mb290ZXIgLmxlZ2FsIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xufVxuLyogRk9PVEVSIFBSSU1BUlkgTkFWLUlURU0gVkVSVElDQUwgU1BBQ0UgKi9cbmZvb3Rlci53ZWJzaXRlLWZvb3RlciAuY3JlZGl0cyAubmF2YmFyIC5uYXYtbGluayB7XG4gIHBhZGRpbmc6IDAgLjVyZW07XG59XG4vKiBGT09URVIgUFJJTUFSWSBOQVYtSVRFTSBJQ09OUyAqL1xuZm9vdGVyLndlYnNpdGUtZm9vdGVyIC5uYXYtbGluayAucGhvbmUtaWNvbi1ncmV5LFxuZm9vdGVyLndlYnNpdGUtZm9vdGVyIC5uYXYtbGluayAuZW1haWwtaWNvbi1ncmV5IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgNTAlLzEwMCUgMTAwJTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgb3BhY2l0eTogLjg7XG59XG5mb290ZXIud2Vic2l0ZS1mb290ZXIgLm5hdi1saW5rOmhvdmVyIC5waG9uZS1pY29uLWdyZXksXG5mb290ZXIud2Vic2l0ZS1mb290ZXIgLm5hdi1saW5rOmZvY3VzIC5waG9uZS1pY29uLWdyZXksXG5mb290ZXIud2Vic2l0ZS1mb290ZXIgLm5hdi1saW5rOmhvdmVyIC5lbWFpbC1pY29uLWdyZXksXG5mb290ZXIud2Vic2l0ZS1mb290ZXIgLm5hdi1saW5rOmZvY3VzIC5lbWFpbC1pY29uLWdyZXl7XG4gIG9wYWNpdHk6IDE7XG59XG5mb290ZXIud2Vic2l0ZS1mb290ZXIgLm5hdi1saW5rIC5waG9uZS1pY29uLWdyZXkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHZlcnNpb249JzEuMScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB4bWxuczp4bGluaz0naHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluaycgeD0nMHB4JyB5PScwcHgnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZW5hYmxlLWJhY2tncm91bmQ9J25ldyAwIDAgMjQgMjQnIHhtbDpzcGFjZT0ncHJlc2VydmUnJTNFJTNDcGF0aCBzaGFwZS1yZW5kZXJpbmc9J2dlb21ldHJpY1ByZWNpc2lvbicgZmlsbD0nJTIzOTg5ODk4JyBkPSdNNC44LDEwLjRjMS45LDMuOCw1LDYuOSw4LjgsOC44bDIuOS0yLjljMC40LTAuNCwwLjktMC41LDEuNC0wLjNjMS41LDAuNSwzLjEsMC44LDQuOCwwLjglMEFjMC43LDAsMS4zLDAuNiwxLjMsMS4zdjQuN2MwLDAuNy0wLjYsMS4zLTEuMywxLjNDMTAuMSwyMy45LDAsMTMuOCwwLDEuM0MwLDAuNiwwLjYsMCwxLjMsMEg2YzAuNywwLDEuMywwLjYsMS4zLDEuMyUwQWMwLDEuNywwLjMsMy4zLDAuOCw0LjhjMC4xLDAuNSwwLDEtMC4zLDEuNEw0LjgsMTAuNHonLyUzRSUzQy9zdmclM0UlMEFcIik7XG59XG5mb290ZXIud2Vic2l0ZS1mb290ZXIgLm5hdi1saW5rIC5lbWFpbC1pY29uLWdyZXkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHZlcnNpb249JzEuMScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB4bWxuczp4bGluaz0naHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluaycgeD0nMHB4JyB5PScwcHgnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZW5hYmxlLWJhY2tncm91bmQ9J25ldyAwIDAgMjQgMjQnIHhtbDpzcGFjZT0ncHJlc2VydmUnJTNFJTNDcGF0aCBzaGFwZS1yZW5kZXJpbmc9J2dlb21ldHJpY1ByZWNpc2lvbicgZmlsbD0nJTIzOTg5ODk4JyBkPSdNMjEuNiwyLjRIMi40QzEuMSwyLjQsMCwzLjUsMCw0LjhsMCwxNC40YzAsMS4zLDEuMSwyLjQsMi40LDIuNGgxOS4yYzEuMywwLDIuNC0xLjEsMi40LTIuNFY0LjglMEFDMjQsMy41LDIyLjksMi40LDIxLjYsMi40eiBNMjEuNiw3LjJsLTkuNiw2bC05LjYtNlY0LjhsOS42LDZsOS42LTZWNy4yeicvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbi8qIEZPT1RFUiBMQU5HVUFHRSBOQVYgKi9cbi53cG1sLWxzLWxlZ2FjeS1saXN0LWhvcml6b250YWwge1xuICBiYWNrZ3JvdW5kOiAjZWZlZmVmO1xuICBwYWRkaW5nOiA5cHggMjBweCAxMnB4O1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyOiBub25lO1xufVxuLndwbWwtbHMtbGVnYWN5LWxpc3QtaG9yaXpvbnRhbCA+IHVsIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi53cG1sLWxzLWxlZ2FjeS1saXN0LWhvcml6b250YWwgYSB7XG4gIHBhZGRpbmc6IDAgNnB4O1xufVxuXG5cbi8qICBEZXZpY2UgPSBMYXJnZSBEZXNrdG9wc1xuICAgIFNjcmVlbiA9IDEyMDBweCBhbmQgdXAgZGVza3RvcHMgICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBMYXB0b3BzLCBEZXNrdG9wc1xuICAgIFNjcmVlbiA9IEIvdyA5OTJweCB0byAxMTk5cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFRhYmxldHMsIElwYWRzIChwb3J0cmFpdClcbiAgICBTY3JlZW4gPSBCL3cgNzY4cHggdG8gOTkxcHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xuXG59XG5cbi8qICBEZXZpY2UgPSBUYWJsZXRzLCBJcGFkcyAobGFuZHNjYXBlKVxuICAgIFNjcmVlbiA9IEIvdyA3NjhweCB0byA5OTFweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cblxufVxuXG4vKiAgRGV2aWNlID0gTG93IFJlc29sdXRpb24gVGFibGV0cywgTW9iaWxlcyAoTGFuZHNjYXBlKVxuICAgIFNjcmVlbiA9IEIvdyA1NzZweCB0byA3NjdweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG5cbn1cblxuLyogIERldmljZSA9IE1vc3Qgb2YgdGhlIFNtYXJ0cGhvbmVzIE1vYmlsZXMgKFBvcnRyYWl0KVxuICAgIFNjcmVlbiA9IEIvdyAzMjBweCB0byA1NzVweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpIHtcbiAgZm9vdGVyLndlYnNpdGUtZm9vdGVyIC5uYXZiYXItYnJhbmQge1xuICAgIHdpZHRoOiAyMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIHBhZGRpbmc6IC41cmVtIC41cmVtIDA7XG4gIH1cbiAgZm9vdGVyLndlYnNpdGUtZm9vdGVyIC5uYXZiYXItbmF2IC5uYXYtbGluayB7XG4gICAgcGFkZGluZzogMCAuNXJlbTtcbiAgfVxuICBmb290ZXIud2Vic2l0ZS1mb290ZXIgLmFkZHJlc3Mge1xuICAgIC8qXG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICovXG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG4gIGZvb3Rlci53ZWJzaXRlLWZvb3RlciAuY3JlZGl0cyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgLypcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgKi9cbiAgfVxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cblxufSIsIi8qIFRFWFQgRk9OVFMgKi9cbi4tLXQtZmlyYSB7XG4gIGZvbnQtZmFtaWx5OiAnRmlyYSBNb25vJywgc2Fucy1zZXJpZjtcbn1cbi4tLXQtbGF0byB7XG4gIGZvbnQtZmFtaWx5OiAnTGF0bycsIHNhbnMtc2VyaWY7XG59XG5cbi8qIFNJWkVTICovXG4uLS10LW1lbnUtc2l6ZTEge1xuICBmb250LXNpemU6IDQycHg7XG59XG4uLS10LW1lbnUtc2l6ZTIge1xuICBmb250LXNpemU6IDI0cHg7XG59XG4uLS10LXNpemUxIHtcbiAgZm9udC1zaXplOiA2M3B4O1xufVxuLi0tdC1zaXplMiB7XG4gIGZvbnQtc2l6ZTogMzEuNXB4O1xufVxuLi0tdC1zaXplMyB7XG4gIGZvbnQtc2l6ZTogMjFweDtcbn1cbi4tLXQtbWVudS1zaXplMyxcbi4tLXQtc2l6ZTQge1xuICBmb250LXNpemU6IDE4cHg7XG59XG5cbi8qICBEZXZpY2UgPSBEZXNrdG9wc1xuICAgIFNjcmVlbiA9IDEyODFweCB0byBoaWdoZXIgcmVzb2x1dGlvbiBkZXNrdG9wcyAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyODFweCkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODFweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODFweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDEyODFweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODFweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDEyODFweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDEyODFweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IExhcHRvcHMsIERlc2t0b3BzXG4gICAgU2NyZWVuID0gQi93IDEwMjVweCB0byAxMjgwcHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIGFuZCAobWF4LXdpZHRoOiAxMjgwcHgpIHtcbiAgLi0tdC1tZW51LXNpemUxIHtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gIH1cbiAgLi0tdC1tZW51LXNpemUyIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gIH1cbiAgLi0tdC1zaXplMSB7XG4gICAgZm9udC1zaXplOiAzNnB4O1xuICB9XG4gIC4tLXQtc2l6ZTIge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgfVxuICAuLS10LXNpemUzIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gIH1cbiAgLi0tdC1tZW51LXNpemUzLFxuICAuLS10LXNpemU0IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIGFuZCAobWF4LXdpZHRoOiAxMjgwcHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIGFuZCAobWF4LXdpZHRoOiAxMjgwcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIGFuZCAobWF4LXdpZHRoOiAxMjgwcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIGFuZCAobWF4LXdpZHRoOiAxMjgwcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIGFuZCAobWF4LXdpZHRoOiAxMjgwcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIGFuZCAobWF4LXdpZHRoOiAxMjgwcHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBUYWJsZXRzLCBJcGFkcyAocG9ydHJhaXQpXG4gICAgU2NyZWVuID0gQi93IDc2OHB4IHRvIDEwMjRweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gIC4tLXQtbWVudS1zaXplMSB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICB9XG4gIC4tLXQtbWVudS1zaXplMiB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICB9XG4gIC4tLXQtc2l6ZTEge1xuICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgfVxuICAuLS10LXNpemUyIHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gIH1cbiAgLi0tdC1zaXplMyB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICB9XG4gIC4tLXQtbWVudS1zaXplMyxcbiAgLi0tdC1zaXplNCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogMTAyNHB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xuXG59XG5cbi8qICBEZXZpY2UgPSBUYWJsZXRzLCBJcGFkcyAobGFuZHNjYXBlKVxuICAgIFNjcmVlbiA9IEIvdyA3NjhweCB0byAxMDI0cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC4tLXQtbWVudS1zaXplMSB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICB9XG4gIC4tLXQtbWVudS1zaXplMiB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICB9XG4gIC4tLXQtc2l6ZTEge1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgfVxuICAuLS10LXNpemUyIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gIH1cbiAgLi0tdC1zaXplMyB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICB9XG4gIC4tLXQtbWVudS1zaXplMyxcbiAgLi0tdC1zaXplNCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogMTAyNHB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogMTAyNHB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xuXG59XG5cbi8qICBEZXZpY2UgPSBMb3cgUmVzb2x1dGlvbiBUYWJsZXRzLCBNb2JpbGVzIChMYW5kc2NhcGUpXG4gICAgU2NyZWVuID0gQi93IDQ4MXB4IHRvIDc2N3B4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgxcHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuLS10LW1lbnUtc2l6ZTEge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgfVxuICAuLS10LW1lbnUtc2l6ZTIge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgfVxuICAuLS10LXNpemUxIHtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gIH1cbiAgLi0tdC1zaXplMiB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICB9XG4gIC4tLXQtc2l6ZTMge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgfVxuICAuLS10LW1lbnUtc2l6ZTMsXG4gIC4tLXQtc2l6ZTQge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDQ4MXB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA0ODFweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogNDgxcHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDQ4MXB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA0ODFweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogNDgxcHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cblxufVxuXG4vKiAgRGV2aWNlID0gTW9zdCBvZiB0aGUgU21hcnRwaG9uZXMgTW9iaWxlcyAoUG9ydHJhaXQpXG4gICAgU2NyZWVuID0gQi93IDMyMHB4IHRvIDQ3OXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAuLS10LW1lbnUtc2l6ZTEge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgfVxuICAuLS10LW1lbnUtc2l6ZTIge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgfVxuICAuLS10LXNpemUxIHtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gIH1cbiAgLi0tdC1zaXplMiB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICB9XG4gIC4tLXQtc2l6ZTMge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgfVxuICAuLS10LW1lbnUtc2l6ZTMsXG4gIC4tLXQtc2l6ZTQge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNDgwcHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA0ODBweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNDgwcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cblxufVxuXG4vKiBMSU5FLUhFSUdIVFMgKi9cbltjbGFzc149J2hlYWRpbmctJ10ge1xuICBsaW5lLWhlaWdodDogMWVtO1xufVxuLi0tc3ViaGVhZGluZyxcbltjbGFzc149J3BhcmFncmFwaC0nXSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjRlbTtcbn1cblxuLyogV0VJR0hUUyAqL1xuLi0tdC13ZWlnaHQxMDAge1xuICBmb250LXdlaWdodDogMTAwO1xufVxuLi0tdC13ZWlnaHQyMDAge1xuICBmb250LXdlaWdodDogMjAwO1xufVxuLi0tdC13ZWlnaHQzMDAge1xuICBmb250LXdlaWdodDogMzAwO1xufVxuLi0tdC13ZWlnaHQ0MDAge1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLi0tdC13ZWlnaHQ1MDAge1xuICBmb250LXdlaWdodDogNTAwO1xufVxuLi0tdC13ZWlnaHQ2MDAge1xuICBmb250LXdlaWdodDogNjAwO1xufVxuLi0tdC13ZWlnaHQ3MDAge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuLi0tdC13ZWlnaHQ4MDAge1xuICBmb250LXdlaWdodDogODAwO1xufVxuLi0tdC13ZWlnaHQ5MDAge1xuICBmb250LXdlaWdodDogOTAwO1xufVxuXG4vKiAgRGV2aWNlID0gTGFyZ2UgRGVza3RvcHNcbiAgICBTY3JlZW4gPSAxMjAwcHggYW5kIHVwIGRlc2t0b3BzICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC4tLXQtd2VpZ2h0MTAwLXhsIHtcbiAgICBmb250LXdlaWdodDogMTAwO1xuICB9XG4gIC4tLXQtd2VpZ2h0MjAwLXhsIHtcbiAgICBmb250LXdlaWdodDogMjAwO1xuICB9XG4gIC4tLXQtd2VpZ2h0MzAwLXhsIHtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICB9XG4gIC4tLXQtd2VpZ2h0NDAwLXhsIHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICB9XG4gIC4tLXQtd2VpZ2h0NTAwLXhsIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG4gIC4tLXQtd2VpZ2h0NjAwLXhsIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG4gIC4tLXQtd2VpZ2h0NzAwLXhsIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICB9XG4gIC4tLXQtd2VpZ2h0ODAwLXhsIHtcbiAgICBmb250LXdlaWdodDogODAwO1xuICB9XG4gIC4tLXQtd2VpZ2h0OTAwLXhsIHtcbiAgICBmb250LXdlaWdodDogOTAwO1xuICB9XG59XG5cbi8qICBEZXZpY2UgPSBMYXB0b3BzLCBEZXNrdG9wc1xuICAgIFNjcmVlbiA9IEIvdyA5OTJweCB0byAxMTk5cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAuLS10LXdlaWdodDEwMC1sZyB7XG4gICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgfVxuICAuLS10LXdlaWdodDIwMC1sZyB7XG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgfVxuICAuLS10LXdlaWdodDMwMC1sZyB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgfVxuICAuLS10LXdlaWdodDQwMC1sZyB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgfVxuICAuLS10LXdlaWdodDUwMC1sZyB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuICAuLS10LXdlaWdodDYwMC1sZyB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfVxuICAuLS10LXdlaWdodDcwMC1sZyB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgfVxuICAuLS10LXdlaWdodDgwMC1sZyB7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgfVxuICAuLS10LXdlaWdodDkwMC1sZyB7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgfVxufVxuXG4vKiAgRGV2aWNlID0gVGFibGV0cywgSXBhZHMgKHBvcnRyYWl0KVxuICAgIFNjcmVlbiA9IEIvdyA3NjhweCB0byA5OTFweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLi0tdC13ZWlnaHQxMDAtbWQge1xuICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gIH1cbiAgLi0tdC13ZWlnaHQyMDAtbWQge1xuICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gIH1cbiAgLi0tdC13ZWlnaHQzMDAtbWQge1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIH1cbiAgLi0tdC13ZWlnaHQ0MDAtbWQge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIH1cbiAgLi0tdC13ZWlnaHQ1MDAtbWQge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cbiAgLi0tdC13ZWlnaHQ2MDAtbWQge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIH1cbiAgLi0tdC13ZWlnaHQ3MDAtbWQge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIH1cbiAgLi0tdC13ZWlnaHQ4MDAtbWQge1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIH1cbiAgLi0tdC13ZWlnaHQ5MDAtbWQge1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIH1cbn1cblxuLyogIERldmljZSA9IFRhYmxldHMsIElwYWRzIChsYW5kc2NhcGUpXG4gICAgU2NyZWVuID0gQi93IDc2OHB4IHRvIDk5MXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC4tLXQtd2VpZ2h0MTAwLW1kIHtcbiAgICBmb250LXdlaWdodDogMTAwO1xuICB9XG4gIC4tLXQtd2VpZ2h0MjAwLW1kIHtcbiAgICBmb250LXdlaWdodDogMjAwO1xuICB9XG4gIC4tLXQtd2VpZ2h0MzAwLW1kIHtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICB9XG4gIC4tLXQtd2VpZ2h0NDAwLW1kIHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICB9XG4gIC4tLXQtd2VpZ2h0NTAwLW1kIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG4gIC4tLXQtd2VpZ2h0NjAwLW1kIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG4gIC4tLXQtd2VpZ2h0NzAwLW1kIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICB9XG4gIC4tLXQtd2VpZ2h0ODAwLW1kIHtcbiAgICBmb250LXdlaWdodDogODAwO1xuICB9XG4gIC4tLXQtd2VpZ2h0OTAwLW1kIHtcbiAgICBmb250LXdlaWdodDogOTAwO1xuICB9XG59XG5cbi8qICBEZXZpY2UgPSBMb3cgUmVzb2x1dGlvbiBUYWJsZXRzLCBNb2JpbGVzIChMYW5kc2NhcGUpXG4gICAgU2NyZWVuID0gQi93IDU3NnB4IHRvIDc2N3B4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuLS10LXdlaWdodDEwMC1zbSB7XG4gICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgfVxuICAuLS10LXdlaWdodDIwMC1zbSB7XG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgfVxuICAuLS10LXdlaWdodDMwMC1zbSB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgfVxuICAuLS10LXdlaWdodDQwMC1zbSB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgfVxuICAuLS10LXdlaWdodDUwMC1zbSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuICAuLS10LXdlaWdodDYwMC1zbSB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfVxuICAuLS10LXdlaWdodDcwMC1zbSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgfVxuICAuLS10LXdlaWdodDgwMC1zbSB7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgfVxuICAuLS10LXdlaWdodDkwMC1zbSB7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgfVxufVxuXG4vKiAgRGV2aWNlID0gTW9zdCBvZiB0aGUgU21hcnRwaG9uZXMgTW9iaWxlcyAoUG9ydHJhaXQpXG4gICAgU2NyZWVuID0gQi93IDMyMHB4IHRvIDU3NXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkge1xuICAuLS10LXdlaWdodDEwMC14cyB7XG4gICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgfVxuICAuLS10LXdlaWdodDIwMC14cyB7XG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgfVxuICAuLS10LXdlaWdodDMwMC14cyB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgfVxuICAuLS10LXdlaWdodDQwMC14cyB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgfVxuICAuLS10LXdlaWdodDUwMC14cyB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuICAuLS10LXdlaWdodDYwMC14cyB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfVxuICAuLS10LXdlaWdodDcwMC14cyB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgfVxuICAuLS10LXdlaWdodDgwMC14cyB7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgfVxuICAuLS10LXdlaWdodDkwMC14cyB7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgfVxufVxuXG4vKiBDT0xPUlMgKi9cbi4tLXQtYmxhY2ssXG4uLS10LWhvdmVyLWJsYWNrOmhvdmVyIHtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uLS10LXdoaXRlLFxuLi0tdC1ob3Zlci13aGl0ZTpob3ZlcntcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4uLS10LXJlZCxcbi4tLXQtaG92ZXItcmVkOmhvdmVyIHtcbiAgY29sb3I6ICNmZjAwMDA7XG59XG4uLS10LWRibHVlLFxuLi0tdC1ob3Zlci1kYmx1ZTpob3ZlciB7XG4gIGNvbG9yOiAjMTYyMTJmO1xufVxuLi0tdC1kZ3JleS0xLFxuLi0tdC1ob3Zlci1kZ3JleS0xOmhvdmVyIHtcbiAgY29sb3I6ICMxMjEyMTI7XG59XG4uLS10LWRncmV5LTIsXG4uLS10LWhvdmVyLWRncmV5LTI6aG92ZXIge1xuICBjb2xvcjogIzIzMjMyMztcbn1cbi4tLXQtZGdyZXktMyxcbi4tLXQtaG92ZXItZGdyZXktMzpob3ZlciB7XG4gIGNvbG9yOiAjMzQzNDM0O1xufVxuLi0tdC1ncmV5LTEsXG4uLS10LWhvdmVyLWdyZXktMTpob3ZlciB7XG4gIGNvbG9yOiAjNjY2NjY2O1xufVxuLi0tdC1ncmV5LTIsXG4uLS10LWhvdmVyLWdyZXktMjpob3ZlciB7XG4gIGNvbG9yOiAjNzg3ODc4O1xufVxuLi0tdC1ncmV5LTMsXG4uLS10LWhvdmVyLWdyZXktMzpob3ZlciB7XG4gIGNvbG9yOiAjOTg5ODk4O1xufVxuXG4vKiAgRGV2aWNlID0gTGFyZ2UgRGVza3RvcHNcbiAgICBTY3JlZW4gPSAxMjAwcHggYW5kIHVwIGRlc2t0b3BzICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC4tLXQtYmxhY2steGwsXG4gIC4tLXQtaG92ZXItYmxhY2steGw6aG92ZXIge1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICB9XG4gIC4tLXQtd2hpdGUteGwsXG4gIC4tLXQtaG92ZXItd2hpdGUteGw6aG92ZXJ7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gIH1cbiAgLi0tdC1yZWQteGwsXG4gIC4tLXQtaG92ZXItcmVkLXhsOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmMDAwMDtcbiAgfVxuICAuLS10LWRibHVlLXhsLFxuICAuLS10LWhvdmVyLWRibHVlLXhsOmhvdmVyIHtcbiAgICBjb2xvcjogIzE2MjEyZjtcbiAgfVxuICAuLS10LWRncmV5LTEteGwsXG4gIC4tLXQtaG92ZXItZGdyZXktMS14bDpob3ZlciB7XG4gICAgY29sb3I6ICMxMjEyMTI7XG4gIH1cbiAgLi0tdC1kZ3JleS0yLXhsLFxuICAuLS10LWhvdmVyLWRncmV5LTIteGw6aG92ZXIge1xuICAgIGNvbG9yOiAjMjMyMzIzO1xuICB9XG4gIC4tLXQtZGdyZXktMy14bCxcbiAgLi0tdC1ob3Zlci1kZ3JleS0zLXhsOmhvdmVyIHtcbiAgICBjb2xvcjogIzM0MzQzNDtcbiAgfVxuICAuLS10LWdyZXktMS14bCxcbiAgLi0tdC1ob3Zlci1ncmV5LTEteGw6aG92ZXIge1xuICAgIGNvbG9yOiAjNjY2NjY2O1xuICB9XG4gIC4tLXQtZ3JleS0yLXhsLFxuICAuLS10LWhvdmVyLWdyZXktMi14bDpob3ZlciB7XG4gICAgY29sb3I6ICM3ODc4Nzg7XG4gIH1cbiAgLi0tdC1ncmV5LTMteGwsXG4gIC4tLXQtaG92ZXItZ3JleS0zLXhsOmhvdmVyIHtcbiAgICBjb2xvcjogIzk4OTg5ODtcbiAgfVxufVxuXG4vKiAgRGV2aWNlID0gTGFwdG9wcywgRGVza3RvcHNcbiAgICBTY3JlZW4gPSBCL3cgOTkycHggdG8gMTE5OXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLi0tdC1ibGFjay1sZyxcbiAgLi0tdC1ob3Zlci1ibGFjay1sZzpob3ZlciB7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gIH1cbiAgLi0tdC13aGl0ZS1sZyxcbiAgLi0tdC1ob3Zlci13aGl0ZS1sZzpob3ZlcntcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgfVxuICAuLS10LXJlZC1sZyxcbiAgLi0tdC1ob3Zlci1yZWQtbGc6aG92ZXIge1xuICAgIGNvbG9yOiAjZmYwMDAwO1xuICB9XG4gIC4tLXQtZGJsdWUtbGcsXG4gIC4tLXQtaG92ZXItZGJsdWUtbGc6aG92ZXIge1xuICAgIGNvbG9yOiAjMTYyMTJmO1xuICB9XG4gIC4tLXQtZGdyZXktMS1sZyxcbiAgLi0tdC1ob3Zlci1kZ3JleS0xLWxnOmhvdmVyIHtcbiAgICBjb2xvcjogIzEyMTIxMjtcbiAgfVxuICAuLS10LWRncmV5LTItbGcsXG4gIC4tLXQtaG92ZXItZGdyZXktMi1sZzpob3ZlciB7XG4gICAgY29sb3I6ICMyMzIzMjM7XG4gIH1cbiAgLi0tdC1kZ3JleS0zLWxnLFxuICAuLS10LWhvdmVyLWRncmV5LTMtbGc6aG92ZXIge1xuICAgIGNvbG9yOiAjMzQzNDM0O1xuICB9XG4gIC4tLXQtZ3JleS0xLWxnLFxuICAuLS10LWhvdmVyLWdyZXktMS1sZzpob3ZlciB7XG4gICAgY29sb3I6ICM2NjY2NjY7XG4gIH1cbiAgLi0tdC1ncmV5LTItbGcsXG4gIC4tLXQtaG92ZXItZ3JleS0yLWxnOmhvdmVyIHtcbiAgICBjb2xvcjogIzc4Nzg3ODtcbiAgfVxuICAuLS10LWdyZXktMy1sZyxcbiAgLi0tdC1ob3Zlci1ncmV5LTMtbGc6aG92ZXIge1xuICAgIGNvbG9yOiAjOTg5ODk4O1xuICB9XG59XG5cbi8qICBEZXZpY2UgPSBUYWJsZXRzLCBJcGFkcyAocG9ydHJhaXQpXG4gICAgU2NyZWVuID0gQi93IDc2OHB4IHRvIDk5MXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAuLS10LWJsYWNrLW1kLFxuICAuLS10LWhvdmVyLWJsYWNrLW1kOmhvdmVyIHtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgfVxuICAuLS10LXdoaXRlLW1kLFxuICAuLS10LWhvdmVyLXdoaXRlLW1kOmhvdmVye1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICB9XG4gIC4tLXQtcmVkLW1kLFxuICAuLS10LWhvdmVyLXJlZC1tZDpob3ZlciB7XG4gICAgY29sb3I6ICNmZjAwMDA7XG4gIH1cbiAgLi0tdC1kYmx1ZS1tZCxcbiAgLi0tdC1ob3Zlci1kYmx1ZS1tZDpob3ZlciB7XG4gICAgY29sb3I6ICMxNjIxMmY7XG4gIH1cbiAgLi0tdC1kZ3JleS0xLW1kLFxuICAuLS10LWhvdmVyLWRncmV5LTEtbWQ6aG92ZXIge1xuICAgIGNvbG9yOiAjMTIxMjEyO1xuICB9XG4gIC4tLXQtZGdyZXktMi1tZCxcbiAgLi0tdC1ob3Zlci1kZ3JleS0yLW1kOmhvdmVyIHtcbiAgICBjb2xvcjogIzIzMjMyMztcbiAgfVxuICAuLS10LWRncmV5LTMtbWQsXG4gIC4tLXQtaG92ZXItZGdyZXktMy1tZDpob3ZlciB7XG4gICAgY29sb3I6ICMzNDM0MzQ7XG4gIH1cbiAgLi0tdC1ncmV5LTEtbWQsXG4gIC4tLXQtaG92ZXItZ3JleS0xLW1kOmhvdmVyIHtcbiAgICBjb2xvcjogIzY2NjY2NjtcbiAgfVxuICAuLS10LWdyZXktMi1tZCxcbiAgLi0tdC1ob3Zlci1ncmV5LTItbWQ6aG92ZXIge1xuICAgIGNvbG9yOiAjNzg3ODc4O1xuICB9XG4gIC4tLXQtZ3JleS0zLW1kLFxuICAuLS10LWhvdmVyLWdyZXktMy1tZDpob3ZlciB7XG4gICAgY29sb3I6ICM5ODk4OTg7XG4gIH1cbn1cblxuLyogIERldmljZSA9IFRhYmxldHMsIElwYWRzIChsYW5kc2NhcGUpXG4gICAgU2NyZWVuID0gQi93IDc2OHB4IHRvIDk5MXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC4tLXQtYmxhY2stbWQsXG4gIC4tLXQtaG92ZXItYmxhY2stbWQ6aG92ZXIge1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICB9XG4gIC4tLXQtd2hpdGUtbWQsXG4gIC4tLXQtaG92ZXItd2hpdGUtbWQ6aG92ZXJ7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gIH1cbiAgLi0tdC1yZWQtbWQsXG4gIC4tLXQtaG92ZXItcmVkLW1kOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmMDAwMDtcbiAgfVxuICAuLS10LWRibHVlLW1kLFxuICAuLS10LWhvdmVyLWRibHVlLW1kOmhvdmVyIHtcbiAgICBjb2xvcjogIzE2MjEyZjtcbiAgfVxuICAuLS10LWRncmV5LTEtbWQsXG4gIC4tLXQtaG92ZXItZGdyZXktMS1tZDpob3ZlciB7XG4gICAgY29sb3I6ICMxMjEyMTI7XG4gIH1cbiAgLi0tdC1kZ3JleS0yLW1kLFxuICAuLS10LWhvdmVyLWRncmV5LTItbWQ6aG92ZXIge1xuICAgIGNvbG9yOiAjMjMyMzIzO1xuICB9XG4gIC4tLXQtZGdyZXktMy1tZCxcbiAgLi0tdC1ob3Zlci1kZ3JleS0zLW1kOmhvdmVyIHtcbiAgICBjb2xvcjogIzM0MzQzNDtcbiAgfVxuICAuLS10LWdyZXktMS1tZCxcbiAgLi0tdC1ob3Zlci1ncmV5LTEtbWQ6aG92ZXIge1xuICAgIGNvbG9yOiAjNjY2NjY2O1xuICB9XG4gIC4tLXQtZ3JleS0yLW1kLFxuICAuLS10LWhvdmVyLWdyZXktMi1tZDpob3ZlciB7XG4gICAgY29sb3I6ICM3ODc4Nzg7XG4gIH1cbiAgLi0tdC1ncmV5LTMtbWQsXG4gIC4tLXQtaG92ZXItZ3JleS0zLW1kOmhvdmVyIHtcbiAgICBjb2xvcjogIzk4OTg5ODtcbiAgfVxufVxuXG4vKiAgRGV2aWNlID0gTG93IFJlc29sdXRpb24gVGFibGV0cywgTW9iaWxlcyAoTGFuZHNjYXBlKVxuICAgIFNjcmVlbiA9IEIvdyA1NzZweCB0byA3NjdweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLi0tdC1ibGFjay1zbSxcbiAgLi0tdC1ob3Zlci1ibGFjay1zbTpob3ZlciB7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gIH1cbiAgLi0tdC13aGl0ZS1zbSxcbiAgLi0tdC1ob3Zlci13aGl0ZS1zbTpob3ZlcntcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgfVxuICAuLS10LXJlZC1zbSxcbiAgLi0tdC1ob3Zlci1yZWQtc206aG92ZXIge1xuICAgIGNvbG9yOiAjZmYwMDAwO1xuICB9XG4gIC4tLXQtZGJsdWUtc20sXG4gIC4tLXQtaG92ZXItZGJsdWUtc206aG92ZXIge1xuICAgIGNvbG9yOiAjMTYyMTJmO1xuICB9XG4gIC4tLXQtZGdyZXktMS1zbSxcbiAgLi0tdC1ob3Zlci1kZ3JleS0xLXNtOmhvdmVyIHtcbiAgICBjb2xvcjogIzEyMTIxMjtcbiAgfVxuICAuLS10LWRncmV5LTItc20sXG4gIC4tLXQtaG92ZXItZGdyZXktMi1zbTpob3ZlciB7XG4gICAgY29sb3I6ICMyMzIzMjM7XG4gIH1cbiAgLi0tdC1kZ3JleS0zLXNtLFxuICAuLS10LWhvdmVyLWRncmV5LTMtc206aG92ZXIge1xuICAgIGNvbG9yOiAjMzQzNDM0O1xuICB9XG4gIC4tLXQtZ3JleS0xLXNtLFxuICAuLS10LWhvdmVyLWdyZXktMS1zbTpob3ZlciB7XG4gICAgY29sb3I6ICM2NjY2NjY7XG4gIH1cbiAgLi0tdC1ncmV5LTItc20sXG4gIC4tLXQtaG92ZXItZ3JleS0yLXNtOmhvdmVyIHtcbiAgICBjb2xvcjogIzc4Nzg3ODtcbiAgfVxuICAuLS10LWdyZXktMy1zbSxcbiAgLi0tdC1ob3Zlci1ncmV5LTMtc206aG92ZXIge1xuICAgIGNvbG9yOiAjOTg5ODk4O1xuICB9XG59XG5cbi8qICBEZXZpY2UgPSBNb3N0IG9mIHRoZSBTbWFydHBob25lcyBNb2JpbGVzIChQb3J0cmFpdClcbiAgICBTY3JlZW4gPSBCL3cgMzIwcHggdG8gNTc1cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSB7XG4gIC4tLXQtYmxhY2steHMsXG4gIC4tLXQtaG92ZXItYmxhY2steHM6aG92ZXIge1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICB9XG4gIC4tLXQtd2hpdGUteHMsXG4gIC4tLXQtaG92ZXItd2hpdGUteHM6aG92ZXJ7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gIH1cbiAgLi0tdC1yZWQteHMsXG4gIC4tLXQtaG92ZXItcmVkLXhzOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmMDAwMDtcbiAgfVxuICAuLS10LWRibHVlLXhzLFxuICAuLS10LWhvdmVyLWRibHVlLXhzOmhvdmVyIHtcbiAgICBjb2xvcjogIzE2MjEyZjtcbiAgfVxuICAuLS10LWRncmV5LTEteHMsXG4gIC4tLXQtaG92ZXItZGdyZXktMS14czpob3ZlciB7XG4gICAgY29sb3I6ICMxMjEyMTI7XG4gIH1cbiAgLi0tdC1kZ3JleS0yLXhzLFxuICAuLS10LWhvdmVyLWRncmV5LTIteHM6aG92ZXIge1xuICAgIGNvbG9yOiAjMjMyMzIzO1xuICB9XG4gIC4tLXQtZGdyZXktMy14cyxcbiAgLi0tdC1ob3Zlci1kZ3JleS0zLXhzOmhvdmVyIHtcbiAgICBjb2xvcjogIzM0MzQzNDtcbiAgfVxuICAuLS10LWdyZXktMS14cyxcbiAgLi0tdC1ob3Zlci1ncmV5LTEteHM6aG92ZXIge1xuICAgIGNvbG9yOiAjNjY2NjY2O1xuICB9XG4gIC4tLXQtZ3JleS0yLXhzLFxuICAuLS10LWhvdmVyLWdyZXktMi14czpob3ZlciB7XG4gICAgY29sb3I6ICM3ODc4Nzg7XG4gIH1cbiAgLi0tdC1ncmV5LTMteHMsXG4gIC4tLXQtaG92ZXItZ3JleS0zLXhzOmhvdmVyIHtcbiAgICBjb2xvcjogIzk4OTg5ODtcbiAgfVxufVxuXG4vKiBUUkFOU0ZPUk1TICovXG4uLS10LXVwcGVyIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi4tLXQtY2FwaXRhbCB7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xufVxuLi0tdC1sb3dlciB7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG59XG4vKiBBTElHTlMgKi9cbi4tLXQtYWxpZ24tY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLi0tdC1hbGlnbi1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi4tLXQtYWxpZ24tcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi8qIFNRVU9UICovXG4uLS1oZWFkaW5nLXNxdW90IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAzNXB4O1xufVxuLi0taGVhZGluZy1zcXVvdDo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDIycHg7XG4gIGhlaWdodDogMjBweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBiYWNrZ3JvdW5kOiAjZmYwMDAwO1xuICBtYXJnaW4tdG9wOiAtMzBweDtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG4uLS1oZWFkaW5nLXNxdW90Li0tc3F1b3QtbGVmdDo6YmVmb3JlIHtcbiAgbGVmdDogMDtcbiAgdHJhbnNmb3JtOiBub25lO1xufVxuLi0taGVhZGluZy1zcXVvdC4tLXNxdW90LXJpZ2h0OjpiZWZvcmUge1xuICBsZWZ0OiB1bnNldDtcbiAgcmlnaHQ6IDA7XG4gIHRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyogIERldmljZSA9IExhcmdlIERlc2t0b3BzXG4gICAgU2NyZWVuID0gMTIwMHB4IGFuZCB1cCBkZXNrdG9wcyAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyMDBweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyMDBweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDEyMDBweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyMDBweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDEyMDBweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IExhcHRvcHMsIERlc2t0b3BzXG4gICAgU2NyZWVuID0gQi93IDk5MnB4IHRvIDExOTlweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gVGFibGV0cywgSXBhZHMgKHBvcnRyYWl0KVxuICAgIFNjcmVlbiA9IEIvdyA3NjhweCB0byA5OTFweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG5cbn1cblxuLyogIERldmljZSA9IFRhYmxldHMsIElwYWRzIChsYW5kc2NhcGUpXG4gICAgU2NyZWVuID0gQi93IDc2OHB4IHRvIDk5MXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xuXG59XG5cbi8qICBEZXZpY2UgPSBMb3cgUmVzb2x1dGlvbiBUYWJsZXRzLCBNb2JpbGVzIChMYW5kc2NhcGUpXG4gICAgU2NyZWVuID0gQi93IDU3NnB4IHRvIDc2N3B4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cblxufVxuXG4vKiAgRGV2aWNlID0gTW9zdCBvZiB0aGUgU21hcnRwaG9uZXMgTW9iaWxlcyAoUG9ydHJhaXQpXG4gICAgU2NyZWVuID0gQi93IDMyMHB4IHRvIDU3NXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkge1xuICAuLS1oZWFkaW5nLXNxdW90OjpiZWZvcmUge1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBtYXJnaW4tdG9wOiAtMjJweDtcbiAgfVxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cblxufSIsIi8qIENBUk9VU0VMIE1BVEVSSUFMIEFMUEhBLVRPUCAqL1xuLmNhcm91c2VsLWl0ZW0gLmNhcm91c2VsLWNhcHRpb24gLi0tdHJhbnMtYWxwaGEtdG9wIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvcGFjaXR5OiAwO1xuICB0b3A6IDMwcHg7XG4gIHRyYW5zZm9ybTogcm90YXRlWigtLjFkZWcpO1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMzMzbXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksXG4gICAgICB0b3AgNjY2bXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksXG4gICAgICB0cmFuc2Zvcm0gMzMzbXMgbGluZWFyO1xuICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgMzMzbXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksXG4gICAgICB0b3AgNjY2bXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksXG4gICAgICB0cmFuc2Zvcm0gMzMzbXMgbGluZWFyO1xuICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IDMzM21zIGN1YmljLWJlemllciguNCwwLC4yLDEpLFxuICAgICAgdG9wIDY2Nm1zIGN1YmljLWJlemllciguNCwwLC4yLDEpLFxuICAgICAgdHJhbnNmb3JtIDMzM21zIGxpbmVhcjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMzNtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSxcbiAgICAgIHRvcCA2NjZtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSxcbiAgICAgIHRyYW5zZm9ybSAzMzNtcyBsaW5lYXI7XG59XG4uY2Fyb3VzZWwtaXRlbS5hY3RpdmUgIC5jYXJvdXNlbC1jYXB0aW9uIC4tLXRyYW5zLWFscGhhLXRvcC1hY3RpdmUge1xuICBvcGFjaXR5OiAxO1xuICB0b3A6IDA7XG4gIHRyYW5zZm9ybTogcm90YXRlWigwZGVnKTtcbn1cblxuLyogR0VORVJJQyArIERVUkFUSU9OUyArIEVBU0UgKi9cbi4tLXRyYW5zLWluc3RhLWVhc2Uge1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAxNjZtcyBlYXNlO1xuICAtbW96LXRyYW5zaXRpb246IGFsbCAxNjZtcyBlYXNlO1xuICAtby10cmFuc2l0aW9uOiBhbGwgMTY2bXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogYWxsIDE2Nm1zIGVhc2U7XG59XG4uLS10cmFucy1zaG9ydC1lYXNlIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMzMzbXMgZWFzZTtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMzMzbXMgZWFzZTtcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDMzM21zIGVhc2U7XG4gIHRyYW5zaXRpb246IGFsbCAzMzNtcyBlYXNlO1xufVxuLi0tdHJhbnMtbWlkLWVhc2Uge1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCA2NjZtcyBlYXNlO1xuICAtbW96LXRyYW5zaXRpb246IGFsbCA2NjZtcyBlYXNlO1xuICAtby10cmFuc2l0aW9uOiBhbGwgNjY2bXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogYWxsIDY2Nm1zIGVhc2U7XG59XG4uLS10cmFucy1sb25nLWVhc2Uge1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCA5OTltcyBlYXNlO1xuICAtbW96LXRyYW5zaXRpb246IGFsbCA5OTltcyBlYXNlO1xuICAtby10cmFuc2l0aW9uOiBhbGwgOTk5bXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogYWxsIDk5OW1zIGVhc2U7XG59XG5cbi8qIEdFTkVSSUMgKyBEVVJBVElPTlMgKyBCRVpJRVIgY3ViaWMtYmV6aWVyKDAuNzg1LCAwLjEzNSwgMC4xNSwgMC44NikgKi9cbi4tLXRyYW5zLWluc3RhLWJlemllciB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDMzM21zIGN1YmljLWJlemllciguNCwwLC4yLDEpO1xuICAtbW96LXRyYW5zaXRpb246IGFsbCAzMzNtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDMzM21zIGN1YmljLWJlemllciguNCwwLC4yLDEpO1xuICB0cmFuc2l0aW9uOiBhbGwgMzMzbXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7XG59XG4uLS10cmFucy1zaG9ydC1iZXppZXIge1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAzMzNtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMzMzbXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7XG4gIC1vLXRyYW5zaXRpb246IGFsbCAzMzNtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtcbiAgdHJhbnNpdGlvbjogYWxsIDMzM21zIGN1YmljLWJlemllciguNCwwLC4yLDEpO1xufVxuLi0tdHJhbnMtbWlkLWJlemllciB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDY2Nm1zIGN1YmljLWJlemllciguNCwwLC4yLDEpO1xuICAtbW96LXRyYW5zaXRpb246IGFsbCA2NjZtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDY2Nm1zIGN1YmljLWJlemllciguNCwwLC4yLDEpO1xuICB0cmFuc2l0aW9uOiBhbGwgNjY2bXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7XG59XG4uLS10cmFucy1sb25nLWJlemllciB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDk5OW1zIGN1YmljLWJlemllciguNCwwLC4yLDEpO1xuICAtbW96LXRyYW5zaXRpb246IGFsbCA5OTltcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDk5OW1zIGN1YmljLWJlemllciguNCwwLC4yLDEpO1xuICB0cmFuc2l0aW9uOiBhbGwgOTk5bXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7XG59XG5cbi8qIERFTEFZUyAqL1xuLi0tdHJhbnMtaW5zdGEtZGVsYXkge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDE2Nm1zO1xuICAtbW96LXRyYW5zaXRpb24tZGVsYXk6IDE2Nm1zO1xuICAtby10cmFuc2l0aW9uLWRlbGF5OiAxNjZtcztcbiAgdHJhbnNpdGlvbi1kZWxheTogMTY2bXM7XG59XG4uLS10cmFucy1zaG9ydC1kZWxheSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogMzMzbXM7XG4gIC1tb3otdHJhbnNpdGlvbi1kZWxheTogMzMzbXM7XG4gIC1vLXRyYW5zaXRpb24tZGVsYXk6IDMzM21zO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAzMzNtcztcbn1cbi4tLXRyYW5zLW1pZC1kZWxheSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogNjY2bXM7XG4gIC1tb3otdHJhbnNpdGlvbi1kZWxheTogNjY2bXM7XG4gIC1vLXRyYW5zaXRpb24tZGVsYXk6IDY2Nm1zO1xuICB0cmFuc2l0aW9uLWRlbGF5OiA2NjZtcztcbn1cbi4tLXRyYW5zLWxvbmctZGVsYXkge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDk5OW1zO1xuICAtbW96LXRyYW5zaXRpb24tZGVsYXk6IDk5OW1zO1xuICAtby10cmFuc2l0aW9uLWRlbGF5OiA5OTltcztcbiAgdHJhbnNpdGlvbi1kZWxheTogOTk5bXM7XG59XG4iLCIvKiBGT1JNIEpVTUJPVFJPTiAqL1xuI2Zvcm0tanVtYm90cm9uIHtcbiAgLypcbiAgcGFkZGluZzogMTIwcHggMDtcbiAgKi9cbiAgcGFkZGluZzogMjQwcHggMDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi8uLi8uLi9zcmMvYXNzZXRzL2ltYWdlcy9mb3JtLWp1bWJvdHJvbi1iZy5qcGcnKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGxlZnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4jZm9ybS1qdW1ib3Ryb24ubWFwIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi8uLi8uLi9zcmMvYXNzZXRzL2ltYWdlcy9mb3JtLWp1bWJvdHJvbi1tYXAtYmcuanBnJyk7XG59XG4jZm9ybS1qdW1ib3Ryb24gLmZvcm0ge1xufVxuI2Zvcm0tanVtYm90cm9uIC5oZWFkaW5nLWJsb2NrIHtcbiAgcGFkZGluZzogMzBweCAzMHB4IDE1cHg7XG4gIG1hcmdpbjogMDtcbn1cbiNmb3JtLWp1bWJvdHJvbiAuLS1oZWFkaW5nLWJsb2NrLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuODUpO1xufVxuI2Zvcm0tanVtYm90cm9uIC53cGNmNyB7XG4gIHBhZGRpbmc6IDYwcHggMzBweCAzMHB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwwLDAsLjgpO1xufVxuI2Zvcm0tanVtYm90cm9uIC53cGNmNyBhLFxuI2Zvcm0tanVtYm90cm9uIC53cGNmNyBhOmhvdmVyXG4jZm9ybS1qdW1ib3Ryb24gLndwY2Y3IGE6Zm9jdXMsXG4jZm9ybS1qdW1ib3Ryb24gLndwY2Y3IGE6dmlzaXRlZCxcbiNmb3JtLWp1bWJvdHJvbiAud3BjZjcgYTphY3RpdmUge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi53cGNmNy1mb3JtID4gOm50aC1jaGlsZCgyKSxcbi53cGNmNy1mb3JtID4gOm50aC1jaGlsZCgzKSxcbi53cGNmNy1mb3JtID4gOm50aC1jaGlsZCg0KSxcbi53cGNmNy1mb3JtID4gOm50aC1jaGlsZCg1KSB7XG4gIHdpZHRoOiA1MCU7XG4gIGZsb2F0OiBsZWZ0O1xufVxuLndwY2Y3LWZvcm0gPiA6bnRoLWNoaWxkKDYpLFxuLndwY2Y3LWZvcm0gbGFiZWwsXG4ud3BjZjctZm9ybSAud3BjZjctZm9ybS1jb250cm9sLXdyYXAsXG4ud3BjZjctZm9ybSAud3BjZjctZm9ybS1jb250cm9sOm5vdCgud3BjZjctc3VibWl0KSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLndwY2Y3LWZvcm0gPiA6bnRoLWNoaWxkKG4rMik6bnRoLWNoaWxkKGV2ZW4pOm50aC1jaGlsZCgtbis1KSB7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG59XG4ud3BjZjctZm9ybSA+IDpudGgtY2hpbGQobisyKTpudGgtY2hpbGQob2RkKTpudGgtY2hpbGQoLW4rNSkge1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG59XG4ud3BjZjctZm9ybSBsYWJlbCB7XG4gIGZvbnQtZmFtaWx5OiAnRmlyYSBNb25vJywgc2Fucy1zZXJpZjtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi53cGNmNy1mb3JtIC53cGNmNy1mb3JtLWNvbnRyb2wsXG4ud3BjZjctZm9ybSAud3BjZjctZm9ybS1jb250cm9sOmhvdmVyLFxuLndwY2Y3LWZvcm0gLndwY2Y3LWZvcm0tY29udHJvbDpmb2N1cyB7XG4gIGZvbnQtZmFtaWx5OiAnTGF0bycsIHNhbnMtc2VyaWY7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiA4cHggMDtcbiAgbWFyZ2luLXRvcDogOHB4O1xufVxuLndwY2Y3LWZvcm0gLndwY2Y3LWZvcm0tY29udHJvbC53cGNmNy10ZXh0LFxuLndwY2Y3LWZvcm0gLndwY2Y3LWZvcm0tY29udHJvbC53cGNmNy10ZXh0YXJlYSB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIC41KTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMzMzbXMgZWFzZTtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMzMzbXMgZWFzZTtcbiAgLW1zLXRyYW5zaXRpb246IGFsbCAzMzNtcyBlYXNlO1xuICAtby10cmFuc2l0aW9uOiBhbGwgMzMzbXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogYWxsIDMzM21zIGVhc2U7XG59XG4ud3BjZjctZm9ybSAud3BjZjctZm9ybS1jb250cm9sLndwY2Y3LXRleHQ6aG92ZXIsXG4ud3BjZjctZm9ybSAud3BjZjctZm9ybS1jb250cm9sLndwY2Y3LXRleHQ6Zm9jdXMsXG4ud3BjZjctZm9ybSAud3BjZjctZm9ybS1jb250cm9sLndwY2Y3LXRleHQ6YWN0aXZlLFxuLndwY2Y3LWZvcm0gLndwY2Y3LWZvcm0tY29udHJvbC53cGNmNy10ZXh0YXJlYTpob3Zlcixcbi53cGNmNy1mb3JtIC53cGNmNy1mb3JtLWNvbnRyb2wud3BjZjctdGV4dGFyZWE6Zm9jdXMsXG4ud3BjZjctZm9ybSAud3BjZjctZm9ybS1jb250cm9sLndwY2Y3LXRleHRhcmVhOmFjdGl2ZSB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDEpO1xufVxuLndwY2Y3LWZvcm0gPiA6bnRoLWNoaWxkKDcpIHtcbiAgZm9udC1mYW1pbHk6ICdGaXJhIE1vbm8nLCBzYW5zLXNlcmlmO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBmb250LXNpemU6IDExcHg7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBtYXJnaW4tdG9wOiAxNXB4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLndwY2Y3LWZvcm0gPiA6bnRoLWNoaWxkKDcpID4gbGFiZWwge1xuICBkaXNwbGF5OiBub25lO1xufVxuLndwY2Y3LWZvcm0gPiA6bnRoLWNoaWxkKDcpID4gYSxcbi53cGNmNy1mb3JtID4gOm50aC1jaGlsZCg3KSA+IGE6aG92ZXIsXG4ud3BjZjctZm9ybSA+IDpudGgtY2hpbGQoNykgPiBhOmZvY3VzLFxuLndwY2Y3LWZvcm0gPiA6bnRoLWNoaWxkKDcpID4gYTphY3RpdmUge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgcGFkZGluZy1ib3R0b206IDJweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmZmZmY7XG59XG4ud3BjZjctZm9ybSAud3BjZjctZm9ybS1jb250cm9sLndwY2Y3LWFjY2VwdGFuY2UgLndwY2Y3LWxpc3QtaXRlbSB7XG4gIG1hcmdpbjogLjI1cmVtIDA7XG59XG4vKiBCYXNlIGZvciBsYWJlbCBzdHlsaW5nICovXG4ud3BjZjctZm9ybSAud3BjZjctZm9ybS1jb250cm9sLndwY2Y3LWFjY2VwdGFuY2UgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCksXG4ud3BjZjctZm9ybSAud3BjZjctZm9ybS1jb250cm9sLndwY2Y3LWFjY2VwdGFuY2UgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC05OTk5cHg7XG59XG4ud3BjZjctZm9ybSAud3BjZjctZm9ybS1jb250cm9sLndwY2Y3LWFjY2VwdGFuY2Ugc3Bhbi53cGNmNy1saXN0LWl0ZW0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAzNnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cbi53cGNmNy1mb3JtIC53cGNmNy1mb3JtLWNvbnRyb2wud3BjZjctYWNjZXB0YW5jZSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSArIHNwYW4ud3BjZjctbGlzdC1pdGVtLWxhYmVsLFxuLndwY2Y3LWZvcm0gLndwY2Y3LWZvcm0tY29udHJvbC53cGNmNy1hY2NlcHRhbmNlIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgc3Bhbi53cGNmNy1saXN0LWl0ZW0tbGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi53cGNmNy1mb3JtIC53cGNmNy1mb3JtLWNvbnRyb2wud3BjZjctYWNjZXB0YW5jZSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSArIHNwYW4ud3BjZjctbGlzdC1pdGVtLWxhYmVsOmJlZm9yZSxcbi53cGNmNy1mb3JtIC53cGNmNy1mb3JtLWNvbnRyb2wud3BjZjctYWNjZXB0YW5jZSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIHNwYW4ud3BjZjctbGlzdC1pdGVtLWxhYmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLndwY2Y3LWZvcm0gLndwY2Y3LWZvcm0tY29udHJvbC53cGNmNy1hY2NlcHRhbmNlIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpICsgc3Bhbi53cGNmNy1saXN0LWl0ZW0tbGFiZWw6YWZ0ZXIsXG4ud3BjZjctZm9ybSAud3BjZjctZm9ybS1jb250cm9sLndwY2Y3LWFjY2VwdGFuY2UgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBzcGFuLndwY2Y3LWxpc3QtaXRlbS1sYWJlbDphZnRlciB7XG4gIGZvbnQtZmFtaWx5OiAnTHVjaWRhIFNhbnMgVW5pY29kZScsICdBcmlhbCBVbmljb2RlIE1TJywgQXJpYWw7XG4gIGNvbnRlbnQ6ICdcXDI3MTNcXDAwMjAnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogM3B4O1xuICBsZWZ0OiA1cHg7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjZmYwMDAwO1xuICB0cmFuc2l0aW9uOiBhbGwgLjJzO1xufVxuLndwY2Y3LWZvcm0gLndwY2Y3LWZvcm0tY29udHJvbC53cGNmNy1hY2NlcHRhbmNlIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpICsgc3Bhbi53cGNmNy1saXN0LWl0ZW0tbGFiZWw6YWZ0ZXIge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xufVxuLndwY2Y3LWZvcm0gLndwY2Y3LWZvcm0tY29udHJvbC53cGNmNy1hY2NlcHRhbmNlIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgc3Bhbi53cGNmNy1saXN0LWl0ZW0tbGFiZWw6YWZ0ZXIge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xufVxuLndwY2Y3LWZvcm0gLndwY2Y3LWZvcm0tY29udHJvbC53cGNmNy1hY2NlcHRhbmNlIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkOmZvY3VzICsgc3Bhbi53cGNmNy1saXN0LWl0ZW0tbGFiZWw6YmVmb3JlLFxuLndwY2Y3LWZvcm0gLndwY2Y3LWZvcm0tY29udHJvbC53cGNmNy1hY2NlcHRhbmNlIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpOmZvY3VzICsgc3Bhbi53cGNmNy1saXN0LWl0ZW0tbGFiZWw6YmVmb3JlIHtcbiAgYm9yZGVyOiBub25lO1xufVxuLndwY2Y3LWZvcm0gPiA6bnRoLWNoaWxkKDgpIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi53cGNmNy1mb3JtIC53cGNmNy1mb3JtLWNvbnRyb2wud3BjZjctc3VibWl0IHtcbiAgZm9udC1zaXplOiAzMS41cHg7XG4gIGNvbG9yOiAjZmYwMDAwO1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIHBhZGRpbmc6IDhweCA1MHB4IDEycHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDE2Nm1zIGVhc2U7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDE2Nm1zIGVhc2U7XG4gIC1tcy10cmFuc2l0aW9uOiBhbGwgMTY2bXMgZWFzZTtcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDE2Nm1zIGVhc2U7XG4gIHRyYW5zaXRpb246IGFsbCAxNjZtcyBlYXNlO1xufVxuLndwY2Y3LWZvcm0gLndwY2Y3LWZvcm0tY29udHJvbC53cGNmNy1zdWJtaXQ6aG92ZXIge1xuICAvKlxuICBwYWRkaW5nOiA4cHggNTBweCAxMnB4IDc1cHg7XG4gICovXG4gIGNvbG9yOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kOiAjYWEwMDAwO1xuICB0cmFuc2Zvcm06IHNjYWxlKC45KTtcbn1cblxuLyogIERldmljZSA9IDRLIGFuZCA1SyBEZXNrdG9wc1xuICAgIFNjcmVlbiA9IDM4NDBweCBhbmQgdXAgICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzODQwcHgpIHtcbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOjM4NDBweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6Mzg0MHB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDozODQwcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOjM4NDBweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6Mzg0MHB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDozODQwcHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBIdWdlIERlc2t0b3BzXG4gICAgU2NyZWVuID0gQi93IDI1NjBweCB0byAzODM5cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpIHtcbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBWZXJ5IExhcmdlIExhcHRvcHMsIFZlcnkgTGFyZ2UgRGVza3RvcHNcbiAgICBTY3JlZW4gPSBCL3cgMTkyMHB4IHRvIDI1NTlweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IExhcmdlIExhcHRvcHMsIExhcmdlIERlc2t0b3BzXG4gICAgU2NyZWVuID0gQi93IDEyODBweCB0byAxOTE5cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIHtcbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBWZXJ5IExhcmdlIFRhYmxldHMgKGxhbmRzY2FwZSlcbiAgICBTY3JlZW4gPSBCL3cgMTI4MHB4IHRvIDE5MTlweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gU21hbGwtdG8tbWVkaXVtIExhcHRvcHMsIFNtYWxsLXRvLW1lZGl1bSBEZXNrdG9wcywgVmVyeSBMYXJnZSBUYWJsZXRzIChwb3J0cmFpdClcbiAgICBTY3JlZW4gPSBCL3cgOTkycHggdG8gMTI3OXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBMYXJnZSBUYWJsZXRzIChsYW5kc2NhcGUpXG4gICAgU2NyZWVuID0gQi93IDk5MnB4IHRvIDEyNzlweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBTbWFsbC10by1sYXJnZSBUYWJsZXRzIChwb3J0cmFpdClcbiAgICBTY3JlZW4gPSBCL3cgNzY4cHggdG8gOTkxcHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gU21hbGwtdG8tbWVkaXVtIFRhYmxldHMgKGxhbmRzY2FwZSksIFZlcnkgTGFyZ2UgTW9iaWxlcyAobGFuZHNjYXBlKVxuICAgIFNjcmVlbiA9IEIvdyA3NjhweCB0byA5OTFweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFNtYWxsIFRhYmxldHMgKHBvcnRyYWl0KVxuICAgIFNjcmVlbiA9IEIvdyA1NzZweCB0byA3NjdweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBTbWFsbC10by1sYXJnZSBNb2JpbGVzIChsYW5kc2NhcGUpXG4gICAgU2NyZWVuID0gQi93IDU3NnB4IHRvIDc2N3B4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gTW9iaWxlcyAoUG9ydHJhaXQpXG4gICAgU2NyZWVuID0gQi93IDMyMHB4IHRvIDU3NXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkge1xuICAjZm9ybS1qdW1ib3Ryb24ge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgcmlnaHQ7XG4gIH1cbiAgI2Zvcm0tanVtYm90cm9uIC5mb3JtIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gIC53cGNmNy1mb3JtID4gOm50aC1jaGlsZCgyKSxcbiAgLndwY2Y3LWZvcm0gPiA6bnRoLWNoaWxkKDMpLFxuICAud3BjZjctZm9ybSA+IDpudGgtY2hpbGQoNCksXG4gIC53cGNmNy1mb3JtID4gOm50aC1jaGlsZCg1KSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLndwY2Y3LWZvcm0gPiA6bnRoLWNoaWxkKG4rMik6bnRoLWNoaWxkKGV2ZW4pOm50aC1jaGlsZCgtbis1KSB7XG4gICAgcGFkZGluZy1yaWdodDogMHB4O1xuICB9XG4gIC53cGNmNy1mb3JtID4gOm50aC1jaGlsZChuKzIpOm50aC1jaGlsZChvZGQpOm50aC1jaGlsZCgtbis1KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gIH1cbiAgLndwY2Y3LWZvcm0gLndwY2Y3LWZvcm0tY29udHJvbC53cGNmNy1zdWJtaXQge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFZlcnkgU21hbGwgTW9iaWxlcyAoTGFuZHNjYXBlKVxuICAgIFNjcmVlbiA9IEIvdyAzMjBweCB0byA1NzVweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn0iLCIvKiBIRUFERVIgQ0FST1VTRUwgKi9cbiNleHRlbmQtY2Fyb3VzZWwsXG4jZXh0ZW5kLWNhcm91c2VsIC5jYXJvdXNlbC1pbm5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xufVxuI2V4dGVuZC1jYXJvdXNlbCAuY2Fyb3VzZWwtY2FwdGlvbi1wYW5lbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsIC43NSk7XG4gIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDI1NSwyNTUsMjU1LDApIDAlLCByZ2JhKDI1NSwyNTUsMjU1LDApIDI1JSwgcmdiYSgyNTUsMjU1LDI1NSwwLjkpIDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwxKSA3NSUsIHJnYmEoMjU1LDI1NSwyNTUsMSkgMTAwJSk7XG4gIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDI1NSwyNTUsMjU1LDApIDAlLCByZ2JhKDI1NSwyNTUsMjU1LDApIDI1JSwgcmdiYSgyNTUsMjU1LDI1NSwwLjkpIDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwxKSA3NSUsIHJnYmEoMjU1LDI1NSwyNTUsMSkgMTAwJSk7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgyNTUsMjU1LDI1NSwwKSAwJSwgcmdiYSgyNTUsMjU1LDI1NSwwKSAyNSUsIHJnYmEoMjU1LDI1NSwyNTUsMC45KSA1MCUsIHJnYmEoMjU1LDI1NSwyNTUsMSkgNzUlLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDEwMCUpO1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPVwiI2ZmZmZmZlwiLGVuZENvbG9yc3RyPVwiI2ZmZmZmZlwiLEdyYWRpZW50VHlwZT0xKTtcbn1cbiNleHRlbmQtY2Fyb3VzZWwgLnNsaWRlIHtcbiAgbWluLXdpZHRoOiA3NSU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICAvKlxuICBsZWZ0OiAwO1xuICAqL1xuICByaWdodDogMjUlO1xufVxuLypcbiNleHRlbmQtY2Fyb3VzZWwgLmNhcm91c2VsLWNhcHRpb24tcGFuZWwgaW1nIHtcbiAgb3BhY2l0eTogLjg1O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbiovXG4jZXh0ZW5kLWNhcm91c2VsIC5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbixcbiNleHRlbmQtY2Fyb3VzZWwgLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogNjBweDtcbiAgaGVpZ2h0OiA2MHB4O1xuICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgNTAlLzEwMCUgMTAwJTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cbiNleHRlbmQtY2Fyb3VzZWwgLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzNiA2MCclM0UlM0NwYXRoIHNoYXBlLXJlbmRlcmluZz0nZ2VvbWV0cmljUHJlY2lzaW9uJyBmaWxsPSclMjM5ODk4OTgnIGQ9J00zNS4zOCwyOC41Miw3LjA2LjYxYTIuMTQsMi4xNCwwLDAsMC0zLDBMLjYzLDRBMi4xLDIuMSwwLDAsMCwwLDUuNDgsMi4wNywyLjA3LDAsMCwwLC42Myw3TDI0LDMwLC42Miw1M2EyLjA4LDIuMDgsMCwwLDAsMCwzbDMuNDQsMy4zOWEyLjE1LDIuMTUsMCwwLDAsMywwTDMxLjcyLDM1LjA4bC4xMS0uMSwzLjU1LTMuNUEyLjA2LDIuMDYsMCwwLDAsMzYsMzAsMi4wOSwyLjA5LDAsMCwwLDM1LjM4LDI4LjUyWicvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbiNleHRlbmQtY2Fyb3VzZWwgLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzNS43NCA2MC40MyclM0UlM0NwYXRoIHNoYXBlLXJlbmRlcmluZz0nZ2VvbWV0cmljUHJlY2lzaW9uJyBmaWxsPSclMjM5ODk4OTgnIGQ9J00uNjIsMzEuNywyOC43Myw1OS44MWEyLjEsMi4xLDAsMCwwLDMsMGwzLjQyLTMuNDJhMi4xMSwyLjExLDAsMCwwLDAtM0wxMS45MSwzMC4yMSwzNS4xMiw3YTIuMSwyLjEsMCwwLDAsMC0zTDMxLjcxLjYyYTIuMSwyLjEsMCwwLDAtMywwTDQuMjUsMjUuMWwtLjExLjFMLjYyLDI4LjcyYTIuMSwyLjEsMCwwLDAsMCwzWicvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbiNleHRlbmQtY2Fyb3VzZWwgLmNhcm91c2VsLWNvbnRyb2wtbmV4dCxcbiNleHRlbmQtY2Fyb3VzZWwgLmNhcm91c2VsLWNvbnRyb2wtcHJldiB7XG4gIHdpZHRoOiAxMCU7XG4gIG9wYWNpdHk6IC44O1xufVxuI2V4dGVuZC1jYXJvdXNlbCAuY2Fyb3VzZWwtY29udHJvbC1uZXh0OmZvY3VzLFxuI2V4dGVuZC1jYXJvdXNlbCAuY2Fyb3VzZWwtY29udHJvbC1uZXh0OmhvdmVyLFxuI2V4dGVuZC1jYXJvdXNlbCAuY2Fyb3VzZWwtY29udHJvbC1wcmV2OmZvY3VzLFxuI2V4dGVuZC1jYXJvdXNlbCAuY2Fyb3VzZWwtY29udHJvbC1wcmV2OmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbn1cbi5leHRlbmQtYnJhbmQge1xuICB3aWR0aDogMTgwcHg7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLXRvcDogMzBweDtcbn1cbi5leHRlbmQtZGl2aWRlciB7XG59XG4uZXh0ZW5kLWRpdmlkZXIgaW1nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDAwO1xuICB3aWR0aDogMTAwLjUlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLS41JSkgdHJhbnNsYXRlWSgtOTglKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8qICBEZXZpY2UgPSA0SyBhbmQgNUsgRGVza3RvcHNcbiAgICBTY3JlZW4gPSAzODQwcHggYW5kIHVwICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzg0MHB4KSB7XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDozODQwcHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOjM4NDBweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6Mzg0MHB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDozODQwcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOjM4NDBweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6Mzg0MHB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gSHVnZSBEZXNrdG9wc1xuICAgIFNjcmVlbiA9IEIvdyAyNTYwcHggdG8gMzgzOXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSBhbmQgKG1heC13aWR0aDogMzgzOXB4KSB7XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSBhbmQgKG1heC13aWR0aDogMzgzOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSBhbmQgKG1heC13aWR0aDogMzgzOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSBhbmQgKG1heC13aWR0aDogMzgzOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSBhbmQgKG1heC13aWR0aDogMzgzOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSBhbmQgKG1heC13aWR0aDogMzgzOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSBhbmQgKG1heC13aWR0aDogMzgzOXB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gVmVyeSBMYXJnZSBMYXB0b3BzLCBWZXJ5IExhcmdlIERlc2t0b3BzXG4gICAgU2NyZWVuID0gQi93IDE5MjBweCB0byAyNTU5cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpIHtcbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBMYXJnZSBMYXB0b3BzLCBMYXJnZSBEZXNrdG9wc1xuICAgIFNjcmVlbiA9IEIvdyAxMjgwcHggdG8gMTkxOXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSB7XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gVmVyeSBMYXJnZSBUYWJsZXRzIChsYW5kc2NhcGUpXG4gICAgU2NyZWVuID0gQi93IDEyODBweCB0byAxOTE5cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFNtYWxsLXRvLW1lZGl1bSBMYXB0b3BzLCBTbWFsbC10by1tZWRpdW0gRGVza3RvcHMsIFZlcnkgTGFyZ2UgVGFibGV0cyAocG9ydHJhaXQpXG4gICAgU2NyZWVuID0gQi93IDk5MnB4IHRvIDEyNzlweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gICNleHRlbmQtY2Fyb3VzZWwge1xuICAgIG1hcmdpbi10b3A6IDEwN3B4O1xuICB9XG4gICNleHRlbmQtY2Fyb3VzZWwsXG4gICNleHRlbmQtY2Fyb3VzZWwgLmNhcm91c2VsLWlubmVyIHtcbiAgICBoZWlnaHQ6IDgwdmg7XG4gIH1cbiAgI2V4dGVuZC1jYXJvdXNlbCAuc2xpZGUge1xuICAgIHJpZ2h0OiAwO1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gTGFyZ2UgVGFibGV0cyAobGFuZHNjYXBlKVxuICAgIFNjcmVlbiA9IEIvdyA5OTJweCB0byAxMjc5cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICNleHRlbmQtY2Fyb3VzZWwge1xuICAgIG1hcmdpbi10b3A6IDEwN3B4O1xuICB9XG4gICNleHRlbmQtY2Fyb3VzZWwsXG4gICNleHRlbmQtY2Fyb3VzZWwgLmNhcm91c2VsLWlubmVyIHtcbiAgICBoZWlnaHQ6IDgwdmg7XG4gIH1cbiAgI2V4dGVuZC1jYXJvdXNlbCAuc2xpZGUge1xuICAgIHJpZ2h0OiAyNSU7XG4gIH1cbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBNZWRpdW0tdG8tbGFyZ2UgVGFibGV0cyAocG9ydHJhaXQpXG4gICAgU2NyZWVuID0gQi93IDc2OHB4IHRvIDk5MXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAjZXh0ZW5kLWNhcm91c2VsIHtcbiAgICBtYXJnaW4tdG9wOiAxMDdweDtcbiAgfVxuICAjZXh0ZW5kLWNhcm91c2VsLFxuICAjZXh0ZW5kLWNhcm91c2VsIC5jYXJvdXNlbC1pbm5lciB7XG4gICAgaGVpZ2h0OiA4MHZoO1xuICB9XG4gICNleHRlbmQtY2Fyb3VzZWwgLnNsaWRlIHtcbiAgICByaWdodDogMDtcbiAgfVxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFNtYWxsLXRvLW1lZGl1bSBUYWJsZXRzIChsYW5kc2NhcGUpLCBWZXJ5IExhcmdlIE1vYmlsZXMgKGxhbmRzY2FwZSlcbiAgICBTY3JlZW4gPSBCL3cgNzY4cHggdG8gOTkxcHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgI2V4dGVuZC1jYXJvdXNlbCxcbiAgI2V4dGVuZC1jYXJvdXNlbCAuY2Fyb3VzZWwtaW5uZXIge1xuICAgIGhlaWdodDogMTIwdmg7XG4gIH1cbiAgI2V4dGVuZC1jYXJvdXNlbCAuc2xpZGUge1xuICAgIHJpZ2h0OiAyNSU7XG4gIH1cbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBTbWFsbCBUYWJsZXRzIChwb3J0cmFpdClcbiAgICBTY3JlZW4gPSBCL3cgNTc2cHggdG8gNzY3cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICNleHRlbmQtY2Fyb3VzZWwge1xuICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gIH1cbiAgI2V4dGVuZC1jYXJvdXNlbCxcbiAgI2V4dGVuZC1jYXJvdXNlbCAuY2Fyb3VzZWwtaW5uZXIge1xuICAgIGhlaWdodDogODB2aDtcbiAgfVxuICAjZXh0ZW5kLWNhcm91c2VsIC5jYXJvdXNlbC1jYXB0aW9uLXBhbmVsIHtcbiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsMjU1LDI1NSwwKSAwJSwgcmdiYSgyNTUsMjU1LDI1NSwwLjQ4KSAyNSUsIHJnYmEoMjU1LDI1NSwyNTUsLjk2KSA3NSUpO1xuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCByZ2JhKDI1NSwyNTUsMjU1LDApIDAlLCByZ2JhKDI1NSwyNTUsMjU1LDAuNDgpIDI1JSwgcmdiYSgyNTUsMjU1LDI1NSwuOTYpIDc1JSk7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCByZ2JhKDI1NSwyNTUsMjU1LDApIDAlLCByZ2JhKDI1NSwyNTUsMjU1LDAuNDgpIDI1JSwgcmdiYSgyNTUsMjU1LDI1NSwuOTYpIDc1JSk7XG4gIH1cbiAgI2V4dGVuZC1jYXJvdXNlbCAuc2xpZGUge1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogLTUwJTtcbiAgICByaWdodDogdW5zZXQ7XG4gIH1cbiAgI2V4dGVuZC1jYXJvdXNlbCAuY2Fyb3VzZWwtY2FwdGlvbiB7XG4gICAgcGFkZGluZzogMXJlbSAxcmVtO1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gU21hbGwtdG8tbGFyZ2UgTW9iaWxlcyAobGFuZHNjYXBlKVxuICAgIFNjcmVlbiA9IEIvdyA1NzZweCB0byA3NjdweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAjZXh0ZW5kLWNhcm91c2VsLFxuICAjZXh0ZW5kLWNhcm91c2VsIC5jYXJvdXNlbC1pbm5lciB7XG4gICAgaGVpZ2h0OiAxMjB2aDtcbiAgfVxuICAjZXh0ZW5kLWNhcm91c2VsIC5zbGlkZSB7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gTW9iaWxlcyAoUG9ydHJhaXQpXG4gICAgU2NyZWVuID0gQi93IDMyMHB4IHRvIDU3NXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkge1xuICAjZXh0ZW5kLWNhcm91c2VsIHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICB9XG4gICNleHRlbmQtY2Fyb3VzZWwsXG4gICNleHRlbmQtY2Fyb3VzZWwgLmNhcm91c2VsLWlubmVyIHtcbiAgICBoZWlnaHQ6IDgwdmg7XG4gIH1cbiAgI2V4dGVuZC1jYXJvdXNlbCAuY2Fyb3VzZWwtY2FwdGlvbi1wYW5lbCB7XG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMCUsIHJnYmEoMjU1LDI1NSwyNTUsMC40OCkgMjUlLCByZ2JhKDI1NSwyNTUsMjU1LC45NikgNzUlKTtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsMjU1LDI1NSwwKSAwJSwgcmdiYSgyNTUsMjU1LDI1NSwwLjQ4KSAyNSUsIHJnYmEoMjU1LDI1NSwyNTUsLjk2KSA3NSUpO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsMjU1LDI1NSwwKSAwJSwgcmdiYSgyNTUsMjU1LDI1NSwwLjQ4KSAyNSUsIHJnYmEoMjU1LDI1NSwyNTUsLjk2KSA3NSUpO1xuICB9XG4gICNleHRlbmQtY2Fyb3VzZWwgLnNsaWRlIHtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IC03NSU7XG4gICAgcmlnaHQ6IHVuc2V0O1xuICB9XG4gICNleHRlbmQtY2Fyb3VzZWwgLmNhcm91c2VsLWNhcHRpb24ge1xuICAgIHBhZGRpbmc6IDFyZW0gMXJlbTtcbiAgfVxuICAjZXh0ZW5kLWNhcm91c2VsIC5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbixcbiAgI2V4dGVuZC1jYXJvdXNlbCAuY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24sXG4gICNleHRlbmQtY2Fyb3VzZWwgLmV4dGVuZC1icmFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFZlcnkgU21hbGwgTW9iaWxlcyAoTGFuZHNjYXBlKVxuICAgIFNjcmVlbiA9IEIvdyAzMjBweCB0byA1NzVweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAjZXh0ZW5kLWNhcm91c2VsLFxuICAjZXh0ZW5kLWNhcm91c2VsIC5jYXJvdXNlbC1pbm5lciB7XG4gICAgaGVpZ2h0OiAxMjB2aDtcbiAgfVxuICAjZXh0ZW5kLWNhcm91c2VsIC5zbGlkZSB7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufSIsIi8qIFNFUlZJQ0VTIENBUkRTICovXG4vLyAuc2VydmljZXMtaGVhZGluZyB7XG4vLyB9XG4uc2VydmljZXMtY2FyZHMge1xuICBtYXJnaW4tdG9wOiA2MHB4O1xuICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gIG1hcmdpbi1yaWdodDogLTE1cHg7XG59XG4uc2VydmljZXMtY2FyZHMgYSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG9wYWNpdHk6IDE7XG59XG4uc2VydmljZXMtY2FyZHMgPiBhID4gaW1nIHtcbiAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsMS4wNSwxLjA1KSByb3RhdGVaKC4wMWRlZyk7XG59XG4uc2VydmljZXMtY2FyZHMgPiBhOmhvdmVyID4gaW1nIHtcbiAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsMS4yNSwxLjI1KSByb3RhdGVaKC4wMWRlZyk7XG59XG4uc2VydmljZXMtY2FyZHMgPiBhOmhvdmVyIHtcbiAgb3BhY2l0eTogLjc1O1xufVxuLnNlcnZpY2VzLWNhcmRzIGgzIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAzLjN2dztcbiAgbWFyZ2luLXRvcDogLTEwcHg7XG4gIHotaW5kZXg6IDEwMDA7XG59XG4uc2VydmljZXMtY2FyZHMtYmcgPiBpbWcge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIlKSB0cmFuc2xhdGVZKC05OCUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDQlO1xuICB6LWluZGV4OiAxMDA7XG59XG5cbi8qICBEZXZpY2UgPSA0SyBhbmQgNUsgRGVza3RvcHNcbiAgICBTY3JlZW4gPSAzODQwcHggYW5kIHVwICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzg0MHB4KSB7XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDozODQwcHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOjM4NDBweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6Mzg0MHB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDozODQwcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOjM4NDBweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6Mzg0MHB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gSHVnZSBEZXNrdG9wc1xuICAgIFNjcmVlbiA9IEIvdyAyNTYwcHggdG8gMzgzOXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSBhbmQgKG1heC13aWR0aDogMzgzOXB4KSB7XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSBhbmQgKG1heC13aWR0aDogMzgzOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSBhbmQgKG1heC13aWR0aDogMzgzOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSBhbmQgKG1heC13aWR0aDogMzgzOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSBhbmQgKG1heC13aWR0aDogMzgzOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSBhbmQgKG1heC13aWR0aDogMzgzOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSBhbmQgKG1heC13aWR0aDogMzgzOXB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gVmVyeSBMYXJnZSBMYXB0b3BzLCBWZXJ5IExhcmdlIERlc2t0b3BzXG4gICAgU2NyZWVuID0gQi93IDE5MjBweCB0byAyNTU5cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpIHtcbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBMYXJnZSBMYXB0b3BzLCBMYXJnZSBEZXNrdG9wc1xuICAgIFNjcmVlbiA9IEIvdyAxMjgwcHggdG8gMTkxOXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSB7XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gVmVyeSBMYXJnZSBUYWJsZXRzIChsYW5kc2NhcGUpXG4gICAgU2NyZWVuID0gQi93IDEyODBweCB0byAxOTE5cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFNtYWxsLXRvLW1lZGl1bSBMYXB0b3BzLCBTbWFsbC10by1tZWRpdW0gRGVza3RvcHMsIFZlcnkgTGFyZ2UgVGFibGV0cyAocG9ydHJhaXQpXG4gICAgU2NyZWVuID0gQi93IDk5MnB4IHRvIDEyNzlweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gIC5zZXJ2aWNlcy1oZWFkaW5nIHtcbiAgICBtYXJnaW4tdG9wOiAxMnZoO1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gTGFyZ2UgVGFibGV0cyAobGFuZHNjYXBlKVxuICAgIFNjcmVlbiA9IEIvdyA5OTJweCB0byAxMjc5cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC5zZXJ2aWNlcy1oZWFkaW5nIHtcbiAgICBtYXJnaW4tdG9wOiA4dmg7XG4gIH1cbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBTbWFsbC10by1sYXJnZSBUYWJsZXRzIChwb3J0cmFpdClcbiAgICBTY3JlZW4gPSBCL3cgNzY4cHggdG8gOTkxcHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC5zZXJ2aWNlcy1oZWFkaW5nIHtcbiAgICBtYXJnaW4tdG9wOiAxMnZoO1xuICB9XG4gIC5zZXJ2aWNlcy1jYXJkcyB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgfVxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFNtYWxsLXRvLW1lZGl1bSBUYWJsZXRzIChsYW5kc2NhcGUpLCBWZXJ5IExhcmdlIE1vYmlsZXMgKGxhbmRzY2FwZSlcbiAgICBTY3JlZW4gPSBCL3cgNzY4cHggdG8gOTkxcHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBTbWFsbCBUYWJsZXRzIChwb3J0cmFpdClcbiAgICBTY3JlZW4gPSBCL3cgNTc2cHggdG8gNzY3cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5zZXJ2aWNlcy1oZWFkaW5nIHtcbiAgICBtYXJnaW4tdG9wOiAxMnZoO1xuICB9XG4gIC5zZXJ2aWNlcy1jYXJkcyB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgfVxuICAuc2VydmljZXMtY2FyZHMgaDMge1xuICAgIGZvbnQtc2l6ZTogNnZ3O1xuICAgIG1hcmdpbi10b3A6IC0xMnB4O1xuICB9XG4gIC5zZXJ2aWNlcy1jYXJkcyA+IGEgPiBpbWcge1xuICAgIG1hcmdpbi10b3A6IC0yMi41dnc7XG4gIH1cbiAgLnNlcnZpY2VzLWNhcmRzLWJnID4gaW1nIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIlKSB0cmFuc2xhdGVZKC03MyUpO1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gU21hbGwtdG8tbGFyZ2UgTW9iaWxlcyAobGFuZHNjYXBlKVxuICAgIFNjcmVlbiA9IEIvdyA1NzZweCB0byA3NjdweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAuc2VydmljZXMtaGVhZGluZyB7XG4gICAgbWFyZ2luLXRvcDogMTJ2aDtcbiAgfVxuICAuc2VydmljZXMtY2FyZHMge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gIH1cbiAgLnNlcnZpY2VzLWNhcmRzIGgzIHtcbiAgICBmb250LXNpemU6IDZ2dztcbiAgICBtYXJnaW4tdG9wOiAtMTJweDtcbiAgfVxuICAuc2VydmljZXMtY2FyZHMgPiBhID4gaW1nIHtcbiAgICBtYXJnaW4tdG9wOiAtMzIuNXZ3O1xuICB9XG4gIC5zZXJ2aWNlcy1jYXJkcy1iZyA+IGltZyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yJSkgdHJhbnNsYXRlWSgtNzMlKTtcbiAgfVxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IE1vYmlsZXMgKFBvcnRyYWl0KVxuICAgIFNjcmVlbiA9IEIvdyAzMjBweCB0byA1NzVweCAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkge1xuICAuc2VydmljZXMtaGVhZGluZyB7XG4gICAgbWFyZ2luLXRvcDogMTJ2aDtcbiAgfVxuICAuc2VydmljZXMtY2FyZHMge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gIH1cbiAgLnNlcnZpY2VzLWNhcmRzIGgzIHtcbiAgICBmb250LXNpemU6IDl2dztcbiAgICBtYXJnaW4tdG9wOiAtOHB4O1xuICB9XG4gIC5zZXJ2aWNlcy1jYXJkcyA+IGEgPiBpbWcge1xuICAgIG1hcmdpbi10b3A6IC0yMi41dnc7XG4gIH1cbiAgLnNlcnZpY2VzLWNhcmRzLWJnID4gaW1nIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIlKSB0cmFuc2xhdGVZKC04OCUpO1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gVmVyeSBTbWFsbCBNb2JpbGVzIChMYW5kc2NhcGUpXG4gICAgU2NyZWVuID0gQi93IDMyMHB4IHRvIDU3NXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC5zZXJ2aWNlcy1jYXJkcyA+IGEgPiBpbWcge1xuICAgIG1hcmdpbi10b3A6IC0zMHZ3O1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiBURUFNIENBUk9VU0VMICovXG4udGVhbS1zZWN0aW9uLWhlYWRpbmcge1xuICBtYXJnaW4tdG9wOiA2MHB4O1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuI3RlYW0tY2Fyb3VzZWwsXG4jdGVhbS1jYXJvdXNlbCAuY2Fyb3VzZWwtaW5uZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA4MHZoO1xufVxuI3RlYW0tY2Fyb3VzZWwge1xuICBiYWNrZ3JvdW5kOiByZ2IoMjI5LDIyOSwyMjkpO1xuICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCgtMTIwZGVnLCByZ2JhKDIyOSwyMjksMjI5LDEpIDAlLCByZ2JhKDI0NiwyNDYsMjQ2LDEpIDM1JSwgcmdiYSgyMjksMjI5LDIyOSwxKSAxMDAlKTtcbiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoLTEyMGRlZywgcmdiYSgyMjksMjI5LDIyOSwxKSAwJSwgcmdiYSgyNDYsMjQ2LDI0NiwxKSAzNSUsIHJnYmEoMjI5LDIyOSwyMjksMSkgMTAwJSk7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgtMTIwZGVnLCByZ2JhKDIyOSwyMjksMjI5LDEpIDAlLCByZ2JhKDI0NiwyNDYsMjQ2LDEpIDM1JSwgcmdiYSgyMjksMjI5LDIyOSwxKSAxMDAlKTtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj1cIiNlNWU1ZTVcIixlbmRDb2xvcnN0cj1cIiNlNWU1ZTVcIixHcmFkaWVudFR5cGU9MSk7XG4gIC8qb3ZlcmZsb3c6IHZpc2libGU7Ki9cbn1cbi8vICN0ZWFtLWNhcm91c2VsIC5jYXJvdXNlbC1pbm5lciB7XG4vLyAgIG92ZXJmbG93OiB2aXNpYmxlO1xuLy8gfVxuI3RlYW0tY2Fyb3VzZWwgLmNhcm91c2VsLWNhcHRpb24ge1xuICBwYWRkaW5nOiAwIDE1cHg7XG59XG4jdGVhbS1jYXJvdXNlbCAuY2Fyb3VzZWwtaXRlbSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4jdGVhbS1jYXJvdXNlbCAuY2Fyb3VzZWwtaXRlbSBwaWN0dXJlIHtcbiAgbWF4LWhlaWdodDogMTAwJTtcbn1cbiN0ZWFtLWNhcm91c2VsIC5jYXJvdXNlbC1pdGVtIGltZyB7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG59XG4jdGVhbS1jYXJvdXNlbCAuc2xpZGUge1xuICBtYXgtaGVpZ2h0OiA4MHZoO1xuICBtYXgtd2lkdGg6IHVuc2V0O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgLypcbiAgcmlnaHQ6IDB2dztcbiAgKi9cbiAgcmlnaHQ6IDEwdnc7XG4gIHotaW5kZXg6IDEwMDA7XG59XG4jdGVhbS1jYXJvdXNlbCAuY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24sXG4jdGVhbS1jYXJvdXNlbCAuY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA2MHB4O1xuICBoZWlnaHQ6IDYwcHg7XG4gIGJhY2tncm91bmQ6IG5vLXJlcGVhdCA1MCUvMTAwJSAxMDAlO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuI3RlYW0tY2Fyb3VzZWwgLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzNiA2MCclM0UlM0NwYXRoIHNoYXBlLXJlbmRlcmluZz0nZ2VvbWV0cmljUHJlY2lzaW9uJyBmaWxsPSclMjM5ODk4OTgnIGQ9J00zNS4zOCwyOC41Miw3LjA2LjYxYTIuMTQsMi4xNCwwLDAsMC0zLDBMLjYzLDRBMi4xLDIuMSwwLDAsMCwwLDUuNDgsMi4wNywyLjA3LDAsMCwwLC42Myw3TDI0LDMwLC42Miw1M2EyLjA4LDIuMDgsMCwwLDAsMCwzbDMuNDQsMy4zOWEyLjE1LDIuMTUsMCwwLDAsMywwTDMxLjcyLDM1LjA4bC4xMS0uMSwzLjU1LTMuNUEyLjA2LDIuMDYsMCwwLDAsMzYsMzAsMi4wOSwyLjA5LDAsMCwwLDM1LjM4LDI4LjUyWicvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbiN0ZWFtLWNhcm91c2VsIC5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzUuNzQgNjAuNDMnJTNFJTNDcGF0aCBzaGFwZS1yZW5kZXJpbmc9J2dlb21ldHJpY1ByZWNpc2lvbicgZmlsbD0nJTIzOTg5ODk4JyBkPSdNLjYyLDMxLjcsMjguNzMsNTkuODFhMi4xLDIuMSwwLDAsMCwzLDBsMy40Mi0zLjQyYTIuMTEsMi4xMSwwLDAsMCwwLTNMMTEuOTEsMzAuMjEsMzUuMTIsN2EyLjEsMi4xLDAsMCwwLDAtM0wzMS43MS42MmEyLjEsMi4xLDAsMCwwLTMsMEw0LjI1LDI1LjFsLS4xMS4xTC42MiwyOC43MmEyLjEsMi4xLDAsMCwwLDAsM1onLyUzRSUzQy9zdmclM0VcIik7XG59XG4jdGVhbS1jYXJvdXNlbCAuY2Fyb3VzZWwtY29udHJvbC1uZXh0LFxuI3RlYW0tY2Fyb3VzZWwgLmNhcm91c2VsLWNvbnRyb2wtcHJldiB7XG4gIHdpZHRoOiAxMCU7XG4gIG9wYWNpdHk6IC44O1xufVxuI3RlYW0tY2Fyb3VzZWwgLmNhcm91c2VsLWNvbnRyb2wtbmV4dDpmb2N1cyxcbiN0ZWFtLWNhcm91c2VsIC5jYXJvdXNlbC1jb250cm9sLW5leHQ6aG92ZXIsXG4jdGVhbS1jYXJvdXNlbCAuY2Fyb3VzZWwtY29udHJvbC1wcmV2OmZvY3VzLFxuI3RlYW0tY2Fyb3VzZWwgLmNhcm91c2VsLWNvbnRyb2wtcHJldjpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG59XG4udGVhbS1kaXZpZGVyIHtcbiAgbWFyZ2luLXRvcDogLTFweDtcbn1cbi50ZWFtLWRpdmlkZXIgaW1nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDtcbiAgd2lkdGg6IDEwMC41JTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0uNSUpIHRyYW5zbGF0ZVkoLTIlKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4jdGVhbS1jYXJvdXNlbCAuY2Fyb3VzZWwtbGluayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiA2MHB4O1xuICBsZWZ0OiAxNi42NyU7XG4gIHBhZGRpbmc6IDRweCAwO1xuICBtYXJnaW4tbGVmdDogMTVweDtcbn1cbiN0ZWFtLWNhcm91c2VsIC5jYXJvdXNlbC1saW5rOmhvdmVyIHtcbiAgcGFkZGluZzogNHB4IDAgNHB4IDI1cHg7XG59XG4jdGVhbS1jYXJvdXNlbCAuLS1jYXJvdXNlbC1saW5rLXVuZGVybGluZSB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZmYwMDAwO1xufVxuXG4vKiAgRGV2aWNlID0gNEsgYW5kIDVLIERlc2t0b3BzXG4gICAgU2NyZWVuID0gMzg0MHB4IGFuZCB1cCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM4NDBweCkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6Mzg0MHB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDozODQwcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOjM4NDBweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6Mzg0MHB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDozODQwcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOjM4NDBweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IEh1Z2UgRGVza3RvcHNcbiAgICBTY3JlZW4gPSBCL3cgMjU2MHB4IHRvIDM4MzlweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFZlcnkgTGFyZ2UgTGFwdG9wcywgVmVyeSBMYXJnZSBEZXNrdG9wc1xuICAgIFNjcmVlbiA9IEIvdyAxOTIwcHggdG8gMjU1OXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSB7XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gTGFyZ2UgTGFwdG9wcywgTGFyZ2UgRGVza3RvcHNcbiAgICBTY3JlZW4gPSBCL3cgMTI4MHB4IHRvIDE5MTlweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFZlcnkgTGFyZ2UgVGFibGV0cyAobGFuZHNjYXBlKVxuICAgIFNjcmVlbiA9IEIvdyAxMjgwcHggdG8gMTkxOXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBTbWFsbC10by1tZWRpdW0gTGFwdG9wcywgU21hbGwtdG8tbWVkaXVtIERlc2t0b3BzLCBWZXJ5IExhcmdlIFRhYmxldHMgKHBvcnRyYWl0KVxuICAgIFNjcmVlbiA9IEIvdyA5OTJweCB0byAxMjc5cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAjdGVhbS1jYXJvdXNlbCxcbiAgI3RlYW0tY2Fyb3VzZWwgLmNhcm91c2VsLWlubmVyIHtcbiAgICBoZWlnaHQ6IDQwdmg7XG4gIH1cbiAgI3RlYW0tY2Fyb3VzZWwgLnNsaWRlIHtcbiAgICBtYXgtaGVpZ2h0OiA0MHZoO1xuICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBMYXJnZSBUYWJsZXRzIChsYW5kc2NhcGUpXG4gICAgU2NyZWVuID0gQi93IDk5MnB4IHRvIDEyNzlweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBTbWFsbC10by1sYXJnZSBUYWJsZXRzIChwb3J0cmFpdClcbiAgICBTY3JlZW4gPSBCL3cgNzY4cHggdG8gOTkxcHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICN0ZWFtLWNhcm91c2VsLFxuICAjdGVhbS1jYXJvdXNlbCAuY2Fyb3VzZWwtaW5uZXIge1xuICAgIGhlaWdodDogNDV2aDtcbiAgfVxuICAjdGVhbS1jYXJvdXNlbCAuY2Fyb3VzZWwtbGluayB7XG4gICAgbGVmdDogOC4zMyU7XG4gIH1cbiAgI3RlYW0tY2Fyb3VzZWwgLnNsaWRlIHtcbiAgICBtYXgtaGVpZ2h0OiA0NXZoO1xuICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBTbWFsbC10by1tZWRpdW0gVGFibGV0cyAobGFuZHNjYXBlKSwgVmVyeSBMYXJnZSBNb2JpbGVzIChsYW5kc2NhcGUpXG4gICAgU2NyZWVuID0gQi93IDc2OHB4IHRvIDk5MXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICN0ZWFtLWNhcm91c2VsLFxuICAjdGVhbS1jYXJvdXNlbCAuY2Fyb3VzZWwtaW5uZXIge1xuICAgIGhlaWdodDogOTB2aDtcbiAgfVxuICAjdGVhbS1jYXJvdXNlbCAuc2xpZGUge1xuICAgIG1heC1oZWlnaHQ6IDkwdmg7XG4gICAgbWF4LXdpZHRoOiB1bnNldDtcbiAgICByaWdodDogOC4zMyU7XG4gIH1cbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBTbWFsbCBUYWJsZXRzIChwb3J0cmFpdClcbiAgICBTY3JlZW4gPSBCL3cgNTc2cHggdG8gNzY3cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICN0ZWFtLWNhcm91c2VsIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuICAjdGVhbS1jYXJvdXNlbCxcbiAgI3RlYW0tY2Fyb3VzZWwgLmNhcm91c2VsLWlubmVyIHtcbiAgICBoZWlnaHQ6IDc1dmg7XG4gIH1cbiAgI3RlYW0tY2Fyb3VzZWwgLmNhcm91c2VsLWNhcHRpb24ge1xuICAgIG1hcmdpbi10b3A6IDEwdmg7XG4gIH1cbiAgI3RlYW0tY2Fyb3VzZWwgLnNsaWRlIHtcbiAgICBtYXgtaGVpZ2h0OiA1NXZoO1xuICAgIG1heC13aWR0aDogMTAwdnc7XG4gICAgcmlnaHQ6IDguMzMlO1xuICB9XG4gIC8qXG4gICN0ZWFtLWNhcm91c2VsIC5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbixcbiAgI3RlYW0tY2Fyb3VzZWwgLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gICovXG4gICN0ZWFtLWNhcm91c2VsIC5jYXJvdXNlbC1saW5rIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBib3R0b206IC00NXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIHBhZGRpbmc6IDRweCAwO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgI3RlYW0tY2Fyb3VzZWwgLmNhcm91c2VsLWxpbms6aG92ZXIge1xuICAgIHBhZGRpbmc6IDRweCAwO1xuICAgIG9wYWNpdHk6IC41O1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gU21hbGwtdG8tbGFyZ2UgTW9iaWxlcyAobGFuZHNjYXBlKVxuICAgIFNjcmVlbiA9IEIvdyA1NzZweCB0byA3NjdweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAjdGVhbS1jYXJvdXNlbCxcbiAgI3RlYW0tY2Fyb3VzZWwgLmNhcm91c2VsLWlubmVyIHtcbiAgICBoZWlnaHQ6IDgwdmg7XG4gIH1cbiAgI3RlYW0tY2Fyb3VzZWwgLmNhcm91c2VsLWNhcHRpb24ge1xuICAgIG1hcmdpbi10b3A6IDMwdmg7XG4gIH1cbiAgI3RlYW0tY2Fyb3VzZWwgLnNsaWRlIHtcbiAgICBtYXgtaGVpZ2h0OiA4MHZoO1xuICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgcmlnaHQ6IDA7XG4gICAgLypcbiAgICBtYXgtaGVpZ2h0OiA3MHZoO1xuICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgcmlnaHQ6IDguMzMlO1xuICAgICovXG4gIH1cbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBNb2JpbGVzIChQb3J0cmFpdClcbiAgICBTY3JlZW4gPSBCL3cgMzIwcHggdG8gNTc1cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSB7XG4gICN0ZWFtLWNhcm91c2VsIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuICAjdGVhbS1jYXJvdXNlbCxcbiAgI3RlYW0tY2Fyb3VzZWwgLmNhcm91c2VsLWlubmVyIHtcbiAgICBoZWlnaHQ6IDcwdmg7XG4gIH1cbiAgI3RlYW0tY2Fyb3VzZWwgLmNhcm91c2VsLWNhcHRpb24ge1xuICAgIG1hcmdpbi10b3A6IDEwdmg7XG4gIH1cbiAgI3RlYW0tY2Fyb3VzZWwgLnNsaWRlIHtcbiAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuICAgIG1heC1oZWlnaHQ6IDQ3LjV2aDtcbiAgICByaWdodDogMDtcbiAgfVxuICAjdGVhbS1jYXJvdXNlbCAuY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24sXG4gICN0ZWFtLWNhcm91c2VsIC5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAjdGVhbS1jYXJvdXNlbCAuY2Fyb3VzZWwtbGluayB7XG4gICAgd2lkdGg6IDY2JTtcbiAgICBib3R0b206IC00NXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIHBhZGRpbmc6IDRweCAwO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgI3RlYW0tY2Fyb3VzZWwgLmNhcm91c2VsLWxpbms6aG92ZXIge1xuICAgIHBhZGRpbmc6IDRweCAwO1xuICAgIG9wYWNpdHk6IC41O1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gVmVyeSBTbWFsbCBNb2JpbGVzIChMYW5kc2NhcGUpXG4gICAgU2NyZWVuID0gQi93IDMyMHB4IHRvIDU3NXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICN0ZWFtLWNhcm91c2VsLFxuICAjdGVhbS1jYXJvdXNlbCAuY2Fyb3VzZWwtaW5uZXIge1xuICAgIGhlaWdodDogOTB2aDtcbiAgfVxuICAjdGVhbS1jYXJvdXNlbCAuY2Fyb3VzZWwtY2FwdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogMzB2aDtcbiAgfVxuICAjdGVhbS1jYXJvdXNlbCAuY2Fyb3VzZWwtbGluayB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgI3RlYW0tY2Fyb3VzZWwgLnNsaWRlIHtcbiAgICAvKlxuICAgIG1heC1oZWlnaHQ6IDkwdmg7XG4gICAgKi9cbiAgICBtYXgtaGVpZ2h0OiA3NXZoO1xuICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgcmlnaHQ6IDMuMzMlO1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG5cbi8qIEZPQ1VTIElDT05TICovXG4uZm9jdXMtaGVhZGluZyB7XG4gIG1hcmdpbi10b3A6IDYwcHg7XG59XG4uZm9jdXMtaWNvbnMge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICBtYXJnaW4tYm90dG9tOiA2MHB4O1xufVxuLy8gLmZvY3VzLWljb25zIFtjbGFzc149XCJjb2wtXCJdIHtcblxuLy8gfVxuLmZvY3VzLWljb25zIGltZyB7XG4gIG1heC13aWR0aDogMjAwcHg7XG4gIC8qXG4gIHBhZGRpbmc6IDIwJTtcbiAgKi9cbiAgLypcbiAgcGFkZGluZzogMTAlIDE1JTtcbiAgKi9cbiAgcGFkZGluZzogMnJlbTtcbn1cblxuLyogIERldmljZSA9IDRLIGFuZCA1SyBEZXNrdG9wc1xuICAgIFNjcmVlbiA9IDM4NDBweCBhbmQgdXAgICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzODQwcHgpIHtcbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOjM4NDBweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6Mzg0MHB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDozODQwcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOjM4NDBweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6Mzg0MHB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDozODQwcHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBIdWdlIERlc2t0b3BzXG4gICAgU2NyZWVuID0gQi93IDI1NjBweCB0byAzODM5cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpIHtcbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBWZXJ5IExhcmdlIExhcHRvcHMsIFZlcnkgTGFyZ2UgRGVza3RvcHNcbiAgICBTY3JlZW4gPSBCL3cgMTkyMHB4IHRvIDI1NTlweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IExhcmdlIExhcHRvcHMsIExhcmdlIERlc2t0b3BzXG4gICAgU2NyZWVuID0gQi93IDEyODBweCB0byAxOTE5cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIHtcbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBWZXJ5IExhcmdlIFRhYmxldHMgKGxhbmRzY2FwZSlcbiAgICBTY3JlZW4gPSBCL3cgMTI4MHB4IHRvIDE5MTlweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gU21hbGwtdG8tbWVkaXVtIExhcHRvcHMsIFNtYWxsLXRvLW1lZGl1bSBEZXNrdG9wcywgVmVyeSBMYXJnZSBUYWJsZXRzIChwb3J0cmFpdClcbiAgICBTY3JlZW4gPSBCL3cgOTkycHggdG8gMTI3OXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBMYXJnZSBUYWJsZXRzIChsYW5kc2NhcGUpXG4gICAgU2NyZWVuID0gQi93IDk5MnB4IHRvIDEyNzlweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBTbWFsbC10by1sYXJnZSBUYWJsZXRzIChwb3J0cmFpdClcbiAgICBTY3JlZW4gPSBCL3cgNzY4cHggdG8gOTkxcHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC5mb2N1cy1pY29ucyB7XG4gICAgbWFyZ2luLXRvcDogMHB4O1xuICB9XG4gIC5mb2N1cy1pY29ucyBbY2xhc3NePVwiY29sLVwiXSB7XG4gICAgcGFkZGluZy1yaWdodDogMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMHB4O1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gU21hbGwtdG8tbWVkaXVtIFRhYmxldHMgKGxhbmRzY2FwZSksIFZlcnkgTGFyZ2UgTW9iaWxlcyAobGFuZHNjYXBlKVxuICAgIFNjcmVlbiA9IEIvdyA3NjhweCB0byA5OTFweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFNtYWxsIFRhYmxldHMgKHBvcnRyYWl0KVxuICAgIFNjcmVlbiA9IEIvdyA1NzZweCB0byA3NjdweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmZvY3VzLWhlYWRpbmcge1xuICAgIG1hcmdpbi10b3A6IDEyMHB4O1xuICB9XG4gIC5mb2N1cy1pY29ucyB7XG4gICAgbWFyZ2luLXRvcDogMHB4O1xuICB9XG4gIC5mb2N1cy1pY29ucyBpbWcge1xuICAgIG1heC13aWR0aDogMTc1cHg7XG4gICAgbWFyZ2luLXRvcDogMnZ3O1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gU21hbGwtdG8tbGFyZ2UgTW9iaWxlcyAobGFuZHNjYXBlKVxuICAgIFNjcmVlbiA9IEIvdyA1NzZweCB0byA3NjdweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAuZm9jdXMtaGVhZGluZyB7XG4gICAgbWFyZ2luLXRvcDogMTIwcHg7XG4gIH1cbiAgLmZvY3VzLWljb25zIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICB9XG4gIC5mb2N1cy1pY29ucyBpbWcge1xuICAgIG1heC13aWR0aDogMTUwcHg7XG4gICAgbWFyZ2luLXRvcDogMnZ3O1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gTW9iaWxlcyAoUG9ydHJhaXQpXG4gICAgU2NyZWVuID0gQi93IDMyMHB4IHRvIDU3NXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkge1xuICAuZm9jdXMtaGVhZGluZyB7XG4gICAgbWFyZ2luLXRvcDogMTIwcHg7XG4gIH1cbiAgLmZvY3VzLWljb25zIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICB9XG4gIC5mb2N1cy1pY29ucyBpbWcge1xuICAgIG1heC13aWR0aDogMTUwcHg7XG4gICAgbWFyZ2luLXRvcDogMnZ3O1xuICB9XG4gIC5mb2N1cy1pY29ucyBoNCB7XG4gICAgY29sb3I6ICNmZjAwMDA7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBwYWRkaW5nOiAwIDEwJTtcbiAgfVxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFZlcnkgU21hbGwgTW9iaWxlcyAoTGFuZHNjYXBlKVxuICAgIFNjcmVlbiA9IEIvdyAzMjBweCB0byA1NzVweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAuZm9jdXMtaWNvbnMgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEyNXB4O1xuICAgIG1hcmdpbi10b3A6IDR2dztcbiAgICBwYWRkaW5nOiAxcmVtO1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiBTRVJWSUNFUyBDQVJPVVNFTCAqL1xuI3NlcnZpY2VzLWNhcm91c2VsLFxuI3NlcnZpY2VzLWNhcm91c2VsIC5jYXJvdXNlbC1pbm5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDgwdmg7XG59XG4jc2VydmljZXMtY2Fyb3VzZWwgLmNhcm91c2VsLWNhcHRpb24tcGFuZWwge1xuICAvKlxuICB3aWR0aDogNzAlO1xuICAqL1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LCAuNzUpO1xuICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgyNTUsMjU1LDI1NSwwKSAwJSwgcmdiYSgyNTUsMjU1LDI1NSwwKSAyNSUsIHJnYmEoMjU1LDI1NSwyNTUsMC45KSA1MCUsIHJnYmEoMjU1LDI1NSwyNTUsMSkgNzUlLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDEwMCUpO1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgyNTUsMjU1LDI1NSwwKSAwJSwgcmdiYSgyNTUsMjU1LDI1NSwwKSAyNSUsIHJnYmEoMjU1LDI1NSwyNTUsMC45KSA1MCUsIHJnYmEoMjU1LDI1NSwyNTUsMSkgNzUlLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDEwMCUpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMCUsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMjUlLCByZ2JhKDI1NSwyNTUsMjU1LDAuOSkgNTAlLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDc1JSwgcmdiYSgyNTUsMjU1LDI1NSwxKSAxMDAlKTtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj1cIiNmZmZmZmZcIixlbmRDb2xvcnN0cj1cIiNmZmZmZmZcIixHcmFkaWVudFR5cGU9MSk7XG59XG4jc2VydmljZXMtY2Fyb3VzZWwgLnNsaWRlIHtcbiAgbWluLXdpZHRoOiA3NSU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMjUlO1xufVxuLypcbiNzZXJ2aWNlcy1jYXJvdXNlbCAuY2Fyb3VzZWwtY2FwdGlvbi1wYW5lbCBpbWcge1xuICBvcGFjaXR5OiAuODU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuKi9cbiNzZXJ2aWNlcy1jYXJvdXNlbCxcbiNzZXJ2aWNlcy1jYXJvdXNlbCAuY2Fyb3VzZWwtaXRlbSB7XG4gIGJhY2tncm91bmQ6IHJnYigyMjksMjI5LDIyOSk7XG4gIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KC0xMjBkZWcsIHJnYmEoMjI5LDIyOSwyMjksMSkgMCUsIHJnYmEoMjQ2LDI0NiwyNDYsMC44NSkgNTAlLCByZ2JhKDIyOSwyMjksMjI5LDApIDEwMCUpO1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgtMTIwZGVnLCByZ2JhKDIyOSwyMjksMjI5LDEpIDAlLCByZ2JhKDI0NiwyNDYsMjQ2LDAuODUpIDUwJSwgcmdiYSgyMjksMjI5LDIyOSwwKSAxMDAlKTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC0xMjBkZWcsIHJnYmEoMjI5LDIyOSwyMjksMSkgMCUsIHJnYmEoMjQ2LDI0NiwyNDYsMC44NSkgNTAlLCByZ2JhKDIyOSwyMjksMjI5LDApIDEwMCUpO1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPVwiI2U1ZTVlNVwiLGVuZENvbG9yc3RyPVwiI2U1ZTVlNVwiLEdyYWRpZW50VHlwZT0xKTtcbn1cbiNzZXJ2aWNlcy1jYXJvdXNlbCAuY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24sXG4jc2VydmljZXMtY2Fyb3VzZWwgLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogNjBweDtcbiAgaGVpZ2h0OiA2MHB4O1xuICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgNTAlLzEwMCUgMTAwJTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cbiNzZXJ2aWNlcy1jYXJvdXNlbCAuY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDM2IDYwJyUzRSUzQ3BhdGggc2hhcGUtcmVuZGVyaW5nPSdnZW9tZXRyaWNQcmVjaXNpb24nIGZpbGw9JyUyMzk4OTg5OCcgZD0nTTM1LjM4LDI4LjUyLDcuMDYuNjFhMi4xNCwyLjE0LDAsMCwwLTMsMEwuNjMsNEEyLjEsMi4xLDAsMCwwLDAsNS40OCwyLjA3LDIuMDcsMCwwLDAsLjYzLDdMMjQsMzAsLjYyLDUzYTIuMDgsMi4wOCwwLDAsMCwwLDNsMy40NCwzLjM5YTIuMTUsMi4xNSwwLDAsMCwzLDBMMzEuNzIsMzUuMDhsLjExLS4xLDMuNTUtMy41QTIuMDYsMi4wNiwwLDAsMCwzNiwzMCwyLjA5LDIuMDksMCwwLDAsMzUuMzgsMjguNTJaJy8lM0UlM0Mvc3ZnJTNFXCIpO1xufVxuI3NlcnZpY2VzLWNhcm91c2VsIC5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzUuNzQgNjAuNDMnJTNFJTNDcGF0aCBzaGFwZS1yZW5kZXJpbmc9J2dlb21ldHJpY1ByZWNpc2lvbicgZmlsbD0nJTIzOTg5ODk4JyBkPSdNLjYyLDMxLjcsMjguNzMsNTkuODFhMi4xLDIuMSwwLDAsMCwzLDBsMy40Mi0zLjQyYTIuMTEsMi4xMSwwLDAsMCwwLTNMMTEuOTEsMzAuMjEsMzUuMTIsN2EyLjEsMi4xLDAsMCwwLDAtM0wzMS43MS42MmEyLjEsMi4xLDAsMCwwLTMsMEw0LjI1LDI1LjFsLS4xMS4xTC42MiwyOC43MmEyLjEsMi4xLDAsMCwwLDAsM1onLyUzRSUzQy9zdmclM0VcIik7XG59XG4jc2VydmljZXMtY2Fyb3VzZWwgLmNhcm91c2VsLWNvbnRyb2wtbmV4dCxcbiNzZXJ2aWNlcy1jYXJvdXNlbCAuY2Fyb3VzZWwtY29udHJvbC1wcmV2IHtcbiAgd2lkdGg6IDEwJTtcbiAgb3BhY2l0eTogLjg7XG59XG4jc2VydmljZXMtY2Fyb3VzZWwgLmNhcm91c2VsLWNvbnRyb2wtbmV4dDpmb2N1cyxcbiNzZXJ2aWNlcy1jYXJvdXNlbCAuY2Fyb3VzZWwtY29udHJvbC1uZXh0OmhvdmVyLFxuI3NlcnZpY2VzLWNhcm91c2VsIC5jYXJvdXNlbC1jb250cm9sLXByZXY6Zm9jdXMsXG4jc2VydmljZXMtY2Fyb3VzZWwgLmNhcm91c2VsLWNvbnRyb2wtcHJldjpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG59XG4vLyAuc2VydmljZXMtZGl2aWRlciB7XG4vLyB9XG4uc2VydmljZXMtZGl2aWRlciBpbWcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwMDA7XG4gIHdpZHRoOiAxMDAuNSU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtLjUlKSB0cmFuc2xhdGVZKC05OCUpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbiNzZXJ2aWNlcy1jYXJvdXNlbCAuY2Fyb3VzZWwtbGluayB7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIHBhZGRpbmc6IDRweCAwO1xufVxuI3NlcnZpY2VzLWNhcm91c2VsIC5jYXJvdXNlbC1saW5rOmhvdmVyIHtcbiAgcGFkZGluZzogNHB4IDI1cHggNHB4IDA7XG59XG4jc2VydmljZXMtY2Fyb3VzZWwgLi0tY2Fyb3VzZWwtbGluay11bmRlcmxpbmUge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2ZmMDAwMDtcbn1cblxuLyogIERldmljZSA9IDRLIGFuZCA1SyBEZXNrdG9wc1xuICAgIFNjcmVlbiA9IDM4NDBweCBhbmQgdXAgICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzODQwcHgpIHtcbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOjM4NDBweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6Mzg0MHB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDozODQwcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOjM4NDBweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6Mzg0MHB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDozODQwcHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBIdWdlIERlc2t0b3BzXG4gICAgU2NyZWVuID0gQi93IDI1NjBweCB0byAzODM5cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpIHtcbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBWZXJ5IExhcmdlIExhcHRvcHMsIFZlcnkgTGFyZ2UgRGVza3RvcHNcbiAgICBTY3JlZW4gPSBCL3cgMTkyMHB4IHRvIDI1NTlweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IExhcmdlIExhcHRvcHMsIExhcmdlIERlc2t0b3BzXG4gICAgU2NyZWVuID0gQi93IDEyODBweCB0byAxOTE5cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIHtcbiAgI3NlcnZpY2VzLWNhcm91c2VsIC5zbGlkZSB7XG4gICAgcmlnaHQ6IDI1JTtcbiAgfVxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFZlcnkgTGFyZ2UgVGFibGV0cyAobGFuZHNjYXBlKVxuICAgIFNjcmVlbiA9IEIvdyAxMjgwcHggdG8gMTkxOXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgI3NlcnZpY2VzLWNhcm91c2VsIC5zbGlkZSB7XG4gICAgcmlnaHQ6IDI1JTtcbiAgfVxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFNtYWxsLXRvLW1lZGl1bSBMYXB0b3BzLCBTbWFsbC10by1tZWRpdW0gRGVza3RvcHMsIFZlcnkgTGFyZ2UgVGFibGV0cyAocG9ydHJhaXQpXG4gICAgU2NyZWVuID0gQi93IDk5MnB4IHRvIDEyNzlweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gICNzZXJ2aWNlcy1jYXJvdXNlbCAuc2xpZGUge1xuICAgIHJpZ2h0OiAwO1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gTGFyZ2UgVGFibGV0cyAobGFuZHNjYXBlKVxuICAgIFNjcmVlbiA9IEIvdyA5OTJweCB0byAxMjc5cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICNleHRlbmQtY2Fyb3VzZWwgLnNsaWRlIHtcbiAgICByaWdodDogMjUlO1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gU21hbGwtdG8tbGFyZ2UgVGFibGV0cyAocG9ydHJhaXQpXG4gICAgU2NyZWVuID0gQi93IDc2OHB4IHRvIDk5MXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAjc2VydmljZXMtY2Fyb3VzZWwgLnNsaWRlIHtcbiAgICByaWdodDogMDtcbiAgfVxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFNtYWxsLXRvLW1lZGl1bSBUYWJsZXRzIChsYW5kc2NhcGUpLCBWZXJ5IExhcmdlIE1vYmlsZXMgKGxhbmRzY2FwZSlcbiAgICBTY3JlZW4gPSBCL3cgNzY4cHggdG8gOTkxcHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgI3NlcnZpY2VzLWNhcm91c2VsLFxuICAjc2VydmljZXMtY2Fyb3VzZWwgLmNhcm91c2VsLWlubmVyIHtcbiAgICBoZWlnaHQ6IDEyMHZoO1xuICB9XG4gICNzZXJ2aWNlcy1jYXJvdXNlbCAuc2xpZGUge1xuICAgIHJpZ2h0OiAyNSU7XG4gIH1cbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBTbWFsbCBUYWJsZXRzIChwb3J0cmFpdClcbiAgICBTY3JlZW4gPSBCL3cgNTc2cHggdG8gNzY3cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICNzZXJ2aWNlcy1jYXJvdXNlbCxcbiAgI3NlcnZpY2VzLWNhcm91c2VsIC5jYXJvdXNlbC1pbm5lciB7XG4gICAgaGVpZ2h0OiA4MHZoO1xuICB9XG4gICNzZXJ2aWNlcy1jYXJvdXNlbCAuY2Fyb3VzZWwtY2FwdGlvbi1wYW5lbCB7XG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMCUsIHJnYmEoMjU1LDI1NSwyNTUsMC40OCkgMjUlLCByZ2JhKDI1NSwyNTUsMjU1LC45NikgNzUlKTtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsMjU1LDI1NSwwKSAwJSwgcmdiYSgyNTUsMjU1LDI1NSwwLjQ4KSAyNSUsIHJnYmEoMjU1LDI1NSwyNTUsLjk2KSA3NSUpO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsMjU1LDI1NSwwKSAwJSwgcmdiYSgyNTUsMjU1LDI1NSwwLjQ4KSAyNSUsIHJnYmEoMjU1LDI1NSwyNTUsLjk2KSA3NSUpO1xuICB9XG4gICNzZXJ2aWNlcy1jYXJvdXNlbCAuc2xpZGUge1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogLTUwJTtcbiAgICByaWdodDogdW5zZXQ7XG4gIH1cbiAgI3NlcnZpY2VzLWNhcm91c2VsIC5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAxcmVtIDFyZW07XG4gIH1cbiAgI3NlcnZpY2VzLWNhcm91c2VsIC5jYXJvdXNlbC1saW5rIHtcbiAgICBtYXJnaW4tdG9wOiAwcHg7XG4gIH1cbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBTbWFsbC10by1sYXJnZSBNb2JpbGVzIChsYW5kc2NhcGUpXG4gICAgU2NyZWVuID0gQi93IDU3NnB4IHRvIDc2N3B4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gTW9iaWxlcyAoUG9ydHJhaXQpXG4gICAgU2NyZWVuID0gQi93IDMyMHB4IHRvIDU3NXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkge1xuICAjc2VydmljZXMtY2Fyb3VzZWwsXG4gICNzZXJ2aWNlcy1jYXJvdXNlbCAuY2Fyb3VzZWwtaW5uZXIge1xuICAgIGhlaWdodDogODB2aDtcbiAgfVxuICAjc2VydmljZXMtY2Fyb3VzZWwgLmNhcm91c2VsLWNhcHRpb24tcGFuZWwge1xuICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCByZ2JhKDI1NSwyNTUsMjU1LDApIDAlLCByZ2JhKDI1NSwyNTUsMjU1LDAuNDgpIDI1JSwgcmdiYSgyNTUsMjU1LDI1NSwuOTYpIDc1JSk7XG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMCUsIHJnYmEoMjU1LDI1NSwyNTUsMC40OCkgMjUlLCByZ2JhKDI1NSwyNTUsMjU1LC45NikgNzUlKTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMCUsIHJnYmEoMjU1LDI1NSwyNTUsMC40OCkgMjUlLCByZ2JhKDI1NSwyNTUsMjU1LC45NikgNzUlKTtcbiAgfVxuICAjc2VydmljZXMtY2Fyb3VzZWwgLnNsaWRlIHtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IC03NSU7XG4gICAgcmlnaHQ6IHVuc2V0O1xuICB9XG4gICNzZXJ2aWNlcy1jYXJvdXNlbCAuY2Fyb3VzZWwtY2FwdGlvbiB7XG4gICAgcGFkZGluZzogMXJlbSAxcmVtO1xuICB9XG4gICNzZXJ2aWNlcy1jYXJvdXNlbCAuY2Fyb3VzZWwtbGluayB7XG4gICAgbWFyZ2luLXRvcDogMHB4O1xuICB9XG4gICNzZXJ2aWNlcy1jYXJvdXNlbCAuY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24sXG4gICNzZXJ2aWNlcy1jYXJvdXNlbCAuY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBWZXJ5IFNtYWxsIE1vYmlsZXMgKExhbmRzY2FwZSlcbiAgICBTY3JlZW4gPSBCL3cgMzIwcHggdG8gNTc1cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgI3NlcnZpY2VzLWNhcm91c2VsLCAjc2VydmljZXMtY2Fyb3VzZWwgLmNhcm91c2VsLWlubmVyIHtcbiAgICBoZWlnaHQ6IDkwdmg7XG4gIH1cbiAgI3NlcnZpY2VzLWNhcm91c2VsIC5zbGlkZSB7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiBURVNUSU1PTklBTCBDQVJPVVNFTCAqL1xuLnRlc3RpbW9uaWFsLWhlYWRpbmcge1xuICBtYXJnaW4tdG9wOiA2MHB4O1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuLypcbiN0ZXN0aW1vbmlhbC1jYXJvdXNlbCxcbiN0ZXN0aW1vbmlhbC1jYXJvdXNlbCAuY2Fyb3VzZWwtaW5uZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA3MHZoO1xufVxuKi9cbiN0ZXN0aW1vbmlhbC1jYXJvdXNlbCxcbiN0ZXN0aW1vbmlhbC1jYXJvdXNlbCAuY2Fyb3VzZWwtaW5uZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG4jdGVzdGltb25pYWwtY2Fyb3VzZWwsXG4jdGVzdGltb25pYWwtY2Fyb3VzZWwgLmNhcm91c2VsLWl0ZW0ge1xuICBiYWNrZ3JvdW5kOiByZ2IoMjI5LDIyOSwyMjkpO1xufVxuI3Rlc3RpbW9uaWFsLWNhcm91c2VsIC5zbGlkZSB7XG4gIG1pbi13aWR0aDogNDcuNSU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogNTIuNSU7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTA7XG59XG4jdGVzdGltb25pYWwtY2Fyb3VzZWwgLmNhcm91c2VsLWlubmVyLFxuI3Rlc3RpbW9uaWFsLWNhcm91c2VsIC5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgei1pbmRleDogMTA7XG59XG4jdGVzdGltb25pYWwtY2Fyb3VzZWwgLmNhcm91c2VsLWNhcHRpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8qXG4gIHBhZGRpbmctdG9wOiAxMi41dmg7XG4gIHBhZGRpbmctYm90dG9tOiA1dmg7XG4gICovXG4gIHBhZGRpbmctdG9wOiAyMHZoO1xuICBwYWRkaW5nLWJvdHRvbTogMTIuNXZoO1xufVxuI3Rlc3RpbW9uaWFsLWNhcm91c2VsIC5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbixcbiN0ZXN0aW1vbmlhbC1jYXJvdXNlbCAuY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA2MHB4O1xuICBoZWlnaHQ6IDYwcHg7XG4gIGJhY2tncm91bmQ6IG5vLXJlcGVhdCA1MCUvMTAwJSAxMDAlO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuI3Rlc3RpbW9uaWFsLWNhcm91c2VsIC5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzYgNjAnJTNFJTNDcGF0aCBzaGFwZS1yZW5kZXJpbmc9J2dlb21ldHJpY1ByZWNpc2lvbicgZmlsbD0nJTIzRkYwMDAwJyBkPSdNMzUuMzgsMjguNTIsNy4wNi42MWEyLjE0LDIuMTQsMCwwLDAtMywwTC42Myw0QTIuMSwyLjEsMCwwLDAsMCw1LjQ4LDIuMDcsMi4wNywwLDAsMCwuNjMsN0wyNCwzMCwuNjIsNTNhMi4wOCwyLjA4LDAsMCwwLDAsM2wzLjQ0LDMuMzlhMi4xNSwyLjE1LDAsMCwwLDMsMEwzMS43MiwzNS4wOGwuMTEtLjEsMy41NS0zLjVBMi4wNiwyLjA2LDAsMCwwLDM2LDMwLDIuMDksMi4wOSwwLDAsMCwzNS4zOCwyOC41MlonLyUzRSUzQy9zdmclM0VcIik7XG59XG4jdGVzdGltb25pYWwtY2Fyb3VzZWwgLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzNS43NCA2MC40MyclM0UlM0NwYXRoIHNoYXBlLXJlbmRlcmluZz0nZ2VvbWV0cmljUHJlY2lzaW9uJyBmaWxsPSclMjNGRjAwMDAnIGQ9J00uNjIsMzEuNywyOC43Myw1OS44MWEyLjEsMi4xLDAsMCwwLDMsMGwzLjQyLTMuNDJhMi4xMSwyLjExLDAsMCwwLDAtM0wxMS45MSwzMC4yMSwzNS4xMiw3YTIuMSwyLjEsMCwwLDAsMC0zTDMxLjcxLjYyYTIuMSwyLjEsMCwwLDAtMywwTDQuMjUsMjUuMWwtLjExLjFMLjYyLDI4LjcyYTIuMSwyLjEsMCwwLDAsMCwzWicvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbiN0ZXN0aW1vbmlhbC1jYXJvdXNlbCAuY2Fyb3VzZWwtY29udHJvbC1uZXh0LFxuI3Rlc3RpbW9uaWFsLWNhcm91c2VsIC5jYXJvdXNlbC1jb250cm9sLXByZXYge1xuICB3aWR0aDogMTAlO1xuICBvcGFjaXR5OiAuODtcbn1cbiN0ZXN0aW1vbmlhbC1jYXJvdXNlbCAuY2Fyb3VzZWwtY29udHJvbC1uZXh0OmZvY3VzLFxuI3Rlc3RpbW9uaWFsLWNhcm91c2VsIC5jYXJvdXNlbC1jb250cm9sLW5leHQ6aG92ZXIsXG4jdGVzdGltb25pYWwtY2Fyb3VzZWwgLmNhcm91c2VsLWNvbnRyb2wtcHJldjpmb2N1cyxcbiN0ZXN0aW1vbmlhbC1jYXJvdXNlbCAuY2Fyb3VzZWwtY29udHJvbC1wcmV2OmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbn1cbi50ZXN0aW1vbmlhbC1kaXZpZGVyIHtcbiAgbWFyZ2luLXRvcDogLTFweDtcbn1cbi50ZXN0aW1vbmlhbC1kaXZpZGVyIGltZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAwMDtcbiAgd2lkdGg6IDEwMC41JTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0uNSUpIHRyYW5zbGF0ZVkoLTIlKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4jdGVzdGltb25pYWwtY2Fyb3VzZWwgLmhlYWRpbmctYmxvY2std3JhcHBlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbiN0ZXN0aW1vbmlhbC1jYXJvdXNlbCAuLS1oZWFkaW5nLWJsb2NrLXJlZCAuaGVhZGluZy1ibG9jayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjAwMDA7XG59XG4jdGVzdGltb25pYWwtY2Fyb3VzZWwgLmhlYWRpbmctYmxvY2sge1xuICBwYWRkaW5nOiA4cHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTAwO1xufVxuI3Rlc3RpbW9uaWFsLWNhcm91c2VsIC5oZWFkaW5nLWJsb2NrLXNrZXcge1xuICB3aWR0aDogOTkuNyU7XG4gIHBhZGRpbmc6IDUuMiUgMCAwIDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjAwMDA7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICB0cmFuc2Zvcm06IHNrZXdZKC0zZGVnKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDtcbn1cbiN0ZXN0aW1vbmlhbC1jYXJvdXNlbCAuY2Fyb3VzZWwtbGluazo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDMwcHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgdmVyc2lvbj0nMS4xJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyB4PScwcHgnIHk9JzBweCcgdmlld0JveD0nMCAwIDEzOC43IDE4JyBlbmFibGUtYmFja2dyb3VuZD0nbmV3IDAgMCAxMzguNyAxOCcgeG1sOnNwYWNlPSdwcmVzZXJ2ZSclM0UlM0Nwb2x5Z29uIHNoYXBlLXJlbmRlcmluZz0nZ2VvbWV0cmljUHJlY2lzaW9uJyBmaWxsPSclMjNFNTI2MjAnIHBvaW50cz0nNzAuNCwxOCAwLjMsMiAwLjgsMCA3MC40LDE1LjkgMTM3LjksMCAxMzguMywyICcvJTNFJTNDL3N2ZyUzRSUwQVwiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgbWFyZ2luLXRvcDogNnB4O1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAxNjZtcyBlYXNlO1xuICAtbW96LXRyYW5zaXRpb246IGFsbCAxNjZtcyBlYXNlO1xuICAtbXMtdHJhbnNpdGlvbjogYWxsIDE2Nm1zIGVhc2U7XG4gIC1vLXRyYW5zaXRpb246IGFsbCAxNjZtcyBlYXNlO1xuICB0cmFuc2l0aW9uOiBhbGwgMTY2bXMgZWFzZTtcbn1cbiN0ZXN0aW1vbmlhbC1jYXJvdXNlbCAuY2Fyb3VzZWwtbGluazpob3Zlcjo6YWZ0ZXIge1xuICBtYXJnaW4tdG9wOiAxNnB4O1xufVxuXG4vKiAgRGV2aWNlID0gNEsgYW5kIDVLIERlc2t0b3BzXG4gICAgU2NyZWVuID0gMzg0MHB4IGFuZCB1cCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM4NDBweCkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6Mzg0MHB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDozODQwcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOjM4NDBweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6Mzg0MHB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDozODQwcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOjM4NDBweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IEh1Z2UgRGVza3RvcHNcbiAgICBTY3JlZW4gPSBCL3cgMjU2MHB4IHRvIDM4MzlweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFZlcnkgTGFyZ2UgTGFwdG9wcywgVmVyeSBMYXJnZSBEZXNrdG9wc1xuICAgIFNjcmVlbiA9IEIvdyAxOTIwcHggdG8gMjU1OXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSB7XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gTGFyZ2UgTGFwdG9wcywgTGFyZ2UgRGVza3RvcHNcbiAgICBTY3JlZW4gPSBCL3cgMTI4MHB4IHRvIDE5MTlweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFZlcnkgTGFyZ2UgVGFibGV0cyAobGFuZHNjYXBlKVxuICAgIFNjcmVlbiA9IEIvdyAxMjgwcHggdG8gMTkxOXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBTbWFsbC10by1tZWRpdW0gTGFwdG9wcywgU21hbGwtdG8tbWVkaXVtIERlc2t0b3BzLCBWZXJ5IExhcmdlIFRhYmxldHMgKHBvcnRyYWl0KVxuICAgIFNjcmVlbiA9IEIvdyA5OTJweCB0byAxMjc5cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IExhcmdlIFRhYmxldHMgKGxhbmRzY2FwZSlcbiAgICBTY3JlZW4gPSBCL3cgOTkycHggdG8gMTI3OXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFNtYWxsLXRvLWxhcmdlIFRhYmxldHMgKHBvcnRyYWl0KVxuICAgIFNjcmVlbiA9IEIvdyA3NjhweCB0byA5OTFweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLnRlc3RpbW9uaWFsLWhlYWRpbmcge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgfVxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFNtYWxsLXRvLW1lZGl1bSBUYWJsZXRzIChsYW5kc2NhcGUpLCBWZXJ5IExhcmdlIE1vYmlsZXMgKGxhbmRzY2FwZSlcbiAgICBTY3JlZW4gPSBCL3cgNzY4cHggdG8gOTkxcHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLnRlc3RpbW9uaWFsLWhlYWRpbmcge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgfVxuICAjdGVzdGltb25pYWwtY2Fyb3VzZWwgLmNhcm91c2VsLWNhcHRpb24ge1xuICAgIHBhZGRpbmctdG9wOiAyNXZoO1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHZoO1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gU21hbGwgVGFibGV0cyAocG9ydHJhaXQpXG4gICAgU2NyZWVuID0gQi93IDU3NnB4IHRvIDc2N3B4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGVzdGltb25pYWwtaGVhZGluZyB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICB9XG4gICN0ZXN0aW1vbmlhbC1jYXJvdXNlbCxcbiAgI3Rlc3RpbW9uaWFsLWNhcm91c2VsIC5jYXJvdXNlbC1pdGVtIHtcbiAgICAvKiBCVUc6IE9WRVJMQVBQSU5HIFRFWFQgV0hJTEUgVFJBTlNJVElPTklOR1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICovXG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgfVxuICAjdGVzdGltb25pYWwtY2Fyb3VzZWwgLnNsaWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LWhlaWdodDogNDB2aDtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbiAgI3Rlc3RpbW9uaWFsLWNhcm91c2VsIC5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LWhlaWdodDogNTV2aDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBwYWRkaW5nOiAycmVtIDJyZW0gM3JlbTtcbiAgfVxuICAjdGVzdGltb25pYWwtY2Fyb3VzZWwgLmNhcm91c2VsLWNhcHRpb24gLnJvdyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xNnB4O1xuICAgIG1hcmdpbi1yaWdodDogLTE2cHg7XG4gIH1cbiAgI3Rlc3RpbW9uaWFsLWNhcm91c2VsIC5oZWFkaW5nLWJsb2NrIHtcbiAgICBmb250LXNpemU6IDZ2dztcbiAgICBwYWRkaW5nOiA4cHggMTVweDtcbiAgfVxuICAjdGVzdGltb25pYWwtY2Fyb3VzZWwgLmhlYWRpbmctYmxvY2std3JhcHBlciB7XG4gICAgLypcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICBtYXJnaW4tdG9wOiAtMS41cmVtO1xuICAgICovXG4gICAgbWFyZ2luLXRvcDogLTJyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgfVxuICAjdGVzdGltb25pYWwtY2Fyb3VzZWwgLmhlYWRpbmctYmxvY2stc2tldyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAjdGVzdGltb25pYWwtY2Fyb3VzZWwgLmhlYWRpbmctYmxvY2stc2tldy1tb2JpbGUge1xuICAgIC8qIEJVRzogQU5USUFMSUFTRUQgU0hBUEUgQk9YIE9WRVJGTE9XXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgKi9cbiAgICB3aWR0aDogOTkuOSU7XG4gICAgbWFyZ2luLWJvdHRvbTogLTFweDtcbiAgICBwYWRkaW5nOiA1LjUlIDAgMCAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjAwMDA7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGxlZnQ7XG4gICAgdHJhbnNmb3JtOiBza2V3WSgzZGVnKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTA7XG4gIH1cbiAgI3Rlc3RpbW9uaWFsLWNhcm91c2VsIC5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbixcbiAgI3Rlc3RpbW9uaWFsLWNhcm91c2VsIC5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbiB7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDIwJTtcbiAgfVxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFNtYWxsLXRvLWxhcmdlIE1vYmlsZXMgKGxhbmRzY2FwZSlcbiAgICBTY3JlZW4gPSBCL3cgNTc2cHggdG8gNzY3cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLnRlc3RpbW9uaWFsLWhlYWRpbmcge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxuICAjdGVzdGltb25pYWwtY2Fyb3VzZWwgLnNsaWRlIHtcbiAgICBtYXgtaGVpZ2h0OiAxNzB2aDtcbiAgICBtYXJnaW4tdG9wOiAtNTB2aDtcbiAgICBtYXJnaW4tYm90dG9tOiAtNTB2aDtcbiAgfVxuICAjdGVzdGltb25pYWwtY2Fyb3VzZWwgLmNhcm91c2VsLWNhcHRpb24ge1xuICAgIG1heC1oZWlnaHQ6IDgwdmg7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgfVxuICAjdGVzdGltb25pYWwtY2Fyb3VzZWwgLmhlYWRpbmctYmxvY2stc2tldy1tb2JpbGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gICN0ZXN0aW1vbmlhbC1jYXJvdXNlbCAuY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24sXG4gICN0ZXN0aW1vbmlhbC1jYXJvdXNlbCAuY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24ge1xuICAgIHRvcDogMTAlO1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gTW9iaWxlcyAoUG9ydHJhaXQpXG4gICAgU2NyZWVuID0gQi93IDMyMHB4IHRvIDU3NXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkge1xuICAudGVzdGltb25pYWwtaGVhZGluZyB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG4gICN0ZXN0aW1vbmlhbC1jYXJvdXNlbCxcbiAgI3Rlc3RpbW9uaWFsLWNhcm91c2VsIC5jYXJvdXNlbC1pbm5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gICN0ZXN0aW1vbmlhbC1jYXJvdXNlbCxcbiAgI3Rlc3RpbW9uaWFsLWNhcm91c2VsIC5jYXJvdXNlbC1pdGVtIHtcbiAgICAvKiBCVUc6IE9WRVJMQVBQSU5HIFRFWFQgV0hJTEUgVFJBTlNJVElPTklOR1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICovXG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgfVxuICAjdGVzdGltb25pYWwtY2Fyb3VzZWwgLnNsaWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LWhlaWdodDogNDB2aDtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbiAgI3Rlc3RpbW9uaWFsLWNhcm91c2VsIC5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LWhlaWdodDogNTV2aDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBwYWRkaW5nOiAxcmVtIDFyZW0gMnJlbTtcbiAgfVxuICAjdGVzdGltb25pYWwtY2Fyb3VzZWwgLmNhcm91c2VsLWNhcHRpb24gLnJvdyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xNnB4O1xuICAgIG1hcmdpbi1yaWdodDogLTE2cHg7XG4gIH1cbiAgI3Rlc3RpbW9uaWFsLWNhcm91c2VsIC5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbixcbiAgI3Rlc3RpbW9uaWFsLWNhcm91c2VsIC5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAjdGVzdGltb25pYWwtY2Fyb3VzZWwgLmhlYWRpbmctYmxvY2sge1xuICAgIGZvbnQtc2l6ZTogOHZ3O1xuICAgIHBhZGRpbmc6IDhweCAxNXB4O1xuICB9XG4gICN0ZXN0aW1vbmlhbC1jYXJvdXNlbCAuaGVhZGluZy1ibG9jay13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICB9XG4gICN0ZXN0aW1vbmlhbC1jYXJvdXNlbCAuaGVhZGluZy1ibG9jay1za2V3IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gICN0ZXN0aW1vbmlhbC1jYXJvdXNlbCAuaGVhZGluZy1ibG9jay1za2V3LW1vYmlsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogNS41JSAwIDAgMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMDAwO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBsZWZ0O1xuICAgIHRyYW5zZm9ybTogc2tld1koM2RlZyk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDEwO1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gVmVyeSBTbWFsbCBNb2JpbGVzIChMYW5kc2NhcGUpXG4gICAgU2NyZWVuID0gQi93IDMyMHB4IHRvIDU3NXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC50ZXN0aW1vbmlhbC1oZWFkaW5nIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59IiwiLyogSEVBREVSIFNMSURFICovXG4jZXh0ZW5kLXRlYW0sXG4jZXh0ZW5kLXRlYW0gLmNhcm91c2VsLWlubmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7XG59XG4jZXh0ZW5kLXRlYW0gLmNhcm91c2VsLWNhcHRpb24tcGFuZWwge1xuICAvKlxuICB3aWR0aDogNzAlO1xuICAqL1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LCAuNzUpO1xuICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgyNTUsMjU1LDI1NSwwKSAwJSwgcmdiYSgyNTUsMjU1LDI1NSwwKSAyNSUsIHJnYmEoMjU1LDI1NSwyNTUsMC45KSA1MCUsIHJnYmEoMjU1LDI1NSwyNTUsMSkgNzUlLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDEwMCUpO1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgyNTUsMjU1LDI1NSwwKSAwJSwgcmdiYSgyNTUsMjU1LDI1NSwwKSAyNSUsIHJnYmEoMjU1LDI1NSwyNTUsMC45KSA1MCUsIHJnYmEoMjU1LDI1NSwyNTUsMSkgNzUlLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDEwMCUpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMCUsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMjUlLCByZ2JhKDI1NSwyNTUsMjU1LDAuOSkgNTAlLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDc1JSwgcmdiYSgyNTUsMjU1LDI1NSwxKSAxMDAlKTtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj1cIiNmZmZmZmZcIixlbmRDb2xvcnN0cj1cIiNmZmZmZmZcIixHcmFkaWVudFR5cGU9MSk7XG59XG4jZXh0ZW5kLXRlYW0gLnNsaWRlIHtcbiAgbWluLXdpZHRoOiA3NSU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICAvKlxuICBsZWZ0OiAwO1xuICAqL1xuICByaWdodDogMjUlO1xufVxuLypcbiNleHRlbmQtdGVhbSAuY2Fyb3VzZWwtY2FwdGlvbi1wYW5lbCBpbWcge1xuICBvcGFjaXR5OiAuODU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuKi9cbi8qXG4uZXh0ZW5kLWJyYW5kIHtcbiAgd2lkdGg6IDE4MHB4O1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG59XG4qL1xuLmV4dGVuZC10ZWFtLWRpdmlkZXIge1xufVxuLmV4dGVuZC10ZWFtLWRpdmlkZXIgaW1nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDAwO1xuICB3aWR0aDogMTAwLjUlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLS41JSkgdHJhbnNsYXRlWSgtOTglKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8qICBEZXZpY2UgPSA0SyBhbmQgNUsgRGVza3RvcHNcbiAgICBTY3JlZW4gPSAzODQwcHggYW5kIHVwICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzg0MHB4KSB7XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDozODQwcHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOjM4NDBweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6Mzg0MHB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDozODQwcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOjM4NDBweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6Mzg0MHB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gSHVnZSBEZXNrdG9wc1xuICAgIFNjcmVlbiA9IEIvdyAyNTYwcHggdG8gMzgzOXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSBhbmQgKG1heC13aWR0aDogMzgzOXB4KSB7XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSBhbmQgKG1heC13aWR0aDogMzgzOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSBhbmQgKG1heC13aWR0aDogMzgzOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSBhbmQgKG1heC13aWR0aDogMzgzOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSBhbmQgKG1heC13aWR0aDogMzgzOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSBhbmQgKG1heC13aWR0aDogMzgzOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSBhbmQgKG1heC13aWR0aDogMzgzOXB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gVmVyeSBMYXJnZSBMYXB0b3BzLCBWZXJ5IExhcmdlIERlc2t0b3BzXG4gICAgU2NyZWVuID0gQi93IDE5MjBweCB0byAyNTU5cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpIHtcbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBMYXJnZSBMYXB0b3BzLCBMYXJnZSBEZXNrdG9wc1xuICAgIFNjcmVlbiA9IEIvdyAxMjgwcHggdG8gMTkxOXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSB7XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gVmVyeSBMYXJnZSBUYWJsZXRzIChsYW5kc2NhcGUpXG4gICAgU2NyZWVuID0gQi93IDEyODBweCB0byAxOTE5cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFNtYWxsLXRvLW1lZGl1bSBMYXB0b3BzLCBTbWFsbC10by1tZWRpdW0gRGVza3RvcHMsIFZlcnkgTGFyZ2UgVGFibGV0cyAocG9ydHJhaXQpXG4gICAgU2NyZWVuID0gQi93IDk5MnB4IHRvIDEyNzlweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gICNleHRlbmQtdGVhbSB7XG4gICAgbWFyZ2luLXRvcDogMTA3cHg7XG4gIH1cbiAgI2V4dGVuZC10ZWFtLFxuICAjZXh0ZW5kLXRlYW0gLmNhcm91c2VsLWlubmVyIHtcbiAgICBoZWlnaHQ6IDgwdmg7XG4gIH1cbiAgI2V4dGVuZC10ZWFtIC5zbGlkZSB7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBMYXJnZSBUYWJsZXRzIChsYW5kc2NhcGUpXG4gICAgU2NyZWVuID0gQi93IDk5MnB4IHRvIDEyNzlweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgI2V4dGVuZC10ZWFtIHtcbiAgICBtYXJnaW4tdG9wOiAxMDdweDtcbiAgfVxuICAjZXh0ZW5kLXRlYW0sXG4gICNleHRlbmQtdGVhbSAuY2Fyb3VzZWwtaW5uZXIge1xuICAgIGhlaWdodDogODB2aDtcbiAgfVxuICAjZXh0ZW5kLXRlYW0gLnNsaWRlIHtcbiAgICByaWdodDogMjUlO1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gTWVkaXVtLXRvLWxhcmdlIFRhYmxldHMgKHBvcnRyYWl0KVxuICAgIFNjcmVlbiA9IEIvdyA3NjhweCB0byA5OTFweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgI2V4dGVuZC10ZWFtIHtcbiAgICBtYXJnaW4tdG9wOiAxMDdweDtcbiAgfVxuICAjZXh0ZW5kLXRlYW0sXG4gICNleHRlbmQtdGVhbSAuY2Fyb3VzZWwtaW5uZXIge1xuICAgIGhlaWdodDogODB2aDtcbiAgfVxuICAjZXh0ZW5kLXRlYW0gLnNsaWRlIHtcbiAgICByaWdodDogMDtcbiAgfVxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFNtYWxsLXRvLW1lZGl1bSBUYWJsZXRzIChsYW5kc2NhcGUpLCBWZXJ5IExhcmdlIE1vYmlsZXMgKGxhbmRzY2FwZSlcbiAgICBTY3JlZW4gPSBCL3cgNzY4cHggdG8gOTkxcHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgI2V4dGVuZC10ZWFtLFxuICAjZXh0ZW5kLXRlYW0gLmNhcm91c2VsLWlubmVyIHtcbiAgICBoZWlnaHQ6IDEyMHZoO1xuICB9XG4gICNleHRlbmQtdGVhbSAuc2xpZGUge1xuICAgIHJpZ2h0OiAyNSU7XG4gIH1cbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBTbWFsbCBUYWJsZXRzIChwb3J0cmFpdClcbiAgICBTY3JlZW4gPSBCL3cgNTc2cHggdG8gNzY3cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICNleHRlbmQtdGVhbSB7XG4gICAgbWFyZ2luLXRvcDogNjBweDtcbiAgfVxuICAjZXh0ZW5kLXRlYW0sXG4gICNleHRlbmQtdGVhbSAuY2Fyb3VzZWwtaW5uZXIge1xuICAgIGhlaWdodDogODB2aDtcbiAgfVxuICAjZXh0ZW5kLXRlYW0gLmNhcm91c2VsLWNhcHRpb24tcGFuZWwge1xuICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCByZ2JhKDI1NSwyNTUsMjU1LDApIDAlLCByZ2JhKDI1NSwyNTUsMjU1LDAuNDgpIDI1JSwgcmdiYSgyNTUsMjU1LDI1NSwuOTYpIDc1JSk7XG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMCUsIHJnYmEoMjU1LDI1NSwyNTUsMC40OCkgMjUlLCByZ2JhKDI1NSwyNTUsMjU1LC45NikgNzUlKTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMCUsIHJnYmEoMjU1LDI1NSwyNTUsMC40OCkgMjUlLCByZ2JhKDI1NSwyNTUsMjU1LC45NikgNzUlKTtcbiAgfVxuICAjZXh0ZW5kLXRlYW0gLnNsaWRlIHtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IC01MCU7XG4gICAgcmlnaHQ6IHVuc2V0O1xuICB9XG4gICNleHRlbmQtdGVhbSAuY2Fyb3VzZWwtY2FwdGlvbiB7XG4gICAgcGFkZGluZzogMXJlbSAxcmVtO1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gU21hbGwtdG8tbGFyZ2UgTW9iaWxlcyAobGFuZHNjYXBlKVxuICAgIFNjcmVlbiA9IEIvdyA1NzZweCB0byA3NjdweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAjZXh0ZW5kLXRlYW0sXG4gICNleHRlbmQtdGVhbSAuY2Fyb3VzZWwtaW5uZXIge1xuICAgIGhlaWdodDogMTIwdmg7XG4gIH1cbiAgI2V4dGVuZC10ZWFtIC5zbGlkZSB7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gTW9iaWxlcyAoUG9ydHJhaXQpXG4gICAgU2NyZWVuID0gQi93IDMyMHB4IHRvIDU3NXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkge1xuICAjZXh0ZW5kLXRlYW0ge1xuICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gIH1cbiAgI2V4dGVuZC10ZWFtLFxuICAjZXh0ZW5kLXRlYW0gLmNhcm91c2VsLWlubmVyIHtcbiAgICBoZWlnaHQ6IDgwdmg7XG4gIH1cbiAgI2V4dGVuZC10ZWFtIC5jYXJvdXNlbC1jYXB0aW9uLXBhbmVsIHtcbiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsMjU1LDI1NSwwKSAwJSwgcmdiYSgyNTUsMjU1LDI1NSwwLjQ4KSAyNSUsIHJnYmEoMjU1LDI1NSwyNTUsLjk2KSA3NSUpO1xuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCByZ2JhKDI1NSwyNTUsMjU1LDApIDAlLCByZ2JhKDI1NSwyNTUsMjU1LDAuNDgpIDI1JSwgcmdiYSgyNTUsMjU1LDI1NSwuOTYpIDc1JSk7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCByZ2JhKDI1NSwyNTUsMjU1LDApIDAlLCByZ2JhKDI1NSwyNTUsMjU1LDAuNDgpIDI1JSwgcmdiYSgyNTUsMjU1LDI1NSwuOTYpIDc1JSk7XG4gIH1cbiAgI2V4dGVuZC10ZWFtIC5zbGlkZSB7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtNzUlO1xuICAgIHJpZ2h0OiB1bnNldDtcbiAgfVxuICAjZXh0ZW5kLXRlYW0gLmNhcm91c2VsLWNhcHRpb24ge1xuICAgIHBhZGRpbmc6IDFyZW0gMXJlbTtcbiAgfVxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFZlcnkgU21hbGwgTW9iaWxlcyAoTGFuZHNjYXBlKVxuICAgIFNjcmVlbiA9IEIvdyAzMjBweCB0byA1NzVweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAjZXh0ZW5kLXRlYW0sXG4gICNleHRlbmQtdGVhbSAuY2Fyb3VzZWwtaW5uZXIge1xuICAgIGhlaWdodDogMTIwdmg7XG4gIH1cbiAgI2V4dGVuZC10ZWFtIC5zbGlkZSB7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufSIsIi8qIFRFQU0gQ0FSRFMgKi9cbi5jYXJkLXRlYW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDgwcHggMDtcbn1cbi5jYXJkLXRlYW06bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDYwcHg7XG59XG4uY2FyZC10ZWFtIH4gLmNhcmQtdGVhbTo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHdpZHRoOiAyMnB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBiYWNrZ3JvdW5kOiAjZmYwMDAwO1xuICBtYXJnaW4tdG9wOiAtODBweDtcbn1cbi5jYXJkLXRlYW0tcHJvZmlsZSB7XG4gIHdpZHRoOiA5MCU7XG4gIGhlaWdodDogMjB2dztcbiAgbWFyZ2luOiAwIGF1dG8gMzBweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB2ZXJzaW9uPScxLjEnIHByZXNlcnZlQXNwZWN0UmF0aW89J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnIHg9JzBweCcgeT0nMHB4JyB2aWV3Qm94PScwIDAgNDM2IDMyMCcgZW5hYmxlLWJhY2tncm91bmQ9J25ldyAwIDAgNDM2IDMyMCcgeG1sOnNwYWNlPSdwcmVzZXJ2ZSclM0UlM0NsaW5lYXJHcmFkaWVudCBpZD0nU1ZHSURfMV8nIGdyYWRpZW50VW5pdHM9J3VzZXJTcGFjZU9uVXNlJyB4MT0nMjE4JyB5MT0nLTcxNi44NDc0JyB4Mj0nMjE4JyB5Mj0nLTEwMzYuODQ3NCcgZ3JhZGllbnRUcmFuc2Zvcm09J21hdHJpeCgxIDAgMCAtMSAwIC03MTYuODQ3NCknJTNFJTNDc3RvcCBvZmZzZXQ9JzAnIHN0eWxlPSdzdG9wLWNvbG9yOiUyM0U1RTVFNScvJTNFJTNDc3RvcCBvZmZzZXQ9JzAuMzQ2OScgc3R5bGU9J3N0b3AtY29sb3I6JTIzRjZGNkY2Jy8lM0UlM0NzdG9wIG9mZnNldD0nMScgc3R5bGU9J3N0b3AtY29sb3I6JTIzRTVFNUU1Jy8lM0UlM0MvbGluZWFyR3JhZGllbnQlM0UlM0Nwb2x5Z29uIHNoYXBlLXJlbmRlcmluZz0nZ2VvbWV0cmljUHJlY2lzaW9uJyBmaWxsPSd1cmwoJTIzU1ZHSURfMV8pJyBwb2ludHM9JzAsMzIwIDAsNDQuNCA0MzYsMCA0MzYsMzIwICcvJTNFJTNDL3N2ZyUzRSUwQVwiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDgwJTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb24teTogYm90dG9tO1xuICAvKlxuICBiYWNrZ3JvdW5kOiByZ2IoMjI5LDIyOSwyMjkpO1xuICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCgtOTBkZWcsIHJnYmEoMjI5LDIyOSwyMjksMSkgMCUsIHJnYmEoMjU1LDI1NSwyNTUsMSkgMzUlLCByZ2JhKDIyOSwyMjksMjI5LDEpIDEwMCUpO1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgtOTBkZWcsIHJnYmEoMjI5LDIyOSwyMjksMSkgMCUsIHJnYmEoMjU1LDI1NSwyNTUsMSkgMzUlLCByZ2JhKDIyOSwyMjksMjI5LDEpIDEwMCUpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoLTkwZGVnLCByZ2JhKDIyOSwyMjksMjI5LDEpIDAlLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDM1JSwgcmdiYSgyMjksMjI5LDIyOSwxKSAxMDAlKTtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj1cIiNlNWU1ZTVcIixlbmRDb2xvcnN0cj1cIiNlNWU1ZTVcIixHcmFkaWVudFR5cGU9MSk7XG4gICovXG59XG4uY2FyZC10ZWFtLXByb2ZpbGUgaW1nIHtcbiAgbWF4LXdpZHRoOiA5MCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4vKiAgRGV2aWNlID0gNEsgYW5kIDVLIERlc2t0b3BzXG4gICAgU2NyZWVuID0gMzg0MHB4IGFuZCB1cCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM4NDBweCkge1xuICAuY2FyZC10ZWFtIHtcbiAgICBtYXgtd2lkdGg6IDUwdnc7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbiAgLmNhcmQtdGVhbS1wcm9maWxlIHtcbiAgICBtYXgtaGVpZ2h0OiAyNXZoO1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDozODQwcHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOjM4NDBweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6Mzg0MHB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDozODQwcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOjM4NDBweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6Mzg0MHB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gSHVnZSBEZXNrdG9wc1xuICAgIFNjcmVlbiA9IEIvdyAyNTYwcHggdG8gMzgzOXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSBhbmQgKG1heC13aWR0aDogMzgzOXB4KSB7XG4gIC5jYXJkLXRlYW0ge1xuICAgIG1heC13aWR0aDogNTB2dztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuICAuY2FyZC10ZWFtLXByb2ZpbGUge1xuICAgIG1heC1oZWlnaHQ6IDI1dmg7XG4gIH1cbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBWZXJ5IExhcmdlIExhcHRvcHMsIFZlcnkgTGFyZ2UgRGVza3RvcHNcbiAgICBTY3JlZW4gPSBCL3cgMTkyMHB4IHRvIDI1NTlweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCkge1xuICAuY2FyZC10ZWFtIHtcbiAgICBtYXgtd2lkdGg6IDc1dnc7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbiAgLmNhcmQtdGVhbS1wcm9maWxlIHtcbiAgICBtYXgtaGVpZ2h0OiAzNy41dmg7XG4gIH1cbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBMYXJnZSBMYXB0b3BzLCBMYXJnZSBEZXNrdG9wc1xuICAgIFNjcmVlbiA9IEIvdyAxMjgwcHggdG8gMTkxOXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSB7XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gVmVyeSBMYXJnZSBUYWJsZXRzIChsYW5kc2NhcGUpXG4gICAgU2NyZWVuID0gQi93IDEyODBweCB0byAxOTE5cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFNtYWxsLXRvLW1lZGl1bSBMYXB0b3BzLCBTbWFsbC10by1tZWRpdW0gRGVza3RvcHMsIFZlcnkgTGFyZ2UgVGFibGV0cyAocG9ydHJhaXQpXG4gICAgU2NyZWVuID0gQi93IDk5MnB4IHRvIDEyNzlweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gIC50ZWFtLWhlYWRpbmcge1xuICAgIG1hcmdpbi10b3A6IDEydmg7XG4gIH1cbiAgLmNhcmQtdGVhbS1wcm9maWxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDI1dnc7XG4gIH1cbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBMYXJnZSBUYWJsZXRzIChsYW5kc2NhcGUpXG4gICAgU2NyZWVuID0gQi93IDk5MnB4IHRvIDEyNzlweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLnRlYW0taGVhZGluZyB7XG4gICAgbWFyZ2luLXRvcDogOHZoO1xuICB9XG5cbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBNZWRpdW0tdG8tbGFyZ2UgVGFibGV0cyAocG9ydHJhaXQpXG4gICAgU2NyZWVuID0gQi93IDc2OHB4IHRvIDk5MXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAudGVhbS1oZWFkaW5nIHtcbiAgICBtYXJnaW4tdG9wOiAxMnZoO1xuICB9XG4gIC5jYXJkLXRlYW0tcHJvZmlsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAyNXZ3O1xuICB9XG4gIC5jYXJkLXRlYW0ge1xuICAgIHBhZGRpbmc6IDYwcHggMDtcbiAgfVxuICAuY2FyZC10ZWFtIH4gLmNhcmQtdGVhbTo6YmVmb3JlIHtcbiAgICBtYXJnaW4tdG9wOiAtNjVweDtcbiAgfVxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFNtYWxsLXRvLW1lZGl1bSBUYWJsZXRzIChsYW5kc2NhcGUpLCBWZXJ5IExhcmdlIE1vYmlsZXMgKGxhbmRzY2FwZSlcbiAgICBTY3JlZW4gPSBCL3cgNzY4cHggdG8gOTkxcHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcblxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFNtYWxsIFRhYmxldHMgKHBvcnRyYWl0KVxuICAgIFNjcmVlbiA9IEIvdyA1NzZweCB0byA3NjdweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRlYW0taGVhZGluZyB7XG4gICAgbWFyZ2luLXRvcDogMTJ2aDtcbiAgfVxuICAuY2FyZC10ZWFtLXByb2ZpbGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNDB2dztcbiAgfVxuICAuY2FyZC10ZWFtIHtcbiAgICBwYWRkaW5nOiA2MHB4IDA7XG4gIH1cbiAgLmNhcmQtdGVhbSB+IC5jYXJkLXRlYW06OmJlZm9yZSB7XG4gICAgbWFyZ2luLXRvcDogLTY1cHg7XG4gIH1cbiAgLmNhcmQtdGVhbS1wcm9maWxlIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gU21hbGwtdG8tbGFyZ2UgTW9iaWxlcyAobGFuZHNjYXBlKVxuICAgIFNjcmVlbiA9IEIvdyA1NzZweCB0byA3NjdweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAudGVhbS1oZWFkaW5nIHtcbiAgICBtYXJnaW4tdG9wOiAxMnZoO1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gTW9iaWxlcyAoUG9ydHJhaXQpXG4gICAgU2NyZWVuID0gQi93IDMyMHB4IHRvIDU3NXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkge1xuICAudGVhbS1oZWFkaW5nIHtcbiAgICBtYXJnaW4tdG9wOiAxMnZoO1xuICB9XG4gIC5jYXJkLXRlYW0ge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgLmNhcmQtdGVhbSB+IC5jYXJkLXRlYW06OmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuY2FyZC10ZWFtLXByb2ZpbGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogdW5zZXQ7XG4gIH1cbiAgLmNhcmQtdGVhbS1wcm9maWxlIGltZyB7XG4gICAgbWF4LXdpZHRoOiA2MCU7XG4gICAgbWFyZ2luOiA2MHB4IGF1dG8gMDtcbiAgfVxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFZlcnkgU21hbGwgTW9iaWxlcyAoTGFuZHNjYXBlKVxuICAgIFNjcmVlbiA9IEIvdyAzMjBweCB0byA1NzVweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuXG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufSIsIi8qIEhFQURFUiBDQVJPVVNFTCAqL1xuI2V4dGVuZC1hemllbmRhLFxuI2V4dGVuZC1hemllbmRhIC5jYXJvdXNlbC1pbm5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xufVxuI2V4dGVuZC1hemllbmRhIC5jYXJvdXNlbC1jYXB0aW9uLXBhbmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwgLjc1KTtcbiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMCUsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMjUlLCByZ2JhKDI1NSwyNTUsMjU1LDAuOSkgNTAlLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDc1JSwgcmdiYSgyNTUsMjU1LDI1NSwxKSAxMDAlKTtcbiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMCUsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMjUlLCByZ2JhKDI1NSwyNTUsMjU1LDAuOSkgNTAlLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDc1JSwgcmdiYSgyNTUsMjU1LDI1NSwxKSAxMDAlKTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDI1NSwyNTUsMjU1LDApIDAlLCByZ2JhKDI1NSwyNTUsMjU1LDApIDI1JSwgcmdiYSgyNTUsMjU1LDI1NSwwLjkpIDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwxKSA3NSUsIHJnYmEoMjU1LDI1NSwyNTUsMSkgMTAwJSk7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9XCIjZmZmZmZmXCIsZW5kQ29sb3JzdHI9XCIjZmZmZmZmXCIsR3JhZGllbnRUeXBlPTEpO1xufVxuI2V4dGVuZC1hemllbmRhIC5zbGlkZSB7XG4gIG1pbi13aWR0aDogNzUlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICAvKlxuICBsZWZ0OiAwO1xuICAqL1xuICByaWdodDogMjUlO1xufVxuLypcbiNleHRlbmQtY2Fyb3VzZWwgLmNhcm91c2VsLWNhcHRpb24tcGFuZWwgaW1nIHtcbiAgb3BhY2l0eTogLjg1O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbiovXG4uZXh0ZW5kLWF6aWVuZGEtZGl2aWRlciB7XG59XG4uZXh0ZW5kLWF6aWVuZGEtZGl2aWRlciBpbWcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwMDA7XG4gIHdpZHRoOiAxMDAuNSU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtLjUlKSB0cmFuc2xhdGVZKC05OCUpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLyogIERldmljZSA9IDRLIGFuZCA1SyBEZXNrdG9wc1xuICAgIFNjcmVlbiA9IDM4NDBweCBhbmQgdXAgICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzODQwcHgpIHtcbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOjM4NDBweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6Mzg0MHB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDozODQwcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOjM4NDBweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6Mzg0MHB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDozODQwcHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBIdWdlIERlc2t0b3BzXG4gICAgU2NyZWVuID0gQi93IDI1NjBweCB0byAzODM5cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpIHtcbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBWZXJ5IExhcmdlIExhcHRvcHMsIFZlcnkgTGFyZ2UgRGVza3RvcHNcbiAgICBTY3JlZW4gPSBCL3cgMTkyMHB4IHRvIDI1NTlweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IExhcmdlIExhcHRvcHMsIExhcmdlIERlc2t0b3BzXG4gICAgU2NyZWVuID0gQi93IDEyODBweCB0byAxOTE5cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIHtcbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBWZXJ5IExhcmdlIFRhYmxldHMgKGxhbmRzY2FwZSlcbiAgICBTY3JlZW4gPSBCL3cgMTI4MHB4IHRvIDE5MTlweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gU21hbGwtdG8tbWVkaXVtIExhcHRvcHMsIFNtYWxsLXRvLW1lZGl1bSBEZXNrdG9wcywgVmVyeSBMYXJnZSBUYWJsZXRzIChwb3J0cmFpdClcbiAgICBTY3JlZW4gPSBCL3cgOTkycHggdG8gMTI3OXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbiAgI2V4dGVuZC1hemllbmRhIHtcbiAgICBtYXJnaW4tdG9wOiAxMDdweDtcbiAgfVxuICAjZXh0ZW5kLWF6aWVuZGEsXG4gICNleHRlbmQtYXppZW5kYSAuY2Fyb3VzZWwtaW5uZXIge1xuICAgIGhlaWdodDogODB2aDtcbiAgfVxuICAjZXh0ZW5kLWF6aWVuZGEgLnNsaWRlIHtcbiAgICByaWdodDogMDtcbiAgfVxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IExhcmdlIFRhYmxldHMgKGxhbmRzY2FwZSlcbiAgICBTY3JlZW4gPSBCL3cgOTkycHggdG8gMTI3OXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAjZXh0ZW5kLWF6aWVuZGEge1xuICAgIG1hcmdpbi10b3A6IDEwN3B4O1xuICB9XG4gICNleHRlbmQtYXppZW5kYSxcbiAgI2V4dGVuZC1hemllbmRhIC5jYXJvdXNlbC1pbm5lciB7XG4gICAgaGVpZ2h0OiA4MHZoO1xuICB9XG4gICNleHRlbmQtYXppZW5kYSAuc2xpZGUge1xuICAgIHJpZ2h0OiAyNSU7XG4gIH1cbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBNZWRpdW0tdG8tbGFyZ2UgVGFibGV0cyAocG9ydHJhaXQpXG4gICAgU2NyZWVuID0gQi93IDc2OHB4IHRvIDk5MXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAjZXh0ZW5kLWF6aWVuZGEge1xuICAgIG1hcmdpbi10b3A6IDEwN3B4O1xuICB9XG4gICNleHRlbmQtYXppZW5kYSxcbiAgI2V4dGVuZC1hemllbmRhIC5jYXJvdXNlbC1pbm5lciB7XG4gICAgaGVpZ2h0OiA4MHZoO1xuICB9XG4gICNleHRlbmQtYXppZW5kYSAuc2xpZGUge1xuICAgIHJpZ2h0OiAwO1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gU21hbGwtdG8tbWVkaXVtIFRhYmxldHMgKGxhbmRzY2FwZSksIFZlcnkgTGFyZ2UgTW9iaWxlcyAobGFuZHNjYXBlKVxuICAgIFNjcmVlbiA9IEIvdyA3NjhweCB0byA5OTFweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAjZXh0ZW5kLWF6aWVuZGEsXG4gICNleHRlbmQtYXppZW5kYSAuY2Fyb3VzZWwtaW5uZXIge1xuICAgIGhlaWdodDogMTIwdmg7XG4gIH1cbiAgI2V4dGVuZC1hemllbmRhIC5zbGlkZSB7XG4gICAgcmlnaHQ6IDI1JTtcbiAgfVxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFNtYWxsIFRhYmxldHMgKHBvcnRyYWl0KVxuICAgIFNjcmVlbiA9IEIvdyA1NzZweCB0byA3NjdweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgI2V4dGVuZC1hemllbmRhIHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICB9XG4gICNleHRlbmQtYXppZW5kYSxcbiAgI2V4dGVuZC1hemllbmRhIC5jYXJvdXNlbC1pbm5lciB7XG4gICAgaGVpZ2h0OiA4MHZoO1xuICB9XG4gICNleHRlbmQtYXppZW5kYSAuY2Fyb3VzZWwtY2FwdGlvbi1wYW5lbCB7XG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMCUsIHJnYmEoMjU1LDI1NSwyNTUsMC40OCkgMjUlLCByZ2JhKDI1NSwyNTUsMjU1LC45NikgNzUlKTtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsMjU1LDI1NSwwKSAwJSwgcmdiYSgyNTUsMjU1LDI1NSwwLjQ4KSAyNSUsIHJnYmEoMjU1LDI1NSwyNTUsLjk2KSA3NSUpO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsMjU1LDI1NSwwKSAwJSwgcmdiYSgyNTUsMjU1LDI1NSwwLjQ4KSAyNSUsIHJnYmEoMjU1LDI1NSwyNTUsLjk2KSA3NSUpO1xuICB9XG4gICNleHRlbmQtYXppZW5kYSAuc2xpZGUge1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogLTUwJTtcbiAgICByaWdodDogdW5zZXQ7XG4gIH1cbiAgI2V4dGVuZC1hemllbmRhIC5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAxcmVtIDFyZW07XG4gIH1cbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBTbWFsbC10by1sYXJnZSBNb2JpbGVzIChsYW5kc2NhcGUpXG4gICAgU2NyZWVuID0gQi93IDU3NnB4IHRvIDc2N3B4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICNleHRlbmQtYXppZW5kYSxcbiAgI2V4dGVuZC1hemllbmRhIC5jYXJvdXNlbC1pbm5lciB7XG4gICAgaGVpZ2h0OiAxMjB2aDtcbiAgfVxuICAjZXh0ZW5kLWF6aWVuZGEgLnNsaWRlIHtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBNb2JpbGVzIChQb3J0cmFpdClcbiAgICBTY3JlZW4gPSBCL3cgMzIwcHggdG8gNTc1cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSB7XG4gICNleHRlbmQtYXppZW5kYSB7XG4gICAgbWFyZ2luLXRvcDogNjBweDtcbiAgfVxuICAjZXh0ZW5kLWF6aWVuZGEsXG4gICNleHRlbmQtYXppZW5kYSAuY2Fyb3VzZWwtaW5uZXIge1xuICAgIGhlaWdodDogODB2aDtcbiAgfVxuICAjZXh0ZW5kLWF6aWVuZGEgLmNhcm91c2VsLWNhcHRpb24tcGFuZWwge1xuICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCByZ2JhKDI1NSwyNTUsMjU1LDApIDAlLCByZ2JhKDI1NSwyNTUsMjU1LDAuNDgpIDI1JSwgcmdiYSgyNTUsMjU1LDI1NSwuOTYpIDc1JSk7XG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMCUsIHJnYmEoMjU1LDI1NSwyNTUsMC40OCkgMjUlLCByZ2JhKDI1NSwyNTUsMjU1LC45NikgNzUlKTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMCUsIHJnYmEoMjU1LDI1NSwyNTUsMC40OCkgMjUlLCByZ2JhKDI1NSwyNTUsMjU1LC45NikgNzUlKTtcbiAgfVxuICAjZXh0ZW5kLWF6aWVuZGEgLnNsaWRlIHtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IC03NSU7XG4gICAgcmlnaHQ6IHVuc2V0O1xuICB9XG4gICNleHRlbmQtYXppZW5kYSAuY2Fyb3VzZWwtY2FwdGlvbiB7XG4gICAgcGFkZGluZzogMXJlbSAxcmVtO1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gVmVyeSBTbWFsbCBNb2JpbGVzIChMYW5kc2NhcGUpXG4gICAgU2NyZWVuID0gQi93IDMyMHB4IHRvIDU3NXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICNleHRlbmQtYXppZW5kYSxcbiAgI2V4dGVuZC1hemllbmRhIC5jYXJvdXNlbC1pbm5lciB7XG4gICAgaGVpZ2h0OiAxMjB2aDtcbiAgfVxuICAjZXh0ZW5kLWF6aWVuZGEgLnNsaWRlIHtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59IiwiLyogQ0FSRCAqL1xuLmNvbXBhbnktaGVhZGluZyB7XG59XG4uY29tcGFueS1oZWFkaW5nIC5jb21wYW55LWJyYW5kIHtcbiAgd2lkdGg6IDQwJTtcbiAgbWFyZ2luOiAxNXB4IGF1dG87XG59XG4uY29tcGFueS1jYXJkcyB7XG4gICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuICAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiB9XG4uY29tcGFueS1jYXJkcyBhIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgb3BhY2l0eTogMTtcbn1cbi5jb21wYW55LWNhcmRzIGE6aG92ZXIge1xuICBvcGFjaXR5OiAuNzU7XG59XG4uY29tcGFueS1jYXJkcyBoMyB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAzLjN2dztcbiAgbWFyZ2luLXRvcDogLTEwcHg7XG4gIHotaW5kZXg6IDEwMDA7XG59XG4uY29tcGFueS1jYXJkcy1iZyA+IGltZyB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMiUpIHRyYW5zbGF0ZVkoMiUpO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTA0JTtcbiAgei1pbmRleDogMTAwO1xufVxuXG4vKiAgRGV2aWNlID0gNEsgYW5kIDVLIERlc2t0b3BzXG4gICAgU2NyZWVuID0gMzg0MHB4IGFuZCB1cCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM4NDBweCkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6Mzg0MHB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDozODQwcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOjM4NDBweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6Mzg0MHB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDozODQwcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOjM4NDBweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IEh1Z2UgRGVza3RvcHNcbiAgICBTY3JlZW4gPSBCL3cgMjU2MHB4IHRvIDM4MzlweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFZlcnkgTGFyZ2UgTGFwdG9wcywgVmVyeSBMYXJnZSBEZXNrdG9wc1xuICAgIFNjcmVlbiA9IEIvdyAxOTIwcHggdG8gMjU1OXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSB7XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gTGFyZ2UgTGFwdG9wcywgTGFyZ2UgRGVza3RvcHNcbiAgICBTY3JlZW4gPSBCL3cgMTI4MHB4IHRvIDE5MTlweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFZlcnkgTGFyZ2UgVGFibGV0cyAobGFuZHNjYXBlKVxuICAgIFNjcmVlbiA9IEIvdyAxMjgwcHggdG8gMTkxOXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBTbWFsbC10by1tZWRpdW0gTGFwdG9wcywgU21hbGwtdG8tbWVkaXVtIERlc2t0b3BzLCBWZXJ5IExhcmdlIFRhYmxldHMgKHBvcnRyYWl0KVxuICAgIFNjcmVlbiA9IEIvdyA5OTJweCB0byAxMjc5cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAuY29tcGFueS1oZWFkaW5nIHtcbiAgICBtYXJnaW4tdG9wOiAxMnZoO1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gTGFyZ2UgVGFibGV0cyAobGFuZHNjYXBlKVxuICAgIFNjcmVlbiA9IEIvdyA5OTJweCB0byAxMjc5cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC5jb21wYW55LWhlYWRpbmcge1xuICAgIG1hcmdpbi10b3A6IDh2aDtcbiAgfVxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFNtYWxsLXRvLWxhcmdlIFRhYmxldHMgKHBvcnRyYWl0KVxuICAgIFNjcmVlbiA9IEIvdyA3NjhweCB0byA5OTFweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLmNvbXBhbnktaGVhZGluZyB7XG4gICAgbWFyZ2luLXRvcDogMTJ2aDtcbiAgfVxuICAuY29tcGFueS1jYXJkcyB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgfVxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFNtYWxsLXRvLW1lZGl1bSBUYWJsZXRzIChsYW5kc2NhcGUpLCBWZXJ5IExhcmdlIE1vYmlsZXMgKGxhbmRzY2FwZSlcbiAgICBTY3JlZW4gPSBCL3cgNzY4cHggdG8gOTkxcHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBTbWFsbCBUYWJsZXRzIChwb3J0cmFpdClcbiAgICBTY3JlZW4gPSBCL3cgNTc2cHggdG8gNzY3cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5jb21wYW55LWhlYWRpbmcge1xuICAgIG1hcmdpbi10b3A6IDEydmg7XG4gIH1cbiAgLmNvbXBhbnktY2FyZHMge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gIH1cbiAgLmNvbXBhbnktY2FyZHMgaDMge1xuICAgIGZvbnQtc2l6ZTogMy43NXZ3O1xuICAgIG1hcmdpbi10b3A6IC04cHg7XG4gIH1cbiAgLmNvbXBhbnktY2FyZHMtYmcgPiBpbWcge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMiUpIHRyYW5zbGF0ZVkoMiUpO1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gU21hbGwtdG8tbGFyZ2UgTW9iaWxlcyAobGFuZHNjYXBlKVxuICAgIFNjcmVlbiA9IEIvdyA1NzZweCB0byA3NjdweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAuY29tcGFueS1oZWFkaW5nIHtcbiAgICBtYXJnaW4tdG9wOiAxMnZoO1xuICB9XG4gIC5jb21wYW55LWNhcmRzIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICB9XG4gIC5jb21wYW55LWNhcmRzIGgzIHtcbiAgICBmb250LXNpemU6IDZ2dztcbiAgICBtYXJnaW4tdG9wOiAtMTJweDtcbiAgfVxuICAuY29tcGFueS1jYXJkcy1iZyA+IGltZyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yJSkgdHJhbnNsYXRlWSgyJSk7XG4gIH1cbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBNb2JpbGVzIChQb3J0cmFpdClcbiAgICBTY3JlZW4gPSBCL3cgMzIwcHggdG8gNTc1cHggKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpIHtcbiAgLmNvbXBhbnktaGVhZGluZyB7XG4gICAgbWFyZ2luLXRvcDogMTJ2aDtcbiAgfVxuICAuY29tcGFueS1jYXJkcyB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgfVxuICAuY29tcGFueS1jYXJkcyBhIH4gYSB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgfVxuICAuY29tcGFueS1jYXJkcyBoMyB7XG4gICAgZm9udC1zaXplOiA5dnc7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICAuY29tcGFueS1jYXJkcy1iZyA+IGltZyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yJSkgdHJhbnNsYXRlWSgyJSk7XG4gIH1cbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBWZXJ5IFNtYWxsIE1vYmlsZXMgKExhbmRzY2FwZSlcbiAgICBTY3JlZW4gPSBCL3cgMzIwcHggdG8gNTc1cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLmNvbXBhbnktY2FyZHMgPiBhID4gaW1nIHtcbiAgICBtYXJnaW4tdG9wOiAtMzB2dztcbiAgfVxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuXG4vKiBJTlRSTyAqL1xuLmludHJvLWNvbXBhbnktaGVhZGluZyB7XG4gIG1hcmdpbi10b3A6IDEyMHB4O1xufVxuLmludHJvLWNvbXBhbnkge1xuICBtYXJnaW4tdG9wOiA5MHB4O1xuICBtYXJnaW4tYm90dG9tOiA5MHB4O1xufVxuLmludHJvLWNvbXBhbnkgaDEge1xuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xufVxuLmludHJvLWNvbXBhbnkgLmhlYWRpbmctZGl2aWRlciB7XG4gIG1hcmdpbjogNDBweCBhdXRvIDQwcHggMDtcbiAgd2lkdGg6IDY2JTtcbn1cbi5pbnRyby1jb21wYW55IC4tLWhlYWRpbmctZGl2aWRlci1yZWQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZjAwO1xufVxuLmludHJvLWNvbXBhbnkgLmNvbXBhbnktYnJhbmQge1xuICB3aWR0aDogMjAwcHg7XG59XG4uaW50cm8tY29tcGFueSBwIHN0cm9uZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMzBweCAwO1xuICBmb250LXNpemU6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi8qICBEZXZpY2UgPSA0SyBhbmQgNUsgRGVza3RvcHNcbiAgICBTY3JlZW4gPSAzODQwcHggYW5kIHVwICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzg0MHB4KSB7XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDozODQwcHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOjM4NDBweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6Mzg0MHB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDozODQwcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOjM4NDBweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6Mzg0MHB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gSHVnZSBEZXNrdG9wc1xuICAgIFNjcmVlbiA9IEIvdyAyNTYwcHggdG8gMzgzOXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSBhbmQgKG1heC13aWR0aDogMzgzOXB4KSB7XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSBhbmQgKG1heC13aWR0aDogMzgzOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSBhbmQgKG1heC13aWR0aDogMzgzOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSBhbmQgKG1heC13aWR0aDogMzgzOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSBhbmQgKG1heC13aWR0aDogMzgzOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSBhbmQgKG1heC13aWR0aDogMzgzOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSBhbmQgKG1heC13aWR0aDogMzgzOXB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gVmVyeSBMYXJnZSBMYXB0b3BzLCBWZXJ5IExhcmdlIERlc2t0b3BzXG4gICAgU2NyZWVuID0gQi93IDE5MjBweCB0byAyNTU5cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpIHtcbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBMYXJnZSBMYXB0b3BzLCBMYXJnZSBEZXNrdG9wc1xuICAgIFNjcmVlbiA9IEIvdyAxMjgwcHggdG8gMTkxOXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSB7XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gVmVyeSBMYXJnZSBUYWJsZXRzIChsYW5kc2NhcGUpXG4gICAgU2NyZWVuID0gQi93IDEyODBweCB0byAxOTE5cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFNtYWxsLXRvLW1lZGl1bSBMYXB0b3BzLCBTbWFsbC10by1tZWRpdW0gRGVza3RvcHMsIFZlcnkgTGFyZ2UgVGFibGV0cyAocG9ydHJhaXQpXG4gICAgU2NyZWVuID0gQi93IDk5MnB4IHRvIDEyNzlweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7XG5cbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBMYXJnZSBUYWJsZXRzIChsYW5kc2NhcGUpXG4gICAgU2NyZWVuID0gQi93IDk5MnB4IHRvIDEyNzlweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcblxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFNtYWxsLXRvLWxhcmdlIFRhYmxldHMgKHBvcnRyYWl0KVxuICAgIFNjcmVlbiA9IEIvdyA3NjhweCB0byA5OTFweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLmludHJvLWNvbXBhbnkge1xuICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgfVxuICAuaW50cm8tY29tcGFueSAuaGVhZGluZy1kaXZpZGVyIHtcbiAgICBtYXJnaW46IDMwcHggYXV0byAzMHB4IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBTbWFsbC10by1tZWRpdW0gVGFibGV0cyAobGFuZHNjYXBlKSwgVmVyeSBMYXJnZSBNb2JpbGVzIChsYW5kc2NhcGUpXG4gICAgU2NyZWVuID0gQi93IDc2OHB4IHRvIDk5MXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gU21hbGwgVGFibGV0cyAocG9ydHJhaXQpXG4gICAgU2NyZWVuID0gQi93IDU3NnB4IHRvIDc2N3B4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaW50cm8tY29tcGFueSB7XG4gICAgbWFyZ2luLXRvcDogNjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICB9XG4gIC5pbnRyby1jb21wYW55IC5jb21wYW55LWJyYW5kIHtcbiAgICB3aWR0aDogMTc1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgfVxuICAuaW50cm8tY29tcGFueSAuaGVhZGluZy1kaXZpZGVyIHtcbiAgICBtYXJnaW46IDIwcHggYXV0byAyMHB4IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBTbWFsbC10by1sYXJnZSBNb2JpbGVzIChsYW5kc2NhcGUpXG4gICAgU2NyZWVuID0gQi93IDU3NnB4IHRvIDc2N3B4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG5cbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBNb2JpbGVzIChQb3J0cmFpdClcbiAgICBTY3JlZW4gPSBCL3cgMzIwcHggdG8gNTc1cHggKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpIHtcbiAgLmludHJvLWNvbXBhbnkge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxuICAuaW50cm8tY29tcGFueSAgLmNvbXBhbnktYnJhbmQge1xuICAgIHdpZHRoOiAxMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG4gIC5pbnRyby1jb21wYW55IC5oZWFkaW5nLWRpdmlkZXIge1xuICAgIG1hcmdpbjogMTVweCBhdXRvIDE1cHggMDtcbiAgICB3aWR0aDogNjYlO1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gVmVyeSBTbWFsbCBNb2JpbGVzIChMYW5kc2NhcGUpXG4gICAgU2NyZWVuID0gQi93IDMyMHB4IHRvIDU3NXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG5cbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qIEZPVU5ERVIgKi9cbiNmb3VuZGVyLWNhcm91c2VsLFxuI2ZvdW5kZXItY2Fyb3VzZWwgLmNhcm91c2VsLWlubmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogODB2aDtcbn1cbiNmb3VuZGVyLWNhcm91c2VsIHtcbiAgYmFja2dyb3VuZDogcmdiKDIyOSwyMjksMjI5KTtcbiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoLTEyMGRlZywgcmdiYSgyMjksMjI5LDIyOSwxKSAwJSwgcmdiYSgyNDYsMjQ2LDI0NiwxKSAzNSUsIHJnYmEoMjI5LDIyOSwyMjksMSkgMTAwJSk7XG4gIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KC0xMjBkZWcsIHJnYmEoMjI5LDIyOSwyMjksMSkgMCUsIHJnYmEoMjQ2LDI0NiwyNDYsMSkgMzUlLCByZ2JhKDIyOSwyMjksMjI5LDEpIDEwMCUpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoLTEyMGRlZywgcmdiYSgyMjksMjI5LDIyOSwxKSAwJSwgcmdiYSgyNDYsMjQ2LDI0NiwxKSAzNSUsIHJnYmEoMjI5LDIyOSwyMjksMSkgMTAwJSk7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9XCIjZTVlNWU1XCIsZW5kQ29sb3JzdHI9XCIjZTVlNWU1XCIsR3JhZGllbnRUeXBlPTEpO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cbiNmb3VuZGVyLWNhcm91c2VsIC5jYXJvdXNlbC1pbm5lciB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuI2ZvdW5kZXItY2Fyb3VzZWwgLmZvdW5kZXItbGVmdCB7XG4gIHdpZHRoOiAzNXZ3O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogNXZ3O1xuICB6LWluZGV4OiAxMDAwO1xufVxuI2ZvdW5kZXItY2Fyb3VzZWwgLmZvdW5kZXItcmlnaHQge1xuICB3aWR0aDogMzV2dztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiA1dnc7XG4gIHotaW5kZXg6IDEwMDA7XG59XG4uZm91bmRlci1oZWFkaW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyNDBweDtcbn1cbi5mb3VuZGVyLWhlYWRpbmcgLmZvdW5kZXItaGVhZGluZy1sZWZ0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAyMi41dnc7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cbi5mb3VuZGVyLWhlYWRpbmcgLmZvdW5kZXItaGVhZGluZy1yaWdodCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDIyLjV2dztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSk7XG59XG4uZm91bmRlci1kaXZpZGVyIHtcbiAgbWFyZ2luLXRvcDogNjBweDtcbn1cbi5mb3VuZGVyLWRpdmlkZXIgaW1nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDtcbiAgd2lkdGg6IDEwMC41JTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0uNSUpIHRyYW5zbGF0ZVkoLTIlKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4jZm91bmRlci1jYXJvdXNlbCAuY2Fyb3VzZWwtbGluayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiA2MHB4O1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgcGFkZGluZzogNHB4IDA7XG59XG4jZm91bmRlci1jYXJvdXNlbCAuY2Fyb3VzZWwtbGluazpob3ZlciB7XG4gIHBhZGRpbmc6IDRweCAyNXB4O1xufVxuI2ZvdW5kZXItY2Fyb3VzZWwgLi0tY2Fyb3VzZWwtbGluay11bmRlcmxpbmUge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2ZmMDAwMDtcbn1cblxuLyogIERldmljZSA9IDRLIGFuZCA1SyBEZXNrdG9wc1xuICAgIFNjcmVlbiA9IDM4NDBweCBhbmQgdXAgICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzODQwcHgpIHtcbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOjM4NDBweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6Mzg0MHB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDozODQwcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOjM4NDBweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6Mzg0MHB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDozODQwcHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBIdWdlIERlc2t0b3BzXG4gICAgU2NyZWVuID0gQi93IDI1NjBweCB0byAzODM5cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpIHtcbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBWZXJ5IExhcmdlIExhcHRvcHMsIFZlcnkgTGFyZ2UgRGVza3RvcHNcbiAgICBTY3JlZW4gPSBCL3cgMTkyMHB4IHRvIDI1NTlweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IExhcmdlIExhcHRvcHMsIExhcmdlIERlc2t0b3BzXG4gICAgU2NyZWVuID0gQi93IDEyODBweCB0byAxOTE5cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIHtcbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBWZXJ5IExhcmdlIFRhYmxldHMgKGxhbmRzY2FwZSlcbiAgICBTY3JlZW4gPSBCL3cgMTI4MHB4IHRvIDE5MTlweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gU21hbGwtdG8tbWVkaXVtIExhcHRvcHMsIFNtYWxsLXRvLW1lZGl1bSBEZXNrdG9wcywgVmVyeSBMYXJnZSBUYWJsZXRzIChwb3J0cmFpdClcbiAgICBTY3JlZW4gPSBCL3cgOTkycHggdG8gMTI3OXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbiAgI2ZvdW5kZXItY2Fyb3VzZWwsXG4gICNmb3VuZGVyLWNhcm91c2VsIC5jYXJvdXNlbC1pbm5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA0NXZoO1xuICB9XG4gICNmb3VuZGVyLWNhcm91c2VsIC5mb3VuZGVyLWxlZnQge1xuICAgIHdpZHRoOiA0M3Z3O1xuICB9XG4gICNmb3VuZGVyLWNhcm91c2VsIC5mb3VuZGVyLXJpZ2h0IHtcbiAgICB3aWR0aDogNDB2dztcbiAgfVxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IExhcmdlIFRhYmxldHMgKGxhbmRzY2FwZSlcbiAgICBTY3JlZW4gPSBCL3cgOTkycHggdG8gMTI3OXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuXG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gU21hbGwtdG8tbGFyZ2UgVGFibGV0cyAocG9ydHJhaXQpXG4gICAgU2NyZWVuID0gQi93IDc2OHB4IHRvIDk5MXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAjZm91bmRlci1jYXJvdXNlbCxcbiAgI2ZvdW5kZXItY2Fyb3VzZWwgLmNhcm91c2VsLWlubmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDQwdmg7XG4gIH1cbiAgI2ZvdW5kZXItY2Fyb3VzZWwgLmZvdW5kZXItbGVmdCB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiA0NXZ3O1xuICAgIG1heC1oZWlnaHQ6IDUwdmg7XG4gIH1cbiAgI2ZvdW5kZXItY2Fyb3VzZWwgLmZvdW5kZXItcmlnaHQge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1heC13aWR0aDogNDJ2dztcbiAgICBtYXgtaGVpZ2h0OiA0NXZoO1xuICAgIHotaW5kZXg6IDk5OTtcbiAgfVxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFNtYWxsLXRvLW1lZGl1bSBUYWJsZXRzIChsYW5kc2NhcGUpLCBWZXJ5IExhcmdlIE1vYmlsZXMgKGxhbmRzY2FwZSlcbiAgICBTY3JlZW4gPSBCL3cgNzY4cHggdG8gOTkxcHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBTbWFsbCBUYWJsZXRzIChwb3J0cmFpdClcbiAgICBTY3JlZW4gPSBCL3cgNTc2cHggdG8gNzY3cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICNmb3VuZGVyLWNhcm91c2VsLFxuICAjZm91bmRlci1jYXJvdXNlbCAuY2Fyb3VzZWwtaW5uZXIge1xuICAgIGhlaWdodDogNTB2aDtcbiAgfVxuICAjZm91bmRlci1jYXJvdXNlbCAuZm91bmRlci1sZWZ0IHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDYwdnc7XG4gICAgbWF4LWhlaWdodDogNTV2aDtcbiAgfVxuICAjZm91bmRlci1jYXJvdXNlbCAuZm91bmRlci1yaWdodCB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiA1NXZ3O1xuICAgIG1heC1oZWlnaHQ6IDUwdmg7XG4gICAgei1pbmRleDogOTk5O1xuICB9XG4gIC5mb3VuZGVyLWhlYWRpbmcge1xuICAgIG1hcmdpbi1ib3R0b206IDkwcHg7XG4gIH1cbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBTbWFsbC10by1sYXJnZSBNb2JpbGVzIChsYW5kc2NhcGUpXG4gICAgU2NyZWVuID0gQi93IDU3NnB4IHRvIDc2N3B4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG5cbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBNb2JpbGVzIChQb3J0cmFpdClcbiAgICBTY3JlZW4gPSBCL3cgMzIwcHggdG8gNTc1cHggKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpIHtcbiAgI2ZvdW5kZXItY2Fyb3VzZWwsXG4gICNmb3VuZGVyLWNhcm91c2VsIC5jYXJvdXNlbC1pbm5lciB7XG4gICAgaGVpZ2h0OiA0MHZoO1xuICB9XG4gICNmb3VuZGVyLWNhcm91c2VsIC5mb3VuZGVyLWxlZnQge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1heC13aWR0aDogNzB2dztcbiAgICBtYXgtaGVpZ2h0OiA1NXZoO1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgI2ZvdW5kZXItY2Fyb3VzZWwgLmZvdW5kZXItcmlnaHQge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1heC13aWR0aDogNjN2dztcbiAgICBtYXgtaGVpZ2h0OiA1MHZoO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDk5OTtcbiAgfVxuICAuZm91bmRlci1oZWFkaW5nIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDkwcHg7XG4gICAgcG9zaXRpb246IHVuc2V0O1xuICAgIHdpZHRoOiB1bnNldDtcbiAgfVxuICAuZm91bmRlci1oZWFkaW5nIC5mb3VuZGVyLWhlYWRpbmctbGVmdCB7XG4gICAgbGVmdDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuZm91bmRlci1oZWFkaW5nIC5mb3VuZGVyLWhlYWRpbmctcmlnaHQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFZlcnkgU21hbGwgTW9iaWxlcyAoTGFuZHNjYXBlKVxuICAgIFNjcmVlbiA9IEIvdyAzMjBweCB0byA1NzVweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuXG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4iLCIvKiBIRUFERVIgKi9cbiNleHRlbmQtYW5hbGlzaSxcbiNleHRlbmQtYW5hbGlzaSAuY2Fyb3VzZWwtaW5uZXIsXG4jZXh0ZW5kLXByb2dldHRhemlvbmUsXG4jZXh0ZW5kLXByb2dldHRhemlvbmUgLmNhcm91c2VsLWlubmVyLFxuI2V4dGVuZC1jZXJ0aWZpY2F6aW9uZSxcbiNleHRlbmQtY2VydGlmaWNhemlvbmUgLmNhcm91c2VsLWlubmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNzB2aDtcbn1cbi5leHRlbmQtc2VydmljZXMtYmcgaW1nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDEwO1xuICB3aWR0aDogMTAwLjUlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLS41JSkgdHJhbnNsYXRlWSgyJSk7XG4gIG9wYWNpdHk6IC44NTtcbiAgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5O1xufVxuI2V4dGVuZC1hbmFsaXNpIC5jYXJvdXNlbC1jYXB0aW9uLFxuI2V4dGVuZC1wcm9nZXR0YXppb25lIC5jYXJvdXNlbC1jYXB0aW9uLFxuI2V4dGVuZC1jZXJ0aWZpY2F6aW9uZSAuY2Fyb3VzZWwtY2FwdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cbiNleHRlbmQtYW5hbGlzaSAuY2Fyb3VzZWwtY2FwdGlvbiBoMyxcbiNleHRlbmQtcHJvZ2V0dGF6aW9uZSAuY2Fyb3VzZWwtY2FwdGlvbiBoMyxcbiNleHRlbmQtY2VydGlmaWNhemlvbmUgLmNhcm91c2VsLWNhcHRpb24gaDMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGZvbnQtc2l6ZTogMTB2dztcbiAgei1pbmRleDogMTAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1JSk7XG59XG4jZXh0ZW5kLWFuYWxpc2kgLmNhcm91c2VsLWNhcHRpb24gaW1nLFxuI2V4dGVuZC1wcm9nZXR0YXppb25lIC5jYXJvdXNlbC1jYXB0aW9uIGltZyxcbiNleHRlbmQtY2VydGlmaWNhemlvbmUgLmNhcm91c2VsLWNhcHRpb24gaW1nIHtcbiAgb3BhY2l0eTogMDtcbn1cblxuXG4vKiAgRGV2aWNlID0gNEsgYW5kIDVLIERlc2t0b3BzXG4gICAgU2NyZWVuID0gMzg0MHB4IGFuZCB1cCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM4NDBweCkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6Mzg0MHB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDozODQwcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOjM4NDBweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6Mzg0MHB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDozODQwcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOjM4NDBweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IEh1Z2UgRGVza3RvcHNcbiAgICBTY3JlZW4gPSBCL3cgMjU2MHB4IHRvIDM4MzlweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFZlcnkgTGFyZ2UgTGFwdG9wcywgVmVyeSBMYXJnZSBEZXNrdG9wc1xuICAgIFNjcmVlbiA9IEIvdyAxOTIwcHggdG8gMjU1OXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSB7XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gTGFyZ2UgTGFwdG9wcywgTGFyZ2UgRGVza3RvcHNcbiAgICBTY3JlZW4gPSBCL3cgMTI4MHB4IHRvIDE5MTlweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFZlcnkgTGFyZ2UgVGFibGV0cyAobGFuZHNjYXBlKVxuICAgIFNjcmVlbiA9IEIvdyAxMjgwcHggdG8gMTkxOXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBTbWFsbC10by1tZWRpdW0gTGFwdG9wcywgU21hbGwtdG8tbWVkaXVtIERlc2t0b3BzLCBWZXJ5IExhcmdlIFRhYmxldHMgKHBvcnRyYWl0KVxuICAgIFNjcmVlbiA9IEIvdyA5OTJweCB0byAxMjc5cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAjZXh0ZW5kLWFuYWxpc2ksXG4gICNleHRlbmQtYW5hbGlzaSAuY2Fyb3VzZWwtaW5uZXIsXG4gICNleHRlbmQtcHJvZ2V0dGF6aW9uZSxcbiAgI2V4dGVuZC1wcm9nZXR0YXppb25lIC5jYXJvdXNlbC1pbm5lcixcbiAgI2V4dGVuZC1jZXJ0aWZpY2F6aW9uZSxcbiAgI2V4dGVuZC1jZXJ0aWZpY2F6aW9uZSAuY2Fyb3VzZWwtaW5uZXIge1xuICAgIGhlaWdodDogNTB2aDtcbiAgfVxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IExhcmdlIFRhYmxldHMgKGxhbmRzY2FwZSlcbiAgICBTY3JlZW4gPSBCL3cgOTkycHggdG8gMTI3OXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAjZXh0ZW5kLWFuYWxpc2ksXG4gICNleHRlbmQtYW5hbGlzaSAuY2Fyb3VzZWwtaW5uZXIsXG4gICNleHRlbmQtcHJvZ2V0dGF6aW9uZSxcbiAgI2V4dGVuZC1wcm9nZXR0YXppb25lIC5jYXJvdXNlbC1pbm5lcixcbiAgI2V4dGVuZC1jZXJ0aWZpY2F6aW9uZSxcbiAgI2V4dGVuZC1jZXJ0aWZpY2F6aW9uZSAuY2Fyb3VzZWwtaW5uZXIge1xuICAgIGhlaWdodDogNzB2aDtcbiAgfVxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFNtYWxsLXRvLWxhcmdlIFRhYmxldHMgKHBvcnRyYWl0KVxuICAgIFNjcmVlbiA9IEIvdyA3NjhweCB0byA5OTFweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgI2V4dGVuZC1hbmFsaXNpLFxuICAjZXh0ZW5kLWFuYWxpc2kgLmNhcm91c2VsLWlubmVyLFxuICAjZXh0ZW5kLXByb2dldHRhemlvbmUsXG4gICNleHRlbmQtcHJvZ2V0dGF6aW9uZSAuY2Fyb3VzZWwtaW5uZXIsXG4gICNleHRlbmQtY2VydGlmaWNhemlvbmUsXG4gICNleHRlbmQtY2VydGlmaWNhemlvbmUgLmNhcm91c2VsLWlubmVyIHtcbiAgICBoZWlnaHQ6IDUwdmg7XG4gIH1cbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBTbWFsbC10by1tZWRpdW0gVGFibGV0cyAobGFuZHNjYXBlKSwgVmVyeSBMYXJnZSBNb2JpbGVzIChsYW5kc2NhcGUpXG4gICAgU2NyZWVuID0gQi93IDc2OHB4IHRvIDk5MXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICNleHRlbmQtYW5hbGlzaSxcbiAgI2V4dGVuZC1hbmFsaXNpIC5jYXJvdXNlbC1pbm5lcixcbiAgI2V4dGVuZC1wcm9nZXR0YXppb25lLFxuICAjZXh0ZW5kLXByb2dldHRhemlvbmUgLmNhcm91c2VsLWlubmVyLFxuICAjZXh0ZW5kLWNlcnRpZmljYXppb25lLFxuICAjZXh0ZW5kLWNlcnRpZmljYXppb25lIC5jYXJvdXNlbC1pbm5lciB7XG4gICAgaGVpZ2h0OiA3MHZoO1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gU21hbGwgVGFibGV0cyAocG9ydHJhaXQpXG4gICAgU2NyZWVuID0gQi93IDU3NnB4IHRvIDc2N3B4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAjZXh0ZW5kLWFuYWxpc2ksXG4gICNleHRlbmQtYW5hbGlzaSAuY2Fyb3VzZWwtaW5uZXIsXG4gICNleHRlbmQtcHJvZ2V0dGF6aW9uZSxcbiAgI2V4dGVuZC1wcm9nZXR0YXppb25lIC5jYXJvdXNlbC1pbm5lcixcbiAgI2V4dGVuZC1jZXJ0aWZpY2F6aW9uZSxcbiAgI2V4dGVuZC1jZXJ0aWZpY2F6aW9uZSAuY2Fyb3VzZWwtaW5uZXIge1xuICAgIGhlaWdodDogNDB2aDtcbiAgfVxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFNtYWxsLXRvLWxhcmdlIE1vYmlsZXMgKGxhbmRzY2FwZSlcbiAgICBTY3JlZW4gPSBCL3cgNTc2cHggdG8gNzY3cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgI2V4dGVuZC1hbmFsaXNpLFxuICAjZXh0ZW5kLWFuYWxpc2kgLmNhcm91c2VsLWlubmVyLFxuICAjZXh0ZW5kLXByb2dldHRhemlvbmUsXG4gICNleHRlbmQtcHJvZ2V0dGF6aW9uZSAuY2Fyb3VzZWwtaW5uZXIsXG4gICNleHRlbmQtY2VydGlmaWNhemlvbmUsXG4gICNleHRlbmQtY2VydGlmaWNhemlvbmUgLmNhcm91c2VsLWlubmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDkwdmg7XG4gIH1cbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBNb2JpbGVzIChQb3J0cmFpdClcbiAgICBTY3JlZW4gPSBCL3cgMzIwcHggdG8gNTc1cHggKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpIHtcbiAgI2V4dGVuZC1hbmFsaXNpLFxuICAjZXh0ZW5kLWFuYWxpc2kgLmNhcm91c2VsLWlubmVyLFxuICAjZXh0ZW5kLXByb2dldHRhemlvbmUsXG4gICNleHRlbmQtcHJvZ2V0dGF6aW9uZSAuY2Fyb3VzZWwtaW5uZXIsXG4gICNleHRlbmQtY2VydGlmaWNhemlvbmUsXG4gICNleHRlbmQtY2VydGlmaWNhemlvbmUgLmNhcm91c2VsLWlubmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDUwdmg7XG4gIH1cbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBWZXJ5IFNtYWxsIE1vYmlsZXMgKExhbmRzY2FwZSlcbiAgICBTY3JlZW4gPSBCL3cgMzIwcHggdG8gNTc1cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcblxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn0iLCIvKiBJTlRSTyAqL1xuLmludHJvLXNlcnZpY2VzIHtcbiAgbWFyZ2luLXRvcDogOTBweDtcbiAgbWFyZ2luLWJvdHRvbTogOTBweDtcbn1cbi5pbnRyby1zZXJ2aWNlcyBoMSB7XG4gIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG59XG4uaW50cm8tc2VydmljZXMgLmhlYWRpbmctZGl2aWRlciB7XG4gIG1hcmdpbjogNDBweCBhdXRvIDQwcHggMDtcbiAgd2lkdGg6IDY2JTtcbn1cbi5pbnRyby1zZXJ2aWNlcyAuLS1oZWFkaW5nLWRpdmlkZXItcmVkIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2YwMDtcbn1cbi5pbnRyby1zZXJ2aWNlcyAuc2VydmljZXMtYnJhbmQge1xuICB3aWR0aDogMjAwcHg7XG59XG4uaW50cm8tc2VydmljZXMgcCBzdHJvbmcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDMwcHggMDtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4vKiAgRGV2aWNlID0gNEsgYW5kIDVLIERlc2t0b3BzXG4gICAgU2NyZWVuID0gMzg0MHB4IGFuZCB1cCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM4NDBweCkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6Mzg0MHB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDozODQwcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOjM4NDBweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6Mzg0MHB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDozODQwcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOjM4NDBweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IEh1Z2UgRGVza3RvcHNcbiAgICBTY3JlZW4gPSBCL3cgMjU2MHB4IHRvIDM4MzlweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFZlcnkgTGFyZ2UgTGFwdG9wcywgVmVyeSBMYXJnZSBEZXNrdG9wc1xuICAgIFNjcmVlbiA9IEIvdyAxOTIwcHggdG8gMjU1OXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSB7XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gTGFyZ2UgTGFwdG9wcywgTGFyZ2UgRGVza3RvcHNcbiAgICBTY3JlZW4gPSBCL3cgMTI4MHB4IHRvIDE5MTlweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFZlcnkgTGFyZ2UgVGFibGV0cyAobGFuZHNjYXBlKVxuICAgIFNjcmVlbiA9IEIvdyAxMjgwcHggdG8gMTkxOXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBTbWFsbC10by1tZWRpdW0gTGFwdG9wcywgU21hbGwtdG8tbWVkaXVtIERlc2t0b3BzLCBWZXJ5IExhcmdlIFRhYmxldHMgKHBvcnRyYWl0KVxuICAgIFNjcmVlbiA9IEIvdyA5OTJweCB0byAxMjc5cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xuXG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gTGFyZ2UgVGFibGV0cyAobGFuZHNjYXBlKVxuICAgIFNjcmVlbiA9IEIvdyA5OTJweCB0byAxMjc5cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG5cbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBTbWFsbC10by1sYXJnZSBUYWJsZXRzIChwb3J0cmFpdClcbiAgICBTY3JlZW4gPSBCL3cgNzY4cHggdG8gOTkxcHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC5pbnRyby1zZXJ2aWNlcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgfVxuICAuaW50cm8tc2VydmljZXMgLmhlYWRpbmctZGl2aWRlciB7XG4gICAgbWFyZ2luOiAzMHB4IGF1dG8gMzBweCAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gU21hbGwtdG8tbWVkaXVtIFRhYmxldHMgKGxhbmRzY2FwZSksIFZlcnkgTGFyZ2UgTW9iaWxlcyAobGFuZHNjYXBlKVxuICAgIFNjcmVlbiA9IEIvdyA3NjhweCB0byA5OTFweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFNtYWxsIFRhYmxldHMgKHBvcnRyYWl0KVxuICAgIFNjcmVlbiA9IEIvdyA1NzZweCB0byA3NjdweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmludHJvLXNlcnZpY2VzIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICB9XG4gIC5pbnRyby1zZXJ2aWNlcyAuc2VydmljZXMtYnJhbmQge1xuICAgIHdpZHRoOiAxNzVweDtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICB9XG4gIC5pbnRyby1zZXJ2aWNlcyAuaGVhZGluZy1kaXZpZGVyIHtcbiAgICBtYXJnaW46IDIwcHggYXV0byAyMHB4IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBTbWFsbC10by1sYXJnZSBNb2JpbGVzIChsYW5kc2NhcGUpXG4gICAgU2NyZWVuID0gQi93IDU3NnB4IHRvIDc2N3B4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG5cbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBNb2JpbGVzIChQb3J0cmFpdClcbiAgICBTY3JlZW4gPSBCL3cgMzIwcHggdG8gNTc1cHggKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpIHtcbiAgLmludHJvLXNlcnZpY2VzIHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cbiAgLmludHJvLXNlcnZpY2VzICAuY29tcGFueS1icmFuZCB7XG4gICAgd2lkdGg6IDEyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cbiAgLmludHJvLXNlcnZpY2VzIC5oZWFkaW5nLWRpdmlkZXIge1xuICAgIG1hcmdpbjogMTVweCBhdXRvIDE1cHggMDtcbiAgICB3aWR0aDogNjYlO1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gVmVyeSBTbWFsbCBNb2JpbGVzIChMYW5kc2NhcGUpXG4gICAgU2NyZWVuID0gQi93IDMyMHB4IHRvIDU3NXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG5cbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cblxuLyogU0lOR0xFUyAqL1xuLnBhZGRpbmctc2VydmljZXMge1xuICAgIG1hcmdpbi1ib3R0b206IDI0MHB4O1xufVxuLnNpbmdsZS1zZXJ2aWNlcyxcbi5zaW5nbGUtc2VydmljZXMgLmNhcm91c2VsLWlubmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIC8qaGVpZ2h0OiA3MHZoOyovXG4gIGhlaWdodDogYXV0bztcbn1cbi5zaW5nbGUtc2VydmljZXMsXG4uc2luZ2xlLXNlcnZpY2VzIC5jYXJvdXNlbC1pdGVtIHtcbiAgYmFja2dyb3VuZDogcmdiKDIyOSwyMjksMjI5KTtcbn1cbi5zaW5nbGUtc2VydmljZXMgLnNsaWRlIHtcbiAgbWluLXdpZHRoOiA0Ny41JTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiA1Mi41JTtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAxMDtcbn1cbi5zaW5nbGUtc2VydmljZXMgLmNhcm91c2VsLWlubmVyLFxuLnNpbmdsZS1zZXJ2aWNlcyAuY2Fyb3VzZWwtY2FwdGlvbiB7XG4gIHotaW5kZXg6IDEwO1xufVxuLnNpbmdsZS1zZXJ2aWNlcyAuY2Fyb3VzZWwtY2FwdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAxNy41dmg7XG4gIHBhZGRpbmctYm90dG9tOiAxMHZoO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uZGl2aWRlci1zZXJ2aWNlcyB7XG4gIG1hcmdpbi10b3A6IC0xcHg7XG59XG4uZGl2aWRlci1zZXJ2aWNlcyBpbWcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwMDA7XG4gIHdpZHRoOiAxMDAuNSU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtLjUlKSB0cmFuc2xhdGVZKC0yJSk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnNpbmdsZS1zZXJ2aWNlcyAuaGVhZGluZy1ibG9jay13cmFwcGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuLnNpbmdsZS1zZXJ2aWNlcyAuLS1oZWFkaW5nLWJsb2NrLXJlZCAuaGVhZGluZy1ibG9jayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjAwMDA7XG59XG4uc2luZ2xlLXNlcnZpY2VzIC5oZWFkaW5nLWJsb2NrIHtcbiAgcGFkZGluZzogOHB4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwMDtcbn1cbi5zaW5nbGUtc2VydmljZXMgLmhlYWRpbmctYmxvY2stc2tldyB7XG4gIHdpZHRoOiA5OS43JTtcbiAgcGFkZGluZzogNS4yJSAwIDAgMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDAwMDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gIHRyYW5zZm9ybTogc2tld1koLTNkZWcpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwO1xufVxuXG4vKiAgRGV2aWNlID0gNEsgYW5kIDVLIERlc2t0b3BzXG4gICAgU2NyZWVuID0gMzg0MHB4IGFuZCB1cCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM4NDBweCkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6Mzg0MHB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDozODQwcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOjM4NDBweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6Mzg0MHB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDozODQwcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOjM4NDBweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IEh1Z2UgRGVza3RvcHNcbiAgICBTY3JlZW4gPSBCL3cgMjU2MHB4IHRvIDM4MzlweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFZlcnkgTGFyZ2UgTGFwdG9wcywgVmVyeSBMYXJnZSBEZXNrdG9wc1xuICAgIFNjcmVlbiA9IEIvdyAxOTIwcHggdG8gMjU1OXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSB7XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gTGFyZ2UgTGFwdG9wcywgTGFyZ2UgRGVza3RvcHNcbiAgICBTY3JlZW4gPSBCL3cgMTI4MHB4IHRvIDE5MTlweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFZlcnkgTGFyZ2UgVGFibGV0cyAobGFuZHNjYXBlKVxuICAgIFNjcmVlbiA9IEIvdyAxMjgwcHggdG8gMTkxOXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBTbWFsbC10by1tZWRpdW0gTGFwdG9wcywgU21hbGwtdG8tbWVkaXVtIERlc2t0b3BzLCBWZXJ5IExhcmdlIFRhYmxldHMgKHBvcnRyYWl0KVxuICAgIFNjcmVlbiA9IEIvdyA5OTJweCB0byAxMjc5cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IExhcmdlIFRhYmxldHMgKGxhbmRzY2FwZSlcbiAgICBTY3JlZW4gPSBCL3cgOTkycHggdG8gMTI3OXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFNtYWxsLXRvLWxhcmdlIFRhYmxldHMgKHBvcnRyYWl0KVxuICAgIFNjcmVlbiA9IEIvdyA3NjhweCB0byA5OTFweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLnBhZGRpbmctc2VydmljZXMge1xuICAgIG1hcmdpbi1ib3R0b206IDEyMHB4O1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gU21hbGwtdG8tbWVkaXVtIFRhYmxldHMgKGxhbmRzY2FwZSksIFZlcnkgTGFyZ2UgTW9iaWxlcyAobGFuZHNjYXBlKVxuICAgIFNjcmVlbiA9IEIvdyA3NjhweCB0byA5OTFweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAuc2luZ2xlLXNlcnZpY2VzIC5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogMjV2aDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTB2aDtcbiAgfVxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFNtYWxsIFRhYmxldHMgKHBvcnRyYWl0KVxuICAgIFNjcmVlbiA9IEIvdyA1NzZweCB0byA3NjdweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnBhZGRpbmctc2VydmljZXMge1xuICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gIH1cbiAgLnNpbmdsZS1zZXJ2aWNlcyxcbiAgLnNpbmdsZS1zZXJ2aWNlcyAuY2Fyb3VzZWwtaXRlbSB7XG4gICAgLyogQlVHOiBPVkVSTEFQUElORyBURVhUIFdISUxFIFRSQU5TSVRJT05JTkdcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAqL1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIH1cbiAgLnNpbmdsZS1zZXJ2aWNlcyAuc2xpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtaGVpZ2h0OiA0MHZoO1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgfVxuICAuc2luZ2xlLXNlcnZpY2VzIC5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LWhlaWdodDogNTV2aDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBwYWRkaW5nOiAycmVtIDJyZW0gM3JlbTtcbiAgfVxuICAuc2luZ2xlLXNlcnZpY2VzIC5jYXJvdXNlbC1jYXB0aW9uIC5yb3cge1xuICAgIG1hcmdpbi1sZWZ0OiAtMTZweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xNnB4O1xuICB9XG4gIC5zaW5nbGUtc2VydmljZXMgLmhlYWRpbmctYmxvY2sge1xuICAgIGZvbnQtc2l6ZTogNnZ3O1xuICAgIHBhZGRpbmc6IDhweCAxNXB4O1xuICB9XG4gIC5zaW5nbGUtc2VydmljZXMgLmhlYWRpbmctYmxvY2std3JhcHBlciB7XG4gICAgLypcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICBtYXJnaW4tdG9wOiAtMS41cmVtO1xuICAgICovXG4gICAgbWFyZ2luLXRvcDogLTJyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgfVxuICAuc2luZ2xlLXNlcnZpY2VzIC5oZWFkaW5nLWJsb2NrLXNrZXcge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnNpbmdsZS1zZXJ2aWNlcyAuaGVhZGluZy1ibG9jay1za2V3LW1vYmlsZSB7XG4gICAgLyogQlVHOiBBTlRJQUxJQVNFRCBTSEFQRSBCT1ggT1ZFUkZMT1dcbiAgICB3aWR0aDogMTAwJTtcbiAgICAqL1xuICAgIHdpZHRoOiA5OS45JTtcbiAgICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuICAgIHBhZGRpbmc6IDUuNSUgMCAwIDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDAwMDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gbGVmdDtcbiAgICB0cmFuc2Zvcm06IHNrZXdZKDNkZWcpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDtcbiAgfVxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFNtYWxsLXRvLWxhcmdlIE1vYmlsZXMgKGxhbmRzY2FwZSlcbiAgICBTY3JlZW4gPSBCL3cgNTc2cHggdG8gNzY3cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLnNpbmdsZS1zZXJ2aWNlcyAuc2xpZGUge1xuICAgIG1heC1oZWlnaHQ6IDE3MHZoO1xuICAgIG1hcmdpbi10b3A6IC01MHZoO1xuICAgIG1hcmdpbi1ib3R0b206IC01MHZoO1xuICB9XG4gIC5zaW5nbGUtc2VydmljZXMgLmNhcm91c2VsLWNhcHRpb24ge1xuICAgIG1heC1oZWlnaHQ6IDgwdmg7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgfVxuICAuc2luZ2xlLXNlcnZpY2VzIC5oZWFkaW5nLWJsb2NrLXNrZXctbW9iaWxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IE1vYmlsZXMgKFBvcnRyYWl0KVxuICAgIFNjcmVlbiA9IEIvdyAzMjBweCB0byA1NzVweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpIHtcbiAgLnBhZGRpbmctc2VydmljZXMge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIH1cbiAgLnNpbmdsZS1zZXJ2aWNlcyxcbiAgLnNpbmdsZS1zZXJ2aWNlcyAuY2Fyb3VzZWwtaW5uZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuc2luZ2xlLXNlcnZpY2VzLFxuICAuc2luZ2xlLXNlcnZpY2VzIC5jYXJvdXNlbC1pdGVtIHtcbiAgICAvKiBCVUc6IE9WRVJMQVBQSU5HIFRFWFQgV0hJTEUgVFJBTlNJVElPTklOR1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICovXG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgfVxuICAuc2luZ2xlLXNlcnZpY2VzIC5zbGlkZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1heC1oZWlnaHQ6IDQwdmg7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICB9XG4gIC5zaW5nbGUtc2VydmljZXMgLmNhcm91c2VsLWNhcHRpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtaGVpZ2h0OiA1NXZoO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHBhZGRpbmc6IDFyZW0gMXJlbSAycmVtO1xuICB9XG4gIC5zaW5nbGUtc2VydmljZXMgLmNhcm91c2VsLWNhcHRpb24gLnJvdyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xNnB4O1xuICAgIG1hcmdpbi1yaWdodDogLTE2cHg7XG4gIH1cbiAgLnNpbmdsZS1zZXJ2aWNlcyAuaGVhZGluZy1ibG9jayB7XG4gICAgZm9udC1zaXplOiA4dnc7XG4gICAgcGFkZGluZzogOHB4IDE1cHg7XG4gIH1cbiAgLnNpbmdsZS1zZXJ2aWNlcyAuaGVhZGluZy1ibG9jay13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICB9XG4gIC5zaW5nbGUtc2VydmljZXMgLmhlYWRpbmctYmxvY2stc2tldyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuc2luZ2xlLXNlcnZpY2VzIC5oZWFkaW5nLWJsb2NrLXNrZXctbW9iaWxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiA1LjUlIDAgMCAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjAwMDA7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGxlZnQ7XG4gICAgdHJhbnNmb3JtOiBza2V3WSgzZGVnKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTA7XG4gIH1cbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBWZXJ5IFNtYWxsIE1vYmlsZXMgKExhbmRzY2FwZSlcbiAgICBTY3JlZW4gPSBCL3cgMzIwcHggdG8gNTc1cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcblxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn0iLCIvKiBIRUFERVIgKi9cbiNleHRlbmQtcmVmZXJlbnplLFxuI2V4dGVuZC1yZWZlcmVuemUgLmNhcm91c2VsLWlubmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7XG59XG4jZXh0ZW5kLXJlZmVyZW56ZSAuY2Fyb3VzZWwtY2FwdGlvbi1wYW5lbCB7XG4gIC8qXG4gIHdpZHRoOiA3MCU7XG4gICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsIC43NSk7XG4gIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDI1NSwyNTUsMjU1LDApIDAlLCByZ2JhKDI1NSwyNTUsMjU1LDApIDI1JSwgcmdiYSgyNTUsMjU1LDI1NSwwLjkpIDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwxKSA3NSUsIHJnYmEoMjU1LDI1NSwyNTUsMSkgMTAwJSk7XG4gIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDI1NSwyNTUsMjU1LDApIDAlLCByZ2JhKDI1NSwyNTUsMjU1LDApIDI1JSwgcmdiYSgyNTUsMjU1LDI1NSwwLjkpIDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwxKSA3NSUsIHJnYmEoMjU1LDI1NSwyNTUsMSkgMTAwJSk7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgyNTUsMjU1LDI1NSwwKSAwJSwgcmdiYSgyNTUsMjU1LDI1NSwwKSAyNSUsIHJnYmEoMjU1LDI1NSwyNTUsMC45KSA1MCUsIHJnYmEoMjU1LDI1NSwyNTUsMSkgNzUlLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDEwMCUpO1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPVwiI2ZmZmZmZlwiLGVuZENvbG9yc3RyPVwiI2ZmZmZmZlwiLEdyYWRpZW50VHlwZT0xKTtcbn1cbiNleHRlbmQtcmVmZXJlbnplIC5zbGlkZSB7XG4gIG1pbi13aWR0aDogNzUlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cbiNleHRlbmQtcmVmZXJlbnplIC5jYXJvdXNlbC1jYXB0aW9uLXBhbmVsIGltZyB7XG4gIG9wYWNpdHk6IC44NTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uZXh0ZW5kLXJlZmVyZW56ZS1kaXZpZGVyIHtcbn1cbi5leHRlbmQtcmVmZXJlbnplLWRpdmlkZXIgaW1nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDAwO1xuICB3aWR0aDogMTAwLjUlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLS41JSkgdHJhbnNsYXRlWSgtOTglKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8qICBEZXZpY2UgPSA0SyBhbmQgNUsgRGVza3RvcHNcbiAgICBTY3JlZW4gPSAzODQwcHggYW5kIHVwICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzg0MHB4KSB7XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDozODQwcHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOjM4NDBweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6Mzg0MHB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDozODQwcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOjM4NDBweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6Mzg0MHB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gSHVnZSBEZXNrdG9wc1xuICAgIFNjcmVlbiA9IEIvdyAyNTYwcHggdG8gMzgzOXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSBhbmQgKG1heC13aWR0aDogMzgzOXB4KSB7XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSBhbmQgKG1heC13aWR0aDogMzgzOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSBhbmQgKG1heC13aWR0aDogMzgzOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSBhbmQgKG1heC13aWR0aDogMzgzOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSBhbmQgKG1heC13aWR0aDogMzgzOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSBhbmQgKG1heC13aWR0aDogMzgzOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSBhbmQgKG1heC13aWR0aDogMzgzOXB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gVmVyeSBMYXJnZSBMYXB0b3BzLCBWZXJ5IExhcmdlIERlc2t0b3BzXG4gICAgU2NyZWVuID0gQi93IDE5MjBweCB0byAyNTU5cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpIHtcbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBMYXJnZSBMYXB0b3BzLCBMYXJnZSBEZXNrdG9wc1xuICAgIFNjcmVlbiA9IEIvdyAxMjgwcHggdG8gMTkxOXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSB7XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gVmVyeSBMYXJnZSBUYWJsZXRzIChsYW5kc2NhcGUpXG4gICAgU2NyZWVuID0gQi93IDEyODBweCB0byAxOTE5cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFNtYWxsLXRvLW1lZGl1bSBMYXB0b3BzLCBTbWFsbC10by1tZWRpdW0gRGVza3RvcHMsIFZlcnkgTGFyZ2UgVGFibGV0cyAocG9ydHJhaXQpXG4gICAgU2NyZWVuID0gQi93IDk5MnB4IHRvIDEyNzlweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gICNleHRlbmQtcmVmZXJlbnplIHtcbiAgICBtYXJnaW4tdG9wOiAxMDdweDtcbiAgfVxuICAjZXh0ZW5kLXJlZmVyZW56ZSxcbiAgI2V4dGVuZC1yZWZlcmVuemUgLmNhcm91c2VsLWlubmVyIHtcbiAgICBoZWlnaHQ6IDgwdmg7XG4gIH1cbiAgI2V4dGVuZC1yZWZlcmVuemUgLnNsaWRlIHtcbiAgICByaWdodDogMDtcbiAgfVxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IExhcmdlIFRhYmxldHMgKGxhbmRzY2FwZSlcbiAgICBTY3JlZW4gPSBCL3cgOTkycHggdG8gMTI3OXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAjZXh0ZW5kLXJlZmVyZW56ZSB7XG4gICAgbWFyZ2luLXRvcDogMTA3cHg7XG4gIH1cbiAgI2V4dGVuZC1yZWZlcmVuemUsXG4gICNleHRlbmQtcmVmZXJlbnplIC5jYXJvdXNlbC1pbm5lciB7XG4gICAgaGVpZ2h0OiA4MHZoO1xuICB9XG4gICNleHRlbmQtcmVmZXJlbnplIC5zbGlkZSB7XG4gICAgcmlnaHQ6IDI1JTtcbiAgfVxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IE1lZGl1bS10by1sYXJnZSBUYWJsZXRzIChwb3J0cmFpdClcbiAgICBTY3JlZW4gPSBCL3cgNzY4cHggdG8gOTkxcHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICNleHRlbmQtcmVmZXJlbnplIHtcbiAgICBtYXJnaW4tdG9wOiAxMDdweDtcbiAgfVxuICAjZXh0ZW5kLXJlZmVyZW56ZSxcbiAgI2V4dGVuZC1yZWZlcmVuemUgLmNhcm91c2VsLWlubmVyIHtcbiAgICBoZWlnaHQ6IDgwdmg7XG4gIH1cbiAgI2V4dGVuZC1yZWZlcmVuemUgLnNsaWRlIHtcbiAgICByaWdodDogMDtcbiAgfVxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFNtYWxsLXRvLW1lZGl1bSBUYWJsZXRzIChsYW5kc2NhcGUpLCBWZXJ5IExhcmdlIE1vYmlsZXMgKGxhbmRzY2FwZSlcbiAgICBTY3JlZW4gPSBCL3cgNzY4cHggdG8gOTkxcHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgI2V4dGVuZC1yZWZlcmVuemUsXG4gICNleHRlbmQtcmVmZXJlbnplIC5jYXJvdXNlbC1pbm5lciB7XG4gICAgaGVpZ2h0OiAxMjB2aDtcbiAgfVxuICAjZXh0ZW5kLXJlZmVyZW56ZSAuc2xpZGUge1xuICAgIHJpZ2h0OiAyNSU7XG4gIH1cbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBTbWFsbCBUYWJsZXRzIChwb3J0cmFpdClcbiAgICBTY3JlZW4gPSBCL3cgNTc2cHggdG8gNzY3cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICNleHRlbmQtcmVmZXJlbnplIHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICB9XG4gICNleHRlbmQtcmVmZXJlbnplLFxuICAjZXh0ZW5kLXJlZmVyZW56ZSAuY2Fyb3VzZWwtaW5uZXIge1xuICAgIGhlaWdodDogODB2aDtcbiAgfVxuICAjZXh0ZW5kLXJlZmVyZW56ZSAuY2Fyb3VzZWwtY2FwdGlvbi1wYW5lbCB7XG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMCUsIHJnYmEoMjU1LDI1NSwyNTUsMC40OCkgMjUlLCByZ2JhKDI1NSwyNTUsMjU1LC45NikgNzUlKTtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsMjU1LDI1NSwwKSAwJSwgcmdiYSgyNTUsMjU1LDI1NSwwLjQ4KSAyNSUsIHJnYmEoMjU1LDI1NSwyNTUsLjk2KSA3NSUpO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsMjU1LDI1NSwwKSAwJSwgcmdiYSgyNTUsMjU1LDI1NSwwLjQ4KSAyNSUsIHJnYmEoMjU1LDI1NSwyNTUsLjk2KSA3NSUpO1xuICB9XG4gICNleHRlbmQtcmVmZXJlbnplIC5zbGlkZSB7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtNTAlO1xuICAgIHJpZ2h0OiB1bnNldDtcbiAgfVxuICAjZXh0ZW5kLXJlZmVyZW56ZSAuY2Fyb3VzZWwtY2FwdGlvbiB7XG4gICAgcGFkZGluZzogMXJlbSAxcmVtO1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gU21hbGwtdG8tbGFyZ2UgTW9iaWxlcyAobGFuZHNjYXBlKVxuICAgIFNjcmVlbiA9IEIvdyA1NzZweCB0byA3NjdweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAjZXh0ZW5kLXJlZmVyZW56ZSxcbiAgI2V4dGVuZC1yZWZlcmVuemUgLmNhcm91c2VsLWlubmVyIHtcbiAgICBoZWlnaHQ6IDEyMHZoO1xuICB9XG4gICNleHRlbmQtcmVmZXJlbnplIC5zbGlkZSB7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gTW9iaWxlcyAoUG9ydHJhaXQpXG4gICAgU2NyZWVuID0gQi93IDMyMHB4IHRvIDU3NXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkge1xuICAjZXh0ZW5kLXJlZmVyZW56ZSB7XG4gICAgbWFyZ2luLXRvcDogNjBweDtcbiAgfVxuICAjZXh0ZW5kLXJlZmVyZW56ZSxcbiAgI2V4dGVuZC1yZWZlcmVuemUgLmNhcm91c2VsLWlubmVyIHtcbiAgICBoZWlnaHQ6IDgwdmg7XG4gIH1cbiAgI2V4dGVuZC1yZWZlcmVuemUgLmNhcm91c2VsLWNhcHRpb24tcGFuZWwge1xuICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCByZ2JhKDI1NSwyNTUsMjU1LDApIDAlLCByZ2JhKDI1NSwyNTUsMjU1LDAuNDgpIDI1JSwgcmdiYSgyNTUsMjU1LDI1NSwuOTYpIDc1JSk7XG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMCUsIHJnYmEoMjU1LDI1NSwyNTUsMC40OCkgMjUlLCByZ2JhKDI1NSwyNTUsMjU1LC45NikgNzUlKTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMCUsIHJnYmEoMjU1LDI1NSwyNTUsMC40OCkgMjUlLCByZ2JhKDI1NSwyNTUsMjU1LC45NikgNzUlKTtcbiAgfVxuICAjZXh0ZW5kLXJlZmVyZW56ZSAuc2xpZGUge1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogLTc1JTtcbiAgICByaWdodDogdW5zZXQ7XG4gIH1cbiAgI2V4dGVuZC1yZWZlcmVuemUgLmNhcm91c2VsLWNhcHRpb24ge1xuICAgIHBhZGRpbmc6IDFyZW0gMXJlbTtcbiAgfVxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFZlcnkgU21hbGwgTW9iaWxlcyAoTGFuZHNjYXBlKVxuICAgIFNjcmVlbiA9IEIvdyAzMjBweCB0byA1NzVweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAjZXh0ZW5kLXJlZmVyZW56ZSxcbiAgI2V4dGVuZC1yZWZlcmVuemUgLmNhcm91c2VsLWlubmVyIHtcbiAgICBoZWlnaHQ6IDEyMHZoO1xuICB9XG4gICNleHRlbmQtcmVmZXJlbnplIC5zbGlkZSB7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufSIsIi8qIElOVFJPICovXG4uaW50cm8tdGVzdGltb25pYWxzIHtcbiAgbWFyZ2luLXRvcDogMTIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDYwcHg7XG59XG4uaW50cm8tdGVzdGltb25pYWxzIGgxIHtcbiAgcGFkZGluZy1yaWdodDogMzBweDtcbn1cbi5pbnRyby10ZXN0aW1vbmlhbHMgLmhlYWRpbmctZGl2aWRlciB7XG4gIG1hcmdpbjogNDBweCBhdXRvIDQwcHggMDtcbiAgd2lkdGg6IDY2JTtcbn1cbi5pbnRyby10ZXN0aW1vbmlhbHMgLi0taGVhZGluZy1kaXZpZGVyLXJlZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmMDA7XG59XG4uaW50cm8tdGVzdGltb25pYWxzIC50ZXN0aW1vbmlhbHMtYnJhbmQge1xuICB3aWR0aDogMjAwcHg7XG59XG4uaW50cm8tdGVzdGltb25pYWxzIHAgc3Ryb25nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAzMHB4IDA7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLyogIERldmljZSA9IDRLIGFuZCA1SyBEZXNrdG9wc1xuICAgIFNjcmVlbiA9IDM4NDBweCBhbmQgdXAgICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzODQwcHgpIHtcbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOjM4NDBweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6Mzg0MHB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDozODQwcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOjM4NDBweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6Mzg0MHB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDozODQwcHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBIdWdlIERlc2t0b3BzXG4gICAgU2NyZWVuID0gQi93IDI1NjBweCB0byAzODM5cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpIHtcbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIGFuZCAobWF4LXdpZHRoOiAzODM5cHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBWZXJ5IExhcmdlIExhcHRvcHMsIFZlcnkgTGFyZ2UgRGVza3RvcHNcbiAgICBTY3JlZW4gPSBCL3cgMTkyMHB4IHRvIDI1NTlweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IExhcmdlIExhcHRvcHMsIExhcmdlIERlc2t0b3BzXG4gICAgU2NyZWVuID0gQi93IDEyODBweCB0byAxOTE5cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIHtcbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBWZXJ5IExhcmdlIFRhYmxldHMgKGxhbmRzY2FwZSlcbiAgICBTY3JlZW4gPSBCL3cgMTI4MHB4IHRvIDE5MTlweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gU21hbGwtdG8tbWVkaXVtIExhcHRvcHMsIFNtYWxsLXRvLW1lZGl1bSBEZXNrdG9wcywgVmVyeSBMYXJnZSBUYWJsZXRzIChwb3J0cmFpdClcbiAgICBTY3JlZW4gPSBCL3cgOTkycHggdG8gMTI3OXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIHtcblxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IExhcmdlIFRhYmxldHMgKGxhbmRzY2FwZSlcbiAgICBTY3JlZW4gPSBCL3cgOTkycHggdG8gMTI3OXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuXG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gU21hbGwtdG8tbGFyZ2UgVGFibGV0cyAocG9ydHJhaXQpXG4gICAgU2NyZWVuID0gQi93IDc2OHB4IHRvIDk5MXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAuaW50cm8tdGVzdGltb25pYWxzIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICB9XG4gIC5pbnRyby10ZXN0aW1vbmlhbHMgLmhlYWRpbmctZGl2aWRlciB7XG4gICAgbWFyZ2luOiAzMHB4IGF1dG8gMzBweCAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gU21hbGwtdG8tbWVkaXVtIFRhYmxldHMgKGxhbmRzY2FwZSksIFZlcnkgTGFyZ2UgTW9iaWxlcyAobGFuZHNjYXBlKVxuICAgIFNjcmVlbiA9IEIvdyA3NjhweCB0byA5OTFweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFNtYWxsIFRhYmxldHMgKHBvcnRyYWl0KVxuICAgIFNjcmVlbiA9IEIvdyA1NzZweCB0byA3NjdweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmludHJvLXRlc3RpbW9uaWFscyB7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgfVxuICAuaW50cm8tdGVzdGltb25pYWxzIC50ZXN0aW1vbmlhbHMtYnJhbmQge1xuICAgIHdpZHRoOiAxNzVweDtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICB9XG4gIC5pbnRyby10ZXN0aW1vbmlhbHMgLmhlYWRpbmctZGl2aWRlciB7XG4gICAgbWFyZ2luOiAyMHB4IGF1dG8gMjBweCAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gU21hbGwtdG8tbGFyZ2UgTW9iaWxlcyAobGFuZHNjYXBlKVxuICAgIFNjcmVlbiA9IEIvdyA1NzZweCB0byA3NjdweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuXG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gTW9iaWxlcyAoUG9ydHJhaXQpXG4gICAgU2NyZWVuID0gQi93IDMyMHB4IHRvIDU3NXB4ICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSB7XG4gIC5pbnRyby10ZXN0aW1vbmlhbHMge1xuICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxuICAuaW50cm8tdGVzdGltb25pYWxzICAuY29tcGFueS1icmFuZCB7XG4gICAgd2lkdGg6IDEyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cbiAgLmludHJvLXRlc3RpbW9uaWFscyAuaGVhZGluZy1kaXZpZGVyIHtcbiAgICBtYXJnaW46IDE1cHggYXV0byAxNXB4IDA7XG4gICAgd2lkdGg6IDY2JTtcbiAgfVxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFZlcnkgU21hbGwgTW9iaWxlcyAoTGFuZHNjYXBlKVxuICAgIFNjcmVlbiA9IEIvdyAzMjBweCB0byA1NzVweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuXG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiBTSU5HTEVTICovXG4ucGFkZGluZy10ZXN0aW1vbmlhbHMge1xuICBtYXJnaW4tYm90dG9tOiAyNDBweDtcbn1cbi5zaW5nbGUtdGVzdGltb25pYWxzLFxuLnNpbmdsZS10ZXN0aW1vbmlhbHMgLmNhcm91c2VsLWlubmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIC8qXG4gIGhlaWdodDogNzB2aDtcbiAgKi9cbiAgaGVpZ2h0OiBhdXRvO1xufVxuLnNpbmdsZS10ZXN0aW1vbmlhbHMsXG4uc2luZ2xlLXRlc3RpbW9uaWFscyAuY2Fyb3VzZWwtaXRlbSB7XG4gIGJhY2tncm91bmQ6IHJnYigyMjksMjI5LDIyOSk7XG59XG4uc2luZ2xlLXRlc3RpbW9uaWFscyAuc2xpZGUge1xuICBtaW4td2lkdGg6IDQ3LjUlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDUyLjUlO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDEwO1xufVxuLnNpbmdsZS10ZXN0aW1vbmlhbHMgLmNhcm91c2VsLWlubmVyLFxuLnNpbmdsZS10ZXN0aW1vbmlhbHMgLmNhcm91c2VsLWNhcHRpb24ge1xuICB6LWluZGV4OiAxMDtcbn1cbi5zaW5nbGUtdGVzdGltb25pYWxzIC5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgcGFkZGluZy10b3A6IDE3LjV2aDtcbiAgcGFkZGluZy1ib3R0b206IDEwdmg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5kaXZpZGVyLXRlc3RpbW9uaWFscyB7XG4gIG1hcmdpbi10b3A6IC0xcHg7XG59XG4uZGl2aWRlci10ZXN0aW1vbmlhbHMgaW1nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDAwO1xuICB3aWR0aDogMTAwLjUlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLS41JSkgdHJhbnNsYXRlWSgtMiUpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5zaW5nbGUtdGVzdGltb25pYWxzIC5oZWFkaW5nLWJsb2NrLXdyYXBwZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4uc2luZ2xlLXRlc3RpbW9uaWFscyAuLS1oZWFkaW5nLWJsb2NrLXJlZCAuaGVhZGluZy1ibG9jayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjAwMDA7XG59XG4uc2luZ2xlLXRlc3RpbW9uaWFscyAuaGVhZGluZy1ibG9jayB7XG4gIHBhZGRpbmc6IDhweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDA7XG59XG4uc2luZ2xlLXRlc3RpbW9uaWFscyAuaGVhZGluZy1ibG9jay1za2V3IHtcbiAgd2lkdGg6IDk5LjclO1xuICBwYWRkaW5nOiA1LjIlIDAgMCAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMDAwO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgdHJhbnNmb3JtOiBza2V3WSgtM2RlZyk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTA7XG59XG5cbi8qICBEZXZpY2UgPSA0SyBhbmQgNUsgRGVza3RvcHNcbiAgICBTY3JlZW4gPSAzODQwcHggYW5kIHVwICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzg0MHB4KSB7XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDozODQwcHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOjM4NDBweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6Mzg0MHB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDozODQwcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOjM4NDBweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6Mzg0MHB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gSHVnZSBEZXNrdG9wc1xuICAgIFNjcmVlbiA9IEIvdyAyNTYwcHggdG8gMzgzOXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSBhbmQgKG1heC13aWR0aDogMzgzOXB4KSB7XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSBhbmQgKG1heC13aWR0aDogMzgzOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSBhbmQgKG1heC13aWR0aDogMzgzOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSBhbmQgKG1heC13aWR0aDogMzgzOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSBhbmQgKG1heC13aWR0aDogMzgzOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSBhbmQgKG1heC13aWR0aDogMzgzOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSBhbmQgKG1heC13aWR0aDogMzgzOXB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gVmVyeSBMYXJnZSBMYXB0b3BzLCBWZXJ5IExhcmdlIERlc2t0b3BzXG4gICAgU2NyZWVuID0gQi93IDE5MjBweCB0byAyNTU5cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpIHtcbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBMYXJnZSBMYXB0b3BzLCBMYXJnZSBEZXNrdG9wc1xuICAgIFNjcmVlbiA9IEIvdyAxMjgwcHggdG8gMTkxOXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSB7XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gVmVyeSBMYXJnZSBUYWJsZXRzIChsYW5kc2NhcGUpXG4gICAgU2NyZWVuID0gQi93IDEyODBweCB0byAxOTE5cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFNtYWxsLXRvLW1lZGl1bSBMYXB0b3BzLCBTbWFsbC10by1tZWRpdW0gRGVza3RvcHMsIFZlcnkgTGFyZ2UgVGFibGV0cyAocG9ydHJhaXQpXG4gICAgU2NyZWVuID0gQi93IDk5MnB4IHRvIDEyNzlweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gTGFyZ2UgVGFibGV0cyAobGFuZHNjYXBlKVxuICAgIFNjcmVlbiA9IEIvdyA5OTJweCB0byAxMjc5cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gU21hbGwtdG8tbGFyZ2UgVGFibGV0cyAocG9ydHJhaXQpXG4gICAgU2NyZWVuID0gQi93IDc2OHB4IHRvIDk5MXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAucGFkZGluZy10ZXN0aW1vbmlhbHMge1xuICAgIG1hcmdpbi1ib3R0b206IDEyMHB4O1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gU21hbGwtdG8tbWVkaXVtIFRhYmxldHMgKGxhbmRzY2FwZSksIFZlcnkgTGFyZ2UgTW9iaWxlcyAobGFuZHNjYXBlKVxuICAgIFNjcmVlbiA9IEIvdyA3NjhweCB0byA5OTFweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAuc2luZ2xlLXRlc3RpbW9uaWFscyAuY2Fyb3VzZWwtY2FwdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDI1dmg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwdmg7XG4gIH1cbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBTbWFsbCBUYWJsZXRzIChwb3J0cmFpdClcbiAgICBTY3JlZW4gPSBCL3cgNTc2cHggdG8gNzY3cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5wYWRkaW5nLXRlc3RpbW9uaWFscyB7XG4gICAgbWFyZ2luLWJvdHRvbTogODBweDtcbiAgfVxuICAuc2luZ2xlLXRlc3RpbW9uaWFscyxcbiAgLnNpbmdsZS10ZXN0aW1vbmlhbHMgLmNhcm91c2VsLWl0ZW0ge1xuICAgIC8qIEJVRzogT1ZFUkxBUFBJTkcgVEVYVCBXSElMRSBUUkFOU0lUSU9OSU5HXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgKi9cbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICB9XG4gIC5zaW5nbGUtdGVzdGltb25pYWxzIC5zbGlkZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1heC1oZWlnaHQ6IDQwdmg7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICB9XG4gIC5zaW5nbGUtdGVzdGltb25pYWxzIC5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LWhlaWdodDogNTV2aDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBwYWRkaW5nOiAycmVtIDJyZW0gM3JlbTtcbiAgfVxuICAuc2luZ2xlLXRlc3RpbW9uaWFscyAuY2Fyb3VzZWwtY2FwdGlvbiAucm93IHtcbiAgICBtYXJnaW4tbGVmdDogLTE2cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTZweDtcbiAgfVxuICAuc2luZ2xlLXRlc3RpbW9uaWFscyAuaGVhZGluZy1ibG9jayB7XG4gICAgZm9udC1zaXplOiA2dnc7XG4gICAgcGFkZGluZzogOHB4IDE1cHg7XG4gIH1cbiAgLnNpbmdsZS10ZXN0aW1vbmlhbHMgLmhlYWRpbmctYmxvY2std3JhcHBlciB7XG4gICAgLypcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICBtYXJnaW4tdG9wOiAtMS41cmVtO1xuICAgICovXG4gICAgbWFyZ2luLXRvcDogLTJyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgfVxuICAuc2luZ2xlLXRlc3RpbW9uaWFscyAuaGVhZGluZy1ibG9jay1za2V3IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5zaW5nbGUtdGVzdGltb25pYWxzIC5oZWFkaW5nLWJsb2NrLXNrZXctbW9iaWxlIHtcbiAgICAvKiBCVUc6IEFOVElBTElBU0VEIFNIQVBFIEJPWCBPVkVSRkxPV1xuICAgIHdpZHRoOiAxMDAlO1xuICAgICovXG4gICAgd2lkdGg6IDk5LjklO1xuICAgIG1hcmdpbi1ib3R0b206IC0xcHg7XG4gICAgcGFkZGluZzogNS41JSAwIDAgMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMDAwO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBsZWZ0O1xuICAgIHRyYW5zZm9ybTogc2tld1koM2RlZyk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDEwO1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gU21hbGwtdG8tbGFyZ2UgTW9iaWxlcyAobGFuZHNjYXBlKVxuICAgIFNjcmVlbiA9IEIvdyA1NzZweCB0byA3NjdweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAuc2luZ2xlLXRlc3RpbW9uaWFscyAuc2xpZGUge1xuICAgIG1heC1oZWlnaHQ6IDE3MHZoO1xuICAgIG1hcmdpbi10b3A6IC01MHZoO1xuICAgIG1hcmdpbi1ib3R0b206IC01MHZoO1xuICB9XG4gIC5zaW5nbGUtdGVzdGltb25pYWxzIC5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgICBtYXgtaGVpZ2h0OiA4MHZoO1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIH1cbiAgLnNpbmdsZS10ZXN0aW1vbmlhbHMgLmhlYWRpbmctYmxvY2stc2tldy1tb2JpbGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gTW9iaWxlcyAoUG9ydHJhaXQpXG4gICAgU2NyZWVuID0gQi93IDMyMHB4IHRvIDU3NXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkge1xuICAucGFkZGluZy10ZXN0aW1vbmlhbHMge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIH1cbiAgLnNpbmdsZS10ZXN0aW1vbmlhbHMsXG4gIC5zaW5nbGUtdGVzdGltb25pYWxzIC5jYXJvdXNlbC1pbm5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5zaW5nbGUtdGVzdGltb25pYWxzLFxuICAuc2luZ2xlLXRlc3RpbW9uaWFscyAuY2Fyb3VzZWwtaXRlbSB7XG4gICAgLyogQlVHOiBPVkVSTEFQUElORyBURVhUIFdISUxFIFRSQU5TSVRJT05JTkdcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAqL1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIH1cbiAgLnNpbmdsZS10ZXN0aW1vbmlhbHMgLnNsaWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LWhlaWdodDogNDB2aDtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbiAgLnNpbmdsZS10ZXN0aW1vbmlhbHMgLmNhcm91c2VsLWNhcHRpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtaGVpZ2h0OiA1NXZoO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHBhZGRpbmc6IDFyZW0gMXJlbSAycmVtO1xuICB9XG4gIC5zaW5nbGUtdGVzdGltb25pYWxzIC5jYXJvdXNlbC1jYXB0aW9uIC5yb3cge1xuICAgIG1hcmdpbi1sZWZ0OiAtMTZweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xNnB4O1xuICB9XG4gIC5zaW5nbGUtdGVzdGltb25pYWxzIC5oZWFkaW5nLWJsb2NrIHtcbiAgICBmb250LXNpemU6IDh2dztcbiAgICBwYWRkaW5nOiA4cHggMTVweDtcbiAgfVxuICAuc2luZ2xlLXRlc3RpbW9uaWFscyAuaGVhZGluZy1ibG9jay13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICB9XG4gIC5zaW5nbGUtdGVzdGltb25pYWxzIC5oZWFkaW5nLWJsb2NrLXNrZXcge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnNpbmdsZS10ZXN0aW1vbmlhbHMgLmhlYWRpbmctYmxvY2stc2tldy1tb2JpbGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDUuNSUgMCAwIDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDAwMDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gbGVmdDtcbiAgICB0cmFuc2Zvcm06IHNrZXdZKDNkZWcpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDtcbiAgfVxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFZlcnkgU21hbGwgTW9iaWxlcyAoTGFuZHNjYXBlKVxuICAgIFNjcmVlbiA9IEIvdyAzMjBweCB0byA1NzVweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuXG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG5cbi8qIERPV05MT0FEICovXG4jZG93bmxvYWQtcmVmZXJlbnplLmNhcm91c2VsLWxpbms6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAzMHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHZlcnNpb249JzEuMScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB4bWxuczp4bGluaz0naHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluaycgeD0nMHB4JyB5PScwcHgnIHZpZXdCb3g9JzAgMCAxMzguNyAxOCcgZW5hYmxlLWJhY2tncm91bmQ9J25ldyAwIDAgMTM4LjcgMTgnIHhtbDpzcGFjZT0ncHJlc2VydmUnJTNFJTNDcG9seWdvbiBzaGFwZS1yZW5kZXJpbmc9J2dlb21ldHJpY1ByZWNpc2lvbicgZmlsbD0nJTIzRTUyNjIwJyBwb2ludHM9JzcwLjQsMTggMC4zLDIgMC44LDAgNzAuNCwxNS45IDEzNy45LDAgMTM4LjMsMiAnLyUzRSUzQy9zdmclM0UlMEFcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIG1hcmdpbi10b3A6IDZweDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMTY2bXMgZWFzZTtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMTY2bXMgZWFzZTtcbiAgLW1zLXRyYW5zaXRpb246IGFsbCAxNjZtcyBlYXNlO1xuICAtby10cmFuc2l0aW9uOiBhbGwgMTY2bXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogYWxsIDE2Nm1zIGVhc2U7XG59XG4jZG93bmxvYWQtcmVmZXJlbnplLmNhcm91c2VsLWxpbms6aG92ZXI6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xufVxuXG4vKiAgRGV2aWNlID0gNEsgYW5kIDVLIERlc2t0b3BzXG4gICAgU2NyZWVuID0gMzg0MHB4IGFuZCB1cCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM4NDBweCkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6Mzg0MHB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDozODQwcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOjM4NDBweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6Mzg0MHB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDozODQwcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOjM4NDBweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IEh1Z2UgRGVza3RvcHNcbiAgICBTY3JlZW4gPSBCL3cgMjU2MHB4IHRvIDM4MzlweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDI1NjBweCkgYW5kIChtYXgtd2lkdGg6IDM4MzlweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFZlcnkgTGFyZ2UgTGFwdG9wcywgVmVyeSBMYXJnZSBEZXNrdG9wc1xuICAgIFNjcmVlbiA9IEIvdyAxOTIwcHggdG8gMjU1OXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSB7XG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufVxuXG4vKiAgRGV2aWNlID0gTGFyZ2UgTGFwdG9wcywgTGFyZ2UgRGVza3RvcHNcbiAgICBTY3JlZW4gPSBCL3cgMTI4MHB4IHRvIDE5MTlweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFZlcnkgTGFyZ2UgVGFibGV0cyAobGFuZHNjYXBlKVxuICAgIFNjcmVlbiA9IEIvdyAxMjgwcHggdG8gMTkxOXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbn1cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTkxOXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLyogUmV0aW5hLXNwZWNpZmljICovXG59XG5cbi8qICBEZXZpY2UgPSBTbWFsbC10by1tZWRpdW0gTGFwdG9wcywgU21hbGwtdG8tbWVkaXVtIERlc2t0b3BzLCBWZXJ5IExhcmdlIFRhYmxldHMgKHBvcnRyYWl0KVxuICAgIFNjcmVlbiA9IEIvdyA5OTJweCB0byAxMjc5cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSkgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IExhcmdlIFRhYmxldHMgKGxhbmRzY2FwZSlcbiAgICBTY3JlZW4gPSBCL3cgOTkycHggdG8gMTI3OXB4ICAqL1xuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFNtYWxsLXRvLWxhcmdlIFRhYmxldHMgKHBvcnRyYWl0KVxuICAgIFNjcmVlbiA9IEIvdyA3NjhweCB0byA5OTFweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcblxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFNtYWxsLXRvLW1lZGl1bSBUYWJsZXRzIChsYW5kc2NhcGUpLCBWZXJ5IExhcmdlIE1vYmlsZXMgKGxhbmRzY2FwZSlcbiAgICBTY3JlZW4gPSBCL3cgNzY4cHggdG8gOTkxcHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcblxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFNtYWxsIFRhYmxldHMgKHBvcnRyYWl0KVxuICAgIFNjcmVlbiA9IEIvdyA1NzZweCB0byA3NjdweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcblxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFNtYWxsLXRvLWxhcmdlIE1vYmlsZXMgKGxhbmRzY2FwZSlcbiAgICBTY3JlZW4gPSBCL3cgNTc2cHggdG8gNzY3cHggICovXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcblxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSAgICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpICAgYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IE1vYmlsZXMgKFBvcnRyYWl0KVxuICAgIFNjcmVlbiA9IEIvdyAzMjBweCB0byA1NzVweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpIHtcblxufVxuQG1lZGlhXG5vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpLFxub25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpICAgICAgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgICAgICAgYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSkgIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDU3NXB4KSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgKi9cbn1cblxuLyogIERldmljZSA9IFZlcnkgU21hbGwgTW9iaWxlcyAoTGFuZHNjYXBlKVxuICAgIFNjcmVlbiA9IEIvdyAzMjBweCB0byA1NzVweCAgKi9cbkBtZWRpYVxub25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuXG59XG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSAgICAgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgICBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC8qIFJldGluYS1zcGVjaWZpYyAqL1xufSIsIiIsIi8qIE1BUCBKVU1CT1RST05cbiNtYXAtanVtYm90cm9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAxMjBweCAwO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbiNtYXAtanVtYm90cm9uICNtYXAge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cbiNtYXAtanVtYm90cm9uIC5oZWFkaW5nLWJsb2NrIHtcbiAgcGFkZGluZzogMzBweCAzMHB4IDE1cHg7XG4gIG1hcmdpbjogMDtcbn1cbiNtYXAtanVtYm90cm9uIC4tLWhlYWRpbmctYmxvY2std2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDEpO1xufVxuI21hcC1qdW1ib3Ryb24gLmhlYWRpbmctYmxvY2suLS1zdWItaGVhZGluZyB7XG4gIHBhZGRpbmc6IDMwcHggMzBweCAzMHB4O1xuICBtYXJnaW46IDA7XG59XG4jbWFwLWp1bWJvdHJvbiAuaGVhZGluZy1ibG9jay4tLWhlYWRpbmctYmxvY2std2hpdGUuLS1zdWItaGVhZGluZyB7XG4gIHBhZGRpbmc6IDBweCAzMHB4IDE1cHg7XG4gIG1hcmdpbjogMDtcbn1cbiNtYXAtanVtYm90cm9uIC5hZGRyZXNzLWljb24tZ3JleSxcbiNtYXAtanVtYm90cm9uIC5lbWFpbC1pY29uLWdyZXksXG4jbWFwLWp1bWJvdHJvbiAucGhvbmUtaWNvbi1ncmV5IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTVweDtcbiAgaGVpZ2h0OiAxNXB4O1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIGJhY2tncm91bmQ6IG5vLXJlcGVhdCA1MCUvMTAwJSAxMDAlO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuI21hcC1qdW1ib3Ryb24gLmhlYWRpbmctYmxvY2suLS1zdWItaGVhZGluZyAuYWRkcmVzcy1pY29uLWdyZXkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHZlcnNpb249JzEuMScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB4bWxuczp4bGluaz0naHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluaycgeD0nMHB4JyB5PScwcHgnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZW5hYmxlLWJhY2tncm91bmQ9J25ldyAwIDAgMjQgMjQnIHhtbDpzcGFjZT0ncHJlc2VydmUnJTNFJTNDcGF0aCBzaGFwZS1yZW5kZXJpbmc9J2dlb21ldHJpY1ByZWNpc2lvbicgZmlsbD0nJTIzRkYwMDAwJyBkPSdNMTIsMEM3LjQsMCwzLjYsMy44LDMuNiw4LjRDMy42LDE0LjcsMTIsMjQsMTIsMjRzOC40LTkuMyw4LjQtMTUuNkMyMC40LDMuOCwxNi42LDAsMTIsMHogTTEyLDExLjQlMEFjLTEuNywwLTMtMS4zLTMtM3MxLjMtMywzLTNzMywxLjMsMywzUzEzLjcsMTEuNCwxMiwxMS40eicvJTNFJTNDL3N2ZyUzRSUwQVwiKTtcbn1cbiNtYXAtanVtYm90cm9uIC5oZWFkaW5nLWJsb2NrLi0tc3ViLWhlYWRpbmcgLmVtYWlsLWljb24tZ3JleSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgdmVyc2lvbj0nMS4xJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyB4PScwcHgnIHk9JzBweCcgdmlld0JveD0nMCAwIDI0IDI0JyBlbmFibGUtYmFja2dyb3VuZD0nbmV3IDAgMCAyNCAyNCcgeG1sOnNwYWNlPSdwcmVzZXJ2ZSclM0UlM0NwYXRoIHNoYXBlLXJlbmRlcmluZz0nZ2VvbWV0cmljUHJlY2lzaW9uJyBmaWxsPSclMjNGRjAwMDAnIGQ9J00yMS42LDIuNEgyLjRDMS4xLDIuNCwwLDMuNSwwLDQuOGwwLDE0LjRjMCwxLjMsMS4xLDIuNCwyLjQsMi40aDE5LjJjMS4zLDAsMi40LTEuMSwyLjQtMi40VjQuOCUwQUMyNCwzLjUsMjIuOSwyLjQsMjEuNiwyLjR6IE0yMS42LDcuMmwtOS42LDZsLTkuNi02VjQuOGw5LjYsNmw5LjYtNlY3LjJ6Jy8lM0UlM0Mvc3ZnJTNFXCIpO1xufVxuI21hcC1qdW1ib3Ryb24gLmhlYWRpbmctYmxvY2suLS1zdWItaGVhZGluZyAucGhvbmUtaWNvbi1ncmV5IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB2ZXJzaW9uPScxLjEnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnIHg9JzBweCcgeT0nMHB4JyB2aWV3Qm94PScwIDAgMjQgMjQnIGVuYWJsZS1iYWNrZ3JvdW5kPSduZXcgMCAwIDI0IDI0JyB4bWw6c3BhY2U9J3ByZXNlcnZlJyUzRSUzQ3BhdGggc2hhcGUtcmVuZGVyaW5nPSdnZW9tZXRyaWNQcmVjaXNpb24nIGZpbGw9JyUyM0ZGMDAwMCcgZD0nTTQuOCwxMC40YzEuOSwzLjgsNSw2LjksOC44LDguOGwyLjktMi45YzAuNC0wLjQsMC45LTAuNSwxLjQtMC4zYzEuNSwwLjUsMy4xLDAuOCw0LjgsMC44JTBBYzAuNywwLDEuMywwLjYsMS4zLDEuM3Y0LjdjMCwwLjctMC42LDEuMy0xLjMsMS4zQzEwLjEsMjMuOSwwLDEzLjgsMCwxLjNDMCwwLjYsMC42LDAsMS4zLDBINmMwLjcsMCwxLjMsMC42LDEuMywxLjMlMEFjMCwxLjcsMC4zLDMuMywwLjgsNC44YzAuMSwwLjUsMCwxLTAuMywxLjRMNC44LDEwLjR6Jy8lM0UlM0Mvc3ZnJTNFJTBBXCIpO1xufVxuI21hcC1qdW1ib3Ryb24gLmhlYWRpbmctYmxvY2suLS1zdWItaGVhZGluZy4tLWhlYWRpbmctYmxvY2std2hpdGUgLmFkZHJlc3MtaWNvbi1ncmV5IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB2ZXJzaW9uPScxLjEnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnIHg9JzBweCcgeT0nMHB4JyB2aWV3Qm94PScwIDAgMjQgMjQnIGVuYWJsZS1iYWNrZ3JvdW5kPSduZXcgMCAwIDI0IDI0JyB4bWw6c3BhY2U9J3ByZXNlcnZlJyUzRSUzQ3BhdGggc2hhcGUtcmVuZGVyaW5nPSdnZW9tZXRyaWNQcmVjaXNpb24nIGZpbGw9JyUyMzk4OTg5OCcgZD0nTTEyLDBDNy40LDAsMy42LDMuOCwzLjYsOC40QzMuNiwxNC43LDEyLDI0LDEyLDI0czguNC05LjMsOC40LTE1LjZDMjAuNCwzLjgsMTYuNiwwLDEyLDB6IE0xMiwxMS40JTBBYy0xLjcsMC0zLTEuMy0zLTNzMS4zLTMsMy0zczMsMS4zLDMsM1MxMy43LDExLjQsMTIsMTEuNHonLyUzRSUzQy9zdmclM0UlMEFcIik7XG59XG4jbWFwLWp1bWJvdHJvbiAuaGVhZGluZy1ibG9jay4tLXN1Yi1oZWFkaW5nLi0taGVhZGluZy1ibG9jay13aGl0ZSAuZW1haWwtaWNvbi1ncmV5IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB2ZXJzaW9uPScxLjEnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnIHg9JzBweCcgeT0nMHB4JyB2aWV3Qm94PScwIDAgMjQgMjQnIGVuYWJsZS1iYWNrZ3JvdW5kPSduZXcgMCAwIDI0IDI0JyB4bWw6c3BhY2U9J3ByZXNlcnZlJyUzRSUzQ3BhdGggc2hhcGUtcmVuZGVyaW5nPSdnZW9tZXRyaWNQcmVjaXNpb24nIGZpbGw9JyUyMzk4OTg5OCcgZD0nTTIxLjYsMi40SDIuNEMxLjEsMi40LDAsMy41LDAsNC44bDAsMTQuNGMwLDEuMywxLjEsMi40LDIuNCwyLjRoMTkuMmMxLjMsMCwyLjQtMS4xLDIuNC0yLjRWNC44JTBBQzI0LDMuNSwyMi45LDIuNCwyMS42LDIuNHogTTIxLjYsNy4ybC05LjYsNmwtOS42LTZWNC44bDkuNiw2bDkuNi02VjcuMnonLyUzRSUzQy9zdmclM0VcIik7XG59XG4jbWFwLWp1bWJvdHJvbiAuaGVhZGluZy1ibG9jay4tLXN1Yi1oZWFkaW5nLi0taGVhZGluZy1ibG9jay13aGl0ZSAucGhvbmUtaWNvbi1ncmV5IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB2ZXJzaW9uPScxLjEnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnIHg9JzBweCcgeT0nMHB4JyB2aWV3Qm94PScwIDAgMjQgMjQnIGVuYWJsZS1iYWNrZ3JvdW5kPSduZXcgMCAwIDI0IDI0JyB4bWw6c3BhY2U9J3ByZXNlcnZlJyUzRSUzQ3BhdGggc2hhcGUtcmVuZGVyaW5nPSdnZW9tZXRyaWNQcmVjaXNpb24nIGZpbGw9JyUyMzk4OTg5OCcgZD0nTTQuOCwxMC40YzEuOSwzLjgsNSw2LjksOC44LDguOGwyLjktMi45YzAuNC0wLjQsMC45LTAuNSwxLjQtMC4zYzEuNSwwLjUsMy4xLDAuOCw0LjgsMC44JTBBYzAuNywwLDEuMywwLjYsMS4zLDEuM3Y0LjdjMCwwLjctMC42LDEuMy0xLjMsMS4zQzEwLjEsMjMuOSwwLDEzLjgsMCwxLjNDMCwwLjYsMC42LDAsMS4zLDBINmMwLjcsMCwxLjMsMC42LDEuMywxLjMlMEFjMCwxLjcsMC4zLDMuMywwLjgsNC44YzAuMSwwLjUsMCwxLTAuMywxLjRMNC44LDEwLjR6Jy8lM0UlM0Mvc3ZnJTNFJTBBXCIpO1xufVxuI21hcC1qdW1ib3Ryb24gLndwY2Y3IHtcbiAgcGFkZGluZzogNjBweCAzMHB4IDMwcHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LDAsMCwxKTtcbn1cbiovIiwiLyogUFJJVkFDWSAqL1xuLnByaXZhY3ktaGVhZGluZyB7XG4gIGhlaWdodDogMTAwdmg7XG59XG4ucHJpdmFjeS1oZWFkaW5nIC5jb2wtMTIge1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4ucHJpdmFjeS1oZWFkaW5nIGgxIHtcbiAgbWFyZ2luOiBhdXRvIGF1dG8gMDtcbn1cbi5wcml2YWN5LWhlYWRpbmcgaDIge1xuICBtYXJnaW46IDMwcHggYXV0byBhdXRvO1xufSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLENBQUMsa0dBQUk7QUtKWixBQUFBLFdBQVcsQ0FBQztFQUNWLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FBQ0QsQUFBQSxJQUFJLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaO0FBQ0wsSUFBSSxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixFQUFjO0VBQ2pCLFVBQVUsRUFBRSxZQUFZLEdBQ3pCOztBQUNELEFBQUEsT0FBTyxDQUFDO0VBQ04sVUFBVSxFQUFFLElBQUksR0FDakI7O0FDVEQsZ0NBQWdDO0FBQ2hDLEFBQUEsU0FBUyxDQUFDO0VBQ1IsUUFBUSxFQUFFLE1BQU0sR0FDakI7O0FBQ0QsQUFBQSxlQUFlO0FBQ2YsY0FBYyxDQUFDO0VBQ2IsTUFBTSxFQUFFLElBQUk7RUFDWixPQUFPLEVBQUUsRUFBRSxHQUNaOztBQUNELEFBQUEsaUJBQWlCLENBQUM7RUFDaEIsS0FBSyxF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MkJBQTJCLEVBQUUsQ0FBQyxPQUFPLFNBQVMsRUFBRSxNQUFNLE9BQU8sU0FBUyxFQUFFLE1BQU0sUUFBUSxNQUFNLE9BQU8sd0JBQXdCLEVBQUUsQ0FBQyxHQUFDLENBQUMsT0FBTyxTQUFTLEVBQUUsTUFBTSxPQUFPLFNBQVMsRUFBRSxNQUFNLFFBQVEsTUFBTSxNQUFNLHNCQUFzQixFQUFFLENBQUMsT0FBTyxTQUFTLEVBQUUsTUFBTSxPQUFPLFNBQVMsRUFBRSxNQUFNLFFBQVEsTUFBTSxNQUFNLGNBQWMsRUFBRSxNQUFNLE9BQU8sU0FBUyxFQUFFLE1BQU0sT0FBTyxTQUFTLEVBQUUsTUFBTSxRQUFRLE1BQU0sTUFBTSxjQUFjLEVBQUUsS0FBSyxPQUFPLFNBQVMsRUFBRSxNQUFNLE9BQU8sU0FBUyxFQUFFLE1BQU07RUFNcGpCLHFCQUFxQjs7QUFHdkI7cUNBQ3FDO0FBSXJDLE1BQU0sTUFDRCxNQUFNLE9BQU8sNkJBQTZCLEVBQUUsQ0FBQyxPQUFPLFNBQVMsRUFBRSxNQUFNLE9BQU8sU0FBUyxFQUFFLE1BQU0sUUFBUSxNQUFNLE1BQU0sMkJBQTJCLEVBQUUsQ0FBQyxPQUFPLFNBQVMsRUFBRSxNQUFNLE9BQU8sU0FBUyxFQUFFLE1BQU0sUUFBUSxNQUFNLE9BQU8sd0JBQXdCLEVBQUUsQ0FBQyxHQUFDLENBQUMsT0FBTyxTQUFTLEVBQUUsTUFBTSxPQUFPLFNBQVMsRUFBRSxNQUFNLFFBQVEsTUFBTSxNQUFNLHNCQUFzQixFQUFFLENBQUMsT0FBTyxTQUFTLEVBQUUsTUFBTSxPQUFPLFNBQVMsRUFBRSxNQUFNLFFBQVEsTUFBTSxNQUFNLGNBQWMsRUFBRSxNQUFNLE9BQU8sU0FBUyxFQUFFLE1BQU0sT0FBTyxTQUFTLEVBQUUsTUFBTSxRQUFRLE1BQU0sTUFBTSxjQUFjLEVBQUUsS0FBSyxPQUFPLFNBQVMsRUFBRSxNQUFNLE9BQU8sU0FBUyxFQUFFLE1BQU07RUFNcGpCLHFCQUFxQjs7QUFHdkI7cUNBQ3FDO0FBSXJDLE1BQU0sTUFDRCxNQUFNLE9BQU8sNkJBQTZCLEVBQUUsQ0FBQyxP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LFNBQVMsRUFBRSxNQUFNLE9BQU8sU0FBUyxFQUFFLE1BQU0sUUFBUSxNQUFNLE1BQU0sMkJBQTJCLEVBQUUsQ0FBQyxPQUFPLFNBQVMsRUFBRSxNQUFNLE9BQU8sU0FBUyxFQUFFLE1BQU0sUUFBUSxNQUFNLE9BQU8sd0JBQXdCLEVBQUUsQ0FBQyxHQUFDLENBQUMsT0FBTyxTQUFTLEVBQUUsTUFBTSxPQUFPLFNBQVMsRUFBRSxNQUFNLFFBQVEsTUFBTSxNQUFNLHNCQUFzQixFQUFFLENBQUMsT0FBTyxTQUFTLEVBQUUsTUFBTSxPQUFPLFNBQVMsRUFBRSxNQUFNLFFBQVEsTUFBTSxNQUFNLGNBQWMsRUFBRSxNQUFNLE9BQU8sU0FBUyxFQUFFLE1BQU0sT0FBTyxTQUFTLEVBQUUsTUFBTSxRQUFRLE1BQU0sTUFBTSxjQUFjLEVBQUUsS0FBSyxPQUFPLFNBQVMsRUFBRSxNQUFNLE9BQU8sU0FBUyxFQUFFLE1BQU07RUFNcGpCLHFCQUFxQjs7QUFHdkI7cUNBQ3FDO0FBSXJDLE1BQU0sTUFDRCxNQUFNLE9BQU8sNkJBQTZCLEVBQUUsQ0FBQyxPQUFPLFNBQVMsRUFBRSxNQUFNLE9BQU8sU0FBUyxFQUFFLE1BQU0sUUFBUSxNQUFNLE1BQU0sMkJBQTJCLEVBQUUsQ0FBQyxPQUFPLFNBQVMsRUFBRSxNQUFNLE9BQU8sU0FBUyxFQUFFLE1BQU0sUUFBUSxNQUFNLE9BQU8sd0JBQXdCLEVBQUUsQ0FBQyxHQUFDLENBQUMsT0FBTyxTQUFTLEVBQUUsTUFBTSxPQUFPLFNBQVMsRUFBRSxNQUFNLFFBQVEsTUFBTSxNQUFNLHNCQUFzQixFQUFFLENBQUMsT0FBTyxTQUFTLEVBQUUsTUFBTSxPQUFPLFNBQVMsRUFBRSxNQUFNLFFBQVEsTUFBTSxNQUFNLGNBQWMsRUFBRSxNQUFNLE9BQU8sU0FBUyxFQUFFLE1BQU0sT0FBTyxTQUFTLEVBQUUsTUFBTSxRQUFRLE1BQU0sTUFBTSxjQUFjLEVBQUUsS0FBSyxPQUFPLFNBQVMsRUFBRSxNQUFNLE9BQU8sU0FBUyxFQUFFLE1BQU07RUFNcGpCLHFCQUFxQjs7QUFHdkI7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SyxPQUFPLFNBQVMsRUFBRSxNQUFNLE9BQU8sU0FBUyxFQUFFLE1BQU07RUFNcGpCLHFCQUFxQjs7QUFHdkI7cUNBQ3FDO0FBSXJDLE1BQU0sTUFDRCxNQUFNLE9BQU8sNkJBQTZCLEVBQUUsQ0FBQyxPQUFPLFNBQVMsRUFBRSxNQUFNLE9BQU8sU0FBUyxFQUFFLE1BQU0sUUFBUSxNQUFNLE1BQU0sMkJBQTJCLEVBQUUsQ0FBQyxPQUFPLFNBQVMsRUFBRSxNQUFNLE9BQU8sU0FBUyxFQUFFLE1BQU0sUUFBUSxNQUFNLE9BQU8sd0JBQXdCLEVBQUUsQ0FBQyxHQUFDLENBQUMsT0FBTyxTQUFTLEVBQUUsTUFBTSxPQUFPLFNBQVMsRUFBRSxNQUFNLFFBQVEsTUFBTSxNQUFNLHNCQUFzQixFQUFFLENBQUMsT0FBTyxTQUFTLEVBQUUsTUFBTSxPQUFPLFNBQVMsRUFBRSxNQUFNLFFBQVEsTUFBTSxNQUFNLGNBQWMsRUFBRSxNQUFNLE9BQU8sU0FBUyxFQUFFLE1BQU0sT0FBTyxTQUFTLEVBQUUsTUFBTSxRQUFRLE1BQU0sTUFBTSxjQUFjLEVBQUUsS0FBSyxPQUFPLFNBQVMsRUFBRSxNQUFNLE9BQU8sU0FBUyxFQUFFLE1BQU07RUFNcGpCLHFCQUFxQjs7QUFHdkI7cUNBQ3FDO0FBSXJDLE1BQU0sTUFDRCxNQUFNLE9BQU8sNkJBQTZCLEVBQUUsQ0FBQyxPQUFPLFNBQVMsRUFBRSxNQUFNLE9BQU8sU0FBUyxFQUFFLE1BQU0sUUFBUSxNQUFNLE1BQU0sMkJBQTJCLEVBQUUsQ0FBQyxPQUFPLFNBQVMsRUFBRSxNQUFNLE9BQU8sU0FBUyxFQUFFLE1BQU0sUUFBUSxNQUFNLE9BQU8sd0JBQXdCLEVBQUUsQ0FBQyxHQUFDLENBQUMsT0FBTyxTQUFTLEVBQUUsTUFBTSxPQUFPLFNBQVMsRUFBRSxNQUFNLFFBQVEsTUFBTSxNQUFNLHNCQUFzQixFQUFFLENBQUMsT0FBTyxTQUFTLEVBQUUsTUFBTSxPQUFPLFNBQVMsRUFBRSxNQUFNLFFBQVEsTUFBTSxNQUFNLGNBQWMsRUFBRSxNQUFNLE9BQU8sU0FBUyxFQUFF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QVEsTUFBTSxNQUFNLHNCQUFzQixFQUFFLENBQUMsT0FBTyxTQUFTLEVBQUUsTUFBTSxPQUFPLFNBQVMsRUFBRSxNQUFNLFFBQVEsTUFBTSxNQUFNLGNBQWMsRUFBRSxNQUFNLE9BQU8sU0FBUyxFQUFFLE1BQU0sT0FBTyxTQUFTLEVBQUUsTUFBTSxRQUFRLE1BQU0sTUFBTSxjQUFjLEVBQUUsS0FBSyxPQUFPLFNBQVMsRUFBRSxNQUFNLE9BQU8sU0FBUyxFQUFFLE1BQU07RUFNcGpCLHFCQUFxQjs7QUFHdkI7cUNBQ3FDO0FBSXJDLE1BQU0sTUFDRCxNQUFNLE9BQU8sNkJBQTZCLEVBQUUsQ0FBQyxPQUFPLFNBQVMsRUFBRSxNQUFNLE9BQU8sU0FBUyxFQUFFLE1BQU0sUUFBUSxNQUFNLE1BQU0sMkJBQTJCLEVBQUUsQ0FBQyxPQUFPLFNBQVMsRUFBRSxNQUFNLE9BQU8sU0FBUyxFQUFFLE1BQU0sUUFBUSxNQUFNLE9BQU8sd0JBQXdCLEVBQUUsQ0FBQyxHQUFDLENBQUMsT0FBTyxTQUFTLEVBQUUsTUFBTSxPQUFPLFNBQVMsRUFBRSxNQUFNLFFBQVEsTUFBTSxNQUFNLHNCQUFzQixFQUFFLENBQUMsT0FBTyxTQUFTLEVBQUUsTUFBTSxPQUFPLFNBQVMsRUFBRSxNQUFNLFFBQVEsTUFBTSxNQUFNLGNBQWMsRUFBRSxNQUFNLE9BQU8sU0FBUyxFQUFFLE1BQU0sT0FBTyxTQUFTLEVBQUUsTUFBTSxRQUFRLE1BQU0sTUFBTSxjQUFjLEVBQUUsS0FBSyxPQUFPLFNBQVMsRUFBRSxNQUFNLE9BQU8sU0FBUyxFQUFFLE1BQU07RUFNcGpCLHFCQUFxQjs7QUFHdkI7cUNBQ3FDO0FBSXJDLE1BQU0sTUFDRCxNQUFNLE9BQU8sNkJBQTZCLEVBQUUsQ0FBQyxPQUFPLFNBQVMsRUFBRSxNQUFNLE9BQU8sU0FBUyxFQUFFLE1BQU0sUUFBUSxNQUFNLE1BQU0sMkJBQTJCLEVBQUUsQ0FBQyxPQUFPLFNBQVMsRUFBRSxNQUFNLE9BQU8sU0FBUyxFQUFFLE1BQU0sUUFBUSxNQUFNLE9BQU8sd0JBQXdCLEVBQUUsQ0FB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TUFBTSxPQUFPLFNBQVMsRUFBRSxNQUFNLFFBQVEsTUFBTSxNQUFNLHNCQUFzQixFQUFFLENBQUMsT0FBTyxTQUFTLEVBQUUsTUFBTSxPQUFPLFNBQVMsRUFBRSxNQUFNLFFBQVEsTUFBTSxNQUFNLGNBQWMsRUFBRSxNQUFNLE9BQU8sU0FBUyxFQUFFLE1BQU0sT0FBTyxTQUFTLEVBQUUsTUFBTSxRQUFRLE1BQU0sTUFBTSxjQUFjLEVBQUUsS0FBSyxPQUFPLFNBQVMsRUFBRSxNQUFNLE9BQU8sU0FBUyxFQUFFLE1BQU07RUFNcGpCLHFCQUFxQjs7QUFHdkI7cUNBQ3FDO0FBSXJDLE1BQU0sTUFDRCxNQUFNLE9BQU8sNkJBQTZCLEVBQUUsQ0FBQyxPQUFPLFNBQVMsRUFBRSxNQUFNLE9BQU8sU0FBUyxFQUFFLE1BQU0sUUFBUSxNQUFNLE1BQU0sMkJBQTJCLEVBQUUsQ0FBQyxPQUFPLFNBQVMsRUFBRSxNQUFNLE9BQU8sU0FBUyxFQUFFLE1BQU0sUUFBUSxNQUFNLE9BQU8sd0JBQXdCLEVBQUUsQ0FBQyxHQUFDLENBQUMsT0FBTyxTQUFTLEVBQUUsTUFBTSxPQUFPLFNBQVMsRUFBRSxNQUFNLFFBQVEsTUFBTSxNQUFNLHNCQUFzQixFQUFFLENBQUMsT0FBTyxTQUFTLEVBQUUsTUFBTSxPQUFPLFNBQVMsRUFBRSxNQUFNLFFBQVEsTUFBTSxNQUFNLGNBQWMsRUFBRSxNQUFNLE9BQU8sU0FBUyxFQUFFLE1BQU0sT0FBTyxTQUFTLEVBQUUsTUFBTSxRQUFRLE1BQU0sTUFBTSxjQUFjLEVBQUUsS0FBSyxPQUFPLFNBQVMsRUFBRSxNQUFNLE9BQU8sU0FBUyxFQUFFLE1BQU07RUFNcGpCLHFCQUFxQjs7QUFHdkI7cUNBQ3FDO0FBSXJDLE1BQU0sTUFDRCxNQUFNLE9BQU8sNkJBQTZCLEVBQUUsQ0FBQyxPQUFPLFNBQVMsRUFBRSxNQUFNLE9BQU8sU0FBUyxFQUFFLE1BQU0sUUFBUSxNQUFNLE1BQU0sMkJBQTJCLEVBQUUsQ0FBQyxPQUFPLFNBQVMsRUFBRSxNQUFNLE9BQU8sU0FBUyxFQUFFLE1BQU0sUUFB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 */
