/**
 * @group Color
 * @label Base Color (used for navbar, widget titles, etc.)
 * @type color
 * @default_value #2275bb
 */
/**
 * @group Color
 * @label Header/Footer Color
 * @type color
 * @default_value #222
 */
/**
 * @group Color
 * @label Pre-Footer Color
 * @type color
 * @default_value #ddd
 */
/**
 * @group Color
 * @label Color of links
 * @type color
 * @default_value #2275bb
 */
/**
 * @group Color
 * @label Hover color of links
 * @type color
 * @default_value #2275bb
 */
/**
 * @group Color
 * @label Background color of post meta boxes (author bio, related posts, etc.)
 * @type color
 * @default_value #fff
 */
/**
 * @group Basics
 * @label Body Background Color
 * @type color
 * @default_value #fff
 */
/**
 * @group Basics
 * @label Page Background Color
 * @type color
 * @default_value #fff
 */
/**
 * @group Basics
 * @label Text Color
 * @type color
 * @default_value #333
 */
/**
 * @group Basics
 * @label Default Vertical Spacing
 * @type pixels
 * @default_value 24px
 */
/**
 * @group Typography
 * @label Sans Font Family
 * @type text
 * @default_value "Helvetica Neue", Helvetica, Arial, sans-serif
 */
/**
 * @group Typography
 * @label Serif Font Family
 * @type text
 */
/**
 * @group Typography
 * @label Base Font Size
 * @type pixels
 */
/**
 * @group Typography
 * @label Sans Font Family
 * @type dropdown
 * @options @serifFontFamily|@sansFontFamily
 * @default_value @serifFontFamily
 */
/**
 * @group Typography
 * @label Base Line Height
 * @type text
 * @default_value 1.5
 */
.clearfix {
  *zoom: 1;
}
.clearfix:before,
.clearfix:after {
  display: table;
  content: "";
}
.clearfix:after {
  clear: both;
}
.visuallyhidden {
  position: absolute;
  overflow: hidden;
  clip: rect(0 0 0 0);
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
}
.hide-text {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}
.input-block-level {
  display: block;
  width: 100%;
  min-height: 28px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
html.nav-open,
html.nav-open body {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: hidden;
}
.navbar {
  *position: relative;
  *z-index: 2;
  overflow: visible;
  margin-bottom: 4.8px;
  color: #484848;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.navbar .container {
  width: auto;
}
.navbar .toggle-nav-bar {
  display: none;
}
.navbar .navbar-inner {
  background-color: #ffffff;
}
.navbar .navbar-text {
  margin-bottom: 0;
}
.navbar #header-social li > a {
  padding-left: 4px;
  padding-right: 4px;
}
.navbar .nav {
  position: relative;
  left: 0;
  display: block;
  float: left;
  margin: 0;
  color: #484848;
}
.navbar .nav > li > a {
  color: #484848;
}
.navbar li {
  display: block;
  float: left;
  margin-bottom: 0;
}
.navbar li > a {
  display: block;
  text-decoration: none;
  line-height: 40px;
  padding-left: 10px;
  padding-right: 10px;
}
.navbar li.dropdown > a {
  padding-right: 0;
}
.navbar li.dropdown .dropdown-menu li a {
  color: #484848;
  padding-right: 10px;
  line-height: 1.5;
}
.navbar li.dropdown .dropdown-menu li a:hover {
  color: #3b3b3b;
}
.navbar li > a:hover {
  background-color: #f2f2f2;
  color: #3b3b3b;
}
.navbar li > a:hover .caret:before {
  border-top-color: #3b3b3b;
}
.navbar .sub-menu:before,
.navbar .sub-sub-menu:before {
  border-bottom: 9px solid transparent;
  border-left: none;
  border-right: 9px solid rgba(0, 0, 0, 0.2);
  border-top: 9px solid transparent;
  left: -9px;
  top: 30%;
}
.navbar .sub-menu:after,
.navbar .sub-sub-menu:after {
  border-top: 8px solid transparent;
  border-left: none;
  border-right: 8px solid #ffffff;
  border-bottom: 8px solid transparent;
  top: 31%;
  left: -8px;
}
.navbar li.home-icon a:hover,
.navbar li.home-link a:hover {
  background-color: transparent;
  color: #319ecf;
}
.navbar .home-icon:hover img,
.navbar li.home-link:hover i {
  opacity: 0.85;
  filter: alpha(opacity=85);
}
.navbar li.home-link {
  overflow: hidden;
}
.navbar li.home-link > a {
  display: block;
}
.navbar li.home-link > a:hover {
  background: none;
}
.navbar li.home-link > a img {
  display: block;
  height: 40px;
  width: 40px;
}
.navbar li.home-icon > a {
  padding: 0;
}
.navbar li.home-icon > a:hover {
  background: none;
}
.navbar li.home-icon > a img {
  display: inline-block;
  height: 24px;
  width: auto;
  margin-right: 1em;
}
.navbar .btn-navbar {
  display: none;
  float: left;
  margin-right: 10px;
  background-color: transparent;
  border: none;
  padding: 12.5px 10px;
}
.navbar .btn-navbar .label {
  float: right;
  color: white;
  line-height: 1;
  margin: -2px 0 0 5px;
  padding: 0;
  font-size: 15px;
}
.navbar .btn-navbar .navbar .btn-navbar .bars {
  float: left;
}
.navbar .btn-navbar .icon-bar {
  display: block;
  width: 18px;
  height: 3px;
}
.navbar .btn-navbar .icon-bar + .icon-bar {
  margin-top: 3px;
}
@media (min-width: 769px) {
  .navbar .nav-left {
    display: none;
  }
}
@media (max-width: 768px) {
  .navbar {
    position: relative;
    z-index: 9;
  }
  .navbar li.dropdown .dropdown-menu li a {
    line-height: 40px;
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 40px;
  }
  .navbar .container {
    width: auto;
    padding: 0;
  }
  .navbar .toggle-nav-bar {
    display: block;
  }
  .navbar .nav-shelf {
    background: #ffffff;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    visibility: hidden;
    opacity: 0;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
  }
  .navbar .nav-shelf .site-name,
  .navbar .nav-shelf .home-icon,
  .navbar .nav-shelf .home-link {
    display: none;
  }
  .navbar .nav-shelf ul,
  .navbar .nav-shelf li {
    float: none;
  }
  .navbar .nav-shelf li.home-link {
    display: none;
  }
  .navbar .nav-shelf li b.caret {
    float: right;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
  }
  .navbar .nav-shelf li.open > a .caret {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  .navbar .nav-shelf li.open > ul.dropdown-menu {
    display: block;
    position: relative;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    border: none;
    padding: 0;
  }
  .navbar .nav-shelf li.open > ul.dropdown-menu:before,
  .navbar .nav-shelf li.open > ul.dropdown-menu:after {
    display: none;
  }
  .navbar .nav-shelf .nav > li:last-child {
    border-bottom: none;
    padding-bottom: none;
  }
  .navbar.open .nav-shelf {
    visibility: visible;
    opacity: 1;
    border-bottom: 1px solid #dddddd;
  }
  .navbar .nav li.home-link,
  .navbar .nav li.site-name {
    display: none;
  }
}
.navbar-inner {
  float: left;
  width: 100%;
}
.caret {
  display: inline-block;
  position: relative;
  width: 16px;
  padding: 0 8px;
  top: 2px;
}
.caret:before {
  display: block;
  position: relative;
  width: 0;
  height: 0;
  border-top: 6px solid #484848;
  border-right: 5px solid transparent;
  border-left: 5px solid transparent;
  border-bottom: 5px solid transparent;
  content: "";
}
.dropup,
.dropdown {
  position: relative;
}
.dropup .caret,
.dropdown .caret {
  border-top-color: #ffffff;
  border-bottom-color: #ffffff;
}
.dropup.active .caret,
.dropdown.active .caret {
  opacity: 1;
  filter: alpha(opacity=100);
}
.dropdown-toggle {
  *margin-bottom: -3px;
}
.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 160px;
  padding: 3px 0;
  margin: 0;
  list-style: none;
  background-color: #ffffff;
  border: 1px solid #dddddd;
  border: 1px solid rgba(0, 0, 0, 0.2);
  *border-right-width: 2px;
  *border-bottom-width: 2px;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
}
.dropdown-menu li {
  padding-top: 0;
  width: 100%;
}
.dropdown-menu li {
  margin-bottom: 0;
}
.dropdown-menu li > a {
  display: block;
  width: auto;
  padding: 3px 15px;
  clear: both;
  white-space: nowrap;
  text-shadow: none;
}
.dropdown-menu li > a:hover {
  text-decoration: none;
}
.dropdown-menu .active > a,
.dropdown-menu .active > a:hover {
  color: #484848;
  background-color: #ffffff;
}
.dropdown-menu:before {
  content: '';
  display: inline-block;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 10px solid #dddddd;
  border-bottom-color: rgba(0, 0, 0, 0.2);
  position: absolute;
  top: -10px;
  left: 9px;
}
.dropdown-menu:after {
  content: '';
  display: inline-block;
  border-left: 9px solid transparent;
  border-right: 9px solid transparent;
  border-bottom: 9px solid #ffffff;
  position: absolute;
  top: -9px;
  left: 10px;
}
.dropdown-menu .sub-menu,
.dropdown-menu .sub-sub-menu {
  position: absolute;
  top: -20%;
  left: 99%;
  visibility: hidden;
  margin-top: 0;
}
.dropdown-menu .icon-arrow-right {
  position: relative;
  top: 2px;
  left: 3px;
}
.dropdown-menu li:hover .sub-menu,
.dropdown-menu .sub-menu li:hover .sub-sub-menu {
  visibility: visible;
  display: block;
}
@media (max-width: 768px) {
  .dropdown-menu li:hover .sub-sub-menu,
  .dropdown-menu li:hover .sub-menu {
    display: none;
    visibility: hidden;
  }
  .dropdown-menu li:hover .sub-sub-menu:before,
  .dropdown-menu li:hover .sub-menu:before {
    display: none;
  }
}
@media (min-width: 769px) {
  html.no-touch ul.nav li.dropdown:hover ul.dropdown-menu,
  html.touch ul.nav li.dropdown.open ul.dropdown-menu {
    display: block;
  }
}
.open {
  *z-index: 1000;
}
.open > .dropdown-menu {
  display: block;
}
@media (min-width: 769px) {
  .open > .dropdown-menu {
    display: none;
  }
}
.dropup .caret,
.navbar-fixed-bottom .dropdown .caret {
  border-top: 0;
  border-bottom: 4px solid #000000;
  content: "\2191";
}
.dropup .dropdown-menu,
.navbar-fixed-bottom .dropdown .dropdown-menu {
  top: auto;
  bottom: 100%;
  margin-bottom: 1px;
}
#topics-bar {
  padding: 3px 0;
}
#topics-bar ul {
  margin: 0;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
#topics-bar ul li {
  display: inline;
  margin-right: 10px;
  white-space: nowrap;
  font-size: 14px;
}
#topics-bar ul li.menu-label {
  font-size: 15px;
  font-weight: bold;
}
#main-nav.navbar {
  border-top: 1px solid #aaaaaa;
  border-bottom: 1px solid #aaaaaa;
}
.sticky-nav-container {
  margin: 0 auto;
  position: relative;
}
.sticky-nav-holder {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 99998;
  visibility: hidden;
  opacity: 0;
  background-color: #ffffff;
  border-bottom: 1px solid #dddddd;
  -webkit-transition: opacity 0.3s;
  -moz-transition: opacity 0.3s;
  -ms-transition: opacity 0.3s;
  -o-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.sticky-nav-holder.transitioning {
  overflow: hidden;
  height: 56px;
}
.sticky-nav-holder.transitioning .navbar {
  opacity: 0;
}
.sticky-nav-holder.show {
  visibility: visible;
  opacity: 1;
}
body.admin-bar .sticky-nav-holder {
  top: 32px;
}
@media (max-width: 782px) {
  body.admin-bar .sticky-nav-holder {
    top: 46px;
  }
}
@media (max-width: 600px) {
  body.admin-bar .sticky-nav-holder {
    top: 0;
  }
}
@media (min-width: 769px) {
  .sticky-nav-holder {
    display: none;
  }
  body.single .sticky-nav-holder.sticky_nav_display_article,
  body.single .sticky-nav-holder.main_nav_hide_article,
  body.page .sticky-nav-holder.sticky_nav_display_article,
  body.page .sticky-nav-holder.main_nav_hide_article {
    display: block;
  }
}
.navbar.sticky-navbar {
  margin-bottom: 0;
  -webkit-transition: opacity 0.3s;
  -moz-transition: opacity 0.3s;
  -ms-transition: opacity 0.3s;
  -o-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.navbar.sticky-navbar .nav {
  color: #484848;
}
.navbar.sticky-navbar li a {
  line-height: 56px;
  color: #484848;
}
.navbar.sticky-navbar li a:hover {
  color: #3b3b3b;
}
.navbar.sticky-navbar li a .caret:before {
  border-top-color: #484848;
}
.navbar.sticky-navbar li a:hover .caret:before {
  border-top-color: #3b3b3b;
}
.navbar.sticky-navbar li.home-link > a:hover {
  color: #555555;
}
.navbar.sticky-navbar li.dropdown .dropdown-menu li a {
  color: #484848;
}
.navbar.sticky-navbar li.dropdown .dropdown-menu li a:hover {
  color: #3b3b3b;
}
.navbar.sticky-navbar .social-icons {
  margin: 0;
  float: left;
}
.navbar.sticky-navbar .btn-navbar {
  padding: 0 10px 0 10px;
  margin-right: 0;
  line-height: 56px;
}
.navbar.sticky-navbar .btn-navbar .bars {
  display: inline-block;
}
.navbar.sticky-navbar .btn-navbar .icon-bar {
  background-color: #484848;
}
.navbar.sticky-navbar .btn-navbar:hover .icon-bar {
  background-color: #3b3b3b;
}
.navbar.sticky-navbar.home-link {
  min-width: 40px;
  text-align: center;
}
.navbar.sticky-navbar.home-link .nav > li a img {
  width: 1.49em;
  height: 1.49em;
}
.navbar.sticky-navbar.home-link .nav > li .icon-home:before {
  position: relative;
  top: 0;
}
.navbar.sticky-navbar .nav-right {
  float: right;
}
.navbar.sticky-navbar .nav-right #header-extras {
  float: left;
  margin: 0;
}
.navbar.sticky-navbar .nav-right #header-extras a.donate-link:hover {
  background: transparent;
}
.navbar.sticky-navbar .nav-right #header-extras .donate a span {
  padding: 4px 8px;
  color: #ffffff;
  background-color: #b43434;
}
.navbar.sticky-navbar .nav-right #header-extras .donate a span:hover {
  background-color: #c63b3b;
}
.navbar.sticky-navbar .nav-right #header-extras .donate a span i {
  display: none;
}
.navbar.sticky-navbar .nav-right .form-search {
  position: relative;
}
.navbar.sticky-navbar .nav-right .form-search .toggle {
  color: transparent;
  display: inline-block;
  text-align: center;
  cursor: pointer;
  position: relative;
  z-index: 91;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -ms-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}
.navbar.sticky-navbar .nav-right .form-search .input-append {
  position: absolute;
  right: 44px;
  top: 0;
  right: 0;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -ms-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  padding: 10px;
  z-index: 90;
  width: 246px;
}
.navbar.sticky-navbar .nav-right .form-search .input-append .text-input-wrapper {
  display: block;
  float: left;
  width: 196px;
}
.navbar.sticky-navbar .nav-right .form-search .input-append input {
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  height: 36px !important;
}
.navbar.sticky-navbar .nav-right .form-search .input-append button {
  width: 50px !important;
  height: 36px !important;
  float: left;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
.navbar.sticky-navbar .nav-right #sticky-nav-search.show .input-append {
  position: absolute;
  opacity: 1;
  visibility: visible;
}
.navbar.sticky-navbar .nav-right #sticky-nav-search.show .input-append,
.navbar.sticky-navbar .nav-right #sticky-nav-search.show .toggle {
  background-color: #343434;
  color: #ffffff;
}
.navbar.sticky-navbar .nav-left > ul {
  margin: 0;
  padding: 0;
}
@media (min-width: 769px) {
  .navbar.sticky-navbar .nav-left {
    display: none;
  }
}
.navbar.sticky-navbar .site-name {
  display: block;
  color: #343434;
}
.navbar.sticky-navbar .site-name a {
  font-weight: bold;
  padding: 0 10px 0 0;
  color: #484848;
  max-width: 214px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
.navbar.sticky-navbar .site-name a:hover {
  background-color: transparent;
  color: #3b3b3b;
  text-decoration: none;
}
.navbar.sticky-navbar .nav-right {
  float: right;
}
.navbar.sticky-navbar .nav-right #header-extras {
  float: left;
  margin: 0;
}
.navbar.sticky-navbar .nav-right #header-extras a.donate-link:hover {
  background: transparent;
}
@media (max-width: 768px) {
  .navbar.sticky-navbar li.dropdown .dropdown-menu li a {
    line-height: 56px;
  }
  .navbar.sticky-navbar .nav-shelf b.caret {
    padding: 22px;
  }
}
#menu-overflow > ul {
  overflow-y: scroll;
  max-height: 80vh;
}
#menu-overflow > ul .caret::before,
#menu-overflow > ul .caret::after {
  display: none;
}
#menu-overflow > ul ul.dropdown-menu {
  position: relative;
  border: none;
  float: none;
  box-shadow: none;
}
#menu-overflow > ul ul.dropdown-menu li a {
  padding-left: 1.5em;
}
#menu-overflow > ul ul.dropdown-menu::before,
#menu-overflow > ul ul.dropdown-menu::after {
  display: none;
}
#menu-overflow > ul ul.dropdown-menu .sub-menu,
#menu-overflow > ul ul.dropdown-menu .sub-sub-menu {
  display: none;
}
/**
 * Before Footer, Site Footer
 *
 * #before-footer - a dynamic widget area prior to #site-footer
 * #site-footer
 *   #supplementary - primary widget zones for site footer
 *   #boilerplate - social icons, copyright, INN logo and footer links
 *
 * @since 0.5.3
 */
.before-footer-wrapper {
  background-color: #dddddd;
}
#before-footer .widget:last-child {
  margin-bottom: 0;
}
.footer-bg {
  background-color: #222222;
  padding: 0 0 18px;
  margin-bottom: 0;
}
#supplementary {
  padding: 24px 0 0 0;
}
#supplementary._1col aside {
  text-align: center;
}
/* specific to the one column footer layout */
._1col .widget_nav_menu li {
  display: inline;
  margin-right: 1em;
}
/*
 * image displays 300px wide, but is physically 1699x385 px^2
 * We'll use math to get the padding top and bottom correct, according to the brand guidelines
 * margin top and margin bottom should be equal to the height of one of the squares.
 * By cropping the image to the outer boundary of the lower-left square in inn_logo_reversetype.png, we get a square height of 184px.
 * 184/1669 = x/300
 */
#inn-logo {
  margin-top: 22.04913122px;
  margin-bottom: 16.53684841px;
  max-width: 200px;
}
#footer-logos-bg {
  background-color: #ffffff;
  padding: 10px 0;
}
#footer-logos {
  overflow: hidden;
}
#footer-logos a {
  display: block;
  float: left;
  width: 16.666666667%;
}
#footer-logos a img {
  display: block;
  width: 100%;
  max-width: 180px;
  margin: 0 auto;
}
#footer-logos h6 {
  margin-bottom: 4px;
  padding-bottom: 3px;
  border-bottom: 1px solid #dddddd;
  font-size: 12px;
  color: #7d8185;
  text-transform: uppercase;
  font-weight: normal;
}
#footer-logos h6 a {
  float: right;
  text-align: right;
}
ul#footer-social {
  padding-top: 22.04913122px;
  padding-bottom: 16.53684841px;
  margin: 0 auto;
  width: 100%;
}
@media (max-width: 768px) {
  ul#footer-social {
    text-align: left;
  }
}
ul#footer-social li {
  height: 46.13541043px;
  display: table-cell;
  vertical-align: middle;
  font-size: 18px;
}
@media (max-width: 768px) {
  ul#footer-social li {
    margin-top: 0;
  }
}
ul#footer-social li a {
  padding-right: 10px;
  padding-top: 16.07737739px;
}
ul#footer-social li i {
  position: relative;
  top: 0;
  padding: 5px;
  margin-top: 27.56141402;
  font-size: 18px;
  color: #ffffff;
}
ul#footer-social li i:hover {
  color: #bfbfbf;
}
ul#footer-social li:last-child a {
  padding-right: 0;
}
#boilerplate {
  width: 100%;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
