/* $headings-font-weight:    700 !default; */
/**
 * Import component variables
 */
/** elements mixins **/
/**
* Transition-timing-function property@mixin 
*/
/*background RGBA
============================================*/
/*inline-block
============================================*/
/****/
/****/
/****/
@keyframes spinAround {
  from {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg); } }

/* Hien thi cho Safari and Chrome */
@-webkit-keyframes spinAround {
  from {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg); } }

/* Hien thi cho Firefox */
@-moz-keyframes spinAround {
  from {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg); } }

/* Hien thi cho Opera */
@-o-keyframes spinAround {
  from {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg); } }

/** elements mixins **/
/**
* Transition-timing-function property@mixin 
*/
/*background RGBA
============================================*/
/*inline-block
============================================*/
/****/
/****/
/*
 * Global variables
 */
/* main color which will be used for all main block styles... */
/**
 * Import component variables
 */
/**
 *
 */
/* --- SCSS For Accordion --- */
/* --- SCSS For Breadcrumb --- */
/* --- SCSS For Buttons --- */
/* --- SCSS For Call-to-action --- */
/* --- SCSS For Content-slider --- */
/*  */
/* carousel-controls-v1 */
/* carousel-controls-v2 */
/* carousel-controls-v3 */
/* Navigation Styles */
/* carousel-indicators-v1 */
/* carousel-indicators-v2 */
/* carousel-indicators-v3 */
/* carousel-indicators-v4 */
/* carousel-indicators-v5 */
/* carousel-indicators-v6 */
/* --- SCSS For Counters --- */
/* --- SCSS For Heading --- */
/* --- SCSS For Icon-box --- */
/* --- SCSS For Interactive-banner --- */
/* --- SCSS For Latest-posts --- */
/* latest posts */
/* --- SCSS For List --- */
/* variables for list */
/* variables for list light */
/* --- SCSS For Message --- */
/* --- SCSS For Newsletter --- */
/* --- SCSS For Piechart --- */
/* --- SCSS For Pricing --- */
/* --- SCSS For Process-steps --- */
/* process-steps */
/* --- SCSS For Service --- */
/* variables for tab style1 using as base of tab */
/* --- SCSS For Style-icon --- */
/* Variables icons default */
/* Variables icons bodered */
/* Variables icons darker */
/* Variables icons light */
/* Variables icons plain */
/* Variables icons for light style */
/* Variables icons outline */
/* Variables icons inverse */
/* --- SCSS For Table --- */
/* --- SCSS For Tabs --- */
/* variables for tab style1 using as base of tab */
/* tab style version 5 */
/* tab style version 6 */
/* --- SCSS For Testimonials --- */
/* testimonials default */
/* testimonials-v1 */
/* testimonials light */
/* --- SCSS For Typography --- */
/**
 *   Blocks Layout Selectors
 */
/********* LAYOUT **************/
.widget_nav_menu ul li:last-child {
  padding-bottom: 0; }

/*------------------------------------*    Widget Price Filter
\*------------------------------------*/
.widget_price_filter .price_slider_wrapper {
  padding: 20px; }

.widget_price_filter .ui-slider .ui-slider-handle {
  background-color: #f25b22 !important; }

.widget_price_filter .price_slider_wrapper .ui-widget-content {
  margin-bottom: 30px;
  background-color: #e4e7ea !important; }

.widget_price_filter .ui-slider-horizontal .ui-slider-range {
  background: #000 !important; }

.widget_price_filter .price_slider_amount .button {
  padding: 15px 30px;
  background: #f6f6f6;
  text-transform: uppercase;
  color: #000; }

/*------------------------------------*    Product List Widget
\*------------------------------------*/
.woocommerce ul.product_list_widget {
  list-style: none; }
  .woocommerce ul.product_list_widget li {
    padding: 15px 0; }
    .woocommerce ul.product_list_widget li del {
      font-size: 14px;
      color: #f25b22; }
    .woocommerce ul.product_list_widget li ins {
      color: #2f2f2f;
      font-size: 13px;
      text-decoration: none;
      font-weight: bold; }
    .woocommerce ul.product_list_widget li img {
      width: 80px;
      float: left;
      margin-left: 0;
      margin-right: 15px; }
      .rtl .woocommerce ul.product_list_widget li img {
        float: right; }
      .rtl .woocommerce ul.product_list_widget li img {
        margin-right: 0;
        margin-left: inherit; }
      .rtl .woocommerce ul.product_list_widget li img {
        margin-left: 15px;
        margin-right: inherit; }
    .woocommerce ul.product_list_widget li .star-rating {
      font-size: 10px;
      margin-bottom: 5px; }
      .woocommerce ul.product_list_widget li .star-rating span:before {
        color: #ffca00; }
    .woocommerce ul.product_list_widget li .product-title {
      margin-bottom: 5px;
      text-transform: uppercase;
      height: 42px;
      overflow: hidden;
      display: block;
      line-height: 20px;
      font-size: 13px;
      font-weight: normal; }
    .woocommerce ul.product_list_widget li a {
      font-weight: normal;
      text-transform: uppercase;
      margin-bottom: 5px;
      font-family: "Fjalla One"; }
    .woocommerce ul.product_list_widget li:first-child {
      padding-top: 0; }

/**
 * Styling special product block.
 */
.products-collection .owl-carousel-play .carousel-control {
  top: 30%; }

.products.related h2, .product > #reviews > h3, .products.upsells h2 {
  color: #000000;
  padding: 20px 0 0;
  margin: 0 0 10px;
  font-size: 16px;
  position: relative;
  letter-spacing: 2px;
  z-index: 10; }

.product > #reviews {
  border: solid 1px #e4e7ea;
  margin-bottom: 30px; }

/**
 * Deal Modules
 */
.woo-deals {
  background: white; }
  .woo-deals .carousel-inner {
    overflow: visible; }
  .woo-deals .owl-carousel-play {
    margin: 0; }
  .woo-deals .owl-carousel .owl-item {
    padding: 0; }
  .woo-deals .product-block .image {
    margin-bottom: 0;
    width: 44%; }
  .woo-deals .deals-information {
    margin-bottom: 30px;
    border-bottom: 1px solid #e4e7ea;
    padding-bottom: 40px; }
    .woo-deals .deals-information .name {
      font-size: 44px;
      height: 95px;
      overflow: hidden;
      line-height: 45px; }
    .woo-deals .deals-information .price {
      font-size: 30px; }
      .woo-deals .deals-information .price ins {
        font-size: 28px;
        font-family: "Poppins", sans-serif; }
  .woo-deals .caption {
    padding: 35px; }
  .woo-deals .countdown-times > div {
    position: relative;
    font-size: 12px;
    font-weight: 500;
    text-align: center;
    color: #999999;
    float: left;
    text-transform: uppercase; }
    .rtl .woo-deals .countdown-times > div {
      float: right; }
    .woo-deals .countdown-times > div:after {
      content: "";
      height: 35px;
      background: #bcbcbc;
      width: 2px;
      position: absolute;
      top: 2px;
      right: -2px; }
      .rtl .woo-deals .countdown-times > div:after {
        left: -2px;
        right: auto; }
    .woo-deals .countdown-times > div > b {
      display: block;
      font-size: 24px;
      font-weight: bold;
      color: #f25b22;
      width: 70px;
      height: 24px;
      line-height: 24px;
      font-family: "Fjalla One"; }
    .woo-deals .countdown-times > div:last-child:after {
      content: none; }

/**
 * Widget Products Categories Menu 
 */
ul.product-categories {
  list-style: none;
  margin: 0;
  padding: 0; }
  ul.product-categories li.cat-parent .children {
    background: #f7f7f7;
    padding: 0;
    list-style: none; }
  ul.product-categories li.current-cat > a, ul.product-categories li.current-cat-parent > a {
    color: #f25b22; }
  ul.product-categories li ul li {
    border-bottom: 0; }
  ul.product-categories li {
    position: relative; }
    ul.product-categories li .closed, ul.product-categories li .opened {
      position: absolute;
      right: 15px;
      top: 10px;
      content: "";
      font-size: 14px;
      color: #aaa;
      cursor: pointer;
      width: 20px;
      height: 20px;
      line-height: 20px;
      text-align: center; }
      .rtl ul.product-categories li .closed, .rtl ul.product-categories li .opened {
        left: 15px;
        right: auto; }
      ul.product-categories li .closed:hover, ul.product-categories li .opened:hover {
        color: #f25b22; }
    ul.product-categories li a {
      padding: 10px 5px 10px 0;
      display: inline-block;
      color: #000;
      font-size: 12px;
      text-transform: uppercase;
      font-family: "Fjalla One"; }
      ul.product-categories li a:hover {
        color: #f25b22; }
    ul.product-categories li li a {
      font-size: 14px;
      font-family: "Poppins", sans-serif;
      padding: 5px 5px 5px 20px;
      color: #999999;
      text-transform: none; }
      ul.product-categories li li a:hover {
        color: #f25b22; }
    ul.product-categories li:first-child {
      padding-top: 0; }

/*
**  opal category list
*/
.opal-category-list #opal-accordion-categories .category-title {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  padding: 17px 15px;
  padding-right: 20px;
  padding-left: 30px;
  width: 100%;
  background: url(../images/list-style.png) no-repeat 15px 25px transparent; }
  .rtl .opal-category-list #opal-accordion-categories .category-title {
    padding-left: 20px;
    padding-right: inherit; }
  .rtl .opal-category-list #opal-accordion-categories .category-title {
    padding-right: 30px;
    padding-left: inherit; }
  .opal-category-list #opal-accordion-categories .category-title a {
    text-transform: uppercase;
    font-size: 12px; }
    .opal-category-list #opal-accordion-categories .category-title a:hover {
      color: #f25b22; }
  .opal-category-list #opal-accordion-categories .category-title a.dropdown {
    float: right;
    margin-left: 10px; }
    .rtl .opal-category-list #opal-accordion-categories .category-title a.dropdown {
      float: left; }
    .rtl .opal-category-list #opal-accordion-categories .category-title a.dropdown {
      margin-right: 10px;
      margin-left: inherit; }
  .opal-category-list #opal-accordion-categories .category-title .total-product {
    display: inline-block; }

.opal-category-list #opal-accordion-categories .panel-collapse .category-title {
  padding-top: 0;
  padding-bottom: 0;
  border: none;
  background-position: 12px 12px; }
  .opal-category-list #opal-accordion-categories .panel-collapse .category-title a {
    font-size: 11px; }

/*------------------------------------*    Cart
\*------------------------------------*/
.cart_list > div {
  margin: 10px 0;
  padding: 10px 0; }

.cart_list .name {
  font-size: 14px;
  font-weight: normal;
  line-height: 20px;
  text-transform: none;
  margin-top: 0;
  font-family: "Poppins", sans-serif; }

.cart_list .image {
  width: 82px;
  height: 82px; }

.cart_list .cart-item {
  line-height: 1.1;
  margin: 0;
  font-size: 14px; }
  .cart_list .cart-item .amount {
    font-size: 14px;
    color: #f25b22; }

.cart_list .cart-main-content {
  text-align: left;
  position: relative; }
  .rtl .cart_list .cart-main-content {
    text-align: right; }
  .cart_list .cart-main-content .remove {
    position: absolute;
    right: 0;
    top: auto;
    /* 3 */
    /* 3 */
    /* 4 */
    /* 6 */
    /* 6 */
    /* 7 */
    font-size: 25px;
    /* 9 */
    font-size: 2.5rem;
    /* 9 */
    bottom: 10px;
    height: 20px;
    font-weight: normal;
    color: #555555 !important; }
    .rtl .cart_list .cart-main-content .remove {
      left: 0;
      right: auto; }
    .cart_list .cart-main-content .remove:hover {
      background: transparent;
      color: #f25b22 !important; }

.cart_list + .total {
  text-align: right;
  margin-top: 10px;
  padding: 0 15px; }
  .rtl .cart_list + .total {
    text-align: left; }
  .cart_list + .total .amount {
    font-size: 15px; }

.cart_list ul {
  list-style: none;
  padding: 0; }

.widget_shopping_cart .widget_shopping_cart_content .buttons {
  padding: 20px 15px;
  overflow: hidden; }

/*------------------------------------*    Mini Cart
\*------------------------------------*/
.opal-topcart .dropdown.open .mini-cart:before {
  content: "";
  background: transparent;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 200px; }
  .rtl .opal-topcart .dropdown.open .mini-cart:before {
    right: 0;
    left: auto; }

.opal-topcart .dropdown-menu {
  color: #000000;
  padding: 30px;
  min-width: 320px;
  display: block;
  visibility: hidden;
  text-align: left;
  left: auto;
  right: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  opacity: 0;
  filter: alpha(opacity=0);
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  -o-transform: scale(0);
  transform: scale(0);
  -webkit-transition: all 300ms cubic-bezier(0.34, 1.61, 0.7, 1);
  -o-transition: all 300ms cubic-bezier(0.34, 1.61, 0.7, 1);
  transition: all 300ms cubic-bezier(0.34, 1.61, 0.7, 1);
  margin: 0;
  border: 2px solid #f25b22; }
  .rtl .opal-topcart .dropdown-menu {
    text-align: right; }
  .rtl .opal-topcart .dropdown-menu {
    right: auto;
    left: auto; }
  .rtl .opal-topcart .dropdown-menu {
    left: 0;
    right: auto; }
  .opal-topcart .dropdown-menu .quantity {
    font-size: 14px; }

.opal-topcart .media {
  border-bottom: solid 1px #e4e7ea;
  padding-bottom: 30px; }

.opal-topcart .name {
  font-size: 12px;
  margin-bottom: 10px; }
  .opal-topcart .name a {
    color: #000 !important; }
    .opal-topcart .name a:hover {
      color: #f25b22 !important; }

.opal-topcart .open .dropdown-menu {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
  opacity: 1;
  filter: alpha(opacity=100);
  -webkit-transform-origin: 29px -50px;
  -moz-transform-origin: 29px -50px;
  -ms-transform-origin: 29px -50px;
  transform-origin: 29px -50px;
  filter: none;
  -webkit-filter: none;
  -moz-filter: none;
  -o-filter: none;
  -ms-filter: none;
  visibility: visible;
  z-index: 99999; }

.opal-topcart .total {
  padding-top: 20px;
  padding-bottom: 10px; }

.opal-topcart .buttons {
  margin-bottom: 0;
  padding: 15px 0;
  text-transform: uppercase; }

.box-top .box-title .title-cart {
  display: none; }

.box-top .box-title .mini-cart-items {
  background: #f25b22;
  width: 18px;
  height: 18px;
  line-height: 18px;
  border-radius: 100%;
  display: inline-block;
  color: #FFF;
  position: absolute;
  top: -8px;
  text-align: center;
  font-size: 11px;
  left: 10px; }
  .rtl .box-top .box-title .mini-cart-items {
    right: 10px;
    left: auto; }

.box-top .box-amount {
  color: #000;
  font-weight: 600;
  font-size: 16px; }

#cart {
  clear: both;
  color: #000; }
  #cart:before, #cart:after {
    content: " ";
    display: table; }
  #cart:after {
    clear: both; }
  #cart .mini-cart .amount {
    color: #000;
    font-weight: 600;
    font-size: 16px;
    display: none; }
  #cart .mini-cart .mini-cart-total {
    float: left;
    margin: 0 10px; }
    .rtl #cart .mini-cart .mini-cart-total {
      float: right; }

/*
 * Product Detail Page
 */
.product-info .product-topinfo .product-nav p {
  float: left;
  margin-left: 5px;
  margin-top: 10px; }
  .rtl .product-info .product-topinfo .product-nav p {
    float: right; }
  .rtl .product-info .product-topinfo .product-nav p {
    margin-right: 5px;
    margin-left: inherit; }

.product-info .product-topinfo .product-nav a {
  font-size: 13px;
  color: #000;
  font-weight: 600;
  line-height: 26px;
  border-width: 2px;
  border-style: solid;
  border-color: rgba(225, 225, 225, 0.7);
  width: 30px;
  height: 30px;
  text-align: center;
  display: block; }
  .product-info .product-topinfo .product-nav a .fa {
    padding: 0 4px; }
  .product-info .product-topinfo .product-nav a:hover {
    background: #f25b22;
    -webkit-transition: all 0.35s ease 0s;
    -o-transition: all 0.35s ease 0s;
    transition: all 0.35s ease 0s; }

.product-info .product-topinfo .product_title {
  color: #000; }

.product-info div.row {
  background: #FFF; }

.product-info .images {
  position: relative;
  width: 100% !important; }

.product-info .price > * {
  text-decoration: none; }

.product-info .price del span {
  margin-right: 5px;
  color: #999 !important;
  font-size: 16px;
  font-weight: 300 !important;
  text-decoration: line-through; }
  .rtl .product-info .price del span {
    margin-left: 5px;
    margin-right: inherit; }

.product-info .image-additional.owl-carousel-play .carousel-controls {
  bottom: 0px;
  top: 25%;
  left: 0;
  width: 100%;
  opacity: 0;
  -webkit-transition: all 300ms;
  -o-transition: all 300ms;
  transition: all 300ms; }
  .rtl .product-info .image-additional.owl-carousel-play .carousel-controls {
    right: 0;
    left: auto; }

.product-info .image-additional:hover .carousel-controls {
  opacity: 1; }

.product-info span.onsale {
  width: 40px;
  height: 25px;
  background-color: #e56363;
  top: 12px;
  left: 8%;
  line-height: 20px;
  font-weight: 400;
  z-index: 1;
  border-radius: 0;
  min-height: 25px; }
  .rtl .product-info span.onsale {
    right: 8%;
    left: auto; }

.single-product-summary .yith-wcwl-add-to-wishlist {
  float: left;
  position: relative;
  margin-right: 20px;
  margin-top: 4px; }
  .rtl .single-product-summary .yith-wcwl-add-to-wishlist {
    float: right; }
  .rtl .single-product-summary .yith-wcwl-add-to-wishlist {
    margin-left: 20px;
    margin-right: inherit; }
  .single-product-summary .yith-wcwl-add-to-wishlist a {
    color: #444444; }
    .single-product-summary .yith-wcwl-add-to-wishlist a:hover {
      color: #f25b22; }
    .single-product-summary .yith-wcwl-add-to-wishlist a i {
      font-size: 12px; }
  .single-product-summary .yith-wcwl-add-to-wishlist .ajax-loading {
    margin: 0;
    position: absolute;
    top: 10px; }
  .single-product-summary .yith-wcwl-add-to-wishlist .feedback {
    font: 0/0 a;
    color: transparent;
    text-shadow: none;
    background-color: transparent;
    border: 0;
    display: none; }

.single-product-summary .clear {
  display: none; }

.single-product-summary .yith-wcwl-wishlistaddedbrowse a,
.single-product-summary .yith-wcwl-wishlistaddedbrowse a.add_to_wishlist,
.single-product-summary .yith-wcwl-add-button a,
.single-product-summary .yith-wcwl-add-button a.add_to_wishlist,
.single-product-summary .yith-wcwl-wishlistexistsbrowse a,
.single-product-summary .yith-wcwl-wishlistexistsbrowse a.add_to_wishlist {
  text-transform: uppercase;
  font-size: 11px;
  display: inline;
  font-weight: 700;
  float: left; }
  .rtl .single-product-summary .yith-wcwl-wishlistaddedbrowse a, .rtl
  .single-product-summary .yith-wcwl-wishlistaddedbrowse a.add_to_wishlist, .rtl
  .single-product-summary .yith-wcwl-add-button a, .rtl
  .single-product-summary .yith-wcwl-add-button a.add_to_wishlist, .rtl
  .single-product-summary .yith-wcwl-wishlistexistsbrowse a, .rtl
  .single-product-summary .yith-wcwl-wishlistexistsbrowse a.add_to_wishlist {
    float: right; }
  .single-product-summary .yith-wcwl-wishlistaddedbrowse a:hover,
  .single-product-summary .yith-wcwl-wishlistaddedbrowse a.add_to_wishlist:hover,
  .single-product-summary .yith-wcwl-add-button a:hover,
  .single-product-summary .yith-wcwl-add-button a.add_to_wishlist:hover,
  .single-product-summary .yith-wcwl-wishlistexistsbrowse a:hover,
  .single-product-summary .yith-wcwl-wishlistexistsbrowse a.add_to_wishlist:hover {
    color: #f25b22;
    text-decoration: none; }
  .single-product-summary .yith-wcwl-wishlistaddedbrowse a i,
  .single-product-summary .yith-wcwl-wishlistaddedbrowse a.add_to_wishlist i,
  .single-product-summary .yith-wcwl-add-button a i,
  .single-product-summary .yith-wcwl-add-button a.add_to_wishlist i,
  .single-product-summary .yith-wcwl-wishlistexistsbrowse a i,
  .single-product-summary .yith-wcwl-wishlistexistsbrowse a.add_to_wishlist i {
    margin: 0 5px; }

.single-product-summary .yith-wcwl-wishlistaddedbrowse > div,
.single-product-summary .yith-wcwl-add-button > div,
.single-product-summary .yith-wcwl-wishlistexistsbrowse > div {
  display: none; }

.single-product-summary .compare {
  color: #444444 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 0 !important;
  text-transform: uppercase; }
  .single-product-summary .compare:before {
    content: "\f021";
    font-family: "FontAwesome";
    color: #999999;
    font-size: 12px;
    position: relative;
    right: 5px;
    font-weight: normal; }
    .rtl .single-product-summary .compare:before {
      left: 5px;
      right: auto; }
  .single-product-summary .compare:hover {
    color: #f25b22; }
    .single-product-summary .compare:hover:before {
      color: #f25b22; }

.single-product-summary .yith-wcwl-wishlistaddedbrowse .feedback,
.single-product-summary .yith-wcwl-wishlistexistsbrowse .feedback {
  color: #f25b22;
  line-height: 40px;
  margin-right: 40px; }
  .rtl .single-product-summary .yith-wcwl-wishlistaddedbrowse .feedback, .rtl
  .single-product-summary .yith-wcwl-wishlistexistsbrowse .feedback {
    margin-left: 40px;
    margin-right: inherit; }

.productinfo-show-discounts {
  font-size: 12px;
  padding-left: 75px;
  position: relative;
  color: #666;
  float: left;
  margin-bottom: 20px !important;
  padding: 0;
  margin-bottom: 22px;
  border-radius: 0px;
  overflow: hidden;
  background-color: #dff0d8;
  border-color: #d6e9c6;
  color: #58be50; }
  .rtl .productinfo-show-discounts {
    padding-right: 75px;
    padding-left: inherit; }
  .rtl .productinfo-show-discounts {
    float: right; }
  .productinfo-show-discounts:before {
    background: url("../images/icon-show-discounts.png") no-repeat center center #58be50;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    position: absolute;
    left: 20px;
    top: 20px;
    content: ""; }
    .rtl .productinfo-show-discounts:before {
      right: 20px;
      left: auto; }
  .productinfo-show-discounts hr {
    border-top-color: #c9e2b3; }
  .productinfo-show-discounts .alert-link {
    color: #43a03b; }
  .productinfo-show-discounts ul {
    list-style: none;
    margin-left: 40px;
    padding: 15px 30px; }
    .rtl .productinfo-show-discounts ul {
      margin-right: 40px;
      margin-left: inherit; }
    .productinfo-show-discounts ul li {
      padding: 3px 0; }
      .productinfo-show-discounts ul li:before {
        content: "\f14a";
        font-family: "FontAwesome";
        color: #58be50;
        padding-right: 8px; }
        .rtl .productinfo-show-discounts ul li:before {
          padding-left: 8px;
          padding-right: inherit; }

#reviews .reviews-summary {
  padding: 20px 0; }
  #reviews .reviews-summary h5 {
    text-transform: uppercase;
    margin-bottom: 20px; }
  #reviews .reviews-summary .review-summary-total {
    text-align: center;
    font-weight: 400; }
    #reviews .reviews-summary .review-summary-total .review-summary-result {
      width: 90px;
      height: 90px;
      text-align: center;
      border: 2px solid #ffca00;
      color: #ffca00;
      line-height: 90px;
      font-size: 24px;
      border-radius: 50%;
      -webkit-border-radius: 50%;
      -moz-border-radius: 50%;
      -ms-border-radius: 50%;
      -o-border-radius: 50%;
      margin-bottom: 8px; }
  #reviews .reviews-summary .review-summary-detal {
    overflow: hidden;
    display: block; }
    #reviews .reviews-summary .review-summary-detal .review-label {
      color: #000;
      font-weight: 400; }

#reviews .comments {
  border-top: 1px solid #e4e7ea;
  padding-top: 20px; }
  #reviews .comments h5 {
    margin-bottom: 20px;
    text-transform: uppercase; }
  #reviews .comments .commentlist {
    margin: 15px 0; }
    #reviews .comments .commentlist .comment {
      margin-bottom: 30px; }
    #reviews .comments .commentlist .opal-avata {
      width: 100px;
      text-align: center; }
      #reviews .comments .commentlist .opal-avata > div {
        display: inline-block; }
      #reviews .comments .commentlist .opal-avata .opal-image .avatar {
        border-radius: 50%;
        -webkit-border-radius: 50%;
        -moz-border-radius: 50%;
        -ms-border-radius: 50%;
        -o-border-radius: 50%;
        overflow: hidden; }
      #reviews .comments .commentlist .opal-avata .opal-author {
        color: #000;
        font-weight: 900;
        padding-top: 10px;
        text-transform: capitalize; }
    #reviews .comments .commentlist .comment-text {
      border: 1px solid #e4e7ea;
      padding: 15px 20px; }
      #reviews .comments .commentlist .comment-text .meta {
        color: #bbb; }
      #reviews .comments .commentlist .comment-text > div {
        margin-bottom: 7px;
        float: left; }
        .rtl #reviews .comments .commentlist .comment-text > div {
          float: right; }
      #reviews .comments .commentlist .comment-text .star-rating {
        margin-bottom: 15px; }

#reviews .review_form_wrapper {
  border-top: 1px solid #e4e7ea;
  padding: 20px 0; }

#reviews .progress {
  margin-bottom: 15px;
  background-color: #f2f2f2;
  -webkit-box-shadow: none;
  box-shadow: none; }
  #reviews .progress .progress-bar {
    color: #000000; }
    #reviews .progress .progress-bar.progress-bared {
      color: #fff; }

#reviews #reply-title {
  margin-bottom: 20px;
  font-size: 16px;
  font-family: "Poppins", sans-serif; }

/**
 * Product Single Page
 */
.product-block {
  display: block;
  position: relative;
  z-index: 0;
  margin-bottom: 20px; }
  .product-block span.sale-off, .product-block span.onsale {
    position: absolute;
    width: 40px;
    height: 25px;
    background-color: #f25b22;
    color: #fff;
    top: 12px;
    left: 5%;
    line-height: 20px;
    font-size: 12px;
    font-weight: 400;
    z-index: 100;
    border-radius: 0;
    min-height: 25px;
    text-align: center; }
    .rtl .product-block span.sale-off, .rtl .product-block span.onsale {
      right: 5%;
      left: auto; }
  .product-block .image {
    position: relative;
    margin-bottom: 15px; }
    .product-block .image img {
      height: auto;
      width: 100%; }
    .product-block .image a, .product-block .image .product-image {
      display: block;
      overflow: hidden;
      position: relative; }
    .product-block .image .image-effect {
      top: 0;
      position: absolute;
      overflow: hidden;
      left: 0;
      opacity: 1;
      filter: alpha(opacity=100);
      -webkit-transform: translate(-100%, 0px);
      -ms-transform: translate(-100%, 0px);
      -o-transform: translate(-100%, 0px);
      transform: translate(-100%, 0px);
      -webkit-transition: all 0.3s;
      -o-transition: all 0.3s;
      transition: all 0.3s; }
      .rtl .product-block .image .image-effect {
        right: 0;
        left: auto; }
    .product-block .image .image-hover {
      -webkit-transition: all 0.3s;
      -o-transition: all 0.3s;
      transition: all 0.3s; }
    .product-block .image:hover .image-effect {
      -webkit-transform: translate(0px, 0px);
      -ms-transform: translate(0px, 0px);
      -o-transform: translate(0px, 0px);
      transform: translate(0px, 0px); }
    .product-block .image:hover .image-hover {
      -webkit-transform: translate(100%, 0px);
      -ms-transform: translate(100%, 0px);
      -o-transform: translate(100%, 0px);
      transform: translate(100%, 0px); }
  .product-block .price {
    line-height: 1.6em;
    display: block;
    min-height: 30px;
    overflow: hidden;
    font-weight: bold; }
    .product-block .price > * {
      color: #000000;
      font-size: 16px;
      display: block;
      overflow: hidden;
      min-height: 30px;
      display: inline-block; }
    .product-block .price del {
      color: #f25b22;
      font-size: 14px;
      opacity: 1 !important; }
      .product-block .price del span {
        color: #f25b22; }
    .product-block .price ins {
      text-decoration: none; }
  .product-block .name {
    /* 3 */
    /* 3 */
    /* 4 */
    /* 6 */
    /* 6 */
    /* 7 */
    font-size: 13px;
    /* 9 */
    font-size: 1.3rem;
    /* 9 */
    line-height: 18px;
    font-weight: normal;
    height: 20px;
    overflow: hidden;
    margin-top: 0;
    margin-bottom: 10px;
    font-family: "Poppins", sans-serif; }
  .product-block .category {
    text-transform: none;
    font-weight: 300;
    font-style: italic;
    /* 3 */
    /* 3 */
    /* 4 */
    /* 6 */
    /* 6 */
    /* 7 */
    font-size: 12px;
    /* 9 */
    font-size: 1.2rem;
    /* 9 */ }
    .product-block .category a {
      color: #999999; }
      .product-block .category a:hover {
        color: #f25b22; }
  .product-block .star-rating {
    font-size: 10px;
    display: inline-block;
    float: none;
    margin-bottom: 5px;
    font-family: star;
    height: 1em;
    line-height: 1;
    overflow: hidden;
    position: relative;
    width: 5.4em; }
    .product-block .star-rating:before {
      content: "\53\53\53\53\53";
      color: #d3ced2;
      float: left;
      left: 0;
      position: absolute;
      top: 0; }
    .product-block .star-rating span {
      float: left;
      left: 0;
      overflow: hidden;
      padding-top: 1.5em;
      position: absolute;
      top: 0; }
      .product-block .star-rating span:before {
        content: "\53\53\53\53\53";
        color: #ffca00;
        left: 0;
        position: absolute;
        top: 0; }
  .product-block p.stars a {
    color: #f0c73b; }
  .product-block .star-rating span {
    color: #f0c73b; }
  .product-block .clear, .product-block .added_to_cart {
    display: none !important; }
  .product-block .add_to_cart_button {
    position: relative; }
    .product-block .add_to_cart_button.loading .title-cart {
      visibility: hidden; }
      .product-block .add_to_cart_button.loading .title-cart:after {
        visibility: visible;
        content: "Loading..";
        position: absolute;
        top: 9px;
        left: 0;
        width: 100%;
        text-align: center; }

.button-action {
  left: 0;
  opacity: 1;
  position: absolute;
  top: 35%;
  height: 0;
  -webkit-transition: all 0.35s ease 0s;
  -o-transition: all 0.35s ease 0s;
  transition: all 0.35s ease 0s;
  width: 100%;
  text-align: center;
  z-index: 2; }
  .rtl .button-action {
    right: 0;
    left: auto; }
  .button-action > div.yith-wcwl-add-to-wishlist, .button-action > div.yith-compare, .button-action > div.quick-view {
    display: inline-block;
    margin-bottom: 15px; }
    .button-action > div.yith-wcwl-add-to-wishlist a.add_to_wishlist, .button-action > div.yith-wcwl-add-to-wishlist a.compare, .button-action > div.yith-wcwl-add-to-wishlist a.quickview, .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistaddedbrowse a, .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistexistsbrowse a, .button-action > div.yith-compare a.add_to_wishlist, .button-action > div.yith-compare a.compare, .button-action > div.yith-compare a.quickview, .button-action > div.yith-compare .yith-wcwl-wishlistaddedbrowse a, .button-action > div.yith-compare .yith-wcwl-wishlistexistsbrowse a, .button-action > div.quick-view a.add_to_wishlist, .button-action > div.quick-view a.compare, .button-action > div.quick-view a.quickview, .button-action > div.quick-view .yith-wcwl-wishlistaddedbrowse a, .button-action > div.quick-view .yith-wcwl-wishlistexistsbrowse a {
      display: block;
      width: 40px;
      height: 40px;
      border-radius: 0;
      line-height: 40px;
      padding: 0;
      background: #f25b22; }
      @media (min-width: 992px) and (max-width: 1200px) {
        .button-action > div.yith-wcwl-add-to-wishlist a.add_to_wishlist, .button-action > div.yith-wcwl-add-to-wishlist a.compare, .button-action > div.yith-wcwl-add-to-wishlist a.quickview, .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistaddedbrowse a, .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistexistsbrowse a, .button-action > div.yith-compare a.add_to_wishlist, .button-action > div.yith-compare a.compare, .button-action > div.yith-compare a.quickview, .button-action > div.yith-compare .yith-wcwl-wishlistaddedbrowse a, .button-action > div.yith-compare .yith-wcwl-wishlistexistsbrowse a, .button-action > div.quick-view a.add_to_wishlist, .button-action > div.quick-view a.compare, .button-action > div.quick-view a.quickview, .button-action > div.quick-view .yith-wcwl-wishlistaddedbrowse a, .button-action > div.quick-view .yith-wcwl-wishlistexistsbrowse a {
          width: 30px;
          height: 30px;
          line-height: 30px; } }
      .button-action > div.yith-wcwl-add-to-wishlist a.add_to_wishlist i, .button-action > div.yith-wcwl-add-to-wishlist a.add_to_wishlist em, .button-action > div.yith-wcwl-add-to-wishlist a.compare i, .button-action > div.yith-wcwl-add-to-wishlist a.compare em, .button-action > div.yith-wcwl-add-to-wishlist a.quickview i, .button-action > div.yith-wcwl-add-to-wishlist a.quickview em, .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistaddedbrowse a i, .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistaddedbrowse a em, .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistexistsbrowse a i, .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistexistsbrowse a em, .button-action > div.yith-compare a.add_to_wishlist i, .button-action > div.yith-compare a.add_to_wishlist em, .button-action > div.yith-compare a.compare i, .button-action > div.yith-compare a.compare em, .button-action > div.yith-compare a.quickview i, .button-action > div.yith-compare a.quickview em, .button-action > div.yith-compare .yith-wcwl-wishlistaddedbrowse a i, .button-action > div.yith-compare .yith-wcwl-wishlistaddedbrowse a em, .button-action > div.yith-compare .yith-wcwl-wishlistexistsbrowse a i, .button-action > div.yith-compare .yith-wcwl-wishlistexistsbrowse a em, .button-action > div.quick-view a.add_to_wishlist i, .button-action > div.quick-view a.add_to_wishlist em, .button-action > div.quick-view a.compare i, .button-action > div.quick-view a.compare em, .button-action > div.quick-view a.quickview i, .button-action > div.quick-view a.quickview em, .button-action > div.quick-view .yith-wcwl-wishlistaddedbrowse a i, .button-action > div.quick-view .yith-wcwl-wishlistaddedbrowse a em, .button-action > div.quick-view .yith-wcwl-wishlistexistsbrowse a i, .button-action > div.quick-view .yith-wcwl-wishlistexistsbrowse a em {
        color: #FFF;
        font-size: 14px;
        line-height: 32px;
        margin: 0; }
      .button-action > div.yith-wcwl-add-to-wishlist a.add_to_wishlist:hover, .button-action > div.yith-wcwl-add-to-wishlist a.compare:hover, .button-action > div.yith-wcwl-add-to-wishlist a.quickview:hover, .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistaddedbrowse a:hover, .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistexistsbrowse a:hover, .button-action > div.yith-compare a.add_to_wishlist:hover, .button-action > div.yith-compare a.compare:hover, .button-action > div.yith-compare a.quickview:hover, .button-action > div.yith-compare .yith-wcwl-wishlistaddedbrowse a:hover, .button-action > div.yith-compare .yith-wcwl-wishlistexistsbrowse a:hover, .button-action > div.quick-view a.add_to_wishlist:hover, .button-action > div.quick-view a.compare:hover, .button-action > div.quick-view a.quickview:hover, .button-action > div.quick-view .yith-wcwl-wishlistaddedbrowse a:hover, .button-action > div.quick-view .yith-wcwl-wishlistexistsbrowse a:hover {
        background: #FFF;
        -webkit-transition: all 0.35s ease 0s;
        -o-transition: all 0.35s ease 0s;
        transition: all 0.35s ease 0s; }
        .button-action > div.yith-wcwl-add-to-wishlist a.add_to_wishlist:hover i, .button-action > div.yith-wcwl-add-to-wishlist a.add_to_wishlist:hover em, .button-action > div.yith-wcwl-add-to-wishlist a.compare:hover i, .button-action > div.yith-wcwl-add-to-wishlist a.compare:hover em, .button-action > div.yith-wcwl-add-to-wishlist a.quickview:hover i, .button-action > div.yith-wcwl-add-to-wishlist a.quickview:hover em, .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistaddedbrowse a:hover i, .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistaddedbrowse a:hover em, .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistexistsbrowse a:hover i, .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistexistsbrowse a:hover em, .button-action > div.yith-compare a.add_to_wishlist:hover i, .button-action > div.yith-compare a.add_to_wishlist:hover em, .button-action > div.yith-compare a.compare:hover i, .button-action > div.yith-compare a.compare:hover em, .button-action > div.yith-compare a.quickview:hover i, .button-action > div.yith-compare a.quickview:hover em, .button-action > div.yith-compare .yith-wcwl-wishlistaddedbrowse a:hover i, .button-action > div.yith-compare .yith-wcwl-wishlistaddedbrowse a:hover em, .button-action > div.yith-compare .yith-wcwl-wishlistexistsbrowse a:hover i, .button-action > div.yith-compare .yith-wcwl-wishlistexistsbrowse a:hover em, .button-action > div.quick-view a.add_to_wishlist:hover i, .button-action > div.quick-view a.add_to_wishlist:hover em, .button-action > div.quick-view a.compare:hover i, .button-action > div.quick-view a.compare:hover em, .button-action > div.quick-view a.quickview:hover i, .button-action > div.quick-view a.quickview:hover em, .button-action > div.quick-view .yith-wcwl-wishlistaddedbrowse a:hover i, .button-action > div.quick-view .yith-wcwl-wishlistaddedbrowse a:hover em, .button-action > div.quick-view .yith-wcwl-wishlistexistsbrowse a:hover i, .button-action > div.quick-view .yith-wcwl-wishlistexistsbrowse a:hover em {
          color: #000; }
  .button-action > div.yith-compare .compare.added {
    color: transparent !important; }
    .button-action > div.yith-compare .compare.added:before {
      content: "\f0ec";
      font-family: 'FontAwesome';
      position: absolute;
      color: #666;
      width: 40px;
      height: 40px; }
    .button-action > div.yith-compare .compare.added:hover {
      color: #f25b22; }
  .button-action > div .title {
    display: none; }
  .button-action > div .yith-wcwl-wishlistaddedbrowse .feedback,
  .button-action > div .yith-wcwl-wishlistexistsbrowse .feedback {
    display: none; }
  .button-action > div.clear {
    display: none; }
  .button-action .add-cart a {
    background: #FFF !important;
    color: #000;
    text-align: center;
    text-transform: uppercase;
    height: 42px;
    width: 140px;
    line-height: 24px;
    padding: 10px 15px;
    display: inline-block !important;
    font-family: "Fjalla One";
    font-weight: none;
    border-radius: 0;
    border: none;
    font-size: 13px; }
  .button-action .yith-wcwl-wishlistexistsbrowse span {
    display: none; }

div[class*="add-to-wishlist"] {
  margin-top: 0;
  position: relative; }
  div[class*="add-to-wishlist"] .ajax-loading {
    bottom: 0;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0; }

a.add_to_wishlist {
  display: block; }

.yith-wcwl-add-to-wishlist {
  margin-top: 0; }

/**
 * Products Listing In Grid Style
 */
.products-grid div.product {
  position: relative;
  /*         margin-bottom: $grid-gutter-width; */ }

.products-grid .first {
  clear: both; }

.products-grid .product-block .button-groups > div.yith-wcwl-add-to-wishlist span {
  display: none; }

.products-grid .product-block .button-groups > div.yith-wcwl-add-to-wishlist .ajax-loading {
  position: absolute;
  left: 4px;
  top: 5px; }

.products-grid .product-block .button-groups > div .title {
  display: none; }

.products-grid .product-block .button-groups > div .yith-wcwl-wishlistaddedbrowse .feedback,
.products-grid .product-block .button-groups > div .yith-wcwl-wishlistexistsbrowse .feedback {
  display: none; }

.products-grid .product-block .button-groups > div.clear {
  display: none; }

.grid .add_to_wishlist span, .grid .quickview span {
  display: none; }

.products-list .rating:before, .products-list .rating:after, .list .rating:before, .list .rating:after {
  content: " ";
  display: table; }

.products-list .rating:after, .list .rating:after {
  clear: both; }

.products-list .rating .star-rating, .list .rating .star-rating {
  float: right; }
  .rtl .products-list .rating .star-rating, .rtl .list .rating .star-rating {
    float: left; }

.products-list .clear, .list .clear {
  display: none; }

.products-list .product-block, .list .product-block {
  border-bottom: solid 1px #e4e7ea; }
  .products-list .product-block .name, .list .product-block .name {
    padding: 0;
    font-weight: 600;
    font-size: 14px;
    margin-bottom: 10px; }
  .products-list .product-block .image, .list .product-block .image {
    margin-bottom: 20px; }
  .products-list .product-block .product-assets, .list .product-block .product-assets {
    text-align: right; }
    .rtl .products-list .product-block .product-assets, .rtl .list .product-block .product-assets {
      text-align: left; }
  .products-list .product-block .yith-wcwl-wishlistaddedbrowse a,
  .products-list .product-block .yith-wcwl-wishlistaddedbrowse a.add_to_wishlist,
  .products-list .product-block .yith-wcwl-add-button a,
  .products-list .product-block .yith-wcwl-add-button a.add_to_wishlist,
  .products-list .product-block .yith-wcwl-wishlistexistsbrowse a,
  .products-list .product-block .yith-wcwl-wishlistexistsbrowse a.add_to_wishlist, .list .product-block .yith-wcwl-wishlistaddedbrowse a,
  .list .product-block .yith-wcwl-wishlistaddedbrowse a.add_to_wishlist,
  .list .product-block .yith-wcwl-add-button a,
  .list .product-block .yith-wcwl-add-button a.add_to_wishlist,
  .list .product-block .yith-wcwl-wishlistexistsbrowse a,
  .list .product-block .yith-wcwl-wishlistexistsbrowse a.add_to_wishlist {
    color: #666;
    font-weight: 400;
    line-height: 30px; }
    .products-list .product-block .yith-wcwl-wishlistaddedbrowse a:hover,
    .products-list .product-block .yith-wcwl-wishlistaddedbrowse a.add_to_wishlist:hover,
    .products-list .product-block .yith-wcwl-add-button a:hover,
    .products-list .product-block .yith-wcwl-add-button a.add_to_wishlist:hover,
    .products-list .product-block .yith-wcwl-wishlistexistsbrowse a:hover,
    .products-list .product-block .yith-wcwl-wishlistexistsbrowse a.add_to_wishlist:hover, .list .product-block .yith-wcwl-wishlistaddedbrowse a:hover,
    .list .product-block .yith-wcwl-wishlistaddedbrowse a.add_to_wishlist:hover,
    .list .product-block .yith-wcwl-add-button a:hover,
    .list .product-block .yith-wcwl-add-button a.add_to_wishlist:hover,
    .list .product-block .yith-wcwl-wishlistexistsbrowse a:hover,
    .list .product-block .yith-wcwl-wishlistexistsbrowse a.add_to_wishlist:hover {
      color: #f25b22; }
  .products-list .product-block .yith-wcwl-wishlistexistsbrowse a, .list .product-block .yith-wcwl-wishlistexistsbrowse a {
    display: none; }
  .products-list .product-block a.compare, .products-list .product-block a.quickview, .list .product-block a.compare, .list .product-block a.quickview {
    color: #666;
    font-weight: 400;
    line-height: 30px; }
    .products-list .product-block a.compare:hover, .products-list .product-block a.quickview:hover, .list .product-block a.compare:hover, .list .product-block a.quickview:hover {
      color: #f25b22; }
    .products-list .product-block a.compare.added, .products-list .product-block a.quickview.added, .list .product-block a.compare.added, .list .product-block a.quickview.added {
      color: #f25b22; }
  .products-list .product-block .add-cart a.button, .list .product-block .add-cart a.button {
    color: #FFF;
    background: #f25b22; }
    .products-list .product-block .add-cart a.button:hover, .list .product-block .add-cart a.button:hover {
      color: #FFF; }

.products-list .type-product:last-child .product-block, .list .type-product:last-child .product-block {
  border-bottom: none; }

/**
 * Single product
 */
/*------------------------------------*    Quantity inputs
\*------------------------------------*/
.quantity {
  position: relative;
  margin: 0 auto;
  overflow: hidden;
  zoom: 1;
  float: left; }
  .quantity span {
    font-size: 16px;
    margin-right: 5px; }
    .rtl .quantity span {
      margin-left: 5px;
      margin-right: inherit; }
  .rtl .quantity {
    float: right; }
  .quantity input.qty {
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
    padding: 10px;
    width: 45px;
    height: 35px;
    color: #000;
    font-weight: 400;
    border: 1px solid #e5e5e5; }
    .quantity input.qty:focus:focus {
      border-color: #f25b22;
      outline: 0;
      -webkit-box-shadow: none;
      box-shadow: none; }
  .quantity .plus, .quantity .minus {
    background: #FFF;
    float: right;
    clear: right;
    display: block;
    padding: 0;
    margin: 0;
    vertical-align: text-top;
    text-decoration: none;
    overflow: visible;
    text-decoration: none;
    cursor: pointer;
    line-height: 13px;
    font-size: 12px;
    color: #666666;
    border: 1px solid #e4e7ea;
    text-align: center;
    width: 25px;
    height: 19px; }
    .rtl .quantity .plus, .rtl .quantity .minus {
      float: left; }
    .rtl .quantity .plus, .rtl .quantity .minus {
      clear: left; }
  .quantity .plus {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
    right: 0; }
    .rtl .quantity .plus {
      left: 0;
      right: auto; }
  .quantity .minus {
    bottom: 0;
    right: 0;
    border-top-right-radius: 0;
    border-top-left-radius: 0; }
    .rtl .quantity .minus {
      left: 0;
      right: auto; }

/* Single > Meta */
.product_meta {
  clear: both;
  border-top: 1px solid #e4e7ea;
  padding: 20px 0;
  margin-top: 20px; }
  .product_meta a {
    color: #666666;
    font-size: 14px; }
    .product_meta a:hover {
      text-decoration: none; }
  .product_meta > span {
    display: block;
    font-weight: 300;
    color: #000; }
  .product_meta > div {
    margin-bottom: 15px; }
  .product_meta .posted_in a, .product_meta .tagged_as a {
    font-weight: 300; }

.sku_wrapper span {
  color: #666666; }

/* cross-sells */
.woocommerce .cross-sells, .woocommerce .cart_totals {
  padding: 0 20px; }
  .woocommerce .cross-sells .products, .woocommerce .cart_totals .products {
    border: none;
    box-shadow: none; }

.single-product.woocommerce div.product div.images img {
  width: auto;
  margin-bottom: 15px; }

.single-product.woocommerce div.product p.price {
  color: #000000;
  font-size: 30px;
  font-weight: 700 !important; }

.single-product.woocommerce div.product form.cart {
  margin-bottom: 20px;
  margin-top: 20px; }
  .single-product.woocommerce div.product form.cart div.quantity {
    margin-right: 10px;
    margin-bottom: 5px; }
    .rtl .single-product.woocommerce div.product form.cart div.quantity {
      margin-left: 10px;
      margin-right: inherit; }
  .single-product.woocommerce div.product form.cart .button {
    background: #f25b22;
    font-weight: 600; }
    .single-product.woocommerce div.product form.cart .button i {
      margin: 0 5px; }
    .single-product.woocommerce div.product form.cart .button:hover {
      background: #d5430d; }
  .single-product.woocommerce div.product form.cart .variations .label {
    font-size: 12px;
    text-transform: uppercase;
    line-height: 35px; }
  .single-product.woocommerce div.product form.cart .variations tr {
    height: 50px; }
    .single-product.woocommerce div.product form.cart .variations tr label {
      margin-top: 5px; }

.single-product.woocommerce div.product form.variations_form {
  float: none; }

.single-product.woocommerce div.product p.cart {
  margin-top: 20px; }

.single-product.woocommerce div.product .woocommerce-product-rating {
  margin-bottom: 10px; }

.single-product.woocommerce .quantity .qty {
  width: 90px; }

.single-product .summary {
  /* 3 */
  /* 3 */
  /* 4 */
  /* 6 */
  /* 6 */
  /* 7 */
  font-size: 14px;
  /* 9 */
  font-size: 1.4rem;
  /* 9 */
  width: 100% !important; }
  .single-product .summary .star-rating {
    font-size: 12px; }
  .single-product .summary .product_meta {
    padding-top: 30px;
    margin-top: 0; }

.woocommerce div.product .woocommerce-tabs {
  margin-bottom: 30px; }
  .woocommerce div.product .woocommerce-tabs ul.tabs {
    padding: 0;
    border-bottom: 1px solid #e4e7ea;
    margin-top: 30px; }
    .woocommerce div.product .woocommerce-tabs ul.tabs li {
      border: none;
      background: transparent;
      border-radius: 0;
      margin: 0;
      padding: 0; }
      .woocommerce div.product .woocommerce-tabs ul.tabs li > a {
        color: #999999;
        padding: 13px 20px;
        font-size: 16px;
        font-weight: 500;
        text-transform: uppercase;
        font-family: "Fjalla One", monospace; }
        .woocommerce div.product .woocommerce-tabs ul.tabs li > a:hover {
          color: #f25b22; }
      .woocommerce div.product .woocommerce-tabs ul.tabs li.active > a {
        color: #000000; }
      .woocommerce div.product .woocommerce-tabs ul.tabs li:after, .woocommerce div.product .woocommerce-tabs ul.tabs li:before, .woocommerce div.product .woocommerce-tabs ul.tabs li.active:before, .woocommerce div.product .woocommerce-tabs ul.tabs li.active:after {
        content: none; }
      .woocommerce div.product .woocommerce-tabs ul.tabs li.active {
        background: #e5e5e5; }
    .woocommerce div.product .woocommerce-tabs ul.tabs:before {
      border-bottom: none; }
  .woocommerce div.product .woocommerce-tabs .wc-tab {
    font-size: 14px;
    font-weight: 300; }
  .woocommerce div.product .woocommerce-tabs h2, .woocommerce div.product .woocommerce-tabs h3 {
    font-size: 14px;
    font-weight: 300;
    margin-top: 0; }

/**
 * Category And Listing Page
 */
.products-top-wrap {
  margin-bottom: 30px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e4e7ea; }
  .products-top-wrap .woocommerce-ordering {
    float: right;
    margin-top: 10px; }
    .rtl .products-top-wrap .woocommerce-ordering {
      float: left; }
  .products-top-wrap .display-mode {
    float: left;
    margin-top: 10px; }
    .rtl .products-top-wrap .display-mode {
      float: right; }
    .products-top-wrap .display-mode .btn {
      border-radius: 0;
      background-color: transparent;
      font-size: 14px;
      line-height: 16px;
      padding: 8px;
      color: #cdcdcd;
      box-shadow: none;
      -webkit-box-shadow: none; }
      .products-top-wrap .display-mode .btn.active {
        color: #f25b22; }
    .products-top-wrap .display-mode button:first-child {
      margin-right: 5px; }
      .rtl .products-top-wrap .display-mode button:first-child {
        margin-left: 5px;
        margin-right: inherit; }
    .products-top-wrap .display-mode button {
      border: 1px solid #e4e7ea; }

.category-banner {
  margin-bottom: 30px; }

.products-bottom-wrap {
  padding: 10px 20px;
  border-top: 1px solid #e4e7ea; }
  .products-bottom-wrap .woocommerce-pagination {
    float: left; }
    .rtl .products-bottom-wrap .woocommerce-pagination {
      float: right; }
  .products-bottom-wrap nav.woocommerce-pagination ul, .products-bottom-wrap nav.woocommerce-pagination ul li {
    border: none; }
    .products-bottom-wrap nav.woocommerce-pagination ul span.current, .products-bottom-wrap nav.woocommerce-pagination ul li span.current {
      background: transparent;
      color: #f25b22;
      text-decoration: underline;
      padding: 10px 15px;
      font-weight: bold; }
    .products-bottom-wrap nav.woocommerce-pagination ul a, .products-bottom-wrap nav.woocommerce-pagination ul li a {
      padding: 10px 15px;
      font-weight: bold;
      color: #000; }
      .products-bottom-wrap nav.woocommerce-pagination ul a:hover, .products-bottom-wrap nav.woocommerce-pagination ul li a:hover {
        background: transparent;
        color: #f25b22; }
  .products-bottom-wrap .woocommerce-result-count {
    float: right;
    margin: 8px 0; }
    .rtl .products-bottom-wrap .woocommerce-result-count {
      float: left; }

/*------------------------------------*    Quickview
\*------------------------------------*/
#opal-quickview-modal .modal-dialog {
  overflow: hidden; }
  #opal-quickview-modal .modal-dialog del .amount {
    color: #666666; }

#opal-quickview-modal .product-info {
  margin: 0;
  padding: 0; }
  #opal-quickview-modal .product-info .summary {
    margin-right: 20px;
    width: 95%; }
    .rtl #opal-quickview-modal .product-info .summary {
      margin-left: 20px;
      margin-right: inherit; }
  #opal-quickview-modal .product-info .product_title {
    padding-top: 0;
    margin-top: 0;
    /* 3 */
    /* 3 */
    /* 4 */
    /* 6 */
    /* 6 */
    /* 7 */
    font-size: 30px;
    /* 9 */
    font-size: 3rem;
    /* 9 */ }
  #opal-quickview-modal .product-info .product_meta {
    margin: 0; }
    #opal-quickview-modal .product-info .product_meta:before, #opal-quickview-modal .product-info .product_meta:after {
      content: " ";
      display: table; }
    #opal-quickview-modal .product-info .product_meta:after {
      clear: both; }
  #opal-quickview-modal .product-info p.price {
    color: #f25b22;
    font-weight: bold;
    font-size: 16px; }
  #opal-quickview-modal .product-info a.add_to_cart_button {
    padding: 15px;
    text-transform: uppercase;
    display: inline-block;
    margin-bottom: 30px;
    border-radius: 0;
    background-color: #f25b22; }
    #opal-quickview-modal .product-info a.add_to_cart_button span, #opal-quickview-modal .product-info a.add_to_cart_button i {
      color: #FFF;
      margin: 0 5px; }

#opal-quickview-modal .close:hover .fa, #opal-quickview-modal .close:hover .icon {
  color: #f25b22; }

#opal-quickview-modal #quickview-carousel {
  overflow: hidden; }
  #opal-quickview-modal #quickview-carousel:hover .left {
    left: 15px; }
    .rtl #opal-quickview-modal #quickview-carousel:hover .left {
      right: 15px;
      left: auto; }
  #opal-quickview-modal #quickview-carousel:hover .right {
    right: 15px; }
    .rtl #opal-quickview-modal #quickview-carousel:hover .right {
      left: 15px;
      right: auto; }

#opal-quickview-modal .carousel-indicators li {
  border-color: #f25b22; }

#opal-quickview-modal .carousel-indicators .active {
  background: #f25b22;
  border-color: #f25b22; }

#opal-quickview-modal .carousel-control {
  top: 0px;
  margin: 45% auto;
  font-weight: normal;
  line-height: 32px;
  -webkit-transition: all 0.45s ease;
  -o-transition: all 0.45s ease;
  transition: all 0.45s ease; }
  #opal-quickview-modal .carousel-control.left {
    left: -45px; }
    .rtl #opal-quickview-modal .carousel-control.left {
      right: -45px;
      left: auto; }
  #opal-quickview-modal .carousel-control.right {
    right: -45px; }
    .rtl #opal-quickview-modal .carousel-control.right {
      left: -45px;
      right: auto; }

.woocommerce form .form-row {
  margin: 22px 0 11px;
  padding: 0; }

.woocommerce-cart table.cart .product-thumbnail img {
  width: 60px; }

.woocommerce-cart table.cart input {
  line-height: 28px !important; }

.woocommerce div.product form.cart .group_table td.label {
  padding-top: 5px;
  vertical-align: middle; }

.rtl.woocommerce #content div.product div.images,
.rtl.woocommerce div.product div.images,
.rtl.woocommerce-page #content div.product div.images,
.rtl.woocommerce-page div.product div.images {
  float: right; }

.rtl.woocommerce #content div.product div.summary,
.rtl.woocommerce div.product div.summary,
.rtl.woocommerce-page #content div.product div.summary,
.rtl.woocommerce-page div.product div.summary {
  float: left; }

/**
 * Checkout Page
 */
/**
 * Thanks you page
 */
/************************
 * Form Styles
 ************************/
.woocommerce #respond input#submit, .woocommerce button.button, .woocommerce input.button {
  color: #fff;
  background-color: #f25b22;
  border-color: #ed4b0e;
  border-radius: 0px;
  padding: 15px 30px;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 13px; }
  .woocommerce #respond input#submit:focus, .woocommerce #respond input#submit.focus, .woocommerce button.button:focus, .woocommerce button.button.focus, .woocommerce input.button:focus, .woocommerce input.button.focus {
    color: #fff;
    background-color: #d5430d;
    border-color: #742507; }
  .woocommerce #respond input#submit:hover, .woocommerce button.button:hover, .woocommerce input.button:hover {
    color: #fff;
    background-color: #d5430d;
    border-color: #b3390b; }
  .woocommerce #respond input#submit:active, .woocommerce #respond input#submit.active,
  .open > .woocommerce #respond input#submit.dropdown-toggle, .woocommerce button.button:active, .woocommerce button.button.active,
  .open > .woocommerce button.button.dropdown-toggle, .woocommerce input.button:active, .woocommerce input.button.active,
  .open > .woocommerce input.button.dropdown-toggle {
    color: #fff;
    background-color: #d5430d;
    border-color: #b3390b; }
    .woocommerce #respond input#submit:active:hover, .woocommerce #respond input#submit:active:focus, .woocommerce #respond input#submit:active.focus, .woocommerce #respond input#submit.active:hover, .woocommerce #respond input#submit.active:focus, .woocommerce #respond input#submit.active.focus,
    .open > .woocommerce #respond input#submit.dropdown-toggle:hover,
    .open > .woocommerce #respond input#submit.dropdown-toggle:focus,
    .open > .woocommerce #respond input#submit.dropdown-toggle.focus, .woocommerce button.button:active:hover, .woocommerce button.button:active:focus, .woocommerce button.button:active.focus, .woocommerce button.button.active:hover, .woocommerce button.button.active:focus, .woocommerce button.button.active.focus,
    .open > .woocommerce button.button.dropdown-toggle:hover,
    .open > .woocommerce button.button.dropdown-toggle:focus,
    .open > .woocommerce button.button.dropdown-toggle.focus, .woocommerce input.button:active:hover, .woocommerce input.button:active:focus, .woocommerce input.button:active.focus, .woocommerce input.button.active:hover, .woocommerce input.button.active:focus, .woocommerce input.button.active.focus,
    .open > .woocommerce input.button.dropdown-toggle:hover,
    .open > .woocommerce input.button.dropdown-toggle:focus,
    .open > .woocommerce input.button.dropdown-toggle.focus {
      color: #fff;
      background-color: #b3390b;
      border-color: #742507; }
  .woocommerce #respond input#submit:active, .woocommerce #respond input#submit.active,
  .open > .woocommerce #respond input#submit.dropdown-toggle, .woocommerce button.button:active, .woocommerce button.button.active,
  .open > .woocommerce button.button.dropdown-toggle, .woocommerce input.button:active, .woocommerce input.button.active,
  .open > .woocommerce input.button.dropdown-toggle {
    background-image: none; }
  .woocommerce #respond input#submit.disabled, .woocommerce #respond input#submit.disabled:hover, .woocommerce #respond input#submit.disabled:focus, .woocommerce #respond input#submit.disabled.focus, .woocommerce #respond input#submit.disabled:active, .woocommerce #respond input#submit.disabled.active, .woocommerce #respond input#submit[disabled], .woocommerce #respond input#submit[disabled]:hover, .woocommerce #respond input#submit[disabled]:focus, .woocommerce #respond input#submit[disabled].focus, .woocommerce #respond input#submit[disabled]:active, .woocommerce #respond input#submit[disabled].active,
  fieldset[disabled] .woocommerce #respond input#submit,
  fieldset[disabled] .woocommerce #respond input#submit:hover,
  fieldset[disabled] .woocommerce #respond input#submit:focus,
  fieldset[disabled] .woocommerce #respond input#submit.focus,
  fieldset[disabled] .woocommerce #respond input#submit:active,
  fieldset[disabled] .woocommerce #respond input#submit.active, .woocommerce button.button.disabled, .woocommerce button.button.disabled:hover, .woocommerce button.button.disabled:focus, .woocommerce button.button.disabled.focus, .woocommerce button.button.disabled:active, .woocommerce button.button.disabled.active, .woocommerce button.button[disabled], .woocommerce button.button[disabled]:hover, .woocommerce button.button[disabled]:focus, .woocommerce button.button[disabled].focus, .woocommerce button.button[disabled]:active, .woocommerce button.button[disabled].active,
  fieldset[disabled] .woocommerce button.button,
  fieldset[disabled] .woocommerce button.button:hover,
  fieldset[disabled] .woocommerce button.button:focus,
  fieldset[disabled] .woocommerce button.button.focus,
  fieldset[disabled] .woocommerce button.button:active,
  fieldset[disabled] .woocommerce button.button.active, .woocommerce input.button.disabled, .woocommerce input.button.disabled:hover, .woocommerce input.button.disabled:focus, .woocommerce input.button.disabled.focus, .woocommerce input.button.disabled:active, .woocommerce input.button.disabled.active, .woocommerce input.button[disabled], .woocommerce input.button[disabled]:hover, .woocommerce input.button[disabled]:focus, .woocommerce input.button[disabled].focus, .woocommerce input.button[disabled]:active, .woocommerce input.button[disabled].active,
  fieldset[disabled] .woocommerce input.button,
  fieldset[disabled] .woocommerce input.button:hover,
  fieldset[disabled] .woocommerce input.button:focus,
  fieldset[disabled] .woocommerce input.button.focus,
  fieldset[disabled] .woocommerce input.button:active,
  fieldset[disabled] .woocommerce input.button.active {
    background-color: #f25b22;
    border-color: #ed4b0e; }
  .woocommerce #respond input#submit .badge, .woocommerce button.button .badge, .woocommerce input.button .badge {
    color: #f25b22;
    background-color: #fff; }

.woocommerce a.button, a.yith-wcwl-add-button {
  font-weight: normal;
  border-radius: 0;
  background: transparent; }
  .woocommerce a.button:hover, a.yith-wcwl-add-button:hover {
    background: #FFF;
    color: #000;
    -webkit-transition: all 0.35s ease 0s;
    -o-transition: all 0.35s ease 0s;
    transition: all 0.35s ease 0s; }

.woocommerce #respond input#submit.alt, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt {
  color: #fff;
  background-color: #f25b22;
  border-color: #ed4b0e;
  border-radius: 0px;
  padding: 15px 30px;
  text-transform: uppercase; }
  .woocommerce #respond input#submit.alt:focus, .woocommerce #respond input#submit.alt.focus, .woocommerce a.button.alt:focus, .woocommerce a.button.alt.focus, .woocommerce button.button.alt:focus, .woocommerce button.button.alt.focus, .woocommerce input.button.alt:focus, .woocommerce input.button.alt.focus {
    color: #fff;
    background-color: #d5430d;
    border-color: #742507; }
  .woocommerce #respond input#submit.alt:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover {
    color: #fff;
    background-color: #d5430d;
    border-color: #b3390b; }
  .woocommerce #respond input#submit.alt:active, .woocommerce #respond input#submit.alt.active,
  .open > .woocommerce #respond input#submit.alt.dropdown-toggle, .woocommerce a.button.alt:active, .woocommerce a.button.alt.active,
  .open > .woocommerce a.button.alt.dropdown-toggle, .woocommerce button.button.alt:active, .woocommerce button.button.alt.active,
  .open > .woocommerce button.button.alt.dropdown-toggle, .woocommerce input.button.alt:active, .woocommerce input.button.alt.active,
  .open > .woocommerce input.button.alt.dropdown-toggle {
    color: #fff;
    background-color: #d5430d;
    border-color: #b3390b; }
    .woocommerce #respond input#submit.alt:active:hover, .woocommerce #respond input#submit.alt:active:focus, .woocommerce #respond input#submit.alt:active.focus, .woocommerce #respond input#submit.alt.active:hover, .woocommerce #respond input#submit.alt.active:focus, .woocommerce #respond input#submit.alt.active.focus,
    .open > .woocommerce #respond input#submit.alt.dropdown-toggle:hover,
    .open > .woocommerce #respond input#submit.alt.dropdown-toggle:focus,
    .open > .woocommerce #respond input#submit.alt.dropdown-toggle.focus, .woocommerce a.button.alt:active:hover, .woocommerce a.button.alt:active:focus, .woocommerce a.button.alt:active.focus, .woocommerce a.button.alt.active:hover, .woocommerce a.button.alt.active:focus, .woocommerce a.button.alt.active.focus,
    .open > .woocommerce a.button.alt.dropdown-toggle:hover,
    .open > .woocommerce a.button.alt.dropdown-toggle:focus,
    .open > .woocommerce a.button.alt.dropdown-toggle.focus, .woocommerce button.button.alt:active:hover, .woocommerce button.button.alt:active:focus, .woocommerce button.button.alt:active.focus, .woocommerce button.button.alt.active:hover, .woocommerce button.button.alt.active:focus, .woocommerce button.button.alt.active.focus,
    .open > .woocommerce button.button.alt.dropdown-toggle:hover,
    .open > .woocommerce button.button.alt.dropdown-toggle:focus,
    .open > .woocommerce button.button.alt.dropdown-toggle.focus, .woocommerce input.button.alt:active:hover, .woocommerce input.button.alt:active:focus, .woocommerce input.button.alt:active.focus, .woocommerce input.button.alt.active:hover, .woocommerce input.button.alt.active:focus, .woocommerce input.button.alt.active.focus,
    .open > .woocommerce input.button.alt.dropdown-toggle:hover,
    .open > .woocommerce input.button.alt.dropdown-toggle:focus,
    .open > .woocommerce input.button.alt.dropdown-toggle.focus {
      color: #fff;
      background-color: #b3390b;
      border-color: #742507; }
  .woocommerce #respond input#submit.alt:active, .woocommerce #respond input#submit.alt.active,
  .open > .woocommerce #respond input#submit.alt.dropdown-toggle, .woocommerce a.button.alt:active, .woocommerce a.button.alt.active,
  .open > .woocommerce a.button.alt.dropdown-toggle, .woocommerce button.button.alt:active, .woocommerce button.button.alt.active,
  .open > .woocommerce button.button.alt.dropdown-toggle, .woocommerce input.button.alt:active, .woocommerce input.button.alt.active,
  .open > .woocommerce input.button.alt.dropdown-toggle {
    background-image: none; }
  .woocommerce #respond input#submit.alt.disabled, .woocommerce #respond input#submit.alt.disabled:hover, .woocommerce #respond input#submit.alt.disabled:focus, .woocommerce #respond input#submit.alt.disabled.focus, .woocommerce #respond input#submit.alt.disabled:active, .woocommerce #respond input#submit.alt.disabled.active, .woocommerce #respond input#submit.alt[disabled], .woocommerce #respond input#submit.alt[disabled]:hover, .woocommerce #respond input#submit.alt[disabled]:focus, .woocommerce #respond input#submit.alt[disabled].focus, .woocommerce #respond input#submit.alt[disabled]:active, .woocommerce #respond input#submit.alt[disabled].active,
  fieldset[disabled] .woocommerce #respond input#submit.alt,
  fieldset[disabled] .woocommerce #respond input#submit.alt:hover,
  fieldset[disabled] .woocommerce #respond input#submit.alt:focus,
  fieldset[disabled] .woocommerce #respond input#submit.alt.focus,
  fieldset[disabled] .woocommerce #respond input#submit.alt:active,
  fieldset[disabled] .woocommerce #respond input#submit.alt.active, .woocommerce a.button.alt.disabled, .woocommerce a.button.alt.disabled:hover, .woocommerce a.button.alt.disabled:focus, .woocommerce a.button.alt.disabled.focus, .woocommerce a.button.alt.disabled:active, .woocommerce a.button.alt.disabled.active, .woocommerce a.button.alt[disabled], .woocommerce a.button.alt[disabled]:hover, .woocommerce a.button.alt[disabled]:focus, .woocommerce a.button.alt[disabled].focus, .woocommerce a.button.alt[disabled]:active, .woocommerce a.button.alt[disabled].active,
  fieldset[disabled] .woocommerce a.button.alt,
  fieldset[disabled] .woocommerce a.button.alt:hover,
  fieldset[disabled] .woocommerce a.button.alt:focus,
  fieldset[disabled] .woocommerce a.button.alt.focus,
  fieldset[disabled] .woocommerce a.button.alt:active,
  fieldset[disabled] .woocommerce a.button.alt.active, .woocommerce button.button.alt.disabled, .woocommerce button.button.alt.disabled:hover, .woocommerce button.button.alt.disabled:focus, .woocommerce button.button.alt.disabled.focus, .woocommerce button.button.alt.disabled:active, .woocommerce button.button.alt.disabled.active, .woocommerce button.button.alt[disabled], .woocommerce button.button.alt[disabled]:hover, .woocommerce button.button.alt[disabled]:focus, .woocommerce button.button.alt[disabled].focus, .woocommerce button.button.alt[disabled]:active, .woocommerce button.button.alt[disabled].active,
  fieldset[disabled] .woocommerce button.button.alt,
  fieldset[disabled] .woocommerce button.button.alt:hover,
  fieldset[disabled] .woocommerce button.button.alt:focus,
  fieldset[disabled] .woocommerce button.button.alt.focus,
  fieldset[disabled] .woocommerce button.button.alt:active,
  fieldset[disabled] .woocommerce button.button.alt.active, .woocommerce input.button.alt.disabled, .woocommerce input.button.alt.disabled:hover, .woocommerce input.button.alt.disabled:focus, .woocommerce input.button.alt.disabled.focus, .woocommerce input.button.alt.disabled:active, .woocommerce input.button.alt.disabled.active, .woocommerce input.button.alt[disabled], .woocommerce input.button.alt[disabled]:hover, .woocommerce input.button.alt[disabled]:focus, .woocommerce input.button.alt[disabled].focus, .woocommerce input.button.alt[disabled]:active, .woocommerce input.button.alt[disabled].active,
  fieldset[disabled] .woocommerce input.button.alt,
  fieldset[disabled] .woocommerce input.button.alt:hover,
  fieldset[disabled] .woocommerce input.button.alt:focus,
  fieldset[disabled] .woocommerce input.button.alt.focus,
  fieldset[disabled] .woocommerce input.button.alt:active,
  fieldset[disabled] .woocommerce input.button.alt.active {
    background-color: #f25b22;
    border-color: #ed4b0e; }
  .woocommerce #respond input#submit.alt .badge, .woocommerce a.button.alt .badge, .woocommerce button.button.alt .badge, .woocommerce input.button.alt .badge {
    color: #f25b22;
    background-color: #fff; }

.woocommerce a.add_to_cart_button i, .woocommerce a.product_type_external i, #main-container .woocommerce button.button.single_add_to_cart_button i {
  color: #2f2f2f; }

.woocommerce a.add_to_cart_button:hover, .woocommerce a.product_type_external:hover, #main-container .woocommerce button.button.single_add_to_cart_button:hover {
  color: #000; }
  .woocommerce a.add_to_cart_button:hover:hover, .woocommerce a.product_type_external:hover:hover, #main-container .woocommerce button.button.single_add_to_cart_button:hover:hover {
    color: #f25b22; }

.woocommerce .wishlist_table td.product-add-to-cart a {
  background: #f25b22;
  color: #FFF;
  padding: 15px 0; }
  .woocommerce .wishlist_table td.product-add-to-cart a:hover {
    color: #FFF; }

/**
 * Input Form Styles
 */
.woocommerce form .form-row .input-text, .woocommerce-page form .form-row .input-text, .woocommerce form .form-row textarea, .woocommerce select {
  display: block;
  height: 54px;
  padding: 10px 25px;
  font-size: 14px;
  line-height: 1.62857;
  color: #666666;
  background-color: #f9f9f9;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 0px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  -o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; }
  .woocommerce form .form-row .input-text:focus, .woocommerce-page form .form-row .input-text:focus, .woocommerce form .form-row textarea:focus, .woocommerce select:focus {
    border-color: #f25b22;
    outline: 0;
    -webkit-box-shadow: none;
    box-shadow: none; }
  .woocommerce form .form-row .input-text::-moz-placeholder, .woocommerce-page form .form-row .input-text::-moz-placeholder, .woocommerce form .form-row textarea::-moz-placeholder, .woocommerce select::-moz-placeholder {
    color: #999;
    opacity: 1; }
  .woocommerce form .form-row .input-text:-ms-input-placeholder, .woocommerce-page form .form-row .input-text:-ms-input-placeholder, .woocommerce form .form-row textarea:-ms-input-placeholder, .woocommerce select:-ms-input-placeholder {
    color: #999; }
  .woocommerce form .form-row .input-text::-webkit-input-placeholder, .woocommerce-page form .form-row .input-text::-webkit-input-placeholder, .woocommerce form .form-row textarea::-webkit-input-placeholder, .woocommerce select::-webkit-input-placeholder {
    color: #999; }
  .woocommerce form .form-row .input-text[disabled], .woocommerce form .form-row .input-text[readonly],
  fieldset[disabled] .woocommerce form .form-row .input-text, .woocommerce-page form .form-row .input-text[disabled], .woocommerce-page form .form-row .input-text[readonly],
  fieldset[disabled] .woocommerce-page form .form-row .input-text, .woocommerce form .form-row textarea[disabled], .woocommerce form .form-row textarea[readonly],
  fieldset[disabled] .woocommerce form .form-row textarea, .woocommerce select[disabled], .woocommerce select[readonly],
  fieldset[disabled] .woocommerce select {
    background-color: #cccccc;
    opacity: 1; }
  .woocommerce form .form-row .input-text[disabled],
  fieldset[disabled] .woocommerce form .form-row .input-text, .woocommerce-page form .form-row .input-text[disabled],
  fieldset[disabled] .woocommerce-page form .form-row .input-text, .woocommerce form .form-row textarea[disabled],
  fieldset[disabled] .woocommerce form .form-row textarea, .woocommerce select[disabled],
  fieldset[disabled] .woocommerce select {
    cursor: not-allowed; }

.woocommerce #content table.cart td.actions .button, .woocommerce #content table.cart td.actions .input-text,
.woocommerce #content table.cart td.actions input, .woocommerce table.cart td.actions .button,
.woocommerce table.cart td.actions .input-text, .woocommerce table.cart td.actions input,
.woocommerce-page #content table.cart td.actions .button, .woocommerce-page #content table.cart td.actions .input-text,
.woocommerce-page #content table.cart td.actions input, .woocommerce-page table.cart td.actions .button,
.woocommerce-page table.cart td.actions .input-text, .woocommerce-page table.cart td.actions input {
  width: auto !important; }

.woocommerce form .form-row textarea {
  min-height: 100px; }

.woocommerce-cart table.cart input {
  line-height: 1.62857;
  text-transform: uppercase; }

.woocommerce #content table.cart td.actions .input-text,
.woocommerce table.cart td.actions .input-text,
.woocommerce-page #content table.cart td.actions .input-text,
.woocommerce-page table.cart td.actions .input-text {
  width: auto !important;
  padding: 9px; }

.woocommerce form .form-row.woocommerce-validated .select2-container,
.woocommerce form .form-row.woocommerce-validated input.input-text,
.woocommerce form .form-row.woocommerce-validated select {
  border-color: #f25b22; }

.woocommerce-tabs .panel {
  border: none;
  margin: 0 !important;
  -webkit-box-shadow: none;
  box-shadow: none; }

.woocommerce-tabs .shop_attributes {
  border: 0 !important; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29vY29tbWVyY2UuY3NzIiwic291cmNlcyI6WyJ3b29jb21tZXJjZS5zY3NzIiwiYm9vdHN0cmFwL192YXJpYWJsZXMuc2NzcyIsImJvb3RzdHJhcC9fbWl4aW5zLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19oaWRlLXRleHQuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX29wYWNpdHkuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2ltYWdlLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19sYWJlbHMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX3Jlc2V0LWZpbHRlci5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fcmVzaXplLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19yZXNwb25zaXZlLXZpc2liaWxpdHkuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX3NpemUuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX3RhYi1mb2N1cy5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fcmVzZXQtdGV4dC5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fdGV4dC1lbXBoYXNpcy5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fdGV4dC1vdmVyZmxvdy5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fdmVuZG9yLXByZWZpeGVzLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19hbGVydHMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2J1dHRvbnMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX3BhbmVscy5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fcGFnaW5hdGlvbi5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fbGlzdC1ncm91cC5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fbmF2LWRpdmlkZXIuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2Zvcm1zLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19wcm9ncmVzcy1iYXIuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX3RhYmxlLXJvdy5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fYmFja2dyb3VuZC12YXJpYW50LnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19ncmFkaWVudHMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2NsZWFyZml4LnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19jZW50ZXItYmxvY2suc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX25hdi12ZXJ0aWNhbC1hbGlnbi5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fZ3JpZC1mcmFtZXdvcmsuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2dyaWQuc2NzcyIsImNvbXBvbmVudHMvX21peGlucy5zY3NzIiwiY29tcG9uZW50cy9taXhpbnMvX3J0bC5zY3NzIiwiY29tcG9uZW50cy9taXhpbnMvX2Z1bmN0aW9ucy5zY3NzIiwiY29tcG9uZW50cy9taXhpbnMvX3RlbXBsYXRlLW1peGlucy5zY3NzIiwiY29tcG9uZW50cy9fdmFyaWFibGVzLnNjc3MiLCJjb21wb25lbnRzL3ZhcnMvX2Zvcm0uc2NzcyIsImNvbXBvbmVudHMvdmFycy9fbmF2LnNjc3MiLCJjb21wb25lbnRzL3ZhcnMvX2xheW91dC5zY3NzIiwiY29tcG9uZW50cy92YXJzL19lbGVtZW50cy5zY3NzIiwiY29tcG9uZW50cy92YXJzL193aWRnZXQuc2NzcyIsIndvb2NvbW1lcmNlL192YXJpYWJsZXMuc2NzcyIsIndvb2NvbW1lcmNlL193aWRnZXQuc2NzcyIsIndvb2NvbW1lcmNlL19zdHlsZXMuc2NzcyIsIndvb2NvbW1lcmNlL19mb3JtLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29yZSB2YXJpYWJsZXMgYW5kIG1peGluc1xuQGltcG9ydCBcImJvb3RzdHJhcC92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvbWl4aW5zXCI7XG5cbkBpbXBvcnQgXCJjb21wb25lbnRzL21peGluc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvdmFyaWFibGVzXCI7XG5cbkBpbXBvcnQgXCJ3b29jb21tZXJjZS92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJ3b29jb21tZXJjZS93aWRnZXRcIjtcbkBpbXBvcnQgXCJ3b29jb21tZXJjZS9zdHlsZXNcIjtcbkBpbXBvcnQgXCJ3b29jb21tZXJjZS9mb3JtXCI7XG4iLCIkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyOiBmYWxzZSAhZGVmYXVsdDtcbi8vXG4vLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy89PSBDb2xvcnNcbi8vXG4vLyMjIEdyYXkgYW5kIGJyYW5kIGNvbG9ycyBmb3IgdXNlIGFjcm9zcyBCb290c3RyYXAuXG5cbiRsaWdodC1ncmF5ICAgICAgOiBsaWdodGVuKCMwMDAwMDAsIDYwJSkgIWRlZmF1bHQ7ICAgICAgICAvLyAjOTk5OTk5XG4kdmVyeS1saWdodC1ncmF5IDogI2U1ZTVlNSAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgLy8gI2U1ZTVlNVxuJHZlcnktZGFyay1ncmF5ICA6ICMzNzM3MzcgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgLy8gIzM3MzczNyBcbiRncmF5LWRhcmtlciAgICAgOiAjMDAwMDAwICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAvLyAjMDAwMDAwXG4kZ3JheS1kYXJrICAgICAgIDogIzJmMmYyZiAhZGVmYXVsdDsgICAgICAgICAgIC8vICMzMzMzMzNcbiRncmF5ICAgICAgICAgICAgOiBsaWdodGVuKCMwMDAsIDMzLjUlKSAhZGVmYXVsdDsgICAgICAgICAvLyAjNTU1NTU1XG4kZ3JheS1saWdodCAgICAgIDogIzY2NjY2NiAhZGVmYXVsdDsgICAgICAgICAvLyAjNzc3Nzc3XG4kZ3JheS1saWdodGVyICAgIDogI2NjY2NjYyAhZGVmYXVsdDsgICAgICAgICAvLyAjY2NjY2NjXG5cbiRicmFuZC1wcmltYXJ5ICAgOiAjZjI1YjIyICFkZWZhdWx0O1xuJGJyYW5kLXN1Y2Nlc3MgICA6ICM1OGJlNTAgIWRlZmF1bHQ7XG4kYnJhbmQtaW5mbyAgICAgIDogIzU0OWRkZSAhZGVmYXVsdDtcbiRicmFuZC13YXJuaW5nICAgOiAjZmZjYTAwICFkZWZhdWx0O1xuJGJyYW5kLWRhbmdlciAgICA6ICNlNTYzNjMgIWRlZmF1bHQ7XG5cblxuLy89PSBTY2FmZm9sZGluZ1xuLy9cbi8vIyMgU2V0dGluZ3MgZm9yIHNvbWUgb2YgdGhlIG1vc3QgZ2xvYmFsIHN0eWxlcy5cblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGJvZHk+YC5cbiRib2R5LWJnOiAgICAgICAgICAgICAgICNmZmZmZmYgIWRlZmF1bHQ7XG4vLyoqIEdsb2JhbCB0ZXh0IGNvbG9yIG9uIGA8Ym9keT5gLlxuJHRleHQtY29sb3I6ICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vKiogR2xvYmFsIHRleHR1YWwgbGluayBjb2xvci5cbiRsaW5rLWNvbG9yOiAgICAgICAgICAgICRncmF5LWRhcmtlciAhZGVmYXVsdDtcbi8vKiogTGluayBob3ZlciBjb2xvciBzZXQgdmlhIGBkYXJrZW4oKWAgZnVuY3Rpb24uXG4kbGluay1ob3Zlci1jb2xvcjogICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbi8vKiogTGluayBob3ZlciBkZWNvcmF0aW9uLlxuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuXG4vLz09IFR5cG9ncmFwaHlcbi8vXG4vLyMjIEZvbnQsIGxpbmUtaGVpZ2h0LCBhbmQgY29sb3IgZm9yIGJvZHkgdGV4dCwgaGVhZGluZ3MsIGFuZCBtb3JlLlxuXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogJ1BvcHBpbnMnLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LXNlcmlmOiAgICAgICdQbGF5ZmFpciBEaXNwbGF5Jywgc2VyaWYgIWRlZmF1bHQ7XG4vLyoqIERlZmF1bHQgbW9ub3NwYWNlIGZvbnRzIGZvciBgPGNvZGU+YCwgYDxrYmQ+YCwgYW5kIGA8cHJlPmAuXG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgIFwiRmphbGxhIE9uZVwiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgICdQb3BwaW5zJywgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAxNHB4ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1sYXJnZTogICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSkgIWRlZmF1bHQ7IC8vIH4xOHB4XG4kZm9udC1zaXplLXNtYWxsOiAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDAuODUpKSAhZGVmYXVsdDsgLy8gfjEycHhcblxuJGZvbnQtc2l6ZS1oMTogICAgICAgICAgICBmbG9vcigoJGZvbnQtc2l6ZS1iYXNlICogMi42KSkgIWRlZmF1bHQ7IC8vIH4zNnB4XG4kZm9udC1zaXplLWgyOiAgICAgICAgICAgIGZsb29yKCgkZm9udC1zaXplLWJhc2UgKiAyLjE1KSkgIWRlZmF1bHQ7IC8vIH4zMHB4XG4kZm9udC1zaXplLWgzOiAgICAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDEuNykpICFkZWZhdWx0OyAvLyB+MjRweFxuJGZvbnQtc2l6ZS1oNDogICAgICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSkgIWRlZmF1bHQ7IC8vIH4xOHB4XG4kZm9udC1zaXplLWg1OiAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRmb250LXNpemUtaDY6ICAgICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMC44NSkpICFkZWZhdWx0OyAvLyB+MTJweFxuXG4kZm9udC13ZWlnaHQtYmFzZVx0OiA0MDAgIWRlZmF1bHQ7XG4vLyoqIFVuaXQtbGVzcyBgbGluZS1oZWlnaHRgIGZvciB1c2UgaW4gY29tcG9uZW50cyBsaWtlIGJ1dHRvbnMuXG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgIDEuNjI4NTcxNDI5ICFkZWZhdWx0OyAvLyAyMC8xNFxuLy8qKiBDb21wdXRlZCBcImxpbmUtaGVpZ2h0XCIgKGBmb250LXNpemVgICogYGxpbmUtaGVpZ2h0YCkgZm9yIHVzZSB3aXRoIGBtYXJnaW5gLCBgcGFkZGluZ2AsIGV0Yy5cbiRsaW5lLWhlaWdodC1jb21wdXRlZDogICAgZmxvb3IoKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlKSkgIWRlZmF1bHQ7IC8vIH4yMHB4XG5cbi8vKiogQnkgZGVmYXVsdCwgdGhpcyBpbmhlcml0cyBmcm9tIHRoZSBgPGJvZHk+YC5cbiRoZWFkaW5ncy1mb250LWZhbWlseTogICAgXCJGamFsbGEgT25lXCIgIWRlZmF1bHQ7XG4vKiAkaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgIDcwMCAhZGVmYXVsdDsgKi9cbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgNDAwICFkZWZhdWx0O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAxLjEgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtY29sb3I6ICAgICAgICAgICRncmF5LWRhcmtlciAhZGVmYXVsdDtcblxuXG4vLz09IEljb25vZ3JhcGh5XG4vL1xuLy8jIyBTcGVjaWZ5IGN1c3RvbSBsb2NhdGlvbiBhbmQgZmlsZW5hbWUgb2YgdGhlIGluY2x1ZGVkIEdseXBoaWNvbnMgaWNvbiBmb250LiBVc2VmdWwgZm9yIHRob3NlIGluY2x1ZGluZyBCb290c3RyYXAgdmlhIEJvd2VyLlxuXG4vLyoqIExvYWQgZm9udHMgZnJvbSB0aGlzIGRpcmVjdG9yeS5cblxuLy8gW2NvbnZlcnRlcl0gSWYgJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciBpZiB1c2VkLCBwcm92aWRlIHBhdGggcmVsYXRpdmUgdG8gdGhlIGFzc2V0cyBsb2FkIHBhdGguXG4vLyBbY29udmVydGVyXSBUaGlzIGlzIGJlY2F1c2Ugc29tZSBhc3NldCBoZWxwZXJzLCBzdWNoIGFzIFNwcm9ja2V0cywgZG8gbm90IHdvcmsgd2l0aCBmaWxlLXJlbGF0aXZlIHBhdGhzLlxuJGljb24tZm9udC1wYXRoOiBpZigkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyLCBcImJvb3RzdHJhcC9cIiwgXCIuLi9mb250cy9ib290c3RyYXAvXCIpICFkZWZhdWx0O1xuXG4vLyoqIEZpbGUgbmFtZSBmb3IgYWxsIGZvbnQgZmlsZXMuXG4kaWNvbi1mb250LW5hbWU6ICAgICAgICAgIFwiZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhclwiICFkZWZhdWx0O1xuLy8qKiBFbGVtZW50IElEIHdpdGhpbiBTVkcgaWNvbiBmaWxlLlxuJGljb24tZm9udC1zdmctaWQ6ICAgICAgICBcImdseXBoaWNvbnNfaGFsZmxpbmdzcmVndWxhclwiICFkZWZhdWx0O1xuXG5cbi8vPT0gQ29tcG9uZW50c1xuLy9cbi8vIyMgRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLiBWYWx1ZXMgYmFzZWQgb24gMTRweCB0ZXh0IGFuZCAxLjQyOCBsaW5lLWhlaWdodCAofjIwcHggdG8gc3RhcnQpLlxuXG4kcGFkZGluZy1iYXNlLXZlcnRpY2FsOiAgICAgMTBweCAhZGVmYXVsdDtcbiRwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbDogICAyNXB4ICFkZWZhdWx0O1xuXG4kcGFkZGluZy1sYXJnZS12ZXJ0aWNhbDogICAgMTVweCAhZGVmYXVsdDtcbiRwYWRkaW5nLWxhcmdlLWhvcml6b250YWw6ICAzMHB4ICFkZWZhdWx0O1xuXG4kcGFkZGluZy1zbWFsbC12ZXJ0aWNhbDogICAgNXB4ICFkZWZhdWx0O1xuJHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbDogIDIwcHggIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLXhzLXZlcnRpY2FsOiAgICAgICAxcHggIWRlZmF1bHQ7XG4kcGFkZGluZy14cy1ob3Jpem9udGFsOiAgICAgNXB4ICFkZWZhdWx0O1xuXG4kbGluZS1oZWlnaHQtbGFyZ2U6ICAgICAgICAgMS4zMzMzMzMzICFkZWZhdWx0OyAvLyBleHRyYSBkZWNpbWFscyBmb3IgV2luIDguMSBDaHJvbWVcbiRsaW5lLWhlaWdodC1zbWFsbDogICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRib3JkZXItcmFkaXVzLWJhc2U6ICAgICAgICAwcHggIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sYXJnZTogICAgICAgNnB4ICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtc21hbGw6ICAgICAgIDNweCAhZGVmYXVsdDtcblxuLy8qKiBHbG9iYWwgY29sb3IgZm9yIGFjdGl2ZSBpdGVtcyAoZS5nLiwgbmF2cyBvciBkcm9wZG93bnMpLlxuJGNvbXBvbmVudC1hY3RpdmUtY29sb3I6ICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIEdsb2JhbCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBhY3RpdmUgaXRlbXMgKGUuZy4sIG5hdnMgb3IgZHJvcGRvd25zKS5cbiRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuLy8qKiBXaWR0aCBvZiB0aGUgYGJvcmRlcmAgZm9yIGdlbmVyYXRpbmcgY2FyZXRzIHRoYXQgaW5kaWNhdG9yIGRyb3Bkb3ducy5cbiRjYXJldC13aWR0aC1iYXNlOiAgICAgICAgICA0cHggIWRlZmF1bHQ7XG4vLyoqIENhcmV0cyBpbmNyZWFzZSBzbGlnaHRseSBpbiBzaXplIGZvciBsYXJnZXIgY29tcG9uZW50cy5cbiRjYXJldC13aWR0aC1sYXJnZTogICAgICAgICA1cHggIWRlZmF1bHQ7XG5cblxuLy89PSBUYWJsZXNcbi8vXG4vLyMjIEN1c3RvbWl6ZXMgdGhlIGAudGFibGVgIGNvbXBvbmVudCB3aXRoIGJhc2ljIHZhbHVlcywgZWFjaCB1c2VkIGFjcm9zcyBhbGwgdGFibGUgdmFyaWF0aW9ucy5cblxuLy8qKiBQYWRkaW5nIGZvciBgPHRoPmBzIGFuZCBgPHRkPmBzLlxuJHRhYmxlLWNlbGwtcGFkZGluZzogICAgICAgICAgICA4cHggIWRlZmF1bHQ7XG4vLyoqIFBhZGRpbmcgZm9yIGNlbGxzIGluIGAudGFibGUtY29uZGVuc2VkYC5cbiR0YWJsZS1jb25kZW5zZWQtY2VsbC1wYWRkaW5nOiAgNXB4ICFkZWZhdWx0O1xuXG4vLyoqIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciB1c2VkIGZvciBhbGwgdGFibGVzLlxuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciB1c2VkIGZvciBgLnRhYmxlLXN0cmlwZWRgLlxuJHRhYmxlLWJnLWFjY2VudDogICAgICAgICAgICAgICAjZjlmOWY5ICFkZWZhdWx0O1xuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIHVzZWQgZm9yIGAudGFibGUtaG92ZXJgLlxuJHRhYmxlLWJnLWhvdmVyOiAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuJHRhYmxlLWJnLWFjdGl2ZTogICAgICAgICAgICAgICAkdGFibGUtYmctaG92ZXIgIWRlZmF1bHQ7XG5cbi8vKiogQm9yZGVyIGNvbG9yIGZvciB0YWJsZSBhbmQgY2VsbCBib3JkZXJzLlxuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG5cbi8vPT0gQnV0dG9uc1xuLy9cbi8vIyMgRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQgYW5kIGJvcmRlciBjb2xvci5cblxuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgICAgNzAwICFkZWZhdWx0O1xuXG4kYnRuLWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi1kZWZhdWx0LWJnOiAgICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRidG4tZGVmYXVsdC1ib3JkZXI6ICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG5cbiRidG4tcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLXByaW1hcnktYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRidG4tcHJpbWFyeS1ib3JkZXI6ICAgICAgICAgICAgIGRhcmtlbigkYnRuLXByaW1hcnktYmcsIDUlKSAhZGVmYXVsdDtcblxuJGJ0bi1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4tc3VjY2Vzcy1iZzogICAgICAgICAgICAgICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuJGJ0bi1zdWNjZXNzLWJvcmRlcjogICAgICAgICAgICAgZGFya2VuKCRidG4tc3VjY2Vzcy1iZywgNSUpICFkZWZhdWx0O1xuXG4kYnRuLWluZm8tY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi1pbmZvLWJnOiAgICAgICAgICAgICAgICAgICAgJGJyYW5kLWluZm8gIWRlZmF1bHQ7XG4kYnRuLWluZm8tYm9yZGVyOiAgICAgICAgICAgICAgICBkYXJrZW4oJGJ0bi1pbmZvLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4td2FybmluZy1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLXdhcm5pbmctYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcbiRidG4td2FybmluZy1ib3JkZXI6ICAgICAgICAgICAgIGRhcmtlbigkYnRuLXdhcm5pbmctYmcsIDUlKSAhZGVmYXVsdDtcblxuJGJ0bi1kYW5nZXItY29sb3I6ICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4tZGFuZ2VyLWJnOiAgICAgICAgICAgICAgICAgICRicmFuZC1kYW5nZXIgIWRlZmF1bHQ7XG4kYnRuLWRhbmdlci1ib3JkZXI6ICAgICAgICAgICAgICBkYXJrZW4oJGJ0bi1kYW5nZXItYmcsIDUlKSAhZGVmYXVsdDtcblxuJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vIEFsbG93cyBmb3IgY3VzdG9taXppbmcgYnV0dG9uIHJhZGl1cyBpbmRlcGVuZGVudGx5IGZyb20gZ2xvYmFsIGJvcmRlciByYWRpdXNcbiRidG4tYm9yZGVyLXJhZGl1cy1iYXNlOiAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGFyZ2U6ICAgICAgICAkYm9yZGVyLXJhZGl1cy1sYXJnZSAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1zbWFsbDogICAgICAgICRib3JkZXItcmFkaXVzLXNtYWxsICFkZWZhdWx0O1xuXG5cbi8vPT0gRm9ybXNcbi8vXG4vLyMjXG5cbi8vKiogYDxpbnB1dD5gIGJhY2tncm91bmQgY29sb3JcbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICNmOWY5ZjkgIWRlZmF1bHQ7XG4vLyoqIGA8aW5wdXQgZGlzYWJsZWQ+YCBiYWNrZ3JvdW5kIGNvbG9yXG4kaW5wdXQtYmctZGlzYWJsZWQ6ICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG4vLyoqIFRleHQgY29sb3IgZm9yIGA8aW5wdXQ+YHNcbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICR0ZXh0LWNvbG9yICFkZWZhdWx0O1xuLy8qKiBgPGlucHV0PmAgYm9yZGVyIGNvbG9yXG4kaW5wdXQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gVE9ETzogUmVuYW1lIGAkaW5wdXQtYm9yZGVyLXJhZGl1c2AgdG8gYCRpbnB1dC1ib3JkZXItcmFkaXVzLWJhc2VgIGluIHY0XG4vLyoqIERlZmF1bHQgYC5mb3JtLWNvbnRyb2xgIGJvcmRlciByYWRpdXNcbi8vIFRoaXMgaGFzIG5vIGVmZmVjdCBvbiBgPHNlbGVjdD5gcyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgYDxzZWxlY3Q+YHMgaW4gQ1NTLlxuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbi8vKiogTGFyZ2UgYC5mb3JtLWNvbnRyb2xgIGJvcmRlciByYWRpdXNcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxhcmdlOiAgICAgICRib3JkZXItcmFkaXVzLWxhcmdlICFkZWZhdWx0O1xuLy8qKiBTbWFsbCBgLmZvcm0tY29udHJvbGAgYm9yZGVyIHJhZGl1c1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc21hbGw6ICAgICAgJGJvcmRlci1yYWRpdXMtc21hbGwgIWRlZmF1bHQ7XG5cbi8vKiogQm9yZGVyIGNvbG9yIGZvciBpbnB1dHMgb24gZm9jdXNcbiRpbnB1dC1ib3JkZXItZm9jdXM6ICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4vLyoqIFBsYWNlaG9sZGVyIHRleHQgY29sb3JcbiRpbnB1dC1jb2xvci1wbGFjZWhvbGRlcjogICAgICAgICM5OTkgIWRlZmF1bHQ7XG5cbi8vKiogRGVmYXVsdCBgLmZvcm0tY29udHJvbGAgaGVpZ2h0XG4kaW5wdXQtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgICAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICsgKCRwYWRkaW5nLWJhc2UtdmVydGljYWwgKiAzKSArIDIpICFkZWZhdWx0O1xuLy8qKiBMYXJnZSBgLmZvcm0tY29udHJvbGAgaGVpZ2h0XG4kaW5wdXQtaGVpZ2h0LWxhcmdlOiAgICAgICAgICAgICAoY2VpbCgkZm9udC1zaXplLWxhcmdlICogJGxpbmUtaGVpZ2h0LWxhcmdlKSArICgkcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCAqIDIpICsgMikgIWRlZmF1bHQ7XG4vLyoqIFNtYWxsIGAuZm9ybS1jb250cm9sYCBoZWlnaHRcbiRpbnB1dC1oZWlnaHQtc21hbGw6ICAgICAgICAgICAgIChmbG9vcigkZm9udC1zaXplLXNtYWxsICogJGxpbmUtaGVpZ2h0LXNtYWxsKSArICgkcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCAqIDIpICsgMikgIWRlZmF1bHQ7XG5cbi8vKiogYC5mb3JtLWdyb3VwYCBtYXJnaW5cbiRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b206ICAgICAgIDE1cHggIWRlZmF1bHQ7XG5cbiRsZWdlbmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4kbGVnZW5kLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjZTVlNWU1ICFkZWZhdWx0O1xuXG4vLyoqIEJhY2tncm91bmQgY29sb3IgZm9yIHRleHR1YWwgaW5wdXQgYWRkb25zXG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbi8vKiogQm9yZGVyIGNvbG9yIGZvciB0ZXh0dWFsIGlucHV0IGFkZG9uc1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogJGlucHV0LWJvcmRlciAhZGVmYXVsdDtcblxuLy8qKiBEaXNhYmxlZCBjdXJzb3IgZm9yIGZvcm0gY29udHJvbHMgYW5kIGJ1dHRvbnMuXG4kY3Vyc29yLWRpc2FibGVkOiAgICAgICAgICAgICAgICBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuXG4vLz09IERyb3Bkb3duc1xuLy9cbi8vIyMgRHJvcGRvd24gbWVudSBjb250YWluZXIgYW5kIGNvbnRlbnRzLlxuXG4vLyoqIEJhY2tncm91bmQgZm9yIHRoZSBkcm9wZG93biBtZW51LlxuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogRHJvcGRvd24gbWVudSBgYm9yZGVyLWNvbG9yYC5cbiRkcm9wZG93bi1ib3JkZXI6ICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsLjE1KSAhZGVmYXVsdDtcbi8vKiogRHJvcGRvd24gbWVudSBgYm9yZGVyLWNvbG9yYCAqKmZvciBJRTgqKi5cbiRkcm9wZG93bi1mYWxsYmFjay1ib3JkZXI6ICAgICAgICNjY2MgIWRlZmF1bHQ7XG4vLyoqIERpdmlkZXIgY29sb3IgZm9yIGJldHdlZW4gZHJvcGRvd24gaXRlbXMuXG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAjZTVlNWU1ICFkZWZhdWx0O1xuXG4vLyoqIERyb3Bkb3duIGxpbmsgdGV4dCBjb2xvci5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4vLyoqIEhvdmVyIGNvbG9yIGZvciBkcm9wZG93biBsaW5rcy5cbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgIGRhcmtlbigkZ3JheS1kYXJrLCA1JSkgIWRlZmF1bHQ7XG4vLyoqIEhvdmVyIGJhY2tncm91bmQgZm9yIGRyb3Bkb3duIGxpbmtzLlxuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcblxuLy8qKiBBY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtIHRleHQgY29sb3IuXG4kZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbi8vKiogQWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbSBiYWNrZ3JvdW5kIGNvbG9yLlxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbi8vKiogRGlzYWJsZWQgZHJvcGRvd24gbWVudSBpdGVtIGJhY2tncm91bmQgY29sb3IuXG4kZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy8qKiBUZXh0IGNvbG9yIGZvciBoZWFkZXJzIHdpdGhpbiBkcm9wZG93biBtZW51cy5cbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLyoqIERlcHJlY2F0ZWQgYCRkcm9wZG93bi1jYXJldC1jb2xvcmAgYXMgb2YgdjMuMS4wXG4kZHJvcGRvd24tY2FyZXQtY29sb3I6ICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuXG5cbi8vLS0gWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy9cbi8vIFdhcm5pbmc6IEF2b2lkIGN1c3RvbWl6aW5nIHRoZXNlIHZhbHVlcy4gVGhleSdyZSB1c2VkIGZvciBhIGJpcmQncyBleWUgdmlld1xuLy8gb2YgY29tcG9uZW50cyBkZXBlbmRlbnQgb24gdGhlIHotYXhpcyBhbmQgYXJlIGRlc2lnbmVkIHRvIGFsbCB3b3JrIHRvZ2V0aGVyLlxuLy9cbi8vIE5vdGU6IFRoZXNlIHZhcmlhYmxlcyBhcmUgbm90IGdlbmVyYXRlZCBpbnRvIHRoZSBDdXN0b21pemVyLlxuXG4kemluZGV4LW5hdmJhcjogICAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgIDEwNjAgIWRlZmF1bHQ7XG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAxMDcwICFkZWZhdWx0O1xuJHppbmRleC1uYXZiYXItZml4ZWQ6ICAgICAgMTAzMCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWwtYmFja2dyb3VuZDogIDEwNDAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsOiAgICAgICAgICAgICAxMDUwMCAhZGVmYXVsdDtcblxuXG4vLz09IE1lZGlhIHF1ZXJpZXMgYnJlYWtwb2ludHNcbi8vXG4vLyMjIERlZmluZSB0aGUgYnJlYWtwb2ludHMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbi8vIEV4dHJhIHNtYWxsIHNjcmVlbiAvIHBob25lXG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4teHNgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi14czogICAgICAgICAgICAgICAgICA0ODBweCAhZGVmYXVsdDtcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi14cy1taW5gIGFzIG9mIHYzLjIuMFxuJHNjcmVlbi14cy1taW46ICAgICAgICAgICAgICAkc2NyZWVuLXhzICFkZWZhdWx0O1xuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXBob25lYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tcGhvbmU6ICAgICAgICAgICAgICAgJHNjcmVlbi14cy1taW4gIWRlZmF1bHQ7XG5cbi8vIFNtYWxsIHNjcmVlbiAvIHRhYmxldFxuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXNtYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tc206ICAgICAgICAgICAgICAgICAgNzY4cHggIWRlZmF1bHQ7XG4kc2NyZWVuLXNtLW1pbjogICAgICAgICAgICAgICRzY3JlZW4tc20gIWRlZmF1bHQ7XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tdGFibGV0YCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tdGFibGV0OiAgICAgICAgICAgICAgJHNjcmVlbi1zbS1taW4gIWRlZmF1bHQ7XG5cbi8vIE1lZGl1bSBzY3JlZW4gLyBkZXNrdG9wXG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tbWRgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1tZDogICAgICAgICAgICAgICAgICA5OTJweCAhZGVmYXVsdDtcbiRzY3JlZW4tbWQtbWluOiAgICAgICAgICAgICAgJHNjcmVlbi1tZCAhZGVmYXVsdDtcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1kZXNrdG9wYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tZGVza3RvcDogICAgICAgICAgICAgJHNjcmVlbi1tZC1taW4gIWRlZmF1bHQ7XG5cbi8vIExhcmdlIHNjcmVlbiAvIHdpZGUgZGVza3RvcFxuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLWxnYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tbGc6ICAgICAgICAgICAgICAgICAgMTIwMHB4ICFkZWZhdWx0O1xuJHNjcmVlbi1sZy1taW46ICAgICAgICAgICAgICAkc2NyZWVuLWxnICFkZWZhdWx0O1xuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLWxnLWRlc2t0b3BgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1sZy1kZXNrdG9wOiAgICAgICAgICAkc2NyZWVuLWxnLW1pbiAhZGVmYXVsdDtcblxuLy8gU28gbWVkaWEgcXVlcmllcyBkb24ndCBvdmVybGFwIHdoZW4gcmVxdWlyZWQsIHByb3ZpZGUgYSBtYXhpbXVtXG4kc2NyZWVuLXhzLW1heDogICAgICAgICAgICAgICgkc2NyZWVuLXNtLW1pbiAtIDEpICFkZWZhdWx0O1xuJHNjcmVlbi1zbS1tYXg6ICAgICAgICAgICAgICAoJHNjcmVlbi1tZC1taW4gLSAxKSAhZGVmYXVsdDtcbiRzY3JlZW4tbWQtbWF4OiAgICAgICAgICAgICAgKCRzY3JlZW4tbGctbWluIC0gMSkgIWRlZmF1bHQ7XG5cblxuLy89PSBHcmlkIHN5c3RlbVxuLy9cbi8vIyMgRGVmaW5lIHlvdXIgY3VzdG9tIHJlc3BvbnNpdmUgZ3JpZC5cblxuLy8qKiBOdW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgZ3JpZC5cbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAxMiAhZGVmYXVsdDtcbi8vKiogUGFkZGluZyBiZXR3ZWVuIGNvbHVtbnMuIEdldHMgZGl2aWRlZCBpbiBoYWxmIGZvciB0aGUgbGVmdCBhbmQgcmlnaHQuXG4kZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgMzBweCAhZGVmYXVsdDtcbi8vIE5hdmJhciBjb2xsYXBzZVxuLy8qKiBQb2ludCBhdCB3aGljaCB0aGUgbmF2YmFyIGJlY29tZXMgdW5jb2xsYXBzZWQuXG4kZ3JpZC1mbG9hdC1icmVha3BvaW50OiAgICAgJHNjcmVlbi1zbS1taW4gIWRlZmF1bHQ7XG4vLyoqIFBvaW50IGF0IHdoaWNoIHRoZSBuYXZiYXIgYmVnaW5zIGNvbGxhcHNpbmcuXG4kZ3JpZC1mbG9hdC1icmVha3BvaW50LW1heDogKCRncmlkLWZsb2F0LWJyZWFrcG9pbnQgLSAxKSAhZGVmYXVsdDtcblxuXG4vLz09IENvbnRhaW5lciBzaXplc1xuLy9cbi8vIyMgRGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGAuY29udGFpbmVyYCBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuLy8jIyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4vLyBTbWFsbCBzY3JlZW4gLyB0YWJsZXRcbiRjb250YWluZXItdGFibGV0OiAgICAgICAgICAgICAoKDc1MHB4ICsgJGdyaWQtZ3V0dGVyLXdpZHRoKSkgIWRlZmF1bHQ7XG4vLyoqIEZvciBgJHNjcmVlbi1zbS1taW5gIGFuZCB1cC5cbiRjb250YWluZXItc206ICAgICAgICAgICAgICAgICAkY29udGFpbmVyLXRhYmxldCAhZGVmYXVsdDtcblxuLy8gTWVkaXVtIHNjcmVlbiAvIGRlc2t0b3BcbiRjb250YWluZXItZGVza3RvcDogICAgICAgICAgICAoKDk3MHB4ICsgJGdyaWQtZ3V0dGVyLXdpZHRoKSkgIWRlZmF1bHQ7XG4vLyoqIEZvciBgJHNjcmVlbi1tZC1taW5gIGFuZCB1cC5cbiRjb250YWluZXItbWQ6ICAgICAgICAgICAgICAgICAkY29udGFpbmVyLWRlc2t0b3AgIWRlZmF1bHQ7XG5cbi8vIExhcmdlIHNjcmVlbiAvIHdpZGUgZGVza3RvcFxuJGNvbnRhaW5lci1sYXJnZS1kZXNrdG9wOiAgICAgICgoMTE3MHB4ICsgJGdyaWQtZ3V0dGVyLXdpZHRoKSApICFkZWZhdWx0O1xuLy8qKiBGb3IgYCRzY3JlZW4tbGctbWluYCBhbmQgdXAuXG4kY29udGFpbmVyLWxnOiAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci1sYXJnZS1kZXNrdG9wICFkZWZhdWx0O1xuXG5cblxuLy89PSBOYXZiYXJcbi8vXG4vLyMjXG5cbi8vIEJhc2ljcyBvZiBhIG5hdmJhclxuJG5hdmJhci1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuJG5hdmJhci1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJG5hdmJhci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICBmbG9vcigoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMikpICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAoKCRuYXZiYXItaGVpZ2h0IC0gJGxpbmUtaGVpZ2h0LWNvbXB1dGVkKSAvIDIpICFkZWZhdWx0O1xuJG5hdmJhci1jb2xsYXBzZS1tYXgtaGVpZ2h0OiAgICAgICAzNDBweCAhZGVmYXVsdDtcblxuJG5hdmJhci1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAjNzc3ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJnOiAgICAgICAgICAgICAgICAjZjhmOGY4ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJvcmRlcjogICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1kZWZhdWx0LWJnLCA2LjUlKSAhZGVmYXVsdDtcblxuLy8gTmF2YmFyIGxpbmtzXG4kbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvcjogICAgICAgICAgICAgICAgIzc3NyAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAjMzMzICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgICM1NTUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAgZGFya2VuKCRuYXZiYXItZGVmYXVsdC1iZywgNi41JSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgI2NjYyAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWJnOiAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gTmF2YmFyIGJyYW5kIGxhYmVsXG4kbmF2YmFyLWRlZmF1bHQtYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgJG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgZGFya2VuKCRuYXZiYXItZGVmYXVsdC1icmFuZC1jb2xvciwgMTAlKSAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1iZzogICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gTmF2YmFyIHRvZ2dsZVxuJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ob3Zlci1iZzogICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWljb24tYmFyLWJnOiAgICAgICAgIzg4OCAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC10b2dnbGUtYm9yZGVyLWNvbG9yOiAgICAgICAjZGRkICFkZWZhdWx0O1xuXG5cbi8vPT09IEludmVydGVkIG5hdmJhclxuLy8gUmVzZXQgaW52ZXJ0ZWQgbmF2YmFyIGJhc2ljc1xuJG5hdmJhci1pbnZlcnNlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWxpZ2h0LCAxNSUpICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAjMjIyICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1pbnZlcnNlLWJnLCAxMCUpICFkZWZhdWx0O1xuXG4vLyBJbnZlcnRlZCBuYXZiYXIgbGlua3NcbiRuYXZiYXItaW52ZXJzZS1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1saWdodCwgMTUlKSAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAgICRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1pbnZlcnNlLWJnLCAxMCUpICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAjNDQ0ICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtYmc6ICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gSW52ZXJ0ZWQgbmF2YmFyIGJyYW5kIGxhYmVsXG4kbmF2YmFyLWludmVyc2UtYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgICRuYXZiYXItaW52ZXJzZS1saW5rLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJyYW5kLWhvdmVyLWJnOiAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gSW52ZXJ0ZWQgbmF2YmFyIHRvZ2dsZVxuJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1ob3Zlci1iZzogICAgICAgICAgICAjMzMzICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1pY29uLWJhci1iZzogICAgICAgICAjZmZmICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1ib3JkZXItY29sb3I6ICAgICAgICAjMzMzICFkZWZhdWx0O1xuXG5cbi8vPT0gTmF2c1xuLy9cbi8vIyNcblxuLy89PT0gU2hhcmVkIG5hdiBzdHlsZXNcbiRuYXYtbGluay1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBweCAxNXB4ICFkZWZhdWx0O1xuJG5hdi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJG5hdi1kaXNhYmxlZC1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRuYXYtZGlzYWJsZWQtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vPT0gVGFic1xuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtanVzdGlmaWVkLWxpbmstYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtanVzdGlmaWVkLWFjdGl2ZS1saW5rLWJvcmRlci1jb2xvcjogICAgICRib2R5LWJnICFkZWZhdWx0O1xuXG4vLz09IFBpbGxzXG4kbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWFjdGl2ZS1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJG5hdi1waWxscy1hY3RpdmUtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcblxuXG4vLz09IFBhZ2luYXRpb25cbi8vXG4vLyMjXG5cbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRsaW5rLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICRsaW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYmc6ICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlcjogICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXI6ICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXI6ICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG5cbi8vPT0gUGFnZXJcbi8vXG4vLyMjXG5cbiRwYWdlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWJnICFkZWZhdWx0O1xuJHBhZ2VyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYm9yZGVyICFkZWZhdWx0O1xuJHBhZ2VyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcblxuJHBhZ2VyLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24taG92ZXItYmcgIWRlZmF1bHQ7XG5cbiRwYWdlci1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRwYWdlci1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcblxuJHBhZ2VyLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuLy89PSBKdW1ib3Ryb25cbi8vXG4vLyMjXG5cbiRqdW1ib3Ryb24tcGFkZGluZzogICAgICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kanVtYm90cm9uLWNvbG9yOiAgICAgICAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1iZzogICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiRqdW1ib3Ryb24taGVhZGluZy1jb2xvcjogICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWZvbnQtc2l6ZTogICAgICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAxLjUpKSAhZGVmYXVsdDtcbiRqdW1ib3Ryb24taGVhZGluZy1mb250LXNpemU6ICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDQuNSkpICFkZWZhdWx0O1xuXG5cbi8vPT0gRm9ybSBzdGF0ZXMgYW5kIGFsZXJ0c1xuLy9cbi8vIyMgRGVmaW5lIGNvbG9ycyBmb3IgZm9ybSBmZWVkYmFjayBzdGF0ZXMgYW5kLCBieSBkZWZhdWx0LCBhbGVydHMuXG5cbiRzdGF0ZS1zdWNjZXNzLXRleHQ6ICAgICAgICAgICAgICM1OGJlNTAgIWRlZmF1bHQ7XG4kc3RhdGUtc3VjY2Vzcy1iZzogICAgICAgICAgICAgICAjZGZmMGQ4ICFkZWZhdWx0O1xuJHN0YXRlLXN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgICAgZGFya2VuKGFkanVzdC1odWUoJHN0YXRlLXN1Y2Nlc3MtYmcsIC0xMCksIDUlKSAhZGVmYXVsdDtcblxuJHN0YXRlLWluZm8tdGV4dDogICAgICAgICAgICAgICAgIzMxNzA4ZiAhZGVmYXVsdDtcbiRzdGF0ZS1pbmZvLWJnOiAgICAgICAgICAgICAgICAgICNkOWVkZjcgIWRlZmF1bHQ7XG4kc3RhdGUtaW5mby1ib3JkZXI6ICAgICAgICAgICAgICBkYXJrZW4oYWRqdXN0LWh1ZSgkc3RhdGUtaW5mby1iZywgLTEwKSwgNyUpICFkZWZhdWx0O1xuXG4kc3RhdGUtd2FybmluZy10ZXh0OiAgICAgICAgICAgICAjOGE2ZDNiICFkZWZhdWx0O1xuJHN0YXRlLXdhcm5pbmctYmc6ICAgICAgICAgICAgICAgI2YwYzczYiAhZGVmYXVsdDtcbiRzdGF0ZS13YXJuaW5nLWJvcmRlcjogICAgICAgICAgIGRhcmtlbihhZGp1c3QtaHVlKCRzdGF0ZS13YXJuaW5nLWJnLCAtMTApLCA1JSkgIWRlZmF1bHQ7XG5cbiRzdGF0ZS1kYW5nZXItdGV4dDogICAgICAgICAgICAgICNhOTQ0NDIgIWRlZmF1bHQ7XG4kc3RhdGUtZGFuZ2VyLWJnOiAgICAgICAgICAgICAgICAjZTkzNDM0ICFkZWZhdWx0O1xuJHN0YXRlLWRhbmdlci1ib3JkZXI6ICAgICAgICAgICAgZGFya2VuKGFkanVzdC1odWUoJHN0YXRlLWRhbmdlci1iZywgLTEwKSwgNSUpICFkZWZhdWx0O1xuXG5cbi8vPT0gVG9vbHRpcHNcbi8vXG4vLyMjXG5cbi8vKiogVG9vbHRpcCBtYXggd2lkdGhcbiR0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuLy8qKiBUb29sdGlwIHRleHQgY29sb3JcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIFRvb2x0aXAgYmFja2dyb3VuZCBjb2xvclxuJHRvb2x0aXAtYmc6ICAgICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiR0b29sdGlwLW9wYWNpdHk6ICAgICAgICAgICAgIC45ICFkZWZhdWx0O1xuXG4vLyoqIFRvb2x0aXAgYXJyb3cgd2lkdGhcbiR0b29sdGlwLWFycm93LXdpZHRoOiAgICAgICAgIDVweCAhZGVmYXVsdDtcbi8vKiogVG9vbHRpcCBhcnJvdyBjb2xvclxuJHRvb2x0aXAtYXJyb3ctY29sb3I6ICAgICAgICAgJHRvb2x0aXAtYmcgIWRlZmF1bHQ7XG5cblxuLy89PSBQb3BvdmVyc1xuLy9cbi8vIyNcblxuLy8qKiBQb3BvdmVyIGJvZHkgYmFja2dyb3VuZCBjb2xvclxuJHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIG1heGltdW0gd2lkdGhcbiRwb3BvdmVyLW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgMjc2cHggIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgYm9yZGVyIGNvbG9yXG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsLjIpICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIGZhbGxiYWNrIGJvcmRlciBjb2xvclxuJHBvcG92ZXItZmFsbGJhY2stYm9yZGVyLWNvbG9yOiAgICAgICAjY2NjICFkZWZhdWx0O1xuXG4vLyoqIFBvcG92ZXIgdGl0bGUgYmFja2dyb3VuZCBjb2xvclxuJHBvcG92ZXItdGl0bGUtYmc6ICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJHBvcG92ZXItYmcsIDMlKSAhZGVmYXVsdDtcblxuLy8qKiBQb3BvdmVyIGFycm93IHdpZHRoXG4kcG9wb3Zlci1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgYXJyb3cgY29sb3JcbiRwb3BvdmVyLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICAgJHBvcG92ZXItYmcgIWRlZmF1bHQ7XG5cbi8vKiogUG9wb3ZlciBvdXRlciBhcnJvdyB3aWR0aFxuJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg6ICAgICAgICAgICAoJHBvcG92ZXItYXJyb3ctd2lkdGggKyAxKSAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBvdXRlciBhcnJvdyBjb2xvclxuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgICBmYWRlX2luKCRwb3BvdmVyLWJvcmRlci1jb2xvciwgMC4wNSkgIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgb3V0ZXIgYXJyb3cgZmFsbGJhY2sgY29sb3JcbiRwb3BvdmVyLWFycm93LW91dGVyLWZhbGxiYWNrLWNvbG9yOiAgZGFya2VuKCRwb3BvdmVyLWZhbGxiYWNrLWJvcmRlci1jb2xvciwgMjAlKSAhZGVmYXVsdDtcblxuXG4vLz09IExhYmVsc1xuLy9cbi8vIyNcblxuLy8qKiBEZWZhdWx0IGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1kZWZhdWx0LWJnOiAgICAgICAgICAgICRncmF5LWRhcmtlciAhZGVmYXVsdDtcbi8vKiogUHJpbWFyeSBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtcHJpbWFyeS1iZzogICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbi8vKiogU3VjY2VzcyBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtc3VjY2Vzcy1iZzogICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbi8vKiogSW5mbyBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtaW5mby1iZzogICAgICAgICAgICAgICAkYnJhbmQtaW5mbyAhZGVmYXVsdDtcbi8vKiogV2FybmluZyBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtd2FybmluZy1iZzogICAgICAgICAgICAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcbi8vKiogRGFuZ2VyIGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1kYW5nZXItYmc6ICAgICAgICAgICAgICRicmFuZC1kYW5nZXIgIWRlZmF1bHQ7XG5cbi8vKiogRGVmYXVsdCBsYWJlbCB0ZXh0IGNvbG9yXG4kbGFiZWwtY29sb3I6ICAgICAgICAgICAgICAgICB3aGl0ZSAhZGVmYXVsdDtcbi8vKiogRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIGEgbGlua2VkIGxhYmVsXG4kbGFiZWwtbGluay1ob3Zlci1jb2xvcjogICAgICAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcblxuXG4vLz09IE1vZGFsc1xuLy9cbi8vIyNcblxuLy8qKiBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIGJvZHlcbiRtb2RhbC1pbm5lci1wYWRkaW5nOiAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG5cbi8vKiogUGFkZGluZyBhcHBsaWVkIHRvIHRoZSBtb2RhbCB0aXRsZVxuJG1vZGFsLXRpdGxlLXBhZGRpbmc6ICAgICAgICAgMTVweCAhZGVmYXVsdDtcbi8vKiogTW9kYWwgdGl0bGUgbGluZS1oZWlnaHRcbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2YgbW9kYWwgY29udGVudCBhcmVhXG4kbW9kYWwtY29udGVudC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIGNvbnRlbnQgYm9yZGVyIGNvbG9yXG4kbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuLy8qKiBNb2RhbCBjb250ZW50IGJvcmRlciBjb2xvciAqKmZvciBJRTgqKlxuJG1vZGFsLWNvbnRlbnQtZmFsbGJhY2stYm9yZGVyLWNvbG9yOiAgICAgICAgICAjOTk5ICFkZWZhdWx0O1xuXG4vLyoqIE1vZGFsIGJhY2tkcm9wIGJhY2tncm91bmQgY29sb3JcbiRtb2RhbC1iYWNrZHJvcC1iZzogICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIGJhY2tkcm9wIG9wYWNpdHlcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgIC41ICFkZWZhdWx0O1xuLy8qKiBNb2RhbCBoZWFkZXIgYm9yZGVyIGNvbG9yXG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogICAjZTVlNWU1ICFkZWZhdWx0O1xuLy8qKiBNb2RhbCBmb290ZXIgYm9yZGVyIGNvbG9yXG4kbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogICAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJG1vZGFsLWxnOiAgICAgICAgICAgICAgICAgICAgOTAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbWQ6ICAgICAgICAgICAgICAgICAgICA2MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1zbTogICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuXG5cbi8vPT0gQWxlcnRzXG4vL1xuLy8jIyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuJGFsZXJ0LXBhZGRpbmc6ICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItcmFkaXVzOiAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG4kYWxlcnQtbGluay1mb250LXdlaWdodDogICAgICBib2xkICFkZWZhdWx0O1xuXG4kYWxlcnQtc3VjY2Vzcy1iZzogICAgICAgICAgICAkc3RhdGUtc3VjY2Vzcy1iZyAhZGVmYXVsdDtcbiRhbGVydC1zdWNjZXNzLXRleHQ6ICAgICAgICAgICRzdGF0ZS1zdWNjZXNzLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAkc3RhdGUtc3VjY2Vzcy1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRhbGVydC1pbmZvLWJnOiAgICAgICAgICAgICAgICRzdGF0ZS1pbmZvLWJnICFkZWZhdWx0O1xuJGFsZXJ0LWluZm8tdGV4dDogICAgICAgICAgICAgJHN0YXRlLWluZm8tdGV4dCAhZGVmYXVsdDtcbiRhbGVydC1pbmZvLWJvcmRlcjogICAgICAgICAgICRzdGF0ZS1pbmZvLWJvcmRlciAhZGVmYXVsdDtcblxuJGFsZXJ0LXdhcm5pbmctYmc6ICAgICAgICAgICAgJHN0YXRlLXdhcm5pbmctYmcgIWRlZmF1bHQ7XG4kYWxlcnQtd2FybmluZy10ZXh0OiAgICAgICAgICAkc3RhdGUtd2FybmluZy10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LXdhcm5pbmctYm9yZGVyOiAgICAgICAgJHN0YXRlLXdhcm5pbmctYm9yZGVyICFkZWZhdWx0O1xuXG4kYWxlcnQtZGFuZ2VyLWJnOiAgICAgICAgICAgICAkc3RhdGUtZGFuZ2VyLWJnICFkZWZhdWx0O1xuJGFsZXJ0LWRhbmdlci10ZXh0OiAgICAgICAgICAgJHN0YXRlLWRhbmdlci10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LWRhbmdlci1ib3JkZXI6ICAgICAgICAgJHN0YXRlLWRhbmdlci1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuLy89PSBQcm9ncmVzcyBiYXJzXG4vL1xuLy8jI1xuXG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIHdob2xlIHByb2dyZXNzIGNvbXBvbmVudFxuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbi8vKiogUHJvZ3Jlc3MgYmFyIHRleHQgY29sb3JcbiRwcm9ncmVzcy1iYXItY29sb3I6ICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIFZhcmlhYmxlIGZvciBzZXR0aW5nIHJvdW5kZWQgY29ybmVycyBvbiBwcm9ncmVzcyBiYXIuXG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuXG4vLyoqIERlZmF1bHQgcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLWJnOiAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbi8vKiogU3VjY2VzcyBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItc3VjY2Vzcy1iZzogICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuLy8qKiBXYXJuaW5nIHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci13YXJuaW5nLWJnOiAgICAgJGJyYW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4vLyoqIERhbmdlciBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItZGFuZ2VyLWJnOiAgICAgICRicmFuZC1kYW5nZXIgIWRlZmF1bHQ7XG4vLyoqIEluZm8gcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLWluZm8tYmc6ICAgICAgICAkYnJhbmQtaW5mbyAhZGVmYXVsdDtcblxuXG4vLz09IExpc3QgZ3JvdXBcbi8vXG4vLyMjXG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBvbiBgLmxpc3QtZ3JvdXAtaXRlbWBcbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogYC5saXN0LWdyb3VwLWl0ZW1gIGJvcmRlciBjb2xvclxuJGxpc3QtZ3JvdXAtYm9yZGVyOiAgICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuLy8qKiBMaXN0IGdyb3VwIGJvcmRlciByYWRpdXNcbiRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6ICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIHNpbmdsZSBsaXN0IGl0ZW1zIG9uIGhvdmVyXG4kbGlzdC1ncm91cC1ob3Zlci1iZzogICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4vLyoqIFRleHQgY29sb3Igb2YgYWN0aXZlIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2YgYWN0aXZlIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWFjdGl2ZS1iZzogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4vLyoqIEJvcmRlciBjb2xvciBvZiBhY3RpdmUgbGlzdCBlbGVtZW50c1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlcjogICAgICAkbGlzdC1ncm91cC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4vLyoqIFRleHQgY29sb3IgZm9yIGNvbnRlbnQgd2l0aGluIGFjdGl2ZSBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1hY3RpdmUtdGV4dC1jb2xvcjogIGxpZ2h0ZW4oJGxpc3QtZ3JvdXAtYWN0aXZlLWJnLCA0MCUpICFkZWZhdWx0O1xuXG4vLyoqIFRleHQgY29sb3Igb2YgZGlzYWJsZWQgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2YgZGlzYWJsZWQgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbi8vKiogVGV4dCBjb2xvciBmb3IgY29udGVudCB3aXRoaW4gZGlzYWJsZWQgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtdGV4dC1jb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWxpbmstY29sb3I6ICAgICAgICAgIzU1NSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWxpbmstaG92ZXItY29sb3I6ICAgJGxpc3QtZ3JvdXAtbGluay1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWxpbmstaGVhZGluZy1jb2xvcjogIzMzMyAhZGVmYXVsdDtcblxuXG4vLz09IFBhbmVsc1xuLy9cbi8vIyNcblxuJHBhbmVsLWJnOiAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYW5lbC1ib2R5LXBhZGRpbmc6ICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG4kcGFuZWwtaGVhZGluZy1wYWRkaW5nOiAgICAgICAxNXB4IDIwcHggIWRlZmF1bHQ7XG4kcGFuZWwtZm9vdGVyLXBhZGRpbmc6ICAgICAgICAkcGFuZWwtaGVhZGluZy1wYWRkaW5nICFkZWZhdWx0O1xuJHBhbmVsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcblxuLy8qKiBCb3JkZXIgY29sb3IgZm9yIGVsZW1lbnRzIHdpdGhpbiBwYW5lbHNcbiRwYW5lbC1pbm5lci1ib3JkZXI6ICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHBhbmVsLWZvb3Rlci1iZzogICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcblxuJHBhbmVsLWRlZmF1bHQtdGV4dDogICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbiRwYW5lbC1kZWZhdWx0LWJvcmRlcjogICAgICAgICNlZGVkZWQgIWRlZmF1bHQ7XG4kcGFuZWwtZGVmYXVsdC1oZWFkaW5nLWJnOiAgICAjZjVmNWY1ICFkZWZhdWx0O1xuXG4kcGFuZWwtcHJpbWFyeS10ZXh0OiAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhbmVsLXByaW1hcnktYm9yZGVyOiAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kcGFuZWwtcHJpbWFyeS1oZWFkaW5nLWJnOiAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuJHBhbmVsLXN1Y2Nlc3MtdGV4dDogICAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtdGV4dCAhZGVmYXVsdDtcbiRwYW5lbC1zdWNjZXNzLWJvcmRlcjogICAgICAgICRzdGF0ZS1zdWNjZXNzLWJvcmRlciAhZGVmYXVsdDtcbiRwYW5lbC1zdWNjZXNzLWhlYWRpbmctYmc6ICAgICRzdGF0ZS1zdWNjZXNzLWJnICFkZWZhdWx0O1xuXG4kcGFuZWwtaW5mby10ZXh0OiAgICAgICAgICAgICAkc3RhdGUtaW5mby10ZXh0ICFkZWZhdWx0O1xuJHBhbmVsLWluZm8tYm9yZGVyOiAgICAgICAgICAgJHN0YXRlLWluZm8tYm9yZGVyICFkZWZhdWx0O1xuJHBhbmVsLWluZm8taGVhZGluZy1iZzogICAgICAgJHN0YXRlLWluZm8tYmcgIWRlZmF1bHQ7XG5cbiRwYW5lbC13YXJuaW5nLXRleHQ6ICAgICAgICAgICRzdGF0ZS13YXJuaW5nLXRleHQgIWRlZmF1bHQ7XG4kcGFuZWwtd2FybmluZy1ib3JkZXI6ICAgICAgICAkc3RhdGUtd2FybmluZy1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFuZWwtd2FybmluZy1oZWFkaW5nLWJnOiAgICAkc3RhdGUtd2FybmluZy1iZyAhZGVmYXVsdDtcblxuJHBhbmVsLWRhbmdlci10ZXh0OiAgICAgICAgICAgJHN0YXRlLWRhbmdlci10ZXh0ICFkZWZhdWx0O1xuJHBhbmVsLWRhbmdlci1ib3JkZXI6ICAgICAgICAgJHN0YXRlLWRhbmdlci1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFuZWwtZGFuZ2VyLWhlYWRpbmctYmc6ICAgICAkc3RhdGUtZGFuZ2VyLWJnICFkZWZhdWx0O1xuXG5cbi8vPT0gVGh1bWJuYWlsc1xuLy9cbi8vIyNcblxuLy8qKiBQYWRkaW5nIGFyb3VuZCB0aGUgdGh1bWJuYWlsIGltYWdlXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICA0cHggIWRlZmF1bHQ7XG4vLyoqIFRodW1ibmFpbCBiYWNrZ3JvdW5kIGNvbG9yXG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbi8vKiogVGh1bWJuYWlsIGJvcmRlciBjb2xvclxuJHRodW1ibmFpbC1ib3JkZXI6ICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbi8vKiogVGh1bWJuYWlsIGJvcmRlciByYWRpdXNcbiR0aHVtYm5haWwtYm9yZGVyLXJhZGl1czogICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiogQ3VzdG9tIHRleHQgY29sb3IgZm9yIHRodW1ibmFpbCBjYXB0aW9uc1xuJHRodW1ibmFpbC1jYXB0aW9uLWNvbG9yOiAgICAgJHRleHQtY29sb3IgIWRlZmF1bHQ7XG4vLyoqIFBhZGRpbmcgYXJvdW5kIHRoZSB0aHVtYm5haWwgY2FwdGlvblxuJHRodW1ibmFpbC1jYXB0aW9uLXBhZGRpbmc6ICAgOXB4ICFkZWZhdWx0O1xuXG5cbi8vPT0gV2VsbHNcbi8vXG4vLyMjXG5cbiR3ZWxsLWJnOiAgICAgICAgICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4kd2VsbC1ib3JkZXI6ICAgICAgICAgICAgICAgICBkYXJrZW4oJHdlbGwtYmcsIDclKSAhZGVmYXVsdDtcblxuXG4vLz09IEJhZGdlc1xuLy9cbi8vIyNcblxuJGJhZGdlLWNvbG9yOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogTGlua2VkIGJhZGdlIHRleHQgY29sb3Igb24gaG92ZXJcbiRiYWRnZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYmFkZ2UtYmc6ICAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy8qKiBCYWRnZSB0ZXh0IGNvbG9yIGluIGFjdGl2ZSBuYXYgbGlua1xuJGJhZGdlLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJGxpbmstY29sb3IgIWRlZmF1bHQ7XG4vLyoqIEJhZGdlIGJhY2tncm91bmQgY29sb3IgaW4gYWN0aXZlIG5hdiBsaW5rXG4kYmFkZ2UtYWN0aXZlLWJnOiAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuXG4kYmFkZ2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICBib2xkICFkZWZhdWx0O1xuJGJhZGdlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgMSAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG5cblxuLy89PSBCcmVhZGNydW1ic1xuLy9cbi8vIyNcblxuJGJyZWFkY3J1bWItcGFkZGluZy12ZXJ0aWNhbDogICAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy1ob3Jpem9udGFsOiAwICFkZWZhdWx0O1xuLy8qKiBCcmVhZGNydW1iIGJhY2tncm91bmQgY29sb3JcbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4vLyoqIEJyZWFkY3J1bWIgdGV4dCBjb2xvclxuJGJyZWFkY3J1bWItY29sb3I6ICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuLy8qKiBUZXh0IGNvbG9yIG9mIGN1cnJlbnQgcGFnZSBpbiB0aGUgYnJlYWRjcnVtYlxuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbi8vKiogVGV4dHVhbCBzZXBhcmF0b3IgZm9yIGJldHdlZW4gYnJlYWRjcnVtYiBlbGVtZW50c1xuJGJyZWFkY3J1bWItc2VwYXJhdG9yOiAgICAgICAgICBcIj5cIiAhZGVmYXVsdDtcblxuXG4vLz09IENhcm91c2VsXG4vL1xuLy8jI1xuXG4kY2Fyb3VzZWwtdGV4dC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgICAgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjYpICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAzNXB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgICAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgIDExcHggIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuXG4vLz09IENsb3NlXG4vL1xuLy8jI1xuXG4kY2xvc2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICBib2xkICFkZWZhdWx0O1xuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRjbG9zZS10ZXh0LXNoYWRvdzogICAgICAgICAgIDAgMXB4IDAgI2ZmZiAhZGVmYXVsdDtcblxuXG4vLz09IENvZGVcbi8vXG4vLyMjXG5cbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICNjNzI1NGUgIWRlZmF1bHQ7XG4kY29kZS1iZzogICAgICAgICAgICAgICAgICAgICAjZjlmMmY0ICFkZWZhdWx0O1xuXG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGtiZC1iZzogICAgICAgICAgICAgICAgICAgICAgIzMzMyAhZGVmYXVsdDtcblxuJHByZS1iZzogICAgICAgICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbiRwcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4kcHJlLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ6ICAgMzQwcHggIWRlZmF1bHQ7XG5cblxuLy89PSBUeXBlXG4vL1xuLy8jI1xuXG4vLyoqIEhvcml6b250YWwgb2Zmc2V0IGZvciBmb3JtcyBhbmQgbGlzdHMuXG4kY29tcG9uZW50LW9mZnNldC1ob3Jpem9udGFsOiAxODBweCAhZGVmYXVsdDtcbi8vKiogVGV4dCBtdXRlZCBjb2xvclxuJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEFiYnJldmlhdGlvbnMgYW5kIGFjcm9ueW1zIGJvcmRlciBjb2xvclxuJGFiYnItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEhlYWRpbmdzIHNtYWxsIGNvbG9yXG4kaGVhZGluZ3Mtc21hbGwtY29sb3I6ICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogQmxvY2txdW90ZSBzbWFsbCBjb2xvclxuJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6ICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEJsb2NrcXVvdGUgZm9udCBzaXplXG4kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAyNHB4ICFkZWZhdWx0O1xuLy8qKiBCbG9ja3F1b3RlIGJvcmRlciBjb2xvclxuJGJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yOiAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbi8vKiogUGFnZSBoZWFkZXIgYm9yZGVyIGNvbG9yXG4kcGFnZS1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuLy8qKiBXaWR0aCBvZiBob3Jpem9udGFsIGRlc2NyaXB0aW9uIGxpc3QgdGl0bGVzXG4kZGwtaG9yaXpvbnRhbC1vZmZzZXQ6ICAgICAgICAkY29tcG9uZW50LW9mZnNldC1ob3Jpem9udGFsICFkZWZhdWx0O1xuLy8qKiBIb3Jpem9udGFsIGxpbmUgY29sb3IuXG4kaHItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuIiwiLy8gTWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgXCJtaXhpbnMvaGlkZS10ZXh0XCI7XG5AaW1wb3J0IFwibWl4aW5zL29wYWNpdHlcIjtcbkBpbXBvcnQgXCJtaXhpbnMvaW1hZ2VcIjtcbkBpbXBvcnQgXCJtaXhpbnMvbGFiZWxzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Jlc2V0LWZpbHRlclwiO1xuQGltcG9ydCBcIm1peGlucy9yZXNpemVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzcG9uc2l2ZS12aXNpYmlsaXR5XCI7XG5AaW1wb3J0IFwibWl4aW5zL3NpemVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGFiLWZvY3VzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Jlc2V0LXRleHRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dC1lbXBoYXNpc1wiO1xuQGltcG9ydCBcIm1peGlucy90ZXh0LW92ZXJmbG93XCI7XG5AaW1wb3J0IFwibWl4aW5zL3ZlbmRvci1wcmVmaXhlc1wiO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0IFwibWl4aW5zL2FsZXJ0c1wiO1xuQGltcG9ydCBcIm1peGlucy9idXR0b25zXCI7XG5AaW1wb3J0IFwibWl4aW5zL3BhbmVsc1wiO1xuQGltcG9ydCBcIm1peGlucy9wYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwibWl4aW5zL2xpc3QtZ3JvdXBcIjtcbkBpbXBvcnQgXCJtaXhpbnMvbmF2LWRpdmlkZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZm9ybXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcHJvZ3Jlc3MtYmFyXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RhYmxlLXJvd1wiO1xuXG4vLyBTa2luc1xuQGltcG9ydCBcIm1peGlucy9iYWNrZ3JvdW5kLXZhcmlhbnRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYm9yZGVyLXJhZGl1c1wiO1xuQGltcG9ydCBcIm1peGlucy9ncmFkaWVudHNcIjtcblxuLy8gTGF5b3V0XG5AaW1wb3J0IFwibWl4aW5zL2NsZWFyZml4XCI7XG5AaW1wb3J0IFwibWl4aW5zL2NlbnRlci1ibG9ja1wiO1xuQGltcG9ydCBcIm1peGlucy9uYXYtdmVydGljYWwtYWxpZ25cIjtcbkBpbXBvcnQgXCJtaXhpbnMvZ3JpZC1mcmFtZXdvcmtcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZ3JpZFwiO1xuIiwiLy8gQ1NTIGltYWdlIHJlcGxhY2VtZW50XG4vL1xuLy8gSGVhZHMgdXAhIHYzIGxhdW5jaGVkIHdpdGggb25seSBgLmhpZGUtdGV4dCgpYCwgYnV0IHBlciBvdXIgcGF0dGVybiBmb3Jcbi8vIG1peGlucyBiZWluZyByZXVzZWQgYXMgY2xhc3NlcyB3aXRoIHRoZSBzYW1lIG5hbWUsIHRoaXMgZG9lc24ndCBob2xkIHVwLiBBc1xuLy8gb2YgdjMuMC4xIHdlIGhhdmUgYWRkZWQgYC50ZXh0LWhpZGUoKWAgYW5kIGRlcHJlY2F0ZWQgYC5oaWRlLXRleHQoKWAuXG4vL1xuLy8gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9jb21taXQvYWEwMzk2ZWFlNzU3XG5cbi8vIERlcHJlY2F0ZWQgYXMgb2YgdjMuMC4xICh3aWxsIGJlIHJlbW92ZWQgaW4gdjQpXG5AbWl4aW4gaGlkZS10ZXh0KCkge1xuICBmb250OiAwLzAgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gTmV3IG1peGluIHRvIHVzZSBhcyBvZiB2My4wLjFcbkBtaXhpbiB0ZXh0LWhpZGUoKSB7XG4gIEBpbmNsdWRlIGhpZGUtdGV4dDtcbn1cbiIsIi8vIE9wYWNpdHlcblxuQG1peGluIG9wYWNpdHkoJG9wYWNpdHkpIHtcbiAgb3BhY2l0eTogJG9wYWNpdHk7XG4gIC8vIElFOCBmaWx0ZXJcbiAgJG9wYWNpdHktaWU6ICgkb3BhY2l0eSAqIDEwMCk7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0kb3BhY2l0eS1pZSk7XG59XG4iLCIvLyBJbWFnZSBNaXhpbnNcbi8vIC0gUmVzcG9uc2l2ZSBpbWFnZVxuLy8gLSBSZXRpbmEgaW1hZ2VcblxuXG4vLyBSZXNwb25zaXZlIGltYWdlXG4vL1xuLy8gS2VlcCBpbWFnZXMgZnJvbSBzY2FsaW5nIGJleW9uZCB0aGUgd2lkdGggb2YgdGhlaXIgcGFyZW50cy5cbkBtaXhpbiBpbWctcmVzcG9uc2l2ZSgkZGlzcGxheTogYmxvY2spIHtcbiAgZGlzcGxheTogJGRpc3BsYXk7XG4gIG1heC13aWR0aDogMTAwJTsgLy8gUGFydCAxOiBTZXQgYSBtYXhpbXVtIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnRcbiAgaGVpZ2h0OiBhdXRvOyAvLyBQYXJ0IDI6IFNjYWxlIHRoZSBoZWlnaHQgYWNjb3JkaW5nIHRvIHRoZSB3aWR0aCwgb3RoZXJ3aXNlIHlvdSBnZXQgc3RyZXRjaGluZ1xufVxuXG5cbi8vIFJldGluYSBpbWFnZVxuLy9cbi8vIFNob3J0IHJldGluYSBtaXhpbiBmb3Igc2V0dGluZyBiYWNrZ3JvdW5kLWltYWdlIGFuZCAtc2l6ZS4gTm90ZSB0aGF0IHRoZVxuLy8gc3BlbGxpbmcgb2YgYG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpb2AgaXMgaW50ZW50aW9uYWwuXG5AbWl4aW4gaW1nLXJldGluYSgkZmlsZS0xeCwgJGZpbGUtMngsICR3aWR0aC0xeCwgJGhlaWdodC0xeCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaWYoJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciwgdHdicy1pbWFnZS1wYXRoKFwiI3skZmlsZS0xeH1cIiksIFwiI3skZmlsZS0xeH1cIikpO1xuXG4gIEBtZWRpYVxuICBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcbiAgb25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcbiAgb25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChpZigkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyLCB0d2JzLWltYWdlLXBhdGgoXCIjeyRmaWxlLTJ4fVwiKSwgXCIjeyRmaWxlLTJ4fVwiKSk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkd2lkdGgtMXggJGhlaWdodC0xeDtcbiAgfVxufVxuIiwiLy8gTGFiZWxzXG5cbkBtaXhpbiBsYWJlbC12YXJpYW50KCRjb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG5cbiAgJltocmVmXSB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBSZXNldCBmaWx0ZXJzIGZvciBJRVxuLy9cbi8vIFdoZW4geW91IG5lZWQgdG8gcmVtb3ZlIGEgZ3JhZGllbnQgYmFja2dyb3VuZCwgZG8gbm90IGZvcmdldCB0byB1c2UgdGhpcyB0byByZXNldFxuLy8gdGhlIElFIGZpbHRlciBmb3IgSUU5IGFuZCBiZWxvdy5cblxuQG1peGluIHJlc2V0LWZpbHRlcigpIHtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZCA9IGZhbHNlKTtcbn1cbiIsIi8vIFJlc2l6ZSBhbnl0aGluZ1xuXG5AbWl4aW4gcmVzaXphYmxlKCRkaXJlY3Rpb24pIHtcbiAgcmVzaXplOiAkZGlyZWN0aW9uOyAvLyBPcHRpb25zOiBob3Jpem9udGFsLCB2ZXJ0aWNhbCwgYm90aFxuICBvdmVyZmxvdzogYXV0bzsgLy8gUGVyIENTUzMgVUksIGByZXNpemVgIG9ubHkgYXBwbGllcyB3aGVuIGBvdmVyZmxvd2AgaXNuJ3QgYHZpc2libGVgXG59XG4iLCIvLyBSZXNwb25zaXZlIHV0aWxpdGllc1xuXG4vL1xuLy8gTW9yZSBlYXNpbHkgaW5jbHVkZSBhbGwgdGhlIHN0YXRlcyBmb3IgcmVzcG9uc2l2ZS11dGlsaXRpZXMubGVzcy5cbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgkcGFyZW50KSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGFibGUjeyRwYXJlbnR9ICB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdHIjeyRwYXJlbnR9ICAgICB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRoI3skcGFyZW50fSxcbiAgdGQjeyRwYXJlbnR9ICAgICB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxufVxuXG4vLyBbY29udmVydGVyXSAkcGFyZW50IGhhY2tcbkBtaXhpbiByZXNwb25zaXZlLWludmlzaWJpbGl0eSgkcGFyZW50KSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLy8gU2l6aW5nIHNob3J0Y3V0c1xuXG5AbWl4aW4gc2l6ZSgkd2lkdGgsICRoZWlnaHQpIHtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xufVxuXG5AbWl4aW4gc3F1YXJlKCRzaXplKSB7XG4gIEBpbmNsdWRlIHNpemUoJHNpemUsICRzaXplKTtcbn1cbiIsIi8vIFdlYktpdC1zdHlsZSBmb2N1c1xuXG5AbWl4aW4gdGFiLWZvY3VzKCkge1xuICAvLyBEZWZhdWx0XG4gIG91dGxpbmU6IG5vbmU7XG4gIC8vIFdlYktpdFxuICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xufVxuIiwiQG1peGluIHJlc2V0LXRleHQoKSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvIE5PVCByZXNldCBmb250LXNpemUuXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBGYWxsYmFjayBmb3Igd2hlcmUgYHN0YXJ0YCBpcyBub3Qgc3VwcG9ydGVkXG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC13cmFwOiBub3JtYWw7XG59XG4iLCIvLyBUeXBvZ3JhcGh5XG5cbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIHRleHQtZW1waGFzaXMtdmFyaWFudCgkcGFyZW50LCAkY29sb3IpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuICBhI3skcGFyZW50fTpob3ZlcixcbiAgYSN7JHBhcmVudH06Zm9jdXMge1xuICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCIvLyBUZXh0IG92ZXJmbG93XG4vLyBSZXF1aXJlcyBpbmxpbmUtYmxvY2sgb3IgYmxvY2sgZm9yIHByb3BlciBzdHlsaW5nXG5cbkBtaXhpbiB0ZXh0LW92ZXJmbG93KCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiIsIi8vIFZlbmRvciBQcmVmaXhlc1xuLy9cbi8vIEFsbCB2ZW5kb3IgbWl4aW5zIGFyZSBkZXByZWNhdGVkIGFzIG9mIHYzLjIuMCBkdWUgdG8gdGhlIGludHJvZHVjdGlvbiBvZlxuLy8gQXV0b3ByZWZpeGVyIGluIG91ciBHcnVudGZpbGUuIFRoZXkgd2lsbCBiZSByZW1vdmVkIGluIHY0LlxuXG4vLyAtIEFuaW1hdGlvbnNcbi8vIC0gQmFja2ZhY2UgdmlzaWJpbGl0eVxuLy8gLSBCb3ggc2hhZG93XG4vLyAtIEJveCBzaXppbmdcbi8vIC0gQ29udGVudCBjb2x1bW5zXG4vLyAtIEh5cGhlbnNcbi8vIC0gUGxhY2Vob2xkZXIgdGV4dFxuLy8gLSBUcmFuc2Zvcm1hdGlvbnNcbi8vIC0gVHJhbnNpdGlvbnNcbi8vIC0gVXNlciBTZWxlY3RcblxuXG4vLyBBbmltYXRpb25zXG5AbWl4aW4gYW5pbWF0aW9uKCRhbmltYXRpb24pIHtcbiAgLXdlYmtpdC1hbmltYXRpb246ICRhbmltYXRpb247XG4gICAgICAgLW8tYW5pbWF0aW9uOiAkYW5pbWF0aW9uO1xuICAgICAgICAgIGFuaW1hdGlvbjogJGFuaW1hdGlvbjtcbn1cbkBtaXhpbiBhbmltYXRpb24tbmFtZSgkbmFtZSkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiAkbmFtZTtcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogJG5hbWU7XG59XG5AbWl4aW4gYW5pbWF0aW9uLWR1cmF0aW9uKCRkdXJhdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xufVxuQG1peGluIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24oJHRpbWluZy1mdW5jdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG4gICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbn1cbkBtaXhpbiBhbmltYXRpb24tZGVsYXkoJGRlbGF5KSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAkZGVsYXk7XG4gICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAkZGVsYXk7XG59XG5AbWl4aW4gYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCgkaXRlcmF0aW9uLWNvdW50KSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogJGl0ZXJhdGlvbi1jb3VudDtcbiAgICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAkaXRlcmF0aW9uLWNvdW50O1xufVxuQG1peGluIGFuaW1hdGlvbi1kaXJlY3Rpb24oJGRpcmVjdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG4gICAgICAgICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbkBtaXhpbiBhbmltYXRpb24tZmlsbC1tb2RlKCRmaWxsLW1vZGUpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiAkZmlsbC1tb2RlO1xuICAgICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6ICRmaWxsLW1vZGU7XG59XG5cbi8vIEJhY2tmYWNlIHZpc2liaWxpdHlcbi8vIFByZXZlbnQgYnJvd3NlcnMgZnJvbSBmbGlja2VyaW5nIHdoZW4gdXNpbmcgQ1NTIDNEIHRyYW5zZm9ybXMuXG4vLyBEZWZhdWx0IHZhbHVlIGlzIGB2aXNpYmxlYCwgYnV0IGNhbiBiZSBjaGFuZ2VkIHRvIGBoaWRkZW5gXG5cbkBtaXhpbiBiYWNrZmFjZS12aXNpYmlsaXR5KCR2aXNpYmlsaXR5KXtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbiAgICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbiAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbn1cblxuLy8gRHJvcCBzaGFkb3dzXG4vL1xuLy8gTm90ZTogRGVwcmVjYXRlZCBgLmJveC1zaGFkb3coKWAgYXMgb2YgdjMuMS4wIHNpbmNlIGFsbCBvZiBCb290c3RyYXAnc1xuLy8gc3VwcG9ydGVkIGJyb3dzZXJzIHRoYXQgaGF2ZSBib3ggc2hhZG93IGNhcGFiaWxpdGllcyBub3cgc3VwcG9ydCBpdC5cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7IC8vIGlPUyA8NC4zICYgQW5kcm9pZCA8NC4xXG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuLy8gQm94IHNpemluZ1xuQG1peGluIGJveC1zaXppbmcoJGJveG1vZGVsKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJGJveG1vZGVsO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRib3htb2RlbDtcbiAgICAgICAgICBib3gtc2l6aW5nOiAkYm94bW9kZWw7XG59XG5cbi8vIENTUzMgQ29udGVudCBDb2x1bW5zXG5AbWl4aW4gY29udGVudC1jb2x1bW5zKCRjb2x1bW4tY291bnQsICRjb2x1bW4tZ2FwOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICRjb2x1bW4tY291bnQ7XG4gICAgIC1tb3otY29sdW1uLWNvdW50OiAkY29sdW1uLWNvdW50O1xuICAgICAgICAgIGNvbHVtbi1jb3VudDogJGNvbHVtbi1jb3VudDtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkY29sdW1uLWdhcDtcbiAgICAgLW1vei1jb2x1bW4tZ2FwOiAkY29sdW1uLWdhcDtcbiAgICAgICAgICBjb2x1bW4tZ2FwOiAkY29sdW1uLWdhcDtcbn1cblxuLy8gT3B0aW9uYWwgaHlwaGVuYXRpb25cbkBtaXhpbiBoeXBoZW5zKCRtb2RlOiBhdXRvKSB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgLXdlYmtpdC1oeXBoZW5zOiAkbW9kZTtcbiAgICAgLW1vei1oeXBoZW5zOiAkbW9kZTtcbiAgICAgIC1tcy1oeXBoZW5zOiAkbW9kZTsgLy8gSUUxMCtcbiAgICAgICAtby1oeXBoZW5zOiAkbW9kZTtcbiAgICAgICAgICBoeXBoZW5zOiAkbW9kZTtcbn1cblxuLy8gUGxhY2Vob2xkZXIgdGV4dFxuQG1peGluIHBsYWNlaG9sZGVyKCRjb2xvcjogJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyKSB7XG4gIC8vIEZpcmVmb3hcbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBvcGFjaXR5OiAxOyAvLyBPdmVycmlkZSBGaXJlZm94J3MgdW51c3VhbCBkZWZhdWx0IG9wYWNpdHk7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMTUyNlxuICB9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRjb2xvcjsgfSAvLyBJbnRlcm5ldCBFeHBsb3JlciAxMCtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciAgeyBjb2xvcjogJGNvbG9yOyB9IC8vIFNhZmFyaSBhbmQgQ2hyb21lXG59XG5cbi8vIFRyYW5zZm9ybWF0aW9uc1xuQG1peGluIHNjYWxlKCRyYXRpby4uLikge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTtcbn1cblxuQG1peGluIHNjYWxlWCgkcmF0aW8pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgkcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGVYKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZVgoJHJhdGlvKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgkcmF0aW8pO1xufVxuQG1peGluIHNjYWxlWSgkcmF0aW8pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgkcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGVZKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZVkoJHJhdGlvKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWSgkcmF0aW8pO1xufVxuQG1peGluIHNrZXcoJHgsICR5KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgkeCkgc2tld1koJHkpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2tld1goJHgpIHNrZXdZKCR5KTsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvNDg4NTsgSUU5K1xuICAgICAgIC1vLXRyYW5zZm9ybTogc2tld1goJHgpIHNrZXdZKCR5KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKCR4KSBza2V3WSgkeSk7XG59XG5AbWl4aW4gdHJhbnNsYXRlKCR4LCAkeSkge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHgsICR5KTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeCwgJHkpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7XG59XG5AbWl4aW4gdHJhbnNsYXRlM2QoJHgsICR5LCAkeikge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHgsICR5LCAkeik7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KTtcbn1cbkBtaXhpbiByb3RhdGUoJGRlZ3JlZXMpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG59XG5AbWl4aW4gcm90YXRlWCgkZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWCgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVYKCRkZWdyZWVzKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVgoJGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCgkZGVncmVlcyk7XG59XG5AbWl4aW4gcm90YXRlWSgkZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVZKCRkZWdyZWVzKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVkoJGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7XG59XG5AbWl4aW4gcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSB7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmU6ICRwZXJzcGVjdGl2ZTtcbiAgICAgLW1vei1wZXJzcGVjdGl2ZTogJHBlcnNwZWN0aXZlO1xuICAgICAgICAgIHBlcnNwZWN0aXZlOiAkcGVyc3BlY3RpdmU7XG59XG5AbWl4aW4gcGVyc3BlY3RpdmUtb3JpZ2luKCRwZXJzcGVjdGl2ZSkge1xuICAtd2Via2l0LXBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xuICAgICAtbW96LXBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xuICAgICAgICAgIHBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xufVxuQG1peGluIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbikge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG4gICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbiAgICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luOyAvLyBJRTkgb25seVxuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG59XG5cblxuLy8gVHJhbnNpdGlvbnNcblxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICAgICAtby10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLXByb3BlcnR5KCR0cmFuc2l0aW9uLXByb3BlcnR5Li4uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHRyYW5zaXRpb24tcHJvcGVydHk7XG4gICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHRyYW5zaXRpb24tcHJvcGVydHk7XG59XG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSgkdHJhbnNpdGlvbi1kZWxheSkge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6ICR0cmFuc2l0aW9uLWRlbGF5O1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6ICR0cmFuc2l0aW9uLWRlbGF5O1xufVxuQG1peGluIHRyYW5zaXRpb24tZHVyYXRpb24oJHRyYW5zaXRpb24tZHVyYXRpb24uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbigkdGltaW5nLWZ1bmN0aW9uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG4gICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG59XG5AbWl4aW4gdHJhbnNpdGlvbi10cmFuc2Zvcm0oJHRyYW5zaXRpb24uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgICAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgICAgICAtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xufVxuXG5cbi8vIFVzZXIgc2VsZWN0XG4vLyBGb3Igc2VsZWN0aW5nIHRleHQgb24gdGhlIHBhZ2VcblxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QpIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDsgLy8gSUUxMCtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcbn1cbiIsIi8vIEFsZXJ0c1xuXG5AbWl4aW4gYWxlcnQtdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJHRleHQtY29sb3IpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuXG4gIGhyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgNSUpO1xuICB9XG4gIC5hbGVydC1saW5rIHtcbiAgICBjb2xvcjogZGFya2VuKCR0ZXh0LWNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCIvLyBCdXR0b24gdmFyaWFudHNcbi8vXG4vLyBFYXNpbHkgcHVtcCBvdXQgZGVmYXVsdCBzdHlsZXMsIGFzIHdlbGwgYXMgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsXG4vLyBhbmQgZGlzYWJsZWQgb3B0aW9ucyBmb3IgYWxsIGJ1dHRvbnNcblxuQG1peGluIGJ1dHRvbi12YXJpYW50KCRjb2xvciwgJGJhY2tncm91bmQsICRib3JkZXIpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgMTAlKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgMjUlKTtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgMTAlKTtcbiAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLCAxMiUpO1xuICB9XG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgLm9wZW4gPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDEwJSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRib3JkZXIsIDEyJSk7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCAxNyUpO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRib3JkZXIsIDI1JSk7XG4gICAgfVxuICB9XG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgLm9wZW4gPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICYsXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMsXG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgfVxuXG4gIC5iYWRnZSB7XG4gICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLyBCdXR0b24gc2l6ZXNcbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZy12ZXJ0aWNhbCwgJHBhZGRpbmctaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICBwYWRkaW5nOiAkcGFkZGluZy12ZXJ0aWNhbCAkcGFkZGluZy1ob3Jpem9udGFsO1xuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuIiwiLy8gUGFuZWxzXG5cbkBtaXhpbiBwYW5lbC12YXJpYW50KCRib3JkZXIsICRoZWFkaW5nLXRleHQtY29sb3IsICRoZWFkaW5nLWJnLWNvbG9yLCAkaGVhZGluZy1ib3JkZXIpIHtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gICYgPiAucGFuZWwtaGVhZGluZyB7XG4gICAgY29sb3I6ICRoZWFkaW5nLXRleHQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRpbmctYmctY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkaGVhZGluZy1ib3JkZXI7XG5cbiAgICArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRib3JkZXI7XG4gICAgfVxuICAgIC5iYWRnZSB7XG4gICAgICBjb2xvcjogJGhlYWRpbmctYmctY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGluZy10ZXh0LWNvbG9yO1xuICAgIH1cbiAgfVxuICAmID4gLnBhbmVsLWZvb3RlciB7XG4gICAgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUGFnaW5hdGlvblxuXG5AbWl4aW4gcGFnaW5hdGlvbi1zaXplKCRwYWRkaW5nLXZlcnRpY2FsLCAkcGFkZGluZy1ob3Jpem9udGFsLCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gID4gbGkge1xuICAgID4gYSxcbiAgICA+IHNwYW4ge1xuICAgICAgcGFkZGluZzogJHBhZGRpbmctdmVydGljYWwgJHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgfVxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgPiBhLFxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgID4gYSxcbiAgICAgID4gc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gTGlzdCBHcm91cHNcblxuQG1peGluIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQsICRjb2xvcikge1xuICAubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICAgIC8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCBhJiwgYnV0dG9uJiB0byBhLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0sIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9XG4gIH1cblxuICBhLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0sXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG4gICAgfVxuICAgICYuYWN0aXZlLFxuICAgICYuYWN0aXZlOmhvdmVyLFxuICAgICYuYWN0aXZlOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG59XG4iLCIvLyBIb3Jpem9udGFsIGRpdmlkZXJzXG4vL1xuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBocikgd2l0aGluIGRyb3Bkb3ducyBhbmQgbmF2IGxpc3RzXG5cbkBtaXhpbiBuYXYtZGl2aWRlcigkY29sb3I6ICNlNWU1ZTUpIHtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogKCgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKSAtIDEpIDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbn1cbiIsIi8vIEZvcm0gdmFsaWRhdGlvbiBzdGF0ZXNcbi8vXG4vLyBVc2VkIGluIGZvcm1zLmxlc3MgdG8gZ2VuZXJhdGUgdGhlIGZvcm0gdmFsaWRhdGlvbiBDU1MgZm9yIHdhcm5pbmdzLCBlcnJvcnMsXG4vLyBhbmQgc3VjY2Vzc2VzLlxuXG5AbWl4aW4gZm9ybS1jb250cm9sLXZhbGlkYXRpb24oJHRleHQtY29sb3I6ICM1NTUsICRib3JkZXItY29sb3I6ICNjY2MsICRiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1KSB7XG4gIC8vIENvbG9yIHRoZSBsYWJlbCBhbmQgaGVscCB0ZXh0XG4gIC5oZWxwLWJsb2NrLFxuICAuY29udHJvbC1sYWJlbCxcbiAgLnJhZGlvLFxuICAuY2hlY2tib3gsXG4gIC5yYWRpby1pbmxpbmUsXG4gIC5jaGVja2JveC1pbmxpbmUsXG4gICYucmFkaW8gbGFiZWwsXG4gICYuY2hlY2tib3ggbGFiZWwsXG4gICYucmFkaW8taW5saW5lIGxhYmVsLFxuICAmLmNoZWNrYm94LWlubGluZSBsYWJlbCAge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgfVxuICAvLyBTZXQgdGhlIGJvcmRlciBhbmQgYm94IHNoYWRvdyBvbiBzcGVjaWZpYyBpbnB1dHMgdG8gbWF0Y2hcbiAgLmZvcm0tY29udHJvbCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSkpOyAvLyBSZWRlY2xhcmUgc28gdHJhbnNpdGlvbnMgd29ya1xuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlci1jb2xvciwgMTAlKTtcbiAgICAgICRzaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLCAwIDAgNnB4IGxpZ2h0ZW4oJGJvcmRlci1jb2xvciwgMjAlKTtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJHNoYWRvdyk7XG4gICAgfVxuICB9XG4gIC8vIFNldCB2YWxpZGF0aW9uIHN0YXRlcyBhbHNvIGZvciBhZGRvbnNcbiAgLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuICB9XG4gIC8vIE9wdGlvbmFsIGZlZWRiYWNrIGljb25cbiAgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICB9XG59XG5cblxuLy8gRm9ybSBjb250cm9sIGZvY3VzIHN0YXRlXG4vL1xuLy8gR2VuZXJhdGUgYSBjdXN0b21pemVkIGZvY3VzIHN0YXRlIGFuZCBmb3IgYW55IGlucHV0IHdpdGggdGhlIHNwZWNpZmllZCBjb2xvcixcbi8vIHdoaWNoIGRlZmF1bHRzIHRvIHRoZSBgJGlucHV0LWJvcmRlci1mb2N1c2AgdmFyaWFibGUuXG4vL1xuLy8gV2UgaGlnaGx5IGVuY291cmFnZSB5b3UgdG8gbm90IGN1c3RvbWl6ZSB0aGUgZGVmYXVsdCB2YWx1ZSwgYnV0IGluc3RlYWQgdXNlXG4vLyB0aGlzIHRvIHR3ZWFrIGNvbG9ycyBvbiBhbiBhcy1uZWVkZWQgYmFzaXMuIFRoaXMgYWVzdGhldGljIGNoYW5nZSBpcyBiYXNlZCBvblxuLy8gV2ViS2l0J3MgZGVmYXVsdCBzdHlsZXMsIGJ1dCBhcHBsaWNhYmxlIHRvIGEgd2lkZXIgcmFuZ2Ugb2YgYnJvd3NlcnMuIEl0c1xuLy8gdXNhYmlsaXR5IGFuZCBhY2Nlc3NpYmlsaXR5IHNob3VsZCBiZSB0YWtlbiBpbnRvIGFjY291bnQgd2l0aCBhbnkgY2hhbmdlLlxuLy9cbi8vIEV4YW1wbGUgdXNhZ2U6IGNoYW5nZSB0aGUgZGVmYXVsdCBibHVlIGJvcmRlciBhbmQgc2hhZG93IHRvIHdoaXRlIGZvciBiZXR0ZXJcbi8vIGNvbnRyYXN0IGFnYWluc3QgYSBkYXJrIGdyYXkgYmFja2dyb3VuZC5cbkBtaXhpbiBmb3JtLWNvbnRyb2wtZm9jdXMoJGNvbG9yOiAkaW5wdXQtYm9yZGVyLWZvY3VzKSB7XG4gICRjb2xvci1yZ2JhOiByZ2JhKHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvciksIC42KTtcbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cbi8vIEZvcm0gY29udHJvbCBzaXppbmdcbi8vXG4vLyBSZWxhdGl2ZSB0ZXh0IHNpemUsIHBhZGRpbmcsIGFuZCBib3JkZXItcmFkaWkgY2hhbmdlcyBmb3IgZm9ybSBjb250cm9scy4gRm9yXG4vLyBob3Jpem9udGFsIHNpemluZywgd3JhcCBjb250cm9scyBpbiB0aGUgcHJlZGVmaW5lZCBncmlkIGNsYXNzZXMuIGA8c2VsZWN0PmBcbi8vIGVsZW1lbnQgZ2V0cyBzcGVjaWFsIGxvdmUgYmVjYXVzZSBpdCdzIHNwZWNpYWwsIGFuZCB0aGF0J3MgYSBmYWN0IVxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gaW5wdXQtc2l6ZSgkcGFyZW50LCAkaW5wdXQtaGVpZ2h0LCAkcGFkZGluZy12ZXJ0aWNhbCwgJHBhZGRpbmctaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICAjeyRwYXJlbnR9IHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gICAgcGFkZGluZzogJHBhZGRpbmctdmVydGljYWwgJHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gIHNlbGVjdCN7JHBhcmVudH0ge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgfVxuXG4gIHRleHRhcmVhI3skcGFyZW50fSxcbiAgc2VsZWN0W211bHRpcGxlXSN7JHBhcmVudH0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuIiwiLy8gUHJvZ3Jlc3MgYmFyc1xuXG5AbWl4aW4gcHJvZ3Jlc3MtYmFyLXZhcmlhbnQoJGNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcblxuICAvLyBEZXByZWNhdGVkIHBhcmVudCBjbGFzcyByZXF1aXJlbWVudCBhcyBvZiB2My4yLjBcbiAgLnByb2dyZXNzLXN0cmlwZWQgJiB7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtc3RyaXBlZDtcbiAgfVxufVxuIiwiLy8gVGFibGVzXG5cbkBtaXhpbiB0YWJsZS1yb3ctdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kKSB7XG4gIC8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4gIC8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG4gIC50YWJsZSA+IHRoZWFkID4gdHIsXG4gIC50YWJsZSA+IHRib2R5ID4gdHIsXG4gIC50YWJsZSA+IHRmb290ID4gdHIge1xuICAgID4gdGQuI3skc3RhdGV9LFxuICAgID4gdGguI3skc3RhdGV9LFxuICAgICYuI3skc3RhdGV9ID4gdGQsXG4gICAgJi4jeyRzdGF0ZX0gPiB0aCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZXMgZm9yIGAudGFibGUtaG92ZXJgXG4gIC8vIE5vdGU6IHRoaXMgaXMgbm90IGF2YWlsYWJsZSBmb3IgY2VsbHMgb3Igcm93cyB3aXRoaW4gYHRoZWFkYCBvciBgdGZvb3RgLlxuICAudGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyIHtcbiAgICA+IHRkLiN7JHN0YXRlfTpob3ZlcixcbiAgICA+IHRoLiN7JHN0YXRlfTpob3ZlcixcbiAgICAmLiN7JHN0YXRlfTpob3ZlciA+IHRkLFxuICAgICY6aG92ZXIgPiAuI3skc3RhdGV9LFxuICAgICYuI3skc3RhdGV9OmhvdmVyID4gdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG5cbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIGJnLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG4gIGEjeyRwYXJlbnR9OmhvdmVyLFxuICBhI3skcGFyZW50fTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1cykge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG59XG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbn1cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzKSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbn1cbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xufVxuIiwiLy8gR3JhZGllbnRzXG5cblxuXG4vLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuLy8gQ29sb3Igc3RvcHMgYXJlIG5vdCBhdmFpbGFibGUgaW4gSUU5IGFuZCBiZWxvdy5cbkBtaXhpbiBncmFkaWVudC1ob3Jpem9udGFsKCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzMzMywgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIFNhZmFyaSA1LjEtNiwgQ2hyb21lIDEwK1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIE9wZXJhIDEyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIFN0YW5kYXJkLCBJRTEwLCBGaXJlZm94IDE2KywgT3BlcmEgMTIuMTArLCBTYWZhcmkgNyssIENocm9tZSAyNitcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0xKTsgLy8gSUU5IGFuZCBkb3duXG59XG5cbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuLy8gQ29sb3Igc3RvcHMgYXJlIG5vdCBhdmFpbGFibGUgaW4gSUU5IGFuZCBiZWxvdy5cbkBtaXhpbiBncmFkaWVudC12ZXJ0aWNhbCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7ICAvLyBTYWZhcmkgNS4xLTYsIENocm9tZSAxMCtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7ICAvLyBPcGVyYSAxMlxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgLy8gU3RhbmRhcmQsIElFMTAsIEZpcmVmb3ggMTYrLCBPcGVyYSAxMi4xMCssIFNhZmFyaSA3KywgQ2hyb21lIDI2K1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnQtY29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZC1jb2xvcil9JywgR3JhZGllbnRUeXBlPTApOyAvLyBJRTkgYW5kIGRvd25cbn1cblxuQG1peGluIGdyYWRpZW50LWRpcmVjdGlvbmFsKCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzMzMywgJGRlZzogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpOyAvLyBTYWZhcmkgNS4xLTYsIENocm9tZSAxMCtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7IC8vIE9wZXJhIDEyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXG59XG5AbWl4aW4gZ3JhZGllbnQtaG9yaXpvbnRhbC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAjMDBiM2VlLCAkbWlkLWNvbG9yOiAjN2E0M2I2LCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAjYzMzMjVmKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnQtY29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZC1jb2xvcil9JywgR3JhZGllbnRUeXBlPTEpOyAvLyBJRTkgYW5kIGRvd24sIGdldHMgbm8gY29sb3Itc3RvcCBhdCBhbGwgZm9yIHByb3BlciBmYWxsYmFja1xufVxuQG1peGluIGdyYWRpZW50LXZlcnRpY2FsLXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICMwMGIzZWUsICRtaWQtY29sb3I6ICM3YTQzYjYsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICNjMzMyNWYpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0wKTsgLy8gSUU5IGFuZCBkb3duLCBnZXRzIG5vIGNvbG9yLXN0b3AgYXQgYWxsIGZvciBwcm9wZXIgZmFsbGJhY2tcbn1cbkBtaXhpbiBncmFkaWVudC1yYWRpYWwoJGlubmVyLWNvbG9yOiAjNTU1LCAkb3V0ZXItY29sb3I6ICMzMzMpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbn1cbiIsIi8vIENsZWFyZml4XG4vL1xuLy8gRm9yIG1vZGVybiBicm93c2Vyc1xuLy8gMS4gVGhlIHNwYWNlIGNvbnRlbnQgaXMgb25lIHdheSB0byBhdm9pZCBhbiBPcGVyYSBidWcgd2hlbiB0aGVcbi8vICAgIGNvbnRlbnRlZGl0YWJsZSBhdHRyaWJ1dGUgaXMgaW5jbHVkZWQgYW55d2hlcmUgZWxzZSBpbiB0aGUgZG9jdW1lbnQuXG4vLyAgICBPdGhlcndpc2UgaXQgY2F1c2VzIHNwYWNlIHRvIGFwcGVhciBhdCB0aGUgdG9wIGFuZCBib3R0b20gb2YgZWxlbWVudHNcbi8vICAgIHRoYXQgYXJlIGNsZWFyZml4ZWQuXG4vLyAyLiBUaGUgdXNlIG9mIGB0YWJsZWAgcmF0aGVyIHRoYW4gYGJsb2NrYCBpcyBvbmx5IG5lY2Vzc2FyeSBpZiB1c2luZ1xuLy8gICAgYDpiZWZvcmVgIHRvIGNvbnRhaW4gdGhlIHRvcC1tYXJnaW5zIG9mIGNoaWxkIGVsZW1lbnRzLlxuLy9cbi8vIFNvdXJjZTogaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svXG5cbkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiOyAvLyAxXG4gICAgZGlzcGxheTogdGFibGU7IC8vIDJcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuIiwiLy8gQ2VudGVyLWFsaWduIGEgYmxvY2sgbGV2ZWwgZWxlbWVudFxuXG5AbWl4aW4gY2VudGVyLWJsb2NrKCkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbiIsIi8vIE5hdmJhciB2ZXJ0aWNhbCBhbGlnblxuLy9cbi8vIFZlcnRpY2FsbHkgY2VudGVyIGVsZW1lbnRzIGluIHRoZSBuYXZiYXIuXG4vLyBFeGFtcGxlOiBhbiBlbGVtZW50IGhhcyBhIGhlaWdodCBvZiAzMHB4LCBzbyB3cml0ZSBvdXQgYC5uYXZiYXItdmVydGljYWwtYWxpZ24oMzBweCk7YCB0byBjYWxjdWxhdGUgdGhlIGFwcHJvcHJpYXRlIHRvcCBtYXJnaW4uXG5cbkBtaXhpbiBuYXZiYXItdmVydGljYWwtYWxpZ24oJGVsZW1lbnQtaGVpZ2h0KSB7XG4gIG1hcmdpbi10b3A6ICgoJG5hdmJhci1oZWlnaHQgLSAkZWxlbWVudC1oZWlnaHQpIC8gMik7XG4gIG1hcmdpbi1ib3R0b206ICgoJG5hdmJhci1oZWlnaHQgLSAkZWxlbWVudC1oZWlnaHQpIC8gMik7XG59XG4iLCIvLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG4vLyBbY29udmVydGVyXSBUaGlzIGlzIGRlZmluZWQgcmVjdXJzaXZlbHkgaW4gTEVTUywgYnV0IFNhc3Mgc3VwcG9ydHMgcmVhbCBsb29wc1xuQG1peGluIG1ha2UtZ3JpZC1jb2x1bW5zKCRpOiAxLCAkbGlzdDogXCIuY29sLXhzLSN7JGl9LCAuY29sLXNtLSN7JGl9LCAuY29sLW1kLSN7JGl9LCAuY29sLWxnLSN7JGl9XCIpIHtcbiAgQGZvciAkaSBmcm9tICgxICsgMSkgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAkbGlzdDogXCIjeyRsaXN0fSwgLmNvbC14cy0jeyRpfSwgLmNvbC1zbS0jeyRpfSwgLmNvbC1tZC0jeyRpfSwgLmNvbC1sZy0jeyRpfVwiO1xuICB9XG4gICN7JGxpc3R9IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gY29sbGFwc2luZyB3aGVuIGVtcHR5XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIC8vIElubmVyIGd1dHRlciB2aWEgcGFkZGluZ1xuICAgIHBhZGRpbmctbGVmdDogIGNlaWwoKCRncmlkLWd1dHRlci13aWR0aCAvIDIpKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBmbG9vcigoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMikpO1xuICB9XG59XG5cblxuLy8gW2NvbnZlcnRlcl0gVGhpcyBpcyBkZWZpbmVkIHJlY3Vyc2l2ZWx5IGluIExFU1MsIGJ1dCBTYXNzIHN1cHBvcnRzIHJlYWwgbG9vcHNcbkBtaXhpbiBmbG9hdC1ncmlkLWNvbHVtbnMoJGNsYXNzLCAkaTogMSwgJGxpc3Q6IFwiLmNvbC0jeyRjbGFzc30tI3skaX1cIikge1xuICBAZm9yICRpIGZyb20gKDEgKyAxKSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICRsaXN0OiBcIiN7JGxpc3R9LCAuY29sLSN7JGNsYXNzfS0jeyRpfVwiO1xuICB9XG4gICN7JGxpc3R9IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxufVxuXG5cbkBtaXhpbiBjYWxjLWdyaWQtY29sdW1uKCRpbmRleCwgJGNsYXNzLCAkdHlwZSkge1xuICBAaWYgKCR0eXBlID09IHdpZHRoKSBhbmQgKCRpbmRleCA+IDApIHtcbiAgICAuY29sLSN7JGNsYXNzfS0jeyRpbmRleH0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRpbmRleCAvICRncmlkLWNvbHVtbnMpKTtcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBwdXNoKSBhbmQgKCRpbmRleCA+IDApIHtcbiAgICAuY29sLSN7JGNsYXNzfS1wdXNoLSN7JGluZGV4fSB7XG4gICAgICBsZWZ0OiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gcHVzaCkgYW5kICgkaW5kZXggPT0gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LXB1c2gtMCB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBAaWYgKCR0eXBlID09IHB1bGwpIGFuZCAoJGluZGV4ID4gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LXB1bGwtI3skaW5kZXh9IHtcbiAgICAgIHJpZ2h0OiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gcHVsbCkgYW5kICgkaW5kZXggPT0gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LXB1bGwtMCB7XG4gICAgICByaWdodDogYXV0bztcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBvZmZzZXQpIHtcbiAgICAuY29sLSN7JGNsYXNzfS1vZmZzZXQtI3skaW5kZXh9IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG59XG5cbi8vIFtjb252ZXJ0ZXJdIFRoaXMgaXMgZGVmaW5lZCByZWN1cnNpdmVseSBpbiBMRVNTLCBidXQgU2FzcyBzdXBwb3J0cyByZWFsIGxvb3BzXG5AbWl4aW4gbG9vcC1ncmlkLWNvbHVtbnMoJGNvbHVtbnMsICRjbGFzcywgJHR5cGUpIHtcbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgQGluY2x1ZGUgY2FsYy1ncmlkLWNvbHVtbigkaSwgJGNsYXNzLCAkdHlwZSk7XG4gIH1cbn1cblxuXG4vLyBDcmVhdGUgZ3JpZCBmb3Igc3BlY2lmaWMgY2xhc3NcbkBtaXhpbiBtYWtlLWdyaWQoJGNsYXNzKSB7XG4gIEBpbmNsdWRlIGZsb2F0LWdyaWQtY29sdW1ucygkY2xhc3MpO1xuICBAaW5jbHVkZSBsb29wLWdyaWQtY29sdW1ucygkZ3JpZC1jb2x1bW5zLCAkY2xhc3MsIHdpZHRoKTtcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCBwdWxsKTtcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCBwdXNoKTtcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCBvZmZzZXQpO1xufVxuIiwiLy8gR3JpZCBzeXN0ZW1cbi8vXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXG5cbi8vIENlbnRlcmVkIGNvbnRhaW5lciBlbGVtZW50XG5AbWl4aW4gY29udGFpbmVyLWZpeGVkKCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBwYWRkaW5nLWxlZnQ6ICAoJGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cblxuLy8gQ3JlYXRlcyBhIHdyYXBwZXIgZm9yIGEgc2VyaWVzIG9mIGNvbHVtbnNcbkBtaXhpbiBtYWtlLXJvdygkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgbWFyZ2luLWxlZnQ6ICBjZWlsKCgkZ3V0dGVyIC8gLTIpKTtcbiAgbWFyZ2luLXJpZ2h0OiBmbG9vcigoJGd1dHRlciAvIC0yKSk7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4vLyBHZW5lcmF0ZSB0aGUgZXh0cmEgc21hbGwgY29sdW1uc1xuQG1peGluIG1ha2UteHMtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG59XG5AbWl4aW4gbWFrZS14cy1jb2x1bW4tb2Zmc2V0KCRjb2x1bW5zKSB7XG4gIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbn1cbkBtaXhpbiBtYWtlLXhzLWNvbHVtbi1wdXNoKCRjb2x1bW5zKSB7XG4gIGxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xufVxuQG1peGluIG1ha2UteHMtY29sdW1uLXB1bGwoJGNvbHVtbnMpIHtcbiAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xufVxuXG4vLyBHZW5lcmF0ZSB0aGUgc21hbGwgY29sdW1uc1xuQG1peGluIG1ha2Utc20tY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1zbS1jb2x1bW4tb2Zmc2V0KCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2Utc20tY29sdW1uLXB1c2goJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLXNtLWNvbHVtbi1wdWxsKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuXG4vLyBHZW5lcmF0ZSB0aGUgbWVkaXVtIGNvbHVtbnNcbkBtaXhpbiBtYWtlLW1kLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6ICAoJGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbWQtY29sdW1uLW9mZnNldCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLW1kLWNvbHVtbi1wdXNoKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1tZC1jb2x1bW4tcHVsbCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICByaWdodDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cblxuLy8gR2VuZXJhdGUgdGhlIGxhcmdlIGNvbHVtbnNcbkBtaXhpbiBtYWtlLWxnLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6ICAoJGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbGctY29sdW1uLW9mZnNldCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLWxnLWNvbHVtbi1wdXNoKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1sZy1jb2x1bW4tcHVsbCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICByaWdodDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbiIsIi8qKlxuICogSW1wb3J0IGNvbXBvbmVudCB2YXJpYWJsZXNcbiAqL1xuQGltcG9ydCAnbWl4aW5zL3J0bCc7IFxuQGltcG9ydCAnbWl4aW5zL2Z1bmN0aW9ucyc7XG5AaW1wb3J0ICdtaXhpbnMvdGVtcGxhdGUtbWl4aW5zJzsiLCIvLyBTdXBwb3J0IGZvciBSVEwgKFJpZ2h0IHRvIExlZnQpICYgbm9uLWxhdGluIGZvbnRzXHJcblxyXG4kcnRsLWxlZnQgOiBsZWZ0O1xyXG4kcnRsLXJpZ2h0IDogcmlnaHQ7XHJcbiRydGwtY2VudGVyOiBjZW50ZXI7XHJcblxyXG4vLyBCQVNJQyBDT05WRVJURVIgKGlnbm9yZSB0aGVzZSlcclxuXHJcbkBtaXhpbiBydGwtYmFzZS1zaW1wbGUgKCRwcm9wZXJ0eSwgJGRpcmVjdGlvbikge1xyXG4gICN7JHByb3BlcnR5fTokZGlyZWN0aW9uO1xyXG4gIC5ydGwgJiB7XHJcbiAgICBAaWYgJGRpcmVjdGlvbiA9PSAkcnRsLXJpZ2h0IHtcclxuICAgICAgI3skcHJvcGVydHl9OiRydGwtbGVmdDtcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgI3skcHJvcGVydHl9OiRydGwtcmlnaHQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbkBtaXhpbiBydGwtYmFzZS1pbmhlcml0ICgkcHJvcGVydHksICRkaXJlY3Rpb24sICR2YWx1ZSwgJGluaGVyaXQgOiBpbmhlcml0KSB7XHJcbiAgI3skcHJvcGVydHl9LSN7JGRpcmVjdGlvbn06ICR2YWx1ZTtcclxuICAucnRsICYge1xyXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gJHJ0bC1yaWdodCB7XHJcbiAgICAgICN7JHByb3BlcnR5fS0jeyRydGwtbGVmdH06ICR2YWx1ZTtcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgI3skcHJvcGVydHl9LSN7JHJ0bC1yaWdodH06ICR2YWx1ZTtcclxuICAgIH1cclxuICAgICN7JHByb3BlcnR5fS0jeyRkaXJlY3Rpb259OiAkaW5oZXJpdDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBydGwtYmFzZS10b3ByaWdodGJvdHRvbWxlZnQgKCRwcm9wZXJ0eSwgJHQsICRyLCAkYiwgJGwpIHtcclxuICAjeyRwcm9wZXJ0eX06ICR0ICRyICRiICRsO1xyXG4gIC5ydGwgJiB7XHJcbiAgICAjeyRwcm9wZXJ0eX06ICR0ICRsICRiICRyO1xyXG4gIH1cclxufVxyXG5cclxuLy8gQk9EWSBTVFlMRVNcclxuXHJcbkBtaXhpbiBydGwtZGlyZWN0aW9uICgkZm9yQm9keSA6IHRydWUpIHtcclxuICBkaXJlY3Rpb246IGx0cjtcclxuICBAaWYgJGZvckJvZHkge1xyXG4gICAgJi5ydGwge1xyXG4gICAgICBkaXJlY3Rpb246IHJ0bDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgLnJ0bCAmIHtcclxuICAgICAgZGlyZWN0aW9uOiBydGw7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcnRsLWZvbnQtZmFtaWx5ICgkbHRyLCAkcnRsLCAkZm9yQm9keSA6IGZhbHNlKSB7XHJcbiAgZm9udC1mYW1pbHk6ICRsdHI7XHJcbiAgQGlmICRmb3JCb2R5IHtcclxuICAgICYucnRsLCAmLm5vbi1sYXRpbiB7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiRydGw7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIC5ydGwgJiwgLm5vbi1sYXRpbiAmIHtcclxuICAgICAgZm9udC1mYW1pbHk6JHJ0bDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBNQVJHSU5cclxuXHJcbkBtaXhpbiBydGwtbWFyZ2luICgkdCwgJHIsICRiLCAkbCkge1xyXG4gIEBpbmNsdWRlIHJ0bC1iYXNlLXRvcHJpZ2h0Ym90dG9tbGVmdChtYXJnaW4sJHQsICRyLCAkYiwgJGwpO1xyXG59XHJcbkBtaXhpbiBydGwtbWFyZ2luLWxlZnQgKCR2YWx1ZSkge1xyXG4gIEBpbmNsdWRlIHJ0bC1iYXNlLWluaGVyaXQobWFyZ2luLCRydGwtbGVmdCwkdmFsdWUpO1xyXG59XHJcbkBtaXhpbiBydGwtbWFyZ2luLXJpZ2h0ICgkdmFsdWUpIHtcclxuICBAaW5jbHVkZSBydGwtYmFzZS1pbmhlcml0KG1hcmdpbiwkcnRsLXJpZ2h0LCR2YWx1ZSk7XHJcbn1cclxuXHJcbi8vIFBBRERJTkdcclxuXHJcbkBtaXhpbiBydGwtcGFkZGluZyAoJHQsICRyLCAkYiwgJGwpIHtcclxuICBAaW5jbHVkZSBydGwtYmFzZS10b3ByaWdodGJvdHRvbWxlZnQocGFkZGluZywkdCwgJHIsICRiLCAkbCk7XHJcbn1cclxuQG1peGluIHJ0bC1wYWRkaW5nLWxlZnQgKCR2YWx1ZSkge1xyXG4gIEBpbmNsdWRlIHJ0bC1iYXNlLWluaGVyaXQocGFkZGluZywkcnRsLWxlZnQsJHZhbHVlKTtcclxufVxyXG5AbWl4aW4gcnRsLXBhZGRpbmctcmlnaHQgKCR2YWx1ZSkge1xyXG4gIEBpbmNsdWRlIHJ0bC1iYXNlLWluaGVyaXQocGFkZGluZywkcnRsLXJpZ2h0LCR2YWx1ZSk7XHJcbn1cclxuXHJcbi8vIEJPUkRFUlxyXG5cclxuQG1peGluIHJ0bC1ib3JkZXItbGVmdCAoJHZhbHVlKSB7XHJcbiAgQGluY2x1ZGUgcnRsLWJhc2UtaW5oZXJpdChib3JkZXIsJHJ0bC1sZWZ0LCR2YWx1ZSk7XHJcbn1cclxuQG1peGluIHJ0bC1ib3JkZXItcmlnaHQgKCR2YWx1ZSkge1xyXG4gIEBpbmNsdWRlIHJ0bC1iYXNlLWluaGVyaXQoYm9yZGVyLCRydGwtcmlnaHQsJHZhbHVlKTtcclxufVxyXG5cclxuLy8gUE9TSVRJT05cclxuXHJcbkBtaXhpbiBydGwtbGVmdCAoJHZhbHVlKSB7XHJcbiAgI3skcnRsLWxlZnR9OiAkdmFsdWU7XHJcbiAgLnJ0bCAmIHtcclxuICAgICN7JHJ0bC1yaWdodH06ICR2YWx1ZTtcclxuICAgICN7JHJ0bC1sZWZ0fTogYXV0bztcclxuICB9XHJcbn1cclxuQG1peGluIHJ0bC1yaWdodCAoJHZhbHVlKSB7XHJcbiAgI3skcnRsLXJpZ2h0fTogJHZhbHVlO1xyXG4gIC5ydGwgJiB7XHJcbiAgICAjeyRydGwtbGVmdH06ICR2YWx1ZTtcclxuICAgICN7JHJ0bC1yaWdodH06IGF1dG87XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gQ0xFQVJcclxuXHJcbkBtaXhpbiBydGwtY2xlYXItbGVmdCAoKSB7XHJcbiAgQGluY2x1ZGUgcnRsLWJhc2Utc2ltcGxlKGNsZWFyLCAkcnRsLWxlZnQpO1xyXG59XHJcbkBtaXhpbiBydGwtY2xlYXItcmlnaHQgKCkge1xyXG4gIEBpbmNsdWRlIHJ0bC1iYXNlLXNpbXBsZShjbGVhciwgJHJ0bC1yaWdodCk7XHJcbn1cclxuXHJcbi8vIFRFWFQtQUxJR05cclxuXHJcbkBtaXhpbiBydGwtdGV4dC1hbGlnbi1sZWZ0ICgpIHtcclxuICBAaW5jbHVkZSBydGwtYmFzZS1zaW1wbGUodGV4dC1hbGlnbiwgJHJ0bC1sZWZ0KTtcclxufVxyXG5AbWl4aW4gcnRsLXRleHQtYWxpZ24tcmlnaHQgKCkge1xyXG4gIEBpbmNsdWRlIHJ0bC1iYXNlLXNpbXBsZSh0ZXh0LWFsaWduLCAkcnRsLXJpZ2h0KTtcclxufVxyXG5AbWl4aW4gcnRsLXRleHQtYWxpZ24tY2VudGVyICgpIHtcclxuICBAaW5jbHVkZSBydGwtYmFzZS1zaW1wbGUodGV4dC1hbGlnbiwgJHJ0bC1jZW50ZXIpO1xyXG59XHJcblxyXG4vLyBGTE9BVFxyXG5cclxuQG1peGluIHJ0bC1mbG9hdC1sZWZ0ICgpIHtcclxuICBAaW5jbHVkZSBydGwtYmFzZS1zaW1wbGUoZmxvYXQsICRydGwtbGVmdCk7XHJcbn1cclxuQG1peGluIHJ0bC1mbG9hdC1yaWdodCAoKSB7XHJcbiAgQGluY2x1ZGUgcnRsLWJhc2Utc2ltcGxlKGZsb2F0LCAkcnRsLXJpZ2h0KTtcclxufVxyXG5cclxuLy8gQkFDS0dST1VORC1QT1NJVElPTlxyXG5cclxuQG1peGluIHJ0bC1iYWNrZ3JvdW5kLXBvc2l0aW9uLWxlZnQgKCR2ZXJ0aWNhbCkge1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246JHJ0bC1sZWZ0ICR2ZXJ0aWNhbDtcclxuICAucnRsICYge1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjokcnRsLXJpZ2h0ICR2ZXJ0aWNhbDtcclxuICB9XHJcbn1cclxuQG1peGluIHJ0bC1iYWNrZ3JvdW5kLXBvc2l0aW9uLXJpZ2h0ICgkdmVydGljYWwpIHtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiRydGwtcmlnaHQgJHZlcnRpY2FsO1xyXG4gIC5ydGwgJiB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiRydGwtbGVmdCAkdmVydGljYWw7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcnRsLWJhY2tncm91bmQtcG9zaXRpb24tcGVyY2VudCAoJHZlcnRpY2FsLCAkaG9yUGVyY2VudCkge1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246JGhvclBlcmNlbnQgJHZlcnRpY2FsO1xyXG4gIC5ydGwgJiB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOjEwMCUgLSAkaG9yUGVyY2VudCAkdmVydGljYWw7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBURVhULVNIQURPVyAmIEJPWC1TSEFET1dcclxuXHJcbkBtaXhpbiBydGwtdGV4dC1zaGFkb3cgKCR4LCAkcmVzdCkge1xyXG4gIHRleHQtc2hhZG93OiAkeCAkcmVzdDtcclxuICAucnRsICYge1xyXG4gICAgdGV4dC1zaGFkb3c6IC0xICogJHggJHJlc3Q7XHJcbiAgfVxyXG59XHJcbkBtaXhpbiBydGwtYm94LXNoYWRvdyAoJHgsICRyZXN0KSB7XHJcbiAgLW1vei1ib3gtc2hhZG93OiAkeCAkcmVzdDtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6ICR4ICRyZXN0O1xyXG4gIGJveC1zaGFkb3c6ICR4ICRyZXN0O1xyXG4gIC5ydGwgJiB7XHJcbiAgICAtbW96LWJveC1zaGFkb3c6IC0xICogJHggJHJlc3Q7XHJcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IC0xICogJHggJHJlc3Q7XHJcbiAgICBib3gtc2hhZG93OiAtMSAqICR4ICRyZXN0O1xyXG4gIH1cclxufVxyXG5cclxuLy8gQk9SREVSLVJBRElVU1xyXG5cclxuQG1peGluIHJ0bC1ib3JkZXItcmFkaXVzLXRvcHJpZ2h0ICgkdGwsICR0ciwgJGJyLCAkYmwpIHtcclxuICAtbW96LWJvcmRlci1yYWRpdXM6ICR0bCwgJHRyLCAkYnIsICRibDtcclxuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICR0bCwgJHRyLCAkYnIsICRibDtcclxuICBib3JkZXItdG9wLXJhZGl1czogJHRsLCAkdHIsICRiciwgJGJsO1xyXG4gIC5ydGwgJiB7XHJcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6ICR0ciwgJHRsLCAkYmwsICRicjtcclxuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJHRyLCAkdGwsICRibCwgJGJyO1xyXG4gICAgYm9yZGVyLXRvcC1yYWRpdXM6ICR0ciwgJHRsLCAkYmwsICRicjtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBydGwtYm9yZGVyLXJhZGl1cy10b3ByaWdodCAoJHZhbHVlKSB7XHJcbiAgLW1vei1ib3JkZXItcmFkaXVzLXRvcCN7JHJ0bC1yaWdodH06ICR2YWx1ZTtcclxuICAtd2Via2l0LWJvcmRlci10b3AtI3skcnRsLXJpZ2h0fS1yYWRpdXM6ICR2YWx1ZTtcclxuICBib3JkZXItdG9wLSN7JHJ0bC1yaWdodH0tcmFkaXVzOiAkdmFsdWU7XHJcbiAgLnJ0bCAmIHtcclxuICAgIC1tb3otYm9yZGVyLXJhZGl1cy10b3AjeyRydGwtbGVmdH06ICR2YWx1ZTtcclxuICAgIC13ZWJraXQtYm9yZGVyLXRvcC0jeyRydGwtbGVmdH0tcmFkaXVzOiAkdmFsdWU7XHJcbiAgICBib3JkZXItdG9wLSN7JHJ0bC1sZWZ0fS1yYWRpdXM6ICR2YWx1ZTtcclxuICAgIC1tb3otYm9yZGVyLXJhZGl1cy10b3AjeyRydGwtcmlnaHR9OiBpbmhlcml0O1xyXG4gICAgLXdlYmtpdC1ib3JkZXItdG9wLSN7JHJ0bC1yaWdodH0tcmFkaXVzOiBpbmhlcml0O1xyXG4gICAgYm9yZGVyLXRvcC0jeyRydGwtcmlnaHR9LXJhZGl1czogaW5oZXJpdDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBydGwtYm9yZGVyLXJhZGl1cy1ib3R0b21yaWdodCAoJHZhbHVlKSB7XHJcbiAgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbSN7JHJ0bC1yaWdodH06ICR2YWx1ZTtcclxuICAtd2Via2l0LWJvcmRlci1ib3R0b20tI3skcnRsLXJpZ2h0fS1yYWRpdXM6ICR2YWx1ZTtcclxuICBib3JkZXItYm90dG9tLSN7JHJ0bC1yaWdodH0tcmFkaXVzOiAkdmFsdWU7XHJcbiAgLnJ0bCAmIHtcclxuICAgIC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b20jeyRydGwtbGVmdH06ICR2YWx1ZTtcclxuICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS0jeyRydGwtbGVmdH0tcmFkaXVzOiAkdmFsdWU7XHJcbiAgICBib3JkZXItYm90dG9tLSN7JHJ0bC1sZWZ0fS1yYWRpdXM6ICR2YWx1ZTtcclxuICAgIC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b20jeyRydGwtcmlnaHR9OiBpbmhlcml0O1xyXG4gICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLSN7JHJ0bC1yaWdodH0tcmFkaXVzOiBpbmhlcml0O1xyXG4gICAgYm9yZGVyLWJvdHRvbS0jeyRydGwtcmlnaHR9LXJhZGl1czogaW5oZXJpdDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBydGwtYm9yZGVyLXJhZGl1cy10b3BsZWZ0ICgkdmFsdWUpIHtcclxuICAtbW96LWJvcmRlci1yYWRpdXMtdG9wI3skcnRsLWxlZnR9OiAkdmFsdWU7XHJcbiAgLXdlYmtpdC1ib3JkZXItdG9wLSN7JHJ0bC1sZWZ0fS1yYWRpdXM6ICR2YWx1ZTtcclxuICBib3JkZXItdG9wLSN7JHJ0bC1sZWZ0fS1yYWRpdXM6ICR2YWx1ZTtcclxuICAucnRsICYge1xyXG4gICAgLW1vei1ib3JkZXItcmFkaXVzLXRvcCN7JHJ0bC1yaWdodH06ICR2YWx1ZTtcclxuICAgIC13ZWJraXQtYm9yZGVyLXRvcC0jeyRydGwtcmlnaHR9LXJhZGl1czogJHZhbHVlO1xyXG4gICAgYm9yZGVyLXRvcC0jeyRydGwtcmlnaHR9LXJhZGl1czogJHZhbHVlO1xyXG4gICAgLW1vei1ib3JkZXItcmFkaXVzLXRvcCN7JHJ0bC1sZWZ0fTogaW5oZXJpdDtcclxuICAgIC13ZWJraXQtYm9yZGVyLXRvcC0jeyRydGwtbGVmdH0tcmFkaXVzOiBpbmhlcml0O1xyXG4gICAgYm9yZGVyLXRvcC0jeyRydGwtbGVmdH0tcmFkaXVzOiBpbmhlcml0O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHJ0bC1ib3JkZXItcmFkaXVzLWJvdHRvbWxlZnQgKCR2YWx1ZSkge1xyXG4gIC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b20jeyRydGwtbGVmdH06ICR2YWx1ZTtcclxuICAtd2Via2l0LWJvcmRlci1ib3R0b20tI3skcnRsLWxlZnR9LXJhZGl1czogJHZhbHVlO1xyXG4gIGJvcmRlci1ib3R0b20tI3skcnRsLWxlZnR9LXJhZGl1czogJHZhbHVlO1xyXG4gIC5ydGwgJiB7XHJcbiAgICAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tI3skcnRsLXJpZ2h0fTogJHZhbHVlO1xyXG4gICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLSN7JHJ0bC1yaWdodH0tcmFkaXVzOiAkdmFsdWU7XHJcbiAgICBib3JkZXItYm90dG9tLSN7JHJ0bC1yaWdodH0tcmFkaXVzOiAkdmFsdWU7XHJcbiAgICAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tI3skcnRsLWxlZnR9OiBpbmhlcml0O1xyXG4gICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLSN7JHJ0bC1sZWZ0fS1yYWRpdXM6IGluaGVyaXQ7XHJcbiAgICBib3JkZXItYm90dG9tLSN7JHJ0bC1sZWZ0fS1yYWRpdXM6IGluaGVyaXQ7XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZ1bmN0aW9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gUG9zaXRpb24gbWl4aW5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBAcGFyYW0gW3N0cmluZ10gJHBvc2l0aW9uOiBwb3NpdGlvbiB0eXBlXG4vLyBAcGFyYW0gW2xpc3RdICRhcmdzOiBsaXN0IG9mIG9mZnNldHMgYW5kIHZhbHVlc1xuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkBtaXhpbiBwb3NpdGlvbigkcG9zaXRpb24sICRhcmdzKSB7XG4gICAgQGVhY2ggJG8gaW4gdG9wIHJpZ2h0IGJvdHRvbSBsZWZ0IHtcbiAgICAgICAgJGk6IGluZGV4KCRhcmdzLCAkbyk7XG4gICAgICAgIEBpZiAkaVxuICAgICAgICAgICAgYW5kICRpICsgMSA8PSBsZW5ndGgoJGFyZ3MpXG4gICAgICAgICAgICBhbmQgdHlwZS1vZiggbnRoKCRhcmdzLCAkaSArIDEpICkgPT0gbnVtYmVyIHtcbiAgICAgICAgICAgICN7JG99OiBudGgoJGFyZ3MsICRpICsgMSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcG9zaXRpb246ICRwb3NpdGlvbjtcbn1cblxuXG4vLyBBYnNvbHV0ZSBwb3NpdGlvbmluZyBtaXhpblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEBwYXJhbSBbbGlzdF0gJGFyZ3M6IGxpc3Qgb2Ygb2Zmc2V0cyBhbmQgdmFsdWVzXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQG1peGluIGFic29sdXRlKCRhcmdzKSB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsICRhcmdzKTtcbn1cblxuLy8gQXJyb3cgbWl4aW5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBAcGFyYW0gW3N0cmluZ10gJGRpcmVjdGlvbjogYXJyb3cgZGlyZWN0aW9uXG4vLyBAcGFyYW0gW2xpc3RdICRwb3NpdGlvbjogbGlzdCBvZiBvZmZzZXRzIGFuZCB2YWx1ZXNcbi8vIEBwYXJhbSBbY29sb3JdICRjb2xvciAoaW5oZXJpdCk6IGFycm93IGNvbG9yXG4vLyBAcGFyYW0gW251bWJlcl0gJHNpemUgKDFlbSk6IGFycm93IHNpemVcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5AbWl4aW4gdHJpYW5nbGUoJGRpcmVjdGlvbiwgJHBvc2l0aW9uLCAkY29sb3I6IGN1cnJlbnRDb2xvciwgJHNpemU6IDFlbSkge1xuICAgIC8vIE1ha2Ugc3VyZSB0aGUgZGlyZWN0aW9uIGlzIHZhbGlkXG4gICAgQGlmIG5vdCBpbmRleCh0b3AgcmlnaHQgYm90dG9tIGxlZnQsICRkaXJlY3Rpb24pIHtcbiAgICAgICAgQHdhcm4gXCJEaXJlY3Rpb24gbXVzdCBiZSBvbmUgb2YgdG9wLCByaWdodCwgYm90dG9tIG9yIGxlZnQuXCI7XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBhYnNvbHV0ZSgkcG9zaXRpb24pOyAvLyBQb3NpdGlvblxuICAgICAgICBAaW5jbHVkZSBzcXVhcmUoMCk7IC8vIFNpemVcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgYm9yZGVyLSN7b3Bwb3NpdGUtcG9zaXRpb24oJGRpcmVjdGlvbil9OiAkc2l6ZSAqIDEuNSBzb2xpZCAkY29sb3I7XG4gICAgICAgICRwZXJwZW5kaWN1bGFyLWJvcmRlcnM6ICRzaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgICAgIEBpZiAkZGlyZWN0aW9uID09IHRvcCBvciAkZGlyZWN0aW9uID09IGJvdHRvbSB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogICAkcGVycGVuZGljdWxhci1ib3JkZXJzO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAgJHBlcnBlbmRpY3VsYXItYm9yZGVycztcbiAgICAgICAgfVxuXG4gICAgICAgIEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQgb3IgJGRpcmVjdGlvbiA9PSBsZWZ0IHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRwZXJwZW5kaWN1bGFyLWJvcmRlcnM7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAgICAkcGVycGVuZGljdWxhci1ib3JkZXJzO1xuICAgICAgICB9XG4gICAgfVxufVxuIFxuLy8gRm9udCBzaXplIC0gcmVtXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AZnVuY3Rpb24gcGFyc2VJbnQoJG4pIHsgLyogMiAqL1xuICBAcmV0dXJuICRuIC8gKCRuICogMCArIDEpO1xufVxuXG5AbWl4aW4gZm9udC1zaXplKCRwcm9wZXJ0eSwgJHZhbHVlcykge1xuICAkcHggOiAoKTsgLyogMyAqL1xuICAkcmVtOiAoKTsgLyogMyAqL1xuXG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHsgLyogNCAqL1xuXG4gICAgQGlmICR2YWx1ZSA9PSAwIG9yICR2YWx1ZSA9PSBhdXRvIHsgLyogNSAqL1xuICAgICAgJHB4IDogYXBwZW5kKCRweCAsICR2YWx1ZSk7XG4gICAgICAkcmVtOiBhcHBlbmQoJHJlbSwgJHZhbHVlKTtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICAkdW5pdDogdW5pdCgkdmFsdWUpOyAgICAvKiA2ICovXG4gICAgICAkdmFsOiBwYXJzZUludCgkdmFsdWUpOyAvKiA2ICovXG5cbiAgICAgIEBpZiAkdW5pdCA9PSBcInB4XCIgeyAgLyogNyAqL1xuICAgICAgICAkcHggOiBhcHBlbmQoJHB4LCAgJHZhbHVlKTtcbiAgICAgICAgJHJlbTogYXBwZW5kKCRyZW0sICgkdmFsIC8gMTAgKyByZW0pKTtcbiAgICAgIH1cblxuICAgICAgQGlmICR1bml0ID09IFwicmVtXCIgeyAvKiA3ICovXG4gICAgICAgICRweCA6IGFwcGVuZCgkcHgsICAoJHZhbCAqIDEwICsgcHgpKTtcbiAgICAgICAgJHJlbTogYXBwZW5kKCRyZW0sICR2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRweCA9PSAkcmVtIHsgICAgIC8qIDggKi9cbiAgICAjeyRwcm9wZXJ0eX06ICRweDsgIC8qIDkgKi9cbiAgfSBAZWxzZSB7XG4gICAgI3skcHJvcGVydHl9OiAkcHg7ICAvKiA5ICovXG4gICAgI3skcHJvcGVydHl9OiAkcmVtOyAvKiA5ICovXG4gIH1cbn1cblxuXG4vLz09IEJvcmRlclxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkBtaXhpbiBib3JkZXIoICRjb29yZGluYXRlczogMCAwIDAgMCwgJGNvbG91cjogJGJvcmRlci1jb2xvciwgJHN0eWxlOiBzb2xpZCApIHtcbiAgICAkdG9wOiBudGgoJGNvb3JkaW5hdGVzLCAxKTtcbiAgICAkcmlnaHQ6IG50aCgkY29vcmRpbmF0ZXMsIDIpO1xuICAgICRib3R0b206IG50aCgkY29vcmRpbmF0ZXMsIDMpO1xuICAgICRsZWZ0OiBudGgoJGNvb3JkaW5hdGVzLCA0KTtcbiAgICBAaWYgbm90KHVuaXRsZXNzKCR0b3ApKSB7XG4gICAgICAgIGJvcmRlci10b3A6ICR0b3AgJHN0eWxlICRjb2xvdXI7XG4gICAgfVxuICAgIEBpZiBub3QodW5pdGxlc3MoJHJpZ2h0KSkge1xuICAgICAgICBib3JkZXItcmlnaHQ6ICRyaWdodCAkc3R5bGUgJGNvbG91cjtcbiAgICB9XG4gICAgQGlmIG5vdCh1bml0bGVzcygkYm90dG9tKSkge1xuICAgICAgICBib3JkZXItYm90dG9tOiAkYm90dG9tICRzdHlsZSAkY29sb3VyO1xuICAgIH1cbiAgICBAaWYgbm90KHVuaXRsZXNzKCRsZWZ0KSkge1xuICAgICAgICBib3JkZXItbGVmdDogJGxlZnQgJHN0eWxlICRjb2xvdXI7XG4gICAgfVxufVxuXG4vLyBTdGF0ZSBhbmQgaG92ZXJcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5AbWl4aW4gc3RhdGUtaG92ZXItZGVmYXVsdCgkdGltZSwgJGJhY2tncm91bmQsICRib3JkZXItY29sb3Ipe1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsICR0aW1lKTtcbiAgICAmOmhvdmVye1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gICAgfVxufVxuXG5AbWl4aW4gc3RhdGUtaG92ZXIoJHRpbWUsJGhlaWdodCwkY29sb3Ipe1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAwIDAgMCAkY29sb3IpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsICR0aW1lIGN1YmljLWJlemllcigwLjgsMCwwLDEpKTtcbiAgICAmOmhvdmVye1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAkdGltZSBjdWJpYy1iZXppZXIoMC44LDAsMCwxKSk7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAoLSRoZWlnaHQpIDAgMCAkY29sb3IpO1xuICAgIH1cbn1cblxuQG1peGluIHN0YXRlLWhvdmVyLTIoJGJhY2tncm91bmQpe1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICAmOmFmdGVye1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgei1pbmRleDogLTUwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBAaW5jbHVkZSBzY2FsZSgwKTtcbiAgICAgICAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyKDEwMCUsMTAwJSk7XG4gICAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMCk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tZGVsYXkoMC4zcywwcyk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24odHJhbnNmb3JtIDBzIGN1YmljLWJlemllcigwLjE5LDEsMC4yMiwxKSAwLjNzLG9wYWNpdHkgMC4zcyBjdWJpYy1iZXppZXIoMC4xOSwxLDAuMjIsMSkpO1xuICAgIH1cbiAgICAmOmhvdmVye1xuICAgICAgICAmOmFmdGVye1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNjYWxlKDEpO1xuICAgICAgICAgICAgQGluY2x1ZGUgb3BhY2l0eSgxKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24odHJhbnNmb3JtIDAuNnMgY3ViaWMtYmV6aWVyKDAuMTksMSwwLjIyLDEpLG9wYWNpdHkgMC41cyBjdWJpYy1iZXppZXIoMC4xOSwxLDAuMjIsMSkpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cblxuLy89PSBGbGV4aWJsZSBMYXlvdXRcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBtaXhpbiBmbGV4Ym94IHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogLW1vei1mbGV4O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbiVmbGV4Ym94IHtcbiAgICBAaW5jbHVkZSBmbGV4Ym94O1xufVxuXG5AbWl4aW4gaW5saW5lLWZsZXgge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4O1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xufVxuXG4laW5saW5lLWZsZXgge1xuICAgIEBpbmNsdWRlIGlubGluZS1mbGV4O1xufVxuXG5cblxuLy8gUmV0aW5hIFNwcml0ZSBNaXhpbnNcblxuQG1peGluIHJldGluYS1zcHJpdGUtYmFja2dyb3VuZCgkdXJsLCRwb3NpdGlvbiwkd2lkdGgsJGhlaWdodCl7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJHVybCk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJHBvc2l0aW9uO1xuICAgIHdpZHRoOiR3aWR0aDtcbiAgICBoZWlnaHQ6JGhlaWdodDtcbn1cblxuLyoqIGVsZW1lbnRzIG1peGlucyAqKi9cblxuQG1peGluIGJvcmRlci1leGNsdWRlLXRvcCgkYm9yZGVyLWRlZXAsICRib3JkZXItdHlwZSAsICRib3JkZXItY29sb3IgKXtcbiAgIGJvcmRlci1ib3R0b206ICRib3JkZXItZGVlcCAkYm9yZGVyLXR5cGUgJGJvcmRlci1jb2xvciA7XG4gICBib3JkZXItbGVmdDogJGJvcmRlci1kZWVwICRib3JkZXItdHlwZSAkYm9yZGVyLWNvbG9yIDtcbiAgIGJvcmRlci1yaWdodDogJGJvcmRlci1kZWVwICRib3JkZXItdHlwZSAkYm9yZGVyLWNvbG9yIDtcbn1cblxuQG1peGluIGJvcmRlci1leGNsdWRlLWJvdHRvbSgkYm9yZGVyLWRlZXAsICRib3JkZXItdHlwZSAsICRib3JkZXItY29sb3IgKXtcbiAgIGJvcmRlci10b3A6ICRib3JkZXItZGVlcCAkYm9yZGVyLXR5cGUgJGJvcmRlci1jb2xvciA7XG4gICBib3JkZXItbGVmdDogJGJvcmRlci1kZWVwICRib3JkZXItdHlwZSAkYm9yZGVyLWNvbG9yIDtcbiAgIGJvcmRlci1yaWdodDogJGJvcmRlci1kZWVwICRib3JkZXItdHlwZSAkYm9yZGVyLWNvbG9yIDtcbn1cblxuQG1peGluIGJvcmRlci1leGNsdWRlLWxlZnQoJGJvcmRlci1kZWVwLCAkYm9yZGVyLXR5cGUgLCAkYm9yZGVyLWNvbG9yICl7XG4gICBib3JkZXItdG9wOiAkYm9yZGVyLWRlZXAgJGJvcmRlci10eXBlICRib3JkZXItY29sb3IgO1xuICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlci1kZWVwICRib3JkZXItdHlwZSAkYm9yZGVyLWNvbG9yIDtcbiAgIGJvcmRlci1yaWdodDogJGJvcmRlci1kZWVwICRib3JkZXItdHlwZSAkYm9yZGVyLWNvbG9yIDtcbn1cblxuQG1peGluIGJvcmRlci1leGNsdWRlLXJpZ2h0KCRib3JkZXItZGVlcCwgJGJvcmRlci10eXBlICwgJGJvcmRlci1jb2xvciApe1xuICAgYm9yZGVyLXRvcDogJGJvcmRlci1kZWVwICRib3JkZXItdHlwZSAkYm9yZGVyLWNvbG9yIDtcbiAgIGJvcmRlci1ib3R0b206ICRib3JkZXItZGVlcCAkYm9yZGVyLXR5cGUgJGJvcmRlci1jb2xvciA7XG4gICBib3JkZXItbGVmdDogJGJvcmRlci1kZWVwICRib3JkZXItdHlwZSAkYm9yZGVyLWNvbG9yIDtcbn1cblxuQG1peGluIHJvdW5kZWQtY29ybmVycyAoJHJhZGl1cykge1xuICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgLW1vei1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgLW1zLWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAtby1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbn1cblxuQG1peGluIGNsZWFyYm94c3R5bGUoKXtcbiAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICBib3JkZXI6bm9uZTtcbn1cblxuQG1peGluIGNsZWFyZmxvYXQoKXtcbiAgIGZsb2F0OiBub25lO1xuICAgd2lkdGg6IDEwMCU7XG59XG4gXG5cbkBtaXhpbiB0cmFuc2Zvcm0tc3R5bGUoJHRyYW5zZm9ybS1zdHlsZSl7XG4gICAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogJHRyYW5zZm9ybS1zdHlsZTsgICAgICAgICAgICAgICAgICAgIFxuICAgLW1vei10cmFuc2Zvcm0tc3R5bGU6ICR0cmFuc2Zvcm0tc3R5bGU7ICAgICAgICAgICAgICAgICAgICBcbiAgIC1tcy10cmFuc2Zvcm0tc3R5bGU6ICR0cmFuc2Zvcm0tc3R5bGU7ICAgICAgICAgICAgICAgICAgICBcbiAgIC1vLXRyYW5zZm9ybS1zdHlsZTogJHRyYW5zZm9ybS1zdHlsZTsgICAgICAgICAgICAgICAgICAgIFxuICAgdHJhbnNmb3JtLXN0eWxlOiAkdHJhbnNmb3JtLXN0eWxlO1xufVxuXG5AbWl4aW4gYmFja2ZhY2UtdmlzaWJpbGl0eSgkYmFja2ZhY2UtdmlzaWJpbGl0eSl7XG4gICBiYWNrZmFjZS12aXNpYmlsaXR5OiAkYmFja2ZhY2UtdmlzaWJpbGl0eTsgIC8qIFczQyAqL1xuICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiAkYmFja2ZhY2UtdmlzaWJpbGl0eTsgLyogU2FmYXJpICYgQ2hyb21lICovXG4gICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6ICRiYWNrZmFjZS12aXNpYmlsaXR5OyAvKiBGaXJlZm94ICovXG4gICAtbXMtYmFja2ZhY2UtdmlzaWJpbGl0eTogJGJhY2tmYWNlLXZpc2liaWxpdHk7IC8qIEludGVybmV0IEV4cGxvcmVyICovXG4gICAtby1iYWNrZmFjZS12aXNpYmlsaXR5OiAkYmFja2ZhY2UtdmlzaWJpbGl0eTsgLyogT3BlcmEgKi9cbn1cblxuQG1peGluIGFuaW1hdGlvbi10aGVtZSgkYW5pbWF0aW9uLWR1cmF0aW9uLCAkYW5pbWF0aW9uLWZpbGwtbW9kZSwgJGFuaW1hdGlvbi1uYW1lKXtcbiAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAkYW5pbWF0aW9uLWR1cmF0aW9uOyBcbiAgIC1tb3otYW5pbWF0aW9uLWR1cmF0aW9uOiAkYW5pbWF0aW9uLWR1cmF0aW9uOyBcbiAgIC1tcy1hbmltYXRpb24tZHVyYXRpb246ICRhbmltYXRpb24tZHVyYXRpb247IFxuICAgLW8tYW5pbWF0aW9uLWR1cmF0aW9uOiAkYW5pbWF0aW9uLWR1cmF0aW9uOyBcbiAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJGFuaW1hdGlvbi1kdXJhdGlvbjsgXG5cbiAgIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogJGFuaW1hdGlvbi1maWxsLW1vZGU7XG4gICAtbW96LWFuaW1hdGlvbi1maWxsLW1vZGU6ICRhbmltYXRpb24tZmlsbC1tb2RlO1xuICAgLW1zLWFuaW1hdGlvbi1maWxsLW1vZGU6ICRhbmltYXRpb24tZmlsbC1tb2RlO1xuICAgLW8tYW5pbWF0aW9uLWZpbGwtbW9kZTogJGFuaW1hdGlvbi1maWxsLW1vZGU7XG4gICBhbmltYXRpb24tZmlsbC1tb2RlOiAkYW5pbWF0aW9uLWZpbGwtbW9kZTtcblxuICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogJGFuaW1hdGlvbi1uYW1lO1xuICAgLW1vei1hbmltYXRpb24tbmFtZTogJGFuaW1hdGlvbi1uYW1lOyBcbiAgIC1tcy1hbmltYXRpb24tbmFtZTogJGFuaW1hdGlvbi1uYW1lOyBcbiAgIC1vLWFuaW1hdGlvbi1uYW1lOiAkYW5pbWF0aW9uLW5hbWU7IFxuICAgYW5pbWF0aW9uLW5hbWU6ICRhbmltYXRpb24tbmFtZTsgXG59XG5cbkBtaXhpbiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpe1xuICAgLXdlYmtpdC1wZXJzcGVjdGl2ZTogJHBlcnNwZWN0aXZlO1xuICAgLW1zLXBlcnNwZWN0aXZlOiAkcGVyc3BlY3RpdmU7XG4gICAtbW96LXBlcnNwZWN0aXZlOiAkcGVyc3BlY3RpdmU7XG4gICAtby1wZXJzcGVjdGl2ZTogJHBlcnNwZWN0aXZlO1xuICAgcGVyc3BlY3RpdmU6ICRwZXJzcGVjdGl2ZTsgICAgXG59XG5cbi8qKlxuKiBUcmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbiBwcm9wZXJ0eUBtaXhpbiBcbiovXG5AbWl4aW4gdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oJHRpbWluZy1mdW5jdGlvbikge1xuICAgLW1vei10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbiAgIC1vLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nLWZ1bmN0aW9uO1xuICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbiAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nLWZ1bmN0aW9uO1xufVxuIFxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZSl7XG4gICBhcHBlYXJhbmNlOiAkYXJndW1lbnRzO1xuICAgLW1vei1hcHBlYXJhbmNlOiAkYXJndW1lbnRzO1xuICAgLW1zLWFwcGVhcmFuY2U6ICRhcmd1bWVudHM7XG4gICAtby1hcHBlYXJhbmNlOiAkYXJndW1lbnRzO1xuICAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXJndW1lbnRzOyBcbn1cblxuXG4vKmJhY2tncm91bmQgUkdCQVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuQG1peGluIHJnYmEoJGNvbG91ciwgJGFscGhhKVxue1xuICAgJGFscGhhQ29sb3VyOiBoc2xhKGh1ZSgkY29sb3VyKSwgc2F0dXJhdGlvbigkY29sb3VyKSwgbGlnaHRuZXNzKCRjb2xvdXIpLCAkYWxwaGEpO1xuICAgJGllQWxwaGFDb2xvdXI6IGFyZ2IoJGFscGhhQ29sb3VyKTsgICBcbiAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI7IFxuICAgYmFja2dyb3VuZC1jb2xvcjogJGFscGhhQ29sb3VyOyAgICAgICBcbiAgIHpvb206IDE7IFxuICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRcXDk7ICAgXG4gICBcbiAgIFxufVxuXG5cbkBtaXhpbiBib3JkZXItcmdiYSgkY29sb3VyLCAkYWxwaGEpXG57XG4gICAkYWxwaGFDb2xvdXI6IGhzbGEoaHVlKCRjb2xvdXIpLCBzYXR1cmF0aW9uKCRjb2xvdXIpLCBsaWdodG5lc3MoJGNvbG91ciksICRhbHBoYSk7XG4gICAkaWVBbHBoYUNvbG91cjogYXJnYigkYWxwaGFDb2xvdXIpOyAgIFxuICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyOyBcbiAgIGJvcmRlci1jb2xvcjogJGFscGhhQ29sb3VyOyAgICAgICBcbiAgIHpvb206IDE7IFxuICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudFxcOTtcbiAgXG59XG5cbi8vY29weXJpZ2h0XG5cbi8vc3ViIGhlYWRpbmcgKGgyLGgzKSBkZWZpbmVcbkBtaXhpbiBzdWItaGVhZGluZyB7XG4gIEBpbmNsdWRlIHJ0bC1mbG9hdC1sZWZ0KCk7XG4gIGNvbG9yOiAkYmxvY2staGVhZGluZy1jb2xvcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udDogNjAwIDE0cHgvMjBweCAkZm9udC1jdXN0b207XG4gIHBhZGRpbmc6IDhweCAxNXB4O1xuICBtYXJnaW46IDAgMCAyMHB4O1xuICBtaW4td2lkdGg6IDEyMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICR0aGVtZS1iZy1kZWZhdWx0O1xufVxuQG1peGluIHN1Yi1oZWFkaW5nLWJlZm9yZSB7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIEBpbmNsdWRlIHJ0bC1yaWdodCg0NSUpO1xuICB0b3A6IDEwMCU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3AtY29sb3I6ICR0aGVtZS1iZy1kZWZhdWx0O1xufVxuXG4vL2JhY2tncm91bmRcbkBtaXhpbiBiYWNrZ3JvdW5kLWhvdmVyIHtcbiAgY29sb3I6ICRiYXNlLXRleHQtY29sb3I7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjI4LCA1MCwgNDAsIDAuMyk7XG59XG5cbi8qaW5saW5lLWJsb2NrXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbkBtaXhpbiBpbmxpbmUtYmxvY2soKSB7XG4gICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAqZGlzcGxheTogaW5saW5lO1xuICAgem9vbTogMTsgICBcbn1cblxuLy8gU2l6aW5nIHNob3J0Y3V0c1xuQG1peGluIHNpemUoJHdpZHRoLCAkaGVpZ2h0KSB7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbn1cblxuXG5cbi8vIFBhbmVsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIGJveC12YXJpYW50KCRib3JkZXIsICRoZWFkaW5nLXRleHQtY29sb3IsICRoZWFkaW5nLWJnLWNvbG9yLCAkaGVhZGluZy1ib3JkZXIpIHtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gICYgPiAuYm94LWhlYWRpbmcge1xuICAgIGNvbG9yOiAkaGVhZGluZy10ZXh0LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkaW5nLWJnLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGhlYWRpbmctYm9yZGVyO1xuXG4gICAgKyAgLmJveC1jb250ZW50IHtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRib3JkZXI7XG4gICAgfVxuICB9XG4gICYgPiAuYm94LWNvbnRlbnR7XG4gICAgICBib3JkZXItY29sb3I6JGJvcmRlcjtcbiAgfVxuICAmID4gLmJveC1mb290ZXIge1xuICAgICsgLmJveC1jb2xsYXBzZSAuYm94LWJvZHkge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGJvcmRlcjtcbiAgICB9XG4gIH1cbn1cbkBtaXhpbiBidXR0b24tM2QoJHN1ZmZpeGNsYXNzLCAkaGVpZ2h0M2QgLCRjb2xvcjNkKXtcbiAgYm9yZGVyOiAwO1xuICBAaWYgKCRzdWZmaXhjbGFzcyA9PSBcImVtcHR5XCIpIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgJGhlaWdodDNkICRjb2xvcjNkIGluc2V0O1xuICAgICAgLW8tYm94LXNoYWRvdzogMCAkaGVpZ2h0M2QgJGNvbG9yM2QgaW5zZXQ7XG4gICAgICAtbW96LWJveC1zaGFkb3c6IDAgJGhlaWdodDNkICRjb2xvcjNkIGluc2V0O1xuICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwICRoZWlnaHQzZCAkY29sb3IzZCBpbnNldDtcbiAgICAgIC1tcy1ib3gtc2hhZG93OiAwICRoZWlnaHQzZCAkY29sb3IzZCBpbnNldDtcbiAgfVxuICBAZWxzZSB7XG4gICYuYnRuLSN7JHN1ZmZpeGNsYXNzfXtcbiAgICAgYm94LXNoYWRvdzogMCAkaGVpZ2h0M2QgJGNvbG9yM2QgaW5zZXQ7XG4gICAgICAtby1ib3gtc2hhZG93OiAwICRoZWlnaHQzZCAkY29sb3IzZCBpbnNldDtcbiAgICAgIC1tb3otYm94LXNoYWRvdzogMCAkaGVpZ2h0M2QgJGNvbG9yM2QgaW5zZXQ7XG4gICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgJGhlaWdodDNkICRjb2xvcjNkIGluc2V0O1xuICAgICAgLW1zLWJveC1zaGFkb3c6IDAgJGhlaWdodDNkICRjb2xvcjNkIGluc2V0O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLWludmVyc2UoICRzdWZmaXhjbGFzcywgICRjb2xvciAsJGJhY2tncm91bmQgKXtcbiBcbiAgJi5idG4tI3skc3VmZml4Y2xhc3N9e1xuICAgICAgJjpob3ZlcnsgXG4gICAgICAgIGNvbG9yOiRjb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZDp0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLW91dGxpbmUoICRzdWZmaXhjbGFzcywgJGNvbG9yLCAkaG92ZXJjb2xvciApe1xuICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O1xuICAmLmJ0bi0jeyRzdWZmaXhjbGFzc317XG4gICAgICBjb2xvcjokY29sb3I7XG4gICAgICAmOmhvdmVye1xuICAgICAgICAgIGNvbG9yOiRob3ZlcmNvbG9yO1xuICAgICAgfVxuICB9XG59XG4vLy8gYnV0dG9uIHZhcmlhbnQgb3V0bGluZVxuQG1peGluIGJ1dHRvbi12YXJpYW50LW91dGxpbmUoJGNvbG9yLCAkYmFja2dyb3VuZCwgJGJvcmRlciwgJGNvbG9yaG92ZXIsICRiZ2hvdmVyLCAkYm9yZGVyaG92ZXIgKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlIHtcbiAgICBjb2xvcjogJGNvbG9yaG92ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnaG92ZXI7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcmhvdmVyIDtcbiAgfVxuICAub3BlbiAmIHsgJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiAkY29sb3Job3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmdob3ZlcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyaG92ZXIgO1xuICB9IH1cbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG4gIC5vcGVuICYgeyAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfSB9XG4gICYuZGlzYWJsZWQsXG4gICZbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgJixcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgfVxuXG4gIC5iYWRnZSB7XG4gICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuLy8gaWNvbiB2YXJpYW50IGludmVyc2VcblxuQG1peGluIGljb25zLWludmVyc2UoICRzdWZmaXhjbGFzcywgICRjb2xvciAsJGJhY2tncm91bmQgKXtcbiBcbiAgJi5pY29ucy0jeyRzdWZmaXhjbGFzc317XG4gICAgICAmOmhvdmVyeyBcbiAgICAgICAgY29sb3I6JGNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O1xuICAgICAgfVxuICB9XG59XG4vLyBpY29uIHZhcmlhbnQgb3V0bGluZVxuXG5AbWl4aW4gaWNvbnMtb3V0bGluZSggJHN1ZmZpeGNsYXNzLCAkY29sb3IsICRob3ZlcmNvbG9yICl7XG4gICYuaWNvbnMtI3skc3VmZml4Y2xhc3N9e1xuICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6JGNvbG9yO1xuICAgICAgJjpob3ZlcntcbiAgICAgICAgICBjb2xvcjokaG92ZXJjb2xvcjtcbiAgICAgIH1cbiAgfVxufVxuXG4vLyBCbG9ja1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIGJsb2NrLXZhcmlhbnQoJGJvcmRlciwgJGhlYWRpbmctdGV4dC1jb2xvciwgJGhlYWRpbmctYmctY29sb3IsICRoZWFkaW5nLWJvcmRlcikge1xuICAmID4gLiN7JGJsb2NrLXByZWZpeH0tZm9vdGVyIHtcbiAgICArIC4jeyRibG9jay1wcmVmaXh9LWNvbGxhcHNlIC4jeyRibG9jay1wcmVmaXh9LWJvZHkge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGJvcmRlcjtcbiAgICB9XG4gIH1cbn1cblxuLyoqKiovXG4vKioqKi9cbkBtaXhpbiBjb250YWluZXItbGF5b3V0LXZhcmlhbnQoJGNvbG9yLCAkYmFja2dyb3VuZCwgJGxpbmtjb2xvciApe1xuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYXtcbiAgICAgIGNvbG9yOiRsaW5rY29sb3I7IFxuICAgICAgJjpob3ZlcntcbiAgICAgICAgY29sb3I6JGxpbmstaG92ZXItY29sb3I7IFxuICAgICAgfSAgXG4gICAgfSAgICAgICAgIFxufVxuXG5AbWl4aW4gd2lkZ2V0LXNwZWNpY2FsLXN0eWxlKCl7XG4gIC53aWRnZXQtaGVhZGluZ3tcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMXB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgc3BhbntcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgc3Bhbi5kZXNjcmlwdGlvbntcbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICB9ICBcbiAgIH0gXG59IiwiLy8gQm94IFNpemVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5AbWl4aW4gYm94LXNpemUoJGJhY2tncm91bmQsICRwYWRkaW5nLXRvcCwkcGFkZGluZy1ib3R0b20pe1xyXG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcbiAgICBwYWRkaW5nLXRvcDogJHBhZGRpbmctdG9wO1xyXG4gICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nLWJvdHRvbTtcclxufVxyXG5cclxuLy8gQnV0dG9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuQG1peGluIGJ1dHRvbi1vdXRsaW5lKCRjb2xvciwgJGJhY2tncm91bmQsICRib3JkZXIsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3ItaG92ZXIsICRib3JkZXItaG92ZXIsICRib3JkZXItcmFkaXVzKSB7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICBib3JkZXI6ICRib3JkZXI7XHJcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmZvY3VzLFxyXG4gICAgJjphY3RpdmUsXHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcclxuICAgICAgICBib3JkZXI6ICRib3JkZXItaG92ZXI7XHJcbiAgICB9XHJcbiAgICAuZmEsLmljb257XHJcbiAgICAgICAgZm9udC1zaXplOiAkaWNvbi1mb250LXNpemUtYmFzZTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEJsb2NrXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuQG1peGluIGJsb2NrLXZhcmlhbnQoJGJvcmRlciwgJGhlYWRpbmctdGV4dC1jb2xvciwgJGhlYWRpbmctYmctY29sb3IsICRoZWFkaW5nLWJvcmRlcikge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xyXG4gICAgYmFja2dyb3VuZDogJGhlYWRpbmctYmctY29sb3I7XHJcbiAgICAmIC4jeyRibG9jay1oZWFkaW5nLXNlbGVjdG9yfSB7XHJcbiAgICAgICAgJiBzcGFuOmJlZm9yZSwgJiBzcGFuOmFmdGVyeyBiYWNrZ3JvdW5kOiR3aGl0ZTsgfVxyXG4gICAgICAgIGNvbG9yOiAkaGVhZGluZy10ZXh0LWNvbG9yO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkaW5nLWJnLWNvbG9yO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGhlYWRpbmctYm9yZGVyO1xyXG4gICAgICAgICsgLiN7JGJsb2NrLXByZWZpeH0tY29sbGFwc2UgLiN7JGJsb2NrLWNvbnRlbnQtc2VsZWN0b3J9IHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJvcmRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmID4gLiN7JGJsb2NrLXByZWZpeH0tZm9vdGVyIHtcclxuICAgICAgICArIC4jeyRibG9jay1wcmVmaXh9LWNvbGxhcHNlIC4jeyRibG9jay1wcmVmaXh9LWJvZHkge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkYm9yZGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGJsb2NrLWVsZW1lbnRzLXN0eWxlcygkYm9yZGVyLCAkaGVhZGluZy10ZXh0LWNvbG9yLCAkaGVhZGluZy1iZy1jb2xvciwgJGhlYWRpbmctYm9yZGVyLCAkdGV4dC1jb2xvciwgJHRleHQtY29sb3ItcHJpbWFyeSl7XHJcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XHJcbiAgICBiYWNrZ3JvdW5kOiAkaGVhZGluZy1iZy1jb2xvcjtcclxuICAgICYgLiN7JGJsb2NrLWhlYWRpbmctc2VsZWN0b3J9IHtcclxuICAgICAgICBjb2xvcjogJGhlYWRpbmctdGV4dC1jb2xvcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGluZy1iZy1jb2xvcjtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRoZWFkaW5nLWJvcmRlcjtcclxuICAgICAgICArIC4jeyRibG9jay1wcmVmaXh9LWNvbGxhcHNlIC4jeyRibG9jay1jb250ZW50LXNlbGVjdG9yfSB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRib3JkZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJiA+IC4jeyRibG9jay1wcmVmaXh9LWZvb3RlciB7XHJcbiAgICAgICAgKyAuI3skYmxvY2stcHJlZml4fS1jb2xsYXBzZSAuI3skYmxvY2stcHJlZml4fS1ib2R5IHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGJvcmRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKioqL1xyXG5AbWl4aW4gY29udGFpbmVyLWxheW91dC12YXJpYW50KCRjb2xvciwgJGJhY2tncm91bmQsICRsaW5rY29sb3IsICAkdG9wYmFyLWxpbmstY29sb3ItaG92ZXIgKXtcclxuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuICAgIGF7XHJcbiAgICAgICAgY29sb3I6JGxpbmtjb2xvcjtcclxuICAgIH1cclxuICAgIGE6aG92ZXJ7XHJcbiAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvci1ob3ZlcjtcclxuICAgIH1cclxufVxyXG5cclxuLy89PSBJbmxpbmUgYmxvY2tcclxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuQG1peGluIGlubGluZS1ibG9jayAoJGhhc2xheW91dCA6IHRydWUpe1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIEBpZiAkaGFzbGF5b3V0ID09IHRydWUge1xyXG4gICAgICAgIC5sdC1pZTggJiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgICAgICAgICAgem9vbTogMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vPT0gdmVydGljYWwgYmxvY2tcclxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuQG1peGluIHZlcnRpY2FsLWNlbnRlciggJHdpZHRoOiAxMDBweCwgJGhlaWdodDogMTAwcHgpIHtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIHRvcDogMDtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIHdpZHRoOiAkd2lkdGg7XHJcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbn1cclxuXHJcbi8vPT0gVHJhbnNsYXRlIFggLSBZIC0gWlxyXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5AbWl4aW4gdHJhbnNsYXRlWCgkeCkge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHgpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgkeCk7IC8vIElFOSBvbmx5XHJcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCR4KTtcclxufVxyXG5cclxuQG1peGluIHRyYW5zbGF0ZVkoJHkpIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCR5KTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHkpOyAvLyBJRTkgb25seVxyXG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCR5KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkeSk7XHJcbn1cclxuXHJcbkBtaXhpbiB0cmFuc2xhdGVaKCR6KSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigkeik7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKCR6KTsgLy8gSUU5IG9ubHlcclxuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWigkeik7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooJHopO1xyXG59XHJcblxyXG4vLz09IFRyYW5zZm9ybVxyXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5AbWl4aW4gdHJhbnNmb3JtKCRhcmd1bWVudCl7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogKCRhcmd1bWVudCk7XHJcbiAgICAtbW96LXRyYW5zZm9ybTogKCRhcmd1bWVudCk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiAoJGFyZ3VtZW50KTtcclxuICAgIC1vLXRyYW5zZm9ybTogKCRhcmd1bWVudCk7XHJcbiAgICB0cmFuc2Zvcm06ICgkYXJndW1lbnQpO1xyXG59XHJcblxyXG4vLz09IFRyYW5zZm9ybVxyXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSgkdGltZTEsJHRpbWUyKXtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogKCR0aW1lMSwkdGltZTIpO1xyXG4gICAgLW1vei10cmFuc2l0aW9uLWRlbGF5OiAoJHRpbWUxLCR0aW1lMik7XHJcbiAgICAtbXMtdHJhbnNpdGlvbi1kZWxheTogKCR0aW1lMSwkdGltZTIpO1xyXG4gICAgLW8tdHJhbnNpdGlvbi1kZWxheTogKCR0aW1lMSwkdGltZTIpO1xyXG4gICAgdHJhbnNpdGlvbi1kZWxheTogKCR0aW1lMSwkdGltZTIpO1xyXG59XHJcblxyXG4vLz09IEJhY2tncm91bmQgU2l6ZVxyXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5AbWl4aW4gYmFja2dyb3VuZC1zaXplKCRzaXplMSwkc2l6ZTIpIHtcclxuICAgIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiAoJHNpemUxLCRzaXplMik7XHJcbiAgICAtbW96LWJhY2tncm91bmQtc2l6ZTogKCRzaXplMSwkc2l6ZTIpO1xyXG4gICAgLW1zLWJhY2tncm91bmQtc2l6ZTogKCRzaXplMSwkc2l6ZTIpO1xyXG4gICAgLW8tYmFja2dyb3VuZC1zaXplOiAoJHNpemUxLCRzaXplMik7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICgkc2l6ZTEsJHNpemUyKTtcclxufVxyXG5cclxuLy89PSBCYWNrZ3JvdW5kIG9yaWdpblxyXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5AbWl4aW4gYmFja2dyb3VuZC1vcmlnaW4oJHZhbHVlMSwkdmFsdWUyKXtcclxuICAgIC13ZWJraXQtYmFja2dyb3VuZC1vcmlnaW46ICgkdmFsdWUxLCR2YWx1ZTIpO1xyXG4gICAgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogKCR2YWx1ZTEsJHZhbHVlMik7XHJcbiAgICAtbXMtYmFja2dyb3VuZC1vcmlnaW46ICgkdmFsdWUxLCR2YWx1ZTIpO1xyXG4gICAgLW8tYmFja2dyb3VuZC1vcmlnaW46ICgkdmFsdWUxLCR2YWx1ZTIpO1xyXG4gICAgYmFja2dyb3VuZC1vcmlnaW46ICgkdmFsdWUxLCR2YWx1ZTIpO1xyXG59XHJcblxyXG4vLz09IEJvcmRlciByYWRpdXNcclxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1cykge1xyXG4gICAgYm9yZGVyLXJhZGl1cyAgICAgICAgIDogJHJhZGl1cztcclxuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1cyA6ICRyYWRpdXM7XHJcbiAgICAtbW96LWJvcmRlci1yYWRpdXMgICAgOiAkcmFkaXVzO1xyXG4gICAgLW1zLWJvcmRlci1yYWRpdXMgICAgIDogJHJhZGl1cztcclxuICAgIC1vLWJvcmRlci1yYWRpdXMgICAgICA6ICRyYWRpdXM7XHJcbn1cclxuXHJcbi8vPT0gVGV4dCBTaGFkb3dcclxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuQG1peGluIHRleHQtc2hhZG93KCRzaGFkb3cpIHtcclxuICAgIHRleHQtc2hhZG93ICAgICAgICAgOiAkc2hhZG93O1xyXG4gICAgLXdlYmtpdC10ZXh0LXNoYWRvdyA6ICRzaGFkb3c7XHJcbiAgICAtbW96LXRleHQtc2hhZG93ICAgIDogJHNoYWRvdztcclxuICAgIC1tcy10ZXh0LXNoYWRvdyAgICAgOiAkc2hhZG93O1xyXG4gICAgLW8tdGV4dC1zaGFkb3cgICAgICA6ICRzaGFkb3c7XHJcbn1cclxuXHJcbi8vPT0gVHJhbnNmb3JtIE9yaWdpblxyXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5AbWl4aW4gdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luWCwkb3JpZ2luWSkge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luIDogJG9yaWdpblggJG9yaWdpblk7XHJcbiAgICAtbW96LXRyYW5zZm9ybS1vcmlnaW4gICAgOiAkb3JpZ2luWCAkb3JpZ2luWTtcclxuICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luICAgICA6ICRvcmlnaW5YICRvcmlnaW5ZOyAvLyBJRTkgb25seVxyXG4gICAgdHJhbnNmb3JtLW9yaWdpbiAgICAgICAgIDogJG9yaWdpblggJG9yaWdpblk7XHJcbn1cclxuXHJcbi8vPT0gYXBwZWFyYW5jZVxyXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5AbWl4aW4gYXBwZWFyYW5jZSgpIHtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZSA6IG5vbmU7XHJcbiAgICAtbW96LWFwcGVhcmFuY2UgICAgOiBub25lO1xyXG4gICAgLW8tYXBwZWFyYW5jZSAgICAgIDogbm9uZTtcclxuICAgIC1tcy1hcHBlYXJhbmNlICAgICA6IG5vbmU7XHJcbiAgICBhcHBlYXJhbmNlICAgICAgICAgOiBub25lO1xyXG59XHJcblxyXG4vLz09IHNlbGVjdGlvblxyXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4kcHJlZml4ZXM6IChcIi1tb3otXCIsIFwiXCIpO1xyXG5AbWl4aW4gc2VsZWN0aW9uKCRjb2xvciwgJGJhY2tncm91bmQpIHtcclxuICAgIEBlYWNoICRwcmVmaXggaW4gJHByZWZpeGVzIHtcclxuICAgICAgICA6OiN7JHByZWZpeH1zZWxlY3Rpb24ge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vPT0gYW5pbWF0aW9uIGZpbGwgbW9kZVxyXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5AbWl4aW4gYW5pbWF0aW9uLWZpbGwtbW9kZSgkZmlsbCkge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiAkZmlsbDtcclxuICAgIC1tb3otYW5pbWF0aW9uLWZpbGwtbW9kZTogJGZpbGw7XHJcbiAgICAtby1hbmltYXRpb24tZmlsbC1tb2RlOiAkZmlsbDtcclxuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6ICRmaWxsO1xyXG59XHJcblxyXG4vLz09IGZpbHRlclxyXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5AbWl4aW4gZmlsdGVyKCRhcmd1bWVudCl7XHJcbiAgICBmaWx0ZXIgICAgICAgICA6ICRhcmd1bWVudDtcclxuICAgIC13ZWJraXQtZmlsdGVyIDogJGFyZ3VtZW50O1xyXG4gICAgLW1vei1maWx0ZXIgICAgOiAkYXJndW1lbnQ7XHJcbiAgICAtby1maWx0ZXIgICAgICA6ICRhcmd1bWVudDtcclxuICAgIC1tcy1maWx0ZXIgICAgIDogJGFyZ3VtZW50O1xyXG59XHJcblxyXG4vLyBDbGVhciBMaXN0c1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbkBtaXhpbiBjbGVhci1saXN0KCl7XHJcbiAgICBwYWRkaW5nICAgIDogMDtcclxuICAgIG1hcmdpbiAgICAgOiAwO1xyXG4gICAgbGlzdC1zdHlsZSA6IG5vbmU7XHJcbn1cclxuXHJcbi8vIEZvcm1hcnQgbGlzdHMgd2lkZ2V0XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuQG1peGluIGxpc3RzLXN0eWxlKCkge1xyXG4gICAgdWwsb2x7XHJcbiAgICAgICAgQGluY2x1ZGUgY2xlYXItbGlzdCgpO1xyXG4gICAgICAgIGxpe1xyXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxke1xyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGR7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNoaWxkcmVue1xyXG4gICAgICAgICAgICAgICAgPiBsaXtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB1bHtcclxuICAgICAgICAgICAgbGk6Zmlyc3QtY2hpbGR7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMTRweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMjRweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzcGluQXJvdW5ke1xyXG4gICAgZnJvbSB7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDBkZWcpO1xyXG4tbW96LXRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7XHJcbi1tcy10cmFuc2Zvcm06cm90YXRlKDBkZWcpO1xyXG4tby10cmFuc2Zvcm06cm90YXRlKDBkZWcpO1xyXG50cmFuc2Zvcm06cm90YXRlKDBkZWcpO31cclxuICAgIHRvIHstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKTtcclxuLW1vei10cmFuc2Zvcm06cm90YXRlKDM2MGRlZyk7XHJcbi1tcy10cmFuc2Zvcm06cm90YXRlKDM2MGRlZyk7XHJcbi1vLXRyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKTtcclxudHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpO31cclxufVxyXG4vKiBIaWVuIHRoaSBjaG8gU2FmYXJpIGFuZCBDaHJvbWUgKi9cclxuQC13ZWJraXQta2V5ZnJhbWVzIHNwaW5Bcm91bmQge1xyXG4gICAgZnJvbSB7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDBkZWcpO1xyXG4tbW96LXRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7XHJcbi1tcy10cmFuc2Zvcm06cm90YXRlKDBkZWcpO1xyXG4tby10cmFuc2Zvcm06cm90YXRlKDBkZWcpO1xyXG50cmFuc2Zvcm06cm90YXRlKDBkZWcpO31cclxuICAgIHRvIHstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKTtcclxuLW1vei10cmFuc2Zvcm06cm90YXRlKDM2MGRlZyk7XHJcbi1tcy10cmFuc2Zvcm06cm90YXRlKDM2MGRlZyk7XHJcbi1vLXRyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKTtcclxudHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpO31cclxufVxyXG4vKiBIaWVuIHRoaSBjaG8gRmlyZWZveCAqL1xyXG5ALW1vei1rZXlmcmFtZXMgc3BpbkFyb3VuZHtcclxuICAgIGZyb20gey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTtcclxuLW1vei10cmFuc2Zvcm06cm90YXRlKDBkZWcpO1xyXG4tbXMtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTtcclxuLW8tdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTtcclxudHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt9XHJcbiAgICB0byB7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDM2MGRlZyk7XHJcbi1tb3otdHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpO1xyXG4tbXMtdHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpO1xyXG4tby10cmFuc2Zvcm06cm90YXRlKDM2MGRlZyk7XHJcbnRyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKTt9XHJcbn1cclxuXHJcbi8qIEhpZW4gdGhpIGNobyBPcGVyYSAqL1xyXG5ALW8ta2V5ZnJhbWVzIHNwaW5Bcm91bmR7XHJcbiAgICBmcm9tIHstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7XHJcbi1tb3otdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTtcclxuLW1zLXRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7XHJcbi1vLXRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7XHJcbnRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7fVxyXG4gICAgdG8gey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpO1xyXG4tbW96LXRyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKTtcclxuLW1zLXRyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKTtcclxuLW8tdHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpO1xyXG50cmFuc2Zvcm06cm90YXRlKDM2MGRlZyk7fVxyXG59XHJcbkBpbXBvcnQgXCJmdW5jdGlvbnNcIjtcclxuXHJcbiIsIi8qXG4gKiBHbG9iYWwgdmFyaWFibGVzXG4gKi9cbiRpbWFnZS10aGVtZS1wYXRoICAgICAgICAgICAgICAgIDogJy4uL2ltYWdlcy8nICFkZWZhdWx0O1xuJGltYWdlLXRoZW1lLXNraW4gICAgICAgICAgICAgICAgOiAnLi4vaW1hZ2VzLycgIWRlZmF1bHQ7XG4vLyBzdGFuZGFyZCBjb2xvcnNcbiR3aGl0ZVx0XHQgICAgOiAjRkZGICFkZWZhdWx0O1xuJGJsYWNrXHRcdFx0OiAjMDAwICFkZWZhdWx0O1xuJG5vY29sb3JcdFx0OiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRsaWdodC1ncmF5XHQ6ICNDQ0MgIWRlZmF1bHQ7IFxuJHR1cnF1b2lzZTogICAjNDczOTQxICFkZWZhdWx0O1xuXG5cbi8vIGNvbG9yIGZvciBkZWZhdWx0IHRoZW1lXG4kdGhlbWUtY29sb3IgICAgOiAjZjI1YjIyICFkZWZhdWx0OyAvKiBtYWluIGNvbG9yIHdoaWNoIHdpbGwgYmUgdXNlZCBmb3IgYWxsIG1haW4gYmxvY2sgc3R5bGVzLi4uICovXG4kYm9yZGVyLWNvbG9yXHQ6ICNlNGU3ZWEgIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yLWJhc2U6I2UxZTFlMSAhZGVmYXVsdDsgXG5cbiR0aGVtZS1jb2xvci1zZWNvbmQgIFx0XHRcdCA6ICM0N2I4ZTAgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3ItZGVmYXVsdCAgICAgICAgICAgICA6ICNmZmNhMDAgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3ItaG92ZXIgICAgICAgICAgICAgICA6ICNmMjViMjIgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3Itc2Vjb25kYXJ5ICAgICAgICAgICA6ICMyNjJhMmUgIWRlZmF1bHQ7XG5cblxuLy8gVGhlbWUgTWFyZ2luLCBQYWRkaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kdGhlbWUtbWFyZ2luICAgIDogMzBweCAhZGVmYXVsdDtcbiR0aGVtZS1wYWRkaW5nICAgOiAzMHB4ICFkZWZhdWx0O1xuLy8gZm9udHNcbiRmb250LWZhbWlseS1zZWNvbmQgOiAgJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDsgXG4vKipcbiAqIEltcG9ydCBjb21wb25lbnQgdmFyaWFibGVzXG4gKi9cbkBpbXBvcnQgXCJ2YXJzL2Zvcm1cIjtcbkBpbXBvcnQgXCJ2YXJzL25hdlwiO1xuQGltcG9ydCBcInZhcnMvbGF5b3V0XCI7XG5AaW1wb3J0IFwidmFycy9lbGVtZW50c1wiO1xuQGltcG9ydCBcInZhcnMvd2lkZ2V0XCI7XG4iLCIvLyBTZWxlY3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRzZWxlY3Qtc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IDMycHggIWRlZmF1bHQ7XG4kc2VsZWN0LWJvcmRlci1jb2xvciAgICAgICAgICAgICAgICAgICAgOiAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJHNlbGVjdC1wYWRkaW5nICAgICAgICAgICAgICAgICAgICAgICAgIDogNHB4IDZweCAhZGVmYXVsdDtcblxuLy8gSW5wdXRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRpbnB1dC1wYWRkaW5nICAgICAgICAgICAgICAgICAgICAgICAgICA6IDVweCA2cHggIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplICAgICAgICAgICAgICAgICAgICAgICAgOiAkZm9udC1zaXplLWJhc2UgLSAxO1xuXG4kaW5wdXQtZ3JvdXAtZm9ybS1iZyAgICAgICAgICAgICAgICAgICAgOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1mb3JtLW1hcmdpbiAgICAgICAgICAgICAgICA6IDAgMCA1cHggMCFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLXBhZGRpbmcgICAgICAgICAgICAgICAgICAgIDogNnB4IDExcHggIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtZm9udC1zaXplICAgICAgICAgICAgICAgICAgOiAxMnB4ICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yICAgICAgICAgICAgICAgIDogI2ZmZiAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1oZWlnaHQgICAgICAgICAgICAgICAgICAgICA6IDQycHggIWRlZmF1bHQ7XG5cbiRpbnB1dC1mb3JtLWJnICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRncmF5LWRhcmtlciAhZGVmYXVsdDtcblxuLy8gQnV0dG9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kYnRuLXRyYW5zZm9ybSAgICAgICAgICAgICAgICAgICAgICAgICAgOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmctdmVydGljYWwgICAgICAgICAgICAgICAgICAgOiA1cHggIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmctaG9yaXpvbnRhbCAgICAgICAgICAgICAgICAgOiAyMHB4ICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUgICAgICAgICAgICAgICAgICAgICAgICAgIDogMTJweCAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQgICAgICAgICAgICAgICAgICAgICAgICA6IDMwcHggIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMgICAgICAgICAgICAgICAgICAgICAgOiA0cHggIWRlZmF1bHQ7XG5cbiRidG4tbGctcGFkZGluZy12ZXJ0aWNhbCAgICAgICAgICAgICAgICA6IDE1cHggIWRlZmF1bHQ7XG4kYnRuLWxnLXBhZGRpbmctaG9yaXpvbnRhbCAgICAgICAgICAgICAgOiAzMHB4ICFkZWZhdWx0O1xuJGJ0bi1sZy1mb250LXNpemUgICAgICAgICAgICAgICAgICAgICAgIDogMThweCAhZGVmYXVsdDtcbiRidG4tbGctbGluZS1oZWlnaHQgICAgICAgICAgICAgICAgICAgICA6ICRsaW5lLWhlaWdodC1sYXJnZSAhZGVmYXVsdDtcbiRidG4tbGctYm9yZGVyLXJhZGl1cyAgICAgICAgICAgICAgICAgICA6IDVweCAhZGVmYXVsdDtcblxuJGJ0bi1zbS1wYWRkaW5nLXZlcnRpY2FsICAgICAgICAgICAgICAgIDogN3B4ICFkZWZhdWx0O1xuJGJ0bi1zbS1wYWRkaW5nLWhvcml6b250YWwgICAgICAgICAgICAgIDogMTJweCAhZGVmYXVsdDtcbiRidG4tc20tZm9udC1zaXplICAgICAgICAgICAgICAgICAgICAgICA6IDEwcHggIWRlZmF1bHQ7XG4kYnRuLXNtLWxpbmUtaGVpZ2h0ICAgICAgICAgICAgICAgICAgICAgOiAkbGluZS1oZWlnaHQtc21hbGwgIWRlZmF1bHQ7XG4kYnRuLXNtLWJvcmRlci1yYWRpdXMgICAgICAgICAgICAgICAgICAgOiAkYm9yZGVyLXJhZGl1cy1zbWFsbCAhZGVmYXVsdDtcblxuJGJ0bi14cy1wYWRkaW5nLXZlcnRpY2FsICAgICAgICAgICAgICAgIDogNHB4ICFkZWZhdWx0O1xuJGJ0bi14cy1wYWRkaW5nLWhvcml6b250YWwgICAgICAgICAgICAgIDogMTBweCAhZGVmYXVsdDtcbiRidG4teHMtZm9udC1zaXplICAgICAgICAgICAgICAgICAgICAgICA6IDEwcHggIWRlZmF1bHQ7XG4kYnRuLXhzLWxpbmUtaGVpZ2h0ICAgICAgICAgICAgICAgICAgICAgOiAkbGluZS1oZWlnaHQtc21hbGwgIWRlZmF1bHQ7XG4kYnRuLXhzLWJvcmRlci1yYWRpdXMgICAgICAgICAgICAgICAgICAgOiAkYm9yZGVyLXJhZGl1cy1zbWFsbCAhZGVmYXVsdDtcblxuJGJ0bi1vdXRsaW5lLWNvbG9yICAgICAgICAgICAgICAgICAgICAgIDogJHdoaXRlICFkZWZhdWx0O1xuJGJ0bi1vdXRsaW5lLWhvdmVyLWNvbG9yICAgICAgICAgICAgICAgIDogJHdoaXRlICFkZWZhdWx0O1xuJGJ0bi1vdXRsaW5lLWhlaWdodCAgICAgICAgICAgICAgICAgICAgIDogMzZweCAhZGVmYXVsdDtcbiRidG4tb3V0bGluZS1wYWRkaW5nIFx0XHRcdDogM3B4IDE1cHggIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtYmcgICAgICAgICAgICAgICAgICAgICAgICAgOiAkdGhlbWUtY29sb3IgIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtaG92ZXItYmcgICAgICAgICAgICAgICAgICAgOiR0aGVtZS1jb2xvci1zZWNvbmQgIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtYm9yZGVyICAgICAgICAgICAgICAgICAgICAgOiAwICFkZWZhdWx0O1xuJGJ0bi1vdXRsaW5lLWJvcmRlci1ob3ZlciAgICAgICAgICAgICAgIDogMCAhZGVmYXVsdDtcbiRidG4tb3V0bGluZS1mb250LXNpemUgICAgICAgICAgICAgICAgICA6IDEycHggIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtbGluZS1oZWlnaHQgICAgICAgICAgICAgICAgOiAyOHB4ICFkZWZhdWx0O1xuJGJ0bi1vdXRsaW5lLWJvcmRlci1yYWRpdXMgICAgICAgICAgICAgIDogMCAhZGVmYXVsdDtcblxuJGJ0bi1vdXRsaW5lLXNtLXBhZGRpbmctdmVydGljYWwgICAgICAgIDogOHB4ICFkZWZhdWx0O1xuJGJ0bi1vdXRsaW5lLXNtLXBhZGRpbmctaG9yaXpvbnRhbCAgICAgIDogMThweCAhZGVmYXVsdDtcbiRidG4tb3V0bGluZS1zbS1mb250LXNpemUgICAgICAgICAgICAgICA6IDExcHggIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtc20tbGluZS1oZWlnaHQgICAgICAgICAgICAgOiAxLjMgIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtc20tYm9yZGVyLXJhZGl1cyAgICAgICAgICAgOiAzcHggIWRlZmF1bHQ7XG5cbiRidG4tb3V0bGluZS14cy1wYWRkaW5nLXZlcnRpY2FsICAgICAgICA6IDVweCAhZGVmYXVsdDtcbiRidG4tb3V0bGluZS14cy1wYWRkaW5nLWhvcml6b250YWwgICAgICA6IDE1cHggIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUteHMtZm9udC1zaXplICAgICAgICAgICAgICAgOiAxMXB4ICFkZWZhdWx0O1xuJGJ0bi1vdXRsaW5lLXhzLWxpbmUtaGVpZ2h0ICAgICAgICAgICAgIDogMS4yICFkZWZhdWx0O1xuJGJ0bi1vdXRsaW5lLXhzLWJvcmRlci1yYWRpdXMgICAgICAgICAgIDogM3B4ICFkZWZhdWx0O1xuXG4kYnRuLW91dGxpbmUtbGctcGFkZGluZy12ZXJ0aWNhbCAgICAgICAgOiAyMXB4ICFkZWZhdWx0O1xuJGJ0bi1vdXRsaW5lLWxnLXBhZGRpbmctaG9yaXpvbnRhbCAgICAgIDogNDhweCAhZGVmYXVsdDtcbiRidG4tb3V0bGluZS1sZy1mb250LXNpemUgICAgICAgICAgICAgICA6IDE0cHggIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtbGctbGluZS1oZWlnaHQgICAgICAgICAgICAgOiAzICFkZWZhdWx0O1xuJGJ0bi1vdXRsaW5lLWxnLWJvcmRlci1yYWRpdXMgICAgICAgICAgIDogNHB4ICFkZWZhdWx0O1xuXG4kYnRuLWludmVyc2UtY29sb3IgICAgICAgICAgICAgICAgICAgICAgOiAkYmxhY2sgIWRlZmF1bHQ7XG4kYnRuLWludmVyc2UtaG92ZXItY29sb3IgICAgICAgICAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kYnRuLWludmVyc2UtYmcgICAgICAgICAgICAgICAgICAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kYnRuLWludmVyc2UtaG92ZXItYmcgICAgICAgICAgICAgICAgICAgOiAkYmxhY2sgIWRlZmF1bHQ7XG4kYnRuLWludmVyc2UtYm9yZGVyLWNvbG9yICAgICAgICAgICAgICAgOiAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGJ0bi1pbnZlcnNlLWJvcmRlci1ob3Zlci1jb2xvciAgICAgICAgIDogJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRidG4taW52ZXJzZS1mb250LXNpemUgICAgICAgICAgICAgICAgICA6IDEycHggIWRlZmF1bHQ7XG4kYnRuLWludmVyc2UtcGFkZGluZyAgICAgICAgICAgICAgICAgICAgOiAxMHB4IDE1cHggIWRlZmF1bHQ7XG5cbiRidG4tb3V0bGluZS1pbnZlcnNlLWNvbG9yICAgICAgICAgICAgICA6ICR0aGVtZS1jb2xvci1zZWNvbmQgIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtaW52ZXJzZS1iZyAgICAgICAgICAgICAgICAgOiAkYmxhY2sgIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtaW52ZXJzZS1ib3JkZXItY29sb3IgICAgICAgOiAxcHggc29saWQgJGJ0bi1vdXRsaW5lLWludmVyc2UtYmcgIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtaW52ZXJzZS1ob3Zlci1iZyAgICAgICAgICAgOiAkdGhlbWUtY29sb3IgIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtaW52ZXJzZS1ob3Zlci1jb2xvciAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtaW52ZXJzZS1ib3JkZXItaG92ZXItY29sb3IgOiAxcHggc29saWQgJHRoZW1lLWNvbG9yLXNlY29uZCAhZGVmYXVsdDtcblxuLy8gU2VhcmNoXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kc2VhcmNoLWJnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kc2VhcmNoLWZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgOiAxMnB4ICFkZWZhdWx0O1xuJHNlYXJjaC1wYWRkaW5nICAgICAgICAgICAgICAgICAgICAgICAgIDogMTVweCAhZGVmYXVsdDtcbiRzZWFyY2gtd2lkdGggICAgICAgICAgICAgICAgICAgICAgICAgICA6IGF1dG8gIWRlZmF1bHQ7XG4kc2VhcmNoLWJ1dHRvbi1iZyAgICAgICAgICAgICAgICAgICAgICAgOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzZWFyY2gtbWFpbi1idXR0b24tYmcgICAgICAgICAgICAgICAgICA6ICR3aGl0ZSAhZGVmYXVsdDtcbiRzZWFyY2gtbWFpbi1idXR0b24tYm9yZGVyICAgICAgICAgICAgICA6ICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kc2VhcmNoLW1haW4tYnV0dG9uLWNvbG9yICAgICAgICAgICAgICAgOiAkZ3JheS1kYXJrZXIgIWRlZmF1bHQ7XG4kc2VhcmNoLWJ1dHRvbi1ib3JkZXIgICAgICAgICAgICAgICAgICAgOiAwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLWJ1dHRvbi1ob3Zlci1iZyAgICAgICAgICAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kc2VhcmNoLWJ1dHRvbi1jb2xvciAgICAgICAgICAgICAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kc2VhcmNoLWJ1dHRvbi1zaXplICAgICAgICAgICAgICAgICAgICAgOiAzNnB4ICFkZWZhdWx0O1xuJHNlYXJjaC1idXR0b24taG92ZXItY29sb3IgICAgICAgICAgICAgIDogJGdyYXktZGFya2VyICFkZWZhdWx0O1xuJHNlYXJjaC1yYWRpdXMgICAgICAgICAgICAgICAgICAgICAgICAgIDogM3B4ICFkZWZhdWx0O1xuJHNlYXJjaC1oZWlnaHQgICAgICAgICAgICAgICAgICAgICAgICAgIDogNTBweCAhZGVmYXVsdDtcbiRzZWFyY2gtYm9yZGVyICAgICAgICAgICAgICAgICAgICAgICAgICA6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHNlYXJjaC1ob3Zlci1ib3JkZXIgICAgICAgICAgICAgICAgICAgIDogJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRzZWFyY2gtYm9yZGVyLXJhZGl1cyAgICAgICAgICAgICAgICAgICA6IDRweCAhZGVmYXVsdDtcbiRzZWFyY2gtY2F0ZWdvcmllcy1ib3JkZXItcmFkaXVzICAgICAgICA6IDRweCAhaW1wb3J0YW50O1xuIiwiLy8gTWFpbiBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kbWVnYW1lbnUtYmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kbmF2YmFyLW1lZ2EtYm9yZGVyICAgICAgICAgICAgICAgICAgICAgICAgOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRuYXZiYXItbWVnYS1saW5lLWhlaWdodCAgICAgICAgICAgICAgICAgICA6IDc1cHggIWRlZmF1bHQ7XG5cbiRuYXZiYXItbWVnYS1za2luMi1iZyAgICAgICAgICAgICAgICAgICAgICA6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJG5hdmJhci1tZWdhLXNraW4yLWJvcmRlciAgICAgICAgICAgICAgICAgIDogJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbWVnYS1za2luMi1saW5lLWhlaWdodCAgICAgICAgICAgICA6IDMwcHggIWRlZmF1bHQ7IFxuXG4kbmF2YmFyLXRleHQtdHJhbnNmb3JtICAgICAgICAgICAgICAgICAgICAgOiBub25lICFkZWZhdWx0O1xuXG4kbmF2YmFyLWZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgOiAxNHB4ICFkZWZhdWx0O1xuJG5hdmJhci1mb250LXdlaWdodCAgICAgICAgICAgICAgICAgICAgICAgIDogNTAwICFkZWZhdWx0O1xuJG5hdmJhci1mb250LWZhbWlseSAgICAgICAgICAgICAgICAgICAgICAgIDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRuYXZiYXItbGluay1tYXJnaW4gICAgICAgICAgICAgICAgICAgICAgICA6IDAgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpbmstcGFkZGluZyAgICAgICAgICAgICAgICAgICAgICAgOiAwIDE1cHggIWRlZmF1bHQ7XG4kbmF2YmFyLWxpbmstY29sb3IgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZ3JheS1kYXJrZXIgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpbmstaG92ZXItY29sb3IgICAgICAgICAgICAgICAgICAgOiAkdGhlbWUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpbmstaG92ZXItYmcgICAgICAgICAgICAgICAgICAgICAgOiAkbm9jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbGluay1hY3RpdmUtY29sb3IgICAgICAgICAgICAgICAgICA6ICR0aGVtZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbGluay1hY3RpdmUtYmcgICAgICAgICAgICAgICAgICAgICA6ICRub2NvbG9yICFkZWZhdWx0O1xuXG4kbmF2YmFyLXdpZGdldC10aXRsZS1jb2xvciAgICAgICAgICAgICAgICAgOiAkYmxhY2sgIWRlZmF1bHQ7XG4kbmF2YmFyLXdpZGdldC10aXRsZS1tYXJnaW4gICAgICAgICAgICAgICAgOiAwIDAgMTBweCAwICFkZWZhdWx0O1xuJG5hdmJhci13aWRnZXQtdGl0bGUtZm9udC1zaXplICAgICAgICAgICAgIDogMTRweCAhZGVmYXVsdDtcbiRuYXZiYXItd2lkZ2V0LXRpdGxlLWZvbnQtd2VpZ2h0XHRcdCAgICAgICA6IDkwMCAhZGVmYXVsdDtcblxuJG5hdmJhci1kcm9wZG93bi1wYWRkaW5nICAgICAgICAgICAgICAgICAgIDogMTBweCAyMHB4IDAgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWJnICAgICAgICAgICAgICAgICAgICAgICAgOiAjZmZmICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1zaXplICAgICAgICAgICAgICAgICAgICAgIDogMjgwcHggIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWxpbmstY29sb3IgICAgICAgICAgICAgICAgOiAjMDAwICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yICAgICAgICAgIDogJHRoZW1lLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1saW5rLWhvdmVyLWJnICAgICAgICAgICAgIDogJG5vY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWxpbmstdHJhbnNmb3JtICAgICAgICAgICAgOiBub25lICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1saW5rLWZvbnQtc2l6ZSAgICAgICAgICAgIDogMTRweCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbGluay1mb250LXdlaWdodCAgICAgICAgICA6IDMwMCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbGluay1ib3JkZXItY29sb3IgICAgICAgICA6ICRub2NvbG9yICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpbmstc21hbGwtcGFkZGluZyAgICAgICAgICAgICAgICAgOiAxOHB4IDAgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpbmstbGFyZ2UtcGFkZGluZyAgICAgICAgICAgICAgICAgOiA0NnB4IDAgNDZweCAhZGVmYXVsdDsgIFxuXG4vLyBWZXJ0aWNhbCBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kbmF2YmFyLXZlcnRpY2FsbWVudS1jb2xvcjogICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kbmF2YmFyLXZlcnRpY2FsbWVudS1saW5rLXBhZGRpbmc6IFx0XHRcdDEzcHggMjBweCFkZWZhdWx0O1xuJG5hdmJhci12ZXJ0aWNhbG1lbnUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICNlZWVlZWUgIWRlZmF1bHQ7XG4vLyBUb3AgTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJG5hdmJhci1tZW51dG9wLWZvbnQtd2VpZ2h0XHRcdFx0XHQgICAgOiA4MDAgIWRlZmF1bHQ7XG4kbmF2YmFyLW1lbnV0b3AtZm9udC1zaXplXHRcdFx0XHQgICAgICAgOiAxMnB4ICFkZWZhdWx0O1xuJG5hdmJhci1tZW51dG9wLXBhZGRpbmctdG9wXHRcdFx0XHQgICAgOiAyMnB4ICFkZWZhdWx0O1xuJG5hdmJhci1tZW51dG9wLXBhZGRpbmctYm90dG9tXHRcdFx0ICAgIDogMThweCAhZGVmYXVsdDtcbiRuYXZiYXItbWVudXRvcC1jb2xvclx0XHRcdFx0XHQgICAgICAgOiAjODI4MjgyICFkZWZhdWx0O1xuJG5hdmJhci1tZW51dG9wLW1hcmdpblx0XHRcdFx0XHQgICAgICAgOiAwIDEwcHggIWRlZmF1bHQ7XG5cbi8vIE9mZi1DYW52YXMgTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJG5hdmJhci1vZmZjYW52YXMtd2lkdGggICAgICAgICAgICAgICAgICAgIDogNjklICFkZWZhdWx0O1xuJG5hdmJhci1vZmZjYW52YXMtYmctY2xvc2UgICAgICAgICAgICAgICAgIDogJG5vY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLW9mZmNhbnZhcy1jb2xvciAgICAgICAgICAgICAgICAgICAgOiAkYmxhY2sgIWRlZmF1bHQ7XG4kbmF2YmFyLW9mZmNhbnZhcy1iZyAgICAgICAgICAgICAgICAgICAgICAgOiAjZjVmNWY1ICAhZGVmYXVsdDtcbiRuYXZiYXItb2ZmY2FudmFzLWJvcmRlciAgICAgICAgICAgICAgICAgICA6IHJnYmEoMCwgMCwgMCwgMC4xKSAhZGVmYXVsdDtcblxuLy8gSW52ZXJ0ZWQgbmF2YmFyIGxpbmtzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kbmF2YmFyLW9mZmNhbnZhcy1saW5rLWNvbG9yICAgICAgICAgICAgICAgOiAkdGV4dC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItb2ZmY2FudmFzLWxpbmstaG92ZXItY29sb3IgICAgICAgICA6ICMwMjgxQUIgIWRlZmF1bHQ7XG4kbmF2YmFyLW9mZmNhbnZhcy1saW5rLWhvdmVyLWJnICAgICAgICAgICAgOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRuYXZiYXItb2ZmY2FudmFzLWxpbmstYWN0aXZlLWNvbG9yICAgICAgICA6ICRuYXZiYXItb2ZmY2FudmFzLWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLW9mZmNhbnZhcy1saW5rLWFjdGl2ZS1iZyAgICAgICAgICAgOiBkYXJrZW4oJG5hdmJhci1vZmZjYW52YXMtYmcsIDEwJSkgIWRlZmF1bHQ7XG4kbmF2YmFyLW9mZmNhbnZhcy1saW5rLWRpc2FibGVkLWNvbG9yICAgICAgOiAjNDQ0ICFkZWZhdWx0O1xuJG5hdmJhci1vZmZjYW52YXMtbGluay1kaXNhYmxlZC1iZyAgICAgICAgIDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kbmF2YmFyLW9mZmNhbnZhcy1saW5rLWZvbnQtc2l6ZSAgICAgICAgICAgOiAxNHB4ICFkZWZhdWx0O1xuXG4vLyBJbnZlcnRlZCBuYXZiYXIgYnJhbmQgbGFiZWxcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRuYXZiYXItb2ZmY2FudmFzLWJyYW5kLWNvbG9yICAgICAgICAgICAgICA6ICRuYXZiYXItb2ZmY2FudmFzLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLW9mZmNhbnZhcy1icmFuZC1ob3Zlci1jb2xvciAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kbmF2YmFyLW9mZmNhbnZhcy1icmFuZC1ob3Zlci1iZyAgICAgICAgICAgOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gSW52ZXJ0ZWQgbmF2YmFyIHNlYXJjaFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJG5hdmJhci1vZmZjYW52YXMtc2VhcmNoLWJnICAgICAgICAgICAgICAgIDogbGlnaHRlbigkbmF2YmFyLW9mZmNhbnZhcy1iZywgMjUlKSAhZGVmYXVsdDtcbiRuYXZiYXItb2ZmY2FudmFzLXNlYXJjaC1iZy1mb2N1cyAgICAgICAgICA6ICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXZiYXItb2ZmY2FudmFzLXNlYXJjaC1ib3JkZXIgICAgICAgICAgICA6ICRuYXZiYXItb2ZmY2FudmFzLWJnICFkZWZhdWx0O1xuJG5hdmJhci1vZmZjYW52YXMtc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG9yIDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG4kbmF2YmFyLW9mZmNhbnZhcy1zZWFyY2gtaW5wdXQtYmcgICAgICAgICAgOiB0cmFuc3BhcmVudGl6ZSgkYmxhY2ssIC4xMCkgIWRlZmF1bHQ7XG5cbi8vIEludmVydGVkIG5hdmJhciB0b2dnbGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRuYXZiYXItb2ZmY2FudmFzLXRvZ2dsZS1ob3Zlci1iZyAgICAgICAgICA6ICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4kbmF2YmFyLW9mZmNhbnZhcy10b2dnbGUtaWNvbi1iYXItYmcgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kbmF2YmFyLW9mZmNhbnZhcy10b2dnbGUtYm9yZGVyLWNvbG9yICAgICAgOiAkZ3JheS1kYXJrICFkZWZhdWx0O1xuXG4kbmF2YmFyLW9mZmNhbnZhcy1idXR0b24tcG9zaXRpb24gICAgICAgICAgOiAtMTcycHggIWRlZmF1bHQ7IiwiXG4vLyBUb3BiYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiR0b3BiYXItYmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogIzNiM2IzYiAhZGVmYXVsdDtcbiR0b3BiYXItbGluay1jb2xvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstaG92ZXItY29sb3IgICAgICAgICAgICAgICAgICAgICAgICA6ICR0aGVtZS1jb2xvciAhZGVmYXVsdDtcbiR0b3BiYXItY29sb3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG4kdG9wYmFyLWJvcmRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IDAgIWRlZmF1bHQ7XG4kdG9wYmFyLWZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IDEycHggIWRlZmF1bHQ7XG4kdG9wYmFyLWljb24tY29sb3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICR0aGVtZS1jb2xvci1kZWZhdWx0ICFkZWZhdWx0O1xuJHRvcGJhci1pY29uLWZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgOiAxMHB4ICFkZWZhdWx0O1xuJHRvcGJhci10ZXh0LXRyYW5zZm9ybSAgICAgICAgICAgICAgICAgICAgICAgICAgOiBub25lICFkZWZhdWx0O1xuJHRvcGJhci1wYWRkaW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgIFx0XHQ6IDEycHggMCAhZGVmYXVsdDtcblxuLy8vLyBIZWFkZXJcblxuJGhlYWRlci1tYWluLXBhZGRpbmcgOiAxNXB4IDAgIWRlZmF1bHQ7IFxuXG5cblxuJG1hc3Nib3R0b20taGVhZC1iZ1x0XHQgOiAkdGhlbWUtY29sb3IgIWRlZmF1bHQ7XG4kbWFzc2JvdHRvbS1oZWFkLXBhZGRpbmcgOiA2cHggOXB4ICFkZWZhdWx0O1xuJG1hc3Nib3R0b20taGVhZC1jb2xvciAgIDogJHRoZW1lLWNvbG9yICFkZWZhdWx0O1xuJG1hc3Nib3R0b20taGVhZC1ib3JkZXItY29sb3I6IGRhcmtlbigkbWFzc2JvdHRvbS1oZWFkLWJnLDQlKSFkZWZhdWx0OyBcblxuLyoqXG4gKlxuICovXG5cbiAkbWFpbm1lbnUtYmc6ICMyMjIyMjIgIWRlZmF1bHQ7XG5cblxuXG5cbi8vIEZvb3RlclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgXG4kZm9vdGVyLWJnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRncmF5LWRhcmtlciAhZGVmYXVsdDtcbiRmb290ZXItY29sb3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG4kZm9vdGVyLXRyYW5zZm9ybSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IG5vbmUgIWRlZmF1bHQ7XG4kZm9vdGVyLWZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IDE0cHggIWRlZmF1bHQ7IFxuJGZvb3Rlci1ib3JkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBub25lICFkZWZhdWx0O1xuJGZvb3Rlci1wYWRkaW5nLXRvcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiA1MHB4ICFkZWZhdWx0O1xuJGZvb3Rlci1wYWRkaW5nLWJvdHRvbSAgICAgICAgICAgICAgICAgICAgICAgICAgOiA1MHB4ICFkZWZhdWx0O1xuJGZvb3Rlci10ZXh0LWhpZ2h0bGlnaHQgICAgICAgICAgICAgICAgICAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kZm9vdGVyLWxpbmstZm9udC1zaXplXHRcdFx0XHRcdFx0XHQ6IDE0cHggIWRlZmF1bHQ7XG4kZm9vdGVyLWNvbHVtbi1tYXJnaW4gICAgICAgICAgICAgICAgICAgICAgICAgICA6IDAgMCAyNXB4IDAgIWRlZmF1bHQ7XG4kZm9vdGVyLWxpbmstY29sb3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICM5OTk5OTkgIWRlZmF1bHQ7XG4kZm9vdGVyLWxpbmstaG92ZXItY29sb3IgICAgICAgICAgICAgICAgICAgICAgICA6ICR0aGVtZS1jb2xvciAhZGVmYXVsdDtcbiRmb290ZXItaWNvbi1jb2xvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZGFya2VuKCR3aGl0ZSwgMjAlKSAhZGVmYXVsdDtcbiRmb290ZXItaWNvbi1mb250LXNpemUgICAgICAgICAgICAgICAgICAgICAgICAgIDogMTNweCAhZGVmYXVsdDtcbiRmb290ZXItaGVhZGluZy1mb250LXNpemUgICAgICAgICAgICAgICAgICAgICAgIDogMThweCAhZGVmYXVsdDtcbiRmb290ZXItaGVhZGluZy1jb2xvciAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGJsYWNrICFkZWZhdWx0O1xuJGZvb3Rlci1oZWFkaW5nLW1hcmdpbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiAwIDAgMjVweCAhZGVmYXVsdDtcbiRmb290ZXItaGVhZGluZy1wYWRkaW5nICAgICAgICAgICAgICAgICAgICAgICAgIDogMCAwIDIwcHggIWRlZmF1bHQ7XG4kZm9vdGVyLWhlYWRpbmctZGlzcGxheSAgICAgICAgICAgICAgICAgICAgICAgICA6IG5vbmUgIWRlZmF1bHQ7XG4kZm9vdGVyLWhlYWRpbmctdHJhbnNmb3JtICAgICAgICAgICAgICAgICAgICAgICA6IG5vbmUgIWRlZmF1bHQ7XG4kZm9vdGVyLWxpc3QtdHJhbnNmb3JtICAgICAgICAgICAgICAgICAgICAgICAgICA6IG5vbmUgIWRlZmF1bHQ7XG4kZm9vdGVyLWxpc3QtZm9udC1zaXplICAgICAgICAgICAgICAgICAgICAgICAgICA6IDE0cHggIWRlZmF1bHQ7IFxuJGZvb3Rlci1saXN0LW1hcmdpbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAwIDAgMTBweCAhZGVmYXVsdDtcbiRmb290ZXItbGlzdC1saWdodC1oZWlnaHQgICAgICAgICAgICAgICAgICAgICAgIDogMi41ICFkZWZhdWx0OyAgXG4kZm9vdGVyLWhlYWRpbmctZndlaWdodCAgICAgICAgICAgICAgICAgICAgICAgICA6IDQwMCAhZGVmYXVsdDtcbiRmb290ZXItaGVhZGluZy1mZmFtaWx5ICAgICAgICAgICAgICAgICAgICAgICAgIDogJGZvbnQtZmFtaWx5LXNlY29uZCAhZGVmYXVsdDtcblxuJGZvb3Rlci1uZXdzbGV0dGVyLXBhZGRpbmcgICAgICAgICAgICAgICAgICAgICAgOiAyNXB4ICFkZWZhdWx0O1xuJGZvb3Rlci1uZXdzbGV0dGVyLWJnICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkdGhlbWUtY29sb3IgIWRlZmF1bHQ7XG4kZm9vdGVyLW5ld3NsZXR0ZXItY29sb3IgICAgICAgICAgICAgICAgICAgICAgICA6ICM0ODQ4NDggIWRlZmF1bHQ7XG4kZm9vdGVyLW5ld3NsZXR0ZXItaGVhZGluZy1mb250LXNpemUgICAgICAgICAgICA6IDE4cHggIWRlZmF1bHQ7XG5cbiRmb290ZXItdG9wLWJnIFx0XHRcdFx0XHRcdFx0XHRcdDogJHdoaXRlICFkZWZhdWx0O1xuJGZvb3Rlci10b3AtY29sb3IgIFx0XHRcdFx0XHRcdFx0XHQ6ICM5OTk5OTkgIWRlZmF1bHQ7XG4kZm9vdGVyLXRvcC1wYWRkaW5nLXRvcFx0XHRcdFx0XHRcdFx0OiAxMnB4ICFkZWZhdWx0OyBcbiRmb290ZXItdG9wLXBhZGRpbmctYm90dG9tXHRcdFx0XHRcdFx0OiAxMnB4ICFkZWZhdWx0O1xuJGZvb3Rlci10b3AtZm9udC1zaXplXHRcdFx0XHRcdFx0XHQ6IDEycHggIWRlZmF1bHQ7XG4kZm9vdGVyLXRvcC1sZXR0ZXItc3BhY2luZ1x0XHRcdFx0XHRcdDogMnB4ICFkZWZhdWx0O1xuJGZvb3Rlci10b3AtYm9yZGVyLWNvbG9yIFx0XHRcdFx0XHRcdDogcmdiYSgwLCAwLCAwLCAwLjEpO1xuLy8gQ29weXJpZ2h0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAvLyBDb3B5cmlnaHRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRjb3B5cmlnaHQtYmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogIzA5MTcyOSAhZGVmYXVsdDtcbiRjb3B5cmlnaHQtY29sb3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogIzk5OSAhZGVmYXVsdDtcbiRjb3B5cmlnaHQtbGluay1jb2xvciAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJHRoZW1lLWNvbG9yICFkZWZhdWx0O1xuJGNvcHlyaWdodC1wYWRkaW5nLXRvcCAgICAgICAgICAgICAgICAgICAgICAgICAgOiA0MHB4ICFkZWZhdWx0O1xuJGNvcHlyaWdodC1wYWRkaW5nLWJvdHRvbSAgICAgICAgICAgICAgICAgICAgICAgOiA0MHB4ICFkZWZhdWx0O1xuJGNvcHlyaWdodC1mb250LXNpemVcdFx0XHRcdFx0XHRcdCAgICAgICAgIDogMTRweCAhZGVmYXVsdDsgXG4kY29weXJpZ2h0LWZvbnQtd2VpZ2h0XHRcdFx0XHRcdFx0XHQgICAgICA6IDQwMCAhZGVmYXVsdDtcblxuJGRlbC1mb250LXNpemVcdFx0XHRcdFx0XHRcdFx0XHQgICAgICAgICA6IDEycHggIWRlZmF1bHQ7XG4kZGVsLWNvbG9yXHRcdFx0XHRcdFx0XHRcdFx0XHQgICAgICAgICA6ICM5OTk5OTk7IiwiJGJvLXBhcmFsbGF4LWJlZm9yZS1iYWNrZ3JvdW5kIDogdXJsKFwiaHR0cDovL3ZlbnVzZGVtby5jb20vd3BvcGFsL21peC9tb2JpbGUvd3AtY29udGVudC91cGxvYWRzLzIwMTQvMTEvYmctZm9vdGVyLWNkLmpwZ1wiKSFkZWZhdWx0O1xuXG4kZWxlbWVudC1jb2xvci1wcmltYXJ5ICAgICAgICA6ICR0aGVtZS1jb2xvciAhZGVmYXVsdDtcbiRibHVlOiAgICAgICAgICAgICAgICAgIFx0XHQjODlkMzA5ICFkZWZhdWx0O1xuJHJlZDogICAgICAgICAgICAgICAgICBcdFx0ICAgICNmODQxNDMgIWRlZmF1bHQ7ICAvLyBTa2luIHNreVxuIC8qIC0tLSBTQ1NTIEZvciBBY2NvcmRpb24gLS0tICovXG4kYm8tYWNjb3JkaW9uLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7IFxuJGJvLWFjY29yZGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuXG4kYm8tYWNjb3JkaW9uLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgI2VlZSAhZGVmYXVsdDtcblxuIC8qIC0tLSBTQ1NTIEZvciBCcmVhZGNydW1iIC0tLSAqL1xuXG4gLyogLS0tIFNDU1MgRm9yIEJ1dHRvbnMgLS0tICovXG5cbiAvKiAtLS0gU0NTUyBGb3IgQ2FsbC10by1hY3Rpb24gLS0tICovJHdoaXRlIDogI0ZGRkZGRiAhZGVmYXVsdDtcblxuIC8qIC0tLSBTQ1NTIEZvciBDb250ZW50LXNsaWRlciAtLS0gKi8vKiAgKi9cblxuJGJvLWNhcm91c2VsLW1kLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDRweCAhZGVmYXVsdDtcbiRiby1jYXJvdXNlbC1tZC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ0cHggIWRlZmF1bHQ7XG5cbiRiby1jYXJvdXNlbC1zbS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDM0cHggIWRlZmF1bHQ7XG4kYm8tY2Fyb3VzZWwtc20taGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAzNHB4ICFkZWZhdWx0O1xuXG4kYm8tY2Fyb3VzZWwteHMtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyOHB4ICFkZWZhdWx0O1xuJGJvLWNhcm91c2VsLXhzLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMjhweCAhZGVmYXVsdDtcbiBcbi8qIGNhcm91c2VsLWNvbnRyb2xzLXYxICovXG4kYm8tY2Fyb3VzZWwtY29udHJvbHMtdjEtY29sb3I6ICAgICAgICAgICAgICAgICAgICAjOTk5ICFkZWZhdWx0O1xuJGJvLWNhcm91c2VsLWNvbnRyb2xzLXYxLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgZGFya2VuKCRiby1jYXJvdXNlbC1jb250cm9scy12MS1jb2xvciwgMTUlKSAhZGVmYXVsdDtcbiRiby1jYXJvdXNlbC1jb250cm9scy12MS1iZzogICAgICAgICAgICAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgMC41KSAhZGVmYXVsdDtcblxuLyogY2Fyb3VzZWwtY29udHJvbHMtdjIgKi9cbiRiby1jYXJvdXNlbC1jb250cm9scy12Mi1jb2xvcjogICAgICAgICAgICAgICAgICAgICM5OTkgIWRlZmF1bHQ7XG4kYm8tY2Fyb3VzZWwtY29udHJvbHMtdjItaG92ZXItY29sb3I6ICAgICAgICAgICAgICBkYXJrZW4oJGJvLWNhcm91c2VsLWNvbnRyb2xzLXYyLWNvbG9yLCAyNSUpICFkZWZhdWx0O1xuXG4vKiBjYXJvdXNlbC1jb250cm9scy12MyAqL1xuJGJvLWNhcm91c2VsLWNvbnRyb2xzLXYzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJGJvLWNhcm91c2VsLWNvbnRyb2xzLXYzLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRiby1jYXJvdXNlbC1jb250cm9scy12My1iZzogICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAgIWRlZmF1bHQ7XG4kYm8tY2Fyb3VzZWwtY29udHJvbHMtdjMtaG92ZXItYmc6ICAgICAgICAgICAgICAgICAkZWxlbWVudC1jb2xvci1wcmltYXJ5ICFkZWZhdWx0O1xuXG5cblxuLyogTmF2aWdhdGlvbiBTdHlsZXMgKi9cblxuLyogY2Fyb3VzZWwtaW5kaWNhdG9ycy12MSAqL1xuJGJvLWNhcm91c2VsLWluZGljYXRvcnMtdjEtYmc6ICAgICAgICAgICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbiRiby1jYXJvdXNlbC1pbmRpY2F0b3JzLXYxLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuXG4vKiBjYXJvdXNlbC1pbmRpY2F0b3JzLXYyICovXG4kYm8tY2Fyb3VzZWwtaW5kaWNhdG9ycy12Mi1iZzogICAgICAgICAgICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuJGJvLWNhcm91c2VsLWluZGljYXRvcnMtdjItaG92ZXItYmc6ICAgICAgICAgICAgICAgJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XG5cbi8qIGNhcm91c2VsLWluZGljYXRvcnMtdjMgKi9cbiRiby1jYXJvdXNlbC1pbmRpY2F0b3JzLXYzLWJnOiAgICAgICAgICAgICAgICAgICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuJGJvLWNhcm91c2VsLWluZGljYXRvcnMtdjMtaG92ZXItYmc6ICAgICAgICAgICAgICAgJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XG5cbi8qIGNhcm91c2VsLWluZGljYXRvcnMtdjQgKi9cbiRiby1jYXJvdXNlbC1pbmRpY2F0b3JzLXY0LWJnOiAgICAgICAgICAgICAgICAgICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuJGJvLWNhcm91c2VsLWluZGljYXRvcnMtdjQtaG92ZXItYmc6ICAgICAgICAgICAgICAgJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XG5cblxuLyogY2Fyb3VzZWwtaW5kaWNhdG9ycy12NSAqL1xuJGJvLWNhcm91c2VsLWluZGljYXRvcnMtdjUtYmc6ICAgICAgICAgICAgICAgICAgICAgJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XG4kYm8tY2Fyb3VzZWwtaW5kaWNhdG9ycy12NS1ob3Zlci1iZzogICAgICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcblxuLyogY2Fyb3VzZWwtaW5kaWNhdG9ycy12NiAqL1xuJGJvLWNhcm91c2VsLWluZGljYXRvcnMtdjYtYmc6ICAgICAgICAgICAgICAgICAgICAgJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XG4kYm8tY2Fyb3VzZWwtaW5kaWNhdG9ycy12Ni1ob3Zlci1iZzogICAgICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcblxuIC8qIC0tLSBTQ1NTIEZvciBDb3VudGVycyAtLS0gKi8kYm8tY291bnRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnk7XG4kYm8tY291bnRlci1mb250LXdlaWdodDogICAgICAgICAgICAgODAwO1xuJGJvLWNvdW50ZXItZm9udC1zaXplOiAgICAgICAgICAgICAgIDM2cHg7XG5cbiRiby1jb3VudGVyLWljb24tZm9udC1zaXplOiAgICAgICAgICA0NnB4O1xuJGJvLWNvdW50ZXItaGVhZGluZy1mb250LXdlaWdodDogICAgIDcwMDtcblxuIC8qIC0tLSBTQ1NTIEZvciBIZWFkaW5nIC0tLSAqLyRiby1oZWFkaW5nLWNvbG9yOiAgICAgICAgICAgICRicmFuZC1zdWNjZXNzO1xuXG4gLyogLS0tIFNDU1MgRm9yIEljb24tYm94IC0tLSAqL1xuXG4gLyogLS0tIFNDU1MgRm9yIEludGVyYWN0aXZlLWJhbm5lciAtLS0gKi9cblxuIC8qIC0tLSBTQ1NTIEZvciBMYXRlc3QtcG9zdHMgLS0tICovLyogbGF0ZXN0IHBvc3RzICovXG4kYm8tbGF0ZXN0LXBvc3RzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAjNjk2OTY5O1xuJGJvLWxhdGVzdC1wb3N0cy1hLWNvbG9yOiAgICAgICAgICAgICAgICAgIzAwMDtcbiRiby1sYXRlc3QtcG9zdHMtYS1ob3Zlci1jb2xvcjogICAgICAgICAgIHJlZDtcbiRiby1sYXRlc3QtcG9zdHMtZm9udC1zaXplOiAgICAgICAgICAgICAgIDE0cHg7XG4kYm8tbGF0ZXN0LXBvc3RzLXRpdGxlLWZvbnQtc2l6ZTogICAgICAgICAxOHB4O1xuXG4kYm8tbGF0ZXN0LXBvc3RzLXByb2ZpbGUtZm9udC1zaXplOiAgICAgICAxM3B4O1xuJGJvLWxhdGVzdC1wb3N0cy1wcm9maWxlLWNvbG9yOiAgICAgICAgICAgIzY5Njk2OTtcblxuIC8qIC0tLSBTQ1NTIEZvciBMaXN0IC0tLSAqLy8qIHZhcmlhYmxlcyBmb3IgbGlzdCAqL1xuJGJvLWxpc3QtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIzY2NiAhZGVmYXVsdDsgXG4kYm8tbGlzdC1hLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkYm8tbGlzdC1jb2xvciAhZGVmYXVsdDsgXG4kYm8tbGlzdC1hLWNvbG9yLWhvdmVyOiAgICAgICAgICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAgIWRlZmF1bHQ7XG5cbi8qIHZhcmlhYmxlcyBmb3IgbGlzdCBsaWdodCAqL1xuXG4kYm8tbGlzdC1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAjRkZGRkZGICFkZWZhdWx0OyBcbiRiby1saXN0LWxpZ2h0LWEtY29sb3I6ICAgICAgICAgICAgICAgICAgICRiby1saXN0LWxpZ2h0LWNvbG9yICFkZWZhdWx0OyBcbiRiby1saXN0LWxpZ2h0LWEtY29sb3ItaG92ZXI6ICAgICAgICAgICAgICRicmFuZC1zdWNjZXNzICAhZGVmYXVsdDtcblxuXG4gLyogLS0tIFNDU1MgRm9yIE1lc3NhZ2UgLS0tICovXG5cbiAvKiAtLS0gU0NTUyBGb3IgTmV3c2xldHRlciAtLS0gKi8kbmV3c2xldHRlci12Mi1iZyAgICAgICAgICAgIDogbGlnaHRlbigkZ3JheS1saWdodCwgNTAlKSAhZGVmYXVsdDtcbiRuZXdzbGV0dGVyLXYzLWJnICAgICAgICAgICAgOiAkZ3JheS1kYXJrICFkZWZhdWx0O1xuXG5cbiAvKiAtLS0gU0NTUyBGb3IgUGllY2hhcnQgLS0tICovXG5cbiAvKiAtLS0gU0NTUyBGb3IgUHJpY2luZyAtLS0gKi9cblxuIC8qIC0tLSBTQ1NTIEZvciBQcm9jZXNzLXN0ZXBzIC0tLSAqLy8qIHByb2Nlc3Mtc3RlcHMgKi9cbiRiby1wcm9jZXNzLXN0ZXBzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAjMDAwO1xuJGJvLXByb2Nlc3Mtc3RlcHMtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICMwMDA7XG5cbiRiby1wcm9jZXNzLXN0ZXBzLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAkYnJhbmQtc3VjY2VzcztcbiRiby1wcm9jZXNzLXN0ZXBzLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgICAkYnJhbmQtc3VjY2VzcztcblxuIC8qIC0tLSBTQ1NTIEZvciBTZXJ2aWNlIC0tLSAqLy8qIHZhcmlhYmxlcyBmb3IgdGFiIHN0eWxlMSB1c2luZyBhcyBiYXNlIG9mIHRhYiAqL1xuXG5cbiAvKiAtLS0gU0NTUyBGb3IgU3R5bGUtaWNvbiAtLS0gKi8vKiBWYXJpYWJsZXMgaWNvbnMgZGVmYXVsdCAqL1xuJGJvLXN0eWxlLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiFkZWZhdWx0O1xuJGJvLXN0eWxlLWljb24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiFkZWZhdWx0O1xuJGJvLXN0eWxlLWljb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJyYW5kLXN1Y2Nlc3MhZGVmYXVsdDtcbiRiby1zdHlsZS1pY29uLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhcmtlbigkYm8tc3R5bGUtaWNvbi1iZywgNSUpIWRlZmF1bHQ7XG5cbi8qIFZhcmlhYmxlcyBpY29ucyBib2RlcmVkICovXG4kYm8tc3R5bGUtaWNvbi1ib2RlcmVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyFkZWZhdWx0O1xuJGJvLXN0eWxlLWljb24tYm9kZXJlZC1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgZGFya2VuKCRiby1zdHlsZS1pY29uLWJvZGVyZWQtY29sb3IsIDEwJSkhZGVmYXVsdDtcblxuLyogVmFyaWFibGVzIGljb25zIGRhcmtlciAqL1xuJGJvLXN0eWxlLWljb24tZGFya2VyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICNmZmYhZGVmYXVsdDtcbiRiby1zdHlsZS1pY29uLWRhcmtlci1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAjZmZmIWRlZmF1bHQ7XG4kYm8tc3R5bGUtaWNvbi1kYXJrZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIzAwMCFkZWZhdWx0O1xuJGJvLXN0eWxlLWljb24tZGFya2VyLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGJvLXN0eWxlLWljb24tZGFya2VyLWJnLCAzNSUpIWRlZmF1bHQ7XG5cbi8qIFZhcmlhYmxlcyBpY29ucyBsaWdodCAqL1xuJGJvLXN0eWxlLWljb24tbGlnaHQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgIzAwMCFkZWZhdWx0O1xuJGJvLXN0eWxlLWljb24tbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgI2ZmZiFkZWZhdWx0O1xuJGJvLXN0eWxlLWljb24tbGlnaHQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgI2YwZjBmMCFkZWZhdWx0O1xuJGJvLXN0eWxlLWljb24tbGlnaHQtaG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRiby1zdHlsZS1pY29uLWxpZ2h0LWJnLCAxMCUpIWRlZmF1bHQ7XG5cbi8qIFZhcmlhYmxlcyBpY29ucyBwbGFpbiAqL1xuJGJvLXN0eWxlLWljb24tcGxhaW4tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGJyYW5kLXN1Y2Nlc3MhZGVmYXVsdDtcbiRiby1zdHlsZS1pY29uLXBsYWluLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICMwMDAhZGVmYXVsdDtcbiRiby1zdHlsZS1pY29uLXBsYWluLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50IWRlZmF1bHQ7XG4kYm8tc3R5bGUtaWNvbi1wbGFpbi1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCFkZWZhdWx0O1xuXG4vKiBWYXJpYWJsZXMgaWNvbnMgZm9yIGxpZ2h0IHN0eWxlICovXG4kYm8tbGlnaHQtc3R5bGUtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyFkZWZhdWx0O1xuJGJvLWxpZ2h0LXN0eWxlLWljb24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgJGJyYW5kLXN1Y2Nlc3MhZGVmYXVsdDtcbiRiby1saWdodC1zdHlsZS1pY29uLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50IWRlZmF1bHQ7XG4kYm8tbGlnaHQtc3R5bGUtaWNvbi1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAgICBkYXJrZW4oI2ZmZiwgNSUpIWRlZmF1bHQ7XG5cbiRiby1saWdodC1zdHlsZS1pY29uLWJvZGVyZWQtY29sb3I6ICAgICAgICAgICAgICAgICNmZmYhZGVmYXVsdDtcbiRiby1saWdodC1zdHlsZS1pY29uLWJvZGVyZWQtaG92ZXItY29sb3I6ICAgICAgICAgIGRhcmtlbigjZmZmLCA1JSkhZGVmYXVsdDtcbiRiby1saWdodC1zdHlsZS1pY29uLWJvZGVyZWQtYmc6ICAgICAgICAgICAgICAgICAgICNmZmYhZGVmYXVsdDtcbiRiby1saWdodC1zdHlsZS1pY29uLWJvZGVyZWQtaG92ZXItYmc6ICAgICAgICAgICAgIGRhcmtlbigjZmZmLCA1JSkhZGVmYXVsdDtcblxuLyogVmFyaWFibGVzIGljb25zIG91dGxpbmUgKi9cblxuJGljb25zLW91dGxpbmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2QxZDY0NiFkZWZhdWx0O1xuJGljb25zLW91dGxpbmUtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQhZGVmYXVsdDtcbiRpY29ucy1vdXRsaW5lLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpY29ucy1vdXRsaW5lLWNvbG9yIWRlZmF1bHQ7XG4kaWNvbnMtb3V0bGluZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAjZmZmIWRlZmF1bHQ7XHRcdFxuJGljb25zLW91dGxpbmUtaG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGljb25zLW91dGxpbmUtY29sb3IhZGVmYXVsdDtcbiRpY29ucy1vdXRsaW5lLWhvdmVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgIGRhcmtlbigkaWNvbnMtb3V0bGluZS1ob3Zlci1iZywgNSUpIWRlZmF1bHQ7XG5cbi8qIFZhcmlhYmxlcyBpY29ucyBpbnZlcnNlICovXG5cbiRpY29ucy1pbnZlcnNlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNmZmYhZGVmYXVsdDtcbiRpY29ucy1pbnZlcnNlLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNkMWQ2NDYhZGVmYXVsdDtcbiRpY29ucy1pbnZlcnNlLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhcmtlbigkaWNvbnMtaW52ZXJzZS1iZywgNSUpIWRlZmF1bHQ7XG4kaWNvbnMtaW52ZXJzZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAjZDFkNjQ2IWRlZmF1bHQ7XHRcbiRpY29ucy1pbnZlcnNlLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCFkZWZhdWx0O1xuJGljb25zLWludmVyc2UtaG92ZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgJGljb25zLWludmVyc2UtYmchZGVmYXVsdDtcblxuXG4gLyogLS0tIFNDU1MgRm9yIFRhYmxlIC0tLSAqL1xuXG4gLyogLS0tIFNDU1MgRm9yIFRhYnMgLS0tICovXG4vKiB2YXJpYWJsZXMgZm9yIHRhYiBzdHlsZTEgdXNpbmcgYXMgYmFzZSBvZiB0YWIgKi9cbiRiby10YWJzLWEtY29sb3I6JGxpZ2h0LWdyYXkgIWRlZmF1bHQ7IFxuJGJvLXRhYnMtYS1jb2xvci1hY3RpdmU6JGdyYXktZGFya2VyICFkZWZhdWx0O1xuXG4kYm8tdGFicy1wYWRkaW5nOiAxMHB4IDIwcHggIWRlZmF1bHQ7IFxuJGJvLXRhYnMtYmFja2dyb3VuZDogIzVkNGU1NyAhZGVmYXVsdDtcbiRiby10YWJzLWJhY2tncm91bmQtaG92ZXI6ICNmNmY2ZjYgIWRlZmF1bHQ7XG4kYm8tdGFicy1jb250ZW50LWJhY2tncm91bmQ6I2Y2ZjZmNiAhZGVmYXVsdDtcblxuJGJvLXRhYnMtYm9yZGVyLWNvbG9yIDogJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRiby10YWJzLWNvbnRlbnQtYm9yZGVyOiAgMnB4IHNvbGlkICRiby10YWJzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRiby10YWJzLWNvbnRlbnQtcGFkZGluZzogMTVweCAyMHB4IWRlZmF1bHQ7XG5cblxuLyogdGFiIHN0eWxlIHZlcnNpb24gNSAqL1xuJGJvLXRhYnMtcHJpbWFyeS1iYWNrZ3JvdW5kLWhvdmVyOiMwMDAwMDAhZGVmYXVsdDtcbiRiby10YWJzLXByaW1hcnktYmFja2dyb3VuZDojRkZGRkZGICFkZWZhdWx0O1xuXG4vKiB0YWIgc3R5bGUgdmVyc2lvbiA2ICovXG4kYm8tdGFicy12Ni1oZWFkaW5nLWJhY2tncm91bmQ6ICNGRkZGRkYgIWRlZmF1bHQ7IFxuXG4kYm8tdGFicy12Ni1hLWNvbG9yIDogIzAwMDAwMCAhZGVmYXVsdDtcbiRiby10YWJzLXY2LWEtY29sb3ItYWN0aXZlOnJlZCAhZGVmYXVsdDtcbiRiby10YWJzLXY2LWhlYWRpbmctcGFkZGluZzogMTBweCAyMHB4O1xuJGJvLXRhYnMtdjYtaGVhZGluZy1ib3JkZXItdG9wLWNvbG9yOiMwMDAwMDAgIWRlZmF1bHQ7IFxuXG4kYm8tdGFicy12Ni1oZWFkaW5nLWJvcmRlci1jb2xvcjojZWVlICFkZWZhdWx0OyAgXG4kYm8tdGFicy12Ni1jb250ZW50LWJvcmRlci1jb2xvcjoxcHggc29saWQgJGJvLXRhYnMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4gLyogLS0tIFNDU1MgRm9yIFRlc3RpbW9uaWFscyAtLS0gKi8vKiB0ZXN0aW1vbmlhbHMgZGVmYXVsdCAqL1xuJGJvLXRlc3RpbW9uaWFscy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjNjk2OTY5O1xuJGJvLXRlc3RpbW9uaWFscy1hLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjNjk2OTY5O1xuJGJvLXRlc3RpbW9uaWFscy1oZWFkaW5nLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAjNjk2OTY5O1x0XHRcdFx0XHRcdFx0XG5cblxuLyogdGVzdGltb25pYWxzLXYxICovXG4kYm8tdGVzdGltb25pYWxzLXYxLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICM2OTY5Njk7XG4kYm8tdGVzdGltb25pYWxzLXYxLWEtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICM2OTY5Njk7XG4kYm8tdGVzdGltb25pYWxzLXYxLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICNmM2YzZjM7XG4kYm8tdGVzdGltb25pYWxzLXYxLWxpZ2h0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICNmM2YzZjM7XG4kYm8tdGVzdGltb25pYWxzLXYxLWxpZ2h0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICM1NTU7XG5cbi8qIHRlc3RpbW9uaWFscyBsaWdodCAqL1xuJGJvLXRlc3RpbW9uaWFscy1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZmZmO1xuJGJvLXRlc3RpbW9uaWFscy1saWdodC1hLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZmZmO1xuJGJvLXRlc3RpbW9uaWFscy1saWdodC1oZWFkaW5nLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAjZmZmO1xuXG5cblxuIC8qIC0tLSBTQ1NTIEZvciBUeXBvZ3JhcGh5IC0tLSAqL1xuJGJvLWJsb2NrcXVvdGUtaWNvbi1iYWNrZ3JvdW5kICA6ICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJGJvLWJsb2NrcXVvdGUtaWNvbi1jb2xvciAgICAgICA6ICNGRkZGRkYgIWRlZmF1bHQ7XG4kYm8tYmxvY2txdW90ZS1pY29uLWZvbnQtc2l6ZSAgIDogMTdweCAhZGVmYXVsdDtcbiRiby1ibG9ja3F1b3RlLWljb24tbGluZS1oZWlnaHQgOiAyMnB4ICFkZWZhdWx0O1xuXG4kYm8tYmxvY2txdW90ZS1jb2xvciAgICAgICAgICAgIDogIzAwMDAwMCAhZGVmYXVsdDtcbiIsIi8qKlxuICogICBCbG9ja3MgTGF5b3V0IFNlbGVjdG9yc1xuICovXG4kYmxvY2stcHJlZml4ICAgICAgICAgICAgICAgICAgICA6ICd3aWRnZXQnICFkZWZhdWx0O1xuJGJsb2NrLXNlbGVjdG9yICAgICAgICAgICAgICAgICAgOiAnd2lkZ2V0ICcgIWRlZmF1bHQ7XG4kYmxvY2staGVhZGluZy1zZWxlY3RvciAgICAgICAgICA6ICd3aWRnZXQtdGl0bGUsIC53aWRnZXR0aXRsZScgIWRlZmF1bHQ7XG4kYmxvY2stY29udGVudC1zZWxlY3RvciAgICAgICAgICA6ICd3aWRnZXQtY29udGVudCcgIWRlZmF1bHQ7XG4kYmxvY2staGVhZGluZy1yZXZlcnNlZC1zZWxlY3RvciA6ICd3aWRnZXQtdGl0bGUtcmV2ZXJzZWQnICFkZWZhdWx0O1xuJGNvbnRhaW5lci1wcmVmaXggICAgICAgICAgICAgICAgOiAnd3BiLWNvbnRhaW5lcicgIWRlZmF1bHQ7XG5cblxuXG4vLyBCb3ggTW9kdWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGJsb2NrLW1vZHVsZS1tYXJnaW4tYm90dG9tICAgICAgICAgICAgICAgICAgICAgOiAzMHB4ICFkZWZhdWx0O1xuJGJsb2NrLW1vZHVsZS1wYWRkaW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAwcHggIWRlZmF1bHQ7XG4kYmxvY2stbW9kdWxlLWJvcmRlci1jb2xvciAgICAgICAgICAgICAgICAgICAgICA6ICRib3JkZXItY29sb3ItYmFzZSAhZGVmYXVsdDtcbiRibG9jay1tb2R1bGUtYmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogI2ZmZiAhZGVmYXVsdDtcblxuJGJsb2NrLW1vZHVsZS1oZWFkaW5nLWNvbG9yXHRcdFx0XHRcdFx0OiAjMDAwMDAwICFkZWZhdWx0O1xuJGJsb2NrLW1vZHVsZS1oZWFkaW5nLWJvcmRlciAgICAgICAgICAgICAgICAgICAgOiAwcHggIWRlZmF1bHQ7XG4kYmxvY2stbW9kdWxlLWhlYWRpbmctdHJhbnNmb3JtICAgICAgICAgICAgICAgICA6IG5vbmUgIWRlZmF1bHQ7XG4kYmxvY2stbW9kdWxlLWhlYWRpbmctbGluZS1oZWlnaHQgICAgICAgICAgICAgICA6IG5vcm1hbCAhZGVmYXVsdDtcbiRibG9jay1tb2R1bGUtaGVhZGluZy1iZyAgICAgICAgICAgICAgICAgICAgICAgIDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYmxvY2stbW9kdWxlLWhlYWRpbmctcGFkZGluZyAgICAgICAgICAgICAgICAgICA6IDIwcHggMCAhZGVmYXVsdDtcbiRibG9jay1tb2R1bGUtaGVhZGluZy1tYXJnaW4gICAgICAgICAgICAgICAgICAgIDogMCAwIDEwcHggIWRlZmF1bHQ7XG4kYmxvY2stbW9kdWxlLWhlYWRpbmctZm9udC1zaXplICAgICAgICAgICAgICAgICA6IDE2cHggIWRlZmF1bHQ7XG4kYmxvY2stbW9kdWxlLWhlYWRpbmctZm9udC13ZWlnaHQgICAgICAgICAgICAgICA6IDcwMCAhZGVmYXVsdDtcbiRibG9jay1tb2R1bGUtaGVhZGluZy1mb250LWZhbWlseSAgICAgICAgICAgICAgIDogJGZvbnQtZmFtaWx5LWJhc2UgIWRlZmF1bHQ7XG4kYmxvY2stbW9kdWxlLWhlYWRpbmctc2hvdy1zZXBhcmF0b3IgICAgICAgICAgICA6IG5vbmUgIWRlZmF1bHQ7XG4kYmxvY2stbW9kdWxlLWhlYWRpbmctaW1hZ2UtcG9zaXRpb24gICAgICAgICAgICA6IDAgMCAhZGVmYXVsdDtcblxuJGJsb2NrLW1vZHVsZS1jb250ZW50LWJnICAgICAgICAgICAgICAgICAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kYmxvY2stbW9kdWxlLWNvbnRlbnQtYm9yZGVyICAgICAgICAgICAgICAgICAgICA6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGJsb2NrLW1vZHVsZS1jb250ZW50LXBhZGRpbmcgICAgICAgICAgICAgICAgICAgOiAyMHB4ICFkZWZhdWx0O1xuJGJsb2NrLW1vZHVsZS1jb250ZW50LW1hcmdpbiAgICAgICAgICAgICAgICAgICAgOiAxcHggIWRlZmF1bHQ7XG4kYmxvY2stbW9kdWxlLWNvbnRlbnQtcmFkaXVzICAgICAgICAgICAgICAgICAgICA6IDBweCAhZGVmYXVsdDtcblxuJGJsb2NrLW1vZHVsZS1oaWdobGlnaHRlZC1iZyAgICAgICAgICAgICAgICAgICAgOiAkdGhlbWUtY29sb3IgIWRlZmF1bHQ7XG4kYmxvY2stbW9kdWxlLWhpZ2hsaWdodGVkLWJvcmRlciAgICAgICAgICAgICAgICA6IHNvbGlkIDJweCAkdGhlbWUtY29sb3IgIWRlZmF1bHQ7XG5cbiRibG9jay1tb2R1bGUtZm9vdGVyLWhlYWRpbmctY29sb3IgICAgICAgICAgICAgIDogJHdoaXRlICFkZWZhdWx0O1xuXG4kYmxvY2stcHJvZHVjdC1wYWRkaW5nICAgICAgICAgICAgICAgICAgICAgICAgICA6IDAgIWRlZmF1bHQ7XG4kYmxvY2staGVhZGluZy1sZXR0ZXItc3BhY2luZyAgICAgICAgICAgICAgICAgICA6IDAgIWRlZmF1bHQ7XG5cbi8vIFNpZGViYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRibG9jay1zaWRlYmFyLW1vZHVsZS1ib3JkZXIgICAgICAgICAgICAgICAgICAgIDogbm9uZSAhZGVmYXVsdDtcbiRibG9jay1zaWRlYmFyLWJveC1wYWRkaW5nICAgICAgICAgICAgICAgICAgICAgIDogMCAhZGVmYXVsdDsgXG4kYmxvY2stc2lkZWJhci1ib3gtbWFyZ2luICAgICAgICAgICAgICAgICAgICAgICA6IDAgMCAzMHB4ICFkZWZhdWx0O1xuXG4kYmxvY2stc2lkZWJhci1saXN0LXBhZGRpbmctdmVydGljYWwgICAgICAgICAgICA6IDEzcHggMHB4IDEzcHggMTNweCAhZGVmYXVsdDtcbiRibG9jay1zaWRlYmFyLWxpc3QtYm9yZGVyLWNvbG9yICAgICAgICAgICAgICAgIDogJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGJsb2NrLXNpZGViYXItaGlnaHRsaWdodC1tYXJnaW4gXHRcdFx0XHQ6IDAgMCAyMHB4ICFkZWZhdWx0O1xuJGJsb2NrLXNpZGViYXItaGVhZGluZy1tYXJnaW4gICAgICAgICAgICBcdFx0OiAwICFkZWZhdWx0O1xuJGJsb2NrLXNpZGViYXItaGVhZGluZy1oaWdodGxpZ2h0LWJnICAgICAgICAgICAgOiAkbm9jb2xvciAhZGVmYXVsdDtcbiRibG9jay1zaWRlYmFyLWhlYWRpbmctaGlnaHRsaWdodC1wYWRkaW5nICAgICAgIDogMCAhZGVmYXVsdDtcbiRibG9jay1zaWRlYmFyLWhlYWRpbmctaGlnaHRsaWdodC1tYXJnaW4gICAgXHQ6IDAgIWRlZmF1bHQ7XG4kYmxvY2stc2lkZWJhci1oZWFkaW5nLWhpZ2h0bGlnaHQtY29sb3IgICAgICAgICA6ICRibGFjayAhZGVmYXVsdDtcbiRibG9jay1zaWRlYmFyLWhlYWRpbmctaGlnaHRsaWdodC1tYXJnaW4tYm90dG9tIDogMHB4ICFkZWZhdWx0O1xuJGJsb2NrLXNpZGViYXItaGVhZGluZy1oaWdodGxpZ2h0LWZvbnQtc2l6ZSAgICAgOiAxNHB4ICFkZWZhdWx0O1xuJGJsb2NrLXNpZGViYXItaGVhZGluZy1oaWdodGxpZ2h0LWZvbnQtd2VpZ2h0ICAgOiA5MDAgIWRlZmF1bHQ7XG4kYmxvY2stc2lkZWJhci1oaWdodGxpZ2h0LWNvbnRlbnQtYmdcdFx0XHQ6ICRub2NvbG9yICFkZWZhdWx0O1xuJGJsb2NrLXNpZGViYXItaGlnaHRsaWdodC1jb250ZW50LWNvbG9yXHRcdFx0OiAjNjY2NjY2ICFkZWZhdWx0OyBcbiRibG9jay1zaWRlYmFyLWhpZ2h0bGlnaHQtY29udGVudC1wYWRkaW5nXHRcdDogMCAhZGVmYXVsdDtcbiRibG9jay1zaWRlYmFyLWhpZ2h0bGlnaHQtYm9yZGVyICAgXHRcdFx0XHQ6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSkgIWRlZmF1bHQ7XG4kYmxvY2stc2lkZWJhci1oaWdodGxpZ2h0LWZvbnQtc2l6ZSBcdFx0XHQ6IDEycHggIWRlZmF1bHQ7XHRcbiRibG9jay1zaWRlYmFyLWhpZ2h0bGlnaHQtdHJhbnNmb3JtIFx0XHRcdDogdXBwZXJjYXNlICFkZWZhdWx0O1xuJGJsb2NrLXNpZGViYXItaGlnaHRsaWdodC1mb250LXdlaWdodFx0XHRcdDogMzAwICFkZWZhdWx0O1x0XHRcdFx0XHRcdFxuJGJsb2NrLXNpZGViYXItbGluay1oaWdodGxpZ2h0LWNvbG9yICAgICAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kYmxvY2stc2lkZWJhci1saW5rLWhpZ2h0bGlnaHQtaG92ZXItY29sb3IgICAgICA6ICR0aGVtZS1jb2xvciAhZGVmYXVsdDtcbiRibG9jay1zaWRlYmFyLWxpc3QtaGlnaHRsaWdodC1ib3JkZXItY29sb3IgICAgIDogIzM5MzkzOSAhZGVmYXVsdDtcbiRibG9jay1zaWRlYmFyLWxpc3QtaGlnaHRsaWdodC1mb250LXNpemUgICAgICAgIDogMTBweCAhZGVmYXVsdDtcbiRibG9jay1zaWRlYmFyLWxpc3QtaGlnaHRsaWdodC1wYWRkaW5nICAgICAgICAgIDogMTdweCAxNXB4ICFkZWZhdWx0O1xuJGJsb2NrLXNpZGViYXItbGlzdC1oaWdodGxpZ2h0LWltYWdlICAgICAgICAgICAgOiB1cmwoJyN7JGltYWdlLXRoZW1lLXBhdGh9ZG90LmpwZycpIDAgMjJweCBuby1yZXBlYXQgIWRlZmF1bHQ7XG4kYmxvY2stc2lkZWJhci1saXN0LWltYWdlICAgICAgICAgICAgICAgICAgICAgICA6IHVybCgnI3skaW1hZ2UtdGhlbWUtcGF0aH1kb3QuanBnJykgMCAyMnB4IG5vLXJlcGVhdCAhZGVmYXVsdDtcblxuJGJsb2NrLXNpZGViYXItaGVhZGluZy1wYWRkaW5nICAgICAgICAgICAgICAgICAgOiAwIDAgMzBweCAhZGVmYXVsdDtcbiRibG9jay1zaWRlYmFyLWhlYWRpbmctbWFyZ2luICAgICAgICAgICAgICAgICAgIDogMCAhZGVmYXVsdDtcbiRibG9jay1zaWRlYmFyLWhlYWRpbmctZm9udC1zaXplICAgICAgICAgICAgICAgIDogMTRweCAhZGVmYXVsdDtcbiRibG9jay1zaWRlYmFyLWhlYWRpbmctY29sb3IgICAgICAgICAgICAgICAgICAgIDogJGJsYWNrICFkZWZhdWx0OyBcbiRibG9jay1zaWRlYmFyLWhlYWRpbmctbGluZS1oZWlnaHQgICAgICAgICAgICAgIDogMjBweCAhZGVmYXVsdDtcbiRibG9jay1zaWRlYmFyLWhlYWRpbmctZm9udC13ZWlnaHRcdFx0XHRcdDogOTAwICFkZWZhdWx0O1xuXG4kYmxvY2stc2lkZWJhci13aWRnZXQtYm9yZGVyICAgICAgICAgICAgICAgICAgICA6IDFweCBzb2xpZCBsaWdodGVuKCRib3JkZXItY29sb3IsIDMlKSAhZGVmYXVsdDtcblxuLyoqKioqKioqKiBMQVlPVVQgKioqKioqKioqKioqKiovIiwiLy8gU3RhclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kY29tcGFyZS1wb3NpdGlvbi1pbWFnZVx0XHRcdFx0XHQ6IGNlbnRlciAtNDdweCAhZGVmYXVsdDtcbiR3aXNobGlzdC1wb3NpdGlvbi1pbWFnZVx0XHRcdFx0OiBsZWZ0IC00N3B4ICFkZWZhdWx0O1xuJHF1aWNrdmlldy1wb3NpdGlvbi1pbWFnZVx0XHRcdFx0OiByaWdodCAtNDdweCAhZGVmYXVsdDtcbiRzdGFyLXJhdGluZy1jb2xvciAgICAgICAgICAgICAgICAgICAgICA6ICNGQUNDNjggIWRlZmF1bHQ7XG4kc3Rhci1yYXRpbmctYWN0aXZlLWNvbG9yICAgICAgICAgICAgICAgOiAjRkFDQzY4ICFkZWZhdWx0O1xuJHN0YXItcmF0aW5nLWZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgIDogMTBweCAhZGVmYXVsdDtcbi8vIFNhbGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRzYWxlLWxhYmVsLWZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgICA6IDEwcHggIWRlZmF1bHQ7XG4kc2FsZS1sYWJlbC1mb250LXdlaWdodCAgICAgICAgICAgICAgICAgOiA1MDAgIWRlZmF1bHQ7XG4kc2FsZS1sYWJlbC10cmFuc2Zvcm0gICAgICAgICAgICAgICAgICAgOiBub25lICFkZWZhdWx0O1xuJHNhbGUtbGFiZWwtYmcgICAgICAgICAgICAgICAgICAgICAgICAgIDogI2ZiNDk0OSAhZGVmYXVsdDtcbiRzYWxlLWxhYmVsLWNvbG9yICAgICAgICAgICAgICAgICAgICAgICA6ICR3aGl0ZSAhZGVmYXVsdDtcbiRzYWxlLWxhYmVsLWFsaWduICAgICAgICAgICAgICAgICAgICAgICA6IGNlbnRlciAhZGVmYXVsdDtcbiRzYWxlLWxhYmVsLXBhZGRpbmcgICAgICAgICAgICAgICAgICAgICA6IDAgIWRlZmF1bHQ7XG4vLyBNaW5pIGNhcnRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRtaW5pLWNhcnQtZm9udC1zaXplICAgICAgICAgICAgICAgICAgICA6IDEycHggIWRlZmF1bHQ7XG4kbWluaS1jYXJ0LWJnICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkdGhlbWUtY29sb3Itc2Vjb25kYXJ5ICFkZWZhdWx0O1xuJG1pbmktY2FydC1yb3VuZGVkICAgICAgICAgICAgICAgICAgICAgIDogJGJvcmRlci1yYWRpdXMtc21hbGwgIWRlZmF1bHQ7XG4kbWluaS1jYXJ0LXBhZGRpbmcgICAgICAgICAgICAgICAgICAgICAgOiA4cHggMTNweCAhZGVmYXVsdDtcbiRtaW5pLWNhcnQtaGVpZ2h0ICAgICAgICAgICAgICAgICAgICAgICA6IDM2cHggIWRlZmF1bHQ7XG4kbWluaS1jYXJ0LWNvbG9yICAgICAgICAgICAgICAgICAgICAgICAgOiAkYmxhY2sgIWRlZmF1bHQ7XG4kbWluaS1jYXJ0LWRyb3Bkb3duLXNpemUgICAgICAgICAgICAgICAgOiAzMjBweCAhZGVmYXVsdDtcbiRtaW5pLWNhcnQtdHJhbnNmb3JtICAgICAgICAgICAgICAgICAgICA6IHVwcGVyY2FzZSAhZGVmYXVsdDtcblxuLy8gRmlsdGVyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kcHJvZHVjdHMtdG9wLXdyYXAtYmcgICAgICAgICAgICAgICA6ICR3aGl0ZSAgIWRlZmF1bHQ7XG4kcHJvZHVjdHMtdG9wLXdyYXAtY29sb3JcdFx0XHQ6ICNGRkYgIWRlZmF1bHQ7XG5cbiRwcm9kdWN0cy10b3Atd3JhcC1ib3JkZXItY29sb3JcdCAgICA6ICMwMDAwMDAgIWRlZmF1bHQ7XG5cbi8vIFByb2R1Y3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRwcm9kdWN0LWJnICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHByb2R1Y3QtYm9yZGVyICAgICAgICAgICAgICAgICAgICAgICAgIDogMHB4IHNvbGlkICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kcHJvZHVjdC1tYXJnaW4gICAgICAgICAgICAgICAgICAgICAgICAgOiAwIDAgNDBweCAwICFkZWZhdWx0O1xuJHByb2R1Y3QtYWxpZ25tZW50ICAgICAgICAgICAgICAgICAgICAgIDogY2VudGVyICFkZWZhdWx0O1xuJHByb2R1Y3QtbmFtZS1mb250LXNpemUgICAgICAgICAgICAgICAgIDogMTNweCAhZGVmYXVsdDtcbiRwcm9kdWN0LW5hbWUtZm9udC13ZWlnaHQgICAgICAgICAgICAgICA6IG5vcm1hbCAhZGVmYXVsdDtcbiRwcm9kdWN0LW5hbWUtbGluZS1oZWlnaHQgICAgICAgICAgICAgICA6IDE4cHggIWRlZmF1bHQ7XG4kcHJvZHVjdC1uYW1lLWNvbG9yICAgICAgICAgICAgICAgICAgICAgOiAkYmxhY2sgIWRlZmF1bHQ7XG4kcHJvZHVjdC1uYW1lLW1hcmdpbiAgICAgICAgICAgICAgICAgICAgOiAwcHggIWRlZmF1bHQ7XG4kcHJvZHVjdC1uYW1lLXBhZGRpbmcgICAgICAgICAgICAgICAgICAgOiAyMHB4ICFkZWZhdWx0O1xuJHByb2R1Y3QtbmFtZS1oZWlnaHQgICAgICAgICAgICAgICAgICAgIDogMzZweCAhZGVmYXVsdDtcbiRwcm9kdWN0LW5hbWUtaG92ZXItY29sb3IgICAgICAgICAgICAgICA6ICR0aGVtZS1jb2xvciAhZGVmYXVsdDtcbiRwcm9kdWN0LWNhdGVnb3J5LWNvbG9yICAgICAgICAgICAgICAgICA6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuJHByb2R1Y3QtY2F0ZWdvcnktaG92ZXItY29sb3IgICAgICAgICAgIDogJHRoZW1lLWNvbG9yICFkZWZhdWx0O1xuJHByb2R1Y3QtY2F0ZWdvcnktZm9udC1zaXplICAgICAgICAgICAgIDogMTJweCAhZGVmYXVsdDtcbiRwcm9kdWN0LWNhdGVnb3J5LWJnICAgICAgICAgICAgICAgICAgICA6ICR3aGl0ZSAhZGVmYXVsdDtcbiRwcm9kdWN0LWNhdGVnb3J5LXBhZGRpbmcgICAgICAgICAgICAgICA6IDE4cHggMTBweCAhZGVmYXVsdDtcbiRwcm9kdWN0LWNhdGVnb3J5LWJvcmRlci1jb2xvciAgICAgICAgICA6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHByb2R1Y3QtY2F0ZWdvcnktYm9yZGVyLWhvdmVyLWNvbG9yICAgIDogJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRwcm9kdWN0LWNhdGVnb3J5LWZvbnQtd2VpZ2h0ICAgICAgICAgICA6IDMwMCAhZGVmYXVsdDtcbiRwcm9kdWN0LWNhdGVnb3J5LWZvbnQtc3R5bGUgICAgICAgICAgICA6IGl0YWxpYyAhZGVmYXVsdDtcbiRwcm9kdWN0LWNhdGVnb3J5LW1hcmdpbiAgICAgICAgICAgICAgICA6IDBweCAwIDhweCAhZGVmYXVsdDtcbiRwcm9kdWN0LXByaWNlLWNvbG9yICAgICAgICAgICAgICAgICAgICA6ICRncmF5LWRhcmtlciAhZGVmYXVsdDtcbiRwcm9kdWN0LXByaWNlLW9sZC1jb2xvciAgICAgICAgICAgICAgICA6ICR0aGVtZS1jb2xvciAhZGVmYXVsdDtcbiRwcm9kdWN0LXByaWNlLWZvbnQtc2l6ZSAgICAgICAgICAgICAgICA6IDE2cHggIWRlZmF1bHQ7XG4kcHJvZHVjdC1wcmljZS1mb250LXdlaWdodFx0XHQgICAgICAgIDogYm9sZCAhZGVmYXVsdDtcbiRwcm9kdWN0LWJ1dHRvbi1mb250LXNpemUgICAgICAgICAgICAgICA6IDEwcHggIWRlZmF1bHQ7XG4kcHJvZHVjdC1idXR0b24tYm9yZGVyICAgICAgICAgICAgICAgICAgOiAycHggc29saWQgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRwcm9kdWN0LWJ1dHRvbi1iZyAgICAgICAgICAgICAgICAgICAgICA6ICNmMWJhMjcgIWRlZmF1bHQ7XG4kcHJvZHVjdC1idXR0b24tcGFkZGluZyAgICAgICAgICAgICAgICAgOiAxNXB4IDMwcHggIWRlZmF1bHQ7XG4kcHJvZHVjdC1idXR0b24taG92ZXItY29sb3IgICAgICAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kcHJvZHVjdC1idXR0b24taG92ZXItYm9yZGVyICAgICAgICAgICAgOiAkdGhlbWUtY29sb3IgIWRlZmF1bHQ7XG4kcHJvZHVjdC1idXR0b24taG92ZXItYmcgICAgICAgICAgICAgICAgOiAkdGhlbWUtY29sb3IgIWRlZmF1bHQ7XG4kcHJvZHVjdC1saW5rLWNvbG9yICAgICAgICAgICAgICAgICAgICAgOiAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJHByb2R1Y3QtbGluay1ob3Zlci1jb2xvciAgICAgICAgICAgICAgIDogJHRoZW1lLWNvbG9yICFkZWZhdWx0O1xuJHByb2R1Y3QtaWNvbi13aWR0aCAgICAgICAgICAgICAgICAgICAgIDogNjlweCAhZGVmYXVsdDtcbiRwcm9kdWN0LWljb24taGVpZ2h0ICAgICAgICAgICAgICAgICAgICA6IDQwcHggIWRlZmF1bHQ7XG4kcHJvZHVjdC1pY29uLWJnICAgICAgICAgICAgICAgICAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kcHJvZHVjdC1pY29uLWNvbG9yICAgICAgICAgICAgICAgICAgICAgOiAkdGV4dC1jb2xvciAhZGVmYXVsdDtcbiRwcm9kdWN0LWljb24tZm9udC1zaXplICAgICAgICAgICAgICAgICA6IDE0cHggIWRlZmF1bHQ7XG4kcHJvZHVjdC1idXR0b24td2lkdGggICAgICAgICAgICAgICAgICAgOiAxMDNweCAhZGVmYXVsdDtcbiRwcm9kdWN0LXJhdGluZy1tYXJnaW4gICAgICAgICAgICAgICAgICA6IDAgMCAkdGhlbWUtbWFyZ2luIDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aHVtYm5haWwtZ2FsbGVyeS1zaXplICAgICAgICAgOiAxMTVweCAhaW1wb3J0YW50O1xuXG4vLyBTaW5nbGUgUHJvZHVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHNpbmdsZS1wcmljZS1mb250LXdlaWdodCAgICAgICAgICAgICAgIDogOTAwICFkZWZhdWx0O1xuJHNpbmdsZS1uZXctcHJpY2UtY29sb3IgICAgICAgICAgICAgICAgIDogJHRoZW1lLWNvbG9yICFkZWZhdWx0O1xuJHNpbmdsZS1uZXctcHJpY2UtZm9udC1zaXplICAgICAgICAgICAgIDogMzBweCAhZGVmYXVsdDtcbiRzaW5nbGUtbmV3LXByaWNlLWZvbnQtd2VpZ2h0ICAgICAgICAgICA6IDkwMCAhZGVmYXVsdDtcbiRzaW5nbGUtbmV3LXByaWNlLWxpbmUtaGVpZ2h0ICAgICAgICAgICA6IDEuNCAhZGVmYXVsdDtcbiRzaW5nbGUtcHJvZHVjdC10aXRsZS1saW5lLWhlaWdodCAgICAgICA6IDEuMTExMTEgIWRlZmF1bHQ7XG4kc2luZ2xlLXByb2R1Y3QtdGl0bGUtZm9udC1zaXplICAgICAgICAgOiAyNHB4ICFkZWZhdWx0O1xuJHNpbmdsZS1wcm9kdWN0LXRpdGxlLWZvbnQtd2VpZ2h0ICAgICAgIDogNzAwICFkZWZhdWx0O1xuJHNpbmdsZS1wcm9kdWN0LXRpdGxlLW1hcmdpbiAgICAgICAgICAgIDogMCAwIDEwcHggMCAhZGVmYXVsdDtcbiRzaW5nbGUtcHJvZHVjdC10aXRsZS10cmFuc2Zvcm0gICAgICAgICA6IG5vbmUgIWRlZmF1bHQ7XG5cbiRzaW5nbGUtcHJvZHVjdC1zdW1tYXJ5LWZvbnQtc2l6ZSAgICAgICAgOiAxNHB4ICFkZWZhdWx0O1xuLy8gd29vY29tbWVyY2UgdGFic1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHdvb2NvbW1lcmNlLXRhYnMtcGFkZGluZyAgICAgICAgICAgICAgIDogMTBweCAwIDMwcHggMCAhZGVmYXVsdDtcbiR3b29jb21tZXJjZS10YWJzLWJvcmRlciAgICAgICAgICAgICAgICA6IG5vbmUgIWRlZmF1bHQ7XG4kd29vY29tbWVyY2UtdGFicy1tYXJnaW4gICAgICAgICAgICAgICAgOiAwICFkZWZhdWx0O1xuXG4vLyBRdWlja3ZpZXcgUHJvZHVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHF1aWNrdmlldy1wcm9kdWN0LXRpdGxlLWZvbnQtc2l6ZSAgICAgIDogMzBweCAhZGVmYXVsdDtcbiRxdWlja3ZpZXctcHJvZHVjdC10aXRsZS10cmFuc2Zvcm0gICAgICA6IG5vbmUgIWRlZmF1bHQ7XG4kcXVpY2t2aWV3LXByb2R1Y3QtY29udGVudC1tYXJnaW4gICAgICAgOiAyMHB4ICFkZWZhdWx0O1xuXG4vLyBXaWRnZXQgUHJvZHVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHdpZGdldC1wcm9kdWN0LWxpc3Qtc2l6ZSAgICAgICAgICAgICAgIDogODBweCAhZGVmYXVsdDtcbiR3aWRnZXQtcHJvZHVjdC1saXN0LXBhZGRpbmcgICAgICAgICAgICA6IDE1cHggIWRlZmF1bHQ7XG4kd2lkZ2V0LXByb2R1Y3QtbGlzdC1tYXJnaW4gICAgICAgICAgICAgOiAwcHggIWRlZmF1bHQ7XG4kd2lkZ2V0LXByb2R1Y3QtbGlzdC1ib3JkZXIgICAgICAgICAgICAgOiAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJHdpZGdldC1wcm9kdWN0LWxpc3QtZm9udC1zaXplICAgICAgICAgIDogMTNweCAhZGVmYXVsdDtcbiR3aWRnZXQtcHJvZHVjdC1saXN0LWZvbnQtZmFybWlseSAgICAgICA6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG4kd2lkZ2V0LXByb2R1Y3QtbGlzdC1jb2xvclx0XHRcdFx0OiAkdGhlbWUtY29sb3IgIWRlZmF1bHQ7XG4kd2lkZ2V0LXByb2R1Y3QtbGlzdC1mb250LXdlaWdodFx0XHQ6IG5vcm1hbCAhZGVmYXVsdDtcbiR3aWRnZXQtcHJvZHVjdC1saXN0LXRleHQtdHJhbnNmb3JtXHRcdDogdXBwZXJjYXNlICFkZWZhdWx0OztcbiR3aWRnZXQtcHJvZHVjdC1saXN0LXByaWNlLW9sZC1jb2xvclx0OiAjNjY2NjY2ICFkZWZhdWx0O1xuXG4kd2lkZ2V0LXByb2R1Y3Qtc3BlY2lhbC1tYXJnaW5cdFx0XHQ6IDAgIWRlZmF1bHQ7XG4kd2lkZ2V0LXByb2R1Y3Qtc3BlY2lhbC1wYWRkaW5nXHRcdFx0OiAwIDEwcHggMTBweCA0MHB4ICFkZWZhdWx0O1xuJHdpZGdldC1wcm9kdWN0LXNwZWNpYWwtZm9udC1zaXplXHRcdDogMTRweCAhZGVmYXVsdDtcblxuLy8gU2lkZWJhciBXaWRnZXQgUHJvZHVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGJsb2NrLXNpZGViYXItd2lkZ2V0LXByb2R1Y3QtbGlzdC1zaXplIDogODBweCAhZGVmYXVsdDtcblxuLy8gUHJvZHVjdCBDYXRlZ29yeSBhbmQgU3ViY2F0ZWdvcnlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRwcm9kdWN0LWNhdGVnb3J5LWNvbnRlbnQtbWFyZ2luICAgICAgICA6IDAgMCAkZ3JpZC1ndXR0ZXItd2lkdGggMDtcbiRwcm9kdWN0LWNhdGVnb3J5LWNvbnRlbnQtaGVpZ2h0ICAgICAgICA6IDQ1cHggIWRlZmF1bHQ7XG4kcHJvZHVjdC1jYXRlZ29yeS10aXRsZS1jb2xvciAgICAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kcHJvZHVjdC1jYXRlZ29yeS10aXRsZS1tYXJnaW4gICAgICAgICAgOiAwICFkZWZhdWx0O1xuJHByb2R1Y3QtY2F0ZWdvcnktdGl0bGUtcGFkZGluZyAgICAgICAgIDogMTVweCAxMHB4ICFkZWZhdWx0O1xuJHByb2R1Y3QtY2F0ZWdvcnktdGl0bGUtYmcgICAgICAgICAgICAgIDogJGJsYWNrICFkZWZhdWx0O1xuJHByb2R1Y3QtY2F0ZWdvcnktdGl0bGUtZm9udC1zaXplICAgICAgIDogJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJHByb2R1Y3QtY2F0ZWdvcnktdGl0bGUtZm9udC13ZWlnaHQgICAgIDogJGZvbnQtd2VpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cblxuLy8gV2lkZ2V0IGRlYWxzIHByb2R1Y3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRkZWFscy10aW1lcy1wYWRkaW5nOlx0XHRcdFx0XHQgIDVweCAwICFkZWZhdWx0O1xuJGRlYWxzLXRpbWVzLWJnOlx0XHRcdFx0XHRcdCAgcmVkICFkZWZhdWx0OyBcbiRkZWFscy10aW1lcy1jb2xvcjpcdFx0XHRcdFx0XHQgICNmZmYgIWRlZmF1bHQ7ICAgXG4kZGVhbHMtdGltZXMtZm9udC1mYW1pbHk6XHRcdFx0XHQgICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7ICBcbiRkZWFscy10aW1lcy1mb250LXNpemU6XHRcdFx0XHRcdCAgMTBweCAhZGVmYXVsdDtcbiIsIi53aWRnZXRfbmF2X21lbnUgdWx7XG4gICAgbGkge1xuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgIFdpZGdldCBQcmljZSBGaWx0ZXJcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4ud2lkZ2V0X3ByaWNlX2ZpbHRlciB7XG4gICAgLnByaWNlX3NsaWRlcl93cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICB9XG4gICAgLnVpLXNsaWRlciAudWktc2xpZGVyLWhhbmRsZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6JGJyYW5kLXByaW1hcnkgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnByaWNlX3NsaWRlcl93cmFwcGVyIC51aS13aWRnZXQtY29udGVudCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6JGJvcmRlci1jb2xvciAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudWktc2xpZGVyLWhvcml6b250YWwgLnVpLXNsaWRlci1yYW5nZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRibGFjayAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAucHJpY2Vfc2xpZGVyX2Ftb3VudCAuYnV0dG9ue1xuICAgICAgICBwYWRkaW5nOjE1cHggMzBweDtcbiAgICAgICAgYmFja2dyb3VuZDojZjZmNmY2O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgIH1cbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgUHJvZHVjdCBMaXN0IFdpZGdldFxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi53b29jb21tZXJjZXtcbiAgICB1bC5wcm9kdWN0X2xpc3Rfd2lkZ2V0e1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBsaXtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMDsgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICBkZWx7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkd2lkZ2V0LXByb2R1Y3QtbGlzdC1mb250LXNpemUgKyAxO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2lkZ2V0LXByb2R1Y3QtbGlzdC1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGluc3tcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyYXktZGFyaztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICR3aWRnZXQtcHJvZHVjdC1saXN0LWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICB9ICAgICAgICAgIFxuICAgICAgICAgICAgaW1ne1xuICAgICAgICAgICAgICAgIHdpZHRoOiAkd2lkZ2V0LXByb2R1Y3QtbGlzdC1zaXplO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJ0bC1mbG9hdC1sZWZ0KCk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcnRsLW1hcmdpbi1sZWZ0KDApO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJ0bC1tYXJnaW4tcmlnaHQoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMik7ICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnN0YXItcmF0aW5ne1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgICAgICAgc3BhbntcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRicmFuZC13YXJuaW5nO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnByb2R1Y3QtdGl0bGV7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkd2lkZ2V0LXByb2R1Y3QtbGlzdC10ZXh0LXRyYW5zZm9ybTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQycHg7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICR3aWRnZXQtcHJvZHVjdC1saXN0LWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxke1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKipcbiAqIFN0eWxpbmcgc3BlY2lhbCBwcm9kdWN0IGJsb2NrLlxuICovXG4ucHJvZHVjdHMtY29sbGVjdGlvbntcbiAgICAub3dsLWNhcm91c2VsLXBsYXkgLmNhcm91c2VsLWNvbnRyb2x7XG4gICAgICAgIHRvcDogMzAlO1xuICAgIH1cbn1cbi5wcm9kdWN0cy5yZWxhdGVkIGgyLCAucHJvZHVjdCA+ICNyZXZpZXdzID4gaDMsIC5wcm9kdWN0cy51cHNlbGxzIGgyIHtcbiAgICBjb2xvcjogJGJsb2NrLW1vZHVsZS1oZWFkaW5nLWNvbG9yO1xuICAgIHBhZGRpbmc6ICRibG9jay1tb2R1bGUtaGVhZGluZy1wYWRkaW5nIDA7XG4gICAgbWFyZ2luOiAkYmxvY2stbW9kdWxlLWhlYWRpbmctbWFyZ2luO1xuICAgIGZvbnQtc2l6ZTogJGJsb2NrLW1vZHVsZS1oZWFkaW5nLWZvbnQtc2l6ZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGV0dGVyLXNwYWNpbmc6MnB4O1xuICAgIHotaW5kZXg6IDEwOyBcbn1cbi5wcm9kdWN0ID4gI3Jldmlld3Mge1xuXHRib3JkZXI6c29saWQgMXB4ICRib3JkZXItY29sb3I7XG5cdG1hcmdpbi1ib3R0b206ICAkYmxvY2stbW9kdWxlLW1hcmdpbi1ib3R0b20gO1xufVxuXG4vKipcbiAqIERlYWwgTW9kdWxlc1xuICovXG5cbiAud29vLWRlYWxze1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIC5jYXJvdXNlbC1pbm5lcntcbiAgICAgICAgb3ZlcmZsb3c6dmlzaWJsZTtcbiAgICB9XG4gICAgLm93bC1jYXJvdXNlbC1wbGF5e1xuICAgICAgICBtYXJnaW46MDtcbiAgICB9XG4gICAgLm93bC1jYXJvdXNlbCAub3dsLWl0ZW17XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICAgIC5wcm9kdWN0LWJsb2Nre1xuICAgICAgICAuaW1hZ2V7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDQ0JTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuZGVhbHMtaW5mb3JtYXRpb257XG4gICAgICAgIG1hcmdpbi1ib3R0b206JGdyaWQtZ3V0dGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRncmlkLWd1dHRlci13aWR0aCArIDEwO1xuICAgICAgICAubmFtZXtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNDRweDtcbiAgICAgICAgICAgIGhlaWdodDogOTVweDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNDVweDtcbiAgICAgICAgfVxuICAgICAgICAucHJpY2V7XG4gICAgICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgICAgICBpbnN7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuY2FwdGlvbntcbiAgICAgICAgcGFkZGluZzogJGdyaWQtZ3V0dGVyLXdpZHRoICsgNTtcbiAgICB9XG4gICAgLmNvdW50ZG93bi10aW1lc3tcbiAgICAgICAgPiBkaXZ7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyBcbiAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJ0bC1mbG9hdC1sZWZ0KCk7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyAgICAgICBcbiAgICAgICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2JjYmNiYztcbiAgICAgICAgICAgICAgICB3aWR0aDogMnB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBydGwtcmlnaHQoLTJweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA+IGJ7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDcwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7ICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpsYXN0LWNoaWxke1xuICAgICAgICAgICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqXG4gKiBXaWRnZXQgUHJvZHVjdHMgQ2F0ZWdvcmllcyBNZW51IFxuICovXG51bC5wcm9kdWN0LWNhdGVnb3JpZXN7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXtcbiAgICAgICAgJi5jYXQtcGFyZW50IHtcbiAgICAgICAgICAgIC5jaGlsZHJlbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2Y3ZjdmNztcblx0XHRwYWRkaW5nOjA7XG5cdFx0bGlzdC1zdHlsZTpub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuY3VycmVudC1jYXQsJi5jdXJyZW50LWNhdC1wYXJlbnQge1xuICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHVsIGxpIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgbGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC5jbG9zZWQgLC5vcGVuZWQge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgQGluY2x1ZGUgcnRsLXJpZ2h0KDE1cHgpO1xuICAgICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIGNvbG9yOiAjYWFhO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSgyMHB4LDIwcHgpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYXtcbiAgICAgICAgICAgIHBhZGRpbmc6MTBweCA1cHggMTBweCAwO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDVweCA1cHggMjBweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpmaXJzdC1jaGlsZHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxufSBcblxuLypcbioqICBvcGFsIGNhdGVnb3J5IGxpc3RcbiovXG4ub3BhbC1jYXRlZ29yeS1saXN0e1xuICAgICNvcGFsLWFjY29yZGlvbi1jYXRlZ29yaWVze1xuICAgICAgICAuY2F0ZWdvcnktdGl0bGUge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJGJsb2NrLXNpZGViYXItaGlnaHRsaWdodC1ib3JkZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiAkYmxvY2stc2lkZWJhci1saXN0LWhpZ2h0bGlnaHQtcGFkZGluZztcbiAgICAgICAgICAgICBAaW5jbHVkZSBydGwtcGFkZGluZy1yaWdodCgyMHB4KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJ0bC1wYWRkaW5nLWxlZnQoMzBweCk7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgjeyRpbWFnZS10aGVtZS1za2lufWxpc3Qtc3R5bGUucG5nKSBuby1yZXBlYXQgMTVweCAyNXB4ICRub2NvbG9yO1xuICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGJsb2NrLXNpZGViYXItaGlnaHRsaWdodC10cmFuc2Zvcm07XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkYmxvY2stc2lkZWJhci1oaWdodGxpZ2h0LWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGEuZHJvcGRvd257XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcnRsLWZsb2F0LXJpZ2h0KCk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcnRsLW1hcmdpbi1sZWZ0KDEwcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnRvdGFsLXByb2R1Y3R7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5wYW5lbC1jb2xsYXBzZXtcbiAgICAgICAgICAgIC5jYXRlZ29yeS10aXRsZXtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTJweCAxMnB4O1xuICAgICAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGJsb2NrLXNpZGViYXItaGlnaHRsaWdodC1mb250LXNpemUgLSAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gICAgXG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgQ2FydFxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5jYXJ0X2xpc3R7XG4gICAgPiBkaXZ7XG4gICAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgfVxuICAgLm5hbWV7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7ICAgXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgICB9XG5cbiAgICAuaW1hZ2V7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoODJweCw4MnB4KTtcbiAgICB9XG4gICAgLmNhcnQtaXRlbXtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgICAgICAgLmFtb3VudHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICAgICAgICAgICAgY29sb3I6ICR3aWRnZXQtcHJvZHVjdC1saXN0LWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jYXJ0LW1haW4tY29udGVudHtcbiAgICAgICAgQGluY2x1ZGUgcnRsLXRleHQtYWxpZ24tbGVmdCgpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC5yZW1vdmV7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBAaW5jbHVkZSBydGwtcmlnaHQoMCk7XG4gICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoZm9udC1zaXplLDI1cHgpO1xuICAgICAgICAgICAgYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JheSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3IgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICArIC50b3RhbHtcbiAgICAgICAgQGluY2x1ZGUgcnRsLXRleHQtYWxpZ24tcmlnaHQoKTtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgICAuYW1vdW50e1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgKyAxIDsgICAgICAgICAgICBcbiAgICAgICAgfVxuICAgIH1cbiAgICB1bHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG59XG5cblxuLy9XaWRnZXQgU2hvcHBpbmcgQ2FydFxuLndpZGdldF9zaG9wcGluZ19jYXJ0IHtcbiAgICAud2lkZ2V0X3Nob3BwaW5nX2NhcnRfY29udGVudHtcbiAgICAgICAgLmJ1dHRvbnN7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDE1cHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG4gICAgfVxufSIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgTWluaSBDYXJ0XG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4ub3BhbC10b3BjYXJ0e1xuICAgIC5kcm9wZG93bntcbiAgICAgICAgJi5vcGVue1xuICAgICAgICAgICAgLm1pbmktY2FydHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDpcIlwiO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBydGwtbGVmdCgwKTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSgxMDAlLCAyMDBweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5kcm9wZG93bi1tZW51e1xuICAgICAgICBjb2xvcjogJGxpbmstY29sb3I7XG4gICAgICAgIHBhZGRpbmc6ICR0aGVtZS1wYWRkaW5nO1xuICAgICAgICBtaW4td2lkdGg6ICRtaW5pLWNhcnQtZHJvcGRvd24tc2l6ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgQGluY2x1ZGUgcnRsLXRleHQtYWxpZ24tbGVmdDtcbiAgICAgICAgQGluY2x1ZGUgcnRsLWxlZnQoYXV0byk7XG4gICAgICAgIEBpbmNsdWRlIHJ0bC1yaWdodCgwKTtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcbiAgICAgICAgQGluY2x1ZGUgb3BhY2l0eSgwKTtcbiAgICAgICAgQGluY2x1ZGUgc2NhbGUoMCk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMwMG1zIGN1YmljLWJlemllcigwLjM0LCAxLjYxLCAwLjcsIDEpKTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkdGhlbWUtY29sb3I7XG4gICAgICAgIC5xdWFudGl0eXtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5tZWRpYXtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTpzb2xpZCAxcHggJGJvcmRlci1jb2xvcjtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgfVxuICAgIC5uYW1lIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBhe1xuICAgICAgICAgICAgY29sb3I6ICRibGFjayFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3IhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9ICAgIFxuICAgIH1cbiAgICAub3BlbntcbiAgICAgICAgLmRyb3Bkb3duLW1lbnV7XG4gICAgICAgICAgICBAaW5jbHVkZSBzY2FsZSgxKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMSk7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKDI5cHgsIC01MHB4KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbHRlcihub25lKTtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICB6LWluZGV4OiA5OTk5OTtcbiAgICAgICAgfVxuICAgIH0gXG5cbiAgICAudG90YWx7XG4gICAgICAgIHBhZGRpbmctdG9wOjIwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOjEwcHg7XG4gICAgfVxuICAgIC5idXR0b25ze1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nOjE1cHggMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgICAgICAgXG4gICAgfVxufVxuLmJveC10b3B7XG4gICAgLmJveC10aXRsZXtcbiAgICAgICAgLnRpdGxlLWNhcnR7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIC5taW5pLWNhcnQtaXRlbXN7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICBAaW5jbHVkZSBzaXplKDE4cHgsMThweCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAtOHB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgcnRsLWxlZnQoMTBweCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmJveC1hbW91bnR7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGZvbnQtd2VpZ2h0OjYwMDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgIH1cbn1cbiNjYXJ0e1xuICAgIGNsZWFyOmJvdGg7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXgoKTsgICAgXG4gICAgY29sb3I6ICRibGFjaztcbiAgIC5taW5pLWNhcnR7ICAgIFxuICAgICAgICAuYW1vdW50e1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OjYwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLm1pbmktY2FydC10b3RhbHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJ0bC1mbG9hdC1sZWZ0KCk7XG4gICAgICAgICAgICBtYXJnaW46IDAgMTBweDtcbiAgICAgICAgfSAgICAgICAgXG4gICAgfVxufVxuLy8vLy8gRWxlbWVudHMgU3R5bGVzIC8vLy8vLy8vLy8vLy8vLy8gLy8vLy8vLy8vLy8vLy8gLy8vLy8vLy8vLy8vLy8gLy8vLy8vLy8vLy8vLy8gLy8vLy8vLy8vLy8vLy8gLy8vLy8vLy8vLy8vLy8gLy8vLy8vLy8vLy8vLy9cbi8qXG4gKiBQcm9kdWN0IERldGFpbCBQYWdlXG4gKi9cbi5wcm9kdWN0LWluZm97XG4gICAgLnByb2R1Y3QtdG9waW5mb3sgICAgICAgICAgXG4gICAgICAgIC5wcm9kdWN0LW5hdntcbiAgICAgICAgICAgIHB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcnRsLWZsb2F0LWxlZnQoKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBydGwtbWFyZ2luLWxlZnQoNXB4KTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIyNSwyMjUsMjI1LDAuNyk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSgzMHB4LDMwcHgpO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAuZmF7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMzVzIGVhc2UgMHMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucHJvZHVjdF90aXRsZXtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZGl2LnJvd3tcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIH1cbiAgICAuaW1hZ2Vze1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOjEwMCUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnByaWNleyAgICAgICAgXG4gICAgICAgID4gKnsgICAgICAgICAgIFxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9IFxuICAgICAgICBkZWx7XG4gICAgICAgICAgICBzcGFue1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJ0bC1tYXJnaW4tcmlnaHQoNXB4KTtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzk5OSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7ICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmltYWdlLWFkZGl0aW9uYWx7XG4gICAgICAgICYub3dsLWNhcm91c2VsLXBsYXl7XG4gICAgICAgICAgICAuY2Fyb3VzZWwtY29udHJvbHN7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwcHg7XG4gICAgICAgICAgICAgICAgdG9wOiAyNSU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcnRsLWxlZnQoMCk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMDBtcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgIC5jYXJvdXNlbC1jb250cm9sc3tcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHNwYW4ub25zYWxle1xuICAgICAgICBAaW5jbHVkZSBzaXplKDQwcHgsIDI1cHgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtZGFuZ2VyO1xuICAgICAgICB0b3A6IDEycHg7XG4gICAgICAgIEBpbmNsdWRlIHJ0bC1sZWZ0KDglKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI1cHg7XG4gICAgfVxufVxuLnNpbmdsZS1wcm9kdWN0LXN1bW1hcnl7ICAgIFxuICAgIC55aXRoLXdjd2wtYWRkLXRvLXdpc2hsaXN0IHtcbiAgICAgICAgQGluY2x1ZGUgcnRsLWZsb2F0LWxlZnQoKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAaW5jbHVkZSBydGwtbWFyZ2luLXJpZ2h0KDIwcHgpO1xuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICAgIGF7XG4gICAgICAgICAgICBjb2xvcjogIzQ0NDQ0NDtcbiAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGl7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5hamF4LWxvYWRpbmd7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLmZlZWRiYWNre1xuICAgICAgICAgICAgQGluY2x1ZGUgaGlkZS10ZXh0KCk7XG4gICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH0gICAgICAgIFxuICAgIC5jbGVhcntcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9IFxuICAgIC55aXRoLXdjd2wtd2lzaGxpc3RhZGRlZGJyb3dzZSxcbiAgICAueWl0aC13Y3dsLWFkZC1idXR0b24sXG4gICAgLnlpdGgtd2N3bC13aXNobGlzdGV4aXN0c2Jyb3dzZSB7XG4gICAgICAgIGEsXG4gICAgICAgIGEuYWRkX3RvX3dpc2hsaXN0IHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgQGluY2x1ZGUgcnRsLWZsb2F0LWxlZnQoKTtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaXtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgID4gZGl2e1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfSAgICAgICAgXG4gICAgfVxuICAgIC5jb21wYXJle1xuICAgICAgICBjb2xvcjogIzQ0NDQ0NCAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IDExcHggIWltcG9ydGFudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgY29udGVudDogXCJcXGYwMjFcIjtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnRBd2Vzb21lXCI7XG4gICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBAaW5jbHVkZSBydGwtcmlnaHQoNXB4KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnlpdGgtd2N3bC13aXNobGlzdGFkZGVkYnJvd3NlLFxuICAgIC55aXRoLXdjd2wtd2lzaGxpc3RleGlzdHNicm93c2V7IFxuICAgICAgICAuZmVlZGJhY2sge1xuICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgcnRsLW1hcmdpbi1yaWdodCg0MHB4KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiBcbi5wcm9kdWN0aW5mby1zaG93LWRpc2NvdW50cyB7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgLSAyO1xuICAgIEBpbmNsdWRlIHJ0bC1wYWRkaW5nLWxlZnQoNzVweCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiAjNjY2O1xuICAgIEBpbmNsdWRlIHJ0bC1mbG9hdC1sZWZ0KCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogIHVybCgnI3skaW1hZ2UtdGhlbWUtcGF0aH1pY29uLXNob3ctZGlzY291bnRzLnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyICRicmFuZC1zdWNjZXNzO1xuICAgICAgICBAaW5jbHVkZSBzaXplICgzNnB4LDM2cHgpO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgQGluY2x1ZGUgcnRsLWxlZnQoMjBweCk7XG4gICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG4gICAgICBwYWRkaW5nOjA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAkYWxlcnQtYm9yZGVyLXJhZGl1cztcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBAaW5jbHVkZSBhbGVydC12YXJpYW50KCRhbGVydC1zdWNjZXNzLWJnLCAkYWxlcnQtc3VjY2Vzcy1ib3JkZXIsICRhbGVydC1zdWNjZXNzLXRleHQpO1xuIFxuICAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIHJ0bC1tYXJnaW4tbGVmdCg0MHB4KTtcbiAgICAgICAgcGFkZGluZzoxNXB4IDMwcHg7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgICBwYWRkaW5nOiAgM3B4IDA7XG4gICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjE0YVwiO1xuICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJGb250QXdlc29tZVwiO1xuICAgICAgICAgICAgICAgICBjb2xvcjogJGJyYW5kLXN1Y2Nlc3M7XG4gICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJ0bC1wYWRkaW5nLXJpZ2h0KDhweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vcmV2aWV3c1xuI3Jldmlld3N7XG4gICAgLnJldmlld3Mtc3VtbWFyeSB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICAgICAgaDUge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLnJldmlldy1zdW1tYXJ5LXRvdGFse1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIC5yZXZpZXctc3VtbWFyeS1yZXN1bHQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoOTBweCwgOTBweCk7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRicmFuZC13YXJuaW5nO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYnJhbmQtd2FybmluZztcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogOTBweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucmV2aWV3LXN1bW1hcnktZGV0YWwge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgLnJldmlldy1sYWJlbHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAucHJvZ3Jlc3Mge1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5jb21tZW50c3tcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgICAgICBoNSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgICAgICAuY29tbWVudGxpc3Qge1xuICAgICAgICAgICAgbWFyZ2luOiAxNXB4IDA7XG4gICAgICAgICAgICAuY29tbWVudCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5vcGFsLWF2YXRhIHsgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLm9wYWwtaW1hZ2Uge1xuICAgICAgICAgICAgICAgICAgICAuYXZhdGFyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLm9wYWwtYXV0aG9yIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jb21tZW50LXRleHQge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCAyMHB4O1xuICAgICAgICAgICAgICAgIC5tZXRhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNiYmI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBydGwtZmxvYXQtbGVmdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnN0YXItcmF0aW5nICB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5yZXZpZXdfZm9ybV93cmFwcGVyIHsgICAgICBcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICB9XG5cbiAgICAucHJvZ3Jlc3N7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gICAgICAgIC5wcm9ncmVzcy1iYXIge1xuICAgICAgICAgICAgY29sb3I6ICRncmF5LWRhcmtlcjtcbiAgICAgICAgICAgICYucHJvZ3Jlc3MtYmFyZWQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgI3JlcGx5LXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gICAgfVxufVxuXG4vLy8vLy8vLy8vIFBhZ2VzIFN0eWxlcyAvLy8vLy8vLy8vLy8vLyAvLy8vLy8vLy8vLy8vLyAvLy8vLy8vLy8vLy8vLyAvLy8vLy8vLy8vLy8vLyAvLy8vLy8vLy8vLy8vLyAvLy8vLy8vLy8vLy8vLyAvLy8vLy8vLy8vLy8vL1xuLyoqXG4gKiBQcm9kdWN0IFNpbmdsZSBQYWdlXG4gKi9cbiBcbi5wcm9kdWN0LWJsb2Nre1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgICAgICAgIFxuICAgIHotaW5kZXg6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBzcGFue1xuICAgICAgICAmLnNhbGUtb2ZmLCYub25zYWxle1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSg0MHB4LCAyNXB4KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZC1wcmltYXJ5O1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB0b3A6IDEycHg7XG4gICAgICAgICAgICBAaW5jbHVkZSBydGwtbGVmdCg1JSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDA7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMjVweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuaW1hZ2V7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgaW1ne1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7ICBcbiAgICAgICAgfVxuICAgICAgICBhLC5wcm9kdWN0LWltYWdle1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgICAgIC5pbWFnZS1lZmZlY3R7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgQGluY2x1ZGUgcnRsLWxlZnQoMCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBvcGFjaXR5KDEpO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlKC0xMDAlLCAwcHgpO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4zcyk7XG4gICAgICAgIH1cbiAgICAgICAgLmltYWdlLWhvdmVye1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4zcyApO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAuaW1hZ2UtZWZmZWN0e1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZSgwcHgsMHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5pbWFnZS1ob3ZlcntcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUoMTAwJSwgMHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0gXG4gICAgLnByaWNleyAgICAgICAgXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjZlbTsgIFxuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWluLWhlaWdodDogMzBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LXByaWNlLWZvbnQtd2VpZ2h0O1xuICAgICAgICA+ICp7XG4gICAgICAgICAgICBjb2xvcjogJHByb2R1Y3QtcHJpY2UtY29sb3I7XG4gICAgICAgICAgICBmb250LXNpemU6ICRwcm9kdWN0LXByaWNlLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgZGVse1xuICAgICAgICAgICAgY29sb3I6ICRwcm9kdWN0LXByaWNlLW9sZC1jb2xvcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHNwYW57IFxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC1wcmljZS1vbGQtY29sb3I7ICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGluc3sgICAgICAgICAgICBcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubmFtZXtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKGZvbnQtc2l6ZSwgJHByb2R1Y3QtbmFtZS1mb250LXNpemUpO1xuICAgICAgICBsaW5lLWhlaWdodDogJHByb2R1Y3QtbmFtZS1saW5lLWhlaWdodDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7IFxuICAgIH0gIFxuICAgIC5jYXRlZ29yeXtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1jYXRlZ29yeS1mb250LXdlaWdodDtcbiAgICAgICAgZm9udC1zdHlsZTogJHByb2R1Y3QtY2F0ZWdvcnktZm9udC1zdHlsZTtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKGZvbnQtc2l6ZSwgJHByb2R1Y3QtY2F0ZWdvcnktZm9udC1zaXplKTtcbiAgICAgICAgYXtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC1jYXRlZ29yeS1jb2xvcjtcbiAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcm9kdWN0LWNhdGVnb3J5LWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5zdGFyLXJhdGluZ3tcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBzdGFyO1xuICAgICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDUuNGVtO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcNTNcXDUzXFw1M1xcNTNcXDUzXCI7XG4gICAgICAgICAgICBjb2xvcjogI2QzY2VkMjtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuICAgICAgICBzcGFue1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxLjVlbTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcNTNcXDUzXFw1M1xcNTNcXDUzXCI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRicmFuZC13YXJuaW5nO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBwLnN0YXJzIGF7XG4gICAgICAgIGNvbG9yOiAjZjBjNzNiO1xuICAgIH1cbiAgICAuc3Rhci1yYXRpbmcgc3BhbntcbiAgICAgICAgY29sb3I6ICNmMGM3M2I7XG4gICAgfSAgICBcbiAgICAuY2xlYXIsLmFkZGVkX3RvX2NhcnQge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5hZGRfdG9fY2FydF9idXR0b257XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgJi5sb2FkaW5ne1xuICAgICAgICAgICAgLnRpdGxlLWNhcnR7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiTG9hZGluZy4uXCI7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA5cHg7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IFxuICAgICAgICAgICAgICAgIH0gICAgXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbi5idXR0b24tYWN0aW9ue1xuICAgIEBpbmNsdWRlIHJ0bC1sZWZ0KDApO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMzUlO1xuICAgIGhlaWdodDogMDsgICAgXG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4zNXMgZWFzZSAwcyk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHotaW5kZXg6IDI7XG4gICAgPiBkaXZ7ICAgICAgICAgICAgIFxuICAgICAgICAmLnlpdGgtd2N3bC1hZGQtdG8td2lzaGxpc3QsICYueWl0aC1jb21wYXJlLCAmLnF1aWNrLXZpZXd7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgYS5hZGRfdG9fd2lzaGxpc3QsIGEuY29tcGFyZSwgYS5xdWlja3ZpZXcsIC55aXRoLXdjd2wtd2lzaGxpc3RhZGRlZGJyb3dzZSBhLCAueWl0aC13Y3dsLXdpc2hsaXN0ZXhpc3RzYnJvd3NlIGF7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7ICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZCkgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7ICBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaSxlbXtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMzVzIGVhc2UgMHMpO1xuICAgICAgICAgICAgICAgICAgICBpLGVte1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi55aXRoLWNvbXBhcmV7XG4gICAgICAgICAgICAuY29tcGFyZS5hZGRlZCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50IWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYwZWNcIjtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM2NjY7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoNDBweCwgNDBweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IFxuICAgICAgICAudGl0bGV7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIC55aXRoLXdjd2wtd2lzaGxpc3RhZGRlZGJyb3dzZSxcbiAgICAgICAgLnlpdGgtd2N3bC13aXNobGlzdGV4aXN0c2Jyb3dzZXsgXG4gICAgICAgICAgICAuZmVlZGJhY2sge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgICAgICAmLmNsZWFye1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuYWRkLWNhcnR7XG4gICAgICAgIGF7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgaGVpZ2h0OiA0MnB4O1xuICAgICAgICAgICAgd2lkdGg6IDE0MHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub25lO1xuICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAueWl0aC13Y3dsLXdpc2hsaXN0ZXhpc3RzYnJvd3Nle1xuICAgICAgICBzcGFue1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbmRpdltjbGFzcyo9XCJhZGQtdG8td2lzaGxpc3RcIl17XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLmFqYXgtbG9hZGluZ3tcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICB9XG59XG5hLmFkZF90b193aXNobGlzdHtcbiAgICBkaXNwbGF5OiBibG9jazsgICAgXG59XG4ueWl0aC13Y3dsLWFkZC10by13aXNobGlzdHtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuXG5cbi8qKlxuICogUHJvZHVjdHMgTGlzdGluZyBJbiBHcmlkIFN0eWxlXG4gKi9cbi5wcm9kdWN0cy1ncmlke1xuICAgIGRpdi5wcm9kdWN0e1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4vKiAgICAgICAgIG1hcmdpbi1ib3R0b206ICRncmlkLWd1dHRlci13aWR0aDsgKi9cbiAgICB9XG4gICAgLmZpcnN0e1xuICAgICAgICBjbGVhcjpib3RoO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWJsb2NreyAgICAgICAgXG4gICAgICAgIC5idXR0b24tZ3JvdXBzIHtcbiAgICAgICAgICAgID4gZGl2eyBcbiAgICAgICAgICAgICAgICAmLnlpdGgtd2N3bC1hZGQtdG8td2lzaGxpc3R7XG4gICAgICAgICAgICAgICAgICAgIHNwYW57XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5hamF4LWxvYWRpbmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IFxuICAgICAgICAgICAgICAgIC50aXRsZXtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnlpdGgtd2N3bC13aXNobGlzdGFkZGVkYnJvd3NlLFxuICAgICAgICAgICAgICAgIC55aXRoLXdjd2wtd2lzaGxpc3RleGlzdHNicm93c2V7IFxuICAgICAgICAgICAgICAgICAgICAuZmVlZGJhY2sge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi5jbGVhcntcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9IFxufVxuLmdyaWR7XG4gICAgLmFkZF90b193aXNobGlzdCwucXVpY2t2aWV3e1xuICAgICAgICBzcGFue1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbi5wcm9kdWN0cy1saXN0LC5saXN0eyAgICBcbiAgICAucmF0aW5ne1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICAgICAgICAuc3Rhci1yYXRpbmd7XG4gICAgICAgICAgICBAaW5jbHVkZSBydGwtZmxvYXQtcmlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNsZWFye1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAucHJvZHVjdC1ibG9ja3tcbiAgICAgICAgYm9yZGVyLWJvdHRvbTpzb2xpZCAxcHggJGJvcmRlci1jb2xvcjtcbiAgICAgICAgLm5hbWV7XG4gICAgICAgICAgICBwYWRkaW5nOjA7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuICAgICAgICAuaW1hZ2V7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG4gICAgICAgIC5wcm9kdWN0LWFzc2V0cyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBydGwtdGV4dC1hbGlnbi1yaWdodCgpO1xuICAgICAgICB9XG4gICAgICAgIC55aXRoLXdjd2wtd2lzaGxpc3RhZGRlZGJyb3dzZSxcbiAgICAgICAgLnlpdGgtd2N3bC1hZGQtYnV0dG9uLFxuICAgICAgICAueWl0aC13Y3dsLXdpc2hsaXN0ZXhpc3RzYnJvd3NlIHtcbiAgICAgICAgICAgIGEsXG4gICAgICAgICAgICBhLmFkZF90b193aXNobGlzdCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICM2NjY7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnlpdGgtd2N3bC13aXNobGlzdGV4aXN0c2Jyb3dzZSB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGEuY29tcGFyZSxhLnF1aWNrdmlld3tcbiAgICAgICAgICAgIGNvbG9yOiAjNjY2O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuYWRkZWQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmFkZC1jYXJ0e1xuICAgICAgICAgICAgYS5idXR0b257XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gICAgIFxuICAgIH1cbiAgICAudHlwZS1wcm9kdWN0Omxhc3QtY2hpbGQgLnByb2R1Y3QtYmxvY2t7IGJvcmRlci1ib3R0b206bm9uZTsgfVxufVxuXG4vKipcbiAqIFNpbmdsZSBwcm9kdWN0XG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgUXVhbnRpdHkgaW5wdXRzXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnF1YW50aXR5IHtcbiAgICBwb3NpdGlvbiA6IHJlbGF0aXZlO1xuICAgIG1hcmdpbiAgIDogMCBhdXRvO1xuICAgIG92ZXJmbG93IDogaGlkZGVuO1xuICAgIHpvb20gICAgIDogMTtcbiAgICBzcGFue1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZSArIDI7XG4gICAgICAgIEBpbmNsdWRlIHJ0bC1tYXJnaW4tcmlnaHQoNXB4KTtcbiAgICB9XG4gICAgQGluY2x1ZGUgcnRsLWZsb2F0LWxlZnQoKTtcbiAgICBpbnB1dC5xdHkge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG4gICAgICAgIHBhZGRpbmc6MTBweDsgICAgICBcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSg0NXB4LCAzNXB4KTsgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZTVlNWU1O1xuICAgICAgICAmOmZvY3Vze1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9ybS1jb250cm9sLWZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnBsdXMsIC5taW51cyB7XG4gICAgICAgIGJhY2tncm91bmQgICAgICA6ICR3aGl0ZTtcbiAgICAgICAgQGluY2x1ZGUgcnRsLWZsb2F0LXJpZ2h0KCk7XG4gICAgICAgIEBpbmNsdWRlIHJ0bC1jbGVhci1yaWdodCgpO1xuICAgICAgICBkaXNwbGF5ICAgICAgICAgOiBibG9jaztcbiAgICAgICAgcGFkZGluZyAgICAgICAgIDogMDtcbiAgICAgICAgbWFyZ2luICAgICAgICAgIDogMDtcbiAgICAgICAgdmVydGljYWwtYWxpZ24gIDogdGV4dC10b3A7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbiA6IG5vbmU7XG4gICAgICAgIG92ZXJmbG93ICAgICAgICA6IHZpc2libGU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbiA6IG5vbmU7XG4gICAgICAgIGN1cnNvciAgICAgICAgICA6IHBvaW50ZXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0ICAgICA6IDEzcHg7XG4gICAgICAgIGZvbnQtc2l6ZSAgICAgICA6IDEycHg7XG4gICAgICAgIGNvbG9yICAgICAgICAgICA6ICR0ZXh0LWNvbG9yO1xuICAgICAgICBib3JkZXIgICAgICAgICAgOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBzaXplKDI1cHggLCAxOXB4KTtcbiAgICB9XG4gICAgLnBsdXMge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgICAgICAgIEBpbmNsdWRlIHJ0bC1yaWdodCAoMCk7XG4gICAgfVxuICAgIC5taW51cyB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgIEBpbmNsdWRlIHJ0bC1yaWdodCAoMCk7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICAgIH1cbn1cblxuXG4vKiBTaW5nbGUgPiBNZXRhICovXG4ucHJvZHVjdF9tZXRhe1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGJvcmRlci10b3A6MXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgcGFkZGluZzoyMHB4IDA7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBhe1xuICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICA+IHNwYW57XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgIH1cbiAgICA+IGRpdntcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogICR0aGVtZS1tYXJnaW4gLyAyO1xuICAgIH1cbiAgICAucG9zdGVkX2luLC50YWdnZWRfYXN7XG4gICAgICAgIGF7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICB9XG4gICAgfVxufSBcbi5za3Vfd3JhcHBlciBzcGFuIHtjb2xvcjogJHRleHQtY29sb3I7IH1cblxuLyogY3Jvc3Mtc2VsbHMgKi9cbi53b29jb21tZXJjZXtcbiAgICAuY3Jvc3Mtc2VsbHMsLmNhcnRfdG90YWxze1xuICAgICAgICBwYWRkaW5nOjAgMjBweDtcbiAgICAgICAgLnByb2R1Y3Rze1xuICAgICAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgICAgICBib3gtc2hhZG93Om5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG4vLy0tLS0tLS0tLS0tLS0tLVxuLnNpbmdsZS1wcm9kdWN0e1xuICAgICYud29vY29tbWVyY2Uge1xuICAgICAgICBkaXYucHJvZHVjdHtcbiAgICAgICAgICAgIGRpdi5pbWFnZXMgaW1ne1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwLnByaWNle1xuICAgICAgICAgICAgICAgIGNvbG9yOiRncmF5LWRhcmtlcjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6MzBweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmb3JtLmNhcnR7IFxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7ICBcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4OyAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIGRpdi5xdWFudGl0eXtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcnRsLW1hcmdpbi1yaWdodCgxMHB4KTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuYnV0dG9ue1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICAgICAgaXtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCA1cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGRhcmtlbigkdGhlbWUtY29sb3IsIDEwJSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnZhcmlhdGlvbnN7XG4gICAgICAgICAgICAgICAgICAgIC5sYWJlbHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzVweDsgICAgICAgICAgICAgICAgICAgICAgIFxuXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdHJ7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmb3JtLnZhcmlhdGlvbnNfZm9ybXtcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHAuY2FydHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLndvb2NvbW1lcmNlLXByb2R1Y3QtcmF0aW5ne1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnF1YW50aXR5eyAgICAgICAgICAgIFxuICAgICAgICAgICAgLnF0eXtcbiAgICAgICAgICAgICAgICB3aWR0aDogOTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSAgICAgICAgXG4gICAgIH0gXG4gICAgLnN1bW1hcnl7XG4gICAgICAgQGluY2x1ZGUgZm9udC1zaXplKGZvbnQtc2l6ZSwgJHNpbmdsZS1wcm9kdWN0LXN1bW1hcnktZm9udC1zaXplKTsgIFxuICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7ICAgICBcbiAgICAgICAgLnN0YXItcmF0aW5ne1xuICAgICAgICAgICAgZm9udC1zaXplOjEycHg7XG4gICAgICAgIH1cbiAgICAgICAgLnByb2R1Y3RfbWV0YXtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOjMwcHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9ICAgICAgICAgICAgXG4gICAgfVxufVxuXG5cbi8vIHByb2R1Y3Qgd29vY29tbWVyY2UgdGFic1xuLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJze1xuICAgIG1hcmdpbi1ib3R0b206ICRibG9jay1tb2R1bGUtbWFyZ2luLWJvdHRvbTtcbiAgICB1bC50YWJze1xuICAgICAgICBwYWRkaW5nOjA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yOyBcbiAgICAgICAgbWFyZ2luLXRvcDogJGdyaWQtZ3V0dGVyLXdpZHRoOyAgICAgXG4gICAgICAgIGxpe1xuICAgICAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czowO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzowO1xuICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJvLXRhYnMtYS1jb2xvcjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxM3B4IDIwcHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgKyAyOyAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4gICAgICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmFjdGl2ZSA+IGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYm8tdGFicy1hLWNvbG9yLWFjdGl2ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YWZ0ZXIsICY6YmVmb3JlLCAmLmFjdGl2ZTpiZWZvcmUsICYuYWN0aXZlOmFmdGVye1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmFjdGl2ZXtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZTVlNWU1O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTpub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgIC53Yy10YWJ7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6MzAwO30gICAgXG4gICAgaDIsaDN7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG59XG4vKipcbiAqIENhdGVnb3J5IEFuZCBMaXN0aW5nIFBhZ2VcbiAqL1xuXG4gLy8gc3R5bGluZyBzb3J0b3JkZXIgYW5kIGRpc3BsYXkgbW9kZVxuLnByb2R1Y3RzLXRvcC13cmFwe1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgLndvb2NvbW1lcmNlLW9yZGVyaW5neyAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIHJ0bC1mbG9hdC1yaWdodCgpO1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIH1cbiAgICAuZGlzcGxheS1tb2Rle1xuICAgICAgICBAaW5jbHVkZSBydGwtZmxvYXQtbGVmdCgpO1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgcGFkZGluZzogOHB4O1xuICAgICAgICAgICAgY29sb3I6ICNjZGNkY2Q7ICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICYuYWN0aXZle1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gICAgICAgIFxuICAgICAgICBidXR0b246Zmlyc3QtY2hpbGR7XG4gICAgICAgICAgICBAaW5jbHVkZSBydGwtbWFyZ2luLXJpZ2h0KDVweCk7XG4gICAgICAgIH0gXG4gICAgICAgIGJ1dHRvbntcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jYXRlZ29yeS1iYW5uZXJ7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLnByb2R1Y3RzLWJvdHRvbS13cmFwe1xuICAgIC53b29jb21tZXJjZS1wYWdpbmF0aW9ue1xuICAgICAgICBAaW5jbHVkZSBydGwtZmxvYXQtbGVmdCgpOyAgICAgICAgXG4gICAgfVxuICAgIG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9ue1xuICAgICAgICB1bCx1bCBsaXtcbiAgICAgICAgICAgIGJvcmRlcjpub25lO1xuICAgICAgICAgICAgc3Bhbi5jdXJyZW50e1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRicmFuZC1wcmltYXJ5O1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6MTBweCAxNXB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJyYW5kLXByaW1hcnk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHBhZGRpbmc6MTBweCAxNXB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLndvb2NvbW1lcmNlLXJlc3VsdC1jb3VudHtcbiAgICAgICAgQGluY2x1ZGUgcnRsLWZsb2F0LXJpZ2h0KCk7XG4gICAgICAgIG1hcmdpbjo4cHggMDtcbiAgICB9XG4gICAgcGFkZGluZzoxMHB4IDIwcHg7XG4gICAgYm9yZGVyLXRvcDoxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICBRdWlja3ZpZXdcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4jb3BhbC1xdWlja3ZpZXctbW9kYWx7XG4gICAgLm1vZGFsLWRpYWxvZ3tcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgZGVse1xuICAgICAgICAgICAgLmFtb3VudHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnByb2R1Y3QtaW5mb3tcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOjA7XG4gICAgICAgIC5zdW1tYXJ5e1xuICAgICAgICAgICAgQGluY2x1ZGUgcnRsLW1hcmdpbi1yaWdodCgkcXVpY2t2aWV3LXByb2R1Y3QtY29udGVudC1tYXJnaW4pO1xuICAgICAgICAgICAgd2lkdGg6IDk1JTtcbiAgICAgICAgfVxuICAgICAgICAucHJvZHVjdF90aXRsZXtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZShmb250LXNpemUsJHF1aWNrdmlldy1wcm9kdWN0LXRpdGxlLWZvbnQtc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgICAgLnByb2R1Y3RfbWV0YXtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgICAgcC5wcmljZXtcbiAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgfVxuICAgICAgICBhLmFkZF90b19jYXJ0X2J1dHRvbntcbiAgICAgICAgICAgIHBhZGRpbmc6MTVweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgIHNwYW4saXtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCA1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNsb3Nle1xuICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgLmZhLC5pY29ue1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAjcXVpY2t2aWV3LWNhcm91c2Vse1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgLmxlZnR7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcnRsLWxlZnQoMTVweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAucmlnaHR7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcnRsLXJpZ2h0KDE1cHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5jYXJvdXNlbC1pbmRpY2F0b3Jze1xuICAgICAgICBsaXtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICB9XG4gICAgICAgIC5hY3RpdmV7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuY2Fyb3VzZWwtY29udHJvbHtcbiAgICAgICAgdG9wOiAwcHg7XG4gICAgICAgIG1hcmdpbjogNDUlIGF1dG87XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjQ1cyBlYXNlKTtcbiAgICAgICAgJi5sZWZ0e1xuICAgICAgICAgICAgQGluY2x1ZGUgcnRsLWxlZnQoLTQ1cHgpO1xuICAgICAgICB9XG4gICAgICAgICYucmlnaHR7XG4gICAgICAgICAgICBAaW5jbHVkZSBydGwtcmlnaHQoLTQ1cHgpO1xuICAgICAgICB9XG4gICAgfVxufVxuLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93e1xuICAgIG1hcmdpbjogMjJweCAwIDExcHg7XG4gICAgcGFkZGluZzogMDtcbn1cbi53b29jb21tZXJjZS1jYXJ0IHRhYmxlLmNhcnQgLnByb2R1Y3QtdGh1bWJuYWlsIGltZ3tcbiAgICB3aWR0aDogIDYwcHg7XG59XG4ud29vY29tbWVyY2UtY2FydCB0YWJsZS5jYXJ0IGlucHV0e1xuICAgIGxpbmUtaGVpZ2h0OiAyOHB4ICFpbXBvcnRhbnQ7XG59XG4ud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IC5ncm91cF90YWJsZSB0ZC5sYWJlbHtcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4ucnRse1xuICAgICYud29vY29tbWVyY2UgI2NvbnRlbnQgZGl2LnByb2R1Y3QgZGl2LmltYWdlcywgXG4gICAgJi53b29jb21tZXJjZSBkaXYucHJvZHVjdCBkaXYuaW1hZ2VzLCBcbiAgICAmLndvb2NvbW1lcmNlLXBhZ2UgI2NvbnRlbnQgZGl2LnByb2R1Y3QgZGl2LmltYWdlcywgXG4gICAgJi53b29jb21tZXJjZS1wYWdlIGRpdi5wcm9kdWN0IGRpdi5pbWFnZXMge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxufVxuLnJ0bHtcbiAgICAmLndvb2NvbW1lcmNlICNjb250ZW50IGRpdi5wcm9kdWN0IGRpdi5zdW1tYXJ5LCBcbiAgICAmLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGRpdi5zdW1tYXJ5LCBcbiAgICAmLndvb2NvbW1lcmNlLXBhZ2UgI2NvbnRlbnQgZGl2LnByb2R1Y3QgZGl2LnN1bW1hcnksIFxuICAgICYud29vY29tbWVyY2UtcGFnZSBkaXYucHJvZHVjdCBkaXYuc3VtbWFyeSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbn1cbi8qKlxuICogQ2hlY2tvdXQgUGFnZVxuICovXG5cbi8qKlxuICogVGhhbmtzIHlvdSBwYWdlXG4gKi9cbiIsIi8qKioqKioqKioqKioqKioqKioqKioqKipcbiAqIEZvcm0gU3R5bGVzXG4gKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vLy8vIG5vcm1hbCBidXR0b25cbi53b29jb21tZXJjZSAjcmVzcG9uZCBpbnB1dCNzdWJtaXQsIC53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLCAud29vY29tbWVyY2UgaW5wdXQuYnV0dG9ue1xuIFx0QGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoICRidG4tcHJpbWFyeS1jb2xvciwgJGJ0bi1wcmltYXJ5LWJnLCAkYnRuLXByaW1hcnktYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiAkaW5wdXQtYm9yZGVyLXJhZGl1czsgLy8gTm90ZTogVGhpcyBoYXMgbm8gZWZmZWN0IG9uIDxzZWxlY3Q+cyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgPHNlbGVjdD5zIGluIENTUy5cbiAgICBwYWRkaW5nOiRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsICRwYWRkaW5nLWxhcmdlLWhvcml6b250YWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbn1cblxuLndvb2NvbW1lcmNlIGEuYnV0dG9uLCBhLnlpdGgtd2N3bC1hZGQtYnV0dG9ue1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgICBcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAmOmhvdmVye1xuICAgICAgICBiYWNrZ3JvdW5kOiR3aGl0ZTsgICAgICAgIFxuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjM1cyBlYXNlIDBzKTtcbiAgICB9XG59XG4vLy8gc3VibWlzc2lvbiBidXR0b25zXG4gXG4ud29vY29tbWVyY2UgI3Jlc3BvbmQgaW5wdXQjc3VibWl0LmFsdCwgLndvb2NvbW1lcmNlIGEuYnV0dG9uLmFsdCwgLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24uYWx0LCAud29vY29tbWVyY2UgaW5wdXQuYnV0dG9uLmFsdHtcblx0QGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoICRidG4tcHJpbWFyeS1jb2xvciwgJGJ0bi1wcmltYXJ5LWJnLCAkYnRuLXByaW1hcnktYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlOyAvLyBOb3RlOiBUaGlzIGhhcyBubyBlZmZlY3Qgb24gPHNlbGVjdD5zIGluIHNvbWUgYnJvd3NlcnMsIGR1ZSB0byB0aGUgbGltaXRlZCBzdHlsYWJpbGl0eSBvZiA8c2VsZWN0PnMgaW4gQ1NTLlxuICAgIHBhZGRpbmc6JHByb2R1Y3QtYnV0dG9uLXBhZGRpbmc7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbiBcbi8vLyBhZGQgdG8gY2FydCBidXR0b24gYW5kIGJ1eSBwcm9kdWN0IGJ1dHRvblxuIC53b29jb21tZXJjZSAgYS5hZGRfdG9fY2FydF9idXR0b24sIC53b29jb21tZXJjZSBhLnByb2R1Y3RfdHlwZV9leHRlcm5hbCwgI21haW4tY29udGFpbmVyIC53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLnNpbmdsZV9hZGRfdG9fY2FydF9idXR0b24ge1xuICAgIGl7XG4gICAgICAgIGNvbG9yOiAkZ3JheS1kYXJrO1xuICAgIH1cbiAgICAmOmhvdmVye1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgfVxuICAgIH0gXG59XG4ud29vY29tbWVyY2UgLndpc2hsaXN0X3RhYmxlIHRkLnByb2R1Y3QtYWRkLXRvLWNhcnQgYXtcbiAgICBiYWNrZ3JvdW5kOiAkdGhlbWUtY29sb3I7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgJjpob3ZlcntcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG59XG4vLy8gXG5cblxuLyoqXG4gKiBJbnB1dCBGb3JtIFN0eWxlc1xuICovXG4vLy8vIGlucHV0IGFuZCB0ZXh0YXJlYS4gc3R5bGVzIGV4dGVuZGVkIGZyb20gYm9vdHN0cmFwIGZvcm1cbi53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdyAuaW5wdXQtdGV4dCwgLndvb2NvbW1lcmNlLXBhZ2UgZm9ybSAuZm9ybS1yb3cgLmlucHV0LXRleHQsIC53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdyB0ZXh0YXJlYSwgIC53b29jb21tZXJjZSBzZWxlY3R7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtYmFzZTsgLy8gTWFrZSBpbnB1dHMgYXQgbGVhc3QgdGhlIGhlaWdodCBvZiB0aGVpciBidXR0b24gY291bnRlcnBhcnQgKGJhc2UgbGluZS1oZWlnaHQgKyBwYWRkaW5nICsgYm9yZGVyKVxuXHRwYWRkaW5nOiAkcGFkZGluZy1iYXNlLXZlcnRpY2FsICRwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbDtcblx0Zm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG5cdGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcblx0Y29sb3I6ICRpbnB1dC1jb2xvcjtcblx0YmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuXHRiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvLyBSZXNldCB1bnVzdWFsIEZpcmVmb3gtb24tQW5kcm9pZCBkZWZhdWx0IHN0eWxlOyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcy9pc3N1ZXMvMjE0XG5cdGJvcmRlcjogMXB4IHNvbGlkICRpbnB1dC1ib3JkZXI7XG5cdGJvcmRlci1yYWRpdXM6ICRpbnB1dC1ib3JkZXItcmFkaXVzOyAvLyBOb3RlOiBUaGlzIGhhcyBubyBlZmZlY3Qgb24gPHNlbGVjdD5zIGluIHNvbWUgYnJvd3NlcnMsIGR1ZSB0byB0aGUgbGltaXRlZCBzdHlsYWJpbGl0eSBvZiA8c2VsZWN0PnMgaW4gQ1NTLlxuXHRAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpKTtcblx0QGluY2x1ZGUgdHJhbnNpdGlvbihib3JkZXItY29sb3IgZWFzZS1pbi1vdXQgLjE1cywgYm94LXNoYWRvdyBlYXNlLWluLW91dCAuMTVzKTtcblxuXHQvLyBDdXN0b21pemUgdGhlIGA6Zm9jdXNgIHN0YXRlIHRvIGltaXRhdGUgbmF0aXZlIFdlYktpdCBzdHlsZXMuXG5cdEBpbmNsdWRlIGZvcm0tY29udHJvbC1mb2N1cztcblxuXHQvLyBQbGFjZWhvbGRlclxuXHRAaW5jbHVkZSBwbGFjZWhvbGRlcjtcblxuXHQvLyBEaXNhYmxlZCBhbmQgcmVhZC1vbmx5IGlucHV0c1xuXHQvL1xuXHQvLyBIVE1MNSBzYXlzIHRoYXQgY29udHJvbHMgdW5kZXIgYSBmaWVsZHNldCA+IGxlZ2VuZDpmaXJzdC1jaGlsZCB3b24ndCBiZVxuXHQvLyBkaXNhYmxlZCBpZiB0aGUgZmllbGRzZXQgaXMgZGlzYWJsZWQuIER1ZSB0byBpbXBsZW1lbnRhdGlvbiBkaWZmaWN1bHR5LCB3ZVxuXHQvLyBkb24ndCBob25vciB0aGF0IGVkZ2UgY2FzZTsgd2Ugc3R5bGUgdGhlbSBhcyBkaXNhYmxlZCBhbnl3YXkuXG5cdCZbZGlzYWJsZWRdLFxuXHQmW3JlYWRvbmx5XSxcblx0ZmllbGRzZXRbZGlzYWJsZWRdICYge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZy1kaXNhYmxlZDtcblx0XHRvcGFjaXR5OiAxOyAvLyBpT1MgZml4IGZvciB1bnJlYWRhYmxlIGRpc2FibGVkIGNvbnRlbnQ7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjU1XG5cdH1cblxuXHQmW2Rpc2FibGVkXSxcblx0ZmllbGRzZXRbZGlzYWJsZWRdICYge1xuXHRcdGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcblx0fVxufVxuLndvb2NvbW1lcmNlICNjb250ZW50IHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuYnV0dG9uLCAud29vY29tbWVyY2UgI2NvbnRlbnQgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5pbnB1dC10ZXh0LCBcbi53b29jb21tZXJjZSAjY29udGVudCB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgaW5wdXQsIC53b29jb21tZXJjZSB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmJ1dHRvbiwgXG4ud29vY29tbWVyY2UgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5pbnB1dC10ZXh0LCAud29vY29tbWVyY2UgdGFibGUuY2FydCB0ZC5hY3Rpb25zIGlucHV0LCBcbi53b29jb21tZXJjZS1wYWdlICNjb250ZW50IHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuYnV0dG9uLCAud29vY29tbWVyY2UtcGFnZSAjY29udGVudCB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmlucHV0LXRleHQsIFxuLndvb2NvbW1lcmNlLXBhZ2UgI2NvbnRlbnQgdGFibGUuY2FydCB0ZC5hY3Rpb25zIGlucHV0LCAud29vY29tbWVyY2UtcGFnZSB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmJ1dHRvbiwgXG4ud29vY29tbWVyY2UtcGFnZSB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmlucHV0LXRleHQsIC53b29jb21tZXJjZS1wYWdlIHRhYmxlLmNhcnQgdGQuYWN0aW9ucyBpbnB1dHtcbiAgICB3aWR0aDogYXV0byFpbXBvcnRhbnQ7XG59XG4ud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cgdGV4dGFyZWF7XG4gICBtaW4taGVpZ2h0OiAxMDBweDsgICBcbn1cbi53b29jb21tZXJjZS1jYXJ0IHRhYmxlLmNhcnQgaW5wdXR7XG4gICBsaW5lLWhlaWdodDogMS42Mjg1NztcbiAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi53b29jb21tZXJjZSAjY29udGVudCB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmlucHV0LXRleHQsIFxuLndvb2NvbW1lcmNlIHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuaW5wdXQtdGV4dCxcbi53b29jb21tZXJjZS1wYWdlICNjb250ZW50IHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuaW5wdXQtdGV4dCxcbi53b29jb21tZXJjZS1wYWdlIHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuaW5wdXQtdGV4dCB7XG4gICAgd2lkdGg6IGF1dG8haW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDlweCA7XG59XG5cbi53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdy53b29jb21tZXJjZS12YWxpZGF0ZWQgLnNlbGVjdDItY29udGFpbmVyLCBcbi53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdy53b29jb21tZXJjZS12YWxpZGF0ZWQgaW5wdXQuaW5wdXQtdGV4dCwgXG4ud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cud29vY29tbWVyY2UtdmFsaWRhdGVkIHNlbGVjdCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkdGhlbWUtY29sb3I7XG59XG4ud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3ctZmlyc3QsIC53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdy1sYXN0LCAud29vY29tbWVyY2UtcGFnZSBmb3JtIC5mb3JtLXJvdy1maXJzdCwgLndvb2NvbW1lcmNlLXBhZ2UgZm9ybSAuZm9ybS1yb3ctbGFzdHtcbn1cbi8vIHRhYlxuLndvb2NvbW1lcmNlLXRhYnN7XG4gICAgLnBhbmVsIHtcbiAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgIG1hcmdpbjowICFpbXBvcnRhbnQ7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gICAgfVxuICAgIC5zaG9wX2F0dHJpYnV0ZXN7XG4gICAgICAgIGJvcmRl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 */
