/*
Theme Name:     GIJN - Impact Project Site
Theme URI:      http://largoproject.org
Description:    A child theme for GIJN's Impact Project site based on the Project Largo parent theme.
Author:         Adam Schweigert/INN
Author URI:     http://largoproject.org
Template:       largo
Version:        0.1.1
*/
/* Largo essentials */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section {
  display: block;
}
audio,
canvas,
video {
  display: inline-block;
  *display: inline;
  *zoom: 1;
}
audio:not([controls]) {
  display: none;
}
html {
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}
a:focus {
  outline: thin dotted #333;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
a:hover,
a:active {
  outline: 0;
}
sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
img {
  max-width: 100%;
  vertical-align: middle;
  border: 0;
  -ms-interpolation-mode: bicubic;
}
#map_canvas img {
  max-width: none;
}
button,
input,
select,
textarea {
  margin: 0;
  font-size: 100%;
  vertical-align: middle;
}
button,
input {
  *overflow: visible;
  line-height: normal;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
  padding: 0;
  border: 0;
}
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  cursor: pointer;
  -webkit-appearance: button;
}
input[type="search"] {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  -webkit-appearance: textfield;
}
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: none;
}
textarea {
  overflow: auto;
  vertical-align: top;
}
.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;
}
/**
 * @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
 */
/* GIJN custom vars */
/* Largo nav styles */
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: #ffffff;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.navbar .container {
  width: auto;
}
.navbar .toggle-nav-bar {
  display: none;
}
.navbar .navbar-inner {
  background-color: #333333;
}
.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: #ffffff;
}
.navbar .nav > li > a {
  color: #ffffff;
}
.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: #ffffff;
  padding-right: 10px;
  line-height: 1.5;
}
.navbar li.dropdown .dropdown-menu li a:hover {
  color: #f2f2f2;
}
.navbar li > a:hover {
  background-color: #262626;
  color: #f2f2f2;
}
.navbar li > a:hover .caret:before {
  border-top-color: #f2f2f2;
}
.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: #4b9bde;
}
.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 #ffffff;
  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: #ffffff;
  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: #ffffff;
}
.navbar.sticky-navbar li a .caret:before {
  border-top-color: #484848;
}
.navbar.sticky-navbar li a:hover .caret:before {
  border-top-color: #ffffff;
}
.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: #ffffff;
}
.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: #ffffff;
}
.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: #bd261d;
}
.navbar.sticky-navbar .nav-right #header-extras .donate a span:hover {
  background-color: #d32a20;
}
.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: #2275bb;
  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: #ffffff;
  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;
}
#main-nav.navbar li.dropdown .dropdown-menu li a {
  color: #333333;
}
#main-nav.navbar li.dropdown .dropdown-menu li a:hover {
  color: #f2f2f2;
}
a {
  color: #6e1e23;
}
a:hover {
  color: #962930;
}
.category .row-fluid .stories {
  margin: 0 auto;
  float: none;
}
.guide-page .author-posts-link {
  display: none;
}
.guide-page .entry-content .widget {
  padding: 15px 0;
}
.guide-page .pager a {
  width: 100%;
  box-sizing: border-box;
  height: 100%;
}
.guide-page .pager h5.top-page {
  margin-bottom: 0;
  font-size: 21px;
}
.guide-page .toggle-nav-bar {
  display: none;
}
.guide-page .guide-nav {
  padding: 20px;
  background-color: #efefef;
}
.guide-page .guide-nav h4 {
  font-size: 18px;
  margin-bottom: 8px;
  text-transform: uppercase;
}
.guide-page .guide-nav h4 a {
  color: #333333;
}
.guide-page .guide-nav .current_page_item {
  font-weight: bold;
}
.guide-page .guide-nav .current_page_item .children {
  font-weight: normal;
}
.guide-page h3.guide-author {
  font-size: 18px;
  margin-bottom: 0;
}
.guide-page .largo-author .widgettitle {
  font-size: 18px;
  text-transform: uppercase;
  margin-bottom: 8px;
  color: #efefef;
}
.guide-page .largo-author h5 {
  margin-bottom: 8px;
}
.guide-page .largo-author ul {
  padding: 0;
  margin: 0;
}
.guide-page .largo-author .author-posts-link {
  display: none;
}
@media screen and (max-width: 782px) {
  .guide-page .guide-nav {
    width: 100%;
    padding: 0;
  }
  .guide-page .guide-nav .container {
    margin: 5px 10px;
  }
  .guide-page .guide-nav .guide-tree,
  .guide-page .guide-nav .resources {
    display: none;
  }
  .guide-page .guide-nav .toggle-nav-bar {
    display: block;
    margin-top: 0;
  }
  .guide-page .guide-nav h4 {
    font-size: 21px;
    margin: 0.1em 0;
    color: black;
  }
  .guide-page .guide-nav ul {
    margin: 0 -10px 0 44px;
  }
  .guide-page .guide-nav li {
    display: block;
    float: none;
  }
  .guide-page .guide-nav li > a {
    padding: 6px 10px;
  }
  .guide-page .guide-nav .resources h4 {
    margin-left: 46px;
  }
  .guide-page article.span9 {
    width: 100%;
    margin-left: 0;
    margin-top: 10px;
  }
  .guide-page article.span9 .entry-content h3 {
    font-size: 21px;
    margin-bottom: 12px;
  }
  .guide-page article.span9 .entry-content h3.guide-author {
    margin-bottom: 0;
  }
  .guide-page .pager .next,
  .guide-page .pager .previous {
    width: 100%;
    margin-bottom: 8px;
  }
}
.guide-resources {
  margin-left: 0;
}
.guide-resources li {
  display: block;
}
.guide-resources a {
  word-wrap: break-word;
  word-break: break-word;
}
.guide-resources .attachment-meta {
  white-space: nowrap;
}
.guide-resources i {
  -webkit-font-smoothing: antialiased;
}
.guide-resources .icon-picture {
  color: cadetblue;
}
.guide-resources .icon-play {
  color: crimson;
}
.guide-resources .icon-table {
  color: forestgreen;
}
.guide-resources .icon-doc-text {
  color: mediumblue;
}
.guide-resources .icon-doc-text-inv {
  color: firebrick;
}
.guide-resources .icon-download {
  color: indigo;
}

/* Sessions template */
.session-title h4 {
  margin-bottom: 0.5em;
}

.conference-sessions {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 10px;
  background-color: #fff;
  color: #444;
}

.conference-sessions article {
  background-color: #e8e8e8;
  padding: 20px;
}

.conference-sessions article .entry-content h2 {
  font-size: 1em;
}

.subtext, .session-track, .session-time, .session-date {
  font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
  font-weight: bold;
  font-size: 0.9em;
  color: #000;
  text-transform:uppercase;
}

.session-date {
  padding-right: 0.5em;
}

.session-time {
  padding-right: 1em;
}

.single .session-track {
  background: #6e1e23;
  color: #fff;
  font-weight: 300;
  padding: 0.5em 1em;
}

.session-excerpt p {
  font-size: 1em;
}

.more-sessions {
  margin-top: 1em;
}

.speaker-title {
  font-size: 1em;
  padding-bottom: 0.5em;
  color: #000;
  text-transform: uppercase;
  font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
}

.speaker-item {
  border-top: 1px solid #6e1e23;
}

.speaker-item a {
  text-transform: uppercase;
  font-size: 0.9em;
  font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
}

.session-container {
  border-bottom: 1px solid #6e1e23;
  margin-bottom: 1em;
}

.session-youtube-video {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
}

.youtube-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* Speakers template */

.conference-speakers {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  align-content: flex-start;
}

.conference-speakers article {
  flex: 20%;
  text-align: center;
  vertical-align: top;
}

.conference-speakers article .entry-content {
  padding: 0.5em;
  margin-bottom: 0;
}

.conference-speakers article .speaker-excerpt p, .speaker article .speaker-excerpt p {
  font-size: 1em;
  margin-bottom: 0;
}

.conference-speakers article img.attachment-post-thumbnail, .speaker article img.attachment-post-thumbnail  {
  float: none;
}

.conference-speakers article img, .speaker article img {
  border-radius: 50%;
  border: 5px solid #262626;
}

.conference-speakers .entry-content h4, .speaker-title h4 {
  margin-top: 0.5em;
  margin-bottom: 0;
}

.conference-sessions .pager .load-more, .conference-speakers .pager .load-more {
  display: block;
  text-align: center;
}

.speaker-header {
  padding-top: 1em;
  padding-bottom: 1em;
  border-bottom: 1px solid #e8e8e8;
  display: flex;
  align-items: center;
}

.speaker-profile-picture {
  flex: 15%;
}

.speaker-title {
  flex: 85%;
}

.speaker-description, .session-description {
  padding-top: 1em;
  padding-bottom: 1em;
}

.social-profiles a {
  padding-right: 1em;
}

@media (max-width: 768px) {

  .conference-sessions {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    grid-gap: 10px;
    background-color: #fff;
    color: #444;
  }
  
  .conference-speakers {
    display: block;
    align-content: flex-start;
    justify-content: flex-start;
  }

  .conference-speakers article {
    width: 100%;
    text-align: center;
    vertical-align: top;
  }

  .speaker-header {
    padding-top: 1em;
    padding-bottom: 1em;
    border-bottom: 1px solid #e8e8e8;
    display: block;
    text-align: center;
}

  .speaker-profile-picture {
    width: 100%;
  }
  
  .speaker-title {
    width: 100%;
  }

}