#boilerplate p {
  margin-bottom: 0;
  color: #9F9FA3;
}
#boilerplate .menu {
  display: inline;
  margin: 0;
  font-size: 10.672px;
}
#boilerplate .menu li {
  display: inline;
  padding-right: 10px;
}
#boilerplate .menu {
  clear: none;
}
footer #boilerplate p {
  color: #9F9FA3;
}
footer #boilerplate a {
  color: #dddddd;
}
footer #boilerplate a:hover {
  color: #09C9FF;
}
@media (min-width: 769px) {
  #boilerplate .span6.right {
    text-align: right;
    margin-top: 0;
    margin-bottom: 0;
  }
}
@media (min-width: 979px) {
  .footer-credit-padding-inn-logo-missing {
    margin-top: 84.72139005px;
  }
}
@media (max-width: 979px) {
  #boilerplate .row-fluid .span6 {
    width: 100%;
    clear: both;
    margin-left: 0;
    text-align: center;
  }
  ul#footer-social {
    display: inline-block;
    width: auto;
    margin: 0 auto;
  }
  .footer-credit span {
    display: block;
  }
}
.back-to-top {
  position: absolute;
  overflow: hidden;
  clip: rect(0 0 0 0);
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
}
body.normal.single-post article.post > header .entry-date,
body.normal.single-post article.post > header .sep {
  display: inline;
}
.top-date {
  display: none;
}
.byline .twitter {
  margin-left: 0.3em;
}
.byline .twitter a:hover {
  color: #55acee;
}
p.wp-caption-text {
  font-family: "helvetica neue", helvetica, sans-serif;
  font-size: 14px !important;
  font-weight: 400;
  letter-spacing: 0.0125em;
}
/* Typography */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "tablet-gothic-condensed", sans-serif;
  font-weight: 700;
  color: #484848;
}
h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
  color: #484848;
}
a {
  color: #b43434;
}
a:hover {
  color: #b43434;
  text-decoration: underline;
}
p,
button,
input,
select,
textarea {
  font-family: "leitura-news", Georgia, serif;
  font-weight: 300;
}
h5.byline {
  font-family: "helvetica neue", helvetica, sans-serif;
}
/* Largo Helvetica Overrides */
.top-tag,
.nav,
.top-date,
.load-more,
.post-social > span,
.rss-subscribe-link,
.tags,
.related-items p,
.subscribe,
.widget.largo-series-posts li a,
ul.staff-roster .staff-name,
.archive-background .related-topics,
.labels,
.navbar,
.pager,
.post-pagination a,
.post-pagination span,
#sidebar .widget_analytic-bridge-popular-posts ol li::before {
  font-family: "tablet-gothic-condensed", sans-serif;
  font-weight: 300;
}
.widgettitle,
.stories h3.widgettitle {
  font-size: 32px;
  text-align: left;
  color: #226f91;
  padding-bottom: 0.3em;
  border-bottom: 2px solid #226f91;
}
.widgettitle a,
.stories h3.widgettitle a {
  color: #226f91;
}
.widget {
  padding: 0;
}
.widget h5 {
  font-weight: 400;
}
.widget img.attachment-large,
.widget img.attachment-medium {
  padding-bottom: 0;
  margin-bottom: 0.66em;
}
#sidebar .widget {
  margin-top: 24px;
}
#sidebar .widget:first-child {
  margin-top: 0;
}
#sidebar .widgettitle {
  font-size: 24px;
}
.author-box ul li a {
  background-color: #226f91;
}
.author-box ul li a:hover {
  background-color: #2c8fba;
}
.article-bottom .author-box .widgettitle {
  font-size: 24px;
  border-bottom: none;
  padding-bottom: 0;
}
.widget-area .largo-taxonomy-list h5 {
  margin-bottom: 0;
}
.largo-taxonomy-list a {
  color: #484848;
  font-family: "tablet-gothic-condensed", sans-serif;
  font-weight: 300;
}
.largo-taxonomy-list a:hover {
  color: #226f91;
}
.largo-taxonomy-list img {
  margin-bottom: 1em;
}
.largo-taxonomy-list li {
  margin-bottom: 20px;
}
.saved-links {
  border: 1px solid #aaaaaa;
  padding: 24px;
}
.source {
  font-family: "tablet-gothic-condensed", sans-serif;
  font-weight: 300;
}
.widget.saved-links .post-lead p {
  font-size: 12px;
}
.widget.saved-links .post-lead h5 {
  padding: 0;
}
.widget.saved-links .post-lead p.description {
  margin-bottom: 6px;
}
.dfw-unit {
  text-align: center;
}
.dfw-unit:before {
  content: "Advertisement";
  text-align: center;
  font-family: "helvetica neue", helvetica, sans-serif;
  text-transform: uppercase;
  font-size: 10px;
  width: 100%;
  color: #7d8185;
  display: block;
}
#header-ad-zone-container div div,
#before-footer div div,
.ad-zone.center div div {
  margin: 0 auto;
}
#header-ad-zone-container .dfw-unit:before,
#before-footer .dfw-unit:before,
.ad-zone.center .dfw-unit:before {
  content: none;
}
#header-ad-zone-container {
  width: 100%;
  border-bottom: 1px solid #ccc;
  padding: 5px 0;
}
.before-footer-wrapper {
  background-color: #fff;
}
#before-footer {
  padding: 4px 0 8px;
}
#sidebar .widget_analytic-bridge-popular-posts li + li {
  border-top: none;
  margin-top: 0;
  padding-top: 12px;
}
#site-footer li {
  letter-spacing: 0.1em;
  font-weight: 300;
}
#site-footer li a {
  color: #ffffff;
}
#site-footer li a:hover {
  color: #b43434;
  text-decoration: underline;
}
#site-footer li ul {
  margin-top: 12px;
}
@media (max-width: 768px) {
  #site-footer li li:last-child,
  #site-footer .widget,
  #site-footer div[class^="span"] {
    margin-bottom: 0;
  }
}
#boilerplate p {
  font-family: "helvetica neue", helvetica, sans-serif;
}
#site-footer .span5 ul li:last-child a {
  padding: 12px;
  display: inline-block;
  background-color: #b43434;
  border-radius: 3px;
  border: none;
  color: #fff;
  font-family: "tablet-gothic-condensed", sans-serif;
  text-transform: uppercase;
  text-decoration: none;
}
#site-footer .span5 ul li:last-child a a,
#site-footer .span5 ul li:last-child a a:hover {
  color: #fff;
  text-decoration: none;
}
#site-footer .span5 ul li:last-child a:hover {
  background-color: #cc4f4f;
  color: #fff;
}
header .newsletter-signup {
  position: absolute;
  top: 127px;
  right: 0;
  margin-left: 20px;
  font-size: 20px;
}
.newsletter-signup {
  z-index: 999;
}
.newsletter-signup a {
  color: #000000;
  font-family: "tablet-gothic-condensed", sans-serif;
}
.newsletter-signup a:hover {
  text-decoration: none;
  color: #4d4d4d;
}
.newsletter-signup a:hover span {
  background-color: #cc4f4f;
  color: #ffffff;
}
.newsletter-signup span {
  background-color: #b43434;
  border-radius: 3px;
  border: none;
  color: #fff;
  font-family: "tablet-gothic-condensed", sans-serif;
  text-transform: uppercase;
  text-decoration: none;
  padding: 5px 8px 8px 8px;
  margin-left: 6px;
}
.newsletter-signup span a,
.newsletter-signup span a:hover {
  color: #fff;
  text-decoration: none;
}
.newsletter-signup span:hover {
  background-color: #cc4f4f;
  color: #fff;
}
.article-bottom .newsletter-signup {
  font-size: 24px;
  margin-bottom: 2em;
}
.global-nav #header-search {
  display: none;
}
#header-search {
  float: right;
  margin-top: 12px;
}
.donate-btn {
  background-color: #b43434;
  border-radius: 3px;
  border: none;
  color: #fff;
  font-family: "tablet-gothic-condensed", sans-serif;
  text-transform: uppercase;
  text-decoration: none;
}
.donate-btn a,
.donate-btn a:hover {
  color: #fff;
  text-decoration: none;
}
.donate-btn:hover {
  background-color: #cc4f4f;
  color: #fff;
}
#site-header {
  position: relative;
  margin: 10px 0;
}
#site-header .header_img {
  max-width: 208px;
  width: 100%;
  height: auto;
}
#main-nav.navbar {
  border-top: 2px solid #aaa;
  border-bottom: 2px solid #aaa;
}
#main-nav.navbar li {
  font-size: 20px;
}
#main-nav.navbar li > a {
  line-height: 52px;
}
#main-nav.navbar .dropdown-menu li > a {
  line-height: 40px;
}
#topics-bar a {
  color: #226f91;
}
/* Base styles for section and widget titles */
.section-title {
  font-size: 32px;
  text-align: left;
  color: #226f91;
  padding-bottom: 0.3em;
  border-bottom: 2px solid #226f91;
}
.text-align-center {
  text-align: center;
}
.cta-button {
  background-color: #b43434;
  border-radius: 3px;
  border: none;
  color: #fff;
  font-family: "tablet-gothic-condensed", sans-serif;
  text-transform: uppercase;
  text-decoration: none;
}
.cta-button a,
.cta-button a:hover {
  color: #fff;
  text-decoration: none;
}
.cta-button:hover {
  background-color: #cc4f4f;
  color: #fff;
}
/**
 * Define the various paddings and heights around the flag
 */
/**
 * Increase the height of the padding on post headlines
 */
body.normal.single-post .post-type-press-releases h1.entry-title,
body.normal.single-post .post-type-sponsored h1.entry-title {
  padding-top: 62px;
  clear: both;
}
@media (max-width: 768px) {
  body.normal.single-post .post-type-press-releases h1.entry-title,
  body.normal.single-post .post-type-sponsored h1.entry-title {
    padding-top: 1.25em;
  }
}
/**
 * A mixin to set up the basic ::before and ::after and background and padding for the Press Releases and Sponsored post types.
 *
 * Doesn't set the background color or the border colors. Does set their widths and padding.
 */
.flag-mixin {
  color: #fff;
  padding: 0.625em;
  position: relative;
  display: inline-block;
  font-weight: bold;
  font-family: "helvetica neue", helvetica, sans-serif;
  letter-spacing: 0.02em;
  box-sizing: border-box;
}
.flag-mixin::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin-right: -1.275em;
  background: transparent;
  border-left-width: 1px;
  border-left-style: solid;
  border-top-width: 1.275em;
  border-top-style: solid ;
  border-right: 1.275em solid transparent;
  border-bottom-width: 1.275em;
  border-bottom-style: solid;
}
/*
 * General post styles
 */
.post-type-press-releases .top-tag span,
.post-type-sponsored .top-tag span {
  z-index: 10;
}
.post-type-press-releases .top-tag a,
.post-type-sponsored .top-tag a {
  color: #fff;
  padding: 0.625em;
  position: relative;
  display: inline-block;
  font-weight: bold;
  font-family: "helvetica neue", helvetica, sans-serif;
  letter-spacing: 0.02em;
  box-sizing: border-box;
  font-size: 20px;
}
.post-type-press-releases .top-tag a::after,
.post-type-sponsored .top-tag a::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin-right: -1.275em;
  background: transparent;
  border-left-width: 1px;
  border-left-style: solid;
  border-top-width: 1.275em;
  border-top-style: solid ;
  border-right: 1.275em solid transparent;
  border-bottom-width: 1.275em;
  border-bottom-style: solid;
}
/*
 * Specific color styles
 */
.post-type-press-releases .top-tag a {
  background-color: #f0b956;
}
.post-type-press-releases .top-tag a::after {
  border-top-color: #f0b956;
  border-left-color: #f0b956;
  border-bottom-color: #f0b956;
}
.post-type-sponsored .top-tag a {
  background-color: #50c5f7;
}
.post-type-sponsored .top-tag a:after {
  border-top-color: #50c5f7;
  border-left-color: #50c5f7;
  border-bottom-color: #50c5f7;
}
.topstory-below .has-thumbnail.post-type-press-releases .top-tag,
.topstory-below .has-thumbnail.post-type-sponsored .top-tag {
  padding: 0;
}
.topstory-below .has-thumbnail.post-type-press-releases .top-tag a,
.topstory-below .has-thumbnail.post-type-sponsored .top-tag a {
  font-size: 16px;
  color: #ffffff;
}
.topstory-below .has-thumbnail.post-type-press-releases .top-tag a::after,
.topstory-below .has-thumbnail.post-type-sponsored .top-tag a::after {
  z-index: 0;
}
.post-type-press-releases .entry-content h5.top-tag,
.post-type-sponsored .entry-content h5.top-tag {
  display: inline-block;
  clear: both;
  margin-bottom: 1em;
}
.post-type-press-releases .entry-content h5.top-tag a,
.post-type-sponsored .entry-content h5.top-tag a {
  font-size: 16px;
  color: #fff;
}
/**
 * The hierarchical header doesn't display a top term (used in categories), so we fake it with a ::before
 */
.primary-featured-post .post-type-press-releases::before,
.secondary-featured-post .post-type-press-releases::before,
.primary-featured-post .post-type-sponsored::before,
.secondary-featured-post .post-type-sponsored::before {
  height: 40px;
  display: inline-block;
  color: #fff;
  font-weight: bold;
  font-family: "helvetica neue", helvetica, sans-serif;
  letter-spacing: 0.02em;
  background-color: #f0b956;
  padding-bottom: 0;
  padding-top: 0;
  padding-right: 10px;
  padding-left: 10px;
  z-index: 0;
  box-sizing: border-box;
  line-height: 0;
  border-top: 20px solid #f0b956;
  border-bottom: 20px solid #f0b956;
  border-right: 20px solid white;
  margin-bottom: 10px;
}
@media (min-width: 769px) {
  .secondary-featured-post .span8 .post-type-press-releases::before,
  .secondary-featured-post .span8 .post-type-sponsored::before {
    margin-left: 2.12765957%;
  }
}
.primary-featured-post .post-type-sponsored::before,
.secondary-featured-post .post-type-sponsored::before {
  content: "SPONSORED";
  border-top-color: #50c5f7;
  border-bottom-color: #50c5f7;
}
.primary-featured-post .post-type-press-releases::before,
.secondary-featured-post .post-type-press-releases::before {
  content: "PRESS RELEASE";
}
h5.top-tag {
  margin-bottom: 12px;
}
/**
 * Styles for the sponsored content div that can be pasted into the top of stories.
 *
 * .sponcon-sponsor-before-wrapper is for legacy HTML.
 */
.sponcon-sponsor-before-wrapper,
.sponsored-by {
  background-color: #f5f5f5;
  padding: 0.5em 0.75em 0.75em;
  border: 1px solid #e3e3e3;
  margin-bottom: 15px;
  *zoom: 1;
}
.sponcon-sponsor-before-wrapper:before,
.sponsored-by:before,
.sponcon-sponsor-before-wrapper:after,
.sponsored-by:after {
  display: table;
  content: "";
}
.sponcon-sponsor-before-wrapper:after,
.sponsored-by:after {
  clear: both;
}
.sponcon-sponsor-before-wrapper h3,
.sponsored-by h3,
.sponcon-sponsor-before-wrapper p,
.sponsored-by p {
  font-family: "tablet-gothic-condensed", sans-serif;
}
.sponcon-sponsor-before-wrapper h3,
.sponsored-by h3 {
  margin-bottom: 8px;
  font-size: 16px;
}
.sponcon-sponsor-before-wrapper p,
.sponsored-by p {
  margin-top: 1.5em;
  margin-bottom: 0;
  font-size: 18px;
}
.sponcon-sponsor-before-wrapper .align-left,
.sponsored-by .align-left {
  max-width: 50%;
  margin-top: 0;
  margin-bottom: 0;
}
.sponcon-sponsor-before-wrapper .sponcon-sponsor-before-sponsored-by,
.sponsored-by .sponcon-sponsor-before-sponsored-by {
  float: left;
  margin: 6px 20px 12px 0;
}
.sponcon-sponsor-before-wrapper figure,
.sponsored-by figure {
  margin: 0;
}
/**
 * Press release posts menu, inserted into posts
 * 
 * @see rns_press_release_menu
 */
#press-release-menu ul {
  border: 1px solid #999;
  padding-top: 1em;
  padding-right: 1em;
  padding-bottom: 1em;
  padding-left: 2em;
  font-family: "tablet-gothic-condensed", sans-serif;
}
@media (max-width: 1079px) {
  #sidebar #press-release-menu.widget {
    min-width: 100%;
    box-sizing: border-box;
  }
}
@media (min-width: 1080px) {
  #sidebar #press-release-menu.widget {
    width: 300px;
    max-width: 100%;
  }
}
/**
 * Add a margin-bottom to the press release featured image in the main body of the post
 */
@media (max-width: 768px) {
  #feat-img-press-releases {
    margin-bottom: 24px;
  }
}
.single-roundup article header,
.single-roundup .article-bottom,
.single-roundup .entry-content {
  padding: 0 17.021276594%;
}
.single-roundup .entry-content h3 {
  font-size: 32px;
  text-align: left;
  color: #226f91;
  padding-bottom: 0.3em;
  border-bottom: 2px solid #226f91;
  text-transform: uppercase;
}
.single-roundup .entry-content .headline-excerpt h4.top-tag {
  text-transform: uppercase;
  font-family: "tablet-gothic-condensed", sans-serif;
  font-size: 16px;
  font-weight: 400;
  margin-bottom: 2px;
  color: #aaa;
}
.single-roundup .entry-content .headline-excerpt h3 {
  padding: 0;
  border-bottom: none;
  font-size: 24px;
  margin-bottom: 6px;
}
.single-roundup .entry-content .headline-excerpt .article-content {
  margin-bottom: 1.5em;
}
@media only screen and (max-width: 979px) {
  .single-roundup .article-bottom,
  .single-roundup .entry-content {
    padding: 0 6.38297872%;
  }
}
@media only screen and (max-width: 529px) {
  .single-roundup .article-bottom,
  .single-roundup .entry-content {
    padding: 0;
  }
}
body.normal.page .entry-content .entry-content {
  padding: 0 10%;
  margin-top: 24px;
}
.columns-header + header {
  margin-top: 2em;
}
body.tax-columns #main .hero.is-image img,
body.single-format-standard #main .hero.is-image img {
  border: none;
}
.entry-content .tax-term-listing img.thumb {
  max-width: 80px;
}
.entry-content .tax-term-listing h3 {
  font-size: 32px;
  margin-bottom: 8px;
}
.entry-content .tax-term-listing h3.widgettitle {
  border-bottom: 1px solid #aaa;
}
.entry-content .tax-term-listing h3.widgettitle a {
  color: #333;
}
.entry-content .tax-term-listing h3.entry-title {
  font-size: 24px;
  margin-bottom: 0;
}
.entry-content .tax-term-listing h5.byline {
  margin-bottom: 8px;
  margin-top: 8px;
  font-size: 15px;
}
.entry-content .tax-term-listing p {
  font-size: 18px;
  margin-bottom: 8px;
}
.entry-content .tax-term-listing p.recent {
  font-size: 15px;
}
.entry-content .tax-term-listing p.recent span {
  font-size: 11px;
  font-style: italic;
}
.entry-content .tax-term-listing article {
  margin-bottom: 8px;
}
.entry-content .tax-term-listing .item {
  margin-top: 36px;
  margin-bottom: 36px;
}
.entry-content .tax-term-listing .item::after {
  content: "";
  visibility: hidden;
  display: block;
  height: 0;
  clear: both;
  opacity: 0;
}
.gform_button {
  padding: 12px;
  background-color: #b43434;
  border-radius: 3px;
  border: none;
  color: #fff;
  font-family: "tablet-gothic-condensed", sans-serif;
  text-transform: uppercase;
  text-decoration: none;
}
.gform_button a,
.gform_button a:hover {
  color: #fff;
  text-decoration: none;
}
.gform_button:hover {
  background-color: #cc4f4f;
  color: #fff;
}
.ui-datepicker {
  width: 260px;
}
.ui-datepicker td a {
  width: 36px;
}
.ui-datepicker-header {
  padding: 10px 20px 20px;
}
.gform_wrapper .gfield_checkbox li label {
  display: block;
  margin-bottom: 5px;
  font-size: 16px;
  float: left;
  padding-left: 3%;
  position: relative;
}
.gform_wrapper .gfield_checkbox li input[type='checkbox'] {
  position: absolute;
  left: 0;
}
.gform_wrapper input[type=text] {
  margin-bottom: 0;
}
.gform_wrapper .field_sublabel_below .ginput_complex.ginput_container label {
  margin-bottom: 24px;
}
.gform_wrapper.gf_browser_chrome .ginput_complex .ginput_right select,
.gform_wrapper.gf_browser_chrome .ginput_complex select {
  height: 41px;
  margin-bottom: 0 !important;
}
#gform_wrapper_17 ul.gfield_radio li {
  display: inline;
  margin-right: 20px;
}
#gform_wrapper_17 ul.gfield_radio li input {
  display: none;
}
#gform_wrapper_17 ul.gfield_radio li label {
  padding: 12px 24px;
  background-color: #b43434;
  border-radius: 3px;
  border: none;
  color: #fff;
  font-family: "tablet-gothic-condensed", sans-serif;
  text-transform: uppercase;
  text-decoration: none;
  font-size: 18px;
}
#gform_wrapper_17 ul.gfield_radio li label a,
#gform_wrapper_17 ul.gfield_radio li label a:hover {
  color: #fff;
  text-decoration: none;
}
#gform_wrapper_17 ul.gfield_radio li label:hover {
  background-color: #cc4f4f;
  color: #fff;
}
#gform_wrapper_17 ul.gfield_radio li input[type=radio]:checked + label {
  background-color: #7d8185;
  font-weight: 500;
}
#gform_wrapper_24 .gfield_description {
  padding-top: 8px;
}
#gform_wrapper_24 .gform_next_button,
#gform_wrapper_24 .gform_previous_button {
  background-color: #b43434;
  border-radius: 3px;
  border: none;
  color: #fff;
  font-family: "tablet-gothic-condensed", sans-serif;
  text-transform: uppercase;
  text-decoration: none;
  padding: 12px 24px;
}
#gform_wrapper_24 .gform_next_button a,
#gform_wrapper_24 .gform_previous_button a,
#gform_wrapper_24 .gform_next_button a:hover,
#gform_wrapper_24 .gform_previous_button a:hover {
  color: #fff;
  text-decoration: none;
}
#gform_wrapper_24 .gform_next_button:hover,
#gform_wrapper_24 .gform_previous_button:hover {
  background-color: #cc4f4f;
  color: #fff;
}
#gform_wrapper_24 .gform_previous_button {
  background-color: #7d8185;
  margin-top: 8px;
}
/**
 * Styles for the searchwp shortcode, when used with the 'photo' engine
 */
.searchwp-shortcode-results.photo .span3 {
  margin-bottom: 1em;
}
.searchwp-shortcode-results.photo .span3 .btn,
.searchwp-shortcode-results.photo .span3 .size,
.searchwp-shortcode-results.photo .span3 .wp-caption-text p {
  font-size: 14px;
  margin-bottom: 0.5em;
  font-family: "tablet-gothic-condensed", sans-serif;
}
@media (min-width: 769px) {
  .searchwp-shortcode-results.photo .span3:nth-child(4n+1) {
    clear: left;
    margin-left: 0;
  }
}
@media (min-width: 420px) and (max-width: 768px) {
  .searchwp-shortcode-results.photo .span3 {
    width: 48.93617021%;
    margin-left: 2.12765957%;
  }
  .searchwp-shortcode-results.photo .span3:nth-child(2n+1) {
    clear: left;
    margin-left: 0;
  }
}
@media (max-width: 419px) {
  .searchwp-shortcode-results.photo .span3 {
    width: 100%;
    margin-left: 0;
    clear: both;
  }
}
.searchwp-shortcode-results.photo .date-link {
  display: none;
}
/**
 * The advanced photo search button
 */
#advanced-search {
  margin-bottom: 0.5em;
  text-align: right;
}
/**
 * Styles for the 'download' post type registered by Easy Digital Downloads
 */
/**
 * Styles for single-download.php and partials/content-download.php
 */
.type-download h1.entry-title {
  font-size: 28px;
}
.type-download .download-contents-title {
  margin-top: 1em;
  margin-bottom: 12px;
}
.type-download .download-contents li {
  list-style-type: none;
}
.type-download .download-contents .size {
  display: inline-block;
  font-family: "tablet-gothic-condensed", sans-serif;
  padding: 0 2px;
  margin-left: 0.5em;
  font-size: 0.8em;
  outline: 1px solid #b43434;
}
@media only screen and (min-width: 768px) {
  .type-download .entry-content {
    padding: 0 17.021276594%;
  }
  .type-download > header {
    clear: both;
    margin: 24px 17.0213%;
    position: relative;
  }
}
.edd-add-to-cart.button.blue {
  background-color: #b43434;
  border-radius: 3px;
  border: none;
  color: #fff;
  font-family: "tablet-gothic-condensed", sans-serif;
  text-transform: uppercase;
  text-decoration: none;
  font-size: 1.3em;
}
.edd-add-to-cart.button.blue a,
.edd-add-to-cart.button.blue a:hover {
  color: #fff;
  text-decoration: none;
}
.edd-add-to-cart.button.blue:hover {
  background-color: #cc4f4f;
  color: #fff;
}
/* General Styles */
body p {
  color: #151719;
}
.textwidget {
  font-family: "leitura-news", Georgia, serif;
  font-size: 16px;
}
.btn {
  text-transform: uppercase;
}
.btn.btn-primary {
  background-color: #226f91;
  color: #ffffff;
  border: none;
}
.btn.btn-primary:hover {
  background-color: #1d5f7c;
}
#main img {
  border: 1px solid #eee;
}
#nav-below,
.morelink,
#nav-below.pager {
  text-align: center;
  display: block;
  clear: both;
  margin: 24px 0;
  font-family: "tablet-gothic-condensed", sans-serif;
  font-weight: 300;
}
#nav-below a,
.morelink a,
#nav-below.pager a {
  padding: 12px 24px;
  font-size: 20px;
  color: #fff;
  background-color: #226f91;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