/* Interviews category template */
.video-container {
  position: relative;
  float: left;
  padding: 0;
  margin: 0 0 10px 0;
}
.video-container a {
  display: block;
  float: left;
}
.video-container img {
  width: 100%;
  height: auto;
  margin: 0 0 6px 0;
}
.video-container span.play-button-overlay {
  position: absolute;
  font-size: 4em;
  text-shadow: 1px 1px 4px #343434;
  width: 100%;
  height: 100%;
  display: block;
  text-align: center;
}
.video-container span.play-button-overlay i {
  display: block;
  top: 50%;
  margin-top: -48px;
  position: relative;
  text-align: center;
}
.category-interviews .entry-title {
  font-size: 20px;
  margin-bottom: 12px;
}
.category-interviews p {
  font-size: 16px;
}
/* Footer */
.footer-bg {
  background-color: #302e2c;
}
#site-footer a {
  color: #eee;
}
#site-footer a:hover {
  color: #fff;
}
.home #supplementary {
  margin-bottom: 0;
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xhcmdvLWRldi9sZXNzL2luYy9yZXNldC5sZXNzIiwiLi4vbGFyZ28tZGV2L2xlc3MvaW5jL21peGlucy5sZXNzIiwiLi4vbGFyZ28tZGV2L2xlc3MvaW5jL25hdmJhci1jb21tb24ubGVzcyIsIi4uL2xhcmdvLWRldi9sZXNzL2luYy92YXJpYWJsZXMubGVzcyIsIi4uL2xhcmdvLWRldi9sZXNzL2luYy9uYXZiYXItc3RpY2t5Lmxlc3MiLCJsZXNzL3N0eWxlLmxlc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBQ0UsY0FBQTs7QUFNRjtBQUNBO0FBQ0E7RUFDRSxxQkFBQTtFQUNBLGdCQUFBO0VBQ0EsUUFBQTs7QUFNRixLQUFLLElBQUk7RUFDTCxhQUFBOztBQU1KO0VBQ0UsZUFBQTtFQUNBLDhCQUFBO0VBQ0ksMEJBQUE7O0FBR04sQ0FBQztFQ3ZDQyx5QkFBQTtFQUVBLDBDQUFBO0VBQ0Esb0JBQUE7O0FEd0NGLENBQUM7QUFDRCxDQUFDO0VBQ0MsVUFBQTs7QUFNRjtBQUNBO0VBQ0Usa0JBQUE7RUFDQSxjQUFBO0VBQ0EsY0FBQTtFQUNBLHdCQUFBOztBQUVGO0VBQ0UsV0FBQTs7QUFFRjtFQUNFLGVBQUE7O0FBTUY7RUFDRSxlQUFBO0VBQ0Esc0JBQUE7RUFDQSxTQUFBO0VBQ0EsK0JBQUE7O0FBSUYsV0FBWTtFQUNWLGVBQUE7O0FBT0Y7QUFDQTtBQUNBO0FBQ0E7RUFDRSxTQUFBO0VBQ0EsZUFBQTtFQUNBLHNCQUFBOztBQUVGO0FBQ0E7RUFDRSxrQkFBQTtFQUNBLG1CQUFBOztBQUVGLE1BQU07QUFDTixLQUFLO0VBQ0gsVUFBQTtFQUNBLFNBQUE7O0FBRUY7QUFDQSxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7RUFDSCxlQUFBO0VBQ0EsMEJBQUE7O0FBRUYsS0FBSztFQUNILCtCQUFBO0VBQ0csNEJBQUE7RUFDSyx1QkFB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QUk7RUFDRixrQkFBQTtFQUNBLGNBQUE7RUFDQSxnQ0FBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsY0FBQTtFQUNBLGtCQUFBOztBQXhCSixnQkFpQkUsS0FBSSxvQkFRRjtFQUNFLGNBQUE7RUFDQSxRQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtFQUNBLGtCQUFBOztBQUlOLG9CQUNFO0VBQ0UsZUFBQTtFQUNBLG1CQUFBOztBQUhKLG9CQUtFO0VBQ0UsZUFBQTs7O0FBS0o7RUFDRSx5QkFBQTs7QUFFRixZQUFhO0VBQ1gsV0FBQTs7QUFDQSxZQUZXLEVBRVY7RUFDQyxXQUFBOztBQUdKLEtBQU07RUFDSixnQkFBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIFJlc2V0Lmxlc3Ncbi8vIEFkYXB0ZWQgZnJvbSBOb3JtYWxpemUuY3NzIGh0dHA6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIERpc3BsYXkgaW4gSUU2LTkgYW5kIEZGM1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm5hdixcbnNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gRGlzcGxheSBibG9jayBpbiBJRTYtOSBhbmQgRkYzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmF1ZGlvLFxuY2FudmFzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICpkaXNwbGF5OiBpbmxpbmU7XG4gICp6b29tOiAxO1xufVxuXG4vLyBQcmV2ZW50cyBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nICdhdWRpbycgd2l0aG91dCBjb250cm9sc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8vIEJhc2Ugc2V0dGluZ3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG59XG4vLyBGb2N1cyBzdGF0ZXNcbmE6Zm9jdXMge1xuICAudGFiLWZvY3VzKCk7XG59XG4vLyBIb3ZlciAmIEFjdGl2ZVxuYTpob3ZlcixcbmE6YWN0aXZlIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gUHJldmVudHMgc3ViIGFuZCBzdXAgYWZmZWN0aW5nIGxpbmUtaGVpZ2h0IGluIGFsbCBicm93c2Vyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5zdWIsXG5zdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbi8vIEltZyBib3JkZXIgaW4gYSdzIGFuZCBpbWFnZSBxdWFsaXR5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTsgLy8gTWFrZSBpbWFnZXMgaW5oZXJlbnRseSByZXNwb25zaXZlXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlcjogMDtcbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbn1cblxuLy8gUHJldmVudCBtYXgtd2lkdGggZnJvbSBhZmZlY3RpbmcgR29vZ2xlIE1hcHNcbiNtYXBfY2FudmFzIGltZyB7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cblxuLy8gRm9ybXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gRm9udCBzaXplIGluIGFsbCBicm93c2VycywgbWFyZ2luIGNoYW5nZXMsIG1pc2MgY29uc2lzdGVuY3lcbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbmJ1dHRvbixcbmlucHV0IHtcbiAgKm92ZXJmbG93OiB2aXNpYmxlOyAvLyBJbm5lciBzcGFjaW5nIGllIElFNi83XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7IC8vIEZGMy80IGhhdmUgIWltcG9ydGFudCBvbiBsaW5lLWhlaWdodCBpbiBVQSBzdHlsZXNoZWV0XG59XG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7IC8vIElubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBvZGRpdGllcyBpbiBGRjMvNFxuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG59XG5idXR0b24sXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIGN1cnNvcjogcG9pbnRlcjsgLy8gQ3Vyc29ycyBvbiBhbGwgYnV0dG9ucyBhcHBsaWVkIGNvbnNpc3RlbnRseVxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gU3R5bGUgY2xpY2thYmxlIGlucHV0cyBpbiBpT1Ncbn1cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0geyAvLyBBcHBlYXJhbmNlIGluIFNhZmFyaS9DaHJvbWVcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG59XG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gSW5uZXItcGFkZGluZyBpc3N1ZXMgaW4gQ2hyb21lIE9TWCwgU2FmYXJpIDVcbn1cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIFJlbW92ZSB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUU2LTlcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgLy8gUmVhZGFiaWxpdHkgYW5kIGFsaWdubWVudCBjcm9zcy1icm93c2VyXG59XG5cbi8vIFVUSUxJVFkgTUlYSU5TXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBDbGVhcmZpeFxuLy8gLS0tLS0tLS1cbi8vIEZvciBjbGVhcmluZyBmbG9hdHMgbGlrZSBhIGJvc3MgaDVicC5jb20vcVxuLmNsZWFyZml4IHtcbiAgKnpvb206IDE7XG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG4gICY6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vIENTUyBpbWFnZSByZXBsYWNlbWVudFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSGlkZSBhbiBpdGVtIHZpc3VhbGx5IG9ubHlcbi52aXN1YWxseWhpZGRlbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgaGVpZ2h0OiAxcHg7IHdpZHRoOiAxcHg7XG4gIG1hcmdpbjogLTFweDsgcGFkZGluZzogMDsgYm9yZGVyOiAwO1xufVxuXG4vLyBDU1MgaW1hZ2UgcmVwbGFjZW1lbnRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvY29tbWl0L2FhMDM5NmVhZTc1N1xuLmhpZGUtdGV4dCB7XG4gIGZvbnQ6IDAvMCBhO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBCbG9jayBsZXZlbCBmb3JtIGlucHV0c1xuLmlucHV0LWJsb2NrLWxldmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAyOHB4OyAgICAgICAgLy8gTWFrZSBpbnB1dHMgYXQgbGVhc3QgdGhlIGhlaWdodCBvZiB0aGVpciBidXR0b24gY291bnRlcnBhcnRcbiAgLmJveC1zaXppbmcoYm9yZGVyLWJveCk7IC8vIE1ha2VzIGlucHV0cyBiZWhhdmUgbGlrZSB0cnVlIGJsb2NrLWxldmVsIGVsZW1lbnRzXG59XG4iLCIvLyBNaXhpbnMubGVzc1xuLy8gU25pcHBldHMgb2YgcmV1c2FibGUgQ1NTIHRvIGRldmVsb3AgZmFzdGVyIGFuZCBrZWVwIGNvZGUgcmVhZGFibGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFdlYmtpdC1zdHlsZSBmb2N1c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG4udGFiLWZvY3VzKCkge1xuICAvLyBEZWZhdWx0XG4gIG91dGxpbmU6IHRoaW4gZG90dGVkICMzMzM7XG4gIC8vIFdlYmtpdFxuICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xufVxuXG4vLyBDZW50ZXItYWxpZ24gYSBibG9jayBsZXZlbCBlbGVtZW50XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uY2VudGVyLWJsb2NrKCkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLy8gSUU3IGlubGluZS1ibG9ja1xuLy8gLS0tLS0tLS0tLS0tLS0tLVxuLmllNy1pbmxpbmUtYmxvY2soKSB7XG4gICpkaXNwbGF5OiBpbmxpbmU7IC8qIElFNyBpbmxpbmUtYmxvY2sgaGFjayAqL1xuICAqem9vbTogMTtcbn1cblxuLy8gSUU3IGxpa2VzIHRvIGNvbGxhcHNlIHdoaXRlc3BhY2Ugb24gZWl0aGVyIHNpZGUgb2YgdGhlIGlubGluZS1ibG9jayBlbGVtZW50cy5cbi8vIEVtcyBiZWNhdXNlIHdlJ3JlIGF0dGVtcHRpbmcgdG8gbWF0Y2ggdGhlIHdpZHRoIG9mIGEgc3BhY2UgY2hhcmFjdGVyLiBMZWZ0XG4vLyB2ZXJzaW9uIGlzIGZvciBmb3JtIGJ1dHRvbnMsIHdoaWNoIHR5cGljYWxseSBjb21lIGFmdGVyIG90aGVyIGVsZW1lbnRzLCBhbmRcbi8vIHJpZ2h0IHZlcnNpb24gaXMgZm9yIGljb25zLCB3aGljaCBjb21lIGJlZm9yZS4gQXBwbHlpbmcgYm90aCBpcyBvaywgYnV0IGl0IHdpbGxcbi8vIG1lYW4gdGhhdCBzcGFjZSBiZXR3ZWVuIHRob3NlIGVsZW1lbnRzIHdpbGwgYmUgLjZlbSAofjIgc3BhY2UgY2hhcmFjdGVycykgaW4gSUU3LFxuLy8gaW5zdGVhZCBvZiB0aGUgMSBzcGFjZSBpbiBvdGhlciBicm93c2Vycy5cbi5pZTctcmVzdG9yZS1sZWZ0LXdoaXRlc3BhY2UoKSB7XG4gICptYXJnaW4tbGVmdDogLjNlbTtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICAqbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuLmllNy1yZXN0b3JlLXJpZ2h0LXdoaXRlc3BhY2UoKSB7XG4gICptYXJnaW4tcmlnaHQ6IC4zZW07XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICAqbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuLy8gU2l6aW5nIHNob3J0Y3V0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnNpemUoQGhlaWdodCwgQHdpZHRoKSB7XG4gIHdpZHRoOiBAd2lkdGg7XG4gIGhlaWdodDogQGhlaWdodDtcbn1cbi5zcXVhcmUoQHNpemUpIHtcbiAgLnNpemUoQHNpemUsIEBzaXplKTtcbn1cblxuLy8gUGxhY2Vob2xkZXIgdGV4dFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnBsYWNlaG9sZGVyKEBjb2xvcjogQHBsYWNlaG9sZGVyVGV4dCkge1xuICAmOi1tb3otcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiBAY29sb3I7XG4gIH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiBAY29sb3I7XG4gIH1cbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IEBjb2xvcjtcbiAgfVxufVxuXG4vLyBUZXh0IG92ZXJmbG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSZXF1aXJlcyBpbmxpbmUtYmxvY2sgb3IgYmxvY2sgZm9yIHByb3BlciBzdHlsaW5nXG4udGV4dC1vdmVyZmxvdygpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cblxuLy8gRk9OVFNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiNmb250IHtcbiAgI2ZhbWlseSB7XG4gICAgLnNlcmlmKCkge1xuICAgICAgZm9udC1mYW1pbHk6IEBzZXJpZkZvbnRGYW1pbHk7XG4gICAgfVxuICAgIC5zYW5zLXNlcmlmKCkge1xuICAgICAgZm9udC1mYW1pbHk6IEBzYW5zRm9udEZhbWlseTtcbiAgICB9XG4gICAgLm1vbm9zcGFjZSgpIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBAbW9ub0ZvbnRGYW1pbHk7XG4gICAgfVxuICB9XG4gIC5zaG9ydGhhbmQoQHNpemU6IEBiYXNlRm9udFNpemUsIEB3ZWlnaHQ6IG5vcm1hbCwgQGxpbmVIZWlnaHQ6IEBiYXNlTGluZUhlaWdodCkge1xuICAgIGZvbnQtc2l6ZTogQHNpemU7XG4gICAgZm9udC13ZWlnaHQ6IEB3ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6IEBsaW5lSGVpZ2h0O1xuICB9XG4gIC5zZXJpZihAc2l6ZTogQGJhc2VGb250U2l6ZSwgQHdlaWdodDogbm9ybWFsLCBAbGluZUhlaWdodDogQGJhc2VMaW5lSGVpZ2h0KSB7XG4gICAgI2ZvbnQgPiAjZmFtaWx5ID4gLnNlcmlmO1xuICAgICNmb250ID4gLnNob3J0aGFuZChAc2l6ZSwgQHdlaWdodCwgQGxpbmVIZWlnaHQpO1xuICB9XG4gIC5zYW5zLXNlcmlmKEBzaXplOiBAYmFzZUZvbnRTaXplLCBAd2VpZ2h0OiBub3JtYWwsIEBsaW5lSGVpZ2h0OiBAYmFzZUxpbmVIZWlnaHQpIHtcbiAgICAjZm9udCA+ICNmYW1pbHkgPiAuc2Fucy1zZXJpZjtcbiAgICAjZm9udCA+IC5zaG9ydGhhbmQoQHNpemUsIEB3ZWlnaHQsIEBsaW5lSGVpZ2h0KTtcbiAgfVxuICAubW9ub3NwYWNlKEBzaXplOiBAYmFzZUZvbnRTaXplLCBAd2VpZ2h0OiBub3JtYWwsIEBsaW5lSGVpZ2h0OiBAYmFzZUxpbmVIZWlnaHQpIHtcbiAgICAjZm9udCA+ICNmYW1pbHkgPiAubW9ub3NwYWNlO1xuICAgICNmb250ID4gLnNob3J0aGFuZChAc2l6ZSwgQHdlaWdodCwgQGxpbmVIZWlnaHQpO1xuICB9XG59XG5cblxuLy8gRk9STVNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIE1peGluIGZvciBmb3JtIGZpZWxkIHN0YXRlc1xuLmZvcm1GaWVsZFN0YXRlKEB0ZXh0Q29sb3I6ICM1NTUsIEBib3JkZXJDb2xvcjogI2NjYywgQGJhY2tncm91bmRDb2xvcjogI2Y1ZjVmNSkge1xuICAvLyBTZXQgdGhlIHRleHQgY29sb3JcbiAgPiBsYWJlbCxcbiAgLmhlbHAtYmxvY2ssXG4gIC5oZWxwLWlubGluZSB7XG4gICAgY29sb3I6IEB0ZXh0Q29sb3I7XG4gIH1cbiAgLy8gU3R5bGUgaW5wdXRzIGFjY29yZGluZ2x5XG4gIC5jaGVja2JveCxcbiAgLnJhZGlvLFxuICBpbnB1dCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgY29sb3I6IEB0ZXh0Q29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiBAYm9yZGVyQ29sb3I7XG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6IGRhcmtlbihAYm9yZGVyQ29sb3IsIDEwJSk7XG4gICAgICAuYm94LXNoYWRvdygwIDAgNnB4IGxpZ2h0ZW4oQGJvcmRlckNvbG9yLCAyMCUpKTtcbiAgICB9XG4gIH1cbiAgLy8gR2l2ZSBhIHNtYWxsIGJhY2tncm91bmQgY29sb3IgZm9yIGlucHV0LXByZXBlbmQvLWFwcGVuZFxuICAuaW5wdXQtcHJlcGVuZCAuYWRkLW9uLFxuICAuaW5wdXQtYXBwZW5kIC5hZGQtb24ge1xuICAgIGNvbG9yOiBAdGV4dENvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBiYWNrZ3JvdW5kQ29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiBAdGV4dENvbG9yO1xuICB9XG59XG5cblxuXG4vLyBDU1MzIFBST1BFUlRJRVNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEJvcmRlciBSYWRpdXNcbi5ib3JkZXItcmFkaXVzKEByYWRpdXMpIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiBAcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6IEByYWRpdXM7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogQHJhZGl1cztcbn1cblxuLy8gRHJvcCBzaGFkb3dzXG4uYm94LXNoYWRvdyhAc2hhZG93KSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogQHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiBAc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6IEBzaGFkb3c7XG59XG5cbi8vIFRyYW5zaXRpb25zXG4udHJhbnNpdGlvbihAdHJhbnNpdGlvbikge1xuICAtd2Via2l0LXRyYW5zaXRpb246IEB0cmFuc2l0aW9uO1xuICAgICAtbW96LXRyYW5zaXRpb246IEB0cmFuc2l0aW9uO1xuICAgICAgLW1zLXRyYW5zaXRpb246IEB0cmFuc2l0aW9uO1xuICAgICAgIC1vLXRyYW5zaXRpb246IEB0cmFuc2l0aW9uO1xuICAgICAgICAgIHRyYW5zaXRpb246IEB0cmFuc2l0aW9uO1xufVxuXG4vLyBUcmFuc2Zvcm1hdGlvbnNcbi5yb3RhdGUoQGRlZ3JlZXMpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZShAZGVncmVlcyk7XG4gICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoQGRlZ3JlZXMpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKEBkZWdyZWVzKTtcbiAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZShAZGVncmVlcyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoQGRlZ3JlZXMpO1xufVxuLnNjYWxlKEByYXRpbykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoQHJhdGlvKTtcbiAgICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKEByYXRpbyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZShAcmF0aW8pO1xuICAgICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoQHJhdGlvKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKEByYXRpbyk7XG59XG4udHJhbnNsYXRlKEB4LCBAeSkge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSk7XG4gICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5KTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZShAeCwgQHkpO1xuICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5KTtcbn1cbi5za2V3KEB4LCBAeSkge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2tldyhAeCwgQHkpO1xuICAgICAtbW96LXRyYW5zZm9ybTogc2tldyhAeCwgQHkpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2tldyhAeCwgQHkpO1xuICAgICAgIC1vLXRyYW5zZm9ybTogc2tldyhAeCwgQHkpO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2tldyhAeCwgQHkpO1xufVxuLnRyYW5zbGF0ZTNkKEB4LCBAeSwgQHopIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZShAeCwgQHksIEB6KTtcbiAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZShAeCwgQHksIEB6KTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZShAeCwgQHksIEB6KTtcbiAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZShAeCwgQHksIEB6KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShAeCwgQHksIEB6KTtcbn1cblxuLy8gQmFja2ZhY2UgdmlzaWJpbGl0eVxuLy8gUHJldmVudCBicm93c2VycyBmcm9tIGZsaWNrZXJpbmcgd2hlbiB1c2luZyBDU1MgM0QgdHJhbnNmb3Jtcy5cbi8vIERlZmF1bHQgdmFsdWUgaXMgYHZpc2libGVgLCBidXQgY2FuIGJlIGNoYW5nZWQgdG8gYGhpZGRlblxuLy8gU2VlIGdpdCBwdWxsIGh0dHBzOi8vZ2l0aHViLmNvbS9kYW5ueWtlYW5lL2Jvb3RzdHJhcC5naXQgYmFja2ZhY2UtdmlzaWJpbGl0eSBmb3IgZXhhbXBsZXNcbi5iYWNrZmFjZS12aXNpYmlsaXR5KEB2aXNpYmlsaXR5KXtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBAdmlzaWJpbGl0eTtcbiAgICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBAdmlzaWJpbGl0eTtcbiAgICAgIC1tcy1iYWNrZmFjZS12aXNpYmlsaXR5OiBAdmlzaWJpbGl0eTtcbiAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBAdmlzaWJpbGl0eTtcbn1cblxuLy8gQmFja2dyb3VuZCBjbGlwcGluZ1xuLy8gSGVhZHMgdXA6IEZGIDMuNiBhbmQgdW5kZXIgbmVlZCBcInBhZGRpbmdcIiBpbnN0ZWFkIG9mIFwicGFkZGluZy1ib3hcIlxuLmJhY2tncm91bmQtY2xpcChAY2xpcCkge1xuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogQGNsaXA7XG4gICAgIC1tb3otYmFja2dyb3VuZC1jbGlwOiBAY2xpcDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IEBjbGlwO1xufVxuXG4vLyBCYWNrZ3JvdW5kIHNpemluZ1xuLmJhY2tncm91bmQtc2l6ZShAc2l6ZSl7XG4gIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiBAc2l6ZTtcbiAgICAgLW1vei1iYWNrZ3JvdW5kLXNpemU6IEBzaXplO1xuICAgICAgIC1vLWJhY2tncm91bmQtc2l6ZTogQHNpemU7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBAc2l6ZTtcbn1cblxuXG4vLyBCb3ggc2l6aW5nXG4uYm94LXNpemluZyhAYm94bW9kZWwpIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBAYm94bW9kZWw7XG4gICAgIC1tb3otYm94LXNpemluZzogQGJveG1vZGVsO1xuICAgICAgLW1zLWJveC1zaXppbmc6IEBib3htb2RlbDtcbiAgICAgICAgICBib3gtc2l6aW5nOiBAYm94bW9kZWw7XG59XG5cbi8vIFVzZXIgc2VsZWN0XG4vLyBGb3Igc2VsZWN0aW5nIHRleHQgb24gdGhlIHBhZ2Vcbi51c2VyLXNlbGVjdChAc2VsZWN0KSB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IEBzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6IEBzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6IEBzZWxlY3Q7XG4gICAgICAgLW8tdXNlci1zZWxlY3Q6IEBzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6IEBzZWxlY3Q7XG59XG5cbi8vIFJlc2l6ZSBhbnl0aGluZ1xuLnJlc2l6YWJsZShAZGlyZWN0aW9uKSB7XG4gIHJlc2l6ZTogQGRpcmVjdGlvbjsgLy8gT3B0aW9uczogaG9yaXpvbnRhbCwgdmVydGljYWwsIGJvdGhcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIFNhZmFyaSBmaXhcbn1cblxuLy8gQ1NTMyBDb250ZW50IENvbHVtbnNcbi5jb250ZW50LWNvbHVtbnMoQGNvbHVtbkNvdW50LCBAY29sdW1uR2FwOiBAZ3JpZEd1dHRlcldpZHRoKSB7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiBAY29sdW1uQ291bnQ7XG4gICAgIC1tb3otY29sdW1uLWNvdW50OiBAY29sdW1uQ291bnQ7XG4gICAgICAgICAgY29sdW1uLWNvdW50OiBAY29sdW1uQ291bnQ7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogQGNvbHVtbkdhcDtcbiAgICAgLW1vei1jb2x1bW4tZ2FwOiBAY29sdW1uR2FwO1xuICAgICAgICAgIGNvbHVtbi1nYXA6IEBjb2x1bW5HYXA7XG59XG5cbi8vIE9wdGlvbmFsIGh5cGhlbmF0aW9uXG4uaHlwaGVucyhAbW9kZTogYXV0bykge1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIC13ZWJraXQtaHlwaGVuczogQG1vZGU7XG4gICAgIC1tb3otaHlwaGVuczogQG1vZGU7XG4gICAgICAtbXMtaHlwaGVuczogQG1vZGU7XG4gICAgICAgLW8taHlwaGVuczogQG1vZGU7XG4gICAgICAgICAgaHlwaGVuczogQG1vZGU7XG59XG5cbi8vIE9wYWNpdHlcbi5vcGFjaXR5KEBvcGFjaXR5KSB7XG4gIG9wYWNpdHk6IEBvcGFjaXR5IC8gMTAwO1xuICBmaWx0ZXI6IH5cImFscGhhKG9wYWNpdHk9QHtvcGFjaXR5fSlcIjtcbn1cblxuXG5cbi8vIEJBQ0tHUk9VTkRTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBBZGQgYW4gYWxwaGF0cmFuc3BhcmVuY3kgdmFsdWUgdG8gYW55IGJhY2tncm91bmQgb3IgYm9yZGVyIGNvbG9yICh2aWEgRWx5c2UgSG9sbGFkYXkpXG4jdHJhbnNsdWNlbnQge1xuICAuYmFja2dyb3VuZChAY29sb3I6IEB3aGl0ZSwgQGFscGhhOiAxKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaHNsYShodWUoQGNvbG9yKSwgc2F0dXJhdGlvbihAY29sb3IpLCBsaWdodG5lc3MoQGNvbG9yKSwgQGFscGhhKTtcbiAgfVxuICAuYm9yZGVyKEBjb2xvcjogQHdoaXRlLCBAYWxwaGE6IDEpIHtcbiAgICBib3JkZXItY29sb3I6IGhzbGEoaHVlKEBjb2xvciksIHNhdHVyYXRpb24oQGNvbG9yKSwgbGlnaHRuZXNzKEBjb2xvciksIEBhbHBoYSk7XG4gICAgLmJhY2tncm91bmQtY2xpcChwYWRkaW5nLWJveCk7XG4gIH1cbn1cblxuLy8gR3JhZGllbnQgQmFyIENvbG9ycyBmb3IgYnV0dG9ucyBhbmQgYWxlcnRzXG4uZ3JhZGllbnRCYXIoQHByaW1hcnlDb2xvciwgQHNlY29uZGFyeUNvbG9yKSB7XG4gICNncmFkaWVudCA+IC52ZXJ0aWNhbChAcHJpbWFyeUNvbG9yLCBAc2Vjb25kYXJ5Q29sb3IpO1xuICBib3JkZXItY29sb3I6IEBzZWNvbmRhcnlDb2xvciBAc2Vjb25kYXJ5Q29sb3IgZGFya2VuKEBzZWNvbmRhcnlDb2xvciwgMTUlKTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsMCwwLC4xKSByZ2JhKDAsMCwwLC4xKSBmYWRlaW4ocmdiYSgwLDAsMCwuMSksIDE1JSk7XG59XG5cbi8vIEdyYWRpZW50c1xuI2dyYWRpZW50IHtcbiAgLmhvcml6b250YWwoQHN0YXJ0Q29sb3I6ICM1NTUsIEBlbmRDb2xvcjogIzMzMykge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBlbmRDb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTsgLy8gRkYgMy42K1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7IC8vIElFMTBcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAwLCAxMDAlIDAsIGZyb20oQHN0YXJ0Q29sb3IpLCB0byhAZW5kQ29sb3IpKTsgLy8gU2FmYXJpIDQrLCBDaHJvbWUgMitcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTsgLy8gU2FmYXJpIDUuMSssIENocm9tZSAxMCtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7IC8vIE9wZXJhIDExLjEwXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBMZSBzdGFuZGFyZFxuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBmaWx0ZXI6IGUoJShcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSclZCcsIGVuZENvbG9yc3RyPSclZCcsIEdyYWRpZW50VHlwZT0xKVwiLEBzdGFydENvbG9yLEBlbmRDb2xvcikpOyAvLyBJRTkgYW5kIGRvd25cbiAgfVxuICAudmVydGljYWwoQHN0YXJ0Q29sb3I6ICM1NTUsIEBlbmRDb2xvcjogIzMzMykge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1peChAc3RhcnRDb2xvciwgQGVuZENvbG9yLCA2MCUpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7IC8vIEZGIDMuNitcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7IC8vIElFMTBcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAwLCAwIDEwMCUsIGZyb20oQHN0YXJ0Q29sb3IpLCB0byhAZW5kQ29sb3IpKTsgLy8gU2FmYXJpIDQrLCBDaHJvbWUgMitcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBTYWZhcmkgNS4xKywgQ2hyb21lIDEwK1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBPcGVyYSAxMS4xMFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0b3AsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBUaGUgc3RhbmRhcmRcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgZmlsdGVyOiBlKCUoXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nJWQnLCBlbmRDb2xvcnN0cj0nJWQnLCBHcmFkaWVudFR5cGU9MClcIixAc3RhcnRDb2xvcixAZW5kQ29sb3IpKTsgLy8gSUU5IGFuZCBkb3duXG4gIH1cbiAgLmRpcmVjdGlvbmFsKEBzdGFydENvbG9yOiAjNTU1LCBAZW5kQ29sb3I6ICMzMzMsIEBkZWc6IDQ1ZGVnKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGVuZENvbG9yO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChAZGVnLCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTsgLy8gRkYgMy42K1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tcy1saW5lYXItZ3JhZGllbnQoQGRlZywgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7IC8vIElFMTBcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChAZGVnLCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTsgLy8gU2FmYXJpIDUuMSssIENocm9tZSAxMCtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoQGRlZywgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7IC8vIE9wZXJhIDExLjEwXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KEBkZWcsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBUaGUgc3RhbmRhcmRcbiAgfVxuICAudmVydGljYWwtdGhyZWUtY29sb3JzKEBzdGFydENvbG9yOiAjMDBiM2VlLCBAbWlkQ29sb3I6ICM3YTQzYjYsIEBjb2xvclN0b3A6IDUwJSwgQGVuZENvbG9yOiAjYzMzMjVmKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KEBtaWRDb2xvciwgQGVuZENvbG9yLCA4MCUpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDAsIDAgMTAwJSwgZnJvbShAc3RhcnRDb2xvciksIGNvbG9yLXN0b3AoQGNvbG9yU3RvcCwgQG1pZENvbG9yKSwgdG8oQGVuZENvbG9yKSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoQHN0YXJ0Q29sb3IsIEBtaWRDb2xvciBAY29sb3JTdG9wLCBAZW5kQ29sb3IpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgQHN0YXJ0Q29sb3IsIEBtaWRDb2xvciBAY29sb3JTdG9wLCBAZW5kQ29sb3IpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tcy1saW5lYXItZ3JhZGllbnQoQHN0YXJ0Q29sb3IsIEBtaWRDb2xvciBAY29sb3JTdG9wLCBAZW5kQ29sb3IpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChAc3RhcnRDb2xvciwgQG1pZENvbG9yIEBjb2xvclN0b3AsIEBlbmRDb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KEBzdGFydENvbG9yLCBAbWlkQ29sb3IgQGNvbG9yU3RvcCwgQGVuZENvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGZpbHRlcjogZSglKFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyVkJywgZW5kQ29sb3JzdHI9JyVkJywgR3JhZGllbnRUeXBlPTApXCIsQHN0YXJ0Q29sb3IsQGVuZENvbG9yKSk7IC8vIElFOSBhbmQgZG93biwgZ2V0cyBubyBjb2xvci1zdG9wIGF0IGFsbCBmb3IgcHJvcGVyIGZhbGxiYWNrXG4gIH1cbiAgLnJhZGlhbChAaW5uZXJDb2xvcjogIzU1NSwgQG91dGVyQ29sb3I6ICMzMzMpICB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQG91dGVyQ29sb3I7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChyYWRpYWwsIGNlbnRlciBjZW50ZXIsIDAsIGNlbnRlciBjZW50ZXIsIDQ2MCwgZnJvbShAaW5uZXJDb2xvciksIHRvKEBvdXRlckNvbG9yKSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCBAaW5uZXJDb2xvciwgQG91dGVyQ29sb3IpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgQGlubmVyQ29sb3IsIEBvdXRlckNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbXMtcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgQGlubmVyQ29sb3IsIEBvdXRlckNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1yYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCBAaW5uZXJDb2xvciwgQG91dGVyQ29sb3IpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIH1cbiAgLnN0cmlwZWQoQGNvbG9yLCBAYW5nbGU6IC00NWRlZykge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAxMDAlLCAxMDAlIDAsIGNvbG9yLXN0b3AoLjI1LCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkpLCBjb2xvci1zdG9wKC4yNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKC41LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoLjUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSksIGNvbG9yLXN0b3AoLjc1LCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkpLCBjb2xvci1zdG9wKC43NSwgdHJhbnNwYXJlbnQpLCB0byh0cmFuc3BhcmVudCkpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KEBhbmdsZSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA1MCUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KEBhbmdsZSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA1MCUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tcy1saW5lYXItZ3JhZGllbnQoQGFuZ2xlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KEBhbmdsZSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA1MCUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChAYW5nbGUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNTAlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgfVxufVxuLy8gUmVzZXQgZmlsdGVycyBmb3IgSUVcbi5yZXNldC1maWx0ZXIoKSB7XG4gIGZpbHRlcjogZSglKFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KGVuYWJsZWQgPSBmYWxzZSlcIikpO1xufVxuXG5cblxuLy8gQ09NUE9ORU5UIE1JWElOU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQnV0dG9uIGJhY2tncm91bmRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cbi5idXR0b25CYWNrZ3JvdW5kKEBzdGFydENvbG9yLCBAZW5kQ29sb3IpIHtcbiAgLy8gZ3JhZGllbnRCYXIgd2lsbCBzZXQgdGhlIGJhY2tncm91bmQgdG8gYSBwbGVhc2luZyBibGVuZCBvZiB0aGVzZSwgdG8gc3VwcG9ydCBJRTw9OVxuICAuZ3JhZGllbnRCYXIoQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7XG4gICpiYWNrZ3JvdW5kLWNvbG9yOiBAZW5kQ29sb3I7IC8qIERhcmtlbiBJRTcgYnV0dG9ucyBieSBkZWZhdWx0IHNvIHRoZXkgc3RhbmQgb3V0IG1vcmUgZ2l2ZW4gdGhleSB3b24ndCBoYXZlIGJvcmRlcnMgKi9cbiAgLnJlc2V0LWZpbHRlcigpO1xuXG4gIC8vIGluIHRoZXNlIGNhc2VzIHRoZSBncmFkaWVudCB3b24ndCBjb3ZlciB0aGUgYmFja2dyb3VuZCwgc28gd2Ugb3ZlcnJpZGVcbiAgJjpob3ZlciwgJjphY3RpdmUsICYuYWN0aXZlLCAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGVuZENvbG9yO1xuICAgICpiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQGVuZENvbG9yLCA1JSk7XG4gIH1cblxuICAvLyBJRSA3ICsgOCBjYW4ndCBoYW5kbGUgYm94LXNoYWRvdyB0byBzaG93IGFjdGl2ZSwgc28gd2UgZGFya2VuIGEgYml0IG91cnNlbHZlc1xuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihAZW5kQ29sb3IsIDEwJSkgZShcIlxcOVwiKTtcbiAgfVxufVxuXG4vLyBOYXZiYXIgdmVydGljYWwgYWxpZ25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFZlcnRpY2FsbHkgY2VudGVyIGVsZW1lbnRzIGluIHRoZSBuYXZiYXIuXG4vLyBFeGFtcGxlOiBhbiBlbGVtZW50IGhhcyBhIGhlaWdodCBvZiAzMHB4LCBzbyB3cml0ZSBvdXQgYC5uYXZiYXJWZXJ0aWNhbEFsaWduKDMwcHgpO2AgdG8gY2FsY3VsYXRlIHRoZSBhcHByb3ByaWF0ZSB0b3AgbWFyZ2luLlxuLm5hdmJhclZlcnRpY2FsQWxpZ24oQGVsZW1lbnRIZWlnaHQpIHtcbiAgbWFyZ2luLXRvcDogKEBuYXZiYXJIZWlnaHQgLSBAZWxlbWVudEhlaWdodCkgLyAyO1xufVxuXG4vLyBQb3BvdmVyIGFycm93c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRm9yIHRpcHNpZXMgYW5kIHBvcG92ZXJzXG4jcG9wb3ZlckFycm93IHtcbiAgLnRvcChAYXJyb3dXaWR0aDogNXB4LCBAY29sb3I6IEBibGFjaykge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC1AYXJyb3dXaWR0aDtcbiAgICBib3JkZXItbGVmdDogQGFycm93V2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiBAYXJyb3dXaWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wOiBAYXJyb3dXaWR0aCBzb2xpZCBAY29sb3I7XG4gIH1cbiAgLmxlZnQoQGFycm93V2lkdGg6IDVweCwgQGNvbG9yOiBAYmxhY2spIHtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW4tdG9wOiAtQGFycm93V2lkdGg7XG4gICAgYm9yZGVyLXRvcDogQGFycm93V2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogQGFycm93V2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWxlZnQ6IEBhcnJvd1dpZHRoIHNvbGlkIEBjb2xvcjtcbiAgfVxuICAuYm90dG9tKEBhcnJvd1dpZHRoOiA1cHgsIEBjb2xvcjogQGJsYWNrKSB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLUBhcnJvd1dpZHRoO1xuICAgIGJvcmRlci1sZWZ0OiBAYXJyb3dXaWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6IEBhcnJvd1dpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IEBhcnJvd1dpZHRoIHNvbGlkIEBjb2xvcjtcbiAgfVxuICAucmlnaHQoQGFycm93V2lkdGg6IDVweCwgQGNvbG9yOiBAYmxhY2spIHtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6IC1AYXJyb3dXaWR0aDtcbiAgICBib3JkZXItdG9wOiBAYXJyb3dXaWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiBAYXJyb3dXaWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6IEBhcnJvd1dpZHRoIHNvbGlkIEBjb2xvcjtcbiAgfVxufVxuXG4vLyBHcmlkIFN5c3RlbVxuLy8gLS0tLS0tLS0tLS1cblxuLy8gQ2VudGVyZWQgY29udGFpbmVyIGVsZW1lbnRcbi5jb250YWluZXItZml4ZWQoKSB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIC5jbGVhcmZpeCgpO1xufVxuXG4vLyBUYWJsZSBjb2x1bW5zXG4udGFibGVDb2x1bW5zKEBjb2x1bW5TcGFuOiAxKSB7XG4gIGZsb2F0OiBub25lOyAvLyB1bmRvIGRlZmF1bHQgZ3JpZCBjb2x1bW4gc3R5bGVzXG4gIHdpZHRoOiAoKEBmbHVpZEdyaWRDb2x1bW5XaWR0aCkgKiBAY29sdW1uU3BhbikgKyAoQGZsdWlkR3JpZEd1dHRlcldpZHRoICogKEBjb2x1bW5TcGFuIC0gMSkpIC0gMTY7IC8vIDE2IGlzIHRvdGFsIHBhZGRpbmcgb24gbGVmdCBhbmQgcmlnaHQgb2YgdGFibGUgY2VsbHNcbiAgbWFyZ2luLWxlZnQ6IDA7IC8vIHVuZG8gZGVmYXVsdCBncmlkIGNvbHVtbiBzdHlsZXNcbn1cblxuLy8gTWFrZSBhIEdyaWRcbi8vIFVzZSAubWFrZVJvdyBhbmQgLm1ha2VDb2x1bW4gdG8gYXNzaWduIHNlbWFudGljIGxheW91dHMgZ3JpZCBzeXN0ZW0gYmVoYXZpb3Jcbi5tYWtlUm93KCkge1xuICBtYXJnaW4tbGVmdDogQGdyaWRHdXR0ZXJXaWR0aCAqIC0xO1xuICAuY2xlYXJmaXgoKTtcbn1cbi5tYWtlQ29sdW1uKEBjb2x1bW5zOiAxLCBAb2Zmc2V0OiAwKSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tbGVmdDogKEBncmlkQ29sdW1uV2lkdGggKiBAb2Zmc2V0KSArIChAZ3JpZEd1dHRlcldpZHRoICogKEBvZmZzZXQgLSAxKSkgKyAoQGdyaWRHdXR0ZXJXaWR0aCAqIDIpO1xuICB3aWR0aDogKEBncmlkQ29sdW1uV2lkdGggKiBAY29sdW1ucykgKyAoQGdyaWRHdXR0ZXJXaWR0aCAqIChAY29sdW1ucyAtIDEpKTtcbn1cblxuLy8gVGhlIEdyaWRcbiNncmlkIHtcblxuICAuY29yZSAoQGdyaWRDb2x1bW5XaWR0aCwgQGdyaWRHdXR0ZXJXaWR0aCkge1xuXG4gICAgLnNwYW5YIChAaW5kZXgpIHdoZW4gKEBpbmRleCA+IDApIHtcbiAgICAgIC5zcGFuQHtpbmRleH0geyAuc3BhbihAaW5kZXgpOyB9XG4gICAgICAuc3BhblgoQGluZGV4IC0gMSk7XG4gICAgfVxuICAgIC5zcGFuWCAoMCkge31cblxuICAgIC5vZmZzZXRYIChAaW5kZXgpIHdoZW4gKEBpbmRleCA+IDApIHtcbiAgICAgIC5vZmZzZXRAe2luZGV4fSB7IC5vZmZzZXQoQGluZGV4KTsgfVxuICAgICAgLm9mZnNldFgoQGluZGV4IC0gMSk7XG4gICAgfVxuICAgIC5vZmZzZXRYICgwKSB7fVxuXG4gICAgLm9mZnNldCAoQGNvbHVtbnMpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAoQGdyaWRDb2x1bW5XaWR0aCAqIEBjb2x1bW5zKSArIChAZ3JpZEd1dHRlcldpZHRoICogKEBjb2x1bW5zICsgMSkpO1xuICAgIH1cblxuICAgIC5zcGFuIChAY29sdW1ucykge1xuICAgICAgd2lkdGg6IChAZ3JpZENvbHVtbldpZHRoICogQGNvbHVtbnMpICsgKEBncmlkR3V0dGVyV2lkdGggKiAoQGNvbHVtbnMgLSAxKSk7XG4gICAgfVxuXG4gICAgLnJvdyB7XG4gICAgICBtYXJnaW4tbGVmdDogQGdyaWRHdXR0ZXJXaWR0aCAqIC0xO1xuICAgICAgLmNsZWFyZml4KCk7XG4gICAgfVxuXG4gICAgW2NsYXNzKj1cInNwYW5cIl0ge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tbGVmdDogQGdyaWRHdXR0ZXJXaWR0aDtcbiAgICB9XG5cbiAgICAvLyBTZXQgdGhlIGNvbnRhaW5lciB3aWR0aCwgYW5kIG92ZXJyaWRlIGl0IGZvciBmaXhlZCBuYXZiYXJzIGluIG1lZGlhIHF1ZXJpZXNcbiAgICAuY29udGFpbmVyLFxuICAgIC5uYXZiYXItZml4ZWQtdG9wIC5jb250YWluZXIsXG4gICAgLm5hdmJhci1maXhlZC1ib3R0b20gLmNvbnRhaW5lciB7IC5zcGFuKEBncmlkQ29sdW1ucyk7IH1cblxuICAgIC8vIGdlbmVyYXRlIC5zcGFuWCBhbmQgLm9mZnNldFhcbiAgICAuc3BhblggKEBncmlkQ29sdW1ucyk7XG4gICAgLm9mZnNldFggKEBncmlkQ29sdW1ucyk7XG5cbiAgfVxuXG4gIC5mbHVpZCAoQGZsdWlkR3JpZENvbHVtbldpZHRoLCBAZmx1aWRHcmlkR3V0dGVyV2lkdGgpIHtcblxuICAgIC5zcGFuWCAoQGluZGV4KSB3aGVuIChAaW5kZXggPiAwKSB7XG4gICAgICAuc3BhbkB7aW5kZXh9IHsgLnNwYW4oQGluZGV4KTsgfVxuICAgICAgLnNwYW5YKEBpbmRleCAtIDEpO1xuICAgIH1cbiAgICAuc3BhblggKDApIHt9XG5cbiAgICAuc3BhbiAoQGNvbHVtbnMpIHtcbiAgICAgIHdpZHRoOiAoQGZsdWlkR3JpZENvbHVtbldpZHRoICogQGNvbHVtbnMpICsgKEBmbHVpZEdyaWRHdXR0ZXJXaWR0aCAqIChAY29sdW1ucyAtIDEpKTtcbiAgICAgICp3aWR0aDogKEBmbHVpZEdyaWRDb2x1bW5XaWR0aCAqIEBjb2x1bW5zKSArIChAZmx1aWRHcmlkR3V0dGVyV2lkdGggKiAoQGNvbHVtbnMgLSAxKSkgLSAoLjUgLyBAZ3JpZFJvd1dpZHRoICogMTAwICogMSUpO1xuICAgIH1cblxuICAgIC5yb3ctZmx1aWQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAuY2xlYXJmaXgoKTtcbiAgICAgIFtjbGFzcyo9XCJzcGFuXCJdIHtcbiAgICAgICAgLmlucHV0LWJsb2NrLWxldmVsKCk7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW4tbGVmdDogQGZsdWlkR3JpZEd1dHRlcldpZHRoO1xuICAgICAgICAqbWFyZ2luLWxlZnQ6IEBmbHVpZEdyaWRHdXR0ZXJXaWR0aCAtICguNSAvIEBncmlkUm93V2lkdGggKiAxMDAgKiAxJSk7XG4gICAgICB9XG4gICAgICBbY2xhc3MqPVwic3BhblwiXTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuXG4gICAgICAvLyBnZW5lcmF0ZSAuc3BhblhcbiAgICAgIC5zcGFuWCAoQGdyaWRDb2x1bW5zKTtcbiAgICB9XG5cbiAgfVxuXG4gIC5pbnB1dChAZ3JpZENvbHVtbldpZHRoLCBAZ3JpZEd1dHRlcldpZHRoKSB7XG5cbiAgICAuc3BhblggKEBpbmRleCkgd2hlbiAoQGluZGV4ID4gMCkge1xuICAgICAgaW5wdXQuc3BhbkB7aW5kZXh9LCB0ZXh0YXJlYS5zcGFuQHtpbmRleH0sIC51bmVkaXRhYmxlLWlucHV0LnNwYW5Ae2luZGV4fSB7IC5zcGFuKEBpbmRleCk7IH1cbiAgICAgIC5zcGFuWChAaW5kZXggLSAxKTtcbiAgICB9XG4gICAgLnNwYW5YICgwKSB7fVxuXG4gICAgLnNwYW4oQGNvbHVtbnMpIHtcbiAgICAgIHdpZHRoOiAoKEBncmlkQ29sdW1uV2lkdGgpICogQGNvbHVtbnMpICsgKEBncmlkR3V0dGVyV2lkdGggKiAoQGNvbHVtbnMgLSAxKSkgLSAxMDtcbiAgICB9XG5cbiAgICBpbnB1dCxcbiAgICB0ZXh0YXJlYSxcbiAgICAudW5lZGl0YWJsZS1pbnB1dCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgLy8gb3ZlcnJpZGUgbWFyZ2luLWxlZnQgZnJvbSBjb3JlIGdyaWQgc3lzdGVtXG4gICAgfVxuXG4gICAgLy8gZ2VuZXJhdGUgLnNwYW5YXG4gICAgLnNwYW5YIChAZ3JpZENvbHVtbnMpO1xuXG4gIH1cblxufVxuXG4uZGFya0xpZ2h0IChAYSkgd2hlbiAobGlnaHRuZXNzKEBhKSA+PSA1MCUpIHtcbiAgY29sb3I6IEBncmF5RGFya2VyO1xufVxuLmRhcmtMaWdodCAoQGEpIHdoZW4gKGxpZ2h0bmVzcyhAYSkgPCA1MCUpIHtcbiAgY29sb3I6IEB3aGl0ZTtcbn1cbiIsImh0bWwubmF2LW9wZW4sXG5odG1sLm5hdi1vcGVuIGJvZHkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm5hdmJhciB7XG4gIC8vIEZpeCBmb3IgSUU3J3MgYmFkIHotaW5kZXhpbmcgc28gZHJvcGRvd25zIGRvbid0XG4gIC8vIGFwcGVhciBiZWxvdyBjb250ZW50IHRoYXQgZm9sbG93cyB0aGUgbmF2YmFyXG4gICpwb3NpdGlvbjogcmVsYXRpdmU7XG4gICp6LWluZGV4OiAyO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgbWFyZ2luLWJvdHRvbTogQGJhc2VsaW5lIC8gNTtcblxuICAuY29udGFpbmVyIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC50b2dnbGUtbmF2LWJhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5uYXZiYXItaW5uZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXJCYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQnJhbmQsIGxpbmtzLCB0ZXh0LCBhbmQgYnV0dG9uc1xuICBjb2xvcjogQG5hdmJhclRleHQ7XG4gIGZvbnQtZmFtaWx5OiBAc2Fuc0ZvbnRGYW1pbHk7XG5cbiAgLy8gSG92ZXIgYW5kIGFjdGl2ZSBzdGF0ZXNcbiAgLy8gUGxhaW4gdGV4dCBpbiB0b3BiYXJcbiAgLm5hdmJhci10ZXh0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLy8gU29jaWFsIGljb25zIGFwcGVhcmluZyBpbiBtYWluIG9yIHN0aWNreSBuYXZcbiAgI2hlYWRlci1zb2NpYWwgbGkgPiBhIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDRweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XG4gIH1cblxuICAvLyBDb21tb24gbmF2IGxheW91dFxuICAubmF2IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6IEBuYXZiYXJUZXh0O1xuXG4gICAgJiA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogQG5hdmJhckxpbmtDb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBJbmRpdmlkdWFsIG5hdiBsaW5rc1xuICBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICYgPiBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgbGluZS1oZWlnaHQ6IEBuYXZiYXJIZWlnaHQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IEBuYXZiYXJIZWlnaHQgLyA0O1xuICAgICAgcGFkZGluZy1yaWdodDogQG5hdmJhckhlaWdodCAvIDQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRHJvcGRvd25zIHdpdGhpbiBuYXZcbiAgbGkuZHJvcGRvd24gPiBhIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG4gIGxpLmRyb3Bkb3duIC5kcm9wZG93bi1tZW51IGxpIGEge1xuICAgIGNvbG9yOiBAbmF2YmFyTGlua0NvbG9yO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IEBiYXNlTGluZUhlaWdodDtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IEBuYXZiYXJMaW5rQ29sb3JIb3ZlcjtcbiAgICB9XG4gIH1cblxuICBsaSA+IGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXJMaW5rQmFja2dyb3VuZEFjdGl2ZTtcbiAgICBjb2xvcjogQG5hdmJhckxpbmtDb2xvckhvdmVyO1xuXG4gICAgLmNhcmV0OmJlZm9yZSB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiBAbmF2YmFyRHJvcGRvd25DYXJldENvbG9ySG92ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gU3ViIG1lbnVzXG4gIC5zdWItbWVudTpiZWZvcmUsXG4gIC5zdWItc3ViLW1lbnU6YmVmb3JlIHtcbiAgICBib3JkZXItYm90dG9tOiA5cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgYm9yZGVyLXJpZ2h0OiA5cHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIGJvcmRlci10b3A6IDlweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBsZWZ0OiAtOXB4O1xuICAgIHRvcDogMzAlO1xuICB9XG4gIC5zdWItbWVudTphZnRlcixcbiAgLnN1Yi1zdWItbWVudTphZnRlciB7XG4gICAgYm9yZGVyLXRvcDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgIGJvcmRlci1yaWdodDogOHB4IHNvbGlkIEB3aGl0ZTtcbiAgICBib3JkZXItYm90dG9tOiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiAzMSU7XG4gICAgbGVmdDogLThweDtcbiAgfVxuXG4gIC8vIEhvbWUgbGluayBhbmQgaG9tZSBpY29uXG4gIGxpLmhvbWUtaWNvbixcbiAgbGkuaG9tZS1saW5rIHtcbiAgICBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6IGxpZ2h0ZW4oQGxpbmtDb2xvckhvdmVyLCA1JSk7XG4gICAgfVxuICB9XG5cbiAgLmhvbWUtaWNvbjpob3ZlciBpbWcsXG4gIGxpLmhvbWUtbGluazpob3ZlciBpIHtcbiAgICAub3BhY2l0eSg4NSk7XG4gIH1cblxuICBsaS5ob21lLWxpbmsge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmID4gYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgfVxuXG4gICAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiBAbmF2YmFySGVpZ2h0O1xuICAgICAgICB3aWR0aDogQG5hdmJhckhlaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBsaS5ob21lLWljb24gPiBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgaGVpZ2h0OiAoQG5hdmJhckhlaWdodCAtIDE2cHgpO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgICB9XG4gIH1cblxuICAvLyBOYXYgdG9nZ2xlIChidXJnZXIgYnV0dG9uKVxuICAuYnRuLW5hdmJhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuXG4gICAgLy8gQGljb25iYXJIZWlnaHQgaXMgdXNlZCA1eDogM3ggZm9yIHRoZSBiYXJzLCAyeCBmb3IgdGhlIG1hcmdpbiBiZXR3ZWVuIHRoZW0uXG4gICAgcGFkZGluZzogKGZsb29yKEBuYXZiYXJIZWlnaHQgLSAoNSAqIEBpY29uYmFySGVpZ2h0KSkpIC8gMiAxMHB4O1xuXG4gICAgLmxhYmVsIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgbWFyZ2luOiAtMnB4IDAgMCA1cHg7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZm9udC1zaXplOiBAbmF2YmFyRm9udFNpemU7XG4gICAgfVxuXG4gICAgLm5hdmJhciAuYnRuLW5hdmJhciAuYmFycyB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAuaWNvbi1iYXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMThweDtcbiAgICAgIGhlaWdodDogQGljb25iYXJIZWlnaHQ7XG4gICAgfVxuXG4gICAgLmljb24tYmFyICsgLmljb24tYmFyIHtcbiAgICAgIG1hcmdpbi10b3A6IEBpY29uYmFySGVpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5uYXYtbGVmdCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgc3R5bGVzIGZvciAubmF2YmFyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiA5O1xuXG4gICAgbGkuZHJvcGRvd24ge1xuICAgICAgLmRyb3Bkb3duLW1lbnUgbGkgYSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBAbmF2YmFySGVpZ2h0O1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogQG5hdmJhckhlaWdodDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAudG9nZ2xlLW5hdi1iYXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLm5hdi1zaGVsZiB7XG4gICAgICBiYWNrZ3JvdW5kOiBAZHJvcGRvd25CYWNrZ3JvdW5kO1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgICAgLnNpdGUtbmFtZSwgLmhvbWUtaWNvbiwgLmhvbWUtbGluayB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIHVsLCBsaSB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgfVxuXG4gICAgICBsaS5ob21lLWxpbmsge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICBsaSBiLmNhcmV0IHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAucm90YXRlKCAtOTBkZWcgKTtcbiAgICAgIH1cblxuICAgICAgbGkub3BlbiA+IGEgLmNhcmV0IHtcbiAgICAgICAgLnJvdGF0ZSggMGRlZyApO1xuICAgICAgfVxuXG4gICAgICBsaS5vcGVuID4gdWwuZHJvcGRvd24tbWVudSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC5ib3gtc2hhZG93KCBub25lICk7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm5hdiA+IGxpIHtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAmLm9wZW4gLm5hdi1zaGVsZiB7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBAZ3JheUxpZ2h0ZXI7XG4gICAgfVxuXG4gICAgLm5hdiBsaSB7XG4gICAgICAmLmhvbWUtbGluayxcbiAgICAgICYuc2l0ZS1uYW1lIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gR3JhZGllbnQgaXMgYXBwbGllZCB0byBpdCdzIG93biBlbGVtZW50IGJlY2F1c2Ugb3ZlcmZsb3dcbi8vIHZpc2libGUgaXMgbm90IGhvbm9yZWQgYnkgSUUgd2hlbiBmaWx0ZXIgaXMgcHJlc2VudFxuLm5hdmJhci1pbm5lciB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLy8gRHJvcGRvd24gYXJyb3cvY2FyZXRcbi5jYXJldCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogQGJhc2VGb250U2l6ZTtcbiAgcGFkZGluZzogMCAoQGJhc2VGb250U2l6ZSAvIDIpO1xuICB0b3A6IDJweDtcblxuICAmOmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci10b3A6IDZweCBzb2xpZCBAbmF2YmFyRHJvcGRvd25DYXJldENvbG9yO1xuICAgIGJvcmRlci1yaWdodDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogIDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG59XG5cbi8vIEdlbmVyYWwgZHJvcGRvd24vZHJvcHVwIHN0eWxlc1xuLmRyb3B1cCxcbi5kcm9wZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAuY2FyZXQge1xuICAgIGJvcmRlci10b3AtY29sb3I6IEB3aGl0ZTtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBAd2hpdGU7XG4gIH1cblxuICAmLmFjdGl2ZSAuY2FyZXQge1xuICAgIC5vcGFjaXR5KDEwMCk7XG4gIH1cbn1cblxuLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIC8vIFRoZSBjYXJldCBtYWtlcyB0aGUgdG9nZ2xlIGEgYml0IHRvbyB0YWxsIGluIElFN1xuICAqbWFyZ2luLWJvdHRvbTogLTNweDtcbn1cblxuLy8gRHJvcGRvd24gbWVudVxuLmRyb3Bkb3duLW1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogQHppbmRleERyb3Bkb3duO1xuICBkaXNwbGF5OiBub25lO1xuICBmbG9hdDogbGVmdDtcbiAgbWluLXdpZHRoOiAxNjBweDtcbiAgcGFkZGluZzogM3B4IDA7XG4gIG1hcmdpbjogMDsgLy8gb3ZlcnJpZGUgZGVmYXVsdCB1bFxuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAZHJvcGRvd25CYWNrZ3JvdW5kO1xuICBib3JkZXI6IDFweCBzb2xpZCBAZ3JheUxpZ2h0ZXI7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjIpO1xuICAqYm9yZGVyLXJpZ2h0LXdpZHRoOiAycHg7XG4gICpib3JkZXItYm90dG9tLXdpZHRoOiAycHg7XG4gIC5ib3gtc2hhZG93KDAgNXB4IDEwcHggcmdiYSgwLDAsMCwuMikpO1xuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIC1tb3otYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuXG4gIGxpIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIExpbmtzIHdpdGhpbiB0aGUgZHJvcGRvd24gbWVudVxuICBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICYgPiBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBwYWRkaW5nOiAzcHggMTVweDtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIHRleHQtc2hhZG93OiBub25lO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEFjdGl2ZSBsaW5rcy9tZW51cyB3aXRoaW4gZHJvcGRvd25zXG4gIC5hY3RpdmUgPiBhLFxuICAuYWN0aXZlID4gYTpob3ZlciB7XG4gICAgY29sb3I6IEBuYXZiYXJMaW5rQ29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGRyb3Bkb3duQmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIFRPRE86IFdoYXQgaXMgdGhpcz9cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXItbGVmdDogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMTBweCBzb2xpZCBAZ3JheUxpZ2h0ZXI7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogQGRyb3Bkb3duQm9yZGVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0xMHB4O1xuICAgIGxlZnQ6IDlweDtcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyLWxlZnQ6IDlweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6IDlweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiA5cHggc29saWQgQGRyb3Bkb3duQmFja2dyb3VuZDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtOXB4O1xuICAgIGxlZnQ6IDEwcHg7XG4gIH1cblxuICAvLyBBZGQgc3VwcG9ydCBmb3Igc2Vjb25kIGxldmVsIGRyb3Bkb3duIG1lbnVzXG4gIC5zdWItbWVudSxcbiAgLnN1Yi1zdWItbWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTIwJTtcbiAgICBsZWZ0OiA5OSU7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgLmljb24tYXJyb3ctcmlnaHQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDJweDtcbiAgICBsZWZ0OiAzcHg7XG4gIH1cbiAgbGk6aG92ZXIgLnN1Yi1tZW51LFxuICAuc3ViLW1lbnUgbGk6aG92ZXIgLnN1Yi1zdWItbWVudSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIGxpOmhvdmVyIC5zdWItc3ViLW1lbnUsXG4gICAgbGk6aG92ZXIgLnN1Yi1tZW51IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICBodG1sLm5vLXRvdWNoIHVsLm5hdiBsaS5kcm9wZG93bjpob3ZlciB1bC5kcm9wZG93bi1tZW51LFxuICBodG1sLnRvdWNoIHVsLm5hdiBsaS5kcm9wZG93bi5vcGVuIHVsLmRyb3Bkb3duLW1lbnUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLy8gT3BlbiBzdGF0ZSBmb3IgdGhlIGRyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5vcGVuIHtcbiAgLy8gSUU3J3Mgei1pbmRleCBvbmx5IGdvZXMgdG8gdGhlIG5lYXJlc3QgcG9zaXRpb25lZCBhbmNlc3Rvciwgd2hpY2ggd291bGRcbiAgLy8gbWFrZSB0aGUgbWVudSBhcHBlYXIgYmVsb3cgYnV0dG9ucyB0aGF0IGFwcGVhcmVkIGxhdGVyIG9uIHRoZSBwYWdlXG4gICp6LWluZGV4OiBAemluZGV4RHJvcGRvd247XG5cbiAgJiA+IC5kcm9wZG93bi1tZW51IHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWxsb3cgZm9yIGRyb3Bkb3ducyB0byBnbyBib3R0b20gdXAgKGFrYSwgZHJvcHVwLW1lbnUpXG4uZHJvcHVwLFxuLm5hdmJhci1maXhlZC1ib3R0b20gLmRyb3Bkb3duIHtcbiAgLy8gUmV2ZXJzZSB0aGUgY2FyZXRcbiAgLmNhcmV0IHtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCBAYmxhY2s7XG4gICAgY29udGVudDogXCJcXDIxOTFcIjtcbiAgfVxuICAvLyBEaWZmZXJlbnQgcG9zaXRpb25pbmcgZm9yIGJvdHRvbSB1cCBtZW51XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDFweDtcbiAgfVxufVxuXG4vLyBcIkRvbid0IG1pc3NcIi90b3BpY3MgYmFyXG4jdG9waWNzLWJhciB7XG4gIHBhZGRpbmc6IDNweCAwO1xuICB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtZmFtaWx5OiBAc2Fuc0ZvbnRGYW1pbHk7XG4gICAgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICYubWVudS1sYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE5hdmJhciBzZWFyY2ggZm9ybVxuI21haW4tbmF2Lm5hdmJhciB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCBAbmF2YmFyUnVsZUNvbG9yO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgQG5hdmJhclJ1bGVDb2xvcjtcbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDT0xPUlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gR3JheXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBibGFjazogICAgICAgICAgICAgICAgICMwMDA7XG5AZ3JheURhcmtlcjogICAgICAgICAgICAjMjIyO1xuQGdyYXlEYXJrOiAgICAgICAgICAgICAgIzQ4NDg0ODtcbkBncmF5OiAgICAgICAgICAgICAgICAgICM3RDgxODU7XG5AZ3JheUxpZ2h0OiAgICAgICAgICAgICAjYWFhO1xuQGdyYXlMaWdodGVyOiAgICAgICAgICAgI2RkZDtcbkB3aGl0ZTogICAgICAgICAgICAgICAgICNmZmY7XG5cblxuLy8gQWNjZW50IGNvbG9yc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGJsdWU6ICAgICAgICAgICAgICAgICAgIzIyNzViYjtcbkBibHVlRGFyazogICAgICAgICAgICAgICMwMDY0Y2Q7XG5AZ3JlZW46ICAgICAgICAgICAgICAgICAjNDZhNTQ2O1xuQHJlZDogICAgICAgICAgICAgICAgICAgI2JkMjYxZDtcbkB5ZWxsb3c6ICAgICAgICAgICAgICAgICNmZmM0MGQ7XG5Ab3JhbmdlOiAgICAgICAgICAgICAgICAjZjg5NDA2O1xuQHBpbms6ICAgICAgICAgICAgICAgICAgI2MzMzI1ZjtcbkBwdXJwbGU6ICAgICAgICAgICAgICAgICM3YTQzYjY7XG5cbi8qKlxuICogQGdyb3VwIENvbG9yXG4gKiBAbGFiZWwgQmFzZSBDb2xvciAodXNlZCBmb3IgbmF2YmFyLCB3aWRnZXQgdGl0bGVzLCBldGMuKVxuICogQHR5cGUgY29sb3JcbiAqIEBkZWZhdWx0X3ZhbHVlICMyMjc1YmJcbiAqL1xuQGJhc2VDb2xvcjpcdFx0XHRcdEBibHVlO1xuXG4vKipcbiAqIEBncm91cCBDb2xvclxuICogQGxhYmVsIEhlYWRlci9Gb290ZXIgQ29sb3JcbiAqIEB0eXBlIGNvbG9yXG4gKiBAZGVmYXVsdF92YWx1ZSAjMjIyXG4gKi9cbkBoZWFkZXJGb290ZXJDb2xvcjpcdFx0QGdyYXlEYXJrZXI7XG5cbi8qKlxuICogQGdyb3VwIENvbG9yXG4gKiBAbGFiZWwgUHJlLUZvb3RlciBDb2xvclxuICogQHR5cGUgY29sb3JcbiAqIEBkZWZhdWx0X3ZhbHVlICNkZGRcbiAqL1xuQHByZUZvb3RlckNvbG9yOlx0XHRAZ3JheUxpZ2h0ZXI7XG5cbi8qKlxuICogQGdyb3VwIENvbG9yXG4gKiBAbGFiZWwgQ29sb3Igb2YgbGlua3NcbiAqIEB0eXBlIGNvbG9yXG4gKiBAZGVmYXVsdF92YWx1ZSAjMjI3NWJiXG4gKi9cbkBsaW5rQ29sb3I6ICAgICAgICAgICAgIEBibHVlO1xuXG4vKipcbiAqIEBncm91cCBDb2xvclxuICogQGxhYmVsIEhvdmVyIGNvbG9yIG9mIGxpbmtzXG4gKiBAdHlwZSBjb2xvclxuICogQGRlZmF1bHRfdmFsdWUgIzIyNzViYlxuICovXG5AbGlua0NvbG9ySG92ZXI6ICAgICAgICBsaWdodGVuKEBsaW5rQ29sb3IsIDEwJSk7XG5cbi8qKlxuICogQGdyb3VwIENvbG9yXG4gKiBAbGFiZWwgQmFja2dyb3VuZCBjb2xvciBvZiBwb3N0IG1ldGEgYm94ZXMgKGF1dGhvciBiaW8sIHJlbGF0ZWQgcG9zdHMsIGV0Yy4pXG4gKiBAdHlwZSBjb2xvclxuICogQGRlZmF1bHRfdmFsdWUgI2ZmZlxuICovXG5AcG9zdEJveEJhY2tncm91bmRDb2xvcjpcdCNmZmY7XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIExBWU9VVFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGNvbnRhaW5lck1heFdpZHRoOlx0XHQxMTcwcHg7XG5cbi8qKlxuICogQGdyb3VwIEJhc2ljc1xuICogQGxhYmVsIEJvZHkgQmFja2dyb3VuZCBDb2xvclxuICogQHR5cGUgY29sb3JcbiAqIEBkZWZhdWx0X3ZhbHVlICNmZmZcbiAqL1xuQGJvZHlCYWNrZ3JvdW5kOiAgICAgICAgQHdoaXRlO1xuXG4vKipcbiAqIEBncm91cCBCYXNpY3NcbiAqIEBsYWJlbCBQYWdlIEJhY2tncm91bmQgQ29sb3JcbiAqIEB0eXBlIGNvbG9yXG4gKiBAZGVmYXVsdF92YWx1ZSAjZmZmXG4gKi9cbkBwYWdlQmFja2dyb3VuZDogICAgICAgIEB3aGl0ZTtcblxuLyoqXG4gKiBAZ3JvdXAgQmFzaWNzXG4gKiBAbGFiZWwgVGV4dCBDb2xvclxuICogQHR5cGUgY29sb3JcbiAqIEBkZWZhdWx0X3ZhbHVlICMzMzNcbiAqL1xuQHRleHRDb2xvcjogICAgICAgICAgICAgQGdyYXlEYXJrO1xuLyoqXG4gKiBAZ3JvdXAgQmFzaWNzXG4gKiBAbGFiZWwgRGVmYXVsdCBWZXJ0aWNhbCBTcGFjaW5nXG4gKiBAdHlwZSBwaXhlbHNcbiAqIEBkZWZhdWx0X3ZhbHVlIDI0cHhcbiAqL1xuQGJhc2VsaW5lOlx0XHRcdFx0MjRweDtcblxuLy8gR3JpZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGdyaWRDb2x1bW5zOiAgICAgICAgICAgICAxMjtcbkBmbHVpZEdyaWRDb2x1bW5XaWR0aDogICAgNi4zODI5Nzg3MjMlO1xuQGZsdWlkR3JpZEd1dHRlcldpZHRoOiAgICAyLjEyNzY1OTU3NCU7XG5AZ3JpZFJvd1dpZHRoOiAgICAgICAgICAgIDEwMCU7XG5cbi8vIEJyZWFrcG9pbnRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaGlnaGRlbnNpdHk6IH5cIm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjUpXCIsXG4gICAgICAgICAgICAgIH5cIm9ubHkgc2NyZWVuIGFuZCAobWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjUpXCIsXG4gICAgICAgICAgICAgIH5cIm9ubHkgc2NyZWVuIGFuZCAoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMy8yIClcIixcbiAgICAgICAgICAgICAgflwib25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjUpXCI7XG5cbkBtb2JpbGU6ICAgICAgflwib25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUyOXB4KVwiO1xuXG5AdGFibGV0OiAgICAgIH5cIm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk3OXB4KVwiO1xuQHRhYmxldERvd246ICB+XCJvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTc5cHgpXCI7XG5AdGFibGV0VXA6ICAgIH5cIm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweClcIjtcblxuQGRlc2t0b3A6ICAgICB+XCJvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTgwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTI4cHgpXCI7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUWVBPR1JBUEhZXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vKipcbiAqIEBncm91cCBUeXBvZ3JhcGh5XG4gKiBAbGFiZWwgU2FucyBGb250IEZhbWlseVxuICogQHR5cGUgdGV4dFxuICogQGRlZmF1bHRfdmFsdWUgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmXG4gKi9cbkBzYW5zRm9udEZhbWlseTogICAgICAgIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcblxuLyoqXG4gKiBAZ3JvdXAgVHlwb2dyYXBoeVxuICogQGxhYmVsIFNlcmlmIEZvbnQgRmFtaWx5XG4gKiBAdHlwZSB0ZXh0XG4gKi9cbkBzZXJpZkZvbnRGYW1pbHk6ICAgICAgIEdlb3JnaWEsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFRpbWVzLCBzZXJpZjtcbkBtb25vRm9udEZhbWlseTogICAgICAgIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZTtcblxuLyoqXG4gKiBAZ3JvdXAgVHlwb2dyYXBoeVxuICogQGxhYmVsIEJhc2UgRm9udCBTaXplXG4gKiBAdHlwZSBwaXhlbHNcbiAqL1xuQGJhc2VGb250U2l6ZTogICAgICAgICAgMTZweDtcblxuLyoqXG4gKiBAZ3JvdXAgVHlwb2dyYXBoeVxuICogQGxhYmVsIFNhbnMgRm9udCBGYW1pbHlcbiAqIEB0eXBlIGRyb3Bkb3duXG4gKiBAb3B0aW9ucyBAc2VyaWZGb250RmFtaWx5fEBzYW5zRm9udEZhbWlseVxuICogQGRlZmF1bHRfdmFsdWUgQHNlcmlmRm9udEZhbWlseVxuICovXG5AYmFzZUZvbnRGYW1pbHk6ICAgICAgICBAc2VyaWZGb250RmFtaWx5O1xuLyoqXG4gKiBAZ3JvdXAgVHlwb2dyYXBoeVxuICogQGxhYmVsIEJhc2UgTGluZSBIZWlnaHRcbiAqIEB0eXBlIHRleHRcbiAqIEBkZWZhdWx0X3ZhbHVlIDEuNVxuICovXG5AYmFzZUxpbmVIZWlnaHQ6ICAgICAgICAxLjU7XG5cbkBhbHRGb250RmFtaWx5OiAgICAgICAgIEBzYW5zRm9udEZhbWlseTtcbkBiYXNlRm9udFdlaWdodDpcdFx0bm9ybWFsO1xuXG5AaGVhZGluZ3NGb250RmFtaWx5OiAgICBAc2Fuc0ZvbnRGYW1pbHk7IC8vIGVtcHR5IHRvIHVzZSBkZWZhdWx0LCBAYmFzZUZvbnRGYW1pbHlcbkBoZWFkaW5nc0ZvbnRXZWlnaHQ6ICAgIGJvbGQ7IC8vIGVtcHR5IHRvIHVzZSBkZWZhdWx0LCBAYmFzZUZvbnRXZWlnaHRcbkBoZWFkaW5nc0NvbG9yOiAgICAgICAgIGluaGVyaXQ7IC8vIGVtcHR5IHRvIHVzZSBkZWZhdWx0LCBAdGV4dENvbG9yXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEZPUk1TLCBUQUJMRVMgQU5EIEJVVFRPTlNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFRhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQHRhYmxlQmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQ7IC8vIG92ZXJhbGwgYmFja2dyb3VuZC1jb2xvclxuQHRhYmxlQmFja2dyb3VuZEFjY2VudDogICAgICAgICAgICAgI2Y5ZjlmOTsgLy8gZm9yIHN0cmlwaW5nXG5AdGFibGVCYWNrZ3JvdW5kSG92ZXI6ICAgICAgICAgICAgICAjZjVmNWY1OyAvLyBmb3IgaG92ZXJcbkB0YWJsZUJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICNkZGQ7IC8vIHRhYmxlIGFuZCBjZWxsIGJvcmRlclxuXG5cbi8vIEJ1dHRvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBidG5CYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgIEB3aGl0ZTtcbkBidG5CYWNrZ3JvdW5kSGlnaGxpZ2h0OiAgICAgICAgICAgIGRhcmtlbihAd2hpdGUsIDEwJSk7XG5AYnRuQm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAjY2NjO1xuXG5AYnRuUHJpbWFyeUJhY2tncm91bmQ6ICAgICAgICAgICAgICBAYmFzZUNvbG9yO1xuQGJ0blByaW1hcnlCYWNrZ3JvdW5kSGlnaGxpZ2h0OiAgICAgc3BpbihAYnRuUHJpbWFyeUJhY2tncm91bmQsIDE1JSk7XG5cblxuLy8gRm9ybXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbnB1dEJhY2tncm91bmQ6ICAgICAgICAgICAgICAgQHdoaXRlO1xuQGlucHV0Qm9yZGVyOiAgICAgICAgICAgICAgICAgICAjY2NjO1xuQGlucHV0Qm9yZGVyUmFkaXVzOiAgICAgICAgICAgICAzcHg7XG5AaW5wdXREaXNhYmxlZEJhY2tncm91bmQ6ICAgICAgIEBncmF5TGlnaHRlcjtcbkBmb3JtQWN0aW9uc0JhY2tncm91bmQ6ICAgICAgICAgI2Y1ZjVmNTtcblxuQHBsYWNlaG9sZGVyVGV4dDogICAgICAgICBAZ3JheUxpZ2h0O1xuXG5cbi8vIEZvcm0gc3RhdGVzIGFuZCBhbGVydHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkB3YXJuaW5nVGV4dDogICAgICAgICAgICAgI2MwOTg1MztcbkB3YXJuaW5nQmFja2dyb3VuZDogICAgICAgI2ZjZjhlMztcbkB3YXJuaW5nQm9yZGVyOiAgICAgICAgICAgZGFya2VuKHNwaW4oQHdhcm5pbmdCYWNrZ3JvdW5kLCAtMTApLCAzJSk7XG5cbkBlcnJvclRleHQ6ICAgICAgICAgICAgICAgI2I5NGE0ODtcbkBlcnJvckJhY2tncm91bmQ6ICAgICAgICAgI2YyZGVkZTtcbkBlcnJvckJvcmRlcjogICAgICAgICAgICAgZGFya2VuKHNwaW4oQGVycm9yQmFja2dyb3VuZCwgLTEwKSwgMyUpO1xuXG5Ac3VjY2Vzc1RleHQ6ICAgICAgICAgICAgICM0Njg4NDc7XG5Ac3VjY2Vzc0JhY2tncm91bmQ6ICAgICAgICNkZmYwZDg7XG5Ac3VjY2Vzc0JvcmRlcjogICAgICAgICAgIGRhcmtlbihzcGluKEBzdWNjZXNzQmFja2dyb3VuZCwgLTEwKSwgNSUpO1xuXG5AaW5mb1RleHQ6ICAgICAgICAgICAgICAgICMzYTg3YWQ7XG5AaW5mb0JhY2tncm91bmQ6ICAgICAgICAgICNkOWVkZjc7XG5AaW5mb0JvcmRlcjogICAgICAgICAgICAgIGRhcmtlbihzcGluKEBpbmZvQmFja2dyb3VuZCwgLTEwKSwgNyUpO1xuXG4vLyBaLWluZGV4IG1hc3RlciBsaXN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AemluZGV4RHJvcGRvd246ICAgICAgICAgIDEwMDA7XG5AemluZGV4UG9wb3ZlcjogICAgICAgICAgIDEwMTA7XG5AemluZGV4VG9vbHRpcDogICAgICAgICAgIDEwMjA7XG5AemluZGV4Rml4ZWROYXZiYXI6ICAgICAgIDEwMzA7XG5AemluZGV4TW9kYWxCYWNrZHJvcDogICAgIDEwNDA7XG5AemluZGV4TW9kYWw6ICAgICAgICAgICAgIDEwNTA7XG5cbi8vIE5hdmJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG5hdmJhckhlaWdodDogICAgICAgICAgICAgICAgICAgIDQwcHg7XG5AbmF2YmFyRm9udFNpemU6ICAgICAgICAgICAgICAgICAgMTVweDtcbkBuYXZiYXJCYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICBAYm9keUJhY2tncm91bmQ7XG4vLyBOYXZiYXIgYnV0dG9uIChidXJnZXIpIGZvciB0b2dnbGluZyBuYXZiYXIgaXRlbXMgaW4gcmVzcG9uc2l2ZSBsYXlvdXRzXG5AaWNvbmJhckhlaWdodDogM3B4O1xuXG4gICAgLy8gTmF2YmFyIGRyb3Bkb3duc1xuICAgIEBkcm9wZG93bkJhY2tncm91bmQ6IEB3aGl0ZTtcbiAgICBAZHJvcGRvd25Cb3JkZXI6IHJnYmEoMCwwLDAsLjIpO1xuICAgIEBkcm9wZG93bkRpdmlkZXJUb3A6ICNlNWU1ZTU7XG4gICAgQGRyb3Bkb3duRGl2aWRlckJvdHRvbTogQHdoaXRlO1xuXG4gICAgLy8gTWFpbiBuYXZiYXJcbiAgICBAbmF2YmFyVGV4dDogQHRleHRDb2xvcjtcbiAgICBAbmF2YmFyTGlua0NvbG9yOiBAbmF2YmFyVGV4dDtcbiAgICBAbmF2YmFyTGlua0NvbG9ySG92ZXI6IGRhcmtlbihAbmF2YmFyTGlua0NvbG9yLCA1JSk7XG4gICAgQG5hdmJhckxpbmtCYWNrZ3JvdW5kQWN0aXZlOiBkYXJrZW4oQG5hdmJhckJhY2tncm91bmQsIDUlKTtcbiAgICBAbmF2YmFyRHJvcGRvd25DYXJldENvbG9yOiBAbmF2YmFyTGlua0NvbG9yO1xuICAgIEBuYXZiYXJEcm9wZG93bkNhcmV0Q29sb3JIb3ZlcjogQG5hdmJhckxpbmtDb2xvckhvdmVyO1xuICAgIEBuYXZiYXJSdWxlQ29sb3I6IEBncmF5TGlnaHQ7XG5cbiAgICAvLyBTdGlja3kgbmF2YmFyXG4gICAgQHN0aWNreU5hdmJhclRleHQ6IEB0ZXh0Q29sb3I7XG4gICAgQHN0aWNreU5hdmJhckxpbmtDb2xvcjogQHN0aWNreU5hdmJhclRleHQ7XG4gICAgQHN0aWNreU5hdmJhckxpbmtDb2xvckhvdmVyOiBkYXJrZW4oQHN0aWNreU5hdmJhckxpbmtDb2xvciwgNSUpO1xuICAgIEBzdGlja3lOYXZiYXJCYWNrZ3JvdW5kQ29sb3I6IEB3aGl0ZTtcbiAgICBAc3RpY2t5TmF2YmFyRHJvcGRvd25DYXJldENvbG9yOiBAc3RpY2t5TmF2YmFyTGlua0NvbG9yO1xuICAgIEBzdGlja3lOYXZiYXJEcm9wZG93bkNhcmV0Q29sb3JIb3ZlcjogQHN0aWNreU5hdmJhckxpbmtDb2xvckhvdmVyO1xuXG5cbi8vIFNvY2lhbCBCcmFuZHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkByc3M6ICNmODk0MDY7XG5AZmFjZWJvb2s6ICMzYTU3OTU7XG5AdHdpdHRlcjogIzU1YWNlZTtcbkB5b3V0dWJlOiAjZTUyZDI3O1xuQGdwbHVzOiAjZGQ0YjM5O1xuQGZsaWNrcjogI2ZmMDA4NDtcbkBsaW5rZWRpbjogIzAwN2JiNjtcbkB0dW1ibHI6ICMzNTQ2NWM7XG4iLCJAc3RpY2t5TmF2TGluZUhlaWdodDogNTZweDtcblxuLnN0aWNreS1uYXYtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnN0aWNreS1uYXYtaG9sZGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiA5OTk5ODtcblxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG9wYWNpdHk6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IEBzdGlja3lOYXZiYXJCYWNrZ3JvdW5kQ29sb3I7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBAZ3JheUxpZ2h0ZXI7XG4gIC50cmFuc2l0aW9uKG9wYWNpdHkgMC4zcyk7XG5cbiAgJi50cmFuc2l0aW9uaW5nIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGhlaWdodDogQHN0aWNreU5hdkxpbmVIZWlnaHQ7XG5cbiAgICAubmF2YmFyIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICB9XG5cbiAgJi5zaG93IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICBib2R5LmFkbWluLWJhciAmIHtcbiAgICB0b3A6IDMycHg7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzgycHgpIHtcbiAgICAgIHRvcDogNDZweDtcbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBib2R5LnNpbmdsZSAmLnN0aWNreV9uYXZfZGlzcGxheV9hcnRpY2xlLFxuICAgIGJvZHkuc2luZ2xlICYubWFpbl9uYXZfaGlkZV9hcnRpY2xlLFxuICAgIGJvZHkucGFnZSAmLnN0aWNreV9uYXZfZGlzcGxheV9hcnRpY2xlLFxuICAgIGJvZHkucGFnZSAmLm1haW5fbmF2X2hpZGVfYXJ0aWNsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cblxuLy8gRXh0ZW5kIHRoZSBjb21tb24gbmF2YmFyIHN0eWxlc1xuLm5hdmJhci5zdGlja3ktbmF2YmFyIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgLnRyYW5zaXRpb24ob3BhY2l0eSAwLjNzKTtcblxuICAubmF2IHtcbiAgICBjb2xvcjogQHN0aWNreU5hdmJhclRleHQ7XG4gIH1cblxuICBsaSB7XG4gICAgYSB7XG4gICAgICBsaW5lLWhlaWdodDogQHN0aWNreU5hdkxpbmVIZWlnaHQ7XG4gICAgICBjb2xvcjogQHN0aWNreU5hdmJhckxpbmtDb2xvcjtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBAc3RpY2t5TmF2YmFyTGlua0NvbG9ySG92ZXI7XG4gICAgICB9XG5cbiAgICAgIC5jYXJldDpiZWZvcmUge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiBAc3RpY2t5TmF2YmFyRHJvcGRvd25DYXJldENvbG9yO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIC5jYXJldDpiZWZvcmUge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiBAc3RpY2t5TmF2YmFyRHJvcGRvd25DYXJldENvbG9ySG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5ob21lLWxpbmsgPiBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiBsaWdodGVuKEBzdGlja3lOYXZiYXJMaW5rQ29sb3IsIDUlKTtcbiAgICB9XG4gIH1cblxuICAvLyBEcm9wZG93bnMgd2l0aGluIG5hdlxuICBsaS5kcm9wZG93biAuZHJvcGRvd24tbWVudSBsaSBhIHtcbiAgICBjb2xvcjogQHN0aWNreU5hdmJhckxpbmtDb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IEBzdGlja3lOYXZiYXJMaW5rQ29sb3JIb3ZlcjtcbiAgICB9XG4gIH1cblxuICAuc29jaWFsLWljb25zIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cblxuICAuYnRuLW5hdmJhciB7XG4gICAgcGFkZGluZzogMCAxMHB4IDAgMTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbGluZS1oZWlnaHQ6IEBzdGlja3lOYXZMaW5lSGVpZ2h0O1xuXG4gICAgLmJhcnMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgICAuaWNvbi1iYXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHN0aWNreU5hdmJhckxpbmtDb2xvcjtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIC5pY29uLWJhciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBzdGlja3lOYXZiYXJMaW5rQ29sb3JIb3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmhvbWUtbGluayB7XG4gICAgLy8gVE9ETzogc2hvdWxkIGJlIGJhc2VkIG9uIGEgdmFyaWFibGVcbiAgICBtaW4td2lkdGg6IDQwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgLm5hdiA+IGxpIHtcbiAgICAgIGEge1xuICAgICAgICBpbWcge1xuICAgICAgICAgIC8vIFRPRE86IHNob3VsZCBiZSBiYXNlZCBvbiB2YXJpYWJsZVxuICAgICAgICAgIHdpZHRoOiAxLjQ5ZW07XG4gICAgICAgICAgaGVpZ2h0OiAxLjQ5ZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmljb24taG9tZTpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb250YWlucyBzb2NpYWwgaWNvbnMsIHNlYXJjaCwgZG9uYXRlIGxpbmtcbiAgLm5hdi1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuXG4gICAgI2hlYWRlci1leHRyYXMge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBhLmRvbmF0ZS1saW5rOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG5cbiAgICAgIC5kb25hdGUge1xuICAgICAgICBhIHNwYW4ge1xuICAgICAgICAgIC8vIFRPRE86IHNob3VsZCBiZSBiYXNlZCBvbiB2YXJzXG4gICAgICAgICAgcGFkZGluZzogNHB4IDhweDtcblxuICAgICAgICAgIGNvbG9yOiBAd2hpdGU7XG5cbiAgICAgICAgICAvLyBUT0RPOiBpcyB0aGlzIHNwZWNpZmljIHRvIHRoZSBkb25hdGUgbGluaz9cbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAcmVkO1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbihAcmVkLCA1JSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gVE9ETzogd2hhdCBpcyB0aGlzIGZvcj9cbiAgICAgICAgICBpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAvLyBOYXZiYXIgc2VhcmNoIGZvcm1cbiAgLmZvcm0tc2VhcmNoIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLnRvZ2dsZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBjb2xvcjogQGJhc2VDb2xvcjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDkxO1xuICAgICAgLnRyYW5zaXRpb24oIDAuM3MgKTtcbiAgICB9XG4gICAgLmlucHV0LWFwcGVuZCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogNDRweDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIC50cmFuc2l0aW9uKCAwLjNzICk7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgei1pbmRleDogOTA7XG4gICAgICB3aWR0aDogMjQ2cHg7XG4gICAgICAudGV4dC1pbnB1dC13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogMTk2cHg7XG4gICAgICB9XG4gICAgICBpbnB1dCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAuYm94LXNpemluZyggYm9yZGVyLWJveCApO1xuICAgICAgICBoZWlnaHQ6IDM2cHggIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiA1MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMzZweCAhaW1wb3J0YW50O1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgLmJveC1zaXppbmcoIGJvcmRlci1ib3ggKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAgICNzdGlja3ktbmF2LXNlYXJjaC5zaG93IHtcbiAgICAgIC5pbnB1dC1hcHBlbmQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICB9XG4gICAgICAuaW5wdXQtYXBwZW5kLFxuICAgICAgLnRvZ2dsZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzNDM0MzQ7XG4gICAgICAgIGNvbG9yOiBAYm9keUJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5hdi1sZWZ0IHtcbiAgICAmID4gdWwge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIaWRlcyB0aGUgc2Vjb25kIHNpdGUgbmFtZSBpbiB0aGUgc3RpY2t5IGhlYWRlclxuICAvLyB3aGVuIC5uYXYtc2hlbGYgaXMgdmlzaWJsZVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAubmF2LWxlZnQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBTaXRlIG5hbWVcbiAgLnNpdGUtbmFtZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6ICMzNDM0MzQ7XG5cbiAgICBhIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgcGFkZGluZzogMCAxMHB4IDAgMDtcbiAgICAgIGNvbG9yOiBAc3RpY2t5TmF2YmFyTGlua0NvbG9yO1xuICAgICAgbWF4LXdpZHRoOiAyMTRweDtcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6IEBzdGlja3lOYXZiYXJMaW5rQ29sb3JIb3ZlcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJpZ2h0IHNpZGUgb2YgbmF2LCBzZWFyY2gsIGRvbmF0ZSwgc29jaWFsIGljb25zXG4gIC5uYXYtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICAjaGVhZGVyLWV4dHJhcyB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGEuZG9uYXRlLWxpbms6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdGlja3kgbmF2IGRyb3Bkb3duIG1vZHNcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgbGkuZHJvcGRvd24ge1xuICAgICAgLmRyb3Bkb3duLW1lbnUgbGkgYSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBAc3RpY2t5TmF2TGluZUhlaWdodDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmF2LXNoZWxmIGIuY2FyZXQge1xuICAgICAgcGFkZGluZzogMjJweDtcbiAgICB9XG4gIH1cbn1cblxuLy8gRm9ybWF0IHRoZSBzdGlja3kgbmF2IG92ZXJmbG93IG1lbnVcbiNtZW51LW92ZXJmbG93ID4gdWwge1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIG1heC1oZWlnaHQ6IDgwdmg7XG4gIC5jYXJldDo6YmVmb3JlLCAuY2FyZXQ6OmFmdGVyIHtcbiAgICBkaXNwbGF5Om5vbmU7XG4gIH1cbiAgdWwuZHJvcGRvd24tbWVudSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGxpIGEge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjVlbTtcbiAgICB9XG4gICAgJjo6YmVmb3JlLCAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuc3ViLW1lbnUsXG4gICAgLnN1Yi1zdWItbWVudSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLypcblRoZW1lIE5hbWU6ICAgICBHSUpOIC0gSW1wYWN0IFByb2plY3QgU2l0ZVxuVGhlbWUgVVJJOiAgICAgIGh0dHA6Ly9sYXJnb3Byb2plY3Qub3JnXG5EZXNjcmlwdGlvbjogICAgQSBjaGlsZCB0aGVtZSBmb3IgR0lKTidzIEltcGFjdCBQcm9qZWN0IHNpdGUgYmFzZWQgb24gdGhlIFByb2plY3QgTGFyZ28gcGFyZW50IHRoZW1lLlxuQXV0aG9yOiAgICAgICAgIEFkYW0gU2Nod2VpZ2VydC9JTk5cbkF1dGhvciBVUkk6ICAgICBodHRwOi8vbGFyZ29wcm9qZWN0Lm9yZ1xuVGVtcGxhdGU6ICAgICAgIGxhcmdvLWRldlxuVmVyc2lvbjogICAgICAgIDAuMS4wXG4qL1xuQGx0Z3JheTogI2VmZWZlZjtcbkBka2dyYXk6ICMzMzM7XG5cbi8qIExhcmdvIGVzc2VudGlhbHMgKi9cbkBpbXBvcnQgXCJyZXNldC5sZXNzXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzLmxlc3NcIjtcbkBpbXBvcnQgXCJtaXhpbnMubGVzc1wiO1xuXG4vKiBHSUpOIGN1c3RvbSB2YXJzICovXG5AbmF2YmFyQmFja2dyb3VuZDogQGRrZ3JheTtcbkBuYXZiYXJUZXh0OiBAd2hpdGU7XG5AbmF2YmFyTGlua0NvbG9yOiBAbmF2YmFyVGV4dDtcblxuQHN0aWNreU5hdmJhclRleHQ6IEB0ZXh0Q29sb3I7XG5Ac3RpY2t5TmF2YmFyTGlua0NvbG9yOiBAc3RpY2t5TmF2YmFyVGV4dDtcbkBzdGlja3lOYXZiYXJMaW5rQ29sb3JIb3ZlcjogQHdoaXRlO1xuXG4vKiBMYXJnbyBuYXYgc3R5bGVzICovXG5AaW1wb3J0IFwibmF2YmFyLWNvbW1vbi5sZXNzXCI7XG5AaW1wb3J0IFwibmF2YmFyLXN0aWNreS5sZXNzXCI7XG5cbiNtYWluLW5hdi5uYXZiYXIge1xuICBsaS5kcm9wZG93biAuZHJvcGRvd24tbWVudSBsaSBhIHtcbiAgICBjb2xvcjogQGRrZ3JheTtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IEBuYXZiYXJMaW5rQ29sb3JIb3ZlcjtcbiAgICB9XG4gIH1cbn1cblxuYSB7XG4gIGNvbG9yOiAjNmUxZTIzO1xuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogIzk2MjkzMDtcbiAgfVxufVxuXG4uY2F0ZWdvcnkgLnJvdy1mbHVpZCAuc3RvcmllcyB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBmbG9hdDogbm9uZTtcbn1cbi5ndWlkZS1wYWdlIHtcbiAgLmF1dGhvci1wb3N0cy1saW5rIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5lbnRyeS1jb250ZW50IC53aWRnZXQge1xuICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgfVxuICAucGFnZXIge1xuICAgIGEge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgICBoNS50b3AtcGFnZSB7XG5cdCAgbWFyZ2luLWJvdHRvbTogMDtcblx0ICBmb250LXNpemU6IDIxcHg7XG4gICAgfVxuICB9XG4gIC50b2dnbGUtbmF2LWJhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuZ3VpZGUtbmF2IHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBsdGdyYXk7XG4gICAgaDQge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGEge1xuXHQgICAgY29sb3I6IEBka2dyYXk7XG4gICAgICB9XG4gICAgfVxuICAgIC5jdXJyZW50X3BhZ2VfaXRlbSB7XG5cdCAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cdCAgLmNoaWxkcmVuIHtcblx0ICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdCAgfVxuICAgIH1cbiAgfVxuICBoMy5ndWlkZS1hdXRob3Ige1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIC5sYXJnby1hdXRob3Ige1xuICAgIC53aWRnZXR0aXRsZSB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgY29sb3I6IEBsdGdyYXk7XG4gICAgfVxuICAgIGg1IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICB9XG4gICAgdWwge1xuXHQgIHBhZGRpbmc6IDA7XG5cdCAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICAuYXV0aG9yLXBvc3RzLWxpbmsge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDo3ODJweCkge1xuICAgIC5ndWlkZS1uYXYge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgLmNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbjogNXB4IDEwcHg7XG4gICAgICB9XG4gICAgICAuZ3VpZGUtdHJlZSxcbiAgICAgIC5yZXNvdXJjZXMge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgICAgLnRvZ2dsZS1uYXYtYmFyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IDBcbiAgICAgIH1cbiAgICAgIGg0IHtcbiAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgICBtYXJnaW46IDAuMWVtIDA7XG4gICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgIH1cbiAgICAgIHVsIHtcbiAgICAgICAgbWFyZ2luOiAwIC0xMHB4IDAgNDRweFxuICAgICAgfVxuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgID4gYSB7XG4gICAgICAgICAgcGFkZGluZzogNnB4IDEwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5yZXNvdXJjZXMgaDQge1xuICAgICAgICBtYXJnaW4tbGVmdDogNDZweDtcbiAgICAgIH1cbiAgICB9XG4gICAgYXJ0aWNsZS5zcGFuOSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgIC5lbnRyeS1jb250ZW50IGgzIHtcblx0ICAgIGZvbnQtc2l6ZTogMjFweDtcblx0ICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG5cdCAgICAmLmd1aWRlLWF1dGhvciB7XG5cdFx0ICBtYXJnaW4tYm90dG9tOiAwO1xuXHQgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAucGFnZXIgLm5leHQsXG4gICAgLnBhZ2VyIC5wcmV2aW91cyB7XG5cdCAgd2lkdGg6IDEwMCU7XG5cdCAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIH1cbiAgfVxufVxuLmd1aWRlLXJlc291cmNlcyB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgYSB7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gIH1cbiAgLmF0dGFjaG1lbnQtbWV0YSB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuICBpIHtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgfVxuICAuaWNvbi1waWN0dXJlIHtcbiAgICBjb2xvcjogY2FkZXRibHVlO1xuICB9XG4gIC5pY29uLXBsYXkge1xuICAgIGNvbG9yOiBjcmltc29uO1xuICB9XG4gIC5pY29uLXRhYmxlIHtcbiAgICBjb2xvcjogZm9yZXN0Z3JlZW47XG4gIH1cbiAgLmljb24tZG9jLXRleHQge1xuICAgIGNvbG9yOiBtZWRpdW1ibHVlO1xuICB9XG4gIC5pY29uLWRvYy10ZXh0LWludiB7XG5cdGNvbG9yOiBmaXJlYnJpY2s7XG4gIH1cbiAgLmljb24tZG93bmxvYWQge1xuICAgIGNvbG9yOiBpbmRpZ287XG4gIH1cbn1cblxuLyogSW50ZXJ2aWV3cyBjYXRlZ29yeSB0ZW1wbGF0ZSAqL1xuLnZpZGVvLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMCAwIDEwcHggMDtcblxuICBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMCAwIDZweCAwO1xuICB9XG5cbiAgc3Bhbi5wbGF5LWJ1dHRvbi1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZm9udC1zaXplOiA0ZW07XG4gICAgdGV4dC1zaGFkb3c6IDFweCAxcHggNHB4ICMzNDM0MzQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtNDhweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gIH1cbn1cbi5jYXRlZ29yeS1pbnRlcnZpZXdzIHtcbiAgLmVudHJ5LXRpdGxlIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgfVxuICBwIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cblxuLyogRm9vdGVyICovXG4uZm9vdGVyLWJnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMwMmUyYztcbn1cbiNzaXRlLWZvb3RlciBhIHtcbiAgY29sb3I6ICNlZWU7XG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG59XG4uaG9tZSAjc3VwcGxlbWVudGFyeSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4iXX0= */