#nav-below a:hover,
.morelink a:hover,
#nav-below.pager a:hover {
  background-color: #aaa;
  color: #fff;
  text-decoration: none;
}
#nav-below.pager a,
#nav-below .morelink a {
  padding: 24px 48px;
}
.page-template-page-clean header.text-align-center {
  margin-top: 10px;
}
body.normal.page-template-page-clean article.page > header.entry-header {
  margin: 24px 0;
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xhcmdvL2xlc3MvaW5jL21peGlucy5sZXNzIiwiLi4vbGFyZ28vbGVzcy9pbmMvbmF2YmFyLWNvbW1vbi5sZXNzIiwiLi4vbGFyZ28vbGVzcy9pbmMvdmFyaWFibGVzLmxlc3MiLCIuLi9sYXJnby9sZXNzL2luYy9uYXZiYXItc3RpY2t5Lmxlc3MiLCIuLi9sYXJnby9sZXNzL2luYy9mb290ZXIubGVzcyIsImxlc3Mvc2luZ2xlLmxlc3MiLCJsZXNzL3ZhcnMubGVzcyIsImxlc3MvX3R5cG9ncmFwaHkubGVzcyIsImxlc3MvX3dpZGdldHMubGVzcyIsImxlc3MvX21peGlucy5sZXNzIiwibGVzcy9faGVhZGVyLmxlc3MiLCJsZXNzL3Nwb25zb3JlZC5sZXNzIiwibGVzcy9zbGluZ3Nob3RzLmxlc3MiLCJsZXNzL2NvbHVtbnMubGVzcyIsImxlc3MvdGF4Lmxlc3MiLCJsZXNzL2Zvcm1zLmxlc3MiLCJsZXNzL3NlYXJjaC5sZXNzIiwibGVzcy9kb3dubG9hZHMubGVzcyIsImxlc3Mvc3R5bGUubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVVBO0VBQ0UsUUFBQTs7QUFDQSxTQUFDO0FBQ0QsU0FBQztFQUNDLGNBQUE7RUFDQSxTQUFTLEVBQVQ7O0FBRUYsU0FBQztFQUNDLFdBQUE7O0FBT0o7RUFDRSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0EsTUFBTSxhQUFOO0VBQ0EsV0FBQTtFQUFhLFVBQUE7RUFDYixZQUFBO0VBQWMsVUFBQTtFQUFZLFNBQUE7O0FBTTVCO0VBQ0UsV0FBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7RUFDQSw2QkFBQTtFQUNBLFNBQUE7O0FBSUY7RUFDRSxjQUFBO0VBQ0EsV0FBQTtFQUNBLGdCQUFBO0VBd1BBLDhCQUFBO0VBQ0csMkJBQUE7RUFDQywwQkFBQTtF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TUc7QUFBRCxTQU5GLEVBTUc7QUFBRCxVQWJNLE1BT1IsRUFNRztFQUNGLHNCQUFBO0VBQ0EsV0FBQTtFQUNBLHFCQUFBOztBQUlILFVBQVUsTUFBTztBQUNqQixVQUFXLFVBQVU7RUFDbkIsa0JBQUE7O0FBR0YseUJBQTBCLE9BQU07RUFDOUIsZ0JBQUE7O0FBRUYsSUFBSSxPQUFPLHlCQUEwQixRQUFPLEtBQU0sU0FBUTtFQUN4RCxjQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gTWl4aW5zLmxlc3Ncbi8vIFNuaXBwZXRzIG9mIHJldXNhYmxlIENTUyB0byBkZXZlbG9wIGZhc3RlciBhbmQga2VlcCBjb2RlIHJlYWRhYmxlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBVVElMSVRZIE1JWElOU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQ2xlYXJmaXhcbi8vIC0tLS0tLS0tXG4vLyBGb3IgY2xlYXJpbmcgZmxvYXRzIGxpa2UgYSBib3NzIGg1YnAuY29tL3Fcbi5jbGVhcmZpeCB7XG4gICp6b29tOiAxO1xuICAmOmJlZm9yZSxcbiAgJjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLyBDU1MgaW1hZ2UgcmVwbGFjZW1lbnRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEhpZGUgYW4gaXRlbSB2aXN1YWxseSBvbmx5XG4udmlzdWFsbHloaWRkZW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIGhlaWdodDogMXB4OyB3aWR0aDogMXB4O1xuICBtYXJnaW46IC0xcHg7IHBhZGRpbmc6IDA7IGJvcmRlcjogMDtcbn1cblxuLy8gQ1NTIGltYWdlIHJlcGxhY2VtZW50XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2NvbW1pdC9hYTAzOTZlYWU3NTdcbi5oaWRlLXRleHQge1xuICBmb250OiAwLzAgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gQmxvY2sgbGV2ZWwgZm9ybSBpbnB1dHNcbi5pbnB1dC1ibG9jay1sZXZlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMjhweDsgICAgICAgIC8vIE1ha2UgaW5wdXRzIGF0IGxlYXN0IHRoZSBoZWlnaHQgb2YgdGhlaXIgYnV0dG9uIGNvdW50ZXJwYXJ0XG4gIC5ib3gtc2l6aW5nKGJvcmRlci1ib3gpOyAvLyBNYWtlcyBpbnB1dHMgYmVoYXZlIGxpa2UgdHJ1ZSBibG9jay1sZXZlbCBlbGVtZW50c1xufVxuXG4vLyBXZWJraXQtc3R5bGUgZm9jdXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuLnRhYi1mb2N1cygpIHtcbiAgLy8gRGVmYXVsdFxuICBvdXRsaW5lOiB0aGluIGRvdHRlZCAjMzMzO1xuICAvLyBXZWJraXRcbiAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbn1cblxuLy8gQ2VudGVyLWFsaWduIGEgYmxvY2sgbGV2ZWwgZWxlbWVudFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmNlbnRlci1ibG9jaygpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi8vIElFNyBpbmxpbmUtYmxvY2tcbi8vIC0tLS0tLS0tLS0tLS0tLS1cbi5pZTctaW5saW5lLWJsb2NrKCkge1xuICAqZGlzcGxheTogaW5saW5lOyAvKiBJRTcgaW5saW5lLWJsb2NrIGhhY2sgKi9cbiAgKnpvb206IDE7XG59XG5cbi8vIElFNyBsaWtlcyB0byBjb2xsYXBzZSB3aGl0ZXNwYWNlIG9uIGVpdGhlciBzaWRlIG9mIHRoZSBpbmxpbmUtYmxvY2sgZWxlbWVudHMuXG4vLyBFbXMgYmVjYXVzZSB3ZSdyZSBhdHRlbXB0aW5nIHRvIG1hdGNoIHRoZSB3aWR0aCBvZiBhIHNwYWNlIGNoYXJhY3Rlci4gTGVmdFxuLy8gdmVyc2lvbiBpcyBmb3IgZm9ybSBidXR0b25zLCB3aGljaCB0eXBpY2FsbHkgY29tZSBhZnRlciBvdGhlciBlbGVtZW50cywgYW5kXG4vLyByaWdodCB2ZXJzaW9uIGlzIGZvciBpY29ucywgd2hpY2ggY29tZSBiZWZvcmUuIEFwcGx5aW5nIGJvdGggaXMgb2ssIGJ1dCBpdCB3aWxsXG4vLyBtZWFuIHRoYXQgc3BhY2UgYmV0d2VlbiB0aG9zZSBlbGVtZW50cyB3aWxsIGJlIC42ZW0gKH4yIHNwYWNlIGNoYXJhY3RlcnMpIGluIElFNyxcbi8vIGluc3RlYWQgb2YgdGhlIDEgc3BhY2UgaW4gb3RoZXIgYnJvd3NlcnMuXG4uaWU3LXJlc3RvcmUtbGVmdC13aGl0ZXNwYWNlKCkge1xuICAqbWFyZ2luLWxlZnQ6IC4zZW07XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgKm1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbi5pZTctcmVzdG9yZS1yaWdodC13aGl0ZXNwYWNlKCkge1xuICAqbWFyZ2luLXJpZ2h0OiAuM2VtO1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgKm1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbi8vIFNpemluZyBzaG9ydGN1dHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5zaXplKEBoZWlnaHQsIEB3aWR0aCkge1xuICB3aWR0aDogQHdpZHRoO1xuICBoZWlnaHQ6IEBoZWlnaHQ7XG59XG4uc3F1YXJlKEBzaXplKSB7XG4gIC5zaXplKEBzaXplLCBAc2l6ZSk7XG59XG5cbi8vIFBsYWNlaG9sZGVyIHRleHRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5wbGFjZWhvbGRlcihAY29sb3I6IEBwbGFjZWhvbGRlclRleHQpIHtcbiAgJjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogQGNvbG9yO1xuICB9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogQGNvbG9yO1xuICB9XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiBAY29sb3I7XG4gIH1cbn1cblxuLy8gVGV4dCBvdmVyZmxvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xuLnRleHQtb3ZlcmZsb3coKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG5cbi8vIEZPTlRTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4jZm9udCB7XG4gICNmYW1pbHkge1xuICAgIC5zZXJpZigpIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBAc2VyaWZGb250RmFtaWx5O1xuICAgIH1cbiAgICAuc2Fucy1zZXJpZigpIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBAc2Fuc0ZvbnRGYW1pbHk7XG4gICAgfVxuICAgIC5tb25vc3BhY2UoKSB7XG4gICAgICBmb250LWZhbWlseTogQG1vbm9Gb250RmFtaWx5O1xuICAgIH1cbiAgfVxuICAuc2hvcnRoYW5kKEBzaXplOiBAYmFzZUZvbnRTaXplLCBAd2VpZ2h0OiBub3JtYWwsIEBsaW5lSGVpZ2h0OiBAYmFzZUxpbmVIZWlnaHQpIHtcbiAgICBmb250LXNpemU6IEBzaXplO1xuICAgIGZvbnQtd2VpZ2h0OiBAd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiBAbGluZUhlaWdodDtcbiAgfVxuICAuc2VyaWYoQHNpemU6IEBiYXNlRm9udFNpemUsIEB3ZWlnaHQ6IG5vcm1hbCwgQGxpbmVIZWlnaHQ6IEBiYXNlTGluZUhlaWdodCkge1xuICAgICNmb250ID4gI2ZhbWlseSA+IC5zZXJpZjtcbiAgICAjZm9udCA+IC5zaG9ydGhhbmQoQHNpemUsIEB3ZWlnaHQsIEBsaW5lSGVpZ2h0KTtcbiAgfVxuICAuc2Fucy1zZXJpZihAc2l6ZTogQGJhc2VGb250U2l6ZSwgQHdlaWdodDogbm9ybWFsLCBAbGluZUhlaWdodDogQGJhc2VMaW5lSGVpZ2h0KSB7XG4gICAgI2ZvbnQgPiAjZmFtaWx5ID4gLnNhbnMtc2VyaWY7XG4gICAgI2ZvbnQgPiAuc2hvcnRoYW5kKEBzaXplLCBAd2VpZ2h0LCBAbGluZUhlaWdodCk7XG4gIH1cbiAgLm1vbm9zcGFjZShAc2l6ZTogQGJhc2VGb250U2l6ZSwgQHdlaWdodDogbm9ybWFsLCBAbGluZUhlaWdodDogQGJhc2VMaW5lSGVpZ2h0KSB7XG4gICAgI2ZvbnQgPiAjZmFtaWx5ID4gLm1vbm9zcGFjZTtcbiAgICAjZm9udCA+IC5zaG9ydGhhbmQoQHNpemUsIEB3ZWlnaHQsIEBsaW5lSGVpZ2h0KTtcbiAgfVxufVxuXG5cbi8vIEZPUk1TXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBNaXhpbiBmb3IgZm9ybSBmaWVsZCBzdGF0ZXNcbi5mb3JtRmllbGRTdGF0ZShAdGV4dENvbG9yOiAjNTU1LCBAYm9yZGVyQ29sb3I6ICNjY2MsIEBiYWNrZ3JvdW5kQ29sb3I6ICNmNWY1ZjUpIHtcbiAgLy8gU2V0IHRoZSB0ZXh0IGNvbG9yXG4gID4gbGFiZWwsXG4gIC5oZWxwLWJsb2NrLFxuICAuaGVscC1pbmxpbmUge1xuICAgIGNvbG9yOiBAdGV4dENvbG9yO1xuICB9XG4gIC8vIFN0eWxlIGlucHV0cyBhY2NvcmRpbmdseVxuICAuY2hlY2tib3gsXG4gIC5yYWRpbyxcbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGNvbG9yOiBAdGV4dENvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogQGJvcmRlckNvbG9yO1xuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oQGJvcmRlckNvbG9yLCAxMCUpO1xuICAgICAgLmJveC1zaGFkb3coMCAwIDZweCBsaWdodGVuKEBib3JkZXJDb2xvciwgMjAlKSk7XG4gICAgfVxuICB9XG4gIC8vIEdpdmUgYSBzbWFsbCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBpbnB1dC1wcmVwZW5kLy1hcHBlbmRcbiAgLmlucHV0LXByZXBlbmQgLmFkZC1vbixcbiAgLmlucHV0LWFwcGVuZCAuYWRkLW9uIHtcbiAgICBjb2xvcjogQHRleHRDb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmFja2dyb3VuZENvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogQHRleHRDb2xvcjtcbiAgfVxufVxuXG5cblxuLy8gQ1NTMyBQUk9QRVJUSUVTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBCb3JkZXIgUmFkaXVzXG4uYm9yZGVyLXJhZGl1cyhAcmFkaXVzKSB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogQHJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiBAcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IEByYWRpdXM7XG59XG5cbi8vIERyb3Agc2hhZG93c1xuLmJveC1zaGFkb3coQHNoYWRvdykge1xuICAtd2Via2l0LWJveC1zaGFkb3c6IEBzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogQHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiBAc2hhZG93O1xufVxuXG4vLyBUcmFuc2l0aW9uc1xuLnRyYW5zaXRpb24oQHRyYW5zaXRpb24pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbiAgICAgLW1vei10cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbiAgICAgIC1tcy10cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbiAgICAgICAtby10cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbn1cblxuLy8gVHJhbnNmb3JtYXRpb25zXG4ucm90YXRlKEBkZWdyZWVzKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoQGRlZ3JlZXMpO1xuICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKEBkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZShAZGVncmVlcyk7XG4gICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoQGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKEBkZWdyZWVzKTtcbn1cbi5zY2FsZShAcmF0aW8pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKEByYXRpbyk7XG4gICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZShAcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoQHJhdGlvKTtcbiAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlKEByYXRpbyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZShAcmF0aW8pO1xufVxuLnRyYW5zbGF0ZShAeCwgQHkpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZShAeCwgQHkpO1xuICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5KTtcbiAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZShAeCwgQHkpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSk7XG59XG4uc2tldyhAeCwgQHkpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoQHgsIEB5KTtcbiAgICAgLW1vei10cmFuc2Zvcm06IHNrZXcoQHgsIEB5KTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNrZXcoQHgsIEB5KTtcbiAgICAgICAtby10cmFuc2Zvcm06IHNrZXcoQHgsIEB5KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoQHgsIEB5KTtcbn1cbi50cmFuc2xhdGUzZChAeCwgQHksIEB6KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5LCBAeik7XG4gICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5LCBAeik7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5LCBAeik7XG4gICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5LCBAeik7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5LCBAeik7XG59XG5cbi8vIEJhY2tmYWNlIHZpc2liaWxpdHlcbi8vIFByZXZlbnQgYnJvd3NlcnMgZnJvbSBmbGlja2VyaW5nIHdoZW4gdXNpbmcgQ1NTIDNEIHRyYW5zZm9ybXMuXG4vLyBEZWZhdWx0IHZhbHVlIGlzIGB2aXNpYmxlYCwgYnV0IGNhbiBiZSBjaGFuZ2VkIHRvIGBoaWRkZW5cbi8vIFNlZSBnaXQgcHVsbCBodHRwczovL2dpdGh1Yi5jb20vZGFubnlrZWFuZS9ib290c3RyYXAuZ2l0IGJhY2tmYWNlLXZpc2liaWxpdHkgZm9yIGV4YW1wbGVzXG4uYmFja2ZhY2UtdmlzaWJpbGl0eShAdmlzaWJpbGl0eSl7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogQHZpc2liaWxpdHk7XG4gICAgIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogQHZpc2liaWxpdHk7XG4gICAgICAtbXMtYmFja2ZhY2UtdmlzaWJpbGl0eTogQHZpc2liaWxpdHk7XG4gICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogQHZpc2liaWxpdHk7XG59XG5cbi8vIEJhY2tncm91bmQgY2xpcHBpbmdcbi8vIEhlYWRzIHVwOiBGRiAzLjYgYW5kIHVuZGVyIG5lZWQgXCJwYWRkaW5nXCIgaW5zdGVhZCBvZiBcInBhZGRpbmctYm94XCJcbi5iYWNrZ3JvdW5kLWNsaXAoQGNsaXApIHtcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IEBjbGlwO1xuICAgICAtbW96LWJhY2tncm91bmQtY2xpcDogQGNsaXA7XG4gICAgICAgICAgYmFja2dyb3VuZC1jbGlwOiBAY2xpcDtcbn1cblxuLy8gQmFja2dyb3VuZCBzaXppbmdcbi5iYWNrZ3JvdW5kLXNpemUoQHNpemUpe1xuICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogQHNpemU7XG4gICAgIC1tb3otYmFja2dyb3VuZC1zaXplOiBAc2l6ZTtcbiAgICAgICAtby1iYWNrZ3JvdW5kLXNpemU6IEBzaXplO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogQHNpemU7XG59XG5cblxuLy8gQm94IHNpemluZ1xuLmJveC1zaXppbmcoQGJveG1vZGVsKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogQGJveG1vZGVsO1xuICAgICAtbW96LWJveC1zaXppbmc6IEBib3htb2RlbDtcbiAgICAgIC1tcy1ib3gtc2l6aW5nOiBAYm94bW9kZWw7XG4gICAgICAgICAgYm94LXNpemluZzogQGJveG1vZGVsO1xufVxuXG4vLyBVc2VyIHNlbGVjdFxuLy8gRm9yIHNlbGVjdGluZyB0ZXh0IG9uIHRoZSBwYWdlXG4udXNlci1zZWxlY3QoQHNlbGVjdCkge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBAc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiBAc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiBAc2VsZWN0O1xuICAgICAgIC1vLXVzZXItc2VsZWN0OiBAc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiBAc2VsZWN0O1xufVxuXG4vLyBSZXNpemUgYW55dGhpbmdcbi5yZXNpemFibGUoQGRpcmVjdGlvbikge1xuICByZXNpemU6IEBkaXJlY3Rpb247IC8vIE9wdGlvbnM6IGhvcml6b250YWwsIHZlcnRpY2FsLCBib3RoXG4gIG92ZXJmbG93OiBhdXRvOyAvLyBTYWZhcmkgZml4XG59XG5cbi8vIENTUzMgQ29udGVudCBDb2x1bW5zXG4uY29udGVudC1jb2x1bW5zKEBjb2x1bW5Db3VudCwgQGNvbHVtbkdhcDogQGdyaWRHdXR0ZXJXaWR0aCkge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogQGNvbHVtbkNvdW50O1xuICAgICAtbW96LWNvbHVtbi1jb3VudDogQGNvbHVtbkNvdW50O1xuICAgICAgICAgIGNvbHVtbi1jb3VudDogQGNvbHVtbkNvdW50O1xuICAtd2Via2l0LWNvbHVtbi1nYXA6IEBjb2x1bW5HYXA7XG4gICAgIC1tb3otY29sdW1uLWdhcDogQGNvbHVtbkdhcDtcbiAgICAgICAgICBjb2x1bW4tZ2FwOiBAY29sdW1uR2FwO1xufVxuXG4vLyBPcHRpb25hbCBoeXBoZW5hdGlvblxuLmh5cGhlbnMoQG1vZGU6IGF1dG8pIHtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAtd2Via2l0LWh5cGhlbnM6IEBtb2RlO1xuICAgICAtbW96LWh5cGhlbnM6IEBtb2RlO1xuICAgICAgLW1zLWh5cGhlbnM6IEBtb2RlO1xuICAgICAgIC1vLWh5cGhlbnM6IEBtb2RlO1xuICAgICAgICAgIGh5cGhlbnM6IEBtb2RlO1xufVxuXG4vLyBPcGFjaXR5XG4ub3BhY2l0eShAb3BhY2l0eSkge1xuICBvcGFjaXR5OiBAb3BhY2l0eSAvIDEwMDtcbiAgZmlsdGVyOiB+XCJhbHBoYShvcGFjaXR5PUB7b3BhY2l0eX0pXCI7XG59XG5cblxuXG4vLyBCQUNLR1JPVU5EU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQWRkIGFuIGFscGhhdHJhbnNwYXJlbmN5IHZhbHVlIHRvIGFueSBiYWNrZ3JvdW5kIG9yIGJvcmRlciBjb2xvciAodmlhIEVseXNlIEhvbGxhZGF5KVxuI3RyYW5zbHVjZW50IHtcbiAgLmJhY2tncm91bmQoQGNvbG9yOiBAd2hpdGUsIEBhbHBoYTogMSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGhzbGEoaHVlKEBjb2xvciksIHNhdHVyYXRpb24oQGNvbG9yKSwgbGlnaHRuZXNzKEBjb2xvciksIEBhbHBoYSk7XG4gIH1cbiAgLmJvcmRlcihAY29sb3I6IEB3aGl0ZSwgQGFscGhhOiAxKSB7XG4gICAgYm9yZGVyLWNvbG9yOiBoc2xhKGh1ZShAY29sb3IpLCBzYXR1cmF0aW9uKEBjb2xvciksIGxpZ2h0bmVzcyhAY29sb3IpLCBAYWxwaGEpO1xuICAgIC5iYWNrZ3JvdW5kLWNsaXAocGFkZGluZy1ib3gpO1xuICB9XG59XG5cbi8vIEdyYWRpZW50IEJhciBDb2xvcnMgZm9yIGJ1dHRvbnMgYW5kIGFsZXJ0c1xuLmdyYWRpZW50QmFyKEBwcmltYXJ5Q29sb3IsIEBzZWNvbmRhcnlDb2xvcikge1xuICAjZ3JhZGllbnQgPiAudmVydGljYWwoQHByaW1hcnlDb2xvciwgQHNlY29uZGFyeUNvbG9yKTtcbiAgYm9yZGVyLWNvbG9yOiBAc2Vjb25kYXJ5Q29sb3IgQHNlY29uZGFyeUNvbG9yIGRhcmtlbihAc2Vjb25kYXJ5Q29sb3IsIDE1JSk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLDAsMCwuMSkgcmdiYSgwLDAsMCwuMSkgZmFkZWluKHJnYmEoMCwwLDAsLjEpLCAxNSUpO1xufVxuXG4vLyBHcmFkaWVudHNcbiNncmFkaWVudCB7XG4gIC5ob3Jpem9udGFsKEBzdGFydENvbG9yOiAjNTU1LCBAZW5kQ29sb3I6ICMzMzMpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZW5kQ29sb3I7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7IC8vIEZGIDMuNitcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBJRTEwXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMCwgMTAwJSAwLCBmcm9tKEBzdGFydENvbG9yKSwgdG8oQGVuZENvbG9yKSk7IC8vIFNhZmFyaSA0KywgQ2hyb21lIDIrXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7IC8vIFNhZmFyaSA1LjErLCBDaHJvbWUgMTArXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBPcGVyYSAxMS4xMFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChsZWZ0LCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTsgLy8gTGUgc3RhbmRhcmRcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgZmlsdGVyOiBlKCUoXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nJWQnLCBlbmRDb2xvcnN0cj0nJWQnLCBHcmFkaWVudFR5cGU9MSlcIixAc3RhcnRDb2xvcixAZW5kQ29sb3IpKTsgLy8gSUU5IGFuZCBkb3duXG4gIH1cbiAgLnZlcnRpY2FsKEBzdGFydENvbG9yOiAjNTU1LCBAZW5kQ29sb3I6ICMzMzMpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoQHN0YXJ0Q29sb3IsIEBlbmRDb2xvciwgNjAlKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBGRiAzLjYrXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBJRTEwXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMCwgMCAxMDAlLCBmcm9tKEBzdGFydENvbG9yKSwgdG8oQGVuZENvbG9yKSk7IC8vIFNhZmFyaSA0KywgQ2hyb21lIDIrXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTsgLy8gU2FmYXJpIDUuMSssIENocm9tZSAxMCtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTsgLy8gT3BlcmEgMTEuMTBcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG9wLCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTsgLy8gVGhlIHN0YW5kYXJkXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGZpbHRlcjogZSglKFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyVkJywgZW5kQ29sb3JzdHI9JyVkJywgR3JhZGllbnRUeXBlPTApXCIsQHN0YXJ0Q29sb3IsQGVuZENvbG9yKSk7IC8vIElFOSBhbmQgZG93blxuICB9XG4gIC5kaXJlY3Rpb25hbChAc3RhcnRDb2xvcjogIzU1NSwgQGVuZENvbG9yOiAjMzMzLCBAZGVnOiA0NWRlZykge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBlbmRDb2xvcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQoQGRlZywgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7IC8vIEZGIDMuNitcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KEBkZWcsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBJRTEwXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoQGRlZywgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7IC8vIFNhZmFyaSA1LjErLCBDaHJvbWUgMTArXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KEBkZWcsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBPcGVyYSAxMS4xMFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChAZGVnLCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTsgLy8gVGhlIHN0YW5kYXJkXG4gIH1cbiAgLnZlcnRpY2FsLXRocmVlLWNvbG9ycyhAc3RhcnRDb2xvcjogIzAwYjNlZSwgQG1pZENvbG9yOiAjN2E0M2I2LCBAY29sb3JTdG9wOiA1MCUsIEBlbmRDb2xvcjogI2MzMzI1Zikge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1peChAbWlkQ29sb3IsIEBlbmRDb2xvciwgODAlKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAwLCAwIDEwMCUsIGZyb20oQHN0YXJ0Q29sb3IpLCBjb2xvci1zdG9wKEBjb2xvclN0b3AsIEBtaWRDb2xvciksIHRvKEBlbmRDb2xvcikpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KEBzdGFydENvbG9yLCBAbWlkQ29sb3IgQGNvbG9yU3RvcCwgQGVuZENvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIEBzdGFydENvbG9yLCBAbWlkQ29sb3IgQGNvbG9yU3RvcCwgQGVuZENvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KEBzdGFydENvbG9yLCBAbWlkQ29sb3IgQGNvbG9yU3RvcCwgQGVuZENvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoQHN0YXJ0Q29sb3IsIEBtaWRDb2xvciBAY29sb3JTdG9wLCBAZW5kQ29sb3IpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChAc3RhcnRDb2xvciwgQG1pZENvbG9yIEBjb2xvclN0b3AsIEBlbmRDb2xvcik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBmaWx0ZXI6IGUoJShcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSclZCcsIGVuZENvbG9yc3RyPSclZCcsIEdyYWRpZW50VHlwZT0wKVwiLEBzdGFydENvbG9yLEBlbmRDb2xvcikpOyAvLyBJRTkgYW5kIGRvd24sIGdldHMgbm8gY29sb3Itc3RvcCBhdCBhbGwgZm9yIHByb3BlciBmYWxsYmFja1xuICB9XG4gIC5yYWRpYWwoQGlubmVyQ29sb3I6ICM1NTUsIEBvdXRlckNvbG9yOiAjMzMzKSAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBvdXRlckNvbG9yO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQocmFkaWFsLCBjZW50ZXIgY2VudGVyLCAwLCBjZW50ZXIgY2VudGVyLCA0NjAsIGZyb20oQGlubmVyQ29sb3IpLCB0byhAb3V0ZXJDb2xvcikpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgQGlubmVyQ29sb3IsIEBvdXRlckNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LXJhZGlhbC1ncmFkaWVudChjaXJjbGUsIEBpbm5lckNvbG9yLCBAb3V0ZXJDb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1zLXJhZGlhbC1ncmFkaWVudChjaXJjbGUsIEBpbm5lckNvbG9yLCBAb3V0ZXJDb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgQGlubmVyQ29sb3IsIEBvdXRlckNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB9XG4gIC5zdHJpcGVkKEBjb2xvciwgQGFuZ2xlOiAtNDVkZWcpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3I7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMTAwJSwgMTAwJSAwLCBjb2xvci1zdG9wKC4yNSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpKSwgY29sb3Itc3RvcCguMjUsIHRyYW5zcGFyZW50KSwgY29sb3Itc3RvcCguNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKC41LCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkpLCBjb2xvci1zdG9wKC43NSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpKSwgY29sb3Itc3RvcCguNzUsIHRyYW5zcGFyZW50KSwgdG8odHJhbnNwYXJlbnQpKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChAYW5nbGUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNTAlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChAYW5nbGUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNTAlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KEBhbmdsZSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA1MCUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChAYW5nbGUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNTAlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoQGFuZ2xlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gIH1cbn1cbi8vIFJlc2V0IGZpbHRlcnMgZm9yIElFXG4ucmVzZXQtZmlsdGVyKCkge1xuICBmaWx0ZXI6IGUoJShcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChlbmFibGVkID0gZmFsc2UpXCIpKTtcbn1cblxuXG5cbi8vIENPTVBPTkVOVCBNSVhJTlNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEJ1dHRvbiBiYWNrZ3JvdW5kc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG4uYnV0dG9uQmFja2dyb3VuZChAc3RhcnRDb2xvciwgQGVuZENvbG9yKSB7XG4gIC8vIGdyYWRpZW50QmFyIHdpbGwgc2V0IHRoZSBiYWNrZ3JvdW5kIHRvIGEgcGxlYXNpbmcgYmxlbmQgb2YgdGhlc2UsIHRvIHN1cHBvcnQgSUU8PTlcbiAgLmdyYWRpZW50QmFyKEBzdGFydENvbG9yLCBAZW5kQ29sb3IpO1xuICAqYmFja2dyb3VuZC1jb2xvcjogQGVuZENvbG9yOyAvKiBEYXJrZW4gSUU3IGJ1dHRvbnMgYnkgZGVmYXVsdCBzbyB0aGV5IHN0YW5kIG91dCBtb3JlIGdpdmVuIHRoZXkgd29uJ3QgaGF2ZSBib3JkZXJzICovXG4gIC5yZXNldC1maWx0ZXIoKTtcblxuICAvLyBpbiB0aGVzZSBjYXNlcyB0aGUgZ3JhZGllbnQgd29uJ3QgY292ZXIgdGhlIGJhY2tncm91bmQsIHNvIHdlIG92ZXJyaWRlXG4gICY6aG92ZXIsICY6YWN0aXZlLCAmLmFjdGl2ZSwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBlbmRDb2xvcjtcbiAgICAqYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBlbmRDb2xvciwgNSUpO1xuICB9XG5cbiAgLy8gSUUgNyArIDggY2FuJ3QgaGFuZGxlIGJveC1zaGFkb3cgdG8gc2hvdyBhY3RpdmUsIHNvIHdlIGRhcmtlbiBhIGJpdCBvdXJzZWx2ZXNcbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQGVuZENvbG9yLCAxMCUpIGUoXCJcXDlcIik7XG4gIH1cbn1cblxuLy8gTmF2YmFyIHZlcnRpY2FsIGFsaWduXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBWZXJ0aWNhbGx5IGNlbnRlciBlbGVtZW50cyBpbiB0aGUgbmF2YmFyLlxuLy8gRXhhbXBsZTogYW4gZWxlbWVudCBoYXMgYSBoZWlnaHQgb2YgMzBweCwgc28gd3JpdGUgb3V0IGAubmF2YmFyVmVydGljYWxBbGlnbigzMHB4KTtgIHRvIGNhbGN1bGF0ZSB0aGUgYXBwcm9wcmlhdGUgdG9wIG1hcmdpbi5cbi5uYXZiYXJWZXJ0aWNhbEFsaWduKEBlbGVtZW50SGVpZ2h0KSB7XG4gIG1hcmdpbi10b3A6IChAbmF2YmFySGVpZ2h0IC0gQGVsZW1lbnRIZWlnaHQpIC8gMjtcbn1cblxuLy8gUG9wb3ZlciBhcnJvd3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEZvciB0aXBzaWVzIGFuZCBwb3BvdmVyc1xuI3BvcG92ZXJBcnJvdyB7XG4gIC50b3AoQGFycm93V2lkdGg6IDVweCwgQGNvbG9yOiBAYmxhY2spIHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtQGFycm93V2lkdGg7XG4gICAgYm9yZGVyLWxlZnQ6IEBhcnJvd1dpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogQGFycm93V2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcDogQGFycm93V2lkdGggc29saWQgQGNvbG9yO1xuICB9XG4gIC5sZWZ0KEBhcnJvd1dpZHRoOiA1cHgsIEBjb2xvcjogQGJsYWNrKSB7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWFyZ2luLXRvcDogLUBhcnJvd1dpZHRoO1xuICAgIGJvcmRlci10b3A6IEBhcnJvd1dpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IEBhcnJvd1dpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1sZWZ0OiBAYXJyb3dXaWR0aCBzb2xpZCBAY29sb3I7XG4gIH1cbiAgLmJvdHRvbShAYXJyb3dXaWR0aDogNXB4LCBAY29sb3I6IEBibGFjaykge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC1AYXJyb3dXaWR0aDtcbiAgICBib3JkZXItbGVmdDogQGFycm93V2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiBAYXJyb3dXaWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiBAYXJyb3dXaWR0aCBzb2xpZCBAY29sb3I7XG4gIH1cbiAgLnJpZ2h0KEBhcnJvd1dpZHRoOiA1cHgsIEBjb2xvcjogQGJsYWNrKSB7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiAtQGFycm93V2lkdGg7XG4gICAgYm9yZGVyLXRvcDogQGFycm93V2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogQGFycm93V2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiBAYXJyb3dXaWR0aCBzb2xpZCBAY29sb3I7XG4gIH1cbn1cblxuLy8gR3JpZCBTeXN0ZW1cbi8vIC0tLS0tLS0tLS0tXG5cbi8vIENlbnRlcmVkIGNvbnRhaW5lciBlbGVtZW50XG4uY29udGFpbmVyLWZpeGVkKCkge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAuY2xlYXJmaXgoKTtcbn1cblxuLy8gVGFibGUgY29sdW1uc1xuLnRhYmxlQ29sdW1ucyhAY29sdW1uU3BhbjogMSkge1xuICBmbG9hdDogbm9uZTsgLy8gdW5kbyBkZWZhdWx0IGdyaWQgY29sdW1uIHN0eWxlc1xuICB3aWR0aDogKChAZmx1aWRHcmlkQ29sdW1uV2lkdGgpICogQGNvbHVtblNwYW4pICsgKEBmbHVpZEdyaWRHdXR0ZXJXaWR0aCAqIChAY29sdW1uU3BhbiAtIDEpKSAtIDE2OyAvLyAxNiBpcyB0b3RhbCBwYWRkaW5nIG9uIGxlZnQgYW5kIHJpZ2h0IG9mIHRhYmxlIGNlbGxzXG4gIG1hcmdpbi1sZWZ0OiAwOyAvLyB1bmRvIGRlZmF1bHQgZ3JpZCBjb2x1bW4gc3R5bGVzXG59XG5cbi8vIE1ha2UgYSBHcmlkXG4vLyBVc2UgLm1ha2VSb3cgYW5kIC5tYWtlQ29sdW1uIHRvIGFzc2lnbiBzZW1hbnRpYyBsYXlvdXRzIGdyaWQgc3lzdGVtIGJlaGF2aW9yXG4ubWFrZVJvdygpIHtcbiAgbWFyZ2luLWxlZnQ6IEBncmlkR3V0dGVyV2lkdGggKiAtMTtcbiAgLmNsZWFyZml4KCk7XG59XG4ubWFrZUNvbHVtbihAY29sdW1uczogMSwgQG9mZnNldDogMCkge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWxlZnQ6IChAZ3JpZENvbHVtbldpZHRoICogQG9mZnNldCkgKyAoQGdyaWRHdXR0ZXJXaWR0aCAqIChAb2Zmc2V0IC0gMSkpICsgKEBncmlkR3V0dGVyV2lkdGggKiAyKTtcbiAgd2lkdGg6IChAZ3JpZENvbHVtbldpZHRoICogQGNvbHVtbnMpICsgKEBncmlkR3V0dGVyV2lkdGggKiAoQGNvbHVtbnMgLSAxKSk7XG59XG5cbi8vIFRoZSBHcmlkXG4jZ3JpZCB7XG5cbiAgLmNvcmUgKEBncmlkQ29sdW1uV2lkdGgsIEBncmlkR3V0dGVyV2lkdGgpIHtcblxuICAgIC5zcGFuWCAoQGluZGV4KSB3aGVuIChAaW5kZXggPiAwKSB7XG4gICAgICAuc3BhbkB7aW5kZXh9IHsgLnNwYW4oQGluZGV4KTsgfVxuICAgICAgLnNwYW5YKEBpbmRleCAtIDEpO1xuICAgIH1cbiAgICAuc3BhblggKDApIHt9XG5cbiAgICAub2Zmc2V0WCAoQGluZGV4KSB3aGVuIChAaW5kZXggPiAwKSB7XG4gICAgICAub2Zmc2V0QHtpbmRleH0geyAub2Zmc2V0KEBpbmRleCk7IH1cbiAgICAgIC5vZmZzZXRYKEBpbmRleCAtIDEpO1xuICAgIH1cbiAgICAub2Zmc2V0WCAoMCkge31cblxuICAgIC5vZmZzZXQgKEBjb2x1bW5zKSB7XG4gICAgICBtYXJnaW4tbGVmdDogKEBncmlkQ29sdW1uV2lkdGggKiBAY29sdW1ucykgKyAoQGdyaWRHdXR0ZXJXaWR0aCAqIChAY29sdW1ucyArIDEpKTtcbiAgICB9XG5cbiAgICAuc3BhbiAoQGNvbHVtbnMpIHtcbiAgICAgIHdpZHRoOiAoQGdyaWRDb2x1bW5XaWR0aCAqIEBjb2x1bW5zKSArIChAZ3JpZEd1dHRlcldpZHRoICogKEBjb2x1bW5zIC0gMSkpO1xuICAgIH1cblxuICAgIC5yb3cge1xuICAgICAgbWFyZ2luLWxlZnQ6IEBncmlkR3V0dGVyV2lkdGggKiAtMTtcbiAgICAgIC5jbGVhcmZpeCgpO1xuICAgIH1cblxuICAgIFtjbGFzcyo9XCJzcGFuXCJdIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLWxlZnQ6IEBncmlkR3V0dGVyV2lkdGg7XG4gICAgfVxuXG4gICAgLy8gU2V0IHRoZSBjb250YWluZXIgd2lkdGgsIGFuZCBvdmVycmlkZSBpdCBmb3IgZml4ZWQgbmF2YmFycyBpbiBtZWRpYSBxdWVyaWVzXG4gICAgLmNvbnRhaW5lcixcbiAgICAubmF2YmFyLWZpeGVkLXRvcCAuY29udGFpbmVyLFxuICAgIC5uYXZiYXItZml4ZWQtYm90dG9tIC5jb250YWluZXIgeyAuc3BhbihAZ3JpZENvbHVtbnMpOyB9XG5cbiAgICAvLyBnZW5lcmF0ZSAuc3BhblggYW5kIC5vZmZzZXRYXG4gICAgLnNwYW5YIChAZ3JpZENvbHVtbnMpO1xuICAgIC5vZmZzZXRYIChAZ3JpZENvbHVtbnMpO1xuXG4gIH1cblxuICAuZmx1aWQgKEBmbHVpZEdyaWRDb2x1bW5XaWR0aCwgQGZsdWlkR3JpZEd1dHRlcldpZHRoKSB7XG5cbiAgICAuc3BhblggKEBpbmRleCkgd2hlbiAoQGluZGV4ID4gMCkge1xuICAgICAgLnNwYW5Ae2luZGV4fSB7IC5zcGFuKEBpbmRleCk7IH1cbiAgICAgIC5zcGFuWChAaW5kZXggLSAxKTtcbiAgICB9XG4gICAgLnNwYW5YICgwKSB7fVxuXG4gICAgLnNwYW4gKEBjb2x1bW5zKSB7XG4gICAgICB3aWR0aDogKEBmbHVpZEdyaWRDb2x1bW5XaWR0aCAqIEBjb2x1bW5zKSArIChAZmx1aWRHcmlkR3V0dGVyV2lkdGggKiAoQGNvbHVtbnMgLSAxKSk7XG4gICAgICAqd2lkdGg6IChAZmx1aWRHcmlkQ29sdW1uV2lkdGggKiBAY29sdW1ucykgKyAoQGZsdWlkR3JpZEd1dHRlcldpZHRoICogKEBjb2x1bW5zIC0gMSkpIC0gKC41IC8gQGdyaWRSb3dXaWR0aCAqIDEwMCAqIDElKTtcbiAgICB9XG5cbiAgICAucm93LWZsdWlkIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgLmNsZWFyZml4KCk7XG4gICAgICBbY2xhc3MqPVwic3BhblwiXSB7XG4gICAgICAgIC5pbnB1dC1ibG9jay1sZXZlbCgpO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEBmbHVpZEdyaWRHdXR0ZXJXaWR0aDtcbiAgICAgICAgKm1hcmdpbi1sZWZ0OiBAZmx1aWRHcmlkR3V0dGVyV2lkdGggLSAoLjUgLyBAZ3JpZFJvd1dpZHRoICogMTAwICogMSUpO1xuICAgICAgfVxuICAgICAgW2NsYXNzKj1cInNwYW5cIl06Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgLy8gZ2VuZXJhdGUgLnNwYW5YXG4gICAgICAuc3BhblggKEBncmlkQ29sdW1ucyk7XG4gICAgfVxuXG4gIH1cblxuICAuaW5wdXQoQGdyaWRDb2x1bW5XaWR0aCwgQGdyaWRHdXR0ZXJXaWR0aCkge1xuXG4gICAgLnNwYW5YIChAaW5kZXgpIHdoZW4gKEBpbmRleCA+IDApIHtcbiAgICAgIGlucHV0LnNwYW5Ae2luZGV4fSwgdGV4dGFyZWEuc3BhbkB7aW5kZXh9LCAudW5lZGl0YWJsZS1pbnB1dC5zcGFuQHtpbmRleH0geyAuc3BhbihAaW5kZXgpOyB9XG4gICAgICAuc3BhblgoQGluZGV4IC0gMSk7XG4gICAgfVxuICAgIC5zcGFuWCAoMCkge31cblxuICAgIC5zcGFuKEBjb2x1bW5zKSB7XG4gICAgICB3aWR0aDogKChAZ3JpZENvbHVtbldpZHRoKSAqIEBjb2x1bW5zKSArIChAZ3JpZEd1dHRlcldpZHRoICogKEBjb2x1bW5zIC0gMSkpIC0gMTA7XG4gICAgfVxuXG4gICAgaW5wdXQsXG4gICAgdGV4dGFyZWEsXG4gICAgLnVuZWRpdGFibGUtaW5wdXQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IC8vIG92ZXJyaWRlIG1hcmdpbi1sZWZ0IGZyb20gY29yZSBncmlkIHN5c3RlbVxuICAgIH1cblxuICAgIC8vIGdlbmVyYXRlIC5zcGFuWFxuICAgIC5zcGFuWCAoQGdyaWRDb2x1bW5zKTtcblxuICB9XG5cbn1cblxuLmRhcmtMaWdodCAoQGEpIHdoZW4gKGxpZ2h0bmVzcyhAYSkgPj0gNTAlKSB7XG4gIGNvbG9yOiBAZ3JheURhcmtlcjtcbn1cbi5kYXJrTGlnaHQgKEBhKSB3aGVuIChsaWdodG5lc3MoQGEpIDwgNTAlKSB7XG4gIGNvbG9yOiBAd2hpdGU7XG59XG4iLCJodG1sLm5hdi1vcGVuLFxuaHRtbC5uYXYtb3BlbiBib2R5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5uYXZiYXIge1xuICAvLyBGaXggZm9yIElFNydzIGJhZCB6LWluZGV4aW5nIHNvIGRyb3Bkb3ducyBkb24ndFxuICAvLyBhcHBlYXIgYmVsb3cgY29udGVudCB0aGF0IGZvbGxvd3MgdGhlIG5hdmJhclxuICAqcG9zaXRpb246IHJlbGF0aXZlO1xuICAqei1pbmRleDogMjtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIG1hcmdpbi1ib3R0b206IEBiYXNlbGluZSAvIDU7XG5cbiAgLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAudG9nZ2xlLW5hdi1iYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAubmF2YmFyLWlubmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyQmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIEJyYW5kLCBsaW5rcywgdGV4dCwgYW5kIGJ1dHRvbnNcbiAgY29sb3I6IEBuYXZiYXJUZXh0O1xuICBmb250LWZhbWlseTogQHNhbnNGb250RmFtaWx5O1xuXG4gIC8vIEhvdmVyIGFuZCBhY3RpdmUgc3RhdGVzXG4gIC8vIFBsYWluIHRleHQgaW4gdG9wYmFyXG4gIC5uYXZiYXItdGV4dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC8vIFNvY2lhbCBpY29ucyBhcHBlYXJpbmcgaW4gbWFpbiBvciBzdGlja3kgbmF2XG4gICNoZWFkZXItc29jaWFsIGxpID4gYSB7XG4gICAgcGFkZGluZy1sZWZ0OiA0cHg7XG4gICAgcGFkZGluZy1yaWdodDogNHB4O1xuICB9XG5cbiAgLy8gQ29tbW9uIG5hdiBsYXlvdXRcbiAgLm5hdiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiBAbmF2YmFyVGV4dDtcblxuICAgICYgPiBsaSA+IGEge1xuICAgICAgY29sb3I6IEBuYXZiYXJMaW5rQ29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSW5kaXZpZHVhbCBuYXYgbGlua3NcbiAgbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmID4gYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBAbmF2YmFySGVpZ2h0O1xuICAgICAgcGFkZGluZy1sZWZ0OiBAbmF2YmFySGVpZ2h0IC8gNDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IEBuYXZiYXJIZWlnaHQgLyA0O1xuICAgIH1cbiAgfVxuXG4gIC8vIERyb3Bkb3ducyB3aXRoaW4gbmF2XG4gIGxpLmRyb3Bkb3duID4gYSB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuICBsaS5kcm9wZG93biAuZHJvcGRvd24tbWVudSBsaSBhIHtcbiAgICBjb2xvcjogQG5hdmJhckxpbmtDb2xvcjtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiBAYmFzZUxpbmVIZWlnaHQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiBAbmF2YmFyTGlua0NvbG9ySG92ZXI7XG4gICAgfVxuICB9XG5cbiAgbGkgPiBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyTGlua0JhY2tncm91bmRBY3RpdmU7XG4gICAgY29sb3I6IEBuYXZiYXJMaW5rQ29sb3JIb3ZlcjtcblxuICAgIC5jYXJldDpiZWZvcmUge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogQG5hdmJhckRyb3Bkb3duQ2FyZXRDb2xvckhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN1YiBtZW51c1xuICAuc3ViLW1lbnU6YmVmb3JlLFxuICAuc3ViLXN1Yi1tZW51OmJlZm9yZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogOXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgIGJvcmRlci1yaWdodDogOXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICBib3JkZXItdG9wOiA5cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgbGVmdDogLTlweDtcbiAgICB0b3A6IDMwJTtcbiAgfVxuICAuc3ViLW1lbnU6YWZ0ZXIsXG4gIC5zdWItc3ViLW1lbnU6YWZ0ZXIge1xuICAgIGJvcmRlci10b3A6IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICBib3JkZXItcmlnaHQ6IDhweCBzb2xpZCBAd2hpdGU7XG4gICAgYm9yZGVyLWJvdHRvbTogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIHRvcDogMzElO1xuICAgIGxlZnQ6IC04cHg7XG4gIH1cblxuICAvLyBIb21lIGxpbmsgYW5kIGhvbWUgaWNvblxuICBsaS5ob21lLWljb24sXG4gIGxpLmhvbWUtbGluayB7XG4gICAgYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiBsaWdodGVuKEBsaW5rQ29sb3JIb3ZlciwgNSUpO1xuICAgIH1cbiAgfVxuXG4gIC5ob21lLWljb246aG92ZXIgaW1nLFxuICBsaS5ob21lLWxpbms6aG92ZXIgaSB7XG4gICAgLm9wYWNpdHkoODUpO1xuICB9XG5cbiAgbGkuaG9tZS1saW5rIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJiA+IGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIH1cblxuICAgICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogQG5hdmJhckhlaWdodDtcbiAgICAgICAgd2lkdGg6IEBuYXZiYXJIZWlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbGkuaG9tZS1pY29uID4gYSB7XG4gICAgcGFkZGluZzogMDtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGhlaWdodDogKEBuYXZiYXJIZWlnaHQgLSAxNnB4KTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gICAgfVxuICB9XG5cbiAgLy8gTmF2IHRvZ2dsZSAoYnVyZ2VyIGJ1dHRvbilcbiAgLmJ0bi1uYXZiYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcblxuICAgIC8vIEBpY29uYmFySGVpZ2h0IGlzIHVzZWQgNXg6IDN4IGZvciB0aGUgYmFycywgMnggZm9yIHRoZSBtYXJnaW4gYmV0d2VlbiB0aGVtLlxuICAgIHBhZGRpbmc6IChmbG9vcihAbmF2YmFySGVpZ2h0IC0gKDUgKiBAaWNvbmJhckhlaWdodCkpKSAvIDIgMTBweDtcblxuICAgIC5sYWJlbCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIG1hcmdpbjogLTJweCAwIDAgNXB4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZvbnQtc2l6ZTogQG5hdmJhckZvbnRTaXplO1xuICAgIH1cblxuICAgIC5uYXZiYXIgLmJ0bi1uYXZiYXIgLmJhcnMge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLmljb24tYmFyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICBoZWlnaHQ6IEBpY29uYmFySGVpZ2h0O1xuICAgIH1cblxuICAgIC5pY29uLWJhciArIC5pY29uLWJhciB7XG4gICAgICBtYXJnaW4tdG9wOiBAaWNvbmJhckhlaWdodDtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAubmF2LWxlZnQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIHN0eWxlcyBmb3IgLm5hdmJhclxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogOTtcblxuICAgIGxpLmRyb3Bkb3duIHtcbiAgICAgIC5kcm9wZG93bi1tZW51IGxpIGEge1xuICAgICAgICBsaW5lLWhlaWdodDogQG5hdmJhckhlaWdodDtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IEBuYXZiYXJIZWlnaHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLnRvZ2dsZS1uYXYtYmFyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5uYXYtc2hlbGYge1xuICAgICAgYmFja2dyb3VuZDogQGRyb3Bkb3duQmFja2dyb3VuZDtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgICAgIC5zaXRlLW5hbWUsIC5ob21lLWljb24sIC5ob21lLWxpbmsge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICB1bCwgbGkge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgIH1cblxuICAgICAgbGkuaG9tZS1saW5rIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgbGkgYi5jYXJldCB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgLnJvdGF0ZSggLTkwZGVnICk7XG4gICAgICB9XG5cbiAgICAgIGxpLm9wZW4gPiBhIC5jYXJldCB7XG4gICAgICAgIC5yb3RhdGUoIDBkZWcgKTtcbiAgICAgIH1cblxuICAgICAgbGkub3BlbiA+IHVsLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAuYm94LXNoYWRvdyggbm9uZSApO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5uYXYgPiBsaSB7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuXG4gICAgJi5vcGVuIC5uYXYtc2hlbGYge1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgQGdyYXlMaWdodGVyO1xuICAgIH1cblxuICAgIC5uYXYgbGkge1xuICAgICAgJi5ob21lLWxpbmssXG4gICAgICAmLnNpdGUtbmFtZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEdyYWRpZW50IGlzIGFwcGxpZWQgdG8gaXQncyBvd24gZWxlbWVudCBiZWNhdXNlIG92ZXJmbG93XG4vLyB2aXNpYmxlIGlzIG5vdCBob25vcmVkIGJ5IElFIHdoZW4gZmlsdGVyIGlzIHByZXNlbnRcbi5uYXZiYXItaW5uZXIge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8vIERyb3Bkb3duIGFycm93L2NhcmV0XG4uY2FyZXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IEBiYXNlRm9udFNpemU7XG4gIHBhZGRpbmc6IDAgKEBiYXNlRm9udFNpemUgLyAyKTtcbiAgdG9wOiAycHg7XG5cbiAgJjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItdG9wOiA2cHggc29saWQgQG5hdmJhckRyb3Bkb3duQ2FyZXRDb2xvcjtcbiAgICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206ICA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxufVxuXG4vLyBHZW5lcmFsIGRyb3Bkb3duL2Ryb3B1cCBzdHlsZXNcbi5kcm9wdXAsXG4uZHJvcGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLmNhcmV0IHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBAd2hpdGU7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogQHdoaXRlO1xuICB9XG5cbiAgJi5hY3RpdmUgLmNhcmV0IHtcbiAgICAub3BhY2l0eSgxMDApO1xuICB9XG59XG5cbi5kcm9wZG93bi10b2dnbGUge1xuICAvLyBUaGUgY2FyZXQgbWFrZXMgdGhlIHRvZ2dsZSBhIGJpdCB0b28gdGFsbCBpbiBJRTdcbiAgKm1hcmdpbi1ib3R0b206IC0zcHg7XG59XG5cbi8vIERyb3Bkb3duIG1lbnVcbi5kcm9wZG93bi1tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IEB6aW5kZXhEcm9wZG93bjtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1pbi13aWR0aDogMTYwcHg7XG4gIHBhZGRpbmc6IDNweCAwO1xuICBtYXJnaW46IDA7IC8vIG92ZXJyaWRlIGRlZmF1bHQgdWxcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGRyb3Bkb3duQmFja2dyb3VuZDtcbiAgYm9yZGVyOiAxcHggc29saWQgQGdyYXlMaWdodGVyO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMCwwLC4yKTtcbiAgKmJvcmRlci1yaWdodC13aWR0aDogMnB4O1xuICAqYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xuICAuYm94LXNoYWRvdygwIDVweCAxMHB4IHJnYmEoMCwwLDAsLjIpKTtcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAtbW96LWJhY2tncm91bmQtY2xpcDogcGFkZGluZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblxuICBsaSB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBMaW5rcyB3aXRoaW4gdGhlIGRyb3Bkb3duIG1lbnVcbiAgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmID4gYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgcGFkZGluZzogM3B4IDE1cHg7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBBY3RpdmUgbGlua3MvbWVudXMgd2l0aGluIGRyb3Bkb3duc1xuICAuYWN0aXZlID4gYSxcbiAgLmFjdGl2ZSA+IGE6aG92ZXIge1xuICAgIGNvbG9yOiBAbmF2YmFyTGlua0NvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBkcm9wZG93bkJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBUT0RPOiBXaGF0IGlzIHRoaXM/XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDEwcHggc29saWQgQGdyYXlMaWdodGVyO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IEBkcm9wZG93bkJvcmRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMTBweDtcbiAgICBsZWZ0OiA5cHg7XG4gIH1cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlci1sZWZ0OiA5cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiA5cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogOXB4IHNvbGlkIEBkcm9wZG93bkJhY2tncm91bmQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTlweDtcbiAgICBsZWZ0OiAxMHB4O1xuICB9XG5cbiAgLy8gQWRkIHN1cHBvcnQgZm9yIHNlY29uZCBsZXZlbCBkcm9wZG93biBtZW51c1xuICAuc3ViLW1lbnUsXG4gIC5zdWItc3ViLW1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0yMCU7XG4gICAgbGVmdDogOTklO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIC5pY29uLWFycm93LXJpZ2h0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAycHg7XG4gICAgbGVmdDogM3B4O1xuICB9XG4gIGxpOmhvdmVyIC5zdWItbWVudSxcbiAgLnN1Yi1tZW51IGxpOmhvdmVyIC5zdWItc3ViLW1lbnUge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICBsaTpob3ZlciAuc3ViLXN1Yi1tZW51LFxuICAgIGxpOmhvdmVyIC5zdWItbWVudSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgaHRtbC5uby10b3VjaCB1bC5uYXYgbGkuZHJvcGRvd246aG92ZXIgdWwuZHJvcGRvd24tbWVudSxcbiAgaHRtbC50b3VjaCB1bC5uYXYgbGkuZHJvcGRvd24ub3BlbiB1bC5kcm9wZG93bi1tZW51IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi8vIE9wZW4gc3RhdGUgZm9yIHRoZSBkcm9wZG93blxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ub3BlbiB7XG4gIC8vIElFNydzIHotaW5kZXggb25seSBnb2VzIHRvIHRoZSBuZWFyZXN0IHBvc2l0aW9uZWQgYW5jZXN0b3IsIHdoaWNoIHdvdWxkXG4gIC8vIG1ha2UgdGhlIG1lbnUgYXBwZWFyIGJlbG93IGJ1dHRvbnMgdGhhdCBhcHBlYXJlZCBsYXRlciBvbiB0aGUgcGFnZVxuICAqei1pbmRleDogQHppbmRleERyb3Bkb3duO1xuXG4gICYgPiAuZHJvcGRvd24tbWVudSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIEFsbG93IGZvciBkcm9wZG93bnMgdG8gZ28gYm90dG9tIHVwIChha2EsIGRyb3B1cC1tZW51KVxuLmRyb3B1cCxcbi5uYXZiYXItZml4ZWQtYm90dG9tIC5kcm9wZG93biB7XG4gIC8vIFJldmVyc2UgdGhlIGNhcmV0XG4gIC5jYXJldCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgQGJsYWNrO1xuICAgIGNvbnRlbnQ6IFwiXFwyMTkxXCI7XG4gIH1cbiAgLy8gRGlmZmVyZW50IHBvc2l0aW9uaW5nIGZvciBib3R0b20gdXAgbWVudVxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcHg7XG4gIH1cbn1cblxuLy8gXCJEb24ndCBtaXNzXCIvdG9waWNzIGJhclxuI3RvcGljcy1iYXIge1xuICBwYWRkaW5nOiAzcHggMDtcbiAgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LWZhbWlseTogQHNhbnNGb250RmFtaWx5O1xuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAmLm1lbnUtbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBOYXZiYXIgc2VhcmNoIGZvcm1cbiNtYWluLW5hdi5uYXZiYXIge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgQG5hdmJhclJ1bGVDb2xvcjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEBuYXZiYXJSdWxlQ29sb3I7XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ09MT1Jcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEdyYXlzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AYmxhY2s6ICAgICAgICAgICAgICAgICAjMDAwO1xuQGdyYXlEYXJrZXI6ICAgICAgICAgICAgIzIyMjtcbkBncmF5RGFyazogICAgICAgICAgICAgICM0ODQ4NDg7XG5AZ3JheTogICAgICAgICAgICAgICAgICAjN0Q4MTg1O1xuQGdyYXlMaWdodDogICAgICAgICAgICAgI2FhYTtcbkBncmF5TGlnaHRlcjogICAgICAgICAgICNkZGQ7XG5Ad2hpdGU6ICAgICAgICAgICAgICAgICAjZmZmO1xuXG5cbi8vIEFjY2VudCBjb2xvcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBibHVlOiAgICAgICAgICAgICAgICAgICMyMjc1YmI7XG5AYmx1ZURhcms6ICAgICAgICAgICAgICAjMDA2NGNkO1xuQGdyZWVuOiAgICAgICAgICAgICAgICAgIzQ2YTU0NjtcbkByZWQ6ICAgICAgICAgICAgICAgICAgICNiZDI2MWQ7XG5AeWVsbG93OiAgICAgICAgICAgICAgICAjZmZjNDBkO1xuQG9yYW5nZTogICAgICAgICAgICAgICAgI2Y4OTQwNjtcbkBwaW5rOiAgICAgICAgICAgICAgICAgICNjMzMyNWY7XG5AcHVycGxlOiAgICAgICAgICAgICAgICAjN2E0M2I2O1xuXG4vKipcbiAqIEBncm91cCBDb2xvclxuICogQGxhYmVsIEJhc2UgQ29sb3IgKHVzZWQgZm9yIG5hdmJhciwgd2lkZ2V0IHRpdGxlcywgZXRjLilcbiAqIEB0eXBlIGNvbG9yXG4gKiBAZGVmYXVsdF92YWx1ZSAjMjI3NWJiXG4gKi9cbkBiYXNlQ29sb3I6XHRcdFx0XHRAYmx1ZTtcblxuLyoqXG4gKiBAZ3JvdXAgQ29sb3JcbiAqIEBsYWJlbCBIZWFkZXIvRm9vdGVyIENvbG9yXG4gKiBAdHlwZSBjb2xvclxuICogQGRlZmF1bHRfdmFsdWUgIzIyMlxuICovXG5AaGVhZGVyRm9vdGVyQ29sb3I6XHRcdEBncmF5RGFya2VyO1xuXG4vKipcbiAqIEBncm91cCBDb2xvclxuICogQGxhYmVsIFByZS1Gb290ZXIgQ29sb3JcbiAqIEB0eXBlIGNvbG9yXG4gKiBAZGVmYXVsdF92YWx1ZSAjZGRkXG4gKi9cbkBwcmVGb290ZXJDb2xvcjpcdFx0QGdyYXlMaWdodGVyO1xuXG4vKipcbiAqIEBncm91cCBDb2xvclxuICogQGxhYmVsIENvbG9yIG9mIGxpbmtzXG4gKiBAdHlwZSBjb2xvclxuICogQGRlZmF1bHRfdmFsdWUgIzIyNzViYlxuICovXG5AbGlua0NvbG9yOiAgICAgICAgICAgICBAYmx1ZTtcblxuLyoqXG4gKiBAZ3JvdXAgQ29sb3JcbiAqIEBsYWJlbCBIb3ZlciBjb2xvciBvZiBsaW5rc1xuICogQHR5cGUgY29sb3JcbiAqIEBkZWZhdWx0X3ZhbHVlICMyMjc1YmJcbiAqL1xuQGxpbmtDb2xvckhvdmVyOiAgICAgICAgbGlnaHRlbihAbGlua0NvbG9yLCAxMCUpO1xuXG4vKipcbiAqIEBncm91cCBDb2xvclxuICogQGxhYmVsIEJhY2tncm91bmQgY29sb3Igb2YgcG9zdCBtZXRhIGJveGVzIChhdXRob3IgYmlvLCByZWxhdGVkIHBvc3RzLCBldGMuKVxuICogQHR5cGUgY29sb3JcbiAqIEBkZWZhdWx0X3ZhbHVlICNmZmZcbiAqL1xuQHBvc3RCb3hCYWNrZ3JvdW5kQ29sb3I6XHQjZmZmO1xuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBMQVlPVVRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBjb250YWluZXJNYXhXaWR0aDpcdFx0MTE3MHB4O1xuXG4vKipcbiAqIEBncm91cCBCYXNpY3NcbiAqIEBsYWJlbCBCb2R5IEJhY2tncm91bmQgQ29sb3JcbiAqIEB0eXBlIGNvbG9yXG4gKiBAZGVmYXVsdF92YWx1ZSAjZmZmXG4gKi9cbkBib2R5QmFja2dyb3VuZDogICAgICAgIEB3aGl0ZTtcblxuLyoqXG4gKiBAZ3JvdXAgQmFzaWNzXG4gKiBAbGFiZWwgUGFnZSBCYWNrZ3JvdW5kIENvbG9yXG4gKiBAdHlwZSBjb2xvclxuICogQGRlZmF1bHRfdmFsdWUgI2ZmZlxuICovXG5AcGFnZUJhY2tncm91bmQ6ICAgICAgICBAd2hpdGU7XG5cbi8qKlxuICogQGdyb3VwIEJhc2ljc1xuICogQGxhYmVsIFRleHQgQ29sb3JcbiAqIEB0eXBlIGNvbG9yXG4gKiBAZGVmYXVsdF92YWx1ZSAjMzMzXG4gKi9cbkB0ZXh0Q29sb3I6ICAgICAgICAgICAgIEBncmF5RGFyaztcbi8qKlxuICogQGdyb3VwIEJhc2ljc1xuICogQGxhYmVsIERlZmF1bHQgVmVydGljYWwgU3BhY2luZ1xuICogQHR5cGUgcGl4ZWxzXG4gKiBAZGVmYXVsdF92YWx1ZSAyNHB4XG4gKi9cbkBiYXNlbGluZTpcdFx0XHRcdDI0cHg7XG5cbi8vIEdyaWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBncmlkQ29sdW1uczogICAgICAgICAgICAgMTI7XG5AZmx1aWRHcmlkQ29sdW1uV2lkdGg6ICAgIDYuMzgyOTc4NzIzJTtcbkBmbHVpZEdyaWRHdXR0ZXJXaWR0aDogICAgMi4xMjc2NTk1NzQlO1xuQGdyaWRSb3dXaWR0aDogICAgICAgICAgICAxMDAlO1xuXG4vLyBCcmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGhpZ2hkZW5zaXR5OiB+XCJvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMS41KVwiLFxuICAgICAgICAgICAgICB+XCJvbmx5IHNjcmVlbiBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMS41KVwiLFxuICAgICAgICAgICAgICB+XCJvbmx5IHNjcmVlbiBhbmQgKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMvMiApXCIsXG4gICAgICAgICAgICAgIH5cIm9ubHkgc2NyZWVuIGFuZCAobWluLWRldmljZS1waXhlbC1yYXRpbzogMS41KVwiO1xuXG5AbW9iaWxlOiAgICAgIH5cIm9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MjlweClcIjtcblxuQHRhYmxldDogICAgICB+XCJvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5NzlweClcIjtcbkB0YWJsZXREb3duOiAgflwib25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk3OXB4KVwiO1xuQHRhYmxldFVwOiAgICB+XCJvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpXCI7XG5cbkBkZXNrdG9wOiAgICAgflwib25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk4MHB4KSBhbmQgKG1heC13aWR0aDogMTEyOHB4KVwiO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVFlQT0dSQVBIWVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLyoqXG4gKiBAZ3JvdXAgVHlwb2dyYXBoeVxuICogQGxhYmVsIFNhbnMgRm9udCBGYW1pbHlcbiAqIEB0eXBlIHRleHRcbiAqIEBkZWZhdWx0X3ZhbHVlIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZlxuICovXG5Ac2Fuc0ZvbnRGYW1pbHk6ICAgICAgICBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG5cbi8qKlxuICogQGdyb3VwIFR5cG9ncmFwaHlcbiAqIEBsYWJlbCBTZXJpZiBGb250IEZhbWlseVxuICogQHR5cGUgdGV4dFxuICovXG5Ac2VyaWZGb250RmFtaWx5OiAgICAgICBHZW9yZ2lhLCBcIlRpbWVzIE5ldyBSb21hblwiLCBUaW1lcywgc2VyaWY7XG5AbW9ub0ZvbnRGYW1pbHk6ICAgICAgICBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2U7XG5cbi8qKlxuICogQGdyb3VwIFR5cG9ncmFwaHlcbiAqIEBsYWJlbCBCYXNlIEZvbnQgU2l6ZVxuICogQHR5cGUgcGl4ZWxzXG4gKi9cbkBiYXNlRm9udFNpemU6ICAgICAgICAgIDE2cHg7XG5cbi8qKlxuICogQGdyb3VwIFR5cG9ncmFwaHlcbiAqIEBsYWJlbCBTYW5zIEZvbnQgRmFtaWx5XG4gKiBAdHlwZSBkcm9wZG93blxuICogQG9wdGlvbnMgQHNlcmlmRm9udEZhbWlseXxAc2Fuc0ZvbnRGYW1pbHlcbiAqIEBkZWZhdWx0X3ZhbHVlIEBzZXJpZkZvbnRGYW1pbHlcbiAqL1xuQGJhc2VGb250RmFtaWx5OiAgICAgICAgQHNlcmlmRm9udEZhbWlseTtcbi8qKlxuICogQGdyb3VwIFR5cG9ncmFwaHlcbiAqIEBsYWJlbCBCYXNlIExpbmUgSGVpZ2h0XG4gKiBAdHlwZSB0ZXh0XG4gKiBAZGVmYXVsdF92YWx1ZSAxLjVcbiAqL1xuQGJhc2VMaW5lSGVpZ2h0OiAgICAgICAgMS41O1xuXG5AYWx0Rm9udEZhbWlseTogICAgICAgICBAc2Fuc0ZvbnRGYW1pbHk7XG5AYmFzZUZvbnRXZWlnaHQ6XHRcdG5vcm1hbDtcblxuQGhlYWRpbmdzRm9udEZhbWlseTogICAgQHNhbnNGb250RmFtaWx5OyAvLyBlbXB0eSB0byB1c2UgZGVmYXVsdCwgQGJhc2VGb250RmFtaWx5XG5AaGVhZGluZ3NGb250V2VpZ2h0OiAgICBib2xkOyAvLyBlbXB0eSB0byB1c2UgZGVmYXVsdCwgQGJhc2VGb250V2VpZ2h0XG5AaGVhZGluZ3NDb2xvcjogICAgICAgICBpbmhlcml0OyAvLyBlbXB0eSB0byB1c2UgZGVmYXVsdCwgQHRleHRDb2xvclxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBGT1JNUywgVEFCTEVTIEFORCBCVVRUT05TXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBUYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkB0YWJsZUJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50OyAvLyBvdmVyYWxsIGJhY2tncm91bmQtY29sb3JcbkB0YWJsZUJhY2tncm91bmRBY2NlbnQ6ICAgICAgICAgICAgICNmOWY5Zjk7IC8vIGZvciBzdHJpcGluZ1xuQHRhYmxlQmFja2dyb3VuZEhvdmVyOiAgICAgICAgICAgICAgI2Y1ZjVmNTsgLy8gZm9yIGhvdmVyXG5AdGFibGVCb3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAjZGRkOyAvLyB0YWJsZSBhbmQgY2VsbCBib3JkZXJcblxuXG4vLyBCdXR0b25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AYnRuQmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICBAd2hpdGU7XG5AYnRuQmFja2dyb3VuZEhpZ2hsaWdodDogICAgICAgICAgICBkYXJrZW4oQHdoaXRlLCAxMCUpO1xuQGJ0bkJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgI2NjYztcblxuQGJ0blByaW1hcnlCYWNrZ3JvdW5kOiAgICAgICAgICAgICAgQGJhc2VDb2xvcjtcbkBidG5QcmltYXJ5QmFja2dyb3VuZEhpZ2hsaWdodDogICAgIHNwaW4oQGJ0blByaW1hcnlCYWNrZ3JvdW5kLCAxNSUpO1xuXG5cbi8vIEZvcm1zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5wdXRCYWNrZ3JvdW5kOiAgICAgICAgICAgICAgIEB3aGl0ZTtcbkBpbnB1dEJvcmRlcjogICAgICAgICAgICAgICAgICAgI2NjYztcbkBpbnB1dEJvcmRlclJhZGl1czogICAgICAgICAgICAgM3B4O1xuQGlucHV0RGlzYWJsZWRCYWNrZ3JvdW5kOiAgICAgICBAZ3JheUxpZ2h0ZXI7XG5AZm9ybUFjdGlvbnNCYWNrZ3JvdW5kOiAgICAgICAgICNmNWY1ZjU7XG5cbkBwbGFjZWhvbGRlclRleHQ6ICAgICAgICAgQGdyYXlMaWdodDtcblxuXG4vLyBGb3JtIHN0YXRlcyBhbmQgYWxlcnRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Ad2FybmluZ1RleHQ6ICAgICAgICAgICAgICNjMDk4NTM7XG5Ad2FybmluZ0JhY2tncm91bmQ6ICAgICAgICNmY2Y4ZTM7XG5Ad2FybmluZ0JvcmRlcjogICAgICAgICAgIGRhcmtlbihzcGluKEB3YXJuaW5nQmFja2dyb3VuZCwgLTEwKSwgMyUpO1xuXG5AZXJyb3JUZXh0OiAgICAgICAgICAgICAgICNiOTRhNDg7XG5AZXJyb3JCYWNrZ3JvdW5kOiAgICAgICAgICNmMmRlZGU7XG5AZXJyb3JCb3JkZXI6ICAgICAgICAgICAgIGRhcmtlbihzcGluKEBlcnJvckJhY2tncm91bmQsIC0xMCksIDMlKTtcblxuQHN1Y2Nlc3NUZXh0OiAgICAgICAgICAgICAjNDY4ODQ3O1xuQHN1Y2Nlc3NCYWNrZ3JvdW5kOiAgICAgICAjZGZmMGQ4O1xuQHN1Y2Nlc3NCb3JkZXI6ICAgICAgICAgICBkYXJrZW4oc3BpbihAc3VjY2Vzc0JhY2tncm91bmQsIC0xMCksIDUlKTtcblxuQGluZm9UZXh0OiAgICAgICAgICAgICAgICAjM2E4N2FkO1xuQGluZm9CYWNrZ3JvdW5kOiAgICAgICAgICAjZDllZGY3O1xuQGluZm9Cb3JkZXI6ICAgICAgICAgICAgICBkYXJrZW4oc3BpbihAaW5mb0JhY2tncm91bmQsIC0xMCksIDclKTtcblxuLy8gWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQHppbmRleERyb3Bkb3duOiAgICAgICAgICAxMDAwO1xuQHppbmRleFBvcG92ZXI6ICAgICAgICAgICAxMDEwO1xuQHppbmRleFRvb2x0aXA6ICAgICAgICAgICAxMDIwO1xuQHppbmRleEZpeGVkTmF2YmFyOiAgICAgICAxMDMwO1xuQHppbmRleE1vZGFsQmFja2Ryb3A6ICAgICAxMDQwO1xuQHppbmRleE1vZGFsOiAgICAgICAgICAgICAxMDUwO1xuXG4vLyBOYXZiYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBuYXZiYXJIZWlnaHQ6ICAgICAgICAgICAgICAgICAgICA0MHB4O1xuQG5hdmJhckZvbnRTaXplOiAgICAgICAgICAgICAgICAgIDE1cHg7XG5AbmF2YmFyQmFja2dyb3VuZDogICAgICAgICAgICAgICAgQGJvZHlCYWNrZ3JvdW5kO1xuLy8gTmF2YmFyIGJ1dHRvbiAoYnVyZ2VyKSBmb3IgdG9nZ2xpbmcgbmF2YmFyIGl0ZW1zIGluIHJlc3BvbnNpdmUgbGF5b3V0c1xuQGljb25iYXJIZWlnaHQ6IDNweDtcblxuICAgIC8vIE5hdmJhciBkcm9wZG93bnNcbiAgICBAZHJvcGRvd25CYWNrZ3JvdW5kOiBAd2hpdGU7XG4gICAgQGRyb3Bkb3duQm9yZGVyOiByZ2JhKDAsMCwwLC4yKTtcbiAgICBAZHJvcGRvd25EaXZpZGVyVG9wOiAjZTVlNWU1O1xuICAgIEBkcm9wZG93bkRpdmlkZXJCb3R0b206IEB3aGl0ZTtcblxuICAgIC8vIE1haW4gbmF2YmFyXG4gICAgQG5hdmJhclRleHQ6IEB0ZXh0Q29sb3I7XG4gICAgQG5hdmJhckxpbmtDb2xvcjogQG5hdmJhclRleHQ7XG4gICAgQG5hdmJhckxpbmtDb2xvckhvdmVyOiBkYXJrZW4oQG5hdmJhckxpbmtDb2xvciwgNSUpO1xuICAgIEBuYXZiYXJMaW5rQmFja2dyb3VuZEFjdGl2ZTogZGFya2VuKEBuYXZiYXJCYWNrZ3JvdW5kLCA1JSk7XG4gICAgQG5hdmJhckRyb3Bkb3duQ2FyZXRDb2xvcjogQG5hdmJhckxpbmtDb2xvcjtcbiAgICBAbmF2YmFyRHJvcGRvd25DYXJldENvbG9ySG92ZXI6IEBuYXZiYXJMaW5rQ29sb3JIb3ZlcjtcbiAgICBAbmF2YmFyUnVsZUNvbG9yOiBAZ3JheUxpZ2h0O1xuXG4gICAgLy8gU3RpY2t5IG5hdmJhclxuICAgIEBzdGlja3lOYXZiYXJUZXh0OiBAdGV4dENvbG9yO1xuICAgIEBzdGlja3lOYXZiYXJMaW5rQ29sb3I6IEBzdGlja3lOYXZiYXJUZXh0O1xuICAgIEBzdGlja3lOYXZiYXJMaW5rQ29sb3JIb3ZlcjogZGFya2VuKEBzdGlja3lOYXZiYXJMaW5rQ29sb3IsIDUlKTtcbiAgICBAc3RpY2t5TmF2YmFyQmFja2dyb3VuZENvbG9yOiBAd2hpdGU7XG4gICAgQHN0aWNreU5hdmJhckRyb3Bkb3duQ2FyZXRDb2xvcjogQHN0aWNreU5hdmJhckxpbmtDb2xvcjtcbiAgICBAc3RpY2t5TmF2YmFyRHJvcGRvd25DYXJldENvbG9ySG92ZXI6IEBzdGlja3lOYXZiYXJMaW5rQ29sb3JIb3ZlcjtcblxuXG4vLyBTb2NpYWwgQnJhbmRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AcnNzOiAjZjg5NDA2O1xuQGZhY2Vib29rOiAjM2E1Nzk1O1xuQHR3aXR0ZXI6ICM1NWFjZWU7XG5AeW91dHViZTogI2U1MmQyNztcbkBncGx1czogI2RkNGIzOTtcbkBmbGlja3I6ICNmZjAwODQ7XG5AbGlua2VkaW46ICMwMDdiYjY7XG5AdHVtYmxyOiAjMzU0NjVjO1xuIiwiQHN0aWNreU5hdkxpbmVIZWlnaHQ6IDU2cHg7XG5cbi5zdGlja3ktbmF2LWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zdGlja3ktbmF2LWhvbGRlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogOTk5OTg7XG5cbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAc3RpY2t5TmF2YmFyQmFja2dyb3VuZENvbG9yO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgQGdyYXlMaWdodGVyO1xuICAudHJhbnNpdGlvbihvcGFjaXR5IDAuM3MpO1xuXG4gICYudHJhbnNpdGlvbmluZyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBoZWlnaHQ6IEBzdGlja3lOYXZMaW5lSGVpZ2h0O1xuXG4gICAgLm5hdmJhciB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxuXG4gICYuc2hvdyB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgYm9keS5hZG1pbi1iYXIgJiB7XG4gICAgdG9wOiAzMnB4O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc4MnB4KSB7XG4gICAgICB0b3A6IDQ2cHg7XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYm9keS5zaW5nbGUgJi5zdGlja3lfbmF2X2Rpc3BsYXlfYXJ0aWNsZSxcbiAgICBib2R5LnNpbmdsZSAmLm1haW5fbmF2X2hpZGVfYXJ0aWNsZSxcbiAgICBib2R5LnBhZ2UgJi5zdGlja3lfbmF2X2Rpc3BsYXlfYXJ0aWNsZSxcbiAgICBib2R5LnBhZ2UgJi5tYWluX25hdl9oaWRlX2FydGljbGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG5cbi8vIEV4dGVuZCB0aGUgY29tbW9uIG5hdmJhciBzdHlsZXNcbi5uYXZiYXIuc3RpY2t5LW5hdmJhciB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIC50cmFuc2l0aW9uKG9wYWNpdHkgMC4zcyk7XG5cbiAgLm5hdiB7XG4gICAgY29sb3I6IEBzdGlja3lOYXZiYXJUZXh0O1xuICB9XG5cbiAgbGkge1xuICAgIGEge1xuICAgICAgbGluZS1oZWlnaHQ6IEBzdGlja3lOYXZMaW5lSGVpZ2h0O1xuICAgICAgY29sb3I6IEBzdGlja3lOYXZiYXJMaW5rQ29sb3I7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogQHN0aWNreU5hdmJhckxpbmtDb2xvckhvdmVyO1xuICAgICAgfVxuXG4gICAgICAuY2FyZXQ6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogQHN0aWNreU5hdmJhckRyb3Bkb3duQ2FyZXRDb2xvcjtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciAuY2FyZXQ6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogQHN0aWNreU5hdmJhckRyb3Bkb3duQ2FyZXRDb2xvckhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaG9tZS1saW5rID4gYTpob3ZlciB7XG4gICAgICBjb2xvcjogbGlnaHRlbihAc3RpY2t5TmF2YmFyTGlua0NvbG9yLCA1JSk7XG4gICAgfVxuICB9XG5cbiAgLy8gRHJvcGRvd25zIHdpdGhpbiBuYXZcbiAgbGkuZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUgbGkgYSB7XG4gICAgY29sb3I6IEBzdGlja3lOYXZiYXJMaW5rQ29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiBAc3RpY2t5TmF2YmFyTGlua0NvbG9ySG92ZXI7XG4gICAgfVxuICB9XG5cbiAgLnNvY2lhbC1pY29ucyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG5cbiAgLmJ0bi1uYXZiYXIge1xuICAgIHBhZGRpbmc6IDAgMTBweCAwIDEwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIGxpbmUtaGVpZ2h0OiBAc3RpY2t5TmF2TGluZUhlaWdodDtcblxuICAgIC5iYXJzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgLmljb24tYmFyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBzdGlja3lOYXZiYXJMaW5rQ29sb3I7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAuaWNvbi1iYXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAc3RpY2t5TmF2YmFyTGlua0NvbG9ySG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5ob21lLWxpbmsge1xuICAgIC8vIFRPRE86IHNob3VsZCBiZSBiYXNlZCBvbiBhIHZhcmlhYmxlXG4gICAgbWluLXdpZHRoOiA0MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIC5uYXYgPiBsaSB7XG4gICAgICBhIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAvLyBUT0RPOiBzaG91bGQgYmUgYmFzZWQgb24gdmFyaWFibGVcbiAgICAgICAgICB3aWR0aDogMS40OWVtO1xuICAgICAgICAgIGhlaWdodDogMS40OWVtO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5pY29uLWhvbWU6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ29udGFpbnMgc29jaWFsIGljb25zLCBzZWFyY2gsIGRvbmF0ZSBsaW5rXG4gIC5uYXYtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDtcblxuICAgICNoZWFkZXItZXh0cmFzIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYS5kb25hdGUtbGluazpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuXG4gICAgICAuZG9uYXRlIHtcbiAgICAgICAgYSBzcGFuIHtcbiAgICAgICAgICAvLyBUT0RPOiBzaG91bGQgYmUgYmFzZWQgb24gdmFyc1xuICAgICAgICAgIHBhZGRpbmc6IDRweCA4cHg7XG5cbiAgICAgICAgICBjb2xvcjogQHdoaXRlO1xuXG4gICAgICAgICAgLy8gVE9ETzogaXMgdGhpcyBzcGVjaWZpYyB0byB0aGUgZG9uYXRlIGxpbms/XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHJlZDtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oQHJlZCwgNSUpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIFRPRE86IHdoYXQgaXMgdGhpcyBmb3I/XG4gICAgICAgICAgaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgLy8gTmF2YmFyIHNlYXJjaCBmb3JtXG4gIC5mb3JtLXNlYXJjaCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC50b2dnbGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgY29sb3I6IEBiYXNlQ29sb3I7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiA5MTtcbiAgICAgIC50cmFuc2l0aW9uKCAwLjNzICk7XG4gICAgfVxuICAgIC5pbnB1dC1hcHBlbmQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDQ0cHg7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAudHJhbnNpdGlvbiggMC4zcyApO1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIHotaW5kZXg6IDkwO1xuICAgICAgd2lkdGg6IDI0NnB4O1xuICAgICAgLnRleHQtaW5wdXQtd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IDE5NnB4O1xuICAgICAgfVxuICAgICAgaW5wdXQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgLmJveC1zaXppbmcoIGJvcmRlci1ib3ggKTtcbiAgICAgICAgaGVpZ2h0OiAzNnB4ICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICBidXR0b24ge1xuICAgICAgICB3aWR0aDogNTBweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDM2cHggIWltcG9ydGFudDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIC5ib3gtc2l6aW5nKCBib3JkZXItYm94ICk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgICAjc3RpY2t5LW5hdi1zZWFyY2guc2hvdyB7XG4gICAgICAuaW5wdXQtYXBwZW5kIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgfVxuICAgICAgLmlucHV0LWFwcGVuZCxcbiAgICAgIC50b2dnbGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQzNDM0O1xuICAgICAgICBjb2xvcjogQGJvZHlCYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5uYXYtbGVmdCB7XG4gICAgJiA+IHVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSGlkZXMgdGhlIHNlY29uZCBzaXRlIG5hbWUgaW4gdGhlIHN0aWNreSBoZWFkZXJcbiAgLy8gd2hlbiAubmF2LXNoZWxmIGlzIHZpc2libGVcbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgLm5hdi1sZWZ0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gU2l0ZSBuYW1lXG4gIC5zaXRlLW5hbWUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiAjMzQzNDM0O1xuXG4gICAgYSB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIHBhZGRpbmc6IDAgMTBweCAwIDA7XG4gICAgICBjb2xvcjogQHN0aWNreU5hdmJhckxpbmtDb2xvcjtcbiAgICAgIG1heC13aWR0aDogMjE0cHg7XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiBAc3RpY2t5TmF2YmFyTGlua0NvbG9ySG92ZXI7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSaWdodCBzaWRlIG9mIG5hdiwgc2VhcmNoLCBkb25hdGUsIHNvY2lhbCBpY29uc1xuICAubmF2LXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgI2hlYWRlci1leHRyYXMge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBhLmRvbmF0ZS1saW5rOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU3RpY2t5IG5hdiBkcm9wZG93biBtb2RzXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIGxpLmRyb3Bkb3duIHtcbiAgICAgIC5kcm9wZG93bi1tZW51IGxpIGEge1xuICAgICAgICBsaW5lLWhlaWdodDogQHN0aWNreU5hdkxpbmVIZWlnaHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5hdi1zaGVsZiBiLmNhcmV0IHtcbiAgICAgIHBhZGRpbmc6IDIycHg7XG4gICAgfVxuICB9XG59XG5cbi8vIEZvcm1hdCB0aGUgc3RpY2t5IG5hdiBvdmVyZmxvdyBtZW51XG4jbWVudS1vdmVyZmxvdyA+IHVsIHtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICBtYXgtaGVpZ2h0OiA4MHZoO1xuICAuY2FyZXQ6OmJlZm9yZSwgLmNhcmV0OjphZnRlciB7XG4gICAgZGlzcGxheTpub25lO1xuICB9XG4gIHVsLmRyb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBsaSBhIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMS41ZW07XG4gICAgfVxuICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLnN1Yi1tZW51LFxuICAgIC5zdWItc3ViLW1lbnUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogQmVmb3JlIEZvb3RlciwgU2l0ZSBGb290ZXJcbiAqXG4gKiAjYmVmb3JlLWZvb3RlciAtIGEgZHluYW1pYyB3aWRnZXQgYXJlYSBwcmlvciB0byAjc2l0ZS1mb290ZXJcbiAqICNzaXRlLWZvb3RlclxuICogICAjc3VwcGxlbWVudGFyeSAtIHByaW1hcnkgd2lkZ2V0IHpvbmVzIGZvciBzaXRlIGZvb3RlclxuICogICAjYm9pbGVycGxhdGUgLSBzb2NpYWwgaWNvbnMsIGNvcHlyaWdodCwgSU5OIGxvZ28gYW5kIGZvb3RlciBsaW5rc1xuICpcbiAqIEBzaW5jZSAwLjUuM1xuICovXG4gXG4uYmVmb3JlLWZvb3Rlci13cmFwcGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHByZUZvb3RlckNvbG9yO1xufVxuXG4jYmVmb3JlLWZvb3RlciB7XG4gIC53aWRnZXQ6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4uZm9vdGVyLWJnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGhlYWRlckZvb3RlckNvbG9yO1xuICBwYWRkaW5nOiAwIDAgMThweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuI3N1cHBsZW1lbnRhcnkge1xuICBwYWRkaW5nOiBAYmFzZWxpbmUgMCAwIDA7XG4gICYuXzFjb2wgYXNpZGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4vKiBzcGVjaWZpYyB0byB0aGUgb25lIGNvbHVtbiBmb290ZXIgbGF5b3V0ICovXG4uXzFjb2wgLndpZGdldF9uYXZfbWVudSBsaSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgbWFyZ2luLXJpZ2h0OiAxZW07XG59XG5cbi8qXG4gKiBpbWFnZSBkaXNwbGF5cyAzMDBweCB3aWRlLCBidXQgaXMgcGh5c2ljYWxseSAxNjk5eDM4NSBweF4yXG4gKiBXZSdsbCB1c2UgbWF0aCB0byBnZXQgdGhlIHBhZGRpbmcgdG9wIGFuZCBib3R0b20gY29ycmVjdCwgYWNjb3JkaW5nIHRvIHRoZSBicmFuZCBndWlkZWxpbmVzXG4gKiBtYXJnaW4gdG9wIGFuZCBtYXJnaW4gYm90dG9tIHNob3VsZCBiZSBlcXVhbCB0byB0aGUgaGVpZ2h0IG9mIG9uZSBvZiB0aGUgc3F1YXJlcy5cbiAqIEJ5IGNyb3BwaW5nIHRoZSBpbWFnZSB0byB0aGUgb3V0ZXIgYm91bmRhcnkgb2YgdGhlIGxvd2VyLWxlZnQgc3F1YXJlIGluIGlubl9sb2dvX3JldmVyc2V0eXBlLnBuZywgd2UgZ2V0IGEgc3F1YXJlIGhlaWdodCBvZiAxODRweC5cbiAqIDE4NC8xNjY5ID0geC8zMDBcbiAqL1xuQGlubi1sb2dvLXBoeXNpY2FsLXdpZHRoOiAxNjY5cHg7XG5AaW5uLWxvZ28tcGh5c2ljYWwtaGVpZ2h0OiAzODVweDtcbkBpbm4tbG9nby13aWR0aDogMjAwcHg7XG5AaW5uLWxvZ28tc3F1YXJlOiAoQGlubi1sb2dvLXdpZHRoKjE4NC9AaW5uLWxvZ28tcGh5c2ljYWwtd2lkdGgpOyAvLyAxODQgY29tZXMgZm9ybSB0aGUgd2lkdGggb2Ygb25lIHNxdWFyZSBpbiBJTk4ncyAyMDE1IGxvZ29cbkBpbm4tbG9nby1oZWlnaHQ6IChAaW5uLWxvZ28td2lkdGgqQGlubi1sb2dvLXBoeXNpY2FsLWhlaWdodC9AaW5uLWxvZ28tcGh5c2ljYWwtd2lkdGgpOyAvLyB0aGUgcmVuZGVyZWQgaGVpZ2h0IG9mIHRoZSBsb2dvIGltYWdlXG5AZm9vdGVyLXNvY2lhbC1sb2dvLWZvbnQtc2l6ZTogQGJhc2VGb250U2l6ZSArIDI7XG5cbiNpbm4tbG9nbyB7XG4gIG1hcmdpbi10b3A6IEBpbm4tbG9nby1zcXVhcmU7XG4gIG1hcmdpbi1ib3R0b206IEBpbm4tbG9nby1zcXVhcmUqMC43NTtcbiAgbWF4LXdpZHRoOiBAaW5uLWxvZ28td2lkdGg7XG59XG5cbiNmb290ZXItbG9nb3MtYmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAd2hpdGU7XG4gIHBhZGRpbmc6IDEwcHggMDtcbn1cblxuI2Zvb3Rlci1sb2dvcyB7XG4gIG92ZXJmbG93OmhpZGRlbjtcbiAgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIFx0ZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NyU7XG4gICAgaW1nIHtcblx0ICBkaXNwbGF5OiBibG9jaztcblx0ICB3aWR0aDogMTAwJTtcblx0ICBtYXgtd2lkdGg6IDE4MHB4O1xuXHQgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbiAgfVxuICBoNiB7XG4gICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAzcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEBncmF5TGlnaHRlcjtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgY29sb3I6IEBncmF5O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBhIHtcblx0ICBmbG9hdDogcmlnaHQ7XG5cdCAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG59XG5cbnVsI2Zvb3Rlci1zb2NpYWwge1xuICBwYWRkaW5nLXRvcDogQGlubi1sb2dvLXNxdWFyZTtcbiAgcGFkZGluZy1ib3R0b206IEBpbm4tbG9nby1zcXVhcmUqMC43NTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIGxpIHtcbiAgICBoZWlnaHQ6IEBpbm4tbG9nby1oZWlnaHQ7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICAgIGEge1xuICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgIHBhZGRpbmctdG9wOiAoKEBpbm4tbG9nby1oZWlnaHQgLSBAZm9vdGVyLXNvY2lhbC1sb2dvLWZvbnQtc2l6ZSkvMS43NSk7XG4gICAgfVxuICAgIGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAwO1xuICAgICAgY29sb3I6IEB3aGl0ZTtcbiAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgIG1hcmdpbi10b3A6IDEuMjUqQGlubi1sb2dvLXNxdWFyZTtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogZGFya2VuKEB3aGl0ZSwgMjUlKTtcbiAgICAgIH1cbiAgICAgIGZvbnQtc2l6ZTogQGZvb3Rlci1zb2NpYWwtbG9nby1mb250LXNpemU7XG4gICAgICAuZGFya0xpZ2h0KEBoZWFkZXJGb290ZXJDb2xvcik7XG4gICAgfVxuICB9XG4gIGxpOmxhc3QtY2hpbGQgYSB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuXG4jYm9pbGVycGxhdGUge1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC1mYW1pbHk6IEBzYW5zRm9udEZhbWlseTtcbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBjb2xvcjojOUY5RkEzO1xuICB9XG4gIC5tZW51IHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogQGJhc2VGb250U2l6ZSAqIDAuNjY3O1xuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgfVxuICB9XG4gIC5tZW51IHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxufVxuXG5mb290ZXIgI2JvaWxlcnBsYXRlIHtcbiAgcCB7XG4gICAgY29sb3I6IzlGOUZBMztcbiAgfVxuICBhIHtcbiAgICBjb2xvcjpAZ3JheUxpZ2h0ZXI7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjojMDlDOUZGOyAvLyBUaGlzIGJsdWUgaXMgSU5OJ3MgUHJpbWFyeSBCcmFuZCBjb2xvciFcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICNib2lsZXJwbGF0ZSAuc3BhbjYucmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTc5cHgpIHtcbiAgLy8gSWYgdGhlIElOTiBsb2dvIGlzIG5vdCBkaXNwbGF5ZWQsIHRoZSBmb290ZXIgY3JlZGl0IGdldHMgc29tZSBwYWRkaW5nIHVwIHRvcFxuICAuZm9vdGVyLWNyZWRpdC1wYWRkaW5nLWlubi1sb2dvLW1pc3Npbmcge1xuICAgIG1hcmdpbi10b3A6IEBpbm4tbG9nby1oZWlnaHQgKyAxLjc1KkBpbm4tbG9nby1zcXVhcmU7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk3OXB4KSB7XG4gICNib2lsZXJwbGF0ZSAucm93LWZsdWlkIHtcbiAgICAuc3BhbjYge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxuICB1bCNmb290ZXItc29jaWFsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbiAgLmZvb3Rlci1jcmVkaXQgc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLmJhY2stdG8tdG9wIHtcbiAgLnZpc3VhbGx5aGlkZGVuXG59XG4iLCIvL092ZXJyaWRlIExhcmdvIHN0eWxlcywgaHR0cDovL2ppcmEuaW5uLm9yZy9icm93c2UvUk5TLTEwNlxuYm9keS5ub3JtYWwuc2luZ2xlLXBvc3QgYXJ0aWNsZS5wb3N0ID4gaGVhZGVyIC5lbnRyeS1kYXRlLFxuYm9keS5ub3JtYWwuc2luZ2xlLXBvc3QgYXJ0aWNsZS5wb3N0ID4gaGVhZGVyIC5zZXAge1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbi50b3AtZGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uYnlsaW5lIC50d2l0dGVyIHtcbiAgbWFyZ2luLWxlZnQ6IDAuM2VtO1xuICBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzU1YWNlZTtcbiAgfVxufVxucC53cC1jYXB0aW9uLXRleHQge1xuICBmb250LWZhbWlseTogQHNtYWxsdGV4dDtcbiAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAxMjVlbTtcbn1cbiIsIi8vIFRoZW1lIGNvbG9yc1xuQGJhc2VDb2xvcjogdHJhbnNwYXJlbnQ7XG5AbGlnaHRibHVlOiAjNTBjNWY3O1xuQGJsdWU6ICMyMjZGOTE7XG5AcmVkOiAjQjQzNDM0O1xuQHllbGxvdzogI0YwQjk1NjtcblxuQHRyYW5zcGFyZW50YmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuXG4vLyBUeXBvZ3JhcGh5XG5Ac2FuczogXCJ0YWJsZXQtZ290aGljLWNvbmRlbnNlZFwiLHNhbnMtc2VyaWY7XG5AYm9keTogXCJsZWl0dXJhLW5ld3NcIixHZW9yZ2lhLHNlcmlmO1xuQHNtYWxsdGV4dDogXCJoZWx2ZXRpY2EgbmV1ZVwiLGhlbHZldGljYSxzYW5zLXNlcmlmO1xuIiwiLyogVHlwb2dyYXBoeSAqL1xuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBmb250LWZhbWlseTogQHNhbnM7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiBAZ3JheURhcms7XG4gIGEge1xuICAgIGNvbG9yOiBAZ3JheURhcms7XG4gIH1cbn1cblxuYSB7XG4gIGNvbG9yOiBAcmVkO1xuICAmOmhvdmVyIHtcbiAgXHRjb2xvcjogQHJlZDtcbiAgXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxufVxuXG5wLFxuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBAYm9keTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cbmg1LmJ5bGluZSB7XG4gIGZvbnQtZmFtaWx5OiBAc21hbGx0ZXh0O1xufVxuXG4vKiBMYXJnbyBIZWx2ZXRpY2EgT3ZlcnJpZGVzICovXG4udG9wLXRhZywgXG4ubmF2LCBcbi50b3AtZGF0ZSwgXG4ubG9hZC1tb3JlLCBcbi5wb3N0LXNvY2lhbD5zcGFuLFxuLnJzcy1zdWJzY3JpYmUtbGluayxcbi50YWdzLFxuLnJlbGF0ZWQtaXRlbXMgcCxcbi5zdWJzY3JpYmUsXG4ud2lkZ2V0LmxhcmdvLXNlcmllcy1wb3N0cyBsaSBhLFxudWwuc3RhZmYtcm9zdGVyIC5zdGFmZi1uYW1lLFxuLmFyY2hpdmUtYmFja2dyb3VuZCAucmVsYXRlZC10b3BpY3MsXG4ubGFiZWxzLFxuLm5hdmJhcixcbi5wYWdlcixcbi5wb3N0LXBhZ2luYXRpb24gYSxcbi5wb3N0LXBhZ2luYXRpb24gc3Bhbixcbi8qIEFOQUxZVElDIEJSSURHRSAqL1xuI3NpZGViYXIgLndpZGdldF9hbmFseXRpYy1icmlkZ2UtcG9wdWxhci1wb3N0cyBvbCBsaTo6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IEBzYW5zO1xuICBmb250LXdlaWdodDogMzAwO1xufSIsIi53aWRnZXR0aXRsZSxcbi5zdG9yaWVzIGgzLndpZGdldHRpdGxlIHtcbiAgLnNlY3Rpb24tdGl0bGU7XG4gIGEge1xuICAgIGNvbG9yOiBAYmx1ZTtcbiAgfVxufVxuXG4ud2lkZ2V0IHtcbiAgcGFkZGluZzogMDtcbiAgaDUge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIH1cbiAgLy8gZGVmYXVsdCBhZGRzIC42NmVtIGJvdHRvbSBwYWRkaW5nXG4gIC8vIG5lZWQgdG8gcmVwbGFjZSB0aGlzIHdpdGggYSBib3R0b20gbWFyZ2luIGR1ZSB0byB0aGUgZ3JheSBib3JkZXIgYXJvdW5kIGltYWdlc1xuICBpbWcuYXR0YWNobWVudC1sYXJnZSxcbiAgaW1nLmF0dGFjaG1lbnQtbWVkaXVtIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjY2ZW07XG4gIH1cbn1cblxuI3NpZGViYXIge1xuICAud2lkZ2V0IHtcbiAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cbiAgLndpZGdldHRpdGxlIHtcbiAgICBmb250LXNpemU6IDI0cHg7ICBcbiAgfVxufVxuLmF1dGhvci1ib3ggdWwgbGkge1xuICBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmx1ZTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oQGJsdWUsMTAlKTtcbiAgICB9IFxuICB9XG59XG4uYXJ0aWNsZS1ib3R0b20gLmF1dGhvci1ib3gge1xuICAud2lkZ2V0dGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG59XG5cbi8vIExhcmdvIHRheCBsaXN0IHdpZGdldFxuLndpZGdldC1hcmVhIC5sYXJnby10YXhvbm9teS1saXN0IGg1IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5sYXJnby10YXhvbm9teS1saXN0ICB7XG4gIGEge1xuICAgIGNvbG9yOiBAZ3JheURhcms7XG4gICAgZm9udC1mYW1pbHk6IEBzYW5zO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogQGJsdWU7XG4gICAgfVxuICB9XG4gIGltZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICB9XG4gIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG59XG5cbi8vIFNhdmVkIExpbmtzIHdpZGdldFxuLnNhdmVkLWxpbmtzIHtcbiAgYm9yZGVyOiAxcHggc29saWQgQGdyYXlMaWdodDtcbiAgcGFkZGluZzogMjRweDtcbn1cbi5zb3VyY2Uge1xuICBmb250LWZhbWlseTogQHNhbnM7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG4vLyBPdmVycmlkZSBzb21lIHN0eWxlcyBzZXQgaW4gdGhlIFNhdmVkIExpbmtzIFdpZGdldCBDU1MsIHdoaWNoIGlzIGVucXVldWVkIGFmdGVyIHRoaXMgdGhlbWVcbi53aWRnZXQuc2F2ZWQtbGlua3MgLnBvc3QtbGVhZCB7XG4gIHAge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgfVxuICBoNSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICBwLmRlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gIH1cbn1cblxuLy8gRG91YmxlY2xpY2sgYWRzXG4uZGZ3LXVuaXQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIkFkdmVydGlzZW1lbnRcIjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1mYW1pbHk6IEBzbWFsbHRleHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY29sb3I6IEBncmF5O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4jaGVhZGVyLWFkLXpvbmUtY29udGFpbmVyLFxuI2JlZm9yZS1mb290ZXIsXG4uYWQtem9uZS5jZW50ZXIge1xuICBkaXYgZGl2IHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuICAuZGZ3LXVuaXQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBub25lO1xuICB9XG59XG4jaGVhZGVyLWFkLXpvbmUtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuICBwYWRkaW5nOiA1cHggMDtcbn1cbi5iZWZvcmUtZm9vdGVyLXdyYXBwZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuI2JlZm9yZS1mb290ZXIge1xuICBwYWRkaW5nOiA0cHggMCA4cHg7XG59XG5cbiNzaWRlYmFyIC53aWRnZXRfYW5hbHl0aWMtYnJpZGdlLXBvcHVsYXItcG9zdHMgbGkrbGkge1xuICBib3JkZXItdG9wOiBub25lO1xuICBtYXJnaW4tdG9wOiAwO1xuICBwYWRkaW5nLXRvcDogMTJweDtcbn1cblxuLy8gRm9vdGVyIFxuI3NpdGUtZm9vdGVyIGxpIHtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuICBmb250LXdlaWdodDogMzAwO1xuICBhIHtcbiAgICBjb2xvcjogQHdoaXRlO1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IEByZWQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbiAgdWwge1xuICAgIG1hcmdpbi10b3A6IDEycHg7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjc2l0ZS1mb290ZXIgbGkgbGk6bGFzdC1jaGlsZCxcbiAgI3NpdGUtZm9vdGVyIC53aWRnZXQsXG4gICNzaXRlLWZvb3RlciBkaXZbY2xhc3NePVwic3BhblwiXSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuI2JvaWxlcnBsYXRlIHAge1xuICBmb250LWZhbWlseTogQHNtYWxsdGV4dDtcbn1cbiNzaXRlLWZvb3RlciAuc3BhbjUgdWwgbGk6bGFzdC1jaGlsZCBhIHtcbiAgcGFkZGluZzogMTJweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAuY3RhLWJ1dHRvbjtcbn1cbmhlYWRlciAubmV3c2xldHRlci1zaWdudXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTI3cHg7XG4gIHJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMjBweDtcbiAgZm9udC1zaXplOiAyMHB4O1xufVxuLm5ld3NsZXR0ZXItc2lnbnVwIHtcbiAgei1pbmRleDogOTk5O1xuICBhIHtcbiAgICBjb2xvcjogQGJsYWNrO1xuICAgIGZvbnQtZmFtaWx5OiBAc2FucztcbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGNvbG9yOiBsaWdodGVuKEBibGFjaywgMzAlKTtcbiAgICAgIHNwYW4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKEByZWQsIDEwJSk7XG4gICAgICAgIGNvbG9yOiBAd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHNwYW4ge1xuICAgIC5jdGEtYnV0dG9uO1xuICAgIHBhZGRpbmc6IDVweCA4cHggOHB4IDhweDtcbiAgICBtYXJnaW4tbGVmdDogNnB4O1xuICB9XG59XG4uYXJ0aWNsZS1ib3R0b20gLm5ld3NsZXR0ZXItc2lnbnVwIHtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBtYXJnaW4tYm90dG9tOiAyZW07XG59XG4iLCIvKiBCYXNlIHN0eWxlcyBmb3Igc2VjdGlvbiBhbmQgd2lkZ2V0IHRpdGxlcyAqL1xuLnNlY3Rpb24tdGl0bGUge1xuICBmb250LXNpemU6IDMycHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGNvbG9yOiBAYmx1ZTtcbiAgcGFkZGluZy1ib3R0b206IDAuM2VtO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgQGJsdWU7XG59XG5cbi50ZXh0LWFsaWduLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmN0YS1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcmVkO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtZmFtaWx5OiBAc2FucztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gIC8vIEZvciBsaW5rc1xuICBhLCBhOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbihAcmVkLDEwJSk7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cbn1cbiIsIi5nbG9iYWwtbmF2IHtcbiAgI2hlYWRlci1zZWFyY2gge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiNoZWFkZXItc2VhcmNoIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tdG9wOiAxMnB4O1xufVxuXG4uZG9uYXRlLWJ0biB7XG4gIC5jdGEtYnV0dG9uXG59XG5cbiNzaXRlLWhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAxMHB4IDA7XG4gIC5oZWFkZXJfaW1nIHtcbiAgICBtYXgtd2lkdGg6IDIwOHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG4jbWFpbi1uYXYubmF2YmFyIHtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNhYWE7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjYWFhO1xuICBsaSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgICYgPiBhIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiA1MnB4O1xuICAgIH1cbiAgfVxufVxuI21haW4tbmF2Lm5hdmJhciAuZHJvcGRvd24tbWVudSBsaSA+IGEge1xuICBsaW5lLWhlaWdodDogNDBweDtcbn1cblxuI3RvcGljcy1iYXIgYSB7XG4gIGNvbG9yOiBAYmx1ZTtcbn1cbiIsIi8qKlxuICogRGVmaW5lIHRoZSB2YXJpb3VzIHBhZGRpbmdzIGFuZCBoZWlnaHRzIGFyb3VuZCB0aGUgZmxhZ1xuICovXG5AZmxhZ0Jhc2U6IDFlbTtcbkBmbGFnTGluZUhlaWdodDogMS4zOyAvLyBUaGlzIGlzIHRoZSBsYXJnbyBoZWFkaW5nIGRlZmF1bHQuXG5AZmxhZ1BhZGRpbmc6IDEwLzE2KkBmbGFnQmFzZTtcbkBmbGFnSGVpZ2h0OiAoQGZsYWdMaW5lSGVpZ2h0ICogQGZsYWdCYXNlKSArIEBmbGFnUGFkZGluZyArIEBmbGFnUGFkZGluZztcblxuLyoqXG4gKiBJbmNyZWFzZSB0aGUgaGVpZ2h0IG9mIHRoZSBwYWRkaW5nIG9uIHBvc3QgaGVhZGxpbmVzXG4gKi9cbmJvZHkubm9ybWFsLnNpbmdsZS1wb3N0IHtcbiAgLnBvc3QtdHlwZS1wcmVzcy1yZWxlYXNlcyBoMS5lbnRyeS10aXRsZSxcbiAgLnBvc3QtdHlwZS1zcG9uc29yZWQgaDEuZW50cnktdGl0bGUge1xuICAgIHBhZGRpbmctdG9wOiA1MHB4ICsgMTJweDsgLy8gZXN0aW1hdGVkIGZsYWcgaGVpZ2h0IHBsdXMgdGhlIG1hcmdpbi1ib3R0b20gZnJvbSB0aGlzIGgxLmVudHJ5LXRpdGxlLCBmb3IgdW5pZm9ybSBzcGFjaW5nIGluIHRoZSBoZWFkZXIuXG4gICAgY2xlYXI6IGJvdGg7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICBwYWRkaW5nLXRvcDogMS4yNWVtO1xuICAgIH1cbiAgfVxufVxuXG5cbi8qKlxuICogQSBtaXhpbiB0byBzZXQgdXAgdGhlIGJhc2ljIDo6YmVmb3JlIGFuZCA6OmFmdGVyIGFuZCBiYWNrZ3JvdW5kIGFuZCBwYWRkaW5nIGZvciB0aGUgUHJlc3MgUmVsZWFzZXMgYW5kIFNwb25zb3JlZCBwb3N0IHR5cGVzLlxuICpcbiAqIERvZXNuJ3Qgc2V0IHRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9yIHRoZSBib3JkZXIgY29sb3JzLiBEb2VzIHNldCB0aGVpciB3aWR0aHMgYW5kIHBhZGRpbmcuXG4gKi9cbi5mbGFnLW1peGlue1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMC42MjVlbTsgLy8gMTAvMTZcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LWZhbWlseTogQHNtYWxsdGV4dDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMSAqICggMC41ICogQGZsYWdIZWlnaHQgKTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAoIDAuNSAqIEBmbGFnSGVpZ2h0ICk7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQgO1xuICAgIGJvcmRlci1yaWdodDogKDAuNSAqIEBmbGFnSGVpZ2h0KSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAoIDAuNSAqIEBmbGFnSGVpZ2h0ICk7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gIH1cbn1cblxuLypcbiAqIEdlbmVyYWwgcG9zdCBzdHlsZXNcbiAqL1xuLnBvc3QtdHlwZS1wcmVzcy1yZWxlYXNlcyxcbi5wb3N0LXR5cGUtc3BvbnNvcmVkIHtcbiAgLnRvcC10YWcge1xuICAgIHNwYW4ge1xuICAgICAgei1pbmRleDogMTA7XG4gICAgfVxuICAgIGEge1xuICAgICAgLmZsYWctbWl4aW47XG4gICAgICAvL1xuICAgICAgLy8gQ2hhbmdpbmcgdGhpcyBmb250IHNpemUgd2lsbCBjaGFuZ2UgdGhlIGZsYWcgc2l6ZSBwcm9wb3J0aW9uYWxseSFcbiAgICAgIC8vXG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgfVxuICB9XG59XG5cbi8qXG4gKiBTcGVjaWZpYyBjb2xvciBzdHlsZXNcbiAqL1xuLnBvc3QtdHlwZS1wcmVzcy1yZWxlYXNlcyAudG9wLXRhZyBhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHllbGxvdztcbiAgJjo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6IEB5ZWxsb3c7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IEB5ZWxsb3c7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogQHllbGxvdztcbiAgfVxufVxuLnBvc3QtdHlwZS1zcG9uc29yZWQgLnRvcC10YWcgYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBsaWdodGJsdWU7XG4gICY6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6IEBsaWdodGJsdWU7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IEBsaWdodGJsdWU7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogQGxpZ2h0Ymx1ZTtcbiAgfVxufVxuXG4vLyBmaXggZm9yIGhvbWVwYWdlIGJlbG93LXRvcHN0b3J5XG4udG9wc3RvcnktYmVsb3cgLmhhcy10aHVtYm5haWwucG9zdC10eXBlLXByZXNzLXJlbGVhc2VzLFxuLnRvcHN0b3J5LWJlbG93IC5oYXMtdGh1bWJuYWlsLnBvc3QtdHlwZS1zcG9uc29yZWQge1xuICAudG9wLXRhZyB7XG4gICAgcGFkZGluZzogMDtcbiAgICBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgLy8gaW4gaG9tZXBhZ2VzL2Fzc2V0cy9sZXNzL2hvbWVwYWdlLmxlc3MgdGhlcmUgaXMgYSBib3gtc2hhZG93IG9uIHRoaXMgZWxlbWVudCwgYnV0IGl0IGlzIG5vdCBhcHBsaWVkIGhlcmUgYmVjYXVzZSB0aGUgc2hhZG93IGRyYXdzIGEgYm94IGFyb3VuZCB0aGUgdHJhbnNwYXJlbnQgZWxlbWVudHMgYW5kIGl0IGxvb2tzIHdlaXJkLlxuICAgICAgfVxuICAgICAgY29sb3I6IEB3aGl0ZTtcbiAgICB9XG4gIH1cbn1cbi8vIEFuZCBmb3IgYXJjaGl2ZSBwYWdlc1xuLnBvc3QtdHlwZS1wcmVzcy1yZWxlYXNlcyxcbi5wb3N0LXR5cGUtc3BvbnNvcmVkIHtcbiAgLmVudHJ5LWNvbnRlbnQgaDUudG9wLXRhZyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvL25vdCB0aGUgZnVsbCB3aWR0aCBvZiB0aGUgY29sdW1uLlxuICAgIGNsZWFyOiBib3RoO1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFRoZSBoaWVyYXJjaGljYWwgaGVhZGVyIGRvZXNuJ3QgZGlzcGxheSBhIHRvcCB0ZXJtICh1c2VkIGluIGNhdGVnb3JpZXMpLCBzbyB3ZSBmYWtlIGl0IHdpdGggYSA6OmJlZm9yZVxuICovXG4ucHJpbWFyeS1mZWF0dXJlZC1wb3N0LFxuLnNlY29uZGFyeS1mZWF0dXJlZC1wb3N0IHtcbiAgLnBvc3QtdHlwZS1wcmVzcy1yZWxlYXNlcyxcbiAgLnBvc3QtdHlwZS1zcG9uc29yZWQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IDQwcHg7IC8vIGluc3VyYW5jZSBhZ2FpbnN0IGZvbnQtZmFtaWx5IHNoZW5hbmlnYW5zXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vbm90IHRoZSBmdWxsIHdpZHRoIG9mIHRoZSBjb2x1bW4uXG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgZm9udC1mYW1pbHk6IEBzbWFsbHRleHQ7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHllbGxvdztcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICB6LWluZGV4OiAwO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXRvcDogMjBweCBzb2xpZCBAeWVsbG93O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMjBweCBzb2xpZCBAeWVsbG93O1xuICAgICAgYm9yZGVyLXJpZ2h0OiAyMHB4IHNvbGlkIHdoaXRlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG4gIH1cbn1cbi8vIEZpeCBtYXJnaW5zIG9uIHRoZSA6OmJlZm9yZSBpZmYgdGhlcmUgaXMgYSBmZWF0dXJlZCBtZWRpYSwgdXNpbmcgdGhlIHNwYW44IGNsYXMgc3RoYXQgaXMgb25seSB1c2VkIGlmIHRoZXJlIGlzIGEgZmVhdHVyZWQgbWVkaWEuXG5AbWVkaWEgKCBtaW4td2lkdGg6IDc2OXB4ICkge1xuICAuc2Vjb25kYXJ5LWZlYXR1cmVkLXBvc3QgLnNwYW44IHtcbiAgICAucG9zdC10eXBlLXByZXNzLXJlbGVhc2VzLFxuICAgIC5wb3N0LXR5cGUtc3BvbnNvcmVkIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyLjEyNzY1OTU3JTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5wcmltYXJ5LWZlYXR1cmVkLXBvc3QsXG4uc2Vjb25kYXJ5LWZlYXR1cmVkLXBvc3Qge1xuICAucG9zdC10eXBlLXNwb25zb3JlZCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiU1BPTlNPUkVEXCI7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiBAbGlnaHRibHVlO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogQGxpZ2h0Ymx1ZTtcbiAgICB9XG4gIH1cbn1cbi5wcmltYXJ5LWZlYXR1cmVkLXBvc3QsXG4uc2Vjb25kYXJ5LWZlYXR1cmVkLXBvc3Qge1xuICAucG9zdC10eXBlLXByZXNzLXJlbGVhc2VzIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJQUkVTUyBSRUxFQVNFXCI7XG4gICAgfVxuICB9XG59XG5cbmg1LnRvcC10YWcge1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xufVxuXG4vKipcbiAqIFN0eWxlcyBmb3IgdGhlIHNwb25zb3JlZCBjb250ZW50IGRpdiB0aGF0IGNhbiBiZSBwYXN0ZWQgaW50byB0aGUgdG9wIG9mIHN0b3JpZXMuXG4gKlxuICogLnNwb25jb24tc3BvbnNvci1iZWZvcmUtd3JhcHBlciBpcyBmb3IgbGVnYWN5IEhUTUwuXG4gKi9cbi5zcG9uY29uLXNwb25zb3ItYmVmb3JlLXdyYXBwZXIsXG4uc3BvbnNvcmVkLWJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgcGFkZGluZzogMC41ZW0gMC43NWVtIDAuNzVlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2UzZTNlMztcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgLmNsZWFyZml4O1xuICBoMyxcbiAgcCB7XG4gICAgZm9udC1mYW1pbHk6IEBzYW5zO1xuICB9XG4gIGgzIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG4gIHAge1xuICAgIG1hcmdpbi10b3A6IDEuNWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICB9XG4gIC5hbGlnbi1sZWZ0IHtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgLnNwb25jb24tc3BvbnNvci1iZWZvcmUtc3BvbnNvcmVkLWJ5IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW46IDZweCAyMHB4IDEycHggMDtcbiAgfVxuICBmaWd1cmUge1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuXG4vKipcbiAqIFByZXNzIHJlbGVhc2UgcG9zdHMgbWVudSwgaW5zZXJ0ZWQgaW50byBwb3N0c1xuICogXG4gKiBAc2VlIHJuc19wcmVzc19yZWxlYXNlX21lbnVcbiAqL1xuI3ByZXNzLXJlbGVhc2UtbWVudSB7XG4gIHVsIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICAgIHBhZGRpbmctdG9wOiAxZW07XG4gICAgcGFkZGluZy1yaWdodDogMWVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxZW07XG4gICAgcGFkZGluZy1sZWZ0OiAyZW07XG4gICAgZm9udC1mYW1pbHk6IEBzYW5zO1xuICB9XG59XG4vLyBTb21lIHNoaW1zIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSBib3ggaXMgMTAwJSB0aGUgd2lkdGggb2YgdGhlIHNpZGViYXIsIGV2ZW4gdGhvdWdoIG5vbmUgb2YgaXRzIGNvbnN0aXR1ZW50IGVsZW1lbnRzIGFyZSB3aWRlIGVub3VnaCB0byBmb3JjZSB0aGVpciByZXNwZWN0aXZlIGJsb2NrIGVsZW1lbnRzIG91dCB0byB0aGUgd2lkdGggb2YgdGhlIHNpZGViYXIuXG5AbWVkaWEgKG1heC13aWR0aDogMTA3OXB4KSB7XG4gICNzaWRlYmFyICNwcmVzcy1yZWxlYXNlLW1lbnUud2lkZ2V0IHtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwODBweCkge1xuICAjc2lkZWJhciAjcHJlc3MtcmVsZWFzZS1tZW51LndpZGdldCB7XG4gICAgd2lkdGg6IDMwMHB4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuXG4vKipcbiAqIEFkZCBhIG1hcmdpbi1ib3R0b20gdG8gdGhlIHByZXNzIHJlbGVhc2UgZmVhdHVyZWQgaW1hZ2UgaW4gdGhlIG1haW4gYm9keSBvZiB0aGUgcG9zdFxuICovXG5AbWVkaWEgKCBtYXgtd2lkdGg6IDc2OHB4ICkge1xuICAjZmVhdC1pbWctcHJlc3MtcmVsZWFzZXMge1xuICAgIG1hcmdpbi1ib3R0b206IEBiYXNlTGluZUhlaWdodCAqIEBiYXNlRm9udFNpemU7IC8vIG1ha2UgdGhlIHBhZGRpbmcgZXF1YWwgdG8gb25lIGxpbmUgb2YgdGV4dFxuICB9XG59XG4iLCIuc2luZ2xlLXJvdW5kdXAge1xuICBhcnRpY2xlIGhlYWRlcixcbiAgLmFydGljbGUtYm90dG9tLFxuICAuZW50cnktY29udGVudCB7XG4gICAgcGFkZGluZzogMCAxNy4wMjEyNzY1OTQlO1xuICB9XG4gIC5lbnRyeS1jb250ZW50IHtcbiAgICBoMyB7XG4gICAgLnNlY3Rpb24tdGl0bGU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gICAgLmhlYWRsaW5lLWV4Y2VycHQge1xuICAgIGg0LnRvcC10YWcge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1mYW1pbHk6IEBzYW5zO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgICAgICAgY29sb3I6ICNhYWE7XG4gICAgfVxuICAgIGgzIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICAgIH1cbiAgICAuYXJ0aWNsZS1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNWVtO1xuICAgIH1cbiAgICB9XG4gIH1cblxuICBAbWVkaWEgQHRhYmxldERvd24ge1xuICAgIC5hcnRpY2xlLWJvdHRvbSxcbiAgICAuZW50cnktY29udGVudCB7XG4gICAgICBwYWRkaW5nOiAwIEBmbHVpZEdyaWRDb2x1bW5XaWR0aDtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIEBtb2JpbGUge1xuICAgIC5hcnRpY2xlLWJvdHRvbSxcbiAgICAuZW50cnktY29udGVudCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiYm9keS5ub3JtYWwucGFnZSAuZW50cnktY29udGVudCB7XG4gIC5lbnRyeS1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwIDEwJTtcbiAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICB9XG59XG5cbi8vIE1hcmdpbiBiZXR3ZWVuIHRoZSBjb2x1bW4gaGVhZGVyIG9uIHR3by1jb2x1bW4gcG9zdHMgYW5kIHRoZSBwb3N0IGhlYWRsaW5lXG4uY29sdW1ucy1oZWFkZXIgKyBoZWFkZXIge1xuICBtYXJnaW4tdG9wOiAyZW07XG59XG5cbi8vIHJlbW92ZSBncmF5IGJvcmRlciBhcm91bmQgaGVhZGVyIGltYWdlc1xuYm9keS50YXgtY29sdW1ucyAjbWFpbixcbmJvZHkuc2luZ2xlLWZvcm1hdC1zdGFuZGFyZCAjbWFpbiB7XG4gIC5oZXJvLmlzLWltYWdlIGltZyB7XG4gICAgYm9yZGVyOiBub25lO1xuICB9XG59XG4iLCIuZW50cnktY29udGVudCAudGF4LXRlcm0tbGlzdGluZyB7XG4gIGltZy50aHVtYiB7XG4gICAgbWF4LXdpZHRoOiA4MHB4O1xuICB9XG4gIGgzIHtcblx0Zm9udC1zaXplOiAzMnB4O1xuXHRtYXJnaW4tYm90dG9tOiA4cHg7XG5cdCYud2lkZ2V0dGl0bGUge1xuXHQgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYWFhO1xuXHQgIGEge1xuXHQgICAgY29sb3I6ICMzMzM7XG5cdCAgfVxuXHR9XG4gICAgJi5lbnRyeS10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuICBoNS5ieWxpbmUge1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICB9XG4gIHAge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgJi5yZWNlbnQge1xuICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBhcnRpY2xlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gIH1cbiAgLml0ZW0ge1xuICAgIG1hcmdpbi10b3A6IDM2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzZweDtcbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyB1c2UgQ1RBIGJ1dHRvbiBzdHlsZXMgZm9yIGdyYXZpdHkgZm9ybXMgYnV0dG9uc1xuLmdmb3JtX2J1dHRvbiB7XG4gIHBhZGRpbmc6IDEycHg7XG4gIC5jdGEtYnV0dG9uO1xufVxuXG4vLyBkYXRlcGlja2VyIGZpeGVzLCB0aGVzZSBtYXkgbmVlZCB0byBiZSBzY29wZWQgbW9yZSBuYXJyb3dseS4uLlxuLnVpLWRhdGVwaWNrZXIge1xuICB3aWR0aDogMjYwcHg7XG4gIHRkIGEge1xuICAgIHdpZHRoOiAzNnB4O1xuICB9XG59XG4udWktZGF0ZXBpY2tlci1oZWFkZXIge1xuICBwYWRkaW5nOiAxMHB4IDIwcHggMjBweDtcbn1cblxuLmdmb3JtX3dyYXBwZXIge1xuICBcbiAgLy8gY2hlY2tib3hlcyBhbmQgbGFiZWxzXG4gIC5nZmllbGRfY2hlY2tib3ggbGkge1xuICAgIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICBpbnB1dFt0eXBlPSdjaGVja2JveCddIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICB9XG4gIFxuICAvLyBmaXggd2VpcmQgc3BhY2luZyBvZiBmaWVsZCBsYWJlbHMgZm9yIGFkZHJlc3Nlc1xuICBpbnB1dFt0eXBlPXRleHRdIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIC5maWVsZF9zdWJsYWJlbF9iZWxvdyAuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lciBsYWJlbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgfVxuICBcbiAgLy8gdHJ5IHRvIHNldCB0aGUgaGVpZ2h0IG9mIGRyb3Bkb3duIG1lbnVzIHRvIG1hdGNoIHRleHQgZmllbGRzXG4gICYuZ2ZfYnJvd3Nlcl9jaHJvbWUgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfcmlnaHQgc2VsZWN0LFxuICAmLmdmX2Jyb3dzZXJfY2hyb21lIC5naW5wdXRfY29tcGxleCBzZWxlY3Qge1xuICAgIGhlaWdodDogNDFweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgXG59XG5cbi8vIG1ha2UgdGhlIHJhZGlvIGJ1dHRvbnMgaW50byByZWFsIGJ1dHRvbnMgb24gZG9uYXRpb24gZm9ybSBcbiNnZm9ybV93cmFwcGVyXzE3IHtcbiAgdWwuZ2ZpZWxkX3JhZGlvIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIGlucHV0IHtcblx0ICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBsYWJlbCB7XG5cdCAgcGFkZGluZzogMTJweCAyNHB4O1xuXHQgIC5jdGEtYnV0dG9uO1xuXHQgIGZvbnQtc2l6ZTogMThweDtcbiAgICB9XG4gICAgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCtsYWJlbCB7XG5cdCAgYmFja2dyb3VuZC1jb2xvcjogQGdyYXk7XG5cdCAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gc3R5bGVzIHR3ZWFrcyBmb3IgdGhlIHByZXNzIHJlbGVhc2Ugc3VibWlzc2lvbiBmb3JtXG4jZ2Zvcm1fd3JhcHBlcl8yNCB7XG4gIC5nZmllbGRfZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmctdG9wOiA4cHg7XG4gIH1cbiAgLmdmb3JtX25leHRfYnV0dG9uLFxuICAuZ2Zvcm1fcHJldmlvdXNfYnV0dG9uIHtcbiAgICAuY3RhLWJ1dHRvbjtcbiAgICBwYWRkaW5nOiAxMnB4IDI0cHg7XG4gIH1cbiAgLmdmb3JtX3ByZXZpb3VzX2J1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGdyYXk7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICB9XG59IiwiLyoqXG4gKiBTdHlsZXMgZm9yIHRoZSBzZWFyY2h3cCBzaG9ydGNvZGUsIHdoZW4gdXNlZCB3aXRoIHRoZSAncGhvdG8nIGVuZ2luZVxuICovXG4uc2VhcmNod3Atc2hvcnRjb2RlLXJlc3VsdHMucGhvdG8ge1xuICAuc3BhbjMge1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcblxuICAgIC5idG4sXG4gICAgLnNpemUsXG4gICAgLndwLWNhcHRpb24tdGV4dCBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICAgICAgZm9udC1mYW1pbHk6IEBzYW5zO1xuICAgIH1cblxuICAgIC8vIHRocmVlIGNvbHVtbnNcbiAgICBAbWVkaWEgKCBtaW4td2lkdGg6IDc2OXB4ICkge1xuICAgICAgJjpudGgtY2hpbGQoNG4rMSkge1xuICAgICAgICBjbGVhcjogbGVmdDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gdHdvIGNvbHVtbnNcbiAgICBAbWVkaWEgKCBtaW4td2lkdGg6IDQyMHB4ICkgYW5kICggbWF4LXdpZHRoOiA3NjhweCApIHtcbiAgICAgIHdpZHRoOiA0OC45MzYxNzAyMSU7XG4gICAgICBtYXJnaW4tbGVmdDogMi4xMjc2NTk1NyU7XG4gICAgICAmOm50aC1jaGlsZCgybisxKSB7XG4gICAgICAgIGNsZWFyOiBsZWZ0O1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIG9uZSBjb2x1bW5cbiAgICBAbWVkaWEgKCBtYXgtd2lkdGg6IDQxOXB4ICkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgfVxuICAuZGF0ZS1saW5rIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8qKlxuICogVGhlIGFkdmFuY2VkIHBob3RvIHNlYXJjaCBidXR0b25cbiAqL1xuI2FkdmFuY2VkLXNlYXJjaCB7XG4gIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgYSB7XG4gIH1cbn1cbiIsIi8qKlxuICogU3R5bGVzIGZvciB0aGUgJ2Rvd25sb2FkJyBwb3N0IHR5cGUgcmVnaXN0ZXJlZCBieSBFYXN5IERpZ2l0YWwgRG93bmxvYWRzXG4gKi9cblxuLyoqXG4gKiBTdHlsZXMgZm9yIHNpbmdsZS1kb3dubG9hZC5waHAgYW5kIHBhcnRpYWxzL2NvbnRlbnQtZG93bmxvYWQucGhwXG4gKi9cbi50eXBlLWRvd25sb2FkIHtcbiAgaDEuZW50cnktdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgfVxuXG4gIC5kb3dubG9hZC1jb250ZW50cy10aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gIH1cblxuICAuZG93bmxvYWQtY29udGVudHMge1xuICAgIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICB9XG4gICAgLnNpemUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1mYW1pbHk6IEBzYW5zO1xuICAgICAgcGFkZGluZzogMCAycHg7XG4gICAgICBtYXJnaW4tbGVmdDogMC41ZW07XG4gICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgICAgb3V0bGluZTogMXB4IHNvbGlkIEByZWQ7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIEB0YWJsZXRVcCAge1xuICAgIC5lbnRyeS1jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDAgMTcuMDIxMjc2NTk0JTtcbiAgICB9XG5cbiAgICA+IGhlYWRlciB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIG1hcmdpbjogMjRweCAxNy4wMjEzJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuLmVkZC1hZGQtdG8tY2FydC5idXR0b24uYmx1ZSB7XG4gIC5jdGEtYnV0dG9uO1xuICBmb250LXNpemU6IDEuM2VtO1xufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoZSBiYXNpY3MsIGltcG9ydGVkIGZyb20gTGFyZ29cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW1wb3J0IFwidmFyaWFibGVzLmxlc3NcIjtcbkBpbXBvcnQgXCJtaXhpbnMubGVzc1wiO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUk5TIGN1c3RvbSB2YXJpYWJsZXMgdXNlZCBpbiB0aGUgbmF2YmFyIGFuZCBmb290ZXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW1wb3J0IFwidmFycy5sZXNzXCI7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBMYXlvdXQgYW5kIHBhZ2Ugc3R5bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGltcG9ydCBcIm5hdmJhci1jb21tb24ubGVzc1wiO1xuQGltcG9ydCBcIm5hdmJhci1zdGlja3kubGVzc1wiO1xuQGltcG9ydCBcImZvb3Rlci5sZXNzXCI7XG5AaW1wb3J0IFwic2luZ2xlLmxlc3NcIjtcblxuQGltcG9ydCBcIl90eXBvZ3JhcGh5Lmxlc3NcIjtcbkBpbXBvcnQgXCJfd2lkZ2V0cy5sZXNzXCI7XG5AaW1wb3J0IFwiX2hlYWRlci5sZXNzXCI7XG5AaW1wb3J0IFwiX21peGlucy5sZXNzXCI7XG5cbkBpbXBvcnQgXCJzcG9uc29yZWQubGVzc1wiO1xuQGltcG9ydCBcInNsaW5nc2hvdHMubGVzc1wiO1xuQGltcG9ydCBcImNvbHVtbnMubGVzc1wiO1xuQGltcG9ydCBcInRheC5sZXNzXCI7XG5AaW1wb3J0IFwiZm9ybXMubGVzc1wiO1xuQGltcG9ydCBcInNlYXJjaC5sZXNzXCI7XG5AaW1wb3J0IFwiZG93bmxvYWRzLmxlc3NcIjtcblxuXG4vKiBHZW5lcmFsIFN0eWxlcyAqL1xuYm9keSB7XG4gIHAge1xuICAgIGNvbG9yOiAjMTUxNzE5O1xuICB9XG59XG5cbi50ZXh0d2lkZ2V0IHtcbiAgZm9udC1mYW1pbHk6IEBib2R5O1xuICBmb250LXNpemU6IDE2cHg7XG59XG5cbi5idG4ge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAmLmJ0bi1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmx1ZTtcbiAgICBjb2xvcjogQHdoaXRlO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihAYmx1ZSwgNSUpO1xuICAgIH1cbiAgfVxufVxuXG4jbWFpbiBpbWcge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWVlO1xufVxuXG4jbmF2LWJlbG93LFxuLm1vcmVsaW5rLFxuI25hdi1iZWxvdy5wYWdlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNsZWFyOiBib3RoO1xuICBtYXJnaW46IDI0cHggMDtcbiAgZm9udC1mYW1pbHk6IEBzYW5zO1xuICBmb250LXdlaWdodDogMzAwO1xuICBhIHtcbiAgICBwYWRkaW5nOiAxMnB4IDI0cHg7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBibHVlO1xuICAgIC5ib3JkZXItcmFkaXVzKDRweCk7XG4gICAgJjpob3ZlciB7XG5cdCAgYmFja2dyb3VuZC1jb2xvcjogI2FhYTtcblx0ICBjb2xvcjogI2ZmZjtcblx0ICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG4jbmF2LWJlbG93LnBhZ2VyIGEsXG4jbmF2LWJlbG93IC5tb3JlbGluayBhIHtcbiAgcGFkZGluZzogMjRweCA0OHB4O1xufVxuXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLWNsZWFuIGhlYWRlci50ZXh0LWFsaWduLWNlbnRlciB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG5ib2R5Lm5vcm1hbC5wYWdlLXRlbXBsYXRlLXBhZ2UtY2xlYW4gYXJ0aWNsZS5wYWdlID4gaGVhZGVyLmVudHJ5LWhlYWRlciB7XG4gIG1hcmdpbjogMjRweCAwO1xufVxuIl19 */